Commit graph

622 commits

Author SHA1 Message Date
Aiden Cline
6aa8e894b1
chore: rm broken codesearch tool (#24992) 2026-04-29 13:15:44 -05:00
Kit Langton
6015084fa2
Prepare Effect HttpApi backend parity (#24853) 2026-04-29 09:34:50 -04:00
opencode-agent[bot]
91bd295209 chore: generate 2026-04-28 23:11:59 +00:00
Luke Parker
d4bf70be06
fix(bash): memory leak - release parsed syntax trees (#24861)
Co-authored-by: jiwenshang <jiwenshang@xiaohongshu.com>
2026-04-28 23:10:48 +00:00
Dax
f25f1485d5
refactor: remove module barrels (#24554) 2026-04-27 14:33:33 -04:00
opencode-agent[bot]
2789b770aa chore: generate 2026-04-27 05:40:37 +00:00
Luke Parker
8718b98ee1
fix: pass workspace symbol query to experimental LSP tool (#24576) 2026-04-27 05:39:36 +00:00
Luke Parker
141f33d24b
feat: configurable shell selection + desktop settings UI (#20602) 2026-04-27 00:54:55 +00:00
Kit Langton
95d4bb2130
feat(httpapi): bridge experimental read endpoints (#24365) 2026-04-25 14:46:06 -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
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
Dax
62ef2a2207
refactor: rename shared package to core (#24309) 2026-04-25 10:59:17 -04:00
Simon Klee
9ff999cc2b
tool/lsp: include request details in permission metadata (#24139) 2026-04-25 14:21:35 +02:00
Kyle Altendorf
bb3509b5ff
fix(opencode): clarify git amend condition to require verifying commit landed (#19937)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
2026-04-24 17:42:10 -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
opencode-agent[bot]
3f8c659056 chore: generate 2026-04-23 20:10:56 +00: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
0517ab4695
refactor(session): migrate session domain to Effect Schema (#24005) 2026-04-23 11:30:02 -04:00
Luke Parker
e383df4b17 feat: support pull diagnostics in the LSP client (C#, Kotlin, etc) (#23771) 2026-04-23 00:25:40 -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
ad7ae7353f
refactor(core): derive all schema.ts leaves' .zod via effect-zod walker (#23754) 2026-04-21 22:51:18 -04:00
Kit Langton
0bcf734a67
migrate Snapshot schemas to Effect Schema (#23747) 2026-04-21 17:37:27 -04:00
Aiden Cline
2486621ca1
chore: kill unused tool (#23701) 2026-04-21 11:31:20 -04:00
Luke Parker
92c005866b
fix(core): use file:// URLs for local dynamic import() on Windows+Node (#23639) 2026-04-21 07:54:53 +00:00
Aiden Cline
8bc4f91fd9
fix: parallel edits sometimes would override each other (#23483) 2026-04-20 00:14:21 -05:00
opencode-agent[bot]
c5c38cad9c chore: generate 2026-04-18 16:00:01 +00:00
Kit Langton
9918f389e7
fix: detect attachment mime from file contents (#23291) 2026-04-18 11:59:08 -04:00
Aiden Cline
9c16bd1e30
fix: make skills logic more token efficient (#23253) 2026-04-17 23:51:16 -05:00
rasdani
fde3d9133b
fix(opencode): pass EXA_API_KEY to websearch tool to avoid rate limits (#16362)
Co-authored-by: Dax Raad <d@ironbay.co>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-17 11:28:23 -05:00
Aiden Cline
76a141090e
chore: delete filetime module (#22999) 2026-04-16 23:31:21 -05:00
Jason Quense
7b3bb9a761
fix: preserve plugin tool metadata in execute result (#22827)
Co-authored-by: jquense <jquense@ramp.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-04-16 21:38:21 -05:00
Kit Langton
5d47ea0918
refactor: unwrap ConfigMCP namespace + self-reexport (#22948) 2026-04-16 19:52:04 -04:00
opencode-agent[bot]
c8af8f96ce chore: generate 2026-04-16 03:57:53 +00:00
Kit Langton
5011465c81
feat: unwrap tool namespaces to flat exports + barrel (#22762) 2026-04-16 03:56:54 +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
d4cfbd020d
feat: unwrap effect namespaces to flat exports + barrel (#22745) 2026-04-15 23:29:12 -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
cce05c1665
fix: clean up 49 unused variables, catch params, and stale imports (#22695) 2026-04-16 02:01:53 +00: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
Aiden Cline
307251bf3c
fix: bash memory usage (#22660) 2026-04-15 20:09:06 -05:00
Kit Langton
3d6f90cb53
feat: add oxlint with correctness defaults (#22682) 2026-04-15 20:45:19 -04:00
Kit Langton
4dd0d1f67e
refactor(opencode): use AppFileSystem path helpers (#22637) 2026-04-15 19:36:30 -04: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
Kit Langton
250e30bc7d
add experimental permission HttpApi slice (#22385) 2026-04-15 21:28:01 +00:00
Kit Langton
685d79e953
feat(opencode): trace tool execution spans (#22531) 2026-04-15 10:49:47 -04:00
Dax
be9432a893
shared package (#22626) 2026-04-15 14:26:20 +00:00
Dax Raad
627159acac delete all e2e tests (#22501)
Cherry-picked from ea463e604c
2026-04-14 23:10:25 -04:00
Kit Langton
f2525a63c9
add experimental question HttpApi slice (#22357) 2026-04-14 19:43:49 +00:00
Dax Raad
6ce5c01b1a ignore: v2 experiments 2026-04-14 14:25:38 -04:00
Kit Langton
4f967d5bc0
improve bash timeout retry hint (#22390) 2026-04-14 12:55:03 -04:00
Shoubhit Dash
d6840868d4
refactor(ripgrep): use embedded wasm backend (#21703) 2026-04-14 11:56:23 +05:30
Kit Langton
6a99079012
kit/env instance state (#22383) 2026-04-13 22:28:16 -04:00
Kit Langton
a06f40297b
fix grep exact file path searches (#22356) 2026-04-13 19:26:50 -04:00
Kit Langton
14ccff4037
refactor(agent): remove async facade exports (#22341) 2026-04-13 14:54:01 -04:00
Kit Langton
9ae8dc2d01
refactor: remove ToolRegistry runtime facade (#22307) 2026-04-13 11:09:32 -04:00
Kit Langton
6fdb8ab90d
refactor(file): add ripgrep search service (#22295) 2026-04-13 10:04:32 -04:00
Kit Langton
319b7655b7
refactor(tool): destroy Truncate facade, effectify Tool.define (#22093) 2026-04-11 21:20:12 -04:00
Kit Langton
5ee7edaf9e
refactor(tool): make Tool.Info init effectful (#21989) 2026-04-11 12:33:17 -04:00
Kit Langton
d84cc33742
refactor(plugin): return Effect from ToolContext.ask (#21986) 2026-04-10 23:50:50 -04:00
opencode-agent[bot]
2868000c20 chore: generate 2026-04-11 03:19:50 +00:00
Kit Langton
4341ab838e
refactor(tool): use Session.Service directly in TaskTool (#21975) 2026-04-10 23:18:30 -04:00
opencode-agent[bot]
19ae8c88b0 chore: generate 2026-04-11 03:13:03 +00:00
Kit Langton
3dd09147c2
refactor(tool): Tool.Context.metadata returns Effect (#21972) 2026-04-10 23:12:04 -04:00
Kit Langton
9581bf0670
refactor(effect): upgrade opencode to beta.46 context APIs (#21977) 2026-04-10 23:06:28 -04:00
Kit Langton
af8aff3788
refactor: make TaskPromptOps effectful (#21971) 2026-04-10 22:57:47 -04:00
Kit Langton
5917ac2162
fix: provide EffectLogger.layer to bare Effect.runPromise/runFork calls (#21974) 2026-04-10 22:55:08 -04:00
Kit Langton
c5fb6281f0
refactor(tool): Tool.Def.execute returns Effect, rename defineEffect → define (#21961) 2026-04-10 22:36:02 -04:00
Kit Langton
a17ac02061
refactor: extract LSP diagnostic report formatter (#21964) 2026-04-10 22:00:56 -04:00
Kit Langton
5d6fe01465
convert skill tool to Tool.defineEffect (#21936) 2026-04-10 19:49:53 -04:00
opencode-agent[bot]
f2c492a8e6 chore: generate 2026-04-10 23:43:20 +00:00
Kit Langton
0556774097
refactor(tool): convert apply_patch to Tool.defineEffect (#21938) 2026-04-10 19:42:14 -04:00
Kit Langton
d9d5a0615e
refactor: break SessionPrompt/TaskTool cycle via ctx injection (#21948) 2026-04-10 19:36:13 -04:00
Kit Langton
d72ddd71fa
refactor(tool): convert grep tool to Tool.defineEffect (#21937) 2026-04-10 19:20:00 -04:00
opencode-agent[bot]
fb26308bc7 chore: generate 2026-04-10 21:12:22 +00:00
Kit Langton
b41fa8e318
refactor: convert edit tool to Tool.defineEffect (#21904) 2026-04-10 17:10:28 -04:00
opencode-agent[bot]
57b2e64345 chore: generate 2026-04-10 21:01:33 +00:00
Kit Langton
b139bc2ef3
refactor(tool): convert write tool to Tool.defineEffect (#21901) 2026-04-10 16:57:12 -04:00
opencode-agent[bot]
378b8ca241 chore: generate 2026-04-10 19:40:10 +00:00
Kit Langton
f63bdc8e08
convert list tool to Tool.defineEffect (#21899) 2026-04-10 15:38:52 -04:00
opencode-agent[bot]
d2d5d84d1e chore: generate 2026-04-10 17:57:46 +00:00
Kit Langton
847f1d99c9
convert glob tool to Tool.defineEffect (#21897) 2026-04-10 13:56:42 -04:00
opencode-agent[bot]
59d08683ea chore: generate 2026-04-10 17:27:31 +00:00
Kit Langton
f7514d9eca
refactor(tool): convert bash to defineEffect with ChildProcessSpawner (#21895) 2026-04-10 13:26:31 -04:00
Kit Langton
bf601628db
refactor(tool): convert codesearch tool internals to Effect (#21811) 2026-04-10 11:49:20 -04:00
opencode-agent[bot]
00e39d2114 chore: generate 2026-04-10 15:31:39 +00:00
Kit Langton
46b74e0873
refactor(tool): convert websearch tool internals to Effect (#21810) 2026-04-10 11:30:38 -04:00
opencode-agent[bot]
aedc4e964f chore: generate 2026-04-10 14:51:27 +00:00
Kit Langton
e83404367c
refactor(tool): convert webfetch tool internals to Effect (#21809) 2026-04-10 10:50:13 -04:00
Kit Langton
44f38193c0
refactor(tool): convert plan tool internals to Effect (#21807) 2026-04-10 10:38:46 -04:00
opencode-agent[bot]
9a6b455bfe chore: generate 2026-04-10 14:08:27 +00:00
Kit Langton
8063e0b5c6
refactor(tool): convert lsp tool internals to Effect (#21806) 2026-04-10 10:07:19 -04:00
Kit Langton
157c5d77f8
refactor(tool): convert question tool internals to Effect (#21808) 2026-04-10 09:42:06 -04:00
Kit Langton
eca11ca71a
refactor(effect): use SessionRevert service in prompt (#21796) 2026-04-09 22:28:11 -04:00
Kit Langton
17bd16667c
refactor(effect): move tool descriptions into registry (#21795) 2026-04-09 22:20:27 -04:00
Dax
bd53b651a3
refactor: fix tool call state handling and clean up imports (#21709) 2026-04-09 11:56:19 -04:00
Kit Langton
8bdcc22541
refactor(effect): inline session processor interrupt cleanup (#21593) 2026-04-08 21:19:01 -04:00
Kit Langton
2bdd279467
fix: propagate abort signal to inline read tool (#21584) 2026-04-08 21:07:55 -04:00
Kit Langton
38f8714c09
refactor(effect): build task tool from agent services (#21017) 2026-04-08 19:02:19 -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
Dax
463318486f
core: refactor tool system to remove agent context from initialization (#21052) 2026-04-07 19:48:12 -04:00
Aiden Cline
bc1840b196
fix(opencode): clear webfetch timeouts on failed fetches (#21378) 2026-04-07 20:46:02 +00:00
Aiden Cline
3a0e00dd7f
tweak: add newline between <content> and first line of read tool output to prevent confusion (#21070) 2026-04-05 04:55:22 +00:00
Kit Langton
c796b9a19e
refactor(effect): move read tool onto defineEffect (#21016) 2026-04-04 19:06:00 -04:00
Kit Langton
f2d4ced8ea
refactor(effect): build todowrite tool from Todo service (#20789)
Co-authored-by: Juan Pablo Carranza Hurtado <52012198+jpcarranza94@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 12:05:40 -04:00
Kit Langton
7994dce0f2
refactor(effect): resolve built tools through the registry (#20787) 2026-04-03 10:31:00 -04:00
Juan Pablo Carranza Hurtado
81d3ac3bf0
fix: prevent Tool.define() wrapper accumulation on object-defined tools (#16952)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 22:09:53 -04:00
Aiden Cline
38014fe448
fix: rm dynamic part from bash tool description again to restore cache hits across projects (#20771) 2026-04-03 00:16:40 +00:00
Kit Langton
8942fc21aa
refactor(effect): prune unused facades (#20748) 2026-04-02 20:15:09 -04:00
Kit Langton
5e1b513527
refactor(todo): effectify session todo (#20595) 2026-04-02 19:11:23 +00:00
Kit Langton
c3ef69c866
test(app): add a golden path for mocked e2e prompts (#20593) 2026-04-02 18:17:28 +00:00
Kit Langton
0bae38c062
refactor(instruction): migrate to Effect service pattern (#20542) 2026-04-01 22:22:51 -04:00
opencode-agent[bot]
854484babf chore: generate 2026-04-01 23:49:44 +00:00
Kit Langton
e4ff1ea778
refactor(bash): use Effect ChildProcess for bash tool execution (#20496) 2026-04-01 19:48:47 -04:00
Kit Langton
5fd833aa18
refactor: standardize InstanceState variable name to state (#20267) 2026-04-01 10:39:43 -04:00
Kit Langton
c5442d418d
refactor(session): effectify SessionPrompt service (#19483) 2026-03-30 20:06:51 +00:00
Luke Parker
b234370080
feat(windows): add first-class pwsh/powershell support (#16069) 2026-03-30 13:10:01 +10:00
Aiden Cline
15a8c22a26
tweak: adjust bash tool description to increase cache hit rates between projects (#19487) 2026-03-27 23:53:36 -05:00
Sebastian
6274b0677c
tui plugins (#19347) 2026-03-27 15:00:26 +01:00
opencode-agent[bot]
d8ad8338f5 chore: generate 2026-03-27 13:53:59 +00:00
Kit Langton
7b44918149
refactor(tool-registry): yield Config/Plugin services, use Effect.forEach (#19363) 2026-03-27 09:53:00 -04:00
Kit Langton
97c15a087d
effectify Bus service: migrate to Effect PubSub + InstanceState (#18579) 2026-03-25 20:19:24 -04:00
Ariane Emory
66a56551be
fix(task): respect agent permission config for todowrite tool (#19125) 2026-03-25 15:18:52 -05:00
Aiden Cline
77fc88c8ad
chore: remove dead code for todoread tool (#19128) 2026-03-25 16:21:42 +00:00
Kit Langton
fe53af4819
effectify ToolRegistry service (#18571) 2026-03-22 01:06:01 +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
Kit Langton
e78944e9a4
effectify Installation service, drop Effect suffix from namespaces (#18266) 2026-03-20 12:10:33 -04:00
Luke Parker
7866dbcfcc
fix: avoid truncate permission import cycle (#18292) 2026-03-19 23:52:04 -04:00
Dax
1071aca91f
fix: miscellaneous small fixes (#18328) 2026-03-19 22:20:29 -04:00
opencode-agent[bot]
4f21757e0d chore: generate 2026-03-19 20:05:33 +00:00
jorge g
2dbcd79fd2
fix: stabilize agent and skill ordering in prompt descriptions (#18261)
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-19 15:04:03 -05:00
Kit Langton
81be544981
feat(filesystem): add AppFileSystem service, migrate Snapshot (#18138) 2026-03-18 19:52:43 -04:00
opencode-agent[bot]
c3ddc85cca chore: generate 2026-03-18 17:37:40 +00:00
Kit Langton
a800583aea
refactor(effect): unify service namespaces and align naming (#18093) 2026-03-18 13:34:36 -04:00
opencode-agent[bot]
0292f1b559 chore: generate 2026-03-18 02:01:02 +00:00
Kit Langton
5dfe86dcb1
refactor(truncation): effectify TruncateService, delete Scheduler (#17957) 2026-03-17 21:59:54 -04:00
Kit Langton
2cbdf04ec9
refactor(file-time): effectify FileTimeService with Semaphore locks (#17835) 2026-03-16 18:23:13 +00:00
Kit Langton
1cb7df7159
refactor(provider): flow branded ProviderID/ModelID through internal signatures (#17182) 2026-03-12 14:48:17 +00:00
Kit Langton
2a4dedc210
feat(id): brand PermissionID, PtyID, QuestionID, and ToolID (#17042) 2026-03-12 01:49:57 +00: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
Aiden Cline
f96e2d4222
tweak: adjust skill presentation to be a little less token heavy (#17098) 2026-03-11 16:03:15 -05:00