Commit graph

926 commits

Author SHA1 Message Date
Kit Langton
daaa2e5911
feat(httpapi): bridge session lifecycle routes (#24486) 2026-04-26 11:50:26 -04:00
opencode-agent[bot]
daff119fe4 chore: generate 2026-04-26 15:50:09 +00:00
Kit Langton
e0d1ff42c0
feat(httpapi): bridge session read routes (#24485) 2026-04-26 11:49:11 -04:00
Kit Langton
da61b0290a
feat(httpapi): bridge sync routes (#24484) 2026-04-26 11:31:46 -04:00
opencode-agent[bot]
854d4b7a53 chore: generate 2026-04-26 15:13:18 +00:00
Kit Langton
aa5999b188
feat(httpapi): bridge workspace mutations (#24483) 2026-04-26 11:12:04 -04:00
Kit Langton
6daa2b9aeb
feat(httpapi): bridge experimental session list (#24478) 2026-04-26 10:47:24 -04:00
Aiden Cline
e7053c41f4
fix: bump openrouter sdk version to resolve deepseek reasoning issue (bug was in sdk pkg) (#24435) 2026-04-26 00:05:16 -05:00
Kit Langton
f2d4d816fb
test(provider): avoid plugin dependency install timeout (#24416) 2026-04-26 02:11:25 +00:00
opencode-agent[bot]
097d930668 chore: generate 2026-04-26 01:55:57 +00:00
Kit Langton
7cab6824d1
feat(httpapi): bridge experimental tool routes (#24407) 2026-04-25 21:54:58 -04:00
Kit Langton
450128f9be
feat(httpapi): bridge mcp oauth endpoints (#24405) 2026-04-25 19:27:11 -04:00
Kit Langton
a14c22d4e9
feat(httpapi): bridge mcp control endpoints (#24403) 2026-04-25 19:16:19 -04:00
Kit Langton
58c65874ba
feat(httpapi): bridge project update endpoint (#24398) 2026-04-25 18:55:49 -04:00
Kit Langton
5904f599a9
feat(httpapi): bridge project git init endpoint (#24394) 2026-04-25 18:42:02 -04:00
Kit Langton
df9e1d9854
feat(httpapi): bridge config update endpoint (#24387) 2026-04-25 17:52:34 -04:00
Kit Langton
a369130226
feat(httpapi): bridge worktree mutations (#24371) 2026-04-25 15:35:15 -04:00
Kit Langton
b4f4134e81
feat(httpapi): bridge instance dispose endpoint (#24368) 2026-04-25 15:24:07 -04:00
Kit Langton
b749866f0b
feat(httpapi): bridge worktree read endpoint (#24366) 2026-04-25 14:55:29 -04:00
Kit Langton
95d4bb2130
feat(httpapi): bridge experimental read endpoints (#24365) 2026-04-25 14:46:06 -04:00
Dax Raad
f5dce6d960 core: move npm service to core package for shared dependency management 2026-04-25 14:36:15 -04:00
Dax Raad
1e98167b0e core: move cross-spawn-spawner to root and remove unused types
The cross-spawn-spawner module has been moved from src/effect/ to src/
to simplify the core package structure. The src/types.d.ts file which
contained unused type declarations has also been removed. All imports
throughout the codebase have been updated to reflect the new location.

This change reduces the package's internal complexity by flattening the
module hierarchy and removing dead code, making future maintenance easier.
2026-04-25 14:30:16 -04:00
Dax Raad
3eee2f6afa core: move cross-spawn-spawner from opencode to core package
Moved the cross-spawn-spawner module from packages/opencode to packages/core
to enable code sharing across the monorepo. This consolidates the process
spawning infrastructure into the core package so other packages can use
cross-platform child process spawning without duplicating the implementation.

Updated all import statements across the codebase to reference the new
location (@opencode-ai/core/effect/cross-spawn-spawner). Removed the
local copy from the opencode package along with its tests.
2026-04-25 14:23:17 -04:00
Kit Langton
05661c60ff
feat(httpapi): bridge file search endpoints (#24356) 2026-04-25 14:12:54 -04:00
Kit Langton
625aca49de
feat(tui): read Zed editor context from state db (#24352) 2026-04-25 18:10:58 +00:00
Kit Langton
eb0219988b
feat(httpapi): bridge catalog read endpoints (#24353) 2026-04-25 14:00:30 -04:00
Dax Raad
705f792e87 core: move Global module to @opencode-ai/core for centralized path management
Move the Global module from packages/opencode/src/global to packages/core/src/global
to provide a unified location for managing XDG directories and application paths.
This eliminates duplicate path definitions across packages and ensures consistent
access to data, config, cache, state, log, and bin directories throughout the codebase.
2026-04-25 13:52:32 -04:00
Dax Raad
1a734adb4d core: consolidate shared infrastructure into core package
Moves effect logging, observability, runtime utilities, flags, installation
version info, and process utilities from opencode to core package. This
enables better code sharing across packages and establishes core as the
single source of truth for foundational utilities.

All internal imports updated to use @opencode-ai/core paths for consistency.
2026-04-25 13:30:37 -04:00
Kit Langton
a9740b9133
fix(config): preserve permission order with Effect decode (#24308) 2026-04-25 13:30:12 -04:00
Dax
62ef2a2207
refactor: rename shared package to core (#24309) 2026-04-25 10:59:17 -04:00
Kit Langton
d5bfaef53d
feat(httpapi): bridge instance read endpoints (#24258) 2026-04-25 10:42:31 -04:00
Dax
66f93035b0
fix permission config order (#24222) 2026-04-25 13:18:42 +00:00
Simon Klee
9ff999cc2b
tool/lsp: include request details in permission metadata (#24139) 2026-04-25 14:21:35 +02:00
Kit Langton
4877eccc0d
Fix shell cwd after login startup (#24215) 2026-04-25 01:14:52 -04:00
opencode-agent[bot]
5cd178ba70 chore: generate 2026-04-24 22:05:23 +00:00
Kit Langton
97eb9fdee8
test(httpapi): cover hono bridge middleware (#24216) 2026-04-24 18:03:51 -04:00
Kit Langton
011c23761b
feat(httpapi): bridge mcp status endpoint (#24100) 2026-04-24 09:18:57 -04:00
Kit Langton
9f7ecd65e5
feat(httpapi): bridge file read endpoints (#24098) 2026-04-24 09:12:05 -04:00
rahul
f8c6ddd4cb
feat(truncate): allow configuring tool output truncation limits (#23770)
Co-authored-by: rgs_ramp <rgs@ramp.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-23 17:43:33 -04:00
Kit Langton
e50a688ca3
feat(httpapi): bridge workspace read endpoints (#24062) 2026-04-23 17:32:02 -04:00
Aiden Cline
334ab4707c
fix: account for additional openai retry case (#24063) 2026-04-23 17:31:43 -04:00
Kit Langton
3910a6e527
refactor(tool): migrate tool framework + all 18 built-in tools to Effect Schema (#23244) 2026-04-23 16:09:34 -04:00
Kit Langton
cd93533b1f
refactor(bus): migrate BusEvent to Effect Schema (#24040) 2026-04-23 15:37:44 -04:00
Kit Langton
c50d65b4d6
refactor(sync): make session events schema-first (#24019) 2026-04-23 12:43:08 -04:00
opencode-agent[bot]
353532b1c1 chore: generate 2026-04-23 16:00:01 +00:00
Shoubhit Dash
9df7c78ebe
fix(npm): respect npmrc for version lookups (#24016) 2026-04-23 21:28:54 +05:30
Kit Langton
0517ab4695
refactor(session): migrate session domain to Effect Schema (#24005) 2026-04-23 11:30:02 -04:00
Shoubhit Dash
38deb0f3ee
fix(npm): respect npmrc config (#24001) 2026-04-23 19:54:01 +05:30
Brendan Allan
6002500bc0
feat(project): add icon_url_override field to projects (#23955) 2026-04-23 18:57:04 +08:00
Luke Parker
e383df4b17 feat: support pull diagnostics in the LSP client (C#, Kotlin, etc) (#23771) 2026-04-23 00:25:40 -04:00
Steven T. Cramer
3a082a0efd fix(project): use git common dir for bare repo project cache (#19054) 2026-04-23 00:25:39 -04:00
opencode-agent[bot]
504fd1b373 chore: generate 2026-04-23 00:25:39 -04:00
Shoubhit Dash
574b2c2170 fix(session): improve session compaction (#23870) 2026-04-23 00:25:38 -04:00
opencode-agent[bot]
71d196d3cd chore: generate 2026-04-23 00:25:37 -04:00
Luke Parker
20756e0ee4 test: fix cross-spawn stderr race on Windows CI (#23808) 2026-04-23 00:25:37 -04:00
opencode-agent[bot]
894e638914 chore: generate 2026-04-23 00:25:37 -04:00
Luke Parker
8113a4360e fix: preserve BOM in text tool round-trips (#23797) 2026-04-23 00:25:36 -04:00
Kit Langton
e89543811c
refactor(core): migrate MessageV2 message DTOs (User/Assistant/Part/Info/WithParts) to Effect Schema (#23757) 2026-04-21 23:26:12 -04:00
Kit Langton
b0f565b74a
refactor(core): migrate ConfigPermission.Info to Effect Schema canonical (#23740) 2026-04-21 17:33:13 -04:00
Kit Langton
2ae64f426b
refactor(core): migrate MessageV2.Format to Effect Schema (#23744) 2026-04-21 17:30:08 -04:00
Ruben De Smet
1a20703469
feat: add Mistral Small reasoning variant support (issue #19479) (#23735) 2026-04-21 16:45:06 -04:00
Kit Langton
ecc06a3d8f
refactor(core): make Config.Info canonical Effect Schema (#23716) 2026-04-21 14:06:47 -04:00
Kit Langton
9579429276
test(opencode): consolidate session prompt tests into Effect style (#23710) 2026-04-21 15:54:40 +00:00
Aiden Cline
2486621ca1
chore: kill unused tool (#23701) 2026-04-21 11:31:20 -04:00
opencode-agent[bot]
f3d5a71620 chore: generate 2026-04-20 06:07:28 +00:00
Aiden Cline
c6c56ac2cf
tweak: rename tail_tokens -> preserve_recent_tokens (#23491) 2026-04-20 01:06:29 -05:00
opencode-agent[bot]
84e322b0fd chore: generate 2026-04-20 05:15:29 +00:00
Aiden Cline
8bc4f91fd9
fix: parallel edits sometimes would override each other (#23483) 2026-04-20 00:14:21 -05:00
Dax Raad
b9640fc7e4 core: fix session compaction test to properly enable prune config option 2026-04-19 19:53:43 -04:00
Dax Raad
5ae74aa881 Merge branch 'nxl/improve-compaction-strategy' into dev 2026-04-19 19:38:46 -04:00
Aiden Cline
78ca49a1bc
test: fix bedrock test (#23351) 2026-04-18 17:46:15 -05:00
Kit Langton
9918f389e7
fix: detect attachment mime from file contents (#23291) 2026-04-18 11:59:08 -04:00
opencode-agent[bot]
dd8c424806 chore: generate 2026-04-18 15:21:48 +00:00
Dax Raad
078d8a07cf core: support OTEL_RESOURCE_ATTRIBUTES environment variable for custom telemetry attributes
Users can now pass custom OpenTelemetry resource attributes via the OTEL_RESOURCE_ATTRIBUTES environment variable (comma-separated key=value format). These attributes are automatically included in all telemetry data sent from both the main process and workspace environments, enabling better observability integration with existing monitoring systems that rely on custom resource tags.
2026-04-18 11:20:29 -04:00
Dax Raad
55315bdffa tui: fix sync loading indicator to properly show loading state on startup 2026-04-18 10:39:10 -04:00
Dax Raad
882b8e1e75 core: track retry attempts with detailed error context on assistant entries
users can now see when transient failures occur during assistant responses,
such as rate limits or provider overloads, giving visibility into what
issues were encountered and automatically resolved before the final response
2026-04-18 10:38:35 -04:00
opencode-agent[bot]
95edbc0ae6 chore: generate 2026-04-18 05:49:37 +00:00
Dax Raad
11cd4fb639 core: extract session entry stepping logic into dedicated module
Move the step function from session-entry.ts to session-entry-stepper.ts and remove immer dependency. Add static fromEvent factory methods to Synthetic, Assistant, and Compaction classes for cleaner event-to-entry conversion.
2026-04-18 01:48:21 -04:00
Aiden Cline
9c16bd1e30
fix: make skills logic more token efficient (#23253) 2026-04-17 23:51:16 -05:00
opencode-agent[bot]
daaa1c7e26 chore: generate 2026-04-18 02:03:30 +00:00
Kit Langton
1fae784b81
feat(effect-zod): add ZodPreprocess annotation for pre-parse transforms (#23222) 2026-04-18 02:02:37 +00:00
Kit Langton
e6fd57165e
refactor: remove ambient instance reads from lsp (#23023) 2026-04-17 21:47:59 -04:00
opencode-agent[bot]
f52ae28432 chore: generate 2026-04-18 00:56:33 +00:00
Kit Langton
36119ff173
feat(effect-zod): translate Schema.withDecodingDefault into zod .default() (#23207) 2026-04-17 20:55:38 -04:00
Kit Langton
bb90f3bbf9
feat(effect-zod): translate well-known filters into native Zod methods (#23209) 2026-04-17 20:50:36 -04:00
Kit Langton
05cdb7c107 refactor(v2): tag session unions and exhaustively match events (#23201) 2026-04-18 00:29:26 +00:00
Kit Langton
211136e3a8 feat(effect-zod): transform support + walk memoization + flattened checks (#23203) 2026-04-18 00:29:26 +00:00
Kit Langton
eafbe5c57c refactor(server): align route-span attrs with OTel semantic conventions (#23198) 2026-04-18 00:29:26 +00:00
Kit Langton
7b98f544ff feat(effect-zod): add catchall (StructWithRest) support to the walker (#23186) 2026-04-18 00:29:26 +00:00
Kit Langton
d5c4c26b4b feat(server): auto-tag route spans with route params (session.id, message.id, …) (#23189) 2026-04-18 00:29:26 +00:00
Kit Langton
5980b0a5ee
feat(effect-zod): add tuple support; migrate config/plugin to Effect Schema (#23178) 2026-04-17 21:06:55 +00:00
opencode-agent[bot]
dc16013b4f chore: generate 2026-04-17 20:47:05 +00:00
Kit Langton
e7686dbd64
feat(effect-zod): translate Schema.check filters into zod .superRefine + promote LSP refinement to Effect layer (#23173) 2026-04-17 20:46:05 +00:00
Kit Langton
68834cfcc3
fix(opencode): normalize provider metadata and tag otel runs (#23140) 2026-04-17 15:22:08 -04:00
Dax
467be08e67
refactor: consolidate npm exports and trace flock acquisition (#23151) 2026-04-17 18:58:37 +00:00
Dax Raad
b1f076558c test: align plugin loader npm mocks
- switch plugin loader tests to the effect npm module
- return Option.none() for mocked npm entrypoints
- keep test fixtures aligned with the current Npm.add contract
2026-04-17 14:33:02 -04:00
Dax Raad
2f73e73e9d trace npm fully 2026-04-17 14:08:45 -04:00
James Long
a8c78fc005
fix(core): add historical sync on workspace connect (#23121) 2026-04-17 13:30:09 -04:00
Ismail Ghallou
3fe602cda3
feat: add LLM Gateway provider (#7847)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-04-17 10:29:31 -05:00
James Long
7605acff65
refactor(core): move server routes around to clarify workspacing (#23031) 2026-04-17 02:06:20 -04:00
Aiden Cline
76a141090e
chore: delete filetime module (#22999) 2026-04-16 23:31:21 -05:00
Brendan Allan
a4882290aa
Merge branch 'dev' into nxl/improve-compaction-strategy 2026-04-17 11:53:17 +08: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
opencode-agent[bot]
dc38f22bd8 chore: generate 2026-04-17 02:34:07 +00:00
Dax
220e3e9a2b
refactor: make formatter config opt-in (#22997) 2026-04-17 02:33:09 +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
Kit Langton
f592c3846b
refactor: convert Flag namespace to const object with getters (#22984) 2026-04-17 01:57:21 +00:00
Kit Langton
c026e25088
refactor: eliminate account/ barrel, route consumers to sibling files (#22995) 2026-04-17 01:55:50 +00:00
Kit Langton
9c87a144e8
refactor: normalize AccountRepo to canonical Effect service pattern (#22991) 2026-04-17 01:43:57 +00:00
Kit Langton
5d47ea0918
refactor: unwrap ConfigMCP namespace + self-reexport (#22948) 2026-04-16 19:52:04 -04:00
Kit Langton
2638e2acfa
refactor: collapse plugin barrel into plugin/index.ts (#22914) 2026-04-16 20:37:13 +00:00
Kit Langton
1c33b866ba
fix: remove 10 more unnecessary as any casts in opencode core (#22882) 2026-04-16 20:11:05 +00:00
Kobi Hudson
5e650fd9e2
fix(opencode): drop max_tokens for OpenAI reasoning models on Cloudflare AI Gateway (#22864)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-16 15:01:21 -05:00
Aiden Cline
47e0e2342c
tweak: set display 'summarized' by default for opus 4.7 thorugh messages api (#22873) 2026-04-16 14:12:43 -05:00
Dax
9afbdc102c
fix(test): make plugin loader theme source path separator-safe (#22870) 2026-04-16 14:45:17 -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
Aiden Cline
c5deeee8c7
fix: ensure azure has store = true by default (#22764) 2026-04-16 12:19:01 -05:00
Dax Raad
33bb847a1d config: refactor 2026-04-16 12:40:24 -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
James Long
06afd33291
refactor(tui): improve workspace management (#22691) 2026-04-16 12:24:40 -04:00
James Long
305460b25f
fix: add a few more tests for sync and session restore (#22837) 2026-04-16 12:15:44 -04:00
Graham Campbell
378c05f202
feat: Add support for claude opus 4.7 xhigh adaptive reasoning effort (#22833)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-16 10:57:36 -05:00
Shoubhit Dash
42771c1db3 fix(compaction): budget retained tail with media 2026-04-16 17:30:29 +05:30
Shoubhit Dash
2e18a603f0 merge dev 2026-04-16 17:30:14 +05:30
Dax
ef90b93205
fix: restore .gitignore logic for config dirs and migrate to shared Npm service (#22772) 2026-04-16 03:14:06 -04:00
Dax
675a46e23e
CLI perf: reduce deps (#22652) 2026-04-16 02:03:03 -04:00
Kit Langton
6b20838981
feat: unwrap provider namespaces to flat exports + barrel (#22760) 2026-04-16 05:02:50 +00:00
Kit Langton
5011465c81
feat: unwrap tool namespaces to flat exports + barrel (#22762) 2026-04-16 03:56:54 +00:00
Kit Langton
9f4b73b6a3
fix: clean up final 16 no-unused-vars warnings (#22751) 2026-04-16 03:54:21 +00:00
Kit Langton
8aa0f9fe95
feat: enable type-aware no-base-to-string rule, fix 56 violations (#22750) 2026-04-16 03:50:47 +00:00
Kit Langton
509bc11f81
feat: unwrap lsp namespaces to flat exports + barrel (#22748) 2026-04-15 23:30:52 -04:00
Kit Langton
f24207844f
feat: unwrap storage namespaces to flat exports + barrel (#22747) 2026-04-15 23:30:49 -04:00
Kit Langton
1ca257e356
feat: unwrap config namespaces to flat exports + barrel (#22746) 2026-04-15 23:29:14 -04:00
Kit Langton
d4cfbd020d
feat: unwrap effect namespaces to flat exports + barrel (#22745) 2026-04-15 23:29:12 -04:00
Kit Langton
581d5208ca
feat: unwrap share namespaces to flat exports + barrel (#22744) 2026-04-15 23:28:46 -04:00
Kit Langton
a427a28fa9
feat: unwrap project namespaces to flat exports + barrel (#22743) 2026-04-15 23:28:46 -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
702f741267
feat: enable oxlint suspicious category, fix 24 violations (#22727) 2026-04-16 02:53:10 +00:00
Kit Langton
379e40d772
feat: unwrap InstanceState + EffectBridge namespaces to flat exports + barrel (#22721) 2026-04-16 02:45:45 +00:00
Kit Langton
6c7e9f6f3a
refactor: migrate Effect call sites from Flock to EffectFlock (#22688) 2026-04-16 02:39:59 +00:00
Kit Langton
cf423d2769
fix: remove 10 unused type-only imports and declarations (#22696) 2026-04-16 02:17:59 +00:00
Kit Langton
5ae91aa810
feat: unwrap uplugin namespace to flat exports + barrel (#22711) 2026-04-16 02:15:19 +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
34213d4446
fix: delete 9 dead functions with zero callers (#22697) 2026-04-16 02:01:02 +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