Sarah Wooders
bbd52e291c
feat: refactor summarization and message persistence code [LET-6464] ( #6561 )
2025-12-15 12:02:34 -08:00
Sarah Wooders
fca5774795
feat: store run errors on streaming ( #6573 )
2025-12-15 12:02:34 -08:00
Ari Webb
848a73125c
feat: enable provider models persistence ( #6193 )
...
* Revert "fix test"
This reverts commit 5126815f23cefb4edad3e3bf9e7083209dcc7bf1.
* fix server and better test
* test fix, get api key for base and byok?
* set letta default endpoint
* try to fix timeout for test
* fix for letta api key
* Delete apps/core/tests/sdk_v1/conftest.py
* Update utils.py
* clean up a few issues
* fix filterning on list_llm_models
* soft delete models with provider
* add one more test
* fix ci
* add timeout
* band aid for letta embedding provider
* info instead of error logs when creating models
2025-12-15 12:02:34 -08:00
Devansh Jain
d1536df6f6
chore: Update deepseek client for v3.2 models ( #6556 )
...
* support for v3.2 models
* streaming + context window fix
* fix for no assitant text from deepseek
2025-12-15 12:02:34 -08:00
Ari Webb
4092820f3a
feat: add project id scoping for tools backend changes ( #6529 )
2025-12-15 12:02:34 -08:00
Kian Jones
09c027692f
tests: assistant msg validation error ( #6536 )
...
* add regression test for dict content in AssistantMessage
Tests the fix for pydantic validation error when send_message tool
returns dict content like {'tofu': 1, 'mofu': 1, 'bofu': 1}.
The test verifies that dict content is properly serialized to JSON
string before creating AssistantMessage.
* improve type annotation for validate_function_response
Changed return type from Any to str | dict[str, Any] to match actual
behavior. This enables static type checkers (pyright, mypy) to catch
type mismatches like the AssistantMessage bug.
With proper type annotations, pyright would have caught:
error: Argument of type "str | dict[str, Any]" cannot be assigned
to parameter "content" of type "str"
This prevents future bugs where dict is passed to string-only fields.
* add regression test for dict content in AssistantMessage
Moved test into existing test_message_manager.py suite alongside other
message conversion tests.
Tests the fix for pydantic validation error when send_message tool
returns dict content like {'tofu': 1, 'mofu': 1, 'bofu': 1}.
The test verifies that dict content is properly serialized to JSON
string before creating AssistantMessage.
2025-12-15 12:02:34 -08:00
Ari Webb
eb547bb96e
fix: clear message history no longer deletes messages ( #6515 )
...
* fix: clear message history no longer deletes messages
* toast and make it stay for 8 secs
* fix test
---------
Co-authored-by: Ari Webb <ari@letta.com >
2025-12-15 12:02:33 -08:00
Sarah Wooders
3569721fd4
fix: avoid infinite summarization loops ( #6506 )
2025-12-15 12:02:33 -08:00
jnjpng
89ca8fe8b0
feat: read from encrypted values with error on fallback [LET-4250] ( #6484 )
...
* base
* warning
---------
Co-authored-by: Letta Bot <noreply@letta.com >
2025-12-15 12:02:33 -08:00
Kian Jones
d6292b6eb6
fix: bug which causes unrecoverable state if previous message was an image ( #6486 )
...
* trying tout gpt-5.1-codex
* add unit test for message content
* try to support multimodal
2025-12-15 12:02:33 -08:00
Sarah Wooders
bd97b23025
feat: fallback to all mode for summarizer if error ( #6465 )
2025-12-15 12:02:19 -08:00
Sarah Wooders
91e3dd8b3e
feat: fix new summarizer code and add more tests ( #6461 )
2025-12-15 12:02:19 -08:00
Sarah Wooders
86023db9b1
feat: get rid of client injection in args and just make it always available ( #6459 )
2025-12-15 12:02:19 -08:00
Sarah Wooders
f417e53638
fix: fix cancellation issues without making too many changes to message_ids persistence ( #6442 )
2025-12-15 12:02:19 -08:00
Charles Packer
1f7165afc4
fix: patch counting of tokens for anthropic ( #6458 )
...
* fix: patch counting of tokens for anthropic
* fix: patch ui to be simpler
* fix: patch undercounting bug in anthropic when caching is on
2025-12-15 12:02:19 -08:00
Sarah Wooders
c0b422c4c6
fix: patch summarizer and add tests ( #6457 )
2025-12-15 12:02:19 -08:00
Charles Packer
e67c98eedb
feat: add tests for prompt caching + fix anthropic prompt caching [LET-6373] ( #6454 )
...
* feat: add tests for prompt caching
* fix: add cache control breakpoints for anthropic + fix tests
* fix: silence logging
* fix: patch token counting error
* fix: same patch on non-streaming path
2025-12-15 12:02:19 -08:00
Sarah Wooders
e862bae524
feat: patch tool calling endpoint and add SDK testing ( #6456 )
2025-12-15 12:02:19 -08:00
Sarah Wooders
1939a9d185
feat: patch summarizer without changes to AgentState ( #6450 )
2025-12-15 12:02:19 -08:00
Charles Packer
131891e05f
feat: add tracking of advanced usage data (eg caching) [LET-6372] ( #6449 )
...
* feat: init refactor
* feat: add helper code
* fix: missing file + test
* fix: just state/publish api
2025-12-15 12:02:19 -08:00
Sarah Wooders
807c5c18d9
feat: add gemini token counting [LET-6371] ( #6444 )
2025-12-15 12:02:19 -08:00
Sarah Wooders
c4d5c380d6
feat: pass in LETTA_TOOL_ID, LETTA_AGENT_ID, LETTA_PROJECT_ID into tool env ( #6439 )
2025-12-15 12:02:18 -08:00
Sarah Wooders
0a0cf391fc
fix: fix client injection code ( #6421 )
2025-12-15 12:02:18 -08:00
cthomas
29349530d4
test: add sleep before agent deletion in test ( #6412 )
...
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com >
2025-11-26 14:39:40 -08:00
Ari Webb
d4e7428c98
feat: structured outputs for anthropic [LET-6232] ( #6410 )
...
feat: structured outputs for anthropic
Co-authored-by: Ari Webb <ari@letta.com >
2025-11-26 14:39:40 -08:00
Shubham Naik
2ee1ff50dd
Shub/let 6339 add endpoint for counting non hidden agents [LET-6339] ( #6406 )
...
* feat: add hidden agent count
* feat: add hidden agent count
* chore; hiddne agents
---------
Co-authored-by: Shubham Naik <shub@memgpt.ai >
2025-11-26 14:39:40 -08:00
cthomas
3a0bbe5495
feat: relax send message constraints for image test ( #6408 )
2025-11-26 14:39:40 -08:00
cthomas
db534836e4
feat: allow follow up user message for approvals LET-6272 ( #6392 )
...
* feat: allow follow up user message for approvals
* add tests
2025-11-26 14:39:40 -08:00
cthomas
85604988bd
test: fix message range for non reasoners ( #6402 )
...
* test: fix message range for non reasoners
* skip streaming test temporarily
* only skip streaming for non-reasoners
2025-11-26 14:39:40 -08:00
Sarah Wooders
e349ba3bdd
feat: support programmatic tool calling for custom tools [LET-6316] ( #6369 )
2025-11-26 14:39:40 -08:00
Ari Webb
3e02f12dfd
feat: add tool embedding and search [LET-6333] ( #6398 )
...
* feat: add tool embedding and search
* fix ci
* add env variable for embedding tools
---------
Co-authored-by: Ari Webb <ari@letta.com >
2025-11-26 14:39:40 -08:00
cthomas
a101b6c4e9
feat: change default value for legacy put_inner_thoughts_in_kwargs ( #6395 )
...
* feat: change default value for legacy put_inner_thoughts_in_kwargs
* update default in validation layer
2025-11-26 14:39:39 -08:00
Ari Webb
89c7ab5f14
feat: structured outputs for openai [LET-6233] ( #6363 )
...
* first hack with test
* remove changes integration test
* Delete apps/core/tests/sdk_v1/integration/integration_test_send_message_v2.py
* add test
* remove comment
* stage and publish api
* deprecate base level response_schema
* add param to llm_config test
---------
Co-authored-by: Ari Webb <ari@letta.com >
2025-11-26 14:39:39 -08:00
Ari Webb
e39b2eb44f
fix: message search ci test ( #6388 )
...
* fix: message search ci test
* fix cloud-api conditions
---------
Co-authored-by: Ari Webb <ari@letta.com >
2025-11-26 14:39:39 -08:00
cthomas
669ec19611
chore: remove legacy handling for alpha sdk in hitl tests ( #6387 )
2025-11-26 14:39:39 -08:00
Sarah Wooders
f7ade17c4a
feat: support client injection for E2B ( #6360 )
2025-11-26 14:39:39 -08:00
cthomas
1d55a0f4c5
fix: use new agent loop in multi agent test ( #6384 )
...
* use new agent loop and cleanup stale agents
* fix: make multi agent use new agent loop
* remove migration
2025-11-26 14:39:39 -08:00
cthomas
8e9d85fcc7
test: fix legacy send message tests ( #6382 )
...
* test: fix legacy send message tests
* fix reasoner model test
* add hidden reasoning
2025-11-26 14:39:39 -08:00
cthomas
f6c21a9783
fix: sources api validatione error for 1.0 sdk ( #6380 )
2025-11-26 14:39:39 -08:00
cthomas
898c0ed83e
test: cancellation edge case in test ( #6379 )
2025-11-26 14:39:39 -08:00
cthomas
b08309487c
fix: relative path for data dir in test ( #6376 )
2025-11-26 14:39:39 -08:00
cthomas
e5bddab11c
test: migrate cancellation test to 1.0 sdk [LET-6327] ( #6375 )
...
* test: migrate cancellation test to 1.0 sdk
* revert async change
* debug redis
* cleanup
2025-11-26 14:39:39 -08:00
cthomas
9cdaf4b5a8
test: migrate mcp_tests to 1.0 sdk [LET-6326] ( #6374 )
...
test: migrate mcp_tests to 1.0 sdk
2025-11-26 14:39:39 -08:00
cthomas
3efee41148
test: migration integration_test_mcp to use 1.0 sdk [LET-6325] ( #6373 )
...
test: migration integration_test_mcp to use 1.0 sdk
2025-11-26 14:39:39 -08:00
cthomas
09c1f7f1b3
feat: migrate search test to 1.0 sdk [LET-6321] ( #6370 )
...
* feat: migrate search test to 1.0 sdk
* fix import
* attempt to fix
* attempt 2
2025-11-26 14:39:39 -08:00
cthomas
e272da068c
test: make test_sdk_client compat with 1.0 [LET-6322] ( #6371 )
...
test: make test_sdk_client compat with 1.0
2025-11-26 14:39:39 -08:00
cthomas
0ecf72567a
test: migrate sources test to 1.0 sdk [LET-6317] ( #6367 )
...
* test: migrate sources test to 1.0 sdk
* fix dict attribute access
2025-11-26 14:39:39 -08:00
cthomas
7b0bd1cb13
feat: cutover repo to 1.0 sdk client LET-6256 ( #6361 )
...
feat: cutover repo to 1.0 sdk client
2025-11-24 19:11:18 -08:00
Ari Webb
ce2ca8660b
feat: add effort dropdown for claude 4.5 opus (backend) ( #6351 )
...
* feat: add effort support (backend)
* fix test_agent_state_schema_unchanged
---------
Co-authored-by: Ari Webb <ari@letta.com >
2025-11-24 19:10:27 -08:00
cthomas
e4fb00fef8
test: make hitl tests pass using v1 sdk LET-6312 ( #6353 )
...
test: make hitl tests pass using v1 sdk
2025-11-24 19:10:27 -08:00