Commit Graph

84 Commits

Author SHA1 Message Date
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
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
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
Charles Packer
c4699b3d17 feat: add support for opus 4.5 (#6256)
* feat: add support for new model

* fix: just stage-api && just publish-api (anthropic model settings changed)

* fix: just stage-api && just publish-api (anthropic model settings changed)

* fix: make kevlar have default reasoning on

* fix: bump anthropic sdk version

* fix: patch name

* pin newer version anthropic

---------

Co-authored-by: Ari Webb <ari@letta.com>
2025-11-24 19:10:27 -08:00
cthomas
2ebf863998 fix: type error in agent step (#6287) 2025-11-24 19:10:26 -08:00
Sarah Wooders
a6b19bf3aa Revert "feat: support anthropic structured outputs [LET-6190]" (#6229)
Revert "feat: support anthropic structured outputs [LET-6190] (#6200)"

This reverts commit 46f6422e68b0d35df1690118dd971c20a4ba7a81.
2025-11-24 19:09:33 -08:00
Sarah Wooders
c18af2bc81 feat: support anthropic structured outputs [LET-6190] (#6200) 2025-11-24 19:09:33 -08:00
jnjpng
cb63753db6 fix: f string formatting separator in anthropic client (#6058)
* fix

* fix

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-13 15:36:56 -08:00
Charles Packer
18029250d0 fix(core): sanitize messages to anthropic in the main path the same way (or similar) to how we do it in the token counter (#6044)
* fix(core): sanitize messages to anthropic in the main path the same way (or similar) to how we do it in the token counter

* fix: also patch poison error in backend by filtering lazily

* fix: remap streaming errors (what the fuck)

* fix: dedupe tool clals

* fix: cleanup, removed try/catch
2025-11-13 15:36:55 -08:00
Kian Jones
6943b68288 tests: adding unit testing and fix edge case (#5992)
cursor bugbot suggestion number 2 and adding unit testing
2025-11-13 15:36:55 -08:00
Kian Jones
688397bbd2 fix: filter out messages with empty content in anthropic client (#5987)
* no bare raise in anthropic client. Also filter out messages with empty content

* use client logic

* replace empty/whitespace with period

* cursor bugbot
2025-11-13 15:36:55 -08:00
Charles Packer
b42e9fa7f3 fix(core): properly map bytes overflow to context overflow error (#5930) 2025-11-13 15:36:45 -08:00
Sarah Wooders
57bb051ea4 feat: add tool return truncation to summarization as a fallback [LET-5970] (#5859) 2025-11-13 15:36:30 -08:00
Charles Packer
f6e6c85c46 fix(core): patch counting bug (#5857) 2025-11-13 15:36:14 -08:00
Sarah Wooders
d109bab587 feat: handle overloaded errors [LET-5969] (#5856)
feat: handle overloaded errors
2025-11-13 15:36:14 -08:00
Ari Webb
7057dce156 feat: add support for reasoning for Claude Haiku 4.5 [LET-5735] (#5585)
frontend and backend changes

Co-authored-by: Ari Webb <ari@letta.com>
2025-10-24 15:13:35 -07:00
cthomas
731e314b5d fix: anthropic payload tool parse error LET-5469 (#5388)
fix: anthropic payload tool parse error
2025-10-24 15:11:31 -07:00
Matthew Zhou
25f140bd13 fix: Fix anthropic step parallel tool calling and add tests [LET-5438] (#5379)
* Fix anthropic step parallel tool calling and add tests

* Remove print statements
2025-10-24 15:11:31 -07:00
Charles Packer
6889a73dcf fix(core): patch the headers not appearing in the misc anthropic routes [LET-5337] (#5274)
fix(core): patch the headers not appearing in the misc anthroipic routes
2025-10-09 13:20:53 -07:00
cthomas
9cb5156ac7 chore: sync 0.12.0 version (#3023)
Co-authored-by: Matthew Zhou <mattzh1314@gmail.com>
Co-authored-by: Kian Jones <11655409+kianjones9@users.noreply.github.com>
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2025-10-08 16:10:51 -07:00
Charles Packer
07a687880f feat(core): add sonnet 1m support [LET-4620] (#5152)
feat(core): add sonnet 1m support
2025-10-07 17:50:49 -07:00
Matthew Zhou
df5c997da0 feat: Enable dynamic toggling of tool choice in v3 agent loop for OpenAI [LET-4564] (#5042)
* Add subsequent flag

* Finish integrating constrained/unconstrained toggling on v3 agent loop

* Update tests to run on v3

* Run lint
2025-10-07 17:50:47 -07:00
Charles Packer
1c7448eb9d fix: patch remaining failing send_message CI tests (#4974)
* fix: patch failing summarizer tests for anthropic claude 3.5

* fix: carveout for gemini-2.5-flash because it doesn't do the send_message tool call

* fix: deprecate old gemini test now that model is unavailable

* fix: deprecate old gemini test now that model is unavailable

* fix: deprecate old gemini test now that model is unavailable

* fix: patch flash flakiness

* fix: relax the gemini 2.5 flash test

* fix: relax the gemini 2.5 flash test

* fix: relax again

* fix: another flash fix

* fix: relax gpt-4o-mini

* fix: swap 4o-mini for 4.1

* fix: drop 4o-mini
2025-10-07 17:50:46 -07:00
Charles Packer
9fd901c3a5 fix(core): patch default reasoning for letta-free on letta v1 (#4953)
* fix(core): patch default reasoning for letta-free on letta v1

* fix: patch (unrelated?) bug w/ missing required for empty tools like reset_research
2025-10-07 17:50:46 -07:00
Sarah Wooders
b5de42fefd fix: patch summarizers for integration_test_send_message.py (#4919)
* fix: integration_test_send_message.py

* patch summarizer

* remove print
2025-10-07 17:50:46 -07:00
Charles Packer
81bf132712 fix: disable reasoning toggle when agent type is letta agent v1 [PRO-1346] (#4946)
* fix: change the backend logic for the reasoning toggle to be different for v1 vs old agent types, also change the frontend to disable toggling unless it's a toggle-able model

* fix: add more logic to when the reasoning switch is enabled or disabled

* fix: safety net in the backend to set config when undefined

* fix: disable prefix fill, it's a bug
2025-10-07 17:50:46 -07:00
Matthew Zhou
b0bc04fec7 fix: Patch batch routes (#4916)
Patch batch routes
2025-10-07 17:50:46 -07:00
Charles Packer
a4041879a4 feat: add new agent loop (squash rebase of OSS PR) (#4815)
* feat: squash rebase of OSS PR

* fix: revert changes that weren't on manual rebase

* fix: caught another one

* fix: disable force

* chore: drop print

* fix: just stage-api && just publish-api

* fix: make agent_type consistently an arg in the client

* fix: patch multi-modal support

* chore: put in todo stub

* fix: disable hardcoding for tests

* fix: patch validate agent sync (#4882)

patch validate agent sync

* fix: strip bad merge diff

* fix: revert unrelated diff

* fix: react_v2 naming -> letta_v1 naming

* fix: strip bad merge

---------

Co-authored-by: Kevin Lin <klin5061@gmail.com>
2025-10-07 17:50:45 -07:00
Kian Jones
b8e9a80d93 merge this (#4759)
* wait I forgot to comit locally

* cp the entire core directory and then rm the .git subdir
2025-09-17 15:47:40 -07:00
Kian Jones
22f70ca07c chore: officially migrate to submodule (#4502)
* remove apps/core and apps/fern

* fix precommit

* add submodule updates in workflows

* submodule

* remove core tests

* update core revision

* Add submodules: true to all GitHub workflows

- Ensure all workflows can access git submodules
- Add submodules support to deployment, test, and CI workflows
- Fix YAML syntax issues in workflow files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* remove core-lint

* upgrade core with latest main of oss

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-09 12:45:53 -07:00
jnjpng
cfe47489d8 fix: clean property schema reference
fix

Co-authored-by: Letta Bot <noreply@letta.com>
2025-09-03 08:42:46 -07:00
jnjpng
a9e20097bd fix: mcp tool schema formatting for anthropic streaming [LET-4165]
* fix

* update commnet

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-09-02 20:44:43 -07:00
cthomas
9b315e9f54 feat: support filtering out approval messages for anthropic api (#4342) 2025-09-01 21:39:50 -07:00
Charles Packer
904bd2ba54 fix(core): init attempt at patching the extended thinking bug (#4331)
* fix(core): init attempt at patching the extended thinking bug

* fix: refactor, fix in a different way be merging instead of dropping, seems to be working

* chore: cleanup

* fix: patch the test - with the new native thinking behavior, anthropic native reasoning does not trigger properly post tool-call

* fix: another attempt

* fix: tests passing locally

* fix: another patch to tests

* fix: pathc more tests

* fix: try turning on the interleave-thinking beta header

* fix: patch test

* fix: add new tests to be more robust

* fix: patch the prompt, now it works more reliably

* fix: typo
2025-09-01 11:09:02 -07:00
Charles Packer
5f9210b808 fix(core): update default value [LET-4117] (#4321)
* fix(core): update default value

* fix: just stage just publish

* fix(core): temporary hardcoding of the anthropic max tokens

* fix(core): patch the gemini
2025-08-29 16:42:19 -07:00
Kian Jones
fecf6decfb chore: migrate to ruff (#4305)
* base requirements

* autofix

* Configure ruff for Python linting and formatting

- Set up minimal ruff configuration with basic checks (E, W, F, I)
- Add temporary ignores for common issues during migration
- Configure pre-commit hooks to use ruff with pass_filenames
- This enables gradual migration from black to ruff

* Delete sdj

* autofixed only

* migrate lint action

* more autofixed

* more fixes

* change precommit

* try changing the hook

* try this stuff
2025-08-29 11:11:19 -07:00
Kevin Lin
f71bbfb41e fix: patch anthropic send message tests (#4173)
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2025-08-25 21:17:08 -07:00
Kevin Lin
23eb087759 fix: pass thinking to anthropic client (#4150) 2025-08-25 13:36:55 -07:00
cthomas
05e8507f94 feat: always override thinking budget for anthropic if not min (#4019) 2025-08-19 14:54:11 -07:00
Charles Packer
b0f335bb69 feat: fix anthropic stream buffering issue (was a missing beta header) (#3933) 2025-08-14 22:26:56 -07:00
cthomas
9f84fb8500 feat: refactor byok logic in llm clients (#3880) 2025-08-12 14:19:02 -07:00
cthomas
5cf807574f feat: consolidate reasoning model checks (#3862) 2025-08-11 16:55:45 -07:00
Sarah Wooders
bde4714294 chore: merge oss (#3712) 2025-08-07 22:20:26 -07:00
Matthew Zhou
d77eb1230f feat: Add ability to disable reasoning (#3594) 2025-07-28 15:30:10 -07:00
Andy Li
734680db81 feat: timeout configuration for LLM clients + vertex (#2972) 2025-06-23 16:55:23 -07:00
cthomas
56493de971 feat: add bedrock client (#2913) 2025-06-19 12:07:00 -07:00
Matthew Zhou
4df0268674 fix: Harden string matching for context window exceeded error (#2847) 2025-06-16 14:34:41 -07:00
Matthew Zhou
0399fc8b11 feat: Add prompting to guide tool rule usage (#2742) 2025-06-10 16:21:27 -07:00
cthomas
b332ebfa85 feat: support multi content part input (#2717) 2025-06-10 13:36:17 -07:00
Matthew Zhou
881506d574 fix: Turn off parallel tool calling for Claude (#2736) 2025-06-10 13:04:20 -07:00