Commit Graph

82 Commits

Author SHA1 Message Date
Kian Jones
25d54dd896 chore: enable F821, F401, W293 (#9503)
* auto fixes

* auto fix pt2 and transitive deps and undefined var checking locals()

* manual fixes (ignored or letta-code fixed)

* fix circular import
2026-02-24 10:55:08 -08:00
Sarah Wooders
adab8cd9b5 feat: add MiniMax provider support (#9095)
* feat: add MiniMax provider support

Add MiniMax as a new LLM provider using their Anthropic-compatible API.

Key implementation details:
- Uses standard messages API (not beta) - MiniMax supports thinking blocks natively
- Base URL: https://api.minimax.io/anthropic
- Models: MiniMax-M2.1, MiniMax-M2.1-lightning, MiniMax-M2 (all 200K context, 128K output)
- Temperature clamped to valid range (0.0, 1.0]
- All M2.x models treated as reasoning models (support interleaved thinking)

Files added:
- letta/schemas/providers/minimax.py - MiniMax provider schema
- letta/llm_api/minimax_client.py - Client extending AnthropicClient
- tests/test_minimax_client.py - Unit tests (13 tests)
- tests/model_settings/minimax-m2.1.json - Integration test config

🐾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta <noreply@letta.com>

* chore: regenerate API spec with MiniMax provider

🐾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta <noreply@letta.com>

* chore: use MiniMax-M2.1-lightning for CI tests

Switch to the faster/cheaper lightning model variant for integration tests.

🐾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta <noreply@letta.com>

* chore: add MINIMAX_API_KEY to deploy-core command

Co-authored-by: Sarah Wooders <sarahwooders@users.noreply.github.com>

* chore: regenerate web openapi spec with MiniMax provider

Co-authored-by: Sarah Wooders <sarahwooders@users.noreply.github.com>

🐾 Generated with [Letta Code](https://letta.com)

---------

Co-authored-by: Letta <noreply@letta.com>
Co-authored-by: letta-code <248085862+letta-code@users.noreply.github.com>
Co-authored-by: Sarah Wooders <sarahwooders@users.noreply.github.com>
2026-01-29 12:44:04 -08:00
Ari Webb
9dbf428c1f feat: enable bedrock for anthropic models (#8847)
* feat: enable bedrock for anthropic models

* parallel tool calls in ade

* attempt add to ci

* update tests

* add env vars

* hardcode region

* get it working

* debugging

* add bedrock extra

* default env var [skip ci]

* run ci

* reasoner model update

* secrets

* clean up log

* clean up
2026-01-19 15:54:44 -08:00
Kian Jones
e60e8ed670 chore: bump wait_for_server from 30 to 60 seconds (#8435)
bump 30 to 60 seconds
2026-01-12 10:57:49 -08:00
Sarah Wooders
3cf91d9dbc chore: enable client-defined tools integration test (#8223) 2026-01-12 10:57:48 -08:00
Sarah Wooders
0c0ba5d03d fix: remove letta-free embeddings from testing (#6870) 2025-12-15 12:03:09 -08:00
cthomas
3a0bbe5495 feat: relax send message constraints for image test (#6408) 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
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
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
b08309487c fix: relative path for data dir in test (#6376) 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
b0f9986209 feat: make letta_v1_agent default [LET-6153] (#6115)
* agent change

* fix tests

* fix more tests

* memgpt_v2_agent for cloud-api tests

---------

Co-authored-by: Ari Webb <ari@letta.com>
2025-11-24 19:09:33 -08:00
Ari Webb
13a77289b9 fix: send message test for gpt 4o (#6012)
fix

Co-authored-by: Ari Webb <ari@letta.com>
2025-11-13 15:36:55 -08:00
jnjpng
46457d3f93 fix: send message integration tests agent loop errors (#5995)
base

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-13 15:36:55 -08:00
jnjpng
05b359b7f5 chore: add local base 64 url image for send message integration (#5969)
* base

* update

* clean up

* update

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-11-13 15:36:55 -08:00
Ari Webb
9e94c344b8 using uuid and datetime [LET-5508] (#5430)
* using uuid and datetime

* add run_id

---------

Co-authored-by: Ari Webb <ari@letta.com>
2025-10-24 15:12:11 -07:00
Ari Webb
1d3e2d14d6 use LLMError instead of ValueError (#5389)
Co-authored-by: Ari Webb <ariwebb@Aris-MacBook-Pro.local>
2025-10-24 15:11:31 -07:00
Sarah Wooders
ef07e03ee3 feat: add run_id to input messages and step_id to messages (#5099) 2025-10-07 17:50:48 -07:00
Sarah Wooders
354205f581 feat: create new runs table [LET-4467] (#4841) 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
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
cthomas
9d7dd6acd8 test: skip step stream error case temporarily (#4491) 2025-09-08 23:27:07 -07:00
jnjpng
12d8242d94 fix: retry on 500 and 503 for gemini [LET-4185]
* handle 500 and 503

* timeout

---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-09-03 14:02:58 -07:00
Charles Packer
e741f84add fix: patch bug w/ extended thinking mode involving text leaking into reasoning (#4341)
* fix: patch for bad native reasoning behavior w/ sonnet

* fix: cleanup

* fix: cleanup

* fix: another prompt tune for less flaking
2025-09-01 20:26:24 -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
jnjpng
c9c9e727b8 fix: retry on MALFORMED_FUNCTION_CALL for gemini [LET-4089]
---------

Co-authored-by: Letta Bot <noreply@letta.com>
2025-09-01 07:26:13 -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
cthomas
a3e194e913 fix: sonnet send message tests [LET-4074] (#4260)
* fix: sonnet send message tests

* one more check
2025-08-27 13:51:21 -07:00
cthomas
5ade6bb236 fix: gemini flash integration test [LET-4060] (#4242)
* fix: gemini flash integration test

* also update google flash

* catch error in test

* revert test changes

* do try catch again

* remove try catch from streaming tests

* add try catch for summarize test also
2025-08-27 11:59:15 -07:00
cthomas
8887de4585 feat: add unit test for backgrounds filter [LET-4051] (#4230)
feat: add unit test for backgrounds filter
2025-08-27 09:40:57 -07:00
Andy Li
ff718d8c40 feat: uv migration (#3493)
* uv migration

smaller runners, freeze test runs, remove dev, ruff,hatchling, previw,
poetry, generates wheel, installs wheel, docker

* fix tests and dependency groups

* test fixes

* test fixing and main

* resolve merge conflict

* dev + test dependency group

* Test

* trigger CI

* trigger CI

* add debugging info

* trigger CI

* uv for reusable and sdk preview

* resolve mc and reformat black

* staged-api

* mypy

* fix fern

* prod Dockerfile

* model sweep, and project.toml and uvlock

* --group test -> --extra dev

* remove redundant --extra dev and rename tests to dev

* sdk backwards compat install sqlite

* install sqlite group for sdk-backwards-compat

* install uv on gh runner for cloud-api-integration-tests

* stage+publish

* pytest asyncio

* bug causing pytest package to get removed

* try to fix async event loop issues

* migrate to --with google-cloud-secret-manager

---------

Co-authored-by: Kian Jones <kian@letta.com>
2025-08-26 18:11:09 -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
cthomas
6c59bc8dea feat: add retrieve stream testing (#4168) 2025-08-25 16:13:59 -07:00
cthomas
7605229216 feat: add redis client to CI for background mode tests (#4155) 2025-08-25 11:37:46 -07:00
cthomas
269c536530 feat: add new groq llm client LET-3943 (#3937)
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2025-08-21 13:13:25 -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
1ec9ccaf20 fix: send message tests failing on main (#3878) 2025-08-12 12:47:50 -07:00
cthomas
5cf807574f feat: consolidate reasoning model checks (#3862) 2025-08-11 16:55:45 -07:00
jnjpng
302b07bd2b fix: lmstudio tests and integration
Co-authored-by: Jin Peng <jinjpeng@Jins-MacBook-Pro.local>
2025-08-07 20:02:56 -07:00
Matthew Zhou
76c9a58d6f feat: Support streaming and move endpoint for letta-free (#3780) 2025-08-06 15:33:35 -07:00
jnjpng
b3d55868c9 fix: fix and update vllm tests
Co-authored-by: Jin Peng <jinjpeng@Jins-MacBook-Pro.local>
Co-authored-by: Kian Jones <kian@letta.com>
2025-08-06 14:37:55 -07:00
Sarah Wooders
c2b2d976b6 feat: move ollama to new agent loop (#3615) 2025-07-31 13:40:26 -07:00
jnjpng
6b082f0447 fix: manually count tokens for streaming lmstudio models
Co-authored-by: Jin Peng <jinjpeng@Jins-MacBook-Pro.local>
Co-authored-by: Charles Packer <packercharles@gmail.com>
2025-07-29 18:12:42 -07:00
Sarah Wooders
a0d6bd4520 test: run tests with gemini 2.5 instead (#3548)
Co-authored-by: Kian Jones <11655409+kianjones9@users.noreply.github.com>
Co-authored-by: Kian Jones <kian@letta.com>
Co-authored-by: Matt Zhou <mattzh1314@gmail.com>
2025-07-29 14:50:28 -07:00
Matthew Zhou
272b36c63f feat: Scrub inner thoughts from history on toggle (#3607) 2025-07-28 21:43:36 -07:00
Matthew Zhou
d77eb1230f feat: Add ability to disable reasoning (#3594) 2025-07-28 15:30:10 -07:00
Kian Jones
4c3374c580 feat(ci): Add coverage for self-hosted providers (#2976) 2025-07-21 18:26:23 -07:00
Andy Li
60c4e23904 feat: stop reasons and error messages and sentry fixes 2025-07-18 11:56:20 -07:00