@stigmer/runner 3.15.0 → 3.15.2-dev.20260913223433
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -4
- package/dist/.build-fingerprint +1 -1
- package/dist/__test-utils__/execution-record-fixture.d.ts +14 -0
- package/dist/__test-utils__/execution-record-fixture.js +4 -0
- package/dist/__test-utils__/execution-record-fixture.js.map +1 -1
- package/dist/__test-utils__/file-review-projection.d.ts +40 -0
- package/dist/__test-utils__/file-review-projection.js +136 -0
- package/dist/__test-utils__/file-review-projection.js.map +1 -0
- package/dist/__test-utils__/harness-contract/types.d.ts +23 -1
- package/dist/__test-utils__/harness-contract/types.js +15 -0
- package/dist/__test-utils__/harness-contract/types.js.map +1 -1
- package/dist/__test-utils__/hermetic-activity.d.ts +44 -12
- package/dist/__test-utils__/hermetic-activity.js +52 -14
- package/dist/__test-utils__/hermetic-activity.js.map +1 -1
- package/dist/__test-utils__/model-registry-fixture.d.ts +32 -7
- package/dist/__test-utils__/model-registry-fixture.js +31 -7
- package/dist/__test-utils__/model-registry-fixture.js.map +1 -1
- package/dist/__test-utils__/turn-input-fixture.d.ts +1 -1
- package/dist/__test-utils__/turn-input-fixture.js +1 -1
- package/dist/__test-utils__/turn-input-fixture.js.map +1 -1
- package/dist/activities/call-agent.js +2 -2
- package/dist/activities/call-agent.js.map +1 -1
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.js +45 -3
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.js.map +1 -1
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.d.ts +0 -9
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js +2 -41
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js.map +1 -1
- package/dist/activities/execute-cursor/adapter.d.ts +7 -5
- package/dist/activities/execute-cursor/adapter.js +7 -5
- package/dist/activities/execute-cursor/adapter.js.map +1 -1
- package/dist/activities/execute-cursor/approval-policy.d.ts +5 -2
- package/dist/activities/execute-cursor/approval-policy.js +5 -2
- package/dist/activities/execute-cursor/approval-policy.js.map +1 -1
- package/dist/activities/execute-cursor/approval-state.d.ts +16 -8
- package/dist/activities/execute-cursor/approval-state.js +6 -3
- package/dist/activities/execute-cursor/approval-state.js.map +1 -1
- package/dist/activities/execute-cursor/cas-observations.d.ts +14 -2
- package/dist/activities/execute-cursor/cas-observations.js +19 -2
- package/dist/activities/execute-cursor/cas-observations.js.map +1 -1
- package/dist/activities/execute-cursor/cursor-capabilities.d.ts +8 -4
- package/dist/activities/execute-cursor/cursor-capabilities.js +21 -4
- package/dist/activities/execute-cursor/cursor-capabilities.js.map +1 -1
- package/dist/activities/execute-cursor/message-translator.d.ts +12 -20
- package/dist/activities/execute-cursor/message-translator.js +19 -32
- package/dist/activities/execute-cursor/message-translator.js.map +1 -1
- package/dist/activities/execute-cursor/prompt-builder.d.ts +48 -58
- package/dist/activities/execute-cursor/prompt-builder.js +76 -95
- package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
- package/dist/activities/execute-cursor/turn-boundary.d.ts +27 -55
- package/dist/activities/execute-cursor/turn-boundary.js +30 -90
- package/dist/activities/execute-cursor/turn-boundary.js.map +1 -1
- package/dist/activities/execute-cursor/turn-settle.d.ts +11 -7
- package/dist/activities/execute-cursor/turn-settle.js +37 -49
- package/dist/activities/execute-cursor/turn-settle.js.map +1 -1
- package/dist/activities/execute-cursor/turn-setup.d.ts +16 -24
- package/dist/activities/execute-cursor/turn-setup.js +29 -59
- package/dist/activities/execute-cursor/turn-setup.js.map +1 -1
- package/dist/activities/execute-cursor/turn-stream.d.ts +3 -8
- package/dist/activities/execute-cursor/turn-stream.js +9 -22
- package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
- package/dist/activities/execute-cursor/turn.js +5 -1
- package/dist/activities/execute-cursor/turn.js.map +1 -1
- package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.d.ts +93 -0
- package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js +348 -0
- package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js.map +1 -0
- package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.d.ts +170 -0
- package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js +225 -0
- package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js.map +1 -0
- package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.d.ts +24 -0
- package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js +41 -0
- package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js.map +1 -0
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.d.ts +54 -0
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js +72 -0
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js.map +1 -0
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.d.ts +187 -23
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js +238 -27
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js.map +1 -1
- package/dist/activities/execute-deep-agent/adapter.d.ts +41 -0
- package/dist/activities/execute-deep-agent/adapter.js +78 -0
- package/dist/activities/execute-deep-agent/adapter.js.map +1 -0
- package/dist/activities/execute-deep-agent/cas-capture-observer.d.ts +8 -0
- package/dist/activities/execute-deep-agent/cas-capture-observer.js +9 -0
- package/dist/activities/execute-deep-agent/cas-capture-observer.js.map +1 -1
- package/dist/activities/execute-deep-agent/deep-agent-capabilities.d.ts +31 -0
- package/dist/activities/execute-deep-agent/deep-agent-capabilities.js +40 -0
- package/dist/activities/execute-deep-agent/deep-agent-capabilities.js.map +1 -0
- package/dist/activities/execute-deep-agent/execution-state.d.ts +4 -11
- package/dist/activities/execute-deep-agent/execution-state.js +4 -12
- package/dist/activities/execute-deep-agent/execution-state.js.map +1 -1
- package/dist/activities/execute-deep-agent/hitl.d.ts +49 -47
- package/dist/activities/execute-deep-agent/hitl.js +77 -103
- package/dist/activities/execute-deep-agent/hitl.js.map +1 -1
- package/dist/activities/execute-deep-agent/prompt-builder.d.ts +51 -23
- package/dist/activities/execute-deep-agent/prompt-builder.js +115 -76
- package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
- package/dist/activities/execute-deep-agent/status-builder-shared.d.ts +18 -32
- package/dist/activities/execute-deep-agent/status-builder-shared.js +10 -65
- package/dist/activities/execute-deep-agent/status-builder-shared.js.map +1 -1
- package/dist/activities/execute-deep-agent/streaming-side-effects.d.ts +10 -8
- package/dist/activities/execute-deep-agent/streaming-side-effects.js +12 -14
- package/dist/activities/execute-deep-agent/streaming-side-effects.js.map +1 -1
- package/dist/activities/execute-deep-agent/subagent-tracker.d.ts +36 -13
- package/dist/activities/execute-deep-agent/subagent-tracker.js +76 -39
- package/dist/activities/execute-deep-agent/subagent-tracker.js.map +1 -1
- package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +25 -28
- package/dist/activities/execute-deep-agent/subagent-transformer.js +29 -82
- package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -1
- package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +3 -2
- package/dist/activities/execute-deep-agent/subagent-wiring.js +2 -2
- package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -1
- package/dist/activities/execute-deep-agent/turn-settle.d.ts +42 -0
- package/dist/activities/execute-deep-agent/turn-settle.js +146 -0
- package/dist/activities/execute-deep-agent/turn-settle.js.map +1 -0
- package/dist/activities/execute-deep-agent/turn-setup.d.ts +212 -0
- package/dist/activities/execute-deep-agent/turn-setup.js +430 -0
- package/dist/activities/execute-deep-agent/turn-setup.js.map +1 -0
- package/dist/activities/execute-deep-agent/turn-stream.d.ts +97 -0
- package/dist/activities/execute-deep-agent/turn-stream.js +242 -0
- package/dist/activities/execute-deep-agent/turn-stream.js.map +1 -0
- package/dist/activities/execute-deep-agent/turn.d.ts +42 -0
- package/dist/activities/execute-deep-agent/turn.js +116 -0
- package/dist/activities/execute-deep-agent/turn.js.map +1 -0
- package/dist/activities/execute-deep-agent/v3-event-recorder.d.ts +6 -5
- package/dist/activities/execute-deep-agent/v3-event-recorder.js +6 -5
- package/dist/activities/execute-deep-agent/v3-event-recorder.js.map +1 -1
- package/dist/activities/execute-deep-agent/v3-events.d.ts +1 -1
- package/dist/activities/execute-deep-agent/v3-events.js +1 -1
- package/dist/activities/execute-deep-agent/v3-status-builder.d.ts +60 -17
- package/dist/activities/execute-deep-agent/v3-status-builder.js +72 -57
- package/dist/activities/execute-deep-agent/v3-status-builder.js.map +1 -1
- package/dist/harness/approval-decisions.d.ts +61 -0
- package/dist/harness/approval-decisions.js +102 -0
- package/dist/harness/approval-decisions.js.map +1 -0
- package/dist/harness/capabilities.d.ts +16 -5
- package/dist/harness/capabilities.js +9 -0
- package/dist/harness/capabilities.js.map +1 -1
- package/dist/harness/capture.d.ts +144 -0
- package/dist/harness/capture.js +219 -0
- package/dist/harness/capture.js.map +1 -0
- package/dist/harness/persist-chokepoint.d.ts +19 -4
- package/dist/harness/persist-chokepoint.js +17 -4
- package/dist/harness/persist-chokepoint.js.map +1 -1
- package/dist/harness/run-turn.js +115 -29
- package/dist/harness/run-turn.js.map +1 -1
- package/dist/harness/terminal-table.d.ts +40 -11
- package/dist/harness/terminal-table.js +58 -19
- package/dist/harness/terminal-table.js.map +1 -1
- package/dist/harness/turn-context.d.ts +141 -76
- package/dist/harness/turn-context.js +194 -99
- package/dist/harness/turn-context.js.map +1 -1
- package/dist/harness/types.d.ts +65 -12
- package/dist/harness/types.js +8 -2
- package/dist/harness/types.js.map +1 -1
- package/dist/harness-adapters.d.ts +12 -8
- package/dist/harness-adapters.js +17 -9
- package/dist/harness-adapters.js.map +1 -1
- package/dist/middleware/approval-gate.d.ts +1 -1
- package/dist/middleware/approval-gate.js +1 -1
- package/dist/middleware/approval-gate.js.map +1 -1
- package/dist/middleware/cost-advisory.d.ts +39 -0
- package/dist/middleware/{cost-cap.js → cost-advisory.js} +37 -55
- package/dist/middleware/cost-advisory.js.map +1 -0
- package/dist/middleware/index.d.ts +23 -12
- package/dist/middleware/index.js +26 -18
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/types.d.ts +3 -2
- package/dist/runner-manager.js +1 -5
- package/dist/runner-manager.js.map +1 -1
- package/dist/runner.js +1 -5
- package/dist/runner.js.map +1 -1
- package/dist/shared/attachment-resolver.d.ts +41 -18
- package/dist/shared/attachment-resolver.js +178 -46
- package/dist/shared/attachment-resolver.js.map +1 -1
- package/dist/shared/attachment-zip.d.ts +85 -0
- package/dist/shared/attachment-zip.js +185 -0
- package/dist/shared/attachment-zip.js.map +1 -0
- package/dist/shared/connect-backfill.js +5 -4
- package/dist/shared/connect-backfill.js.map +1 -1
- package/dist/shared/cost-guard.d.ts +3 -3
- package/dist/shared/cost-guard.js +3 -3
- package/dist/shared/execution-status-writer.d.ts +5 -5
- package/dist/shared/execution-status-writer.js +5 -5
- package/dist/shared/extract-structured-output.d.ts +8 -7
- package/dist/shared/extract-structured-output.js +8 -7
- package/dist/shared/extract-structured-output.js.map +1 -1
- package/dist/shared/filereview/cas-progress.d.ts +1 -18
- package/dist/shared/filereview/cas-progress.js +4 -0
- package/dist/shared/filereview/cas-progress.js.map +1 -1
- package/dist/shared/filereview/cas-touched.d.ts +56 -0
- package/dist/shared/filereview/cas-touched.js +63 -0
- package/dist/shared/filereview/cas-touched.js.map +1 -0
- package/dist/shared/filereview/index.d.ts +2 -1
- package/dist/shared/filereview/index.js +2 -1
- package/dist/shared/filereview/index.js.map +1 -1
- package/dist/shared/mcp-resolver.d.ts +4 -5
- package/dist/shared/mcp-resolver.js +4 -5
- package/dist/shared/mcp-resolver.js.map +1 -1
- package/dist/shared/persist-decision.d.ts +3 -4
- package/dist/shared/persist-decision.js +3 -4
- package/dist/shared/persist-decision.js.map +1 -1
- package/dist/shared/plan-mode-permissions.d.ts +2 -2
- package/dist/shared/plan-mode-permissions.js +2 -2
- package/dist/shared/plan-mode-prompt.d.ts +1 -1
- package/dist/shared/plan-mode-prompt.js +1 -1
- package/dist/shared/prompt-sections.d.ts +163 -0
- package/dist/shared/prompt-sections.js +164 -0
- package/dist/shared/prompt-sections.js.map +1 -0
- package/dist/shared/skill-resolver.d.ts +4 -2
- package/dist/shared/skill-resolver.js +4 -2
- package/dist/shared/skill-resolver.js.map +1 -1
- package/dist/shared/tool-rounds.d.ts +32 -0
- package/dist/shared/tool-rounds.js +43 -0
- package/dist/shared/tool-rounds.js.map +1 -1
- package/dist/shared/tool-row.d.ts +34 -0
- package/dist/shared/tool-row.js +52 -0
- package/dist/shared/tool-row.js.map +1 -1
- package/dist/shared/workspace/session-provision.d.ts +3 -3
- package/dist/shared/workspace/session-provision.js +3 -3
- package/dist/shared/workspace/stigmer-link.d.ts +3 -3
- package/dist/shared/workspace/stigmer-link.js +3 -3
- package/dist/shared/workspace/writeback-coordinator.d.ts +15 -22
- package/dist/shared/workspace/writeback-coordinator.js +16 -53
- package/dist/shared/workspace/writeback-coordinator.js.map +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.js +1 -1
- package/package.json +4 -4
- package/src/__test-utils__/__tests__/harness-contract-self-check.test.ts +1 -0
- package/src/__test-utils__/execution-record-fixture.ts +18 -2
- package/src/__test-utils__/file-review-projection.ts +156 -0
- package/src/__test-utils__/git-workspace-fixture.ts +58 -0
- package/src/__test-utils__/harness-boot-order-child.ts +7 -2
- package/src/__test-utils__/harness-contract/contract.ts +33 -20
- package/src/__test-utils__/harness-contract/recording-sink.ts +11 -1
- package/src/__test-utils__/harness-contract/runtime-contract.ts +328 -10
- package/src/__test-utils__/harness-contract/scripted-adapter.ts +38 -6
- package/src/__test-utils__/harness-contract/types.ts +27 -3
- package/src/__test-utils__/hermetic-activity.ts +52 -14
- package/src/__test-utils__/model-registry-fixture.ts +32 -7
- package/src/__test-utils__/module-specifiers.ts +24 -0
- package/src/__test-utils__/turn-input-fixture.ts +2 -2
- package/src/__tests__/harness-boot-order.test.ts +9 -2
- package/src/activities/call-agent.ts +2 -2
- package/src/activities/execute-cursor/__test-utils__/contract-subject.ts +47 -3
- package/src/activities/execute-cursor/__test-utils__/hermetic-cursor.ts +2 -48
- package/src/activities/execute-cursor/__tests__/approval-decisions-agree.test.ts +1 -1
- package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +6 -1
- package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +52 -27
- package/src/activities/execute-cursor/__tests__/cas-observations.test.ts +25 -0
- package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.everything.prompt.md +166 -0
- package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.plan-mode.prompt.md +186 -0
- package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.recovery.prompt.md +191 -0
- package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.reinvocation.prompt.md +13 -0
- package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.prefixed.prompt.md +32 -0
- package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.raw.prompt.md +1 -0
- package/src/activities/execute-cursor/__tests__/hermetic/file-review-capture.test.ts +1 -2
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-error-at-create.status.json +4 -0
- package/src/activities/execute-cursor/__tests__/hermetic/harness-contract.test.ts +24 -4
- package/src/activities/execute-cursor/__tests__/hermetic/stream-self-stop-arms.test.ts +6 -5
- package/src/activities/execute-cursor/__tests__/hermetic/thrown-error-arms.test.ts +9 -0
- package/src/activities/execute-cursor/__tests__/hitl-resume-history.test.ts +11 -8
- package/src/activities/execute-cursor/__tests__/prompt-goldens.test.ts +229 -0
- package/src/activities/execute-cursor/__tests__/same-identity-reproposal.test.ts +3 -3
- package/src/activities/execute-cursor/__tests__/sequential-gate-resume.test.ts +2 -2
- package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +78 -234
- package/src/activities/execute-cursor/__tests__/turn-stream.test.ts +1 -26
- package/src/activities/execute-cursor/adapter.ts +7 -5
- package/src/activities/execute-cursor/approval-policy.ts +5 -2
- package/src/activities/execute-cursor/approval-state.ts +16 -8
- package/src/activities/execute-cursor/cas-observations.ts +20 -2
- package/src/activities/execute-cursor/cursor-capabilities.ts +24 -5
- package/src/activities/execute-cursor/message-translator.ts +29 -41
- package/src/activities/execute-cursor/prompt-builder.ts +99 -157
- package/src/activities/execute-cursor/turn-boundary.ts +34 -140
- package/src/activities/execute-cursor/turn-settle.ts +37 -51
- package/src/activities/execute-cursor/turn-setup.ts +30 -70
- package/src/activities/execute-cursor/turn-stream.ts +8 -31
- package/src/activities/execute-cursor/turn.ts +5 -1
- package/src/activities/execute-deep-agent/__test-utils__/contract-subject.ts +391 -0
- package/src/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.ts +313 -0
- package/src/activities/execute-deep-agent/__test-utils__/hitl-script.ts +48 -0
- package/src/activities/execute-deep-agent/__test-utils__/scripted-model-module.ts +85 -0
- package/src/activities/execute-deep-agent/__test-utils__/scripted-model.ts +383 -36
- package/src/activities/execute-deep-agent/__tests__/adapter-graph-is-sdk-free.test.ts +76 -0
- package/src/activities/execute-deep-agent/__tests__/adapter-is-temporal-free.test.ts +47 -0
- package/src/activities/execute-deep-agent/__tests__/adapter.test.ts +80 -0
- package/src/activities/execute-deep-agent/__tests__/cas-capture-backend.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/execution-state-extended.test.ts +0 -2
- package/src/activities/execute-deep-agent/__tests__/execution-state.test.ts +0 -3
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.build-from-plan.prompt.md +172 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.everything.prompt.md +167 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.minimal.prompt.md +36 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.plan-mode.prompt.md +178 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.skills-below-threshold.prompt.md +158 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/file-review-capture.test.ts +210 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn1.status.json +74 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn2.status.json +104 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve.turn2.status.json +78 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-capture.status.json +138 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/gate.turn1.status.json +68 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn1.status.json +154 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn2.status.json +116 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.after-tool.status.json +69 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.mid-tool.status.json +67 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/plain-turn.status.json +47 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/platform-stop.status.json +68 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/recursion-limit.persisted.status.json +280 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/reject.turn2.status.json +77 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/resolution-error.status.json +18 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn2.status.json +99 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn3.status.json +109 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/skip.turn2.status.json +76 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.text-fallback.status.json +51 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tier2.status.json +51 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tool-strategy.status.json +56 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sub-agent-delegation.status.json +90 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/tool-call.status.json +70 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/worker-shutdown.status.json +71 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/harness-contract.test.ts +144 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-approve-all-lease.test.ts +184 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-round-trips.test.ts +203 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-sequential-gates.test.ts +170 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/inline-artifact-across-gate.test.ts +175 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/pause-vs-shutdown.test.ts +206 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/plain-turn.test.ts +142 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/platform-stop.test.ts +126 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/recursion-limit.test.ts +139 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/resolution-error.test.ts +122 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/structured-output.test.ts +236 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/sub-agent-delegation.test.ts +161 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/tool-call.test.ts +157 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/workspace-lock-timeout.test.ts +152 -0
- package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +50 -122
- package/src/activities/execute-deep-agent/__tests__/inline-publisher.test.ts +8 -6
- package/src/activities/execute-deep-agent/__tests__/plan-mode-path-normalization.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +35 -35
- package/src/activities/execute-deep-agent/__tests__/prompt-goldens.test.ts +247 -0
- package/src/activities/execute-deep-agent/__tests__/scripted-model.test.ts +329 -0
- package/src/activities/execute-deep-agent/__tests__/status-builder-shared.test.ts +1 -20
- package/src/activities/execute-deep-agent/__tests__/streaming-side-effects.test.ts +78 -0
- package/src/activities/execute-deep-agent/__tests__/subagent-gitignored-capture.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/subagent-plan-mode-permissions.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/subagent-tracker.test.ts +57 -31
- package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +19 -79
- package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +15 -15
- package/src/activities/execute-deep-agent/__tests__/summarization-verification.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/turn-stream.test.ts +391 -0
- package/src/activities/execute-deep-agent/__tests__/v3-status-builder.test.ts +343 -38
- package/src/activities/execute-deep-agent/__tests__/vision-input.test.ts +5 -5
- package/src/activities/execute-deep-agent/adapter.ts +94 -0
- package/src/activities/execute-deep-agent/cas-capture-observer.ts +11 -0
- package/src/activities/execute-deep-agent/deep-agent-capabilities.ts +43 -0
- package/src/activities/execute-deep-agent/execution-state.ts +4 -13
- package/src/activities/execute-deep-agent/hitl.ts +100 -123
- package/src/activities/execute-deep-agent/prompt-builder.ts +141 -115
- package/src/activities/execute-deep-agent/status-builder-shared.ts +21 -84
- package/src/activities/execute-deep-agent/streaming-side-effects.ts +13 -19
- package/src/activities/execute-deep-agent/subagent-tracker.ts +77 -42
- package/src/activities/execute-deep-agent/subagent-transformer.ts +46 -105
- package/src/activities/execute-deep-agent/subagent-wiring.ts +5 -4
- package/src/activities/execute-deep-agent/turn-settle.ts +164 -0
- package/src/activities/execute-deep-agent/turn-setup.ts +541 -0
- package/src/activities/execute-deep-agent/turn-stream.ts +313 -0
- package/src/activities/execute-deep-agent/turn.ts +131 -0
- package/src/activities/execute-deep-agent/v3-event-recorder.ts +6 -5
- package/src/activities/execute-deep-agent/v3-events.ts +1 -1
- package/src/activities/execute-deep-agent/v3-status-builder.ts +84 -63
- package/src/harness/__tests__/approval-decisions.test.ts +116 -0
- package/src/harness/__tests__/capture.test.ts +268 -0
- package/src/harness/__tests__/mount-skills.test.ts +169 -0
- package/src/harness/__tests__/persist-chokepoint.test.ts +38 -2
- package/src/harness/__tests__/run-turn-deterministic.test.ts +94 -0
- package/src/harness/__tests__/run-turn.test.ts +39 -23
- package/src/harness/__tests__/turn-attachments-vision.test.ts +80 -0
- package/src/harness/__tests__/turn-context.test.ts +73 -26
- package/src/harness/approval-decisions.ts +104 -0
- package/src/harness/capabilities.ts +16 -5
- package/src/harness/capture.ts +301 -0
- package/src/harness/persist-chokepoint.ts +24 -4
- package/src/harness/run-turn.ts +120 -29
- package/src/harness/terminal-table.ts +61 -20
- package/src/harness/turn-context.ts +208 -111
- package/src/harness/types.ts +66 -12
- package/src/harness-adapters.ts +17 -9
- package/src/middleware/__tests__/approval-gate.test.ts +1 -1
- package/src/middleware/__tests__/cost-advisory.test.ts +113 -0
- package/src/middleware/approval-gate.ts +2 -2
- package/src/middleware/{cost-cap.ts → cost-advisory.ts} +40 -70
- package/src/middleware/index.ts +29 -29
- package/src/middleware/types.ts +3 -2
- package/src/runner-manager.ts +0 -8
- package/src/runner.ts +0 -8
- package/src/shared/__tests__/attachment-naming.test.ts +6 -19
- package/src/shared/__tests__/attachment-resolver.test.ts +158 -8
- package/src/shared/__tests__/attachment-zip.test.ts +236 -0
- package/src/shared/__tests__/bedrock-adapter.test.ts +1 -1
- package/src/shared/__tests__/blueprint-resolver.test.ts +43 -0
- package/src/shared/__tests__/cost-guard.test.ts +3 -3
- package/src/shared/__tests__/prompt-sections.test.ts +167 -0
- package/src/shared/__tests__/secret-leak-scan.test.ts +2 -2
- package/src/{activities/execute-deep-agent → shared}/__tests__/stamp-flowed-rows.test.ts +33 -10
- package/src/shared/__tests__/vertex-adapter.test.ts +1 -1
- package/src/shared/attachment-resolver.ts +218 -55
- package/src/shared/attachment-zip.ts +281 -0
- package/src/shared/connect-backfill.ts +9 -11
- package/src/shared/cost-guard.ts +3 -3
- package/src/shared/execution-status-writer.ts +5 -5
- package/src/shared/extract-structured-output.ts +8 -7
- package/src/shared/filereview/__tests__/capture.test.ts +86 -4
- package/src/shared/filereview/__tests__/cas-progress.test.ts +2 -1
- package/src/shared/filereview/cas-progress.ts +5 -19
- package/src/shared/filereview/cas-touched.ts +89 -0
- package/src/shared/filereview/index.ts +4 -2
- package/src/shared/mcp-resolver.ts +4 -5
- package/src/shared/persist-decision.ts +3 -4
- package/src/shared/plan-mode-permissions.ts +2 -2
- package/src/shared/plan-mode-prompt.ts +1 -1
- package/src/shared/prompt-sections.ts +256 -0
- package/src/shared/skill-resolver.ts +4 -2
- package/src/shared/tool-rounds.ts +48 -0
- package/src/shared/tool-row.ts +61 -0
- package/src/shared/workspace/__tests__/stigmer-link.test.ts +7 -22
- package/src/shared/workspace/__tests__/writeback-coordinator.test.ts +20 -61
- package/src/shared/workspace/session-provision.ts +3 -3
- package/src/shared/workspace/stigmer-link.ts +3 -3
- package/src/shared/workspace/writeback-coordinator.ts +16 -64
- package/src/tools/index.ts +1 -1
- package/dist/activities/execute-cursor/capture-flow.d.ts +0 -142
- package/dist/activities/execute-cursor/capture-flow.js +0 -285
- package/dist/activities/execute-cursor/capture-flow.js.map +0 -1
- package/dist/activities/execute-cursor/command-provenance.d.ts +0 -48
- package/dist/activities/execute-cursor/command-provenance.js +0 -38
- package/dist/activities/execute-cursor/command-provenance.js.map +0 -1
- package/dist/activities/execute-deep-agent/attachment-injector.d.ts +0 -134
- package/dist/activities/execute-deep-agent/attachment-injector.js +0 -386
- package/dist/activities/execute-deep-agent/attachment-injector.js.map +0 -1
- package/dist/activities/execute-deep-agent/command-provenance.d.ts +0 -61
- package/dist/activities/execute-deep-agent/command-provenance.js +0 -72
- package/dist/activities/execute-deep-agent/command-provenance.js.map +0 -1
- package/dist/activities/execute-deep-agent/environment.d.ts +0 -24
- package/dist/activities/execute-deep-agent/environment.js +0 -58
- package/dist/activities/execute-deep-agent/environment.js.map +0 -1
- package/dist/activities/execute-deep-agent/event-recorder.d.ts +0 -21
- package/dist/activities/execute-deep-agent/event-recorder.js +0 -67
- package/dist/activities/execute-deep-agent/event-recorder.js.map +0 -1
- package/dist/activities/execute-deep-agent/index.d.ts +0 -15
- package/dist/activities/execute-deep-agent/index.js +0 -918
- package/dist/activities/execute-deep-agent/index.js.map +0 -1
- package/dist/activities/execute-deep-agent/mcp-gate.d.ts +0 -28
- package/dist/activities/execute-deep-agent/mcp-gate.js +0 -22
- package/dist/activities/execute-deep-agent/mcp-gate.js.map +0 -1
- package/dist/activities/execute-deep-agent/post-stream.d.ts +0 -23
- package/dist/activities/execute-deep-agent/post-stream.js +0 -71
- package/dist/activities/execute-deep-agent/post-stream.js.map +0 -1
- package/dist/activities/execute-deep-agent/setup.d.ts +0 -136
- package/dist/activities/execute-deep-agent/setup.js +0 -767
- package/dist/activities/execute-deep-agent/setup.js.map +0 -1
- package/dist/activities/execute-deep-agent/stamp-flowed-rows.d.ts +0 -36
- package/dist/activities/execute-deep-agent/stamp-flowed-rows.js +0 -56
- package/dist/activities/execute-deep-agent/stamp-flowed-rows.js.map +0 -1
- package/dist/activities/execute-deep-agent/status-builder.d.ts +0 -93
- package/dist/activities/execute-deep-agent/status-builder.js +0 -365
- package/dist/activities/execute-deep-agent/status-builder.js.map +0 -1
- package/dist/activities/execute-deep-agent/streaming-terminal.d.ts +0 -21
- package/dist/activities/execute-deep-agent/streaming-terminal.js +0 -80
- package/dist/activities/execute-deep-agent/streaming-terminal.js.map +0 -1
- package/dist/activities/execute-deep-agent/streaming-v3.d.ts +0 -13
- package/dist/activities/execute-deep-agent/streaming-v3.js +0 -174
- package/dist/activities/execute-deep-agent/streaming-v3.js.map +0 -1
- package/dist/activities/execute-deep-agent/streaming.d.ts +0 -81
- package/dist/activities/execute-deep-agent/streaming.js +0 -160
- package/dist/activities/execute-deep-agent/streaming.js.map +0 -1
- package/dist/middleware/cost-cap.d.ts +0 -22
- package/dist/middleware/cost-cap.js.map +0 -1
- package/dist/middleware/graceful-stop.d.ts +0 -17
- package/dist/middleware/graceful-stop.js +0 -63
- package/dist/middleware/graceful-stop.js.map +0 -1
- package/dist/shared/skill-writer.d.ts +0 -75
- package/dist/shared/skill-writer.js +0 -207
- package/dist/shared/skill-writer.js.map +0 -1
- package/src/activities/execute-cursor/__tests__/capture-flow.test.ts +0 -1032
- package/src/activities/execute-cursor/__tests__/command-provenance.test.ts +0 -240
- package/src/activities/execute-cursor/__tests__/progress-substrate.test.ts +0 -169
- package/src/activities/execute-cursor/capture-flow.ts +0 -379
- package/src/activities/execute-cursor/command-provenance.ts +0 -73
- package/src/activities/execute-deep-agent/__tests__/attachment-injector.test.ts +0 -1161
- package/src/activities/execute-deep-agent/__tests__/command-provenance.test.ts +0 -252
- package/src/activities/execute-deep-agent/__tests__/environment.test.ts +0 -108
- package/src/activities/execute-deep-agent/__tests__/event-recorder.test.ts +0 -150
- package/src/activities/execute-deep-agent/__tests__/hitl-integration.test.ts +0 -226
- package/src/activities/execute-deep-agent/__tests__/hitl-reject.test.ts +0 -318
- package/src/activities/execute-deep-agent/__tests__/hitl-resume-approve-all.test.ts +0 -351
- package/src/activities/execute-deep-agent/__tests__/hitl-resume-history.test.ts +0 -293
- package/src/activities/execute-deep-agent/__tests__/index.test.ts +0 -99
- package/src/activities/execute-deep-agent/__tests__/mcp-gate.test.ts +0 -44
- package/src/activities/execute-deep-agent/__tests__/post-stream.test.ts +0 -112
- package/src/activities/execute-deep-agent/__tests__/sequential-gate-resume.test.ts +0 -358
- package/src/activities/execute-deep-agent/__tests__/status-builder.test.ts +0 -1933
- package/src/activities/execute-deep-agent/__tests__/streaming-terminal.test.ts +0 -40
- package/src/activities/execute-deep-agent/__tests__/streaming-v3.test.ts +0 -597
- package/src/activities/execute-deep-agent/__tests__/streaming.test.ts +0 -508
- package/src/activities/execute-deep-agent/attachment-injector.ts +0 -627
- package/src/activities/execute-deep-agent/command-provenance.ts +0 -102
- package/src/activities/execute-deep-agent/environment.ts +0 -76
- package/src/activities/execute-deep-agent/event-recorder.ts +0 -95
- package/src/activities/execute-deep-agent/index.ts +0 -1072
- package/src/activities/execute-deep-agent/mcp-gate.ts +0 -37
- package/src/activities/execute-deep-agent/post-stream.ts +0 -109
- package/src/activities/execute-deep-agent/setup.ts +0 -1081
- package/src/activities/execute-deep-agent/stamp-flowed-rows.ts +0 -64
- package/src/activities/execute-deep-agent/status-builder.ts +0 -481
- package/src/activities/execute-deep-agent/streaming-terminal.ts +0 -106
- package/src/activities/execute-deep-agent/streaming-v3.ts +0 -277
- package/src/activities/execute-deep-agent/streaming.ts +0 -313
- package/src/middleware/__tests__/cost-cap.test.ts +0 -192
- package/src/middleware/__tests__/graceful-stop.test.ts +0 -105
- package/src/middleware/graceful-stop.ts +0 -86
- package/src/shared/__tests__/skill-writer.test.ts +0 -372
- package/src/shared/skill-writer.ts +0 -266
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,83 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The Cursor harness's turn boundary — the
|
|
3
|
-
*
|
|
2
|
+
* The Cursor harness's turn boundary — the post-run pipeline that turns the
|
|
3
|
+
* deny-and-retry primitive's evidence into the runtime's review surfaces:
|
|
4
4
|
*
|
|
5
5
|
* 1. read the denial ledger the preToolUse hook appended this turn (ALL
|
|
6
6
|
* kinds — every entry means "this action did not execute"; only the
|
|
7
7
|
* approval-kind subset may pause, see approval-state.ts);
|
|
8
|
-
* 2.
|
|
9
|
-
* 3. capture the turn's net file change set to the file_review ledger
|
|
10
|
-
* (CANDIDATE_CAPTURED) and stamp the flowed edit rows;
|
|
11
|
-
* 4. reconcile denied (approval-kind) tool calls to WAITING_APPROVAL gate rows
|
|
8
|
+
* 2. reconcile denied (approval-kind) tool calls to WAITING_APPROVAL gate rows
|
|
12
9
|
* and redact the model's provisional post-denial narration;
|
|
13
|
-
*
|
|
10
|
+
* 3. settle unattended-mode denials as SKIPPED (DD-014);
|
|
11
|
+
* 4. detect UNATTRIBUTED hook blocks (issue #205) — a tool blocked by a hook
|
|
14
12
|
* with no ledger entry of any kind was denied by a FOREIGN hook the merge
|
|
15
13
|
* preserved, and the caller fails the run rather than completing silently;
|
|
16
|
-
*
|
|
14
|
+
* 5. settle UNRESOLVED tool calls (issue #965) — a this-turn row still
|
|
17
15
|
* non-terminal on a completing turn with no ledger attribution hung inside
|
|
18
16
|
* the harness and can never complete; it is settled to an honest
|
|
19
17
|
* TOOL_CALL_INTERRUPTED and disclosed on the transcript instead of being
|
|
20
18
|
* silently stamped by the server's terminal settle after the fact.
|
|
21
19
|
*
|
|
20
|
+
* `waiting` means "a denial pauses": a gated tool call the user must decide.
|
|
21
|
+
* The turn's FILE CHANGES are not this boundary's since S3 M4 — the runtime
|
|
22
|
+
* captures them once, over whatever the whole turn left on the tree, after
|
|
23
|
+
* `runTurn` returns (`harness/capture.ts`), and decides the review pause
|
|
24
|
+
* itself. Two consequences the boundary used to suppress when it could see
|
|
25
|
+
* the capture: steps 4 and 5 now run on a turn whose only pause would have
|
|
26
|
+
* been a file review, so a hung row is disclosed and a foreign-hook block is
|
|
27
|
+
* failed BEFORE the review rather than after it (F-M4-P9, F-M4-P10, Q-M4-11).
|
|
28
|
+
*
|
|
22
29
|
* Extracted from the activity entry point (index.ts Phase 12) so it is directly
|
|
23
30
|
* unit-testable AND re-enterable: the poisoned-handle / transport-timeout
|
|
24
31
|
* recoveries re-run the agent with a fresh handle AFTER the primary boundary
|
|
25
|
-
* already ran, so their
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* Re-entry is safe by construction: a retry is only reachable when the primary
|
|
30
|
-
* boundary captured nothing (a captured change pauses the turn before
|
|
31
|
-
* run.wait() is ever consulted), `stampFlowedFileEditRows` skips already-stamped
|
|
32
|
-
* rows, and the denial ledger is per-turn append-only.
|
|
32
|
+
* already ran, so their denials must flow through this exact pipeline again.
|
|
33
|
+
* Re-entry is safe by construction: the denial ledger is per-turn append-only
|
|
34
|
+
* and the reconcile is idempotent over it.
|
|
33
35
|
*
|
|
34
36
|
* The caller owns everything around the boundary: the stream epilogue
|
|
35
37
|
* (accumulator/enricher finalize), the WAITING_FOR_APPROVAL phase flip +
|
|
36
38
|
* persist, and the terminal result mapping.
|
|
37
39
|
*/
|
|
38
40
|
import type { AgentExecutionStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
39
|
-
import type { SubAgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/subagent_pb";
|
|
40
|
-
import type { ArtifactStorage } from "../../shared/artifact-storage.js";
|
|
41
41
|
import type { MergedToolPolicy } from "../../shared/approval-policy.js";
|
|
42
|
-
import { type ApprovalGrant } from "./approval-state.js";
|
|
43
42
|
import { type UnattributedHookBlock } from "./message-translator.js";
|
|
44
43
|
export interface TurnBoundaryOptions {
|
|
45
|
-
/** Mutated in place: gate rows overlaid,
|
|
44
|
+
/** Mutated in place: gate rows overlaid, narration redacted. */
|
|
46
45
|
readonly status: AgentExecutionStatus;
|
|
47
46
|
readonly executionId: string;
|
|
48
|
-
/**
|
|
49
|
-
readonly changeSetId: string;
|
|
50
|
-
/** Session HITL dir holding the denial ledger + CAS sidecar; undefined → no gate installed. */
|
|
47
|
+
/** Session HITL dir holding the denial ledger; undefined → no gate installed. */
|
|
51
48
|
readonly hitlDir: string | undefined;
|
|
52
|
-
/** Whether this turn runs apply-then-review capture (vs. the deny-gate fallback). */
|
|
53
|
-
readonly captureMode: boolean;
|
|
54
|
-
/**
|
|
55
|
-
* The baseline authored at turn start — the git tree sha for a git workspace,
|
|
56
|
-
* or "" (empty, but authored) for a non-git one. `undefined` means no baseline
|
|
57
|
-
* was authored this turn, which skips capture entirely; a plain truthiness
|
|
58
|
-
* check would wrongly skip the non-git capture.
|
|
59
|
-
*/
|
|
60
|
-
readonly baselineTree: string | undefined;
|
|
61
49
|
readonly primaryWorkspaceDir: string;
|
|
62
|
-
/** True for a git work tree; false for a CAS-only non-git workspace. */
|
|
63
|
-
readonly gitWorkspace: boolean;
|
|
64
50
|
/**
|
|
65
51
|
* Index of the first message produced by THIS turn's stream — the positional
|
|
66
|
-
*
|
|
52
|
+
* scope the #205 attribution and the #965 settle read.
|
|
67
53
|
*/
|
|
68
54
|
readonly turnStartMessageIndex: number;
|
|
69
|
-
/** Reinvocation grants; their tokens map back to the consent rows for DD-28. */
|
|
70
|
-
readonly approvalGrants: ApprovalGrant[] | undefined;
|
|
71
|
-
/** spec.auto_approve_all — qualifies every command as consented for DD-28. */
|
|
72
|
-
readonly globalBypass: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Sub-agent executions that existed BEFORE this turn's stream (cloned in on
|
|
75
|
-
* resume); their rows are skipped when stamping so a resume never re-stamps a
|
|
76
|
-
* prior turn's sub-agent rows.
|
|
77
|
-
*/
|
|
78
|
-
readonly seededSubAgents: readonly SubAgentExecution[];
|
|
79
|
-
/** CAS blob store for gitignored/non-git captures; undefined → git-only capture. */
|
|
80
|
-
readonly artifactStorage: ArtifactStorage | undefined;
|
|
81
55
|
/** Merged approval policies, threaded to the denied-call reconcile for gate provenance. */
|
|
82
56
|
readonly mergedPolicies: ReadonlyMap<string, MergedToolPolicy>;
|
|
83
57
|
/**
|
|
@@ -101,13 +75,11 @@ export interface TurnBoundaryOptions {
|
|
|
101
75
|
}
|
|
102
76
|
export interface TurnBoundaryResult {
|
|
103
77
|
/**
|
|
104
|
-
* True when
|
|
105
|
-
*
|
|
106
|
-
*
|
|
78
|
+
* True when a denial pauses the turn — at least one gated tool call the
|
|
79
|
+
* user must decide. The caller ends the turn `awaiting_approval` without
|
|
80
|
+
* consulting run.wait().
|
|
107
81
|
*/
|
|
108
82
|
readonly waiting: boolean;
|
|
109
|
-
/** File changes authored to the file_review ledger this call (0 = no candidate). */
|
|
110
|
-
readonly capturedChangeCount: number;
|
|
111
83
|
/** Denied tool calls reconciled to WAITING_APPROVAL gate rows this call. */
|
|
112
84
|
readonly deniedToolCallCount: number;
|
|
113
85
|
/**
|
|
@@ -131,9 +103,9 @@ export interface TurnBoundaryResult {
|
|
|
131
103
|
readonly settledUnresolvedCount: number;
|
|
132
104
|
}
|
|
133
105
|
/**
|
|
134
|
-
* Run the turn boundary:
|
|
135
|
-
*
|
|
136
|
-
*
|
|
106
|
+
* Run the turn boundary: overlay the hook's denials as approval gates and
|
|
107
|
+
* settle what the ledger accounts for. Mutates `opts.status` in place and
|
|
108
|
+
* reports whether a denial pauses the turn.
|
|
137
109
|
*
|
|
138
110
|
* The hook records each denial to the ledger; we mark the corresponding tool
|
|
139
111
|
* calls WAITING_APPROVAL. The backend projects pending_approvals from that
|
|
@@ -1,58 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The Cursor harness's turn boundary — the
|
|
3
|
-
*
|
|
2
|
+
* The Cursor harness's turn boundary — the post-run pipeline that turns the
|
|
3
|
+
* deny-and-retry primitive's evidence into the runtime's review surfaces:
|
|
4
4
|
*
|
|
5
5
|
* 1. read the denial ledger the preToolUse hook appended this turn (ALL
|
|
6
6
|
* kinds — every entry means "this action did not execute"; only the
|
|
7
7
|
* approval-kind subset may pause, see approval-state.ts);
|
|
8
|
-
* 2.
|
|
9
|
-
* 3. capture the turn's net file change set to the file_review ledger
|
|
10
|
-
* (CANDIDATE_CAPTURED) and stamp the flowed edit rows;
|
|
11
|
-
* 4. reconcile denied (approval-kind) tool calls to WAITING_APPROVAL gate rows
|
|
8
|
+
* 2. reconcile denied (approval-kind) tool calls to WAITING_APPROVAL gate rows
|
|
12
9
|
* and redact the model's provisional post-denial narration;
|
|
13
|
-
*
|
|
10
|
+
* 3. settle unattended-mode denials as SKIPPED (DD-014);
|
|
11
|
+
* 4. detect UNATTRIBUTED hook blocks (issue #205) — a tool blocked by a hook
|
|
14
12
|
* with no ledger entry of any kind was denied by a FOREIGN hook the merge
|
|
15
13
|
* preserved, and the caller fails the run rather than completing silently;
|
|
16
|
-
*
|
|
14
|
+
* 5. settle UNRESOLVED tool calls (issue #965) — a this-turn row still
|
|
17
15
|
* non-terminal on a completing turn with no ledger attribution hung inside
|
|
18
16
|
* the harness and can never complete; it is settled to an honest
|
|
19
17
|
* TOOL_CALL_INTERRUPTED and disclosed on the transcript instead of being
|
|
20
18
|
* silently stamped by the server's terminal settle after the fact.
|
|
21
19
|
*
|
|
20
|
+
* `waiting` means "a denial pauses": a gated tool call the user must decide.
|
|
21
|
+
* The turn's FILE CHANGES are not this boundary's since S3 M4 — the runtime
|
|
22
|
+
* captures them once, over whatever the whole turn left on the tree, after
|
|
23
|
+
* `runTurn` returns (`harness/capture.ts`), and decides the review pause
|
|
24
|
+
* itself. Two consequences the boundary used to suppress when it could see
|
|
25
|
+
* the capture: steps 4 and 5 now run on a turn whose only pause would have
|
|
26
|
+
* been a file review, so a hung row is disclosed and a foreign-hook block is
|
|
27
|
+
* failed BEFORE the review rather than after it (F-M4-P9, F-M4-P10, Q-M4-11).
|
|
28
|
+
*
|
|
22
29
|
* Extracted from the activity entry point (index.ts Phase 12) so it is directly
|
|
23
30
|
* unit-testable AND re-enterable: the poisoned-handle / transport-timeout
|
|
24
31
|
* recoveries re-run the agent with a fresh handle AFTER the primary boundary
|
|
25
|
-
* already ran, so their
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* Re-entry is safe by construction: a retry is only reachable when the primary
|
|
30
|
-
* boundary captured nothing (a captured change pauses the turn before
|
|
31
|
-
* run.wait() is ever consulted), `stampFlowedFileEditRows` skips already-stamped
|
|
32
|
-
* rows, and the denial ledger is per-turn append-only.
|
|
32
|
+
* already ran, so their denials must flow through this exact pipeline again.
|
|
33
|
+
* Re-entry is safe by construction: the denial ledger is per-turn append-only
|
|
34
|
+
* and the reconcile is idempotent over it.
|
|
33
35
|
*
|
|
34
36
|
* The caller owns everything around the boundary: the stream epilogue
|
|
35
37
|
* (accumulator/enricher finalize), the WAITING_FOR_APPROVAL phase flip +
|
|
36
38
|
* persist, and the terminal result mapping.
|
|
37
39
|
*/
|
|
38
|
-
import { collectSubAgentToolCallIds } from "../../shared/tool-row.js";
|
|
39
40
|
import { LocalWorkspaceBackend } from "../../shared/workspace/local-backend.js";
|
|
40
|
-
import { approvalDenials, denialKindOf,
|
|
41
|
-
import { deriveTurnCommandProvenance } from "./command-provenance.js";
|
|
42
|
-
import { captureTurnToLedger } from "./capture-flow.js";
|
|
41
|
+
import { approvalDenials, denialKindOf, readDenialLedger, unattendedDenials, } from "./approval-state.js";
|
|
43
42
|
import { clearProvisionalPostDenialNarration, detectUnattributedHookBlocks, reconcileDeniedToolCalls, settleUnresolvedToolCalls, stampUnattendedSkippedToolCalls, utcTimestamp, } from "./message-translator.js";
|
|
44
43
|
import { create } from "@bufbuild/protobuf";
|
|
45
44
|
import { AgentMessageSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
|
|
46
45
|
import { MessageType } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
47
46
|
// How long the boundary waits for the first-denial-stop's run.cancel() to
|
|
48
|
-
// settle before reading the final denial ledger
|
|
49
|
-
//
|
|
50
|
-
//
|
|
47
|
+
// settle before reading the final denial ledger. Long enough for the SDK's
|
|
48
|
+
// normal teardown, short enough that a wedged cancel cannot noticeably delay
|
|
49
|
+
// the approval pause the user is already waiting on. (The runtime's capture
|
|
50
|
+
// runs after the adapter's whole turn, its gate already torn down, so a late
|
|
51
|
+
// tool can no longer mutate the tree mid-capture.)
|
|
51
52
|
const FIRST_DENIAL_CANCEL_TIMEOUT_MS = 5_000;
|
|
52
53
|
/**
|
|
53
|
-
* Run the turn boundary:
|
|
54
|
-
*
|
|
55
|
-
*
|
|
54
|
+
* Run the turn boundary: overlay the hook's denials as approval gates and
|
|
55
|
+
* settle what the ledger accounts for. Mutates `opts.status` in place and
|
|
56
|
+
* reports whether a denial pauses the turn.
|
|
56
57
|
*
|
|
57
58
|
* The hook records each denial to the ledger; we mark the corresponding tool
|
|
58
59
|
* calls WAITING_APPROVAL. The backend projects pending_approvals from that
|
|
@@ -62,7 +63,7 @@ const FIRST_DENIAL_CANCEL_TIMEOUT_MS = 5_000;
|
|
|
62
63
|
* discarded by the backend's recompute on the next updateStatus.
|
|
63
64
|
*/
|
|
64
65
|
export async function runTurnBoundary(opts) {
|
|
65
|
-
const { status, executionId,
|
|
66
|
+
const { status, executionId, hitlDir, primaryWorkspaceDir, turnStartMessageIndex, mergedPolicies, denialCancelSettled, foreignGatingHooks, } = opts;
|
|
66
67
|
// The timebox keeps a wedged cancel from hanging the pause; the reconcile
|
|
67
68
|
// trims below remain the backstop for that degraded case.
|
|
68
69
|
if (denialCancelSettled) {
|
|
@@ -76,71 +77,11 @@ export async function runTurnBoundary(opts) {
|
|
|
76
77
|
}
|
|
77
78
|
// The FULL ledger (all kinds) vs its APPROVAL subset — the kind split:
|
|
78
79
|
// every ledger entry means "this action did NOT execute", so the full set
|
|
79
|
-
// feeds
|
|
80
|
+
// feeds the unattended settle and the foreign-hook attribution;
|
|
80
81
|
// only approval-kind entries may become WAITING_APPROVAL gates (a secret
|
|
81
82
|
// hard-block or fail-closed deny is attributable but never pausable).
|
|
82
83
|
const deniedLedger = await readDenialLedger(hitlDir ?? "");
|
|
83
84
|
const approvalLedger = approvalDenials(deniedLedger);
|
|
84
|
-
// Capture mode: author the net change set to the file_review ledger as the
|
|
85
|
-
// CANDIDATE_CAPTURED event (projected server-side to a file_change_set
|
|
86
|
-
// AWAITING_REVIEW — the single review surface). The runner-owned gate files
|
|
87
|
-
// are excluded from the capture. The agent's edits are LEFT applied on the
|
|
88
|
-
// working tree (Cursor parity — the user reviews the real change; nothing is
|
|
89
|
-
// committed and the next turn is blocked until approval, and a reject snaps
|
|
90
|
-
// each file back on resume). Runs BEFORE the denial reconcile so a denied
|
|
91
|
-
// (gitignored) write stays on the deny-gate path while every flowed edit is
|
|
92
|
-
// captured to the ledger.
|
|
93
|
-
let capturedChangeCount = 0;
|
|
94
|
-
if (captureMode && baselineTree !== undefined && primaryWorkspaceDir) {
|
|
95
|
-
const deniedTokens = new Set(deniedLedger.map((e) => e.token));
|
|
96
|
-
// Approved-command turn facts (DD-28): when every mutation-capable call
|
|
97
|
-
// this turn was a consented shell command, attach the provenance so the
|
|
98
|
-
// backend can verify the cited consent rows and auto-keep the set instead
|
|
99
|
-
// of arming a second gate. Fail-closed: any non-qualifying turn attaches
|
|
100
|
-
// nothing and reviews manually exactly as before.
|
|
101
|
-
const commandProvenance = deriveTurnCommandProvenance({
|
|
102
|
-
messages: status.messages,
|
|
103
|
-
turnStartIndex: turnStartMessageIndex,
|
|
104
|
-
deniedTokens,
|
|
105
|
-
grantTokenToConsentId: new Map((approvalGrants ?? []).map((g) => [
|
|
106
|
-
primaryToken(g.key, g.salient, g.contentDigest),
|
|
107
|
-
g.sourceToolCallId,
|
|
108
|
-
])),
|
|
109
|
-
globalBypass,
|
|
110
|
-
});
|
|
111
|
-
if (commandProvenance) {
|
|
112
|
-
console.log(`ExecuteCursor capture: turn qualifies for approved-command auto-keep ` +
|
|
113
|
-
`(consent rows: ${commandProvenance.consentToolCallIds.join(",") || "(auto_approve_all)"}); ` +
|
|
114
|
-
`attaching provenance to candidate (execution=${executionId})`);
|
|
115
|
-
}
|
|
116
|
-
const captured = await captureTurnToLedger({
|
|
117
|
-
status,
|
|
118
|
-
gitRoot: primaryWorkspaceDir,
|
|
119
|
-
executionId,
|
|
120
|
-
changeSetId,
|
|
121
|
-
baselineTree,
|
|
122
|
-
messages: status.messages,
|
|
123
|
-
deniedTokens,
|
|
124
|
-
commandProvenance,
|
|
125
|
-
// Scope sub-agent row stamping to this turn: the seeded prior sub-agents
|
|
126
|
-
// (cloned in on resume) are the "before this turn" rows to skip.
|
|
127
|
-
priorSubAgentToolCallIds: collectSubAgentToolCallIds(seededSubAgents),
|
|
128
|
-
// The CAS half: read the sidecar the hook staged this turn and compose it
|
|
129
|
-
// into the change set. hitlDir + storage are present when captureIgnored
|
|
130
|
-
// was on (a git tree's gitignored writes, or ALL writes in a non-git
|
|
131
|
-
// workspace). In a git tree this composes with the git diff (HYBRID); in a
|
|
132
|
-
// non-git workspace it IS the whole change set (CAS-only).
|
|
133
|
-
hitlDir,
|
|
134
|
-
storage: artifactStorage,
|
|
135
|
-
gitWorkspace,
|
|
136
|
-
});
|
|
137
|
-
capturedChangeCount = captured.length;
|
|
138
|
-
if (capturedChangeCount > 0) {
|
|
139
|
-
console.log(`ExecuteCursor capture: ${capturedChangeCount} file change(s) authored to the ` +
|
|
140
|
-
`file_review ledger (change_set=${changeSetId}), working tree left applied ` +
|
|
141
|
-
`for review (execution=${executionId})`);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
85
|
// The gate reads each denied file's pre-edit `before` from the workspace the
|
|
145
86
|
// runner is co-located with (local FS for OSS; the sandbox in cloud), so a
|
|
146
87
|
// whole-file rewrite gate renders a true before/after diff. The tool was
|
|
@@ -193,7 +134,7 @@ export async function runTurnBoundary(opts) {
|
|
|
193
134
|
// approval gates are already WAITING_APPROVAL/collapsed and cannot appear
|
|
194
135
|
// here as false positives.
|
|
195
136
|
const unattributedHookBlocks = detectUnattributedHookBlocks(status.messages, turnStartMessageIndex, deniedLedger, primaryWorkspaceDir);
|
|
196
|
-
const waiting = deniedToolCalls.length > 0
|
|
137
|
+
const waiting = deniedToolCalls.length > 0;
|
|
197
138
|
// Issue #965 invariant: an unresolved tool must never silently complete.
|
|
198
139
|
// On a COMPLETING (non-pausing) turn, any this-turn row still PENDING /
|
|
199
140
|
// RUNNING with no ledger attribution hung inside the harness (the production
|
|
@@ -247,7 +188,6 @@ export async function runTurnBoundary(opts) {
|
|
|
247
188
|
}
|
|
248
189
|
return {
|
|
249
190
|
waiting,
|
|
250
|
-
capturedChangeCount,
|
|
251
191
|
deniedToolCallCount: deniedToolCalls.length,
|
|
252
192
|
unattributedHookBlocks,
|
|
253
193
|
settledUnresolvedCount: settledUnresolved.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-boundary.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/turn-boundary.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"turn-boundary.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/turn-boundary.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* In order: the post-stream finalize (transcript, enrichments, sub-agents,
|
|
5
5
|
* the usage snapshot's carrier, the recorder flush, one persist so the UI
|
|
6
6
|
* sees settled rows); the runtime's stop, if it fired, settled as
|
|
7
|
-
* `interrupted` with nothing further; the turn boundary (`turn-boundary.ts
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* `interrupted` with nothing further; the turn boundary (`turn-boundary.ts`)
|
|
8
|
+
* that overlays the hook's denials as WAITING rows, ending `awaiting_approval`
|
|
9
|
+
* when a denial pauses or failing on an unattributed hook block (#205);
|
|
10
|
+
* `run.wait()` and the
|
|
11
11
|
* classifier; the two recovery spines (a poisoned resumed handle, a
|
|
12
12
|
* transport timeout on a created agent), each running the IDENTICAL stream,
|
|
13
13
|
* finalize and boundary against a fresh agent at most once; the collapse of
|
|
@@ -15,9 +15,13 @@
|
|
|
15
15
|
*
|
|
16
16
|
* What this module never does: write a phase, a terminal copy or
|
|
17
17
|
* `completedAt` — those are the runtime's (`harness/run-turn.ts`,
|
|
18
|
-
* `terminal-table.ts`); the
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* `terminal-table.ts`); capture the turn's file changes or decide whether a
|
|
19
|
+
* review is pending — the runtime's too (`harness/capture.ts`, once over the
|
|
20
|
+
* whole turn after this settle returns, so a recovery's edits reach review
|
|
21
|
+
* without the boundary being re-entered for them; S3 M4). The outcome carries
|
|
22
|
+
* what the runtime cannot read from the status (`failed`'s message and
|
|
23
|
+
* surface, `cancelled`). It does mutate `sink.status`'s transcript rows,
|
|
24
|
+
* which are this harness's to write.
|
|
21
25
|
*
|
|
22
26
|
* Moved from `index.ts` `executeCursorInner` phases 11 to 13 at S2 M3b; the
|
|
23
27
|
* bodies are the orchestrator's, with the runtime's arms taken out.
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* In order: the post-stream finalize (transcript, enrichments, sub-agents,
|
|
5
5
|
* the usage snapshot's carrier, the recorder flush, one persist so the UI
|
|
6
6
|
* sees settled rows); the runtime's stop, if it fired, settled as
|
|
7
|
-
* `interrupted` with nothing further; the turn boundary (`turn-boundary.ts
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* `interrupted` with nothing further; the turn boundary (`turn-boundary.ts`)
|
|
8
|
+
* that overlays the hook's denials as WAITING rows, ending `awaiting_approval`
|
|
9
|
+
* when a denial pauses or failing on an unattributed hook block (#205);
|
|
10
|
+
* `run.wait()` and the
|
|
11
11
|
* classifier; the two recovery spines (a poisoned resumed handle, a
|
|
12
12
|
* transport timeout on a created agent), each running the IDENTICAL stream,
|
|
13
13
|
* finalize and boundary against a fresh agent at most once; the collapse of
|
|
@@ -15,9 +15,13 @@
|
|
|
15
15
|
*
|
|
16
16
|
* What this module never does: write a phase, a terminal copy or
|
|
17
17
|
* `completedAt` — those are the runtime's (`harness/run-turn.ts`,
|
|
18
|
-
* `terminal-table.ts`); the
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* `terminal-table.ts`); capture the turn's file changes or decide whether a
|
|
19
|
+
* review is pending — the runtime's too (`harness/capture.ts`, once over the
|
|
20
|
+
* whole turn after this settle returns, so a recovery's edits reach review
|
|
21
|
+
* without the boundary being re-entered for them; S3 M4). The outcome carries
|
|
22
|
+
* what the runtime cannot read from the status (`failed`'s message and
|
|
23
|
+
* surface, `cancelled`). It does mutate `sink.status`'s transcript rows,
|
|
24
|
+
* which are this harness's to write.
|
|
21
25
|
*
|
|
22
26
|
* Moved from `index.ts` `executeCursorInner` phases 11 to 13 at S2 M3b; the
|
|
23
27
|
* bodies are the orchestrator's, with the runtime's arms taken out.
|
|
@@ -97,14 +101,14 @@ export async function streamAndSettle(frame) {
|
|
|
97
101
|
turnStartTiming.mark("send_returned");
|
|
98
102
|
}
|
|
99
103
|
// Everything at an index >= this was produced by THIS turn's stream — the
|
|
100
|
-
// positional
|
|
101
|
-
//
|
|
104
|
+
// positional scope the boundary's #205 attribution and #965 settle read.
|
|
105
|
+
// Snapshotted before the accumulator can append.
|
|
102
106
|
const turnStartMessageIndex = status.messages.length;
|
|
103
107
|
const accumulator = new MessageAccumulator(status.messages, {
|
|
104
108
|
mergedPolicies: mcp.policies,
|
|
105
109
|
provenance: { globalBypass: mcp.leases.global, leasedCategories: mcp.leases.categories },
|
|
106
110
|
workspaceRoot: workspace.primaryDir,
|
|
107
|
-
|
|
111
|
+
subAgentExecutions: status.subAgentExecutions,
|
|
108
112
|
});
|
|
109
113
|
// Shared cadence with the native harness: discrete state changes force a
|
|
110
114
|
// flush; high-frequency token deltas ride this scheduler's time cadence
|
|
@@ -118,9 +122,6 @@ export async function streamAndSettle(frame) {
|
|
|
118
122
|
todoTracker,
|
|
119
123
|
eventRecorder,
|
|
120
124
|
scheduler,
|
|
121
|
-
progressSubstrate: gate.progressSubstrate,
|
|
122
|
-
progressState: gate.progressState,
|
|
123
|
-
changeSetId: workspace.changeSetId,
|
|
124
125
|
hitlDir: gate.hitlDir,
|
|
125
126
|
};
|
|
126
127
|
// Post-stream finalize, shared by the primary turn and both recovery retries:
|
|
@@ -138,7 +139,6 @@ export async function streamAndSettle(frame) {
|
|
|
138
139
|
if (sink.stopSignal.aborted) {
|
|
139
140
|
accumulator.cancelInProgressSubAgents();
|
|
140
141
|
}
|
|
141
|
-
status.subAgentExecutions = accumulator.subAgentExecutions;
|
|
142
142
|
await eventRecorder?.flush();
|
|
143
143
|
console.log(`ExecuteCursor stream ended: execution=${executionId}, events=${streamState.eventCount}, messages=${status.messages.length}, subAgents=${status.subAgentExecutions.length}`);
|
|
144
144
|
// Persist immediately after finalize so the UI sees correct tool-call
|
|
@@ -146,37 +146,26 @@ export async function streamAndSettle(frame) {
|
|
|
146
146
|
await sink.requestPersist();
|
|
147
147
|
sink.recordActivity();
|
|
148
148
|
};
|
|
149
|
-
// The turn boundary —
|
|
150
|
-
//
|
|
151
|
-
//
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
-
// re-enter the IDENTICAL pipeline — a retry's edits must reach the ledger
|
|
155
|
-
// or they silently escape review.
|
|
149
|
+
// The turn boundary — overlay the hook's denials as WAITING_APPROVAL gate
|
|
150
|
+
// rows and settle what the ledger accounts for. The pipeline and its
|
|
151
|
+
// ordering rationale live in turn-boundary.ts; this closure binds the
|
|
152
|
+
// turn's state so the recovery retries (which re-run the agent AFTER this
|
|
153
|
+
// primary call) re-enter the IDENTICAL pipeline for their denials.
|
|
156
154
|
const runBoundary = (denialSettled) => runTurnBoundary({
|
|
157
155
|
status,
|
|
158
156
|
executionId,
|
|
159
|
-
changeSetId: workspace.changeSetId,
|
|
160
157
|
hitlDir: gate.hitlDir,
|
|
161
|
-
captureMode: workspace.captureMode,
|
|
162
|
-
baselineTree: gate.baselineTree,
|
|
163
158
|
primaryWorkspaceDir: workspace.primaryDir,
|
|
164
|
-
gitWorkspace: workspace.gitWorkspace,
|
|
165
159
|
turnStartMessageIndex,
|
|
166
|
-
approvalGrants: gate.approvalGrants,
|
|
167
|
-
globalBypass: mcp.leases.global,
|
|
168
|
-
seededSubAgents: rows.seededSubAgents,
|
|
169
|
-
artifactStorage: input.artifactStorage,
|
|
170
160
|
mergedPolicies: mcp.policies,
|
|
171
161
|
denialCancelSettled: denialSettled,
|
|
172
162
|
foreignGatingHooks: gate.hitlGate.foreignGatingHooks,
|
|
173
163
|
});
|
|
174
|
-
// The boundary mutated the transcript in place and
|
|
175
|
-
//
|
|
176
|
-
// workflow, which waits for the approval
|
|
164
|
+
// The boundary mutated the transcript in place and a denial pauses the
|
|
165
|
+
// turn: the runtime flips the phase, persists, and returns to the
|
|
166
|
+
// workflow, which waits for the approval signal and reinvokes.
|
|
177
167
|
const awaitingApproval = (boundary) => {
|
|
178
|
-
console.log(`ExecuteCursor returning WAITING_FOR_APPROVAL: ${boundary.deniedToolCallCount} gated tool(s)
|
|
179
|
-
`${boundary.capturedChangeCount} file card(s) pending`);
|
|
168
|
+
console.log(`ExecuteCursor returning WAITING_FOR_APPROVAL: ${boundary.deniedToolCallCount} gated tool(s)`);
|
|
180
169
|
return { kind: "awaiting_approval" };
|
|
181
170
|
};
|
|
182
171
|
// Issue #205: a tool was blocked by a hook Stigmer does not own (the merge
|
|
@@ -201,13 +190,13 @@ export async function streamAndSettle(frame) {
|
|
|
201
190
|
`tools=[${blockedTools}], foreignHooks=[${foreign.join(", ")}]`);
|
|
202
191
|
return { kind: "failed", surface: "actionable", message };
|
|
203
192
|
};
|
|
204
|
-
// Re-enter the turn boundary for a recovery retry:
|
|
205
|
-
//
|
|
206
|
-
//
|
|
207
|
-
// aex_01kws27q1e2esvkqjpvectttxf
|
|
208
|
-
// there is no
|
|
209
|
-
//
|
|
210
|
-
// exactly like the primary path.
|
|
193
|
+
// Re-enter the turn boundary for a recovery retry: overlay the retry's
|
|
194
|
+
// denials as gates. (Its file edits need no re-entry: the runtime captures
|
|
195
|
+
// the whole turn's tree once after `runTurn` returns — the shape production
|
|
196
|
+
// case aex_01kws27q1e2esvkqjpvectttxf asked for, now by construction.)
|
|
197
|
+
// Returns undefined for a cancelled retry — there is no gate to open.
|
|
198
|
+
// Passes denialCancelSettled so a first denial that stopped the RETRY waits
|
|
199
|
+
// for run.cancel() before the ledger read, exactly like the primary path.
|
|
211
200
|
const settleRetryTurn = async (retryResultStatus) => retryResultStatus === "cancelled"
|
|
212
201
|
? undefined
|
|
213
202
|
: runBoundary(streamState.firstDenialDetected ? streamState.denialCancelSettled : undefined);
|
|
@@ -338,11 +327,10 @@ export async function streamAndSettle(frame) {
|
|
|
338
327
|
return recovery.outcome;
|
|
339
328
|
const { retryRun, retryResult, retryBoundary } = recovery;
|
|
340
329
|
if (retryBoundary?.waiting) {
|
|
341
|
-
// The retry's
|
|
342
|
-
// retry error this supersedes the failure, exactly as on the
|
|
343
|
-
// path
|
|
344
|
-
|
|
345
|
-
console.log(`ExecuteCursor poisoned-handle recovery paused for review: execution=${executionId}`);
|
|
330
|
+
// The retry's denials armed the gate — pause for approval. On a
|
|
331
|
+
// retry error this supersedes the failure, exactly as on the
|
|
332
|
+
// primary path.
|
|
333
|
+
console.log(`ExecuteCursor poisoned-handle recovery paused for approval: execution=${executionId}`);
|
|
346
334
|
return awaitingApproval(retryBoundary);
|
|
347
335
|
}
|
|
348
336
|
if (retryBoundary && retryBoundary.unattributedHookBlocks.length > 0) {
|
|
@@ -399,9 +387,9 @@ export async function streamAndSettle(frame) {
|
|
|
399
387
|
return recovery.outcome;
|
|
400
388
|
const { retryResult, retryBoundary } = recovery;
|
|
401
389
|
if (retryBoundary?.waiting) {
|
|
402
|
-
// The retry's
|
|
403
|
-
//
|
|
404
|
-
console.log(`ExecuteCursor transport-timeout recovery paused for
|
|
390
|
+
// The retry's denials armed the gate — pause for approval (see the
|
|
391
|
+
// poisoned-handle branch above for the precedence rationale).
|
|
392
|
+
console.log(`ExecuteCursor transport-timeout recovery paused for approval: execution=${executionId}`);
|
|
405
393
|
return awaitingApproval(retryBoundary);
|
|
406
394
|
}
|
|
407
395
|
if (retryBoundary && retryBoundary.unattributedHookBlocks.length > 0) {
|