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
Kit Langton
05cdb7c107
refactor(v2): tag session unions and exhaustively match events ( #23201 )
2026-04-18 00:29:26 +00: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
Kit Langton
1c33b866ba
fix: remove 10 more unnecessary as any casts in opencode core ( #22882 )
2026-04-16 20:11:05 +00: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
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
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
cf423d2769
fix: remove 10 unused type-only imports and declarations ( #22696 )
2026-04-16 02:17:59 +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
Aiden Cline
307251bf3c
fix: bash memory usage ( #22660 )
2026-04-15 20:09:06 -05:00
Kit Langton
4ca809ef4e
fix(session): retry 5xx server errors even when isRetryable is unset ( #22511 )
2026-04-16 00:58:48 +00:00
Aiden Cline
e83b22159d
tweak: ensure auto continuing compaction is tracked as agent initiated for github copilot ( #22567 )
...
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-04-15 15:50:33 -05:00
Aiden Cline
348a84969d
fix: ensure tool_use is always followed by tool_result ( #22646 )
...
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
2026-04-15 14:56:45 -05:00
Dax
be9432a893
shared package ( #22626 )
2026-04-15 14:26:20 +00:00
Shoubhit Dash
f6409759e5
fix: restore instance context in prompt runs ( #22498 )
2026-04-15 03:59:12 +05:30
Dax Raad
6ce5c01b1a
ignore: v2 experiments
2026-04-14 14:25:38 -04:00
Kit Langton
68384613be
refactor(session): remove async facade exports ( #22471 )
2026-04-14 13:45:13 -04:00
Kit Langton
6a99079012
kit/env instance state ( #22383 )
2026-04-13 22:28:16 -04:00
Kit Langton
7a05ba47d1
refactor(session): remove compaction async facade exports ( #22366 )
2026-04-13 21:23:34 -04:00
Aiden Cline
34e2429c49
feat: add experimental.compaction.autocontinue hook to disable auto continuing after compaction ( #22361 )
2026-04-13 20:14:53 -05:00
Kit Langton
e8471256f2
refactor(session): move llm stream into layer ( #22358 )
2026-04-13 19:53:30 -04:00
Kit Langton
67aaecacac
refactor(session): remove revert async facade exports ( #22339 )
2026-04-13 16:16:13 -04:00
Kit Langton
dcbf11f41a
refactor(session): remove summary async facades ( #22337 )
2026-04-13 15:35:38 -04:00
Kit Langton
14ccff4037
refactor(agent): remove async facade exports ( #22341 )
2026-04-13 14:54:01 -04:00
Kit Langton
663e798e76
refactor(provider): remove async facade exports ( #22320 )
2026-04-13 12:40:00 -04:00
Aiden Cline
5bc2d2498d
test: ensure project and global instructions are loaded ( #22317 )
2026-04-13 11:34:38 -05:00
Aiden Cline
a915fe74be
tweak: adjust session getUsage function to use more up to date LanguageModelUsage instead of LanguageModelV2Usage ( #22224 )
2026-04-12 21:39:06 -05:00
Kit Langton
eea4253d67
refactor(session): destroy Instruction facade ( #22089 )
2026-04-11 20:04:09 -04:00
Kit Langton
ccb0b320e1
refactor(session): make SystemPrompt a proper Effect Service ( #21992 )
2026-04-11 12:52:35 -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
f99812443c
refactor: destroy SessionStatus facade ( #21968 )
2026-04-10 22:16:53 -04:00
Kit Langton
0556774097
refactor(tool): convert apply_patch to Tool.defineEffect ( #21938 )
2026-04-10 19:42:14 -04:00
Kit Langton
847f1d99c9
convert glob tool to Tool.defineEffect ( #21897 )
2026-04-10 13:56:42 -04:00
Kit Langton
f7514d9eca
refactor(tool): convert bash to defineEffect with ChildProcessSpawner ( #21895 )
2026-04-10 13:26:31 -04:00
James Long
180ded6a27
rector(core,tui): handle workspace state in project context, add workspace status, improve ui ( #21896 )
2026-04-10 13:03:20 -04:00
Kit Langton
46b74e0873
refactor(tool): convert websearch tool internals to Effect ( #21810 )
2026-04-10 11:30:38 -04:00
Kit Langton
e83404367c
refactor(tool): convert webfetch tool internals to Effect ( #21809 )
2026-04-10 10:50:13 -04:00
Shoubhit Dash
6f5a3d30fd
keep recent turns during session compaction
2026-04-10 09:34:01 +05:30
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
Kit Langton
10441efad1
refactor(effect): extract session run state service ( #21744 )
2026-04-09 16:03:40 -04:00
Kit Langton
3199383eef
fix: finalize interrupted bash via tool result path ( #21724 )
2026-04-09 15:20:28 -04:00
Kit Langton
58a99916bb
fix: preserve text part timing in session processor ( #21691 )
2026-04-09 10:05:14 -04:00
Kit Langton
c29392d085
fix: preserve interrupted bash output in tool results ( #21598 )
2026-04-09 10:03:26 -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
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
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