Commit Graph

1067 Commits

Author SHA1 Message Date
jnjpng
60aca976de fix(cli): preserve model across new conversations (#1228)
Co-authored-by: Letta Code <noreply@letta.com>
2026-03-02 13:24:59 -08:00
amysguan
3f189ed0c8 feat(tui): add /compaction mode selector command (#1141) 2026-03-02 11:28:37 -08:00
cpacker
04dcff9c33 feat(remote): always-on session log to ~/.letta/logs/remote/
Every `letta remote` session now writes a log file to
~/.letta/logs/remote/{timestamp}.log regardless of --debug mode.
All WS events, lifecycle transitions, and errors are captured.
--debug still prints to console on top. Log path printed at startup.
Old logs auto-pruned (keeps last 10).

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

Co-Authored-By: Letta <noreply@letta.com>
2026-03-01 13:50:54 -08:00
cpacker
59e9b6648f test(queue): assert listener and TUI batch progression parity 2026-03-01 11:56:55 -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
b4910cd410 fix(listen): enforce strict queue/run correlation in recovery 2026-03-01 00:06:37 -08:00
cpacker
ac4621d91d fix: json catching 2026-02-28 23:04:56 -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
Charles Packer
269e381551 feat: ws sync (#1222) 2026-02-28 10:42:20 -08:00
Devansh Jain
27d145d0ea feat: silence reflection subagent from primary agent context (#1221) 2026-02-27 20:07:55 -08:00
Devansh Jain
35962f7bc7 feat: make /init a background subagent (#1208) 2026-02-27 19:35:19 -08:00
Charles Packer
c8eaea5ee4 feat(listen): recover pending approvals via websocket control (#1219) 2026-02-27 19:25:07 -08:00
Devansh Jain
0c1f2182a0 feat: add silentCompletion + onComplete to spawnBackgroundSubagentTask (#1217) 2026-02-27 19:14:05 -08:00
Devansh Jain
ba6df7a9ed feat: add silent flag to SubagentState for display filtering (#1220) 2026-02-27 19:08:51 -08:00
Charles Packer
e4c2893f60 feat: add --debug flag for plain-text logging (#1215)
Co-authored-by: Letta <noreply@letta.com>
2026-02-27 18:01:46 -08:00
jnjpng
f42fcad3fa fix: recover run_id for stream resume after early disconnect (#1212)
Co-authored-by: Letta <noreply@letta.com>
2026-02-27 17:48:33 -08:00
amysguan
d196c5eb5d Fix: Change Z.ai context window to account for max_token subtraction (#1185) 2026-02-27 17:11:00 -08:00
jnjpng
ec3cbbcaee fix: silence Cloudflare retry status message in terminal UI (#1214)
Co-authored-by: Letta <noreply@letta.com>
2026-02-27 17:02:05 -08:00
cthomas
e0cea19c9f feat: debug log file for diagnostics (#1211)
Co-authored-by: Letta <noreply@letta.com>
2026-02-27 16:49:26 -08:00
Charles Packer
22c31b3d74 fix(tools): add git commit/PR instructions to Codex and Gemini shell tools (#1213)
Co-authored-by: Letta Code <noreply@letta.com>
2026-02-27 16:39:58 -08:00
Devansh Jain
ece8195b3c refactor: DRY up recall subagent by pre-loading searching-messages skill (#1202) 2026-02-27 16:11:40 -08:00
jnjpng
265b96e007 fix: normalize Cloudflare HTML errors in telemetry (#1210)
Co-authored-by: Letta <noreply@letta.com>
2026-02-27 15:54:40 -08:00
cthomas
c5c4687dc4 fix: skip agents.messages.reset in /clear for named conversations (#1209)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 15:48:02 -08:00
Sarah Wooders
1dd2281e2c chore(subagents): switch memory workers to sonnet (#1193) 2026-02-27 15:41:59 -08:00
Sarah Wooders
186483d750 fix: allow quoted pipes in read-only bash parsing (#1194) 2026-02-27 15:40:58 -08:00
cthomas
81a826440c fix: skip conversation API call for default conversation in /model and /reasoning (#1207)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 15:39:52 -08:00
cthomas
0d5dab198a feat: use conversations endpoint for default conversation (#1206) 2026-02-27 15:37:15 -08:00
cthomas
841e2332f3 feat: show update notification in TUI and footer (#1204) 2026-02-27 15:03:47 -08:00
cthomas
bb5d7d0a39 fix: make letta update resilient to npm extraction race conditions (#1201) 2026-02-27 14:54:02 -08:00
cthomas
1a245d74d3 fix: resume stream from seq 0 when no seq_id was received (#1198) 2026-02-27 14:05:31 -08:00
Ari Webb
621ec335e2 fix: fix ci (#1199) 2026-02-27 12:19:52 -08:00
Ari Webb
613acc0c3e fix: delete plan subagent (#1195) 2026-02-27 11:46:58 -08:00
cthomas
0a555f1a31 fix: correct invalid 'letta setup' command in missing API key error (#1196) 2026-02-27 11:32:15 -08:00
cthomas
bd164a40db fix: cache API key in-process to survive keychain failures mid-session (#1192) 2026-02-27 11:32:08 -08:00
cthomas
74687a063f fix: skip conversation model sync for default conversation (#1190)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 10:59:20 -08:00
cthomas
e4529e67e7 fix: redact credential helper value from memfs-git debug log (#1191)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 10:52:05 -08:00
Cameron
e09b58731a fix: rewrite memory subagent prompt and fix reflection path duplication bug (#1123)
Co-authored-by: Kevin Lin <kl2806@columbia.edu>
2026-02-27 06:18:13 -08:00
Charles Packer
5a3a76e333 fix: permissions shell rule normalization (#1189) 2026-02-26 23:55:07 -08:00
Charles Packer
34ec2aaa4e fix(plan): merge scoped path relaxation with quote-aware shell parsing (#1188) 2026-02-26 22:40:09 -08:00
Charles Packer
03de29f3d3 fix(plan): avoid first-try plan-file path misses in codex apply_patch (#1187) 2026-02-26 22:07:24 -08:00
Devansh Jain
2fcd9bc6ce refactor: make memory subagent self-contained, eliminate defrag skill (#1180) 2026-02-26 22:01:55 -08:00
Devansh Jain
1ed619663a fix: skip auto-open viewers in SSH sessions (#1184)
Co-authored-by: Letta <noreply@letta.com>
2026-02-26 18:34:38 -08:00
jnjpng
986cb7dc79 fix: handle Cloudflare HTML 5xx errors gracefully (#1179)
Co-authored-by: Letta <noreply@letta.com>
2026-02-26 18:26:09 -08:00
Charles Packer
70fac1d1f3 fix(queue): harden TUI dequeue display trim and override submit guard (#1183) 2026-02-26 18:12:54 -08:00
Charles Packer
1ca8cf9433 test(cli): harden plan permission-mode sync wiring (#1182) 2026-02-26 18:09:11 -08:00
paulbettner
30decee222 fix(plan): restore pre-plan permission mode reliably (#1170) 2026-02-26 18:01:48 -08:00
Ari Webb
3f4c689d61 feat: persist session usage details (#1050) 2026-02-26 18:00:48 -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
Ari Webb
881a47f64d fix: add parallel tool calling minimax (#1181) 2026-02-26 18:00:05 -08:00
Sarah Wooders
0025c387ec fix(cli): keep /model and /reasoning conversation-scoped (#1178) 2026-02-26 17:58:42 -08:00