Commit graph

223 commits

Author SHA1 Message Date
Kit Langton
1571933096
Drop ALS fallbacks from containsPath and workspace routing (#25374) 2026-05-02 03:06:22 +00:00
Kit Langton
160928a9a9
Extract InstanceStore.provide helper (#25372) 2026-05-01 22:42:03 -04:00
opencode-agent[bot]
d297c29f22 chore: generate 2026-05-02 02:19:48 +00:00
Kit Langton
cec9c6122a
Move instance loading into Effect service (#25277) 2026-05-01 22:18:06 -04:00
Kit Langton
3c24d22d42
fix(httpapi): omit absent optional response fields (#25214) 2026-05-01 02:38:32 +00:00
Kit Langton
ce3b0988c4
refactor(project): yield instance context in bootstrap (#25204) 2026-04-30 21:44:52 -04:00
Kit Langton
9052e8a1ba
test: cover HttpApi workspace routing middleware (#25027) 2026-04-29 21:08:03 -04:00
Kit Langton
6015084fa2
Prepare Effect HttpApi backend parity (#24853) 2026-04-29 09:34:50 -04:00
Dax
f25f1485d5
refactor: remove module barrels (#24554) 2026-04-27 14:33:33 -04:00
Kit Langton
58c65874ba
feat(httpapi): bridge project update endpoint (#24398) 2026-04-25 18:55:49 -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
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
Kit Langton
d5bfaef53d
feat(httpapi): bridge instance read endpoints (#24258) 2026-04-25 10:42:31 -04:00
Kit Langton
cd93533b1f
refactor(bus): migrate BusEvent to Effect Schema (#24040) 2026-04-23 15:37:44 -04:00
Brendan Allan
6002500bc0
feat(project): add icon_url_override field to projects (#23955) 2026-04-23 18:57:04 +08: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
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
1dd257b76a
refactor: use instance state in small services (#23022) 2026-04-18 02:16:15 +00:00
Kit Langton
5fa1673341
refactor: use InstanceState context in File service (#23015) 2026-04-17 22:08:57 -04:00
Kit Langton
9ee89f7868
refactor: move project read routes onto HttpApi (#23003) 2026-04-17 03:48:12 +00:00
Dax Raad
25a9de301a core: eager load config on startup for better traces and refactor npm install for improved error reporting
Config is now loaded eagerly during project bootstrap so users can see config loading in traces during startup. This helps diagnose configuration issues earlier in the initialization flow.

NPM installation logic has been refactored with a unified reify function and improved InstallFailedError that includes both the packages being installed and the target directory. This provides users with complete context when package installations fail, making it easier to identify which dependency or project directory caused the issue.
2026-04-16 16:23:19 -04:00
Dax
3f7df08be9
perf: make vcs init non-blocking by forking git branch resolution (#22771) 2026-04-16 03:02:19 -04:00
Dax
675a46e23e
CLI perf: reduce deps (#22652) 2026-04-16 02:03:03 -04:00
opencode-agent[bot]
225a769411 chore: generate 2026-04-16 03:42:25 +00:00
Kit Langton
0e20382396
fix: resolve circular sibling imports causing runtime ReferenceError (#22752) 2026-04-15 23:41:34 -04:00
Kit Langton
f24207844f
feat: unwrap storage namespaces to flat exports + barrel (#22747) 2026-04-15 23:30:49 -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
343a564183
feat: unwrap 11 util namespaces to flat exports + barrel (#22739) 2026-04-15 23:15:58 -04:00
Kit Langton
379e40d772
feat: unwrap InstanceState + EffectBridge namespaces to flat exports + barrel (#22721) 2026-04-16 02:45:45 +00:00
Kit Langton
6d42f97644
fix: revert "core: move plugin initialisation to config layer override" (#22686) 2026-04-15 21:14:39 -04:00
Kit Langton
4dd0d1f67e
refactor(opencode): use AppFileSystem path helpers (#22637) 2026-04-15 19:36:30 -04:00
Brendan Allan
916131be19
core: move plugin intialisation to config layer override (#22620) 2026-04-15 22:44:55 +00:00
Dax
be9432a893
shared package (#22626) 2026-04-15 14:26:20 +00:00
Brendan Allan
4246368a88
fix(bootstrap): await plugin initialization 2026-04-15 11:40:33 +08:00
Brendan Allan
548d9ac726
core: parallelise bootstrap (#22514) 2026-04-15 03:23:28 +00:00
Kit Langton
ff60859e36
fix(project): reuse runtime in instance boot (#22470) 2026-04-14 12:53:13 -04:00
Kit Langton
020c47a055
refactor(project): remove async facade exports (#22387) 2026-04-14 12:49:20 -04:00
Kit Langton
f954854232
refactor(instance): remove state helper (#22381) 2026-04-13 22:40:12 -04:00
James Long
b22add292c
refactor(core): publish sync events to global event stream (#22347) 2026-04-13 16:51:59 -04:00
Kit Langton
ca6200121b
refactor: remove vcs async facade exports (#22304) 2026-04-13 11:22:20 -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
824c12c01a
refactor(file): destroy FileWatcher facade (#22091) 2026-04-11 21:19:12 -04:00
Kit Langton
5e3dc80999
refactor: collapse command facade (#21981) 2026-04-10 23:52:12 -04:00
Kit Langton
f38f415bf0
refactor: collapse Format facade (#21980) 2026-04-10 23:18:54 -04:00
Kit Langton
9581bf0670
refactor(effect): upgrade opencode to beta.46 context APIs (#21977) 2026-04-10 23:06:28 -04:00
Brendan Allan
b6af4d0dc6
refactor(config): pass instance context to containsPath (#21882) 2026-04-11 10:43:40 +08:00
Kit Langton
9e7045eaec
refactor: destroy ShareNext facade (#21965) 2026-04-10 22:03:06 -04:00
Kit Langton
cf27a73397
feat: add AppRuntime for unified service composition (#21953) 2026-04-10 19:46:52 -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
10441efad1
refactor(effect): extract session run state service (#21744) 2026-04-09 16:03:40 -04:00
Kit Langton
8bdcc22541
refactor(effect): inline session processor interrupt cleanup (#21593) 2026-04-08 21:19:01 -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
Shoubhit Dash
35350b1d25
feat: restore git-backed review modes (#20845) 2026-04-03 09:54:57 -05:00
Kit Langton
0c03a3ee10
test: migrate prompt tests to HTTP mock LLM server (#20304) 2026-03-31 19:14:32 -04:00
Kit Langton
e96eead32e
refactor(vcs): replace async git() with ChildProcessSpawner (#19361) 2026-03-27 02:14:46 +00:00
Kit Langton
9c6f1edfd7
refactor(effect): yield services instead of promise facades (#19325) 2026-03-26 21:46:38 -04:00
Kit Langton
28f5176ffd
effectify Config service (#19139) 2026-03-26 13:07:01 -04:00
Shoubhit Dash
1b028d0632
revert: roll back git-backed review modes (#19295) 2026-03-26 10:14:57 -04:00
opencode-agent[bot]
31ad6e85ba chore: generate 2026-03-26 00:56:34 +00:00
Kit Langton
97c15a087d
effectify Bus service: migrate to Effect PubSub + InstanceState (#18579) 2026-03-25 20:19:24 -04:00
Shoubhit Dash
73e107250d
feat: restore git-backed review modes with effectful git service (#18900) 2026-03-25 21:09:53 +05:30
opencode-agent[bot]
8994cbfc0f chore: generate 2026-03-24 18:05:43 +00:00
Kit Langton
539b01f20f
effectify Project service (#18808) 2026-03-24 14:04:22 -04:00
Kit Langton
38e0dc9ccd
Move service state into InstanceState, flatten service facades (#18483) 2026-03-21 04:51:35 +00:00
Kit Langton
d70099b059
fix: apply Layer.fresh at instance service definition site (#18418) 2026-03-20 14:37:12 -04:00
Aiden Cline
aeece6166b
ignore: revert 3 commits that broke dev branch (#18260) 2026-03-19 11:15:07 -05:00
Shoubhit Dash
e6f5214779
feat: add git-backed session review modes (#17961) 2026-03-19 19:29:29 +05:30
Kit Langton
a800583aea
refactor(effect): unify service namespaces and align naming (#18093) 2026-03-18 13:34:36 -04:00
Kit Langton
5dfe86dcb1
refactor(truncation): effectify TruncateService, delete Scheduler (#17957) 2026-03-17 21:59:54 -04:00
opencode-agent[bot]
bc949af623 chore: generate 2026-03-18 01:05:16 +00:00
Kit Langton
9e7c136de7
refactor(snapshot): effectify SnapshotService (#17878) 2026-03-17 21:04:16 -04:00
Kit Langton
335356280c
refactor(format): effectify FormatService as scoped service (#17675) 2026-03-16 15:58:36 -04:00
Kit Langton
e5cbecf17c
fix+refactor(vcs): fix HEAD filter bug and effectify VcsService (#17829) 2026-03-16 13:59:11 -04:00
Kit Langton
9e740d9947
stack: effectify-file-watcher-service (#17827) 2026-03-16 13:18:40 -04:00
Kit Langton
469c3a4204
refactor(instance): move scoped services to LayerMap (#17544) 2026-03-16 12:55:14 -04:00
Aiden Cline
510374207d
fix: vcs watcher if statement (#17673) 2026-03-15 19:20:39 -05:00
Michael Dwan
4b9b86b544
fix(opencode): lost sessions across worktrees and orphan branches (#16389)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-13 15:51:55 -04:00
Aiden Cline
f8475649da
chore: cleanup migrate from global code (#17292) 2026-03-12 23:54:11 -05:00
Michael Dwan
b94e110a4c
fix(opencode): sessions lost after git init in existing project (#16814)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-12 23:18:59 -05:00
Kit Langton
dd68b85f58
refactor(provider): effectify ProviderAuthService (#17227) 2026-03-13 02:08:37 +00:00
Kit Langton
2a4dedc210
feat(id): brand PermissionID, PtyID, QuestionID, and ToolID (#17042) 2026-03-12 01:49:57 +00:00
Kit Langton
dbc00aa8e0
feat(id): brand ProjectID through Drizzle and Zod schemas (#16948) 2026-03-11 16:44:26 -04: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
4c4aed5a87
fix(core): make worktrees read the project id from local workspace (#16795) 2026-03-10 11:11:28 -04:00
Dax
2f2856e20a
refactor(opencode): replace Bun shell in core flows (#16286) 2026-03-09 15:19:50 -04:00
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
Shoubhit Dash
d6e0f47361
feat: add project git init api (#16383) 2026-03-06 13:39:50 -06:00
Dax
74effa8eec
refactor(opencode): replace Bun.which with npm which (#15012) 2026-03-06 05:18:29 +00:00
Luke Parker
e718263778
fix(project): await git id cache write (#14977) 2026-02-25 00:46:12 +00:00
Erik Demaine
a74fedd23b
fix(desktop): change detection on Windows, especially Cygwin (#13659)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-02-23 09:49:05 +10:00
Dax
cb8b74d3f1
refactor: migrate from Bun.Glob to npm glob package (#14317) 2026-02-19 13:40:09 -05:00
Dax Raad
af72010e9f Revert "refactor: migrate from Bun.Glob to npm glob package"
This reverts commit 3c21735b35.
2026-02-19 12:48:43 -05:00
Dax Raad
3c21735b35 refactor: migrate from Bun.Glob to npm glob package
Replace Bun.Glob usage with a new Glob utility wrapper around the npm 'glob' package.
This moves us off Bun-specific APIs toward standard Node.js compatible solutions.

Changes:
- Add new src/util/glob.ts utility module with scan(), scanSync(), and match()
- Default include option is 'file' (only returns files, not directories)
- Add symlink option (default: false) to control symlink following
- Migrate all 12 files using Bun.Glob to use the new Glob utility
- Add comprehensive tests for the glob utility

Breaking changes:
- Removed support for include: 'dir' option (use include: 'all' and filter manually)
- symlink now defaults to false (was true in most Bun.Glob usages)

Files migrated:
- src/util/log.ts
- src/util/filesystem.ts
- src/tool/truncation.ts
- src/session/instruction.ts
- src/storage/json-migration.ts
- src/storage/storage.ts
- src/project/project.ts
- src/cli/cmd/tui/context/theme.tsx
- src/config/config.ts
- src/tool/registry.ts
- src/skill/skill.ts
- src/file/ignore.ts
2026-02-19 12:34:18 -05:00
Dax
02a9495063
Remove use of Bun.file (#14215) 2026-02-19 11:32:32 -05:00
Dax Raad
568eccb4c6 Revert: all refactor commits migrating from Bun.file() to Filesystem module 2026-02-18 19:41:14 -05:00
Dax
3a07dd8d96
refactor: migrate src/project/project.ts from Bun.file() to Filesystem/stat modules (#14126) 2026-02-18 19:37:10 -05:00
Dax
6d95f0d14c
sqlite again (#10597)
Co-authored-by: Github Action <action@github.com>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
2026-02-14 04:19:02 +00:00