LukeParkerDev
39088e1a1e
Merge remote-tracking branch 'upstream/dev' into refactor-shells
...
# Conflicts:
# packages/app/e2e/prompt/prompt-shell.spec.ts
# packages/opencode/src/tool/bash.ts
# packages/opencode/src/tool/registry.ts
2026-04-08 13:11:43 +10:00
Aiden Cline
81bdffc81c
fix: ensure the alibaba provider errors are retried ( #21355 )
2026-04-07 17:46:01 +00:00
Dax
1f94c48bdd
fix(opencode): keep user message variants scoped to model ( #21332 )
2026-04-07 10:12:53 -04:00
Aiden Cline
3c31d04666
chore: bump anthropic ai sdk pkg, delete patch ( #21247 )
2026-04-06 20:28:32 -05:00
Aiden Cline
48c1b6b338
tweak: move the max token exclusions to plugins @rekram1-node ( #21225 )
2026-04-06 17:43:58 -05:00
Aiden Cline
5a6d10cd53
tweak: ensure copilot anthropic models have same reasoning effort model as copilot cli, also fix qwen incorrectly having variants ( #21212 )
2026-04-06 18:12:43 +00:00
Aiden Cline
8b8d4fa066
test: add regression test for double counting bug ( #21053 )
2026-04-04 16:40:28 -07: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
Nate Williams
6359d00fb4
fix(core): fix restoring earlier messages in a reverted chain ( #20780 )
2026-04-03 18:23:00 +05:30
LukeParkerDev
2eb9ae4d34
refactor(shell): centralize shell tool identity
...
Move shell tool ID checks behind shared helpers so runtime code and tests stop duplicating bash, pwsh, and powershell branches. This keeps shell-specific behavior aligned across consumers and makes follow-on shell changes less error-prone.
2026-04-03 14:56:40 +10:00
Kit Langton
8942fc21aa
refactor(effect): prune unused facades ( #20748 )
2026-04-02 20:15:09 -04:00
Kit Langton
b5b5f7e019
test(opencode): remove temporary e2e url repro ( #20729 )
2026-04-02 14:35:21 -04:00
Kit Langton
c3ef69c866
test(app): add a golden path for mocked e2e prompts ( #20593 )
2026-04-02 18:17:28 +00:00
Valentin Vivaldi
733a3bd031
fix(core): prevent agent loop from stopping after tool calls with OpenAI-compatible providers ( #14973 )
...
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-04-01 21:34:01 -05:00
Kit Langton
0bae38c062
refactor(instruction): migrate to Effect service pattern ( #20542 )
2026-04-01 22:22:51 -04:00
Kit Langton
92f8e03160
fix(test): use effect helper in snapshot race test ( #20567 )
2026-04-01 20:05:47 -04:00
opencode-agent[bot]
854484babf
chore: generate
2026-04-01 23:49:44 +00:00
Kit Langton
26fb6b8788
refactor: add Effect-returning versions of MessageV2 functions ( #20374 )
2026-04-01 19:48:36 -04:00
opencode-agent[bot]
4214ae205d
chore: generate
2026-04-01 23:48:30 +00:00
Kit Langton
d9d4f895bc
fix(test): auto-acknowledge tool-result follow-ups in mock LLM server ( #20528 )
2026-04-01 23:47:26 +00:00
Kit Langton
a9c85b7c27
refactor(shell): use Effect ChildProcess for shell command execution ( #20494 )
2026-04-01 12:07:57 -04:00
Kit Langton
7532d99e5b
test: finish HTTP mock processor coverage ( #20372 )
2026-04-01 00:45:42 +00:00
Kit Langton
181b5f6236
refactor(prompt): use Provider service in effect layers ( #20167 )
2026-04-01 00:44:15 +00:00
opencode-agent[bot]
9b09a7e766
chore: generate
2026-03-31 23:15:56 +00:00
Kit Langton
3fc0367b93
refactor(session): effectify SessionRevert service ( #20143 )
2026-03-31 19:14:49 -04:00
Kit Langton
0c03a3ee10
test: migrate prompt tests to HTTP mock LLM server ( #20304 )
2026-03-31 19:14:32 -04:00
Major Hayden
26cc924ea2
feat: enable prompt caching and cache token tracking for google-vertex-anthropic ( #20266 )
...
Signed-off-by: Major Hayden <major@mhtx.net>
2026-03-31 15:16:14 -05:00
Kit Langton
2ed756c72c
fix(session): restore busy route handling and add regression coverage ( #20125 )
2026-03-30 20:30:34 +00:00
Kit Langton
c5442d418d
refactor(session): effectify SessionPrompt service ( #19483 )
2026-03-30 20:06:51 +00:00
ualtinok
72c77d0e7b
fix(session): fix token usage double-counting w/ anthropic & bedrock due to AI SDK v6 upgrade ( #19758 )
...
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-03-29 12:40:10 -05:00
Kit Langton
860531c275
refactor(session): effectify session processor ( #19485 )
2026-03-28 12:09:47 -04:00
Kit Langton
2145d97f18
refactor(session): effectify SessionCompaction service ( #19459 )
2026-03-28 01:09:14 +00:00
Aiden Cline
c33d9996f0
feat: AI SDK v6 support ( #18433 )
2026-03-27 15:24:30 -05:00
André Cruz
7123aad5a8
fix(opencode): classify ZlibError from Bun fetch as retryable instead of unknown ( #19104 )
...
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-25 13:08:40 -05:00
James Long
b0017bf1b9
feat(core): initial implementation of syncing ( #17814 )
2026-03-25 10:47:40 -04:00
Ryan Skidmore
814a515a8a
fix: improve plugin system robustness — agent/command resolution, async errors, hook timing, two-phase init ( #18280 )
...
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-03-24 12:50:55 -05: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
84e62fc662
fix(session): preserve tagged error messages ( #18165 )
2026-03-18 20:36:53 -04:00
Johannes Loher
e718db624f
fix(core): consider code: context_length_exceeded as context overflow in API call errors ( #17748 )
2026-03-16 10:25:24 -05:00
Luke Parker
59c530cc6c
fix(opencode): teach Kit's test what an ID is ( #17745 )
2026-03-16 18:08:27 +10:00
Jason Quense
c2ca1494e5
fix(opencode): preserve prompt tool enables with empty agent permissions ( #17064 )
...
Co-authored-by: jquense <jquense@ramp.com>
2026-03-15 23:01:46 -05:00
Shoubhit Dash
9457493696
perf(server): paginate session history ( #17134 )
2026-03-13 15:48:43 +05:30
Kit Langton
1cb7df7159
refactor(provider): flow branded ProviderID/ModelID through internal signatures ( #17182 )
2026-03-12 14:48:17 +00:00
Kit Langton
c45467964c
feat(id): brand ProviderID and ModelID ( #17110 )
2026-03-12 09:27:52 -04: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
5acfdd1c5d
chore: kill old copilot 403 message that was used for old plugin migration ( #16904 )
2026-03-10 16:20:41 -05:00
Dax
3ebba02d04
refactor: replace Bun.sleep with node timers ( #15013 )
2026-03-05 21:54:06 -05:00
opencode-agent[bot]
e41b53504f
chore: generate
2026-03-03 03:53:50 +00:00
Ryan Skidmore
fd6f7133c5
fix(opencode): clone part data in Bus event to preserve token values ( #15780 )
2026-03-02 22:52:43 -05: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
Dax
02a9495063
Remove use of Bun.file ( #14215 )
2026-02-19 11:32:32 -05:00
Aiden Cline
e35a4131d0
core: keep message part order stable when files resolve asynchronously ( #13915 )
2026-02-16 18:45:11 -06: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
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
Khang Ha (Kelvin)
fde0b39b7c
fix: properly encode file URLs with special characters ( #12424 )
2026-02-06 16:16:56 -06:00
Adam
1721c6efdf
fix(core): session errors when attachment file not found
2026-02-04 10:21:03 -06:00
Łukasz Gładysz
6daa962aaa
fix: prioritize OPENCODE_CONFIG_DIR for AGENTS.md ( #11536 )
2026-02-04 01:35:22 +00:00
Aiden Cline
aa6b552c39
Revert pr that was mistakenly merged ( #11844 )
2026-02-02 15:28:02 -06:00
Aiden Cline
5db089070a
test: add unit test
2026-02-01 19:26:23 -05:00
neavo
f15755684f
fix(opencode): scope agent variant to model ( #11410 )
2026-02-01 14:12:30 -06:00
YeonGyu-Kim
16145af480
fix: prevent duplicate AGENTS.md injection when reading instruction files ( #11581 )
...
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-02-01 13:46:08 -06:00
Aiden Cline
da7c874808
tweak: show actual retry error message instead of generic error msg ( #11520 )
2026-01-31 13:15:42 -06:00
Aiden Cline
f834915d3f
test: fix flaky test ( #11427 )
2026-01-31 01:07:22 -06:00
Aiden Cline
9d3f32065b
test: add llm.test.ts ( #11375 )
2026-01-30 17:04:32 -06:00
Aiden Cline
558590712d
fix: ensure parallel tool calls dont double load AGENTS.md
2026-01-28 01:38:10 -05:00
Aiden Cline
f12f7e7718
tweak: adjust retry check to be more defensive
2026-01-27 11:31:02 -05:00
Aiden Cline
8b5dde5536
tweak: retry logic to catch certain provider problems
2026-01-26 16:12:41 -05:00
GitHub Action
18bfc740c8
chore: generate
2026-01-26 18:50:58 +00:00
Tim
837037cd04
fix: ensure openai 404 errors are retried ( #10590 )
2026-01-26 13:50:04 -05:00
Aiden Cline
39a73d4894
feat: dynamically resolve AGENTS.md files from subdirectories as agent explores them ( #10678 )
2026-01-26 10:49:41 -05:00
Aiden Cline
c2844697f3
fix: ensure images are properly returned as tool results
2026-01-21 23:54:44 -06:00
Aiden Cline
021e42c0bb
core: fix issue when switching models (mainly between providers) where past reasoning/metadata would be sent to server and cause 400 errors since they came from another account/provider
2026-01-20 16:39:00 -06:00
Aiden Cline
0c4ffec857
chore: rename toModelMessage -> toModelMessages
2026-01-20 16:16:23 -06:00
Aiden Cline
8c24879246
test: fix
2026-01-16 15:52:51 -06:00
Aiden Cline
f5a6a4af7f
Revert "fix: ensure that tool attachments arent sent as user messages ( #8944 )"
...
This reverts commit 8fd1b92e6e .
2026-01-16 15:50:24 -06:00
Aiden Cline
8fd1b92e6e
fix: ensure that tool attachments arent sent as user messages ( #8944 )
2026-01-16 12:47:43 -06:00
Aiden Cline
d510bd52a4
Revert "test: fix test now that image fix went in"
...
This reverts commit fffa718f5e .
2026-01-16 09:34:00 -06:00
Aiden Cline
fffa718f5e
test: fix test now that image fix went in
2026-01-16 00:11:30 -06:00
seilk
9b57db30d1
feat: add litellmProxy provider option for explicit LiteLLM compatibility ( #8658 )
...
Co-authored-by: Mark Henderson <Mark.Henderson99@hotmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
2026-01-15 22:01:15 +00:00
Brandon Smith
8d720f9463
fix(opencode): add input limit for compaction ( #8465 )
2026-01-15 01:35:16 -06:00
Aiden Cline
d527ceeb2b
test: fix
2026-01-12 12:33:39 -06:00
Aiden Cline
1b82511fbd
feat: write truncated tool outputs to files ( #7239 )
2026-01-07 17:25:00 -06:00
GitHub Action
c961072d20
chore: generate
2026-01-07 07:43:43 +00:00
Aiden Cline
429240f439
ignore: add truncation funcs ( #7178 )
2026-01-07 01:43:06 -06:00
Aiden Cline
47ebb2973f
test: add message-v2 test
2026-01-02 12:28:40 -06:00
Saatvik Arya
7a3ff5b98f
fix(session): check for context overflow mid-turn in finish-step ( #6480 )
2026-01-01 12:03:18 -06:00
Aiden Cline
9a1dc1ffe4
core: prevent TimeoutOverflowWarning by capping setTimeout delay to max 32-bit signed integer
2025-12-31 16:15:49 -06:00
Christopher Ochsenreither
bfb9787361
fix: compact command after revert now properly cleans up revert state ( #6235 )
2025-12-26 22:57:59 -06:00
Aiden Cline
8b40e38cd7
test: add test for retry
2025-12-23 19:34:40 -06:00
Dax Raad
9eabbe2e76
retry anthropic overloaded errors
2025-11-25 15:47:34 -05:00
Dax Raad
0a2d7af179
core: honor retry-after values exceeding 10 minutes instead of discarding them
2025-11-17 11:33:28 -05:00
Dax Raad
8b19c6c7e4
better retry display
2025-11-17 11:31:10 -05:00
Aiden Cline
f7cc46cd9f
set cap for max time to wait between retries ( #4135 )
...
Co-authored-by: GitHub Action <action@github.com>
2025-11-09 11:46:58 -06:00
GitHub Action
34ff87d504
chore: format code
2025-11-08 01:59:02 +00:00
Dax Raad
1ea3a8eb9b
big format
2025-11-06 13:03:12 -05:00
Aiden Cline
e6301ca5d5
tweak: rename event
2025-10-27 10:42:47 -05:00
Bernat Pericàs
b562863fcc
feat: add session.started event that triggers when a new session is created ( #3413 )
2025-10-27 07:18:23 -05:00
Aiden Cline
7c7ebb0a9d
feat: retry parts ( #3369 )
2025-10-22 18:31:36 -05:00
Dax Raad
d0043a4a78
sync
2025-09-27 02:53:20 -04:00
Dax
9bb25a9260
Session management and prompt handling improvements ( #2577 )
...
Co-authored-by: GitHub Action <action@github.com>
2025-09-13 05:46:14 -04:00
Aiden Cline
f740663ded
fix: more durable @ references for commands ( #2386 )
2025-09-02 21:24:56 -05:00
Adam Spiers
47d4c87bdd
make @file references in custom slash commands more robust ( #2203 )
...
Co-authored-by: Adam Spiers <opencode@adamspiers.org>
Co-authored-by: rekram1-node <aidenpcline@gmail.com>
2025-09-01 21:14:27 -05:00