Commit Graph

658 Commits

Author SHA1 Message Date
Shubham Naik
98e8fcdee6 feat: allow list tools by tool type [PRO-870] (#4036)
* feat: allow list tools by tool type

* chore: update list

* chore: respond to comments

* chore: refactor tools hella

* Add tests to managers

* chore: branch

---------

Co-authored-by: Shubham Naik <shub@memgpt.ai>
Co-authored-by: Matt Zhou <mattzh1314@gmail.com>
2025-09-02 15:53:36 -07:00
Matthew Zhou
c69fc95870 feat: Extend crud lifecycle of messages [LET-4158] (#4364)
Extend crud lifecycle of messages
2025-09-02 14:38:30 -07:00
Matthew Zhou
6b625cb039 feat: Extract more text from messages [LET-4154] (#4359)
* Extract more message types

* Add extra tests testing for multiple parts
2025-09-02 13:25:32 -07:00
Matthew Zhou
29502ac3aa feat: Add association for the vector namespace [LET-4148] (#4354)
Add association for the namespace
2025-09-02 13:21:42 -07:00
Matthew Zhou
b8a198688f feat: Embed all messages in turbopuffer [LET-4143] (#4352)
* wip

* Finish embedding

* Fix ruff and tests
2025-09-02 12:43:48 -07:00
cthomas
9b315e9f54 feat: support filtering out approval messages for anthropic api (#4342) 2025-09-01 21:39:50 -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
cthomas
f3df0433ae feat: add more tests for hitl (#4339) 2025-09-01 16:23:06 -07:00
cthomas
315d07568b feat: handle message persistence for approvals flows (#4338) 2025-09-01 14:10:02 -07:00
cthomas
2dcbb9d9a6 feat: add human in the loop tests to CI (#4335)
feat: add human in the loop tests-to-ci
2025-09-01 11:10:31 -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
cthomas
8d1389146a feat: support deny tool call request (#4334) 2025-09-01 10:33:18 -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
cthomas
86b073d726 feat: support approve tool call request (#4333) 2025-08-31 11:26:21 -07:00
Matthew Zhou
0854ba0d01 feat: Support timestamp filtering for archival memories [LET-3469] (#4330)
Finish temporal filtering
2025-08-30 19:31:07 -07:00
cthomas
9d03869287 feat: add error handling for approval response attempt (#4326)
* feat: add error handling for approval response attempt

* add one more error case

* improve error messages
2025-08-29 20:39:28 -07:00
Kian Jones
b28b59a49f chore: add tbpuf secrets and testing (#4292)
* add tbpuf secret

* deploy tbpuf key to prod deploy for core

* add secrets in staging and ci

* rn turbopuff test and add to integration test suite

* add tbpuf

* rename all occurences to tpuf

* remove debug prints

* buffer-puf

* add letta prefix

* add debug

* fix tests
2025-08-29 16:44:15 -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
cthomas
b8c2f42d33 feat: add support for approval request creation (#4313) 2025-08-29 15:23:02 -07:00
Matthew Zhou
35103b3a9f test: Add test for archival tag compilation into system prompt [LET-4114] (#4312)
Add tests and thread created_at
2025-08-29 13:35:19 -07:00
Matthew Zhou
598b62462c fix: Fix test managers (#4310)
* Fix test managers

* Mock
2025-08-29 13:03:06 -07:00
Matthew Zhou
b1f2e8b2bc feat: Allow agent archival tools to insert/search with tags [LET-4072] (#4300)
* Finish modifying archival memory tools

* Add tags

* Add disabled test
2025-08-29 11:55:06 -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
e6c2c2121e feat: add requires approval logic to tool rules solver (#4294) 2025-08-28 17:06:46 -07:00
Matthew Zhou
c1f8c48818 feat: Support arbitrary string tagging filtering [LET-3467] (#4285)
* Finish tagging

* Add comprehensive tags functionality

* Add fern autogen

* Create passage tags table

* Add indices

* Add comments explaining dual storage

* Fix alembic heads

* Fix alembic

---------

Co-authored-by: Kian Jones <11655409+kianjones9@users.noreply.github.com>
2025-08-28 16:57:36 -07:00
cthomas
2d19903252 feat: add new modify approvals api (#4288)
* feat: add new modify approvals api

* remove path params override
2025-08-28 16:45:07 -07:00
cthomas
e3d3bc09eb feat: add new default_requires_approval flag on tools (#4287) 2025-08-28 15:38:59 -07:00
Matthew Zhou
b0dadf84e5 feat: Add hybrid search on turbopuffer [LET-4096] (#4284)
Add hybrid search
2025-08-28 13:10:25 -07:00
Matthew Zhou
641eb0354f feat: De-dupe tool rules [LET-4091] (#4282)
* Add hash/eqs for de-dupe

* Add sdk test
2025-08-28 12:43:32 -07:00
Sarah Wooders
58be205098 chore: patch update tools (#4090)
* patch update tools

* update tool patch

* fallback to generation for legacy tools

* avoid re-parsing source if json schema exists

* fix more tests

* remove asssert

* fix

* update

* update

* update

* Fix tests

---------

Co-authored-by: Matt Zhou <mattzh1314@gmail.com>
2025-08-28 11:34:36 -07:00
Matthew Zhou
d797296032 feat: Support basic upload/querying on tpuf [LET-3465] (#4255)
* wip implementing turbopuffer

* Move imports up

* Add type of archive

* Integrate turbopuffer functionality

* Debug turbopuffer tests failing

* Fix turbopuffer

* Run fern

* Fix multiple heads
2025-08-28 10:39:16 -07:00
jnjpng
238dac2482 fix: test_mcp.py tests [LET-4075]
* fix tests

* update venv cleanup
2025-08-27 15:04:47 -07:00
Sarah Wooders
6e628a93f7 feat: support overriding embedding handle [LET-4021] (#4224) 2025-08-27 14:54:17 -07:00
Matthew Zhou
13d8eae9ef chore: Move environment to settings [LET-4080] (#4265)
Move environment to settings
2025-08-27 14:52:35 -07:00
cthomas
49bfd4fba0 fix: add timeout to test_sdk_client.py test (#4262) 2025-08-27 14:37:06 -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
27f7e831ec feat: update timeout for sdk tests [LET-4070] (#4256)
feat: update timeout for sdk tests

Co-authored-by: jnjpng <jin@letta.com>
2025-08-27 13:45:29 -07:00
cthomas
a1e341fd5d fix: sdk tests [LET-4071] (#4258)
fix: sdk tests
2025-08-27 13:02:53 -07:00
Matthew Zhou
1ca8c310b8 fix: Fix a bunch of failing tests [LET-4065] (#4249)
* Finish fixing async loop for test_agent_serialization_v2

* Fix tests

* Remove rounding for sqlite

---------

Co-authored-by: Shubham Naik <shub@letta.com>
2025-08-27 12:48:03 -07:00
cthomas
6d4eaab96c fix: letta hosted embedding dim (#4257) 2025-08-27 12:41:14 -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
74ee4dd4fe fix: test embeddings missing fixture [LET-4062] (#4244)
fix: test embeddings missing fixture
2025-08-27 10:11:56 -07:00
cthomas
436706c410 fix: test managers failure on main [LET-4061] (#4243)
fix: test managers failure on main
2025-08-27 10:11:33 -07:00
Matthew Zhou
699a826c64 fix: Fix agent serialization tests (#4193)
Finish
2025-08-27 09:49:17 -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
Sarah Wooders
250d8b8006 feat: add cloud template fields to blocks/groups/agents [LET-3979]
* commit

* fix tests

* add routes

* remove old fields

* remove entity from group

* generate, migrate

* update

* keep from_template, etc.

* keep block fields

* final

* generate

* pass tests

* generate

* keep defaults

---------

Co-authored-by: jin <jin@letta.com>
2025-08-26 23:17:06 -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
Kian Jones
82495b68a3 chore(ci): Add uv support and use for unit tests (#4127)
* cherrypick just relevant commits?

* make work with poetry

* update poetry?

* regen?

* change tests and dev to dependency groups instead of optional extras

* Fix Poetry/UV compatibility issues

- Fix sqlite-vec dependency: Remove optional flag from Poetry section to match main deps
- Regenerate poetry.lock to sync with pyproject.toml changes
- Test both package managers successfully:
  - Poetry: `poetry install --with dev --with test -E postgres -E external-tools -E cloud-tool-sandbox`
  - UV: `uv sync --group dev --group test --extra postgres --extra external-tools --extra cloud-tool-sandbox`

Resolves Poetry lock sync errors and ensures sqlite-vec is available for tests.

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

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

* more robust pip install

* Fix fern SDK wheel installation in CI workflow

Replace unreliable command substitution with proper error handling:
- Check if directory exists before attempting to find wheels
- Store wheel file path in variable to avoid empty arguments
- Provide clear error messages when directory/wheels are missing
- Prevents "required arguments were not provided" error in uv pip install

Fixes: error: the following required arguments were not provided: <PACKAGE>

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

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

* debugging

* trigger CI

* ls

* revert whl installation to -e

* programmatic HIT version insertion

* version templating properly

* set var properly

* labelling

* remove version insertion

* ?

* try using sed '2r /dev/stdin'

* version

* try again smh

* not trigger on poetry version

* only add once

* filter only for project not poetry

* hand re-construct the file

* save tail?

* fix docker command

* please please please

* rename test -> tests

* update poetry and rename group to -E

* move async into tests extra and regen lock files and add sqlite extra

* remove loading cached venv from cloud api integration

* add uv dependency to CI runners

* test removing the custom event loop

* regen poetry.lock and try to fix async tests

* wrap async pg exception and event loop tweak in plugins

* remove event loop from plugins test and remove caching from cloud-api-integration-test

* migrate all tests away from event loop for pytest-asyncio

* pin firecrawl

* pin e2b

* take claude's suggestion

* deeper down the claude rabbit hole

* increase timeout for httpbin.org

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-08-26 11:51:31 -07:00
jnjpng
a5e84cc80b feat: generate strict-compatible schema for MCP tools with optional fields
Co-authored-by: Jin Peng <jinjpeng@Jins-MacBook-Pro.local>
2025-08-25 22:08:59 -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