Commit graph

913 commits

Author SHA1 Message Date
Dax Raad
551216a452 fix incorrect light mode in ghostty 2026-04-17 11:32:17 -04:00
James Long
0f80c827ed
feat(core): exponential backoff of workspace reconnect (#23083) 2026-04-17 09:52:10 -04:00
Dax Raad
fffc496f41 remove log 2026-04-17 09:46:35 -04:00
Dax
d9950598d0
core: migrate config loading to Effect framework (#23032) 2026-04-17 06:44:01 +00:00
opencode-agent[bot]
81f0885879 chore: generate 2026-04-17 06:13:42 +00:00
Dax
65b2a10e97
fade in prompt metadata transitions (#23037) 2026-04-17 06:12:41 +00:00
Dax
4bd5a158a5
fix: preserve prompt input across unmount/remount cycles (#22508) 2026-04-17 04:23:30 +00:00
Kit Langton
4260c40efa
refactor(tui): inline final Go shimmer settings (#23017) 2026-04-17 03:36:21 +00:00
James Long
0bedea52b1
fix(tui): tui resiliency when workspace is dead, disable directory filter in session list (#23013) 2026-04-16 23:35:36 -04:00
Kit Langton
cccb907a9b
feat(tui): animated GO logo + radial pulse in free-limit upsell dialog (#22976) 2026-04-16 23:19:18 -04:00
opencode-agent[bot]
ebe6ea580d chore: generate 2026-04-17 02:26:48 +00:00
Dax
ee708040f6
fix: prefer real undo filenames over /dev/null (#23006) 2026-04-16 22:25:43 -04:00
Dax
01bb54a94d
refactor: split config parsing steps (#22996) 2026-04-17 01:57:43 +00:00
Dax
6405e3a7b1
tui: stabilize session dialog ordering (#22987) 2026-04-17 01:32:36 +00:00
Kit Langton
94878d76f8
refactor: unwrap TuiPluginRuntime namespace + self-reexport (#22980) 2026-04-17 01:02:07 +00:00
Dax Raad
d6af5a686c tui: convert TuiConfig namespace to ES module exports 2026-04-16 20:46:40 -04:00
Dax Raad
39342b0e75 tui: fix Windows terminal suspend and input undo keybindings
On Windows, native terminals don't support POSIX suspend (ctrl+z), so we now
assign ctrl+z to input undo instead of terminal suspend. Terminal suspend is
disabled on Windows to avoid conflicts with the undo functionality.
2026-04-16 20:37:58 -04:00
Kit Langton
2704ad9110
refactor: unwrap TuiConfig namespace + self-reexport (#22952) 2026-04-17 00:02:24 +00:00
Kit Langton
5d47ea0918
refactor: unwrap ConfigMCP namespace + self-reexport (#22948) 2026-04-16 19:52:04 -04:00
Dax Raad
9db40996cc fix build script 2026-04-16 18:01:58 -04:00
James Long
86c54c5acc
fix(tui): minor logging cleanup (#22924) 2026-04-16 16:58:17 -04:00
Aiden Cline
ae584332b3
fix: uncomment import (#22923) 2026-04-16 15:56:29 -05:00
Kit Langton
1c33b866ba
fix: remove 10 more unnecessary as any casts in opencode core (#22882) 2026-04-16 20:11:05 +00:00
Aiden Cline
6c3b28db64
fix: ensure that double pasting doesnt happen after tui perf commit was merged (#22880) 2026-04-16 14:38:39 -05:00
Kit Langton
2fe9d94470
fix: remove 8 more unnecessary as any casts in opencode core (#22877) 2026-04-16 19:27:53 +00:00
Kit Langton
bf4c107829
fix: remove 7 unnecessary as any casts in opencode core (#22840) 2026-04-16 15:07:02 -04:00
Dax Raad
03e20e6ac1 core: modularize config parsing to improve maintainability
Extract error handling, parsing logic, and variable substitution into dedicated
modules. This reduces duplication between tui.json and opencode.json parsing
and makes the config system easier to extend for future config formats.
2026-04-16 13:29:03 -04:00
Dax Raad
bfffc3c2c6 tui: ensure TUI plugins load with proper project context when multiple directories are open
Fixes potential plugin resolution issues when switching between projects by wrapping
plugin loading in Instance.provide(). This ensures each plugin resolves dependencies
relative to its correct project directory instead of inheriting context from whatever
instance happened to be active.

Also reorganizes config loading code into focused modules (command.ts, managed.ts,
plugin.ts) to make the codebase easier to maintain and test.
2026-04-16 12:40:24 -04:00
opencode-agent[bot]
d82bc3a421 chore: generate 2026-04-16 16:26:12 +00:00
James Long
06afd33291
refactor(tui): improve workspace management (#22691) 2026-04-16 12:24:40 -04:00
Dax Raad
2b1696f1d1 Revert "tui: fix path comparison in theme installer to handle different path formats"
This reverts commit 8ab17f5ce0.
2026-04-16 11:28:19 -04:00
Dax Raad
8ab17f5ce0 tui: fix path comparison in theme installer to handle different path formats 2026-04-16 11:18:44 -04:00
Dax
675a46e23e
CLI perf: reduce deps (#22652) 2026-04-16 02:03:03 -04:00
Kit Langton
5011465c81
feat: unwrap tool namespaces to flat exports + barrel (#22762) 2026-04-16 03:56:54 +00:00
Kit Langton
f6cc228684
feat: unwrap cli-tui namespaces to flat exports + barrel (#22759) 2026-04-16 03:56:51 +00:00
Kit Langton
bd29004831
feat: enable type-aware no-misused-spread rule, fix 8 violations (#22749) 2026-04-16 03:50:50 +00:00
Kit Langton
1ca257e356
feat: unwrap config namespaces to flat exports + barrel (#22746) 2026-04-15 23:29:14 -04:00
Kit Langton
80f1f1b5b8
feat: enable type-aware no-floating-promises rule, fix all 177 violations (#22741) 2026-04-15 23:27:32 -04:00
Kit Langton
343a564183
feat: unwrap 11 util namespaces to flat exports + barrel (#22739) 2026-04-15 23:15:58 -04:00
Kit Langton
cf423d2769
fix: remove 10 unused type-only imports and declarations (#22696) 2026-04-16 02:17:59 +00:00
Kit Langton
cce05c1665
fix: clean up 49 unused variables, catch params, and stale imports (#22695) 2026-04-16 02:01:53 +00:00
Kit Langton
d6b14e2467
fix: prefix 32 unused parameters with underscore (#22694) 2026-04-15 21:56:23 -04:00
Kit Langton
1d81335ab5
feat: unwrap Provider namespace + improved automation script (#22690) 2026-04-15 21:44:46 -04:00
Kit Langton
f7d4665e40
fix: resolve oxlint warnings — suppress false positives, remove unused imports (#22687) 2026-04-15 21:33:54 -04:00
Kit Langton
bbdbc107ae
feat: unwrap Config namespace to flat exports + barrel (#22689) 2026-04-15 21:26:24 -04:00
Carlo Wood
a554fad232
fix(tui): Don't overwrite the agent that was specified on the command line (#20554) 2026-04-15 18:41:35 -05:00
Ariane Emory
d2ea6700aa
fix(core): Remove dead code and documentation related to the obsolete list tool. (#22672) 2026-04-15 17:44:53 -05:00
Dax
4ae7c77f8a
migrate: move flock and hash utilities to shared package (#22640) 2026-04-15 15:50:24 +00:00
Dax
be9432a893
shared package (#22626) 2026-04-15 14:26:20 +00:00
Sebastian
405b0b037c
handle non-throwing requests (#22604) 2026-04-15 14:29:09 +02:00
Kit Langton
f2525a63c9
add experimental question HttpApi slice (#22357) 2026-04-14 19:43:49 +00:00
Sebastian
a53fae1511
Fix diff line number contrast for built-in themes (#22464) 2026-04-14 19:59:41 +02:00
Kit Langton
43b37346b6
feat: add interactive burst to the TUI logo (#22098) 2026-04-13 19:36:28 -04:00
James Long
b22add292c
refactor(core): publish sync events to global event stream (#22347) 2026-04-13 16:51:59 -04:00
James Long
bf50d1c028
feat(core): expose workspace adaptors to plugins (#21927) 2026-04-13 13:33:13 -04:00
Kit Langton
f7c6943817
refactor(config): remove async facade exports (#22325) 2026-04-13 13:11:05 -04:00
Brendan Allan
94f71f59a3
core: make InstanceBootstrap into an effect (#22274)
Co-authored-by: Kit Langton <kit.langton@gmail.com>
2026-04-13 10:16:40 -04:00
Kit Langton
3eb6508a64
refactor: share TUI terminal background detection (#22297) 2026-04-13 10:05:37 -04:00
Dax
ca5f086759
refactor(server): simplify router middleware with next() (#21720) 2026-04-11 16:55:17 -04:00
ryan.h.park
63035f977f
fix: enable thinking for zhipuai-coding-plan & prevent Korean IME truncation (#22041)
Co-authored-by: claudianus <claudianus@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-11 15:51:49 -05:00
James Long
180ded6a27
rector(core,tui): handle workspace state in project context, add workspace status, improve ui (#21896) 2026-04-10 13:03:20 -04:00
James Long
42206da1f8
refactor(tui): switch to global events and start passing workspace param (#21719) 2026-04-10 10:47:27 -04:00
Kit Langton
581a7692ff
fix(tui): restore hidden session scrollbar default (#20947) 2026-04-09 13:01:08 -04:00
Aiden Cline
489f57974d
feat: add opencode go upsell modal when limits are hit (#21583)
Co-authored-by: Frank <frank@anoma.ly>
2026-04-09 02:16:29 -04:00
Brendan Allan
ee23043d64
Remove CLI from electron app (#17803)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-04-09 13:18:46 +08:00
Kit Langton
ae614d919f
fix(tui): simplify console org display (#21339)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-04-07 21:03:24 -04:00
Dax
b7fab49b64
refactor(snapshot): store unified patches in file diffs (#21244)
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
2026-04-07 19:48:23 -04:00
Ariane Emory
e945436b6f
feat(tui): allow variant_list keybind for the "Switch model variant" command (#21185)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-07 14:46:04 -05:00
Ariane Emory
2549a38a71
fix(tui): use sentence case for theme mode command palette items (#21192)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-07 12:25:13 -05:00
James Long
5d48e7bd44
refactor(core): support multiple event streams in worker and remove workspaces from plugin api (#21348) 2026-04-07 13:22:34 -04:00
Dax
1f94c48bdd
fix(opencode): keep user message variants scoped to model (#21332) 2026-04-07 10:12:53 -04:00
gitpush-gitpaid
3c96bf8468
feat(opencode): Add PDF attachment Drag and Drop (#16926)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-04-07 04:39:59 +00:00
Luke Parker
a4a9ea4ab0
fix(tui): revert kitty keyboard events workaround on windows (#20180) 2026-04-06 07:04:50 +00:00
MC
eaa272ef7f
fix: show clear error when Cloudflare provider env vars are missing (#20399)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-04-06 05:26:04 +00:00
Luke Parker
77a462c930
fix(tui): default Ctrl+Z to undo on Windows (#21138) 2026-04-06 02:38:35 +00:00
Gautier DI FOLCO
4712c18a58
feat(tui): make the mouse disablable (#6824, #7926) (#13748) 2026-04-05 21:14:11 -05:00
Kit Langton
c6ebc7ff7c
fix(tui): only show org switch affordances when useful (#21054) 2026-04-04 19:25:37 -04:00
Kit Langton
6ea108a03b
feat(tui): show console-managed providers (#20956) 2026-04-04 19:05:45 -04:00
Kit Langton
7994dce0f2
refactor(effect): resolve built tools through the registry (#20787) 2026-04-03 10:31:00 -04:00
Dax
aa2239d5de
add automatic heap snapshots for high-memory cli processes (#20788) 2026-04-03 02:34:33 +00:00
Sebastian
6e1400fc45
dialog aware prompt cursor (#20753) 2026-04-02 23:20:56 +02:00
Sebastian
29f7dc073b
Adds TUI prompt traits, refs, and plugin slots (#20741) 2026-04-02 22:11:17 +02:00
Aiden Cline
df1c6c9e8d
tui: add consent dialog when sharing for the first time (#20525) 2026-04-02 01:58:57 +00:00
Kit Langton
c526caae7b
fix: show model display name in message footer and transcript (#20539) 2026-04-02 00:17:38 +00:00
Sebastian
f6fd43e574
Refactor plugin/config loading, add theme-only plugin package support (#20556) 2026-04-01 23:50:22 +00:00
Luke Parker
802d165572
chore(tui): clean up scroll config follow-up (#20561) 2026-04-02 09:36:49 +10:00
Luke Parker
f7f41dc3a0
fix(tui): apply scroll configuration uniformly across all scrollboxes (#14735) 2026-04-02 09:15:19 +10:00
Luke Parker
fa96cb9c6e
Fix selection expansion by retaining focused input selections during global key events (#20205) 2026-04-02 08:43:40 +10:00
Dax Raad
d58004a864 fall back to first agent if last used agent is not available 2026-04-01 11:09:29 -04:00
Sebastian
25a2b739e6
warn only and ignore plugins without entrypoints, default config via exports (#20284) 2026-03-31 17:14:03 +02:00
Sebastian
1fcb920eb4
upgrade opentui to 0.1.93 (#19950) 2026-03-31 16:50:23 +02:00
Kit Langton
bf777298c8
fix(theme): darken muted text in catppuccin tui themes (#20161) 2026-03-30 21:06:05 -04:00
Sebastian
fa95a61c4e
Refactor into plugin loader and do not enforce (#20112) 2026-03-30 20:36:21 +02:00
Sebastian
14f9e21d5c
pluggable home footer (#20057) 2026-03-30 14:33:01 +02:00
Sebastian
8e4bab5181
update plugin themes when plugin was updated (#20052) 2026-03-30 13:51:07 +02:00
Luke Parker
186af2723d
make variant modal less annoying (#19998) 2026-03-30 15:42:38 +10:00
Sebastian
5d2dc8888c
theme colors for dialog textarea placeholders (#19939) 2026-03-29 21:37:46 +02:00
Kit Langton
ba00e9a993
Fix variant dialog filtering (#19917) 2026-03-29 16:43:13 +00:00
Sebastian
38af99dcb4
prompt slot (#19563) 2026-03-29 00:27:27 +01:00
Sebastian
77d4f99497
use theme color for prompt placeholder (#19535) 2026-03-28 17:20:37 +01:00
Dax
aa2d753e7e
feat: dialog variant menu and subagent improvements (#19537) 2026-03-28 16:16:00 +00:00
Dax
2b86b36c8c
feat: open dialog for model variant selection instead of cycling (#19534) 2026-03-28 15:37:20 +00:00
Sebastian
8ac2fbbd12
kv theme before default fallback (#19523) 2026-03-28 15:54:54 +01:00
Dax Raad
6c14ea1d22 tweak(session): add top spacing and remove obsolete docs prompt 2026-03-28 01:56:11 -04:00
Dax
c3a9ec4a99
fix: restore subagent footer and fix style guide violations (#19491) 2026-03-28 01:46:29 -04:00
Dax
41b0d03f6a
feat: add model variant selection dialog (#19488) 2026-03-28 01:21:28 -04:00
Dax
81eb6e670b
refactor(prompt): remove variant cycle display from footer (#19489) 2026-03-28 01:21:16 -04:00
Dax
8446719b13
refactor(session): move context into prompt footer (#19486) 2026-03-28 01:05:18 -04:00
Sebastian
f3997d8082
Single target plugin entrypoints (#19467) 2026-03-27 23:44:46 +00:00
Sebastian
6274b0677c
tui plugins (#19347) 2026-03-27 15:00:26 +01:00
Kit Langton
28f5176ffd
effectify Config service (#19139) 2026-03-26 13:07:01 -04:00
James Long
38450443b1
feat(core): remove workspace server, WorkspaceContext, start work towards better routing (#19316) 2026-03-26 12:30:26 -04:00
Dax
83ed1c4414
tui: bypass local SSE event streaming in worker (#19183) 2026-03-26 14:41:36 +00:00
Luke Parker
1a4a6eabe2
fix(opencode): image paste on Windows Terminal 1.25+ with kitty keyboard (#17674) 2026-03-26 12:00:38 +10:00
James Long
b0017bf1b9
feat(core): initial implementation of syncing (#17814) 2026-03-25 10:47:40 -04:00
Dax
15dc33d1a3
feat(tui): add heap snapshot functionality for TUI and server (#19028) 2026-03-24 18:20:11 -04:00
Dax
56644be95a
fix(core): restore SIGHUP exit handler (#16057) (#18527) 2026-03-24 17:42:58 -04:00
Sebastian
d3debc191f
manually lock/unlock theme mode (#18905) 2026-03-24 10:00:19 +01:00
Sebastian
ad78b79b8a
use renderer theme mode to switch dark/light mode (#18851) 2026-03-24 00:32:48 +01:00
Sebastian
71e7603d71
Upgrade opentui to 0.1.90 (#18551) 2026-03-23 01:45:34 +01:00
Dax
e2d03ce38c
feat: interactive update flow for non-patch releases (#18662) 2026-03-22 23:12:40 +00:00
Sebastian
040f551c57
Upgrade opentui to 0.1.88 (#18079) 2026-03-21 19:00:42 +00:00
Kit Langton
38e0dc9ccd
Move service state into InstanceState, flatten service facades (#18483) 2026-03-21 04:51:35 +00:00
Kit Langton
214a6c6cf1
fix: switch consumers to service imports to break bundle cycles (#18438) 2026-03-20 20:55:46 +00:00
Dax Raad
5c6ec1caac fix question cross out 2026-03-20 15:50:04 -04:00
Dax
ddcb32ae0b
refactor(tui): replace Bun-specific APIs with portable alternatives (#18304) 2026-03-19 19:32:59 -04:00
Dax
63585db6a7
refactor: replace Bun.sleep with node:timers/promises sleep (#18301) 2026-03-19 18:50:40 -04:00
Kit Langton
0d7e62a532
fix forked prompt attachments losing file parts (#17815) 2026-03-19 12:00:32 -04:00
Aiden Cline
171e69c2fc
feat: integrate support for multi step auth flows for providers that require additional questions (#18035) 2026-03-18 11:36:19 -05:00
Kyle Altendorf
a64f604d54
fix(tui): check for selected text instead of any selection in dialog escape handler (#16779) 2026-03-17 10:25:03 +10:00
AbigailJixiangyuyu
e9a17e4480
fix(windows): restore /editor support on Windows (#17146) 2026-03-17 08:11:02 +10:00
Aiden Cline
3016efba47
tweak: rm openrouter warning (#17259) 2026-03-12 19:42:31 -05:00
Kit Langton
090f636354
feat(id): brand PartID through Drizzle and Zod schemas (#16966) 2026-03-11 23:40:50 +00:00
Kit Langton
16a6d6feba
feat(id): brand WorkspaceID through Drizzle and Zod schemas (#16964) 2026-03-11 23:30:17 +00:00
Kit Langton
cb67465675
feat(id): brand SessionID through Drizzle and Zod schemas (#16953) 2026-03-11 23:16:56 +00:00
Dax
613562f504
core: make account login upgrades safe while adding multi-account workspace auth (#15487)
Co-authored-by: Kit Langton <kit.langton@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 12:53:47 -04:00
James Long
a4330a225d
feat(core): allow passing workspaceID into session create endpoint (#16798) 2026-03-10 11:12:51 -04:00
Dax Raad
89d6f60d25 refactor(server): extract createApp function for server initialization
- Replace Server.App() with Server.Default() for internal server access
- Extract server app creation into Server.createApp(opts) for testability
- Move CORS whitelist from module-level variable to function parameter
- Update all tests to use Server.Default() instead of Server.App()
2026-03-09 17:13:52 -04:00
James Long
86cef16940
fix(core): put workspace routing behind OPENCODE_EXPERIMENTAL_WORKSPACES flag (#16775) 2026-03-09 16:14:19 -04:00
Kyle Altendorf
b312928e9f
fix(tui): wait for model store before auto-submitting --prompt (#7476) 2026-03-09 14:22:38 -05:00
Dax
2f2856e20a
refactor(opencode): replace Bun shell in core flows (#16286) 2026-03-09 15:19:50 -04:00
James Long
f20ee2fad2
fix(tui): handle error when creating a session (#16767) 2026-03-09 12:13:32 -04:00
James Long
366b8a8034
feat(tui): add initial support for workspaces into the tui (#16230) 2026-03-09 10:28:04 -04:00
Sebastian
49a3a9fe36
guard tui exit (#16640) 2026-03-08 23:14:41 +01:00
Luke Parker
e51ed460a6
fix(tui): canonicalize cwd after chdir (#16641) 2026-03-09 07:57:48 +10:00
tobwen
13a68f3de3
fix(opencode): avoid TTY corruption from double cleanup (#16565)
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
2026-03-08 13:55:33 +05:30
Nate Williams
5b5b791d75
fix(tui): fix broken /export toggling (#16443) 2026-03-07 12:52:17 +05:30
Luke Parker
8a95be492d
fix(windows): git path resolution for modified files across Git Bash, MSYS2, and Cygwin (#16422) 2026-03-07 15:42:14 +10:00
Dax
326c70184d
fix: restore Bun stdin reads for prompt input (#16300) 2026-03-06 02:08:10 -05:00
Dax
74effa8eec
refactor(opencode): replace Bun.which with npm which (#15012) 2026-03-06 05:18:29 +00:00