Commit Graph

121 Commits

Author SHA1 Message Date
Sarah Wooders
a566900533 chore: add back test_server.py (#5783) 2025-11-13 15:36:00 -08:00
Kian Jones
ca6cfa5914 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
Andy Li
acfdab2ced 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
45c4dbd5e8 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
Sarah Wooders
20a857b900 chore: remove legacy embeddings (#3846) 2025-08-12 15:11:09 -07:00
Kevin Lin
e20f4eca92 fix: update default include_base_tool_rules to None (#3762)
Co-authored-by: Matthew Zhou <mattzh1314@gmail.com>
2025-08-06 15:58:29 -07:00
Andy Li
277c26a58e feat: modal sandbox 2025-07-30 11:25:40 -07:00
Andy Li
9ca1664ed8 feat: support for providers 2025-07-22 16:09:50 -07:00
Matthew Zhou
698d99a66e feat: Ungate file upload for simple MIME types even without Mistral API key (#2898) 2025-06-18 15:11:30 -07:00
Matthew Zhou
d0c2ef89ea feat: Add errors when tool call violates tool rules (#2766) 2025-06-11 17:12:39 -07:00
cthomas
ad82399722 fix: tool return message packing in stream (#2586) 2025-06-02 13:52:38 -07:00
Andy Li
831b7d5862 chore: cleanup (#2480) 2025-05-29 10:40:41 -07:00
cthomas
e360620b02 feat(asyncify): migrate run tools (#2496) 2025-05-28 14:25:17 -07:00
cthomas
1f8450d029 feat(asyncify): migrate list steps (#2418) 2025-05-24 12:06:04 -07:00
cthomas
7467bd5b14 feat(asyncify): list model stragglers (#2362) 2025-05-23 00:42:05 -07:00
Sarah Wooders
b6b539dbbc chore: move context window estimate to agent_manager for full async (#2354) 2025-05-22 20:30:41 -07:00
Sarah Wooders
1d2f8d86e9 feat(asyncify): migrate sources to async (#2332) 2025-05-22 19:39:44 -07:00
Matthew Zhou
d4390cd9e6 refactor: Deprecate local client (#2344) 2025-05-22 18:57:14 -07:00
Matthew Zhou
fdc2d8ec22 feat: Concurrently gather llm models in /models endpoint (#2288) 2025-05-21 11:19:13 -07:00
cthomas
44afd54c5c feat(asyncify): migrate list messages (#2272) 2025-05-20 16:52:11 -07:00
Andy Li
0a54b998a8 feat: track llm provider traces and tracking steps in async agent loop (#2219) 2025-05-19 15:50:56 -07:00
Andy Li
8e2417aa2f feat: async db client (#2076) 2025-05-12 17:15:14 -07:00
cthomas
d8151d76e2 feat: add provider_category field to distinguish byok (#2038) 2025-05-06 17:31:36 -07:00
cthomas
25c188689a feat: byok 2.0 (#1963) 2025-04-30 21:26:50 -07:00
Matthew Zhou
684dd5a391 feat: Create local sandbox config from env vars for OSS users (#1910) 2025-04-28 13:01:38 -07:00
cthomas
10622b661c feat: stop creating new message for system prompt changes (#1559)
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com>
2025-04-08 10:25:43 -07:00
cthomas
c3c14458cf feat: more robust tools setup in agent creation (#1605) 2025-04-07 20:15:16 -07:00
Matthew Zhou
476369e6f2 feat: Add testing for SDK send_message variants (#1520) 2025-04-01 16:54:09 -07:00
Matthew Zhou
c22d1f4af2 feat: Make the tool runner take a schema (#1328) 2025-03-18 12:06:02 -07:00
cthomas
cf146146b6 chore: remove message.text property (#1253) 2025-03-12 10:58:31 -07:00
cthomas
4548555d6c chore: change the name of user id to actor (#1098) 2025-02-25 11:35:19 -08:00
cthomas
18227a3b06 feat: flatten content field in user message [RETRY] (#809) 2025-01-28 13:41:45 -08:00
cthomas
a5d7f66f59 feat: add support for use_assistant_message in list_messages (#804) 2025-01-28 13:39:53 -08:00
cthomas
92965bd69c fix: reasoning messages dropped for gpt-4 (#803) 2025-01-28 13:39:18 -08:00
cthomas
eccd279b02 revert: "feat: flatten content field in user message" (#808) 2025-01-28 11:06:30 -08:00
cthomas
a4f4db96d7 feat: flatten content field in user message (#781) 2025-01-28 10:32:44 -08:00
Matthew Zhou
b6773ea7ff feat: Add voice-compatible chat completions endpoint (#774) 2025-01-27 14:25:05 -08:00
cthomas
44a0ae583a fix: handles bug (#765) 2025-01-23 20:25:30 -08:00
cthomas
11d871785a feat: add content union type for requests (#762) 2025-01-23 20:25:00 -08:00
Matthew Zhou
9a5d591515 feat: Use official OpenAI client (#752) 2025-01-23 15:45:06 -08:00
mlong93
819e360356 fix: deprecate cursor param and replace with before, after (#736)
Co-authored-by: Mindy Long <mindy@letta.com>
2025-01-23 14:17:25 -08:00
cthomas
4fc958ded7 feat: support custom llm configs (#737) 2025-01-23 10:13:05 -08:00
cthomas
98c5702ef9 chore: rename metadata_ field to metadata in pydantic (#732) 2025-01-22 19:05:41 -08:00
cthomas
48642b484d chore: rename llm handle field to model in create agent req (#718) 2025-01-21 17:55:39 -08:00
cthomas
551cc0820c feat: add schema/db for new steps table (#669) 2025-01-18 12:20:10 -08:00
Matthew Zhou
e8fab921a0 feat: Extend tool runs to also take in environment variables (#554) 2025-01-08 16:16:19 -08:00
Matthew Zhou
5c490a3cc7 chore: Merge OSS (#512) 2025-01-06 10:46:53 -08:00
Caren Thomas
7144fd2867 run black, add isort config to pyproject.toml 2024-12-26 19:43:11 -08:00
Caren Thomas
905906d416 run isort on apps/core 2024-12-26 19:27:09 -08:00
Shubham Naik
4cf354c033 fix: add tests to cypress 2024-12-23 14:44:08 -08:00