Commit graph

384 commits

Author SHA1 Message Date
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
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