Commit Graph

102 Commits

Author SHA1 Message Date
Sarah Wooders
e82a2d33f8 feat: add client side skills (#1320)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-10 13:18:14 -07:00
jnjpng
cdf7167b26 chore: restore null! placeholders for forward-reference pattern (#1284)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-05 17:12:20 -08:00
paulbettner
5a6d804069 fix(tui): keep conversation model overrides sticky (#1238)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-05 16:38:36 -08:00
Charles Packer
603e5941d8 refactor: replace ADE /agents/ links with /chat/ and centralize URL building [LET-7798] (#1254)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-04 15:45:42 -08:00
Charles Packer
654fc2d213 rename: letta remote -> letta server with remote as alias (#1265)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-04 15:44:53 -08:00
Devansh Jain
fd59b8c46b feat: agent-aware rename via command-io hints [LET-7755] (#1250) 2026-03-03 16:12:53 -08:00
Charles Packer
d038695244 feat(connect): unify provider connect flows across TUI and CLI (#1243)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-03 13:26:26 -08:00
amysguan
3f189ed0c8 feat(tui): add /compaction mode selector command (#1141) 2026-03-02 11:28:37 -08:00
cpacker
393ab7bddf refactor(remote): extract shared registerWithCloud() helper
Registration HTTP logic was duplicated three times across listen.ts
(initial + re-register) and listen.tsx. Extracted into
listen-register.ts with proper error handling for non-JSON responses,
response shape validation, and 5 focused tests. Removes ~110 lines
of duplication.

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

Co-Authored-By: Letta <noreply@letta.com>
2026-03-01 11:53:45 -08:00
cpacker
f65a23d092 fix(remote): handle non-JSON responses from registration endpoint
When `letta remote` connects before the cloud API is running (e.g.
ngrok returning HTML error pages), the `.json()` call on the response
threw an unhandled SyntaxError causing a hard exit with "Failed to
parse JSON". Now both register and re-register paths catch JSON parse
failures and surface actionable error messages indicating the server
may not be running.

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

Co-Authored-By: Letta <noreply@letta.com>
2026-02-28 15:56:32 -08:00
amysguan
6707af5930 feat(tui): add self modes to /compact (#1119)
Co-authored-by: Amy Guan <amy@letta.com>
2026-02-26 18:00:23 -08:00
Devansh Jain
6967f9dcc9 feat: make reasoning tab cycling opt-in (default off) (#1175) 2026-02-26 15:42:52 -08:00
Shubham Naik
1a630cedc9 improve streaming resilience for remote mode (#1171) 2026-02-26 15:01:13 -08:00
Shubham Naik
97ed54ad22 feat: listen -> remote (#1133) 2026-02-25 11:07:03 -08:00
Shubham Naik
eb210f22b4 feat: simplify listen command - remove binding flags, add auto-genera… (#1111)
Co-authored-by: Letta <noreply@letta.com>
2026-02-24 14:11:10 -08:00
Sarah Wooders
a086957407 fix(cli): detect API key from env instead of checking repo secrets (#1116)
Co-authored-by: Letta <noreply@letta.com>
Co-authored-by: letta-code <248085862+letta-code@users.noreply.github.com>
Co-authored-by: Charles Packer <cpacker@users.noreply.github.com>
2026-02-24 12:19:31 -08:00
Sarah Wooders
6813167a2a feat(cli): add /install-github-app setup wizard (#1097)
Co-authored-by: Letta <noreply@letta.com>
2026-02-23 10:38:21 -08:00
Charles Packer
5ad7094a26 feat: add /palace alias for Memory Palace (#1088)
Co-authored-by: Letta <noreply@letta.com>
2026-02-21 13:34:02 -08:00
Kevin Lin
2da31bf2f7 fix: update /memory command to say "memory" instead of "memory blocks" (#1058)
Co-authored-by: Letta <noreply@letta.com>
2026-02-20 11:02:40 -08:00
Charles Packer
a0a5bbfc72 feat: inject toolset swap and slash-command context reminders (#1022) 2026-02-18 18:15:38 -08:00
Shubham Naik
56ff8ad447 feat: listen mode (#997)
Co-authored-by: cpacker <packercharles@gmail.com>
2026-02-18 17:38:48 -08:00
jnjpng
f3aa3291db fix: standardize slash command help and error messages (#999) 2026-02-18 16:06:54 -08:00
jnjpng
66f333a5ca fix: correctly display no arguments tip on commands that don't accept them instead of opening state (#996)
Co-authored-by: Letta <noreply@letta.com>
2026-02-17 15:14:17 -08:00
Charles Packer
8ded47e945 feat(cli): add /skills overlay to browse available skills (#961)
Co-authored-by: Letta <noreply@letta.com>
2026-02-14 11:45:33 -08:00
amysguan
7f83035a09 Add mode options to /compact (#921)
Co-authored-by: Amy Guan <amy@letta.com>
2026-02-11 19:18:44 -08:00
Charles Packer
9ea10bf2ff feat: add client-side sleeptime settings + compaction reflection triggers (#923) 2026-02-11 19:18:22 -08:00
jnjpng
c3a7f6c646 feat: configurable status lines for CLI footer (#904)
Co-authored-by: Letta <noreply@letta.com>
2026-02-11 17:35:34 -08:00
Sarah Wooders
0c317652fd feat: rename --from-af to --import and /download to /export (#902)
Co-authored-by: Letta <noreply@letta.com>
2026-02-11 15:39:48 -08:00
jnjpng
3db001ad18 chore: remove pro enterprise plan restriction for codex connect (#875) 2026-02-09 12:58:41 -08:00
Charles Packer
37e8347358 refactor(cli): centralize command execution flow (#841) 2026-02-05 18:21:07 -08:00
jnjpng
84e9a6d744 feat: add /context command to show context window usage (#814) 2026-02-04 22:24:39 -08:00
Kian Jones
10d4bd1816 feat: support renaming conversations along with agents (#792) 2026-02-03 17:14:28 -08:00
Charles Packer
b7244ffa88 feat(cli): add alien art to command preview and exit message (#769)
Co-authored-by: Letta <noreply@letta.com>
2026-01-31 21:53:16 -08:00
Charles Packer
b6c78dd134 fix(cli): move /memfs lower in command autocomplete order (#766)
Co-authored-by: Letta <noreply@letta.com>
2026-01-31 20:24:55 -08:00
Charles Packer
5e64033505 fix(memfs): add frontmatter round-trip to preserve block metadata (#754)
Co-authored-by: Letta <noreply@letta.com>
2026-01-30 14:18:54 -08:00
Charles Packer
654e492479 feat: agent-driven memory filesystem sync conflict resolution (#724)
Co-authored-by: Letta <noreply@letta.com>
Co-authored-by: Kevin Lin <kl2806@columbia.edu>
2026-01-28 19:30:26 -08:00
Ari Webb
bbfb56ab84 feat: openrouter byok support through /connect (#735) 2026-01-28 18:10:23 -08:00
Ari Webb
ebdf78302d feat: add profile auth method for bedrock (#695) 2026-01-28 11:33:43 -08:00
Kevin Lin
7ab97e404d feat: sync memory with filesystem tree (#685)
Co-authored-by: Letta <noreply@letta.com>
Co-authored-by: cpacker <packercharles@gmail.com>
2026-01-26 21:48:57 -08:00
Charles Packer
83cdccd930 feat: add MiniMax coding plans support to /connect (#684)
Co-authored-by: Letta <noreply@letta.com>
2026-01-26 13:24:47 -08:00
Charles Packer
fd7ca18066 fix: patch default model (#670)
Co-authored-by: Letta <noreply@letta.com>
2026-01-24 20:10:40 -08:00
Charles Packer
23c528a25b feat: improve /connect command and /model selector UX (#665)
Co-authored-by: Letta <noreply@letta.com>
2026-01-24 12:06:16 -08:00
Kian Jones
1968059434 fix: allow messages starting with / to be sent to agent when unknown (#625)
Co-authored-by: Letta <noreply@letta.com>
2026-01-21 21:36:21 -08:00
jnjpng
2c82bd880a feat: implement Claude Code-compatible hooks system (#607) 2026-01-21 16:23:15 -08:00
Charles Packer
8c3a0f5bf6 feat: support query prefill in /search command (#606)
Co-authored-by: Letta <noreply@letta.com>
2026-01-20 17:57:14 -08:00
jnjpng
e6661e7699 fix: use single source of truth for agent name (#602)
Co-authored-by: Letta <noreply@letta.com>
2026-01-20 12:00:37 -08:00
Charles Packer
a526614e28 feat: revert default startup to use "default" conversation (#594)
Co-authored-by: Letta <noreply@letta.com>
2026-01-19 13:02:12 -08:00
jnjpng
167f30972d feat: add mcp oauth support via /mcp connect (#570) 2026-01-16 17:59:39 -08:00
Charles Packer
1192e88849 feat: improve --resume and --continue CLI flags (#555)
Co-authored-by: Letta <noreply@letta.com>
2026-01-15 16:37:26 -08:00
jnjpng
29e9ada599 chore: naming to chatgpt oauth instead of codex oauth (#551) 2026-01-15 15:49:01 -08:00