Aiden Cline
4bc90593df
feat(codemode): interrupt all pending work at program return
...
Replace the two-class completion lifecycle with one rule: once the
program returns, every promise still running - race losers, fail-fast
stragglers, and fire-and-forget calls alike - is interrupted rather
than awaited. Work whose completion matters must be awaited by the
program.
Waiting for un-awaited work before interrupting observed leftovers
could hold the execution open or deadlock it outright: a fire-and-
forget chain awaiting a race loser, or queued work needing tool-call
permits the losers occupied, blocked a drain that only the pending
interruption could unblock. Rejections that settled un-awaited before
the return still surface as Success.warnings diagnostics.
Give warnings their own output byte budget equal to maxOutputBytes so
a budget-consuming value can never starve runtime diagnostics, and
state the lifetime rule in the model-facing instructions. Port ten
curated Test262 combinator cases (duplicate members, already-settled
inputs, ordering, resolve/reject flattening) and cover the timeout-
during-cleanup path with a never-settling slow-cleanup harness tool.
2026-07-09 23:22:28 -05:00
Aiden Cline
d785803dd6
fix(codemode): interrupt observed leftovers and report warnings
...
Rework the execution promise lifecycle:
- Normal completion drains unobserved (fire-and-forget) promises to
empty, then interrupts remaining observed work (race losers,
fail-fast Promise.all stragglers) in one synchronous batch signal,
so abandoned losers no longer gate completion or eat the timeout.
- Replace Success.unhandledRejections/unhandledRejectionsTruncated
with a generic warnings diagnostics channel; byte-budget truncation
appends an in-band Truncated marker diagnostic.
- A timeout firing after the program returned keeps the computed
value and reports a leading TimeoutExceeded warning instead of
discarding the result.
- Make PromiseRuntime effect construction pure: split observe() into
synchronous markObserved() plus a pure await(), and allocate
creation ids at execution time before the fork.
- Replace the O(n^2) raceAll loop in Promise.all with fail-fast
Effect.all over waiter subscriptions; sibling work is never
cancelled at rejection time.
- Bind all per-execution state (tool runtime, logs, timeout
bookkeeping) at run time so a reused execution Effect starts clean.
2026-07-09 19:34:28 -05:00
Aiden Cline
367db9d2e6
test(codemode): add promise conformance corpus
2026-07-09 16:14:23 -05:00
Aiden Cline
02ce4a330f
chore: merge v2 into promise-combinators
2026-07-09 11:49:12 -05:00
James Long
855a9569b5
feat(simulation): add literal screen text matching ( #36085 )
2026-07-09 10:50:35 -04:00
Kit Langton
aa0e626b12
fix(core): defer permission rejection cleanup ( #36067 )
2026-07-09 09:49:14 -04:00
Aiden Cline
389c866cac
docs(codemode): add interpreter doc ( #36026 )
2026-07-09 00:42:48 -05:00
Aiden Cline
7feefb697f
refactor: remove todo tool ( #35989 )
2026-07-09 00:13:48 -05:00
Dax Raad
d4155f2906
refactor(cli): simplify mini arguments
2026-07-08 23:28:40 -04:00
Dax Raad
67f2393f83
refactor(cli): parse variants from model refs
2026-07-08 23:25:37 -04:00
Dax Raad
cccd013801
refactor(cli): centralize server resolution
2026-07-08 22:10:30 -04:00
Dax Raad
be7a684791
refactor(cli): unify server endpoint handling
2026-07-08 22:10:30 -04:00
Kit Langton
984cab7938
feat(core): generalize session input inbox ( #36005 )
2026-07-08 22:07:45 -04:00
Aiden Cline
7eea97184a
fix(tui): restore prompt after undo ( #35987 )
2026-07-08 19:54:29 -05:00
Kit Langton
0590819090
fix(server): absorb healthy event bursts
2026-07-08 20:33:28 -04:00
opencode-agent[bot]
687dbba6a3
chore: merge dev into v2 ( #35962 )
...
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: James Long <longster@gmail.com>
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Dustin Deus <deusdustin@gmail.com>
Co-authored-by: starptech <starptech@starptechs-MBP.fritz.box>
Co-authored-by: Frank <frank@anoma.ly>
Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com>
Co-authored-by: opencode-agent[bot] <219766164+opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: 𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴 <little-frank@opencord.local>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: Dax <mail@thdxr.com>
Co-authored-by: usrnk1 <7547651+usrnk1@users.noreply.github.com>
Co-authored-by: Jay <53023+jayair@users.noreply.github.com>
Co-authored-by: Brendan Allan <git@brendonovich.dev>
Co-authored-by: Brendan Allan <14191578+Brendonovich@users.noreply.github.com>
Co-authored-by: runvip <164729189+runvip@users.noreply.github.com>
Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
Co-authored-by: Jack <jack@anoma.ly>
Co-authored-by: opencode <opencode@sst.dev>
Co-authored-by: Aarav Sareen <96787824+arvsrn@users.noreply.github.com>
Co-authored-by: Julian Coy <julian@ex-machina.co>
Co-authored-by: Vladimir Glafirov <vglafirov@gitlab.com>
Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com>
Co-authored-by: Kit Langton <kit.langton@gmail.com>
Co-authored-by: Simon Klee <hello@simonklee.dk>
Co-authored-by: Jay <air@live.ca>
Co-authored-by: David Hill <1879069+iamdavidhill@users.noreply.github.com>
Co-authored-by: James Long <jlongster@users.noreply.github.com>
Co-authored-by: 冯基魁 <56265583+fengjikui@users.noreply.github.com>
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
2026-07-08 17:58:55 -05:00
Dax Raad
2347f4d7b4
fix(tui): simplify server link title
2026-07-08 18:47:48 -04:00
Dax Raad
7698a5e6ac
feat: add server link sharing
2026-07-08 18:42:54 -04:00
Aiden Cline
ec8eea7cbe
test(codemode): add Test262 array coverage ( #35965 )
2026-07-08 17:26:11 -05:00
Aiden Cline
b44a981eef
feat(core): global form support ( #35959 )
2026-07-08 17:25:34 -05:00
James Long
79415f625a
feat(tui): revamp session export ( #35971 )
2026-07-08 18:14:43 -04:00
Simon Klee
19f42f7102
feat(v2/cli): add console login ( #35969 )
2026-07-09 00:00:09 +02:00
Aiden Cline
212c9f99ee
test(codemode): add Test262 string coverage ( #35940 )
2026-07-08 15:51:54 -05:00
James Long
99e52303e6
feat(core): discover ecosystem skill directories ( #35956 )
2026-07-08 16:34:41 -04:00
Dax Raad
88925ec6e6
fix(tui): allow callers without log sink
2026-07-08 16:00:52 -04:00
Dax Raad
cedf365674
feat(tui): add structured logging
2026-07-08 16:00:07 -04:00
Kit Langton
5b39972947
fix(core): await initial plugin readiness ( #35755 )
2026-07-08 15:12:45 -04:00
Aiden Cline
f3c28008de
docs(codemode): clarify output byte budget
2026-07-08 13:50:31 -05:00
Aiden Cline
b2f5c07fd1
fix(codemode): preserve floating rejection results
2026-07-08 12:02:27 -05:00
James Long
09553d46e0
refactor(simulation): remove filesystem layers ( #35938 )
2026-07-08 12:22:04 -04:00
James Long
e1d72fa338
fix(simulation): stabilize screenshot artifacts ( #35933 )
2026-07-08 11:48:53 -04:00
Dax Raad
b3cf749a7f
fix(tui): show resolved skill name
2026-07-08 11:46:02 -04:00
Dax Raad
dd842f9862
fix(cli): elect one service process
2026-07-08 11:46:02 -04:00
Kit Langton
3dd29094f4
feat(http-recorder): sync recorder v0.3 ( #35619 )
2026-07-08 11:41:59 -04:00
Aiden Cline
05e8d5be73
fix(core): preserve prompt attachment order ( #35921 )
2026-07-08 10:06:58 -05:00
Dax Raad
8b634e4a58
refactor(tui): simplify client data state
2026-07-08 10:37:48 -04:00
James Long
c6156f171c
feat(simulation): stream UI recordings ( #35909 )
2026-07-08 10:33:11 -04:00
Dax Raad
4d2b06f8cf
docs: prohibit bypassing git hooks
2026-07-08 10:11:46 -04:00
𝓛𝓲𝓽𝓽𝓵𝓮 𝓕𝓻𝓪𝓷𝓴
bf15c97e4b
Revert "fix(tui): paginate session history"
...
This reverts commit cc29f86cdc .
2026-07-08 13:45:20 +00:00
Shoubhit Dash
3cbcd8d727
feat(llm): complete provider package entrypoints ( #35907 )
2026-07-08 18:41:46 +05:30
Dax Raad
cc29f86cdc
fix(tui): paginate session history
2026-07-08 01:34:43 -04:00
Dax Raad
86e3828da6
fix(core): watch location only when vcs is present
2026-07-08 00:38:56 -04:00
James Long
8d00a51766
feat(simulation): support multiple tool calls ( #35861 )
2026-07-08 00:35:18 -04:00
opencode-agent[bot]
ed4f833813
fix(core): preserve provider metadata namespaces ( #35817 )
...
Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
2026-07-07 21:45:58 -05:00
opencode-agent[bot]
e96c24ce2e
test(core): fix mutable plugin fixture ( #35837 )
2026-07-07 22:22:12 -04:00
Kit Langton
ed6ad272ec
refactor(schema): apply session review decisions ( #35793 )
2026-07-07 22:10:11 -04:00
Kit Langton
d27746e5b3
test(core): simplify runner test fixtures ( #35832 )
2026-07-07 21:58:52 -04:00
Kit Langton
eb661e6e6d
fix(core): settle unadvertised tool calls and repair session hook test contexts
2026-07-07 21:51:23 -04:00
Dax Raad
3379e44abb
refactor(core): rename ApplyPatchTool to PatchTool
2026-07-07 21:16:00 -04:00
Dax
e1abf59c59
fix(core): provide PluginHooks in plugin test layer ( #35811 )
2026-07-07 20:03:41 -04:00