Commit Graph

398 Commits

Author SHA1 Message Date
Adam 37d42595cf
fix: test 2026-02-26 18:11:05 -06:00
Sebastian 9d29d692c6
split tui/server config (#13968) 2026-02-25 23:53:09 +01:00
Dax Raad 3c6c74457d sync 2026-02-25 01:48:10 -05:00
Noam Bressler 2cee947671
fix: ACP both live and load share synthetic pending status preceeding… (#14916) 2026-02-24 23:54:10 +10:00
Luke Parker 32417774c4
fix(test): replace structuredClone with spread for process.env (#14908) 2026-02-24 23:16:24 +10:00
Luke Parker 3d379c20c4
fix(test): replace Unix-only assumptions with cross-platform alternatives (#14906) 2026-02-24 23:03:18 +10:00
Luke Parker 06f25c78f6
fix(test): use path.sep in discovery test for cross-platform path matching (#14905) 2026-02-24 22:51:56 +10:00
Luke Parker 1af3e9e557
fix(win32): fix plugin resolution with createRequire fallback (#14898) 2026-02-24 22:20:57 +10:00
Luke Parker a292eddeb5
fix(test): harden preload cleanup against Windows EBUSY (#14895) 2026-02-24 21:59:14 +10:00
Luke Parker 79254c1020
fix(test): normalize git excludesFile path for Windows (#14893) 2026-02-24 21:40:38 +10:00
opencode-agent[bot] ef7f222d80 chore: generate 2026-02-24 11:15:39 +00:00
Noam Bressler 888b123387
feat: ACP - stream bash output and synthetic pending events (#14079)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-24 21:14:47 +10:00
Luke Parker 13cabae29f
fix(win32): add git flags for snapshot operations and fix tests for cross-platform (#14890) 2026-02-24 21:14:16 +10:00
Luke Parker 659068942e
fix(win32): handle CRLF line endings in markdown frontmatter parsing (#14886) 2026-02-24 20:33:22 +10:00
Luke Parker de796d9a00
fix(test): use path.join for cross-platform glob test assertions (#14837) 2026-02-24 20:07:56 +10:00
adamelmore 9f4fc5b72a
Revert "fix(app): terminal issues"
This reverts commit e70d2b27de.
2026-02-22 21:27:25 -06:00
Luke Parker ee754c46f9
fix(win32): normalize paths at permission boundaries (#14738) 2026-02-23 12:05:21 +10:00
Erik Demaine 0042a07052
fix: Windows path support and canonicalization (#13671)
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
2026-02-23 10:10:27 +10: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
Adam e70d2b27de
fix(app): terminal issues 2026-02-22 06:17:59 -06:00
Ryan Vogel 7419ebc872
feat: add list sessions for all sessions (experimental) (#14038) 2026-02-20 08:45:12 -05:00
Adam 4e9ef3ecc1
fix(app): terminal issues (#14435) 2026-02-20 07:34:36 -06:00
Shoubhit Dash ac0b37a7b7
fix(snapshot): respect info exclude in snapshot staging (#13495) 2026-02-20 07:02:25 -06:00
Aiden Cline 04a634a80d
test: merge test files into a single file (#14366) 2026-02-19 20:32:01 -06:00
Dax Raad cb5a0de42f core: remove User-Agent header assertion from LLM test to fix failing test 2026-02-19 18:37:55 -06:00
tctev 193013a44d
feat(opencode): support adaptive thinking for claude sonnet 4.6 (#14283)
Co-authored-by: tctev <224793535+tctev@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-19 16:17:57 -06:00
Adam f8dad0ae17
fix(app): terminal issues (#14329) 2026-02-19 14:54:09 -06:00
opencode-agent[bot] 1867f1acaa chore: generate 2026-02-19 20:12:16 +00:00
Aiden Cline 00c079868a
test: fix discovery test to boot up server instead of relying on 3rd party (#14327) 2026-02-19 14:11:23 -06:00
Dax cb8b74d3f1
refactor: migrate from Bun.Glob to npm glob package (#14317) 2026-02-19 13:40:09 -05:00
Aiden Cline 7e35d0c610
core: bump ai sdk packages for google, google vertex, anthropic, bedrock, and provider utils (#14318) 2026-02-19 12:35:51 -06: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
Adam 8ebdbe0ea2
fix(core): text files missclassified as binary 2026-02-19 07:32:58 -06:00
Adam d07f09925f
fix(app): terminal rework (#14217) 2026-02-19 06:35:14 -06:00
Ariane Emory 1893473148
fix: token substitution in OPENCODE_CONFIG_CONTENT (alternate take) (#14047) 2026-02-18 23:18:24 -06:00
Dax Raad 568eccb4c6 Revert: all refactor commits migrating from Bun.file() to Filesystem module 2026-02-18 19:41:14 -05:00
Dax d366a1430f
refactor: migrate src/lsp/server.ts from Bun.file()/Bun.write() to Filesystem module (#14138) 2026-02-18 21:41:07 +00:00
Adam de25703e9d
fix(app): terminal cross-talk (#14184) 2026-02-18 13:56:05 -06:00
Matt Silverlock d447b7694a
fix(github): emit PROMPT_TOO_LARGE error on context overflow (#14166) 2026-02-18 11:45:27 -06:00
Dax 6b29896a35
feat: Add centralized filesystem module for Bun.file migration (#14117) 2026-02-18 15:30:52 +00:00
Aiden Cline 25f3eef957
fix: ensure explore subagent has external_directory perm set to ask instead of auto denying (#14060) 2026-02-17 20:16:55 -06:00
Aiden Cline 0ca75544ab
fix: dont autoload kilo (#14052) 2026-02-17 18:42:18 -06:00
opencode-agent[bot] 572a037e5d chore: generate 2026-02-17 23:53:22 +00:00
RAMA ad92181fa7
feat: add Kilo as a native provider (#13765) 2026-02-17 17:52:21 -06:00
Aiden Cline c1b03b728a
fix: make read tool more mem efficient (#14009) 2026-02-17 15:36:45 -06:00
Nathan Anderson 4ccb82e81a
feat: surface plugin auth providers in the login picker (#13921)
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-02-17 15:21:49 -06:00
Aiden Cline e35a4131d0
core: keep message part order stable when files resolve asynchronously (#13915) 2026-02-16 18:45:11 -06:00
Aiden Cline a580fb47d2
tweak: drop ids from attachments in tools, assign them in prompt.ts instead (#13890) 2026-02-16 14:59:57 -06:00
opencode-agent[bot] 089ab9defa chore: generate 2026-02-16 08:32:34 +00:00
Jhin Lee f7708efa5b
feat: add openai-compatible endpoint support for google-vertex provider (#10303)
Co-authored-by: BlueT - Matthew Lien - 練喆明 <BlueT@BlueT.org>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-16 02:31:48 -06:00
Dax Raad b5c8bd3421 test: add tests for path-derived IDs in json migration
Tests verify that file paths are used for IDs even when JSON contains
different values - ensuring robustness against stale JSON content.
2026-02-14 20:37:17 -05:00
Aiden Cline 933a491ade
fix: ensure vercel variants pass amazon models under bedrock key (#13631) 2026-02-14 13:18:52 -06:00
Dax Raad 8631d6c01d core: add comprehensive test coverage for Session.list() filters
Adds test cases for filtering sessions by directory, root sessions only,

start time, search terms, and result limits to ensure the listing

functionality works correctly for all filter combinations.
2026-02-14 13:43:41 -05:00
Aiden Cline 759ec104b6
fix vercel gateway variants (#13541)
Co-authored-by: Benjamin Woodruff <github@benjam.info>"
2026-02-14 12:32:29 -06:00
opencode-agent[bot] afb04ed5d4 chore: generate 2026-02-14 04:19:48 +00: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
Aiden Cline 1fb6c0b5b3
Revert "fix: token substitution in OPENCODE_CONFIG_CONTENT" (#13429) 2026-02-12 23:24:31 -06:00
Adam 8da5fd0a66
fix(app): worktree delete 2026-02-12 19:38:13 -06:00
projectArtur 991496a753
fix: resolve ACP hanging indefinitely in thinking state on Windows (#13222)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-12 18:20:00 -06:00
Ariane Emory 29671c1397
fix: token substitution in OPENCODE_CONFIG_CONTENT (#13384) 2026-02-12 16:59:44 -06:00
Adam 548608b7ad
fix(app): terminal pty isolation 2026-02-12 15:15:34 -06:00
Aiden Cline d1ee4c8dca test: add more test cases for project.test.ts (#13355) 2026-02-12 18:46:44 +00:00
Dax Raad 789705ea96 ignore: document test fixtures for agents 2026-02-12 12:10:21 -05:00
Ryan Vogel ba54cee55e
feat(tool): return image attachments from webfetch (#13331) 2026-02-12 12:09:29 -05:00
Kyle Mistele e269788a8f
feat: support claude agent SDK-style structured outputs in the OpenCode SDK (#8161)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Dax Raad <d@ironbay.co>
2026-02-12 04:54:05 +00:00
Aiden Cline 006d673ed2
tweak: make read tool offset 1 indexed instead of 0 to avoid confusion that could be caused by line #s being 1 based (#13198) 2026-02-11 14:02:30 -06:00
Aiden Cline 6b4d617df0
feat: adjust read tool so that it can handle dirs too (#13090) 2026-02-11 13:23:00 -06:00
Aiden Cline 0fd6f365be
fix(core): ensure compaction is more reliable, add reserve token buffer to ensure that input window has enough room to compact (#12924)
Co-authored-by: James Lal <james@littlebearlabs.io>
2026-02-10 19:55:22 -06:00
Aiden Cline f74c0339cc
test: fix failing prompt test (#12847) 2026-02-09 11:25:22 -06:00
Aiden Cline 99ea1351ce
tweak: add new ContextOverflowError type (#12777) 2026-02-08 23:54:01 -06:00
Aiden Cline 62f38087b8
fix: parse mid stream openai responses style errors to prevent infinite retries for errors that should STOP execution (#12768) 2026-02-08 20:55:41 -06:00
Dax 7249b87bf6
feat(skill): add skill discovery from URLs via well-known RFC (#12423)
Co-authored-by: Frank <frank@anoma.ly>
2026-02-06 17:31:40 -05:00
Khang Ha (Kelvin) fde0b39b7c
fix: properly encode file URLs with special characters (#12424) 2026-02-06 16:16:56 -06:00
Matt Silverlock 24dbc46548
fix(github): handle step-start/step-finish parts in extractResponseText (#12470) 2026-02-06 10:20:33 -06:00
Yuvraj Virk c07077f96c
fix: correct /data API usage and data format for importing share URLs (#7381) 2026-02-06 15:29:10 +00:00
Hank Stoever 229cdafcc4
fix(config): handle $ character with {file:} pattern (#12390)
Co-authored-by: Hank Stoever <1109058+hstove@users.noreply.github.com>
2026-02-05 20:10:35 -06:00
Dax Raad 9adcf524e2 core: bundle GitLab auth plugin directly instead of dynamic install
Remove dynamic installation of built-in plugins. GitLab auth is now imported

directly as an internal plugin, eliminating network requests during startup

and simplifying the plugin loading logic.

Removes the need for test mocks since plugins are no longer

dynamically installed at runtime.
2026-02-05 11:29:00 -05:00
Dax Raad 531b1941a0 ci: ensure config test waits for dependencies to complete installation 2026-02-05 10:13:52 -05:00
Dax 556adad67b
fix: wait for dependencies before loading custom tools and plugins (#12227) 2026-02-05 03:25:43 +00:00
Shantur Rathore 0d38e69038
fix(core): skip dependency install in read-only config dirs (#12128) 2026-02-04 14:45:59 -06:00
Adam 1721c6efdf
fix(core): session errors when attachment file not found 2026-02-04 10:21:03 -06:00
Sergiy Dybskiy b942e0b4dc
fix: prevent double-prefixing of Bedrock cross-region inference models (#12056) 2026-02-03 23:06:17 -06:00
Łukasz Gładysz 6daa962aaa fix: prioritize OPENCODE_CONFIG_DIR for AGENTS.md (#11536) 2026-02-04 01:35:22 +00:00
Max Leiter 93e060272a
fix: prevent memory leaks from AbortController closures (#12024) 2026-02-03 17:51:26 -06:00
Aiden Cline a68fedd4a6
chore: adjust way skill dirs are whitelisted (#12026) 2026-02-03 16:33:36 -06:00
Idris Gadi 95211a8854
feat(tui): allow theme colors in agent customization (#11444) 2026-02-03 15:09:21 -06:00
Dax 17e62b050f
feat: add support for reading skills from .agents/skills directories (#11842)
Co-authored-by: Filip <34747899+neriousy@users.noreply.github.com>
2026-02-03 15:51:54 -05:00
Aiden Cline 857b8a4b56
test: add test for new skill improvements (#11969) 2026-02-03 16:05:10 +00:00
Aiden Cline 3975329629
feat: improve skills, better prompting, fix permission asks after invoking skills, ensure agent knows where scripts/resources are (#11737) 2026-02-03 09:58:31 -06:00
Muhammad Mugni Hadi 3741516fe3
fix: handle nested array items for Gemini schema validation (#11952) 2026-02-03 09:24:52 -06:00
Filip d116c227e0
fix(core): plugins are always reinstalled (#9675) 2026-02-03 00:47:52 -06:00
Kiyoung Chang 3adeed8f97
fix(provider): strip properties/required from non-object types in Gemini schema (#11888) 2026-02-02 23:13:24 -06:00
Aiden Cline 188cc24bfc
chore: cleanup external_dir perm logic (#11845) 2026-02-02 16:43:55 -06:00
Aiden Cline aa6b552c39
Revert pr that was mistakenly merged (#11844) 2026-02-02 15:28:02 -06:00
Adam 3b93e8d95c
fix(app): added/deleted file status now correctly calculated 2026-02-02 14:24:23 -06:00
Jigar 43354eeabd
fix: convert system message content to string for Copilot provider (#11600)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 23:28:28 -06:00
Dax Raad 0f3630d936 ci: skip unicode filename test due to inconsistent behavior causing CI failures 2026-02-01 21:01:57 -05:00
Aiden Cline 5db089070a test: add unit test 2026-02-01 19:26:23 -05:00