Commit Graph

12509 Commits

Author SHA1 Message Date
Mathews-Tom 90527a5ae4 fix(coding-agent): read the settled turn from agent_end for error notifications
Classifier-refusal failures end a turn with stopReason === "error" but
get pruned from the active context (agent-session.ts's
#removeAssistantMessageFromActiveContext) before agent_end fires.
sendErrorNotification() read viewSession.getLastAssistantMessage(),
which reflects that mutated context and silently missed the
notification for exactly the turns it should fire on.

Thread the agent_end event through #handleAgentEnd -> #finishAgentEnd
so sendErrorNotification reads the turn's own outcome from
agent_end.messages instead.
2026-07-06 04:02:48 +05:30
Mathews-Tom b95155423a Merge remote-tracking branch 'upstream/main' into feat/error-notify 2026-07-06 03:03:47 +05:30
github-actions[bot] 79a397e97a Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4195#discussioncomment-DC_kwDOQxs0bc4BC6b1
2026-07-05 21:29:36 +00:00
github-actions[bot] 5e0f6e8074 Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/3627#discussioncomment-DC_kwDOQxs0bc4BC6bZ
2026-07-05 21:24:50 +00:00
github-actions[bot] 6f885cf876 Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4628#discussioncomment-DC_kwDOQxs0bc4BC6bR
2026-07-05 21:23:37 +00:00
github-actions[bot] d4fa3fa64b Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4419#discussioncomment-DC_kwDOQxs0bc4BC6bP
2026-07-05 21:23:13 +00:00
github-actions[bot] ee95b38fd4 Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4057#discussioncomment-DC_kwDOQxs0bc4BC6bJ
2026-07-05 21:21:40 +00:00
github-actions[bot] 88e41afc38 Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/3668#discussioncomment-DC_kwDOQxs0bc4BC6bC
2026-07-05 21:20:50 +00:00
github-actions[bot] beb520f2f0 Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4183#discussioncomment-DC_kwDOQxs0bc4BC6a_
2026-07-05 21:20:18 +00:00
github-actions[bot] 63a4470c79 Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4520#discussioncomment-DC_kwDOQxs0bc4BC6a8
2026-07-05 21:20:03 +00:00
can1357 dcc4e349d6 chore: fix vouched list 2026-07-05 23:19:32 +02:00
github-actions[bot] 97c4f0fbff Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4189#discussioncomment-DC_kwDOQxs0bc4BC6as
2026-07-05 21:17:45 +00:00
github-actions[bot] 2dd5d0cd0a Update VOUCHED list
https://github.com/can1357/oh-my-pi/discussions/4350#discussioncomment-DC_kwDOQxs0bc4BC6Zf
2026-07-05 21:06:36 +00:00
can1357 d806ac5e4c chore: bump version to 16.3.8 2026-07-05 19:43:28 +02:00
can1357 58f962b30c feat(patches): upgraded puppeteer and enabled main world execution
- Upgraded puppeteer-core to version 25.3.0 to resolve stealth patch deactivation.
- Enabled main world execution support via the `!world=main` directive for frames and element handles.
- Improved handle management by updating disposal logic to track and clear main world handles.
- Optimized web worker communication by removing redundant Runtime.enable calls.
2026-07-05 19:42:13 +02:00
can1357 b914f552f6 test(coding-agent): pinned plan-reference compaction window to 200k
claude-sonnet-4-5's bundled context window grew to 1M in the catalog regen, so the fixed 191k high-usage turn no longer crossed the ~85% auto-compaction threshold. The auto-continuation never fired and the three re-injection tests hung to their 5s timeout, failing the coding-agent runtime/session CI bucket and blocking the release.

Pin the harness model to a 200k window (mirrors agent-session-eager-compaction / -auto-compaction-queue), keeping the trigger stable across future catalog regenerations.
2026-07-05 17:47:07 +02:00
can1357 343ade685f fix(deps): re-keyed @ark/schema patch to 0.56.1 for wire key order
The 16.3.7 bump pulled arktype 2.2.2, which pins @ark/schema to 0.56.1. The patch was keyed to 0.56.0, so Bun silently skipped it and the arktype constraint keys reverted to hash/alphabetical order. Tool wire schemas then lost authored declaration order, failing packages/ai schema-wire tests and blocking the release pipeline.

Regenerated the patch against 0.56.1 (flattenConstraints shifted, so the old hunk offsets no longer applied) and re-pointed patchedDependencies.
2026-07-05 17:19:18 +02:00
can1357 0ca345185c chore: bump version to 16.3.7 2026-07-05 16:58:53 +02:00
can1357 3458b037ae chore: update tests 2026-07-05 16:53:07 +02:00
can1357 fdd7bdef7b feat(ai): improved reasoning block separation and validation
- Mark demoted thinking blocks with a symbol to decouple paragraph separators from the raw text content.
- Update `openai-completions` to conditionally insert a newline only when a demoted thinking block is followed by other content.
- Ensure terminal demoted thinking blocks are trimmed to prevent trailing whitespace that causes rejection by the Anthropic API.
2026-07-05 16:25:12 +02:00
can1357 336e1edf7a chore: organized test scripts in CI workspace and package configuration
- Added scripts/fix-dts-extensions.test.ts to the test:scripts npm script.
- Included the .d.ts extension rewrite test in the CI workspace test suite.
- Updated repoScriptTests list in scripts/ci-test-ts.ts to ensure consistent tracking.
2026-07-05 16:01:51 +02:00
can1357 302f1c3beb test(coding-agent): implemented verification for sdk model selection logic
- Updated event controller fixture to include requestComponentRender mock.
- Added test case for resolving deferred role-alias model patterns.
- Added test case for parsing and falling back comma-delimited model patterns.
2026-07-05 15:57:24 +02:00
can1357 8519286ef7 feat(coding-agent): implemented watchdog and abort logic for lsp notifications
- Implemented a 2-second timeout for `workspace/didChangeWatchedFiles` notifications to prevent agent stalls during server congestion.
- Updated `runLspWritethrough` to gracefully reset notification state when the internal watchdog triggers but the primary operation remains active.
- Added explicit abort signal checks in `acp-bridge` to prevent initiation of file writes after tool cancellation.
- Refactored `notifyWorkspaceWatchedFiles` to use `AbortSignal.any` for unified signaling across timeout and caller-provided triggers.
2026-07-05 15:57:24 +02:00
can1357 092b95d473 test(ai): validated parallel tool call argument routing and chunk handling
- Added a test case to ensure brace-prefixed chunks remain with their original sibling tool call.
- Validated that parallel function call arguments are correctly routed to their respective tool call blocks.
2026-07-05 15:57:24 +02:00
can1357 da705d76e6 feat(coding-agent): unified resolution logic for deferred model patterns
- Enabled comma-separated string splitting within array-based model patterns.
- Expanded deferred model patterns before registration to align with immediate resolution behavior.
- Unified resolution logic to ensure deferred patterns support the same role aliases and chaining as the standard path.
2026-07-05 15:57:24 +02:00
can1357 2f7e95d533 feat(ai): implemented json prefix validation for tool call buffering
- Implemented classifyJsonPrefix validation to determine when tool-call JSON chunks are complete.
- Updated delta processing logic to prevent premature chunk advancement by checking if a continuation remains valid or if it forms a distinct sibling call.
2026-07-05 15:57:24 +02:00
can1357 d63c69d7c3 feat(utils): implemented buffer classification for stream parsing
- Implemented classifyJsonPrefix to categorize buffers as complete, valid prefix, or invalid based on RFC 8259 strictness.
- Added utility to support disambiguation of identifierless streaming tool-call deltas during model response processing.
- Validated classifier logic with comprehensive suite covering nested structures, escape sequences, and strict formatting rules.
2026-07-05 15:57:24 +02:00
can1357 34aea528a3 chore: update changelogs 2026-07-05 14:35:17 +02:00
can1357 a89f48188a chore: normalized changelog placement after merges 2026-07-05 13:39:20 +02:00
can1357 34303db1ce test(session): assert persistence-key cache avoids branch walks 2026-07-05 13:39:11 +02:00
can1357 b3c661f164 Merge PR #4272: perf(session): cache persisted-message keys, invalidate on branch change (@metaphorics) 2026-07-05 13:39:11 +02:00
can1357 d06fe496eb test: cover runtime dynamic model fetch timeout 2026-07-05 13:39:10 +02:00
can1357 e4f05ae182 Merge PR #4266: fix(config): cache failed !command resolutions, bound dynamic fetch timeout (@metaphorics) 2026-07-05 13:39:10 +02:00
can1357 f3e372e7bf fix(tui): preserve agent hub persisted gating 2026-07-05 13:39:10 +02:00
can1357 507e0fae4d Merge PR #4268: perf(tui): load persisted subagents asynchronously (@metaphorics) 2026-07-05 13:39:10 +02:00
can1357 46e0cdd4b6 test(coding-agent): cover copy selector cache invalidation 2026-07-05 13:39:10 +02:00
can1357 1db9277346 Merge PR #4267: perf(tui): memoize copy-selector preview highlight across renders (@metaphorics) 2026-07-05 13:39:09 +02:00
can1357 76e21e9364 test(eval): cover JS worker exits 2026-07-05 13:39:09 +02:00
can1357 64eab4e1c6 Merge PR #4273: fix(eval): surface unexpected JS eval worker exit via close listener (@metaphorics) 2026-07-05 13:39:09 +02:00
can1357 336e1529dc Merge PR #4271: fix(task): abort underlying MCP call when proxy tool timeout fires (@metaphorics) 2026-07-05 13:39:09 +02:00
can1357 c984dc554c Merge PR #4274: perf(export): skip TTSR delta buffering when no rule matches text/thinking (@metaphorics) 2026-07-05 13:39:09 +02:00
can1357 91db5eb661 Merge PR #4265: fix(bash): delete pre-created snapshot file on creation failure (@metaphorics) 2026-07-05 13:39:08 +02:00
can1357 00076fd9b3 test(coding-agent): covered docs.rs gunzip cap via extracted seam
- Extracted gunzipRustdocJson() with overridable maxOutputLength so the cap contract is testable with real gzip payloads instead of the banned mock.module().
2026-07-05 13:31:22 +02:00
can1357 d00308b912 test: removed docs.rs gunzip cap test relying on banned mock.module 2026-07-05 13:27:49 +02:00
can1357 8b22556143 style: removed unused imports after dead helper cleanup 2026-07-05 13:27:13 +02:00
can1357 59976e7d82 style: removed dead test helpers and formatted merged tests 2026-07-05 13:26:57 +02:00
can1357 e22fe1af52 chore: added queued-rows changelog entry and normalized changelog placement 2026-07-05 13:25:54 +02:00
metaphorics a82bbd89d7 fix(tui): keep queued-message rows out of scrollback
Op: correct

Restores: spec: queued-message live rows must not be committed to native scrollback
2026-07-05 13:25:36 +02:00
can1357 734aed4c03 Merge PR #4382: fix(compaction): keep plan-mode guidance off the session_before_compact hook (@roboomp) 2026-07-05 13:25:28 +02:00
can1357 36c3e26fee Merge PR #4381: fix(coding-agent): queue approved plan behind turns flushed by compaction (@roboomp) 2026-07-05 13:25:27 +02:00