Commit Graph

16593 Commits

Author SHA1 Message Date
can1357 d5861c2c66 chore: bump version to 17.2.2 2026-07-31 20:56:49 +02:00
can1357 b3e0bde7b7 refactor(coding-agent): adjusted block resolution formatting and update tests
- Update hashline block resolution formatting to correctly incorporate anchor lines within operation labels.
- Fix and update test assertions and mock contexts across coding agent tests.
2026-07-31 20:55:37 +02:00
can1357 2c85a74cd4 chore: rewrite changelog 2026-07-31 20:40:52 +02:00
can1357 06649b7407 feat(coding-agent): rewrote codex saved-reset trigger algorithm
- Replaced the reactive weekly-only auto-redeem predicate with a pool-wide
  planner: an expiry-salvage sweep piggybacks on the 5-minute usage
  heartbeat and spends any account's reset that would otherwise expire
  within codexResets.salvageHorizonHours, and the blocked-turn path scans
  all stored accounts with eligibility built from the exact exhausted
  5h/weekly windows (openai/codex#28525), unblocking at the latest reset
  among them.
- Made the live 429's parsed unblock timestamp authoritative for the
  active account (pre-block snapshots survive cache invalidation via
  in-flight adoption and last-good fallback), synthesizing the candidate
  when no usable report exists, and overlaying live credit counts from
  the dedicated credits route since a stale /wham/usage zero is never
  corrected upstream.
- Treated nothing_to_reset, credit_list_failed, and thrown consumes as
  non-terminal: the episode key is released and deferred 30 minutes
  instead of burying a banked credit; redeemResetCredit now spends the
  soonest-expiring credit.
- Added planner unit fixtures plus integration regressions driving the
  real triggers end to end, with an injectable per-session coordinator
  seam and a sweep settlement handle.
2026-07-31 20:39:12 +02:00
can1357 c565e6fb44 feat(catalog): migrated model catalog endpoints to stencil.so with ETag and ZStd
- Migrated model catalog fetching and documentation references from the models.dev API to the stencil.so well-known models endpoint.
- Added support for zstd decompression and session-based caching with ETag conditional requests and stale fallback handling.
- Updated test suites, mock URLs, and constants across catalog and coding-agent packages to target stencil.so.
2026-07-31 20:38:49 +02:00
can1357 f76ce86966 Merge PR #6840: feat(extensions): add ctx.invokeTool for native built-in delegation (@psyrendust) 2026-07-31 20:17:32 +02:00
can1357 4d45e8154a fix(eval): consulted starting sessions when scoping kernel resets
- resolveOwnerScopedSessionKey's getOwners in the Python and JS executors
  only read live sessions, so a subagent reset issued while the shared
  kernel was still starting resolved to the base key, awaited the
  parent's startup, and shut its brand-new kernel down.
- Python and JS starting sessions are now owner-bearing records like
  Ruby/Julia's: owners attach synchronously before startup resolves,
  getOwners and per-owner disposal consult them, and the final
  sessions.set is identity-guarded so a disposed starting record cannot
  resurrect its kernel.
- Regression: deferred PythonKernel.start proves a concurrent subagent
  reset forks immediately and never reaps the parent's starting kernel
  (fails with the previous getOwners).
2026-07-31 20:15:07 +02:00
can1357 ccc9b900cf fix(eval): forked subagent kernel resets away from shared sessions
- Subagents inherit the parent's eval session id, so a child's
  reset: true destroyed the co-owned kernel and every sibling's
  interpreter state mid-session.
- resolveOwnerScopedSessionKey now routes a reset from a non-exclusive
  owner onto a deterministic per-owner fork key: the requester gets a
  fresh private kernel, co-owners keep the shared one, and the fork
  stays sticky for that owner until its teardown reaps it.
- Applied across Python, JavaScript, Ruby, and Julia executors; JS
  contexts gained an owner registry plus disposeVmContextsByOwner,
  wired into EvalRunner.disposeKernels and SDK session teardown.
- Covered by pure key-resolution contracts and an end-to-end JS test:
  co-owner reset forks, shared state survives, fork is sticky, and
  per-owner dispose reaps only the fork.
2026-07-31 20:13:23 +02:00
can1357 dea8cf04a7 test(coding-agent): restored pipe-based probes in telemetry and snapshot suites
- The earlier EBADF 'hardening' was chasing a Bun 1.4-canary quirk that
  only triggers when bun test runs workspace-package files from the repo
  root; the canonical runner (scripts/ci-test-ts.ts) always uses the
  package cwd, where the original PR-authored pipe-based assertions pass.
- Restores the stronger stdout contracts from PRs #7135 and #7141.
2026-07-31 20:02:15 +02:00
can1357 dff1224767 test(task): moved IRC observer stubs into session fake literals 2026-07-31 19:53:31 +02:00
can1357 a6c6257574 chore: applied formatter and deduplicated observer stubs in task fixtures 2026-07-31 19:51:52 +02:00
can1357 161073a79e docs(natives): moved workspace addon fix note to unreleased 2026-07-31 19:43:17 +02:00
David Andrews 726844b019 fix(natives): preserve workspace addons 2026-07-31 19:42:52 +02:00
David Andrews 89f00d9a9b fix(natives): handle uppercase node_modules paths 2026-07-31 19:42:52 +02:00
David Andrews fefbdf072e test(natives): restore loader variant cache 2026-07-31 19:42:52 +02:00
David Andrews 8039a5df59 docs(natives): attribute workspace addon fix 2026-07-31 19:42:52 +02:00
David Andrews e2dedf3ade test(natives): cover workspace loader policy 2026-07-31 19:42:52 +02:00
David Andrews ec9b067d91 fix(natives): prefer workspace native addon 2026-07-31 19:42:52 +02:00
can1357 aa5b11f03f Merge PR #7063: test(coding-agent): avoid MCP startup race (@GratefulDave) 2026-07-31 19:42:43 +02:00
can1357 63d6bd3064 Merge PR #7060: fix(browser): own headless Chromium profile dir to survive Windows EBUSY cleanup (@roboomp) 2026-07-31 19:42:43 +02:00
can1357 e1ad89abe1 fix(changelog): place PR 7055 notes under Unreleased 2026-07-31 19:42:43 +02:00
can1357 a91fa13116 Merge PR #7055: fix(tui): preserve literal code block rows (@GratefulDave) 2026-07-31 19:42:43 +02:00
can1357 5764021c81 fix(compaction): cap every summary transport 2026-07-31 19:42:43 +02:00
can1357 0d9c634665 Merge PR #7008: fix(compaction): cap the generated summary output budget (@terrxo) 2026-07-31 19:42:42 +02:00
can1357 f46af54f9c fix(browser): preserve screenshot correctness when attached 2026-07-31 19:42:42 +02:00
can1357 ce1ec2103f Merge PR #7006: fix(tools): stop browser automation from stealing focus in an attached browser (@terrxo)
# Conflicts:
#	packages/coding-agent/src/tools/browser/tab-supervisor.ts
2026-07-31 19:42:12 +02:00
can1357 9c1facec10 test(browser): cover attached tab navigation 2026-07-31 19:41:44 +02:00
can1357 6da7648262 Merge PR #7005: fix(tools): navigate to the requested url when opening an attached browser tab (@terrxo) 2026-07-31 19:41:44 +02:00
can1357 19cd9fad1b Merge PR #6990: fix(collab-web): make host state authoritative for guest liveness (@metaphorics) 2026-07-31 19:41:44 +02:00
can1357 a9573cbf28 test(task): stubbed setIrcWakeTurnObserver on executor session fakes
- The IRC wake monitor from PR #7108 calls the observer on every kept-alive
  subagent finalize; fakes across the executor suites predate the method
  and threw during finalization (69 failures).
2026-07-31 19:41:38 +02:00
can1357 f564b36086 test(coding-agent): fixed launch-startup fake cast and telemetry probe stdio 2026-07-31 19:34:40 +02:00
can1357 e9dda1f867 chore: applied biome formatting to merged pull request sources 2026-07-31 19:32:42 +02:00
can1357 dcf0fd3f3a Merge PR #7111: fix(web-search): honor lang: directive in DuckDuckGo kl param (@roboomp)
# Conflicts:
#	packages/coding-agent/src/web/search/providers/duckduckgo.ts
2026-07-31 19:30:18 +02:00
can1357 f1f7ed7f75 Merge PR #7113: fix(tui): ignore system sleep in loop watchdog (@wolfiesch) 2026-07-31 19:28:43 +02:00
can1357 bd96752b83 fix(rpc): serialize IRC wake finalization 2026-07-31 19:28:43 +02:00
can1357 e02510f8c9 Merge PR #7108: fix(rpc): restore frames for IRC-revived subagents (@roboomp) 2026-07-31 19:28:42 +02:00
can1357 74b7c0d786 Merge PR #7103: fix(test): gave CLI-spawning tests explicit timeouts (@psyrendust) 2026-07-31 19:28:42 +02:00
can1357 1f4312bfcb Merge PR #7100: fix(commit): load extension-provided models (@roboomp) 2026-07-31 19:28:42 +02:00
can1357 160907233b Merge PR #7097: fix(catalog): route Copilot Grok 4.5 to Responses (@roboomp) 2026-07-31 19:28:42 +02:00
can1357 c4726607c3 fix(rpc): wake waiters on malformed terminal frames 2026-07-31 19:28:42 +02:00
can1357 4c214c3f5b Merge PR #7088: fix(rpc): harden Python protocol compatibility (@wolfiesch) 2026-07-31 19:28:41 +02:00
can1357 8cd634350f test(mnemopi): make statement lifetime checks portable 2026-07-31 19:28:41 +02:00
can1357 da0f16966d Merge PR #7084: fix(mnemopi): release one-shot prepared statements (@Cyrus580529) 2026-07-31 19:28:41 +02:00
can1357 563f00fe31 chore: drop unrelated test changes from ACP fix 2026-07-31 19:28:41 +02:00
can1357 977b5d4281 Merge PR #7079: acp: wire ctx.ui.editor through elicitFromAcpClient (@marton78) 2026-07-31 19:28:41 +02:00
can1357 6480167f95 fix(catalog): align Cursor identity import with main 2026-07-31 19:28:41 +02:00
can1357 fa84e3924d test(catalog): cover Cursor v2 cache invalidation 2026-07-31 19:28:10 +02:00
can1357 7bcd1aff41 Merge PR #7072: feat(cursor): expose 1M context windows in model discovery (@mmmeff)
# Conflicts:
#	packages/catalog/src/discovery/cursor.ts
2026-07-31 19:28:10 +02:00
can1357 b2784c5823 chore(coding-agent): keep LSP fix scope focused 2026-07-31 19:27:35 +02:00
can1357 7205ed78c1 Merge PR #7069: fix(coding-agent): prevent stale LSP batch writes (@Ant39140) 2026-07-31 19:27:35 +02:00