harnery 0.36.0 → 0.38.0
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/dist/commander.d.ts +9 -0
- package/dist/commander.d.ts.map +1 -1
- package/dist/commander.js +10 -1
- package/dist/commands/admission.d.ts +21 -0
- package/dist/commands/admission.d.ts.map +1 -0
- package/dist/commands/admission.js +565 -0
- package/dist/commands/agents.d.ts +7 -0
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +148 -47
- package/dist/commands/artifacts.d.ts.map +1 -1
- package/dist/commands/artifacts.js +73 -2
- package/dist/commands/browse-ai.d.ts +2 -2
- package/dist/commands/browse-ai.d.ts.map +1 -1
- package/dist/commands/browse-ai.js +6 -4
- package/dist/commands/browse.d.ts.map +1 -1
- package/dist/commands/browse.js +360 -21
- package/dist/commands/diagnostics.d.ts +4 -0
- package/dist/commands/diagnostics.d.ts.map +1 -0
- package/dist/commands/diagnostics.js +229 -0
- package/dist/commands/fetch.js +1 -0
- package/dist/commands/files.d.ts +12 -0
- package/dist/commands/files.d.ts.map +1 -1
- package/dist/commands/files.js +54 -1
- package/dist/commands/governor.d.ts.map +1 -1
- package/dist/commands/governor.js +4 -0
- package/dist/commands/ledger-v3.d.ts.map +1 -1
- package/dist/commands/ledger-v3.js +71 -2
- package/dist/commands/qa-record.d.ts +144 -0
- package/dist/commands/qa-record.d.ts.map +1 -0
- package/dist/commands/qa-record.js +0 -0
- package/dist/commands/qa-run.d.ts +8 -0
- package/dist/commands/qa-run.d.ts.map +1 -0
- package/dist/commands/qa-run.js +396 -0
- package/dist/commands/qa-status.d.ts +71 -0
- package/dist/commands/qa-status.d.ts.map +1 -0
- package/dist/commands/qa-status.js +490 -0
- package/dist/commands/qa-verify.d.ts +40 -0
- package/dist/commands/qa-verify.d.ts.map +1 -0
- package/dist/commands/qa-verify.js +180 -0
- package/dist/commands/resources.d.ts +4 -0
- package/dist/commands/resources.d.ts.map +1 -0
- package/dist/commands/resources.js +29 -0
- package/dist/commands/review-pack.d.ts +4 -0
- package/dist/commands/review-pack.d.ts.map +1 -0
- package/dist/commands/review-pack.js +1001 -0
- package/dist/commands/supervisor.d.ts +4 -0
- package/dist/commands/supervisor.d.ts.map +1 -0
- package/dist/commands/supervisor.js +101 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +17 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +4 -0
- package/dist/core/agents/cli.js +7 -3
- package/dist/core/agents/health.d.ts +17 -0
- package/dist/core/agents/health.d.ts.map +1 -0
- package/dist/core/agents/health.js +109 -0
- package/dist/core/agents/mailbox.d.ts +92 -0
- package/dist/core/agents/mailbox.d.ts.map +1 -0
- package/dist/core/agents/mailbox.js +325 -0
- package/dist/core/agents/qa-signal.d.ts +111 -0
- package/dist/core/agents/qa-signal.d.ts.map +1 -0
- package/dist/core/agents/qa-signal.js +231 -0
- package/dist/core/agents/reconcile-coordination-v3.d.ts +44 -0
- package/dist/core/agents/reconcile-coordination-v3.d.ts.map +1 -0
- package/dist/core/agents/reconcile-coordination-v3.js +58 -0
- package/dist/core/agents/render/prompt-context.d.ts +5 -0
- package/dist/core/agents/render/prompt-context.d.ts.map +1 -1
- package/dist/core/agents/render/prompt-context.js +34 -13
- package/dist/core/agents/render/session-context.d.ts +8 -0
- package/dist/core/agents/render/session-context.d.ts.map +1 -1
- package/dist/core/agents/render/session-context.js +34 -3
- package/dist/core/agents/rules/commit-conflict.d.ts.map +1 -1
- package/dist/core/agents/rules/commit-conflict.js +50 -1
- package/dist/core/agents/rules/stop-hook.d.ts.map +1 -1
- package/dist/core/agents/rules/stop-hook.js +6 -10
- package/dist/core/agents/session-finalizer-v3.js +4 -1
- package/dist/core/agents/session-name-display.d.ts +20 -5
- package/dist/core/agents/session-name-display.d.ts.map +1 -1
- package/dist/core/agents/session-name-display.js +67 -7
- package/dist/core/agents/state/heartbeat-reader.d.ts +7 -0
- package/dist/core/agents/state/heartbeat-reader.d.ts.map +1 -1
- package/dist/core/agents/state/heartbeat-writer.d.ts +11 -0
- package/dist/core/agents/state/heartbeat-writer.d.ts.map +1 -1
- package/dist/core/agents/state/heartbeat-writer.js +17 -0
- package/dist/core/agents/state/live-coordination-view.d.ts.map +1 -1
- package/dist/core/agents/state/live-coordination-view.js +1 -0
- package/dist/core/agents/state/live-coordination-writer.js +5 -0
- package/dist/core/artifacts/constants.d.ts +1 -1
- package/dist/core/artifacts/constants.js +1 -1
- package/dist/core/artifacts/index.d.ts +82 -6
- package/dist/core/artifacts/index.d.ts.map +1 -1
- package/dist/core/artifacts/index.js +410 -15
- package/dist/core/config.d.ts +20 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +59 -0
- package/dist/core/diagnostics/advice.d.ts +9 -0
- package/dist/core/diagnostics/advice.d.ts.map +1 -0
- package/dist/core/diagnostics/advice.js +112 -0
- package/dist/core/diagnostics/bundle.d.ts +51 -0
- package/dist/core/diagnostics/bundle.d.ts.map +1 -0
- package/dist/core/diagnostics/bundle.js +968 -0
- package/dist/core/diagnostics/comparison.d.ts +5 -0
- package/dist/core/diagnostics/comparison.d.ts.map +1 -0
- package/dist/core/diagnostics/comparison.js +444 -0
- package/dist/core/diagnostics/contract.d.ts +245 -0
- package/dist/core/diagnostics/contract.d.ts.map +1 -0
- package/dist/core/diagnostics/contract.js +18 -0
- package/dist/core/diagnostics/identity.d.ts +3 -0
- package/dist/core/diagnostics/identity.d.ts.map +1 -0
- package/dist/core/diagnostics/identity.js +10 -0
- package/dist/core/diagnostics/index.d.ts +8 -0
- package/dist/core/diagnostics/index.d.ts.map +1 -0
- package/dist/core/diagnostics/index.js +7 -0
- package/dist/core/diagnostics/replay.d.ts +8 -0
- package/dist/core/diagnostics/replay.d.ts.map +1 -0
- package/dist/core/diagnostics/replay.js +213 -0
- package/dist/core/diagnostics/sanitize.d.ts +9 -0
- package/dist/core/diagnostics/sanitize.d.ts.map +1 -0
- package/dist/core/diagnostics/sanitize.js +84 -0
- package/dist/core/events/legacy-storage/compression.d.ts +13 -0
- package/dist/core/events/legacy-storage/compression.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/compression.js +107 -0
- package/dist/core/events/legacy-storage/index.d.ts +1 -0
- package/dist/core/events/legacy-storage/index.d.ts.map +1 -1
- package/dist/core/events/legacy-storage/index.js +1 -0
- package/dist/core/events/v3/archive-retention.d.ts +33 -0
- package/dist/core/events/v3/archive-retention.d.ts.map +1 -0
- package/dist/core/events/v3/archive-retention.js +195 -0
- package/dist/core/events/v3/bootstrap.d.ts.map +1 -1
- package/dist/core/events/v3/bootstrap.js +10 -0
- package/dist/core/events/v3/capabilities.d.ts +1 -1
- package/dist/core/events/v3/capabilities.d.ts.map +1 -1
- package/dist/core/events/v3/capabilities.js +1 -0
- package/dist/core/events/v3/coordination-view.d.ts +3 -0
- package/dist/core/events/v3/coordination-view.d.ts.map +1 -1
- package/dist/core/events/v3/coordination-view.js +69 -8
- package/dist/core/events/v3/index.d.ts +1 -0
- package/dist/core/events/v3/index.d.ts.map +1 -1
- package/dist/core/events/v3/index.js +1 -0
- package/dist/core/events/v3/live-routing.d.ts.map +1 -1
- package/dist/core/events/v3/live-routing.js +1 -0
- package/dist/core/events/v3/producers/hook-base.d.ts +1 -1
- package/dist/core/events/v3/producers/hook-base.d.ts.map +1 -1
- package/dist/core/events/v3/producers/hook-base.js +13 -2
- package/dist/core/events/v3/producers/intake.d.ts.map +1 -1
- package/dist/core/events/v3/producers/intake.js +10 -2
- package/dist/core/events/v3/producers/recorder.d.ts +39 -0
- package/dist/core/events/v3/producers/recorder.d.ts.map +1 -1
- package/dist/core/events/v3/producers/recorder.js +350 -17
- package/dist/core/hooks/adapter/output.d.ts +8 -0
- package/dist/core/hooks/adapter/output.d.ts.map +1 -1
- package/dist/core/hooks/adapter/output.js +11 -1
- package/dist/core/hooks/cli.js +303 -219
- package/dist/core/hooks/health.d.ts +59 -0
- package/dist/core/hooks/health.d.ts.map +1 -0
- package/dist/core/hooks/health.js +84 -0
- package/dist/core/hooks/resolve/transcript.d.ts.map +1 -1
- package/dist/core/hooks/resolve/transcript.js +10 -3
- package/dist/core/hooks/session-name-presence.d.ts.map +1 -1
- package/dist/core/hooks/session-name-presence.js +4 -1
- package/dist/core/qa-artifacts.d.ts +20 -0
- package/dist/core/qa-artifacts.d.ts.map +1 -0
- package/dist/core/qa-artifacts.js +110 -0
- package/dist/core/resources/contract.d.ts +96 -0
- package/dist/core/resources/contract.d.ts.map +1 -0
- package/dist/core/resources/contract.js +2 -0
- package/dist/core/resources/index.d.ts +6 -0
- package/dist/core/resources/index.d.ts.map +1 -0
- package/dist/core/resources/index.js +5 -0
- package/dist/core/resources/sampler.d.ts +34 -0
- package/dist/core/resources/sampler.d.ts.map +1 -0
- package/dist/core/resources/sampler.js +458 -0
- package/dist/core/resources/service-status.d.ts +3 -0
- package/dist/core/resources/service-status.d.ts.map +1 -0
- package/dist/core/resources/service-status.js +48 -0
- package/dist/core/resources/service.d.ts +26 -0
- package/dist/core/resources/service.d.ts.map +1 -0
- package/dist/core/resources/service.js +292 -0
- package/dist/core/resources/storage.d.ts +13 -0
- package/dist/core/resources/storage.d.ts.map +1 -0
- package/dist/core/resources/storage.js +30 -0
- package/dist/core/storage/atomic-json.d.ts +3 -0
- package/dist/core/storage/atomic-json.d.ts.map +1 -0
- package/dist/core/storage/atomic-json.js +15 -0
- package/dist/core/storage/builtins.d.ts.map +1 -1
- package/dist/core/storage/builtins.js +45 -6
- package/dist/core/storage/logger.d.ts +2 -0
- package/dist/core/storage/logger.d.ts.map +1 -1
- package/dist/core/storage/logger.js +2 -0
- package/dist/core/storage/query.d.ts +14 -0
- package/dist/core/storage/query.d.ts.map +1 -1
- package/dist/core/storage/query.js +51 -0
- package/dist/core/supervisor/activity.d.ts +4 -0
- package/dist/core/supervisor/activity.d.ts.map +1 -0
- package/dist/core/supervisor/activity.js +141 -0
- package/dist/core/supervisor/contract.d.ts +268 -0
- package/dist/core/supervisor/contract.d.ts.map +1 -0
- package/dist/core/supervisor/contract.js +35 -0
- package/dist/core/supervisor/explanations.d.ts +4 -0
- package/dist/core/supervisor/explanations.d.ts.map +1 -0
- package/dist/core/supervisor/explanations.js +71 -0
- package/dist/core/supervisor/findings.d.ts +20 -0
- package/dist/core/supervisor/findings.d.ts.map +1 -0
- package/dist/core/supervisor/findings.js +399 -0
- package/dist/core/supervisor/history.d.ts +9 -0
- package/dist/core/supervisor/history.d.ts.map +1 -0
- package/dist/core/supervisor/history.js +46 -0
- package/dist/core/supervisor/hook-health-alerts.d.ts +14 -0
- package/dist/core/supervisor/hook-health-alerts.d.ts.map +1 -0
- package/dist/core/supervisor/hook-health-alerts.js +70 -0
- package/dist/core/supervisor/hook-health-storage.d.ts +5 -0
- package/dist/core/supervisor/hook-health-storage.d.ts.map +1 -0
- package/dist/core/supervisor/hook-health-storage.js +24 -0
- package/dist/core/supervisor/hook-health.d.ts +72 -0
- package/dist/core/supervisor/hook-health.d.ts.map +1 -0
- package/dist/core/supervisor/hook-health.js +203 -0
- package/dist/core/supervisor/hooks.d.ts +10 -0
- package/dist/core/supervisor/hooks.d.ts.map +1 -0
- package/dist/core/supervisor/hooks.js +28 -0
- package/dist/core/supervisor/index.d.ts +15 -0
- package/dist/core/supervisor/index.d.ts.map +1 -0
- package/dist/core/supervisor/index.js +14 -0
- package/dist/core/supervisor/log-feed.d.ts +9 -0
- package/dist/core/supervisor/log-feed.d.ts.map +1 -0
- package/dist/core/supervisor/log-feed.js +103 -0
- package/dist/core/supervisor/service.d.ts +29 -0
- package/dist/core/supervisor/service.d.ts.map +1 -0
- package/dist/core/supervisor/service.js +450 -0
- package/dist/core/supervisor/services.d.ts +11 -0
- package/dist/core/supervisor/services.d.ts.map +1 -0
- package/dist/core/supervisor/services.js +155 -0
- package/dist/core/supervisor/status.d.ts +3 -0
- package/dist/core/supervisor/status.d.ts.map +1 -0
- package/dist/core/supervisor/status.js +48 -0
- package/dist/core/supervisor/storage.d.ts +30 -0
- package/dist/core/supervisor/storage.d.ts.map +1 -0
- package/dist/core/supervisor/storage.js +73 -0
- package/dist/core/supervisor/timeline.d.ts +3 -0
- package/dist/core/supervisor/timeline.d.ts.map +1 -0
- package/dist/core/supervisor/timeline.js +87 -0
- package/dist/core/workflow/admission.d.ts +23 -0
- package/dist/core/workflow/admission.d.ts.map +1 -0
- package/dist/core/workflow/admission.js +136 -0
- package/dist/core/workflow/engine.d.ts.map +1 -1
- package/dist/core/workflow/engine.js +77 -2
- package/dist/core/workflow/index.d.ts +3 -2
- package/dist/core/workflow/index.d.ts.map +1 -1
- package/dist/core/workflow/index.js +2 -1
- package/dist/core/workflow/proof.d.ts +2 -1
- package/dist/core/workflow/proof.d.ts.map +1 -1
- package/dist/core/workflow/proof.js +39 -1
- package/dist/core/workflow/run-state.d.ts +3 -2
- package/dist/core/workflow/run-state.d.ts.map +1 -1
- package/dist/core/workflow/run-state.js +8 -1
- package/dist/core/workflow/types.d.ts +33 -1
- package/dist/core/workflow/types.d.ts.map +1 -1
- package/dist/core/workflow/types.js +2 -1
- package/dist/lib/admission.d.ts +71 -0
- package/dist/lib/admission.d.ts.map +1 -0
- package/dist/lib/admission.js +264 -0
- package/dist/lib/agent-browser/client.d.ts +1 -1
- package/dist/lib/agent-browser/client.d.ts.map +1 -1
- package/dist/lib/agent-browser/client.js +1 -5
- package/dist/lib/browser/capture-fidelity.d.ts +39 -0
- package/dist/lib/browser/capture-fidelity.d.ts.map +1 -0
- package/dist/lib/browser/capture-fidelity.js +84 -0
- package/dist/lib/browser/client.d.ts +46 -1
- package/dist/lib/browser/client.d.ts.map +1 -1
- package/dist/lib/browser/client.js +168 -9
- package/dist/lib/browser/critique.d.ts +38 -1
- package/dist/lib/browser/critique.d.ts.map +1 -1
- package/dist/lib/browser/critique.js +34 -6
- package/dist/lib/browser/index.d.ts +5 -1
- package/dist/lib/browser/index.d.ts.map +1 -1
- package/dist/lib/browser/index.js +4 -0
- package/dist/lib/browser/page-review-judge.d.ts +64 -0
- package/dist/lib/browser/page-review-judge.d.ts.map +1 -0
- package/dist/lib/browser/page-review-judge.js +270 -0
- package/dist/lib/browser/page-review-pack.d.ts +613 -0
- package/dist/lib/browser/page-review-pack.d.ts.map +1 -0
- package/dist/lib/browser/page-review-pack.js +1751 -0
- package/dist/lib/browser/qa-run-contracts.d.ts +377 -0
- package/dist/lib/browser/qa-run-contracts.d.ts.map +1 -0
- package/dist/lib/browser/qa-run-contracts.js +361 -0
- package/dist/lib/browser/qa-run.d.ts +141 -0
- package/dist/lib/browser/qa-run.d.ts.map +1 -0
- package/dist/lib/browser/qa-run.js +1283 -0
- package/dist/lib/browser/request-diagnostics.d.ts +13 -0
- package/dist/lib/browser/request-diagnostics.d.ts.map +1 -0
- package/dist/lib/browser/request-diagnostics.js +18 -0
- package/dist/lib/browser/tiling.d.ts +19 -0
- package/dist/lib/browser/tiling.d.ts.map +1 -1
- package/dist/lib/browser/tiling.js +28 -0
- package/dist/lib/cookies/client.d.ts +9 -0
- package/dist/lib/cookies/client.d.ts.map +1 -1
- package/dist/lib/cookies/client.js +197 -44
- package/dist/lib/cookies/extra.d.ts +18 -0
- package/dist/lib/cookies/extra.d.ts.map +1 -0
- package/dist/lib/cookies/extra.js +14 -0
- package/dist/lib/cookies/index.d.ts +2 -1
- package/dist/lib/cookies/index.d.ts.map +1 -1
- package/dist/lib/cookies/index.js +2 -1
- package/dist/lib/coord-root-id.d.ts +9 -0
- package/dist/lib/coord-root-id.d.ts.map +1 -0
- package/dist/lib/coord-root-id.js +17 -0
- package/dist/lib/durable-job.d.ts +124 -0
- package/dist/lib/durable-job.d.ts.map +1 -0
- package/dist/lib/durable-job.js +296 -0
- package/dist/lib/http/client.d.ts +7 -1
- package/dist/lib/http/client.d.ts.map +1 -1
- package/dist/lib/http/client.js +2 -0
- package/dist/lib/instructions/apply.d.ts +3 -1
- package/dist/lib/instructions/apply.d.ts.map +1 -1
- package/dist/lib/instructions/apply.js +74 -3
- package/dist/lib/instructions/templates.d.ts.map +1 -1
- package/dist/lib/instructions/templates.js +11 -2
- package/package.json +19 -2
- package/src/commander.ts +75 -1
- package/src/commands/admission.ts +699 -0
- package/src/commands/agents.ts +189 -50
- package/src/commands/artifacts.ts +132 -18
- package/src/commands/browse-ai.ts +10 -5
- package/src/commands/browse.ts +496 -20
- package/src/commands/diagnostics.ts +271 -0
- package/src/commands/fetch.ts +1 -0
- package/src/commands/files.ts +102 -2
- package/src/commands/governor.ts +8 -0
- package/src/commands/ledger-v3.ts +82 -0
- package/src/commands/qa-record.ts +682 -0
- package/src/commands/qa-run.ts +503 -0
- package/src/commands/qa-status.ts +608 -0
- package/src/commands/qa-verify.ts +238 -0
- package/src/commands/resources.ts +38 -0
- package/src/commands/review-pack.ts +1281 -0
- package/src/commands/supervisor.ts +141 -0
- package/src/commands/web.ts +19 -0
- package/src/commands/workflow.ts +8 -0
- package/src/core/agents/cli.ts +7 -3
- package/src/core/agents/health.ts +142 -0
- package/src/core/agents/mailbox.ts +373 -0
- package/src/core/agents/qa-signal.ts +261 -0
- package/src/core/agents/reconcile-coordination-v3.ts +77 -0
- package/src/core/agents/render/prompt-context.ts +42 -12
- package/src/core/agents/render/session-context.ts +37 -3
- package/src/core/agents/rules/commit-conflict.ts +58 -1
- package/src/core/agents/rules/stop-hook.ts +6 -12
- package/src/core/agents/session-finalizer-v3.ts +4 -1
- package/src/core/agents/session-name-display.ts +78 -7
- package/src/core/agents/state/heartbeat-reader.ts +7 -0
- package/src/core/agents/state/heartbeat-writer.ts +23 -0
- package/src/core/agents/state/live-coordination-view.ts +1 -0
- package/src/core/agents/state/live-coordination-writer.ts +5 -0
- package/src/core/artifacts/constants.ts +1 -1
- package/src/core/artifacts/index.ts +565 -30
- package/src/core/config.ts +134 -2
- package/src/core/diagnostics/advice.ts +147 -0
- package/src/core/diagnostics/bundle.ts +1250 -0
- package/src/core/diagnostics/comparison.ts +565 -0
- package/src/core/diagnostics/contract.ts +311 -0
- package/src/core/diagnostics/identity.ts +11 -0
- package/src/core/diagnostics/index.ts +7 -0
- package/src/core/diagnostics/replay.ts +314 -0
- package/src/core/diagnostics/sanitize.ts +97 -0
- package/src/core/events/legacy-storage/compression.ts +130 -0
- package/src/core/events/legacy-storage/index.ts +1 -0
- package/src/core/events/v3/archive-retention.ts +251 -0
- package/src/core/events/v3/bootstrap.ts +10 -0
- package/src/core/events/v3/capabilities.ts +2 -0
- package/src/core/events/v3/coordination-view.ts +100 -11
- package/src/core/events/v3/index.ts +9 -0
- package/src/core/events/v3/live-routing.ts +1 -0
- package/src/core/events/v3/producers/hook-base.ts +14 -2
- package/src/core/events/v3/producers/intake.ts +10 -2
- package/src/core/events/v3/producers/recorder.ts +420 -17
- package/src/core/hooks/adapter/output.ts +12 -1
- package/src/core/hooks/cli.ts +332 -247
- package/src/core/hooks/health.ts +146 -0
- package/src/core/hooks/resolve/transcript.ts +10 -3
- package/src/core/hooks/session-name-presence.ts +6 -1
- package/src/core/qa-artifacts.ts +126 -0
- package/src/core/resources/contract.ts +105 -0
- package/src/core/resources/index.ts +5 -0
- package/src/core/resources/sampler.ts +590 -0
- package/src/core/resources/service-status.ts +62 -0
- package/src/core/resources/service.ts +337 -0
- package/src/core/resources/storage.ts +44 -0
- package/src/core/storage/atomic-json.ts +15 -0
- package/src/core/storage/builtins.ts +62 -6
- package/src/core/storage/logger.ts +2 -0
- package/src/core/storage/query.ts +58 -0
- package/src/core/supervisor/activity.ts +193 -0
- package/src/core/supervisor/contract.ts +312 -0
- package/src/core/supervisor/explanations.ts +104 -0
- package/src/core/supervisor/findings.ts +788 -0
- package/src/core/supervisor/history.ts +61 -0
- package/src/core/supervisor/hook-health-alerts.ts +108 -0
- package/src/core/supervisor/hook-health-storage.ts +25 -0
- package/src/core/supervisor/hook-health.ts +301 -0
- package/src/core/supervisor/hooks.ts +35 -0
- package/src/core/supervisor/index.ts +14 -0
- package/src/core/supervisor/log-feed.ts +131 -0
- package/src/core/supervisor/service.ts +511 -0
- package/src/core/supervisor/services.ts +203 -0
- package/src/core/supervisor/status.ts +59 -0
- package/src/core/supervisor/storage.ts +126 -0
- package/src/core/supervisor/timeline.ts +133 -0
- package/src/core/workflow/admission.ts +215 -0
- package/src/core/workflow/engine.ts +93 -1
- package/src/core/workflow/index.ts +10 -0
- package/src/core/workflow/proof.ts +54 -1
- package/src/core/workflow/run-state.ts +13 -1
- package/src/core/workflow/types.ts +39 -1
- package/src/lib/admission.ts +347 -0
- package/src/lib/agent-browser/client.ts +2 -10
- package/src/lib/browser/capture-fidelity.ts +98 -0
- package/src/lib/browser/client.ts +212 -10
- package/src/lib/browser/critique.ts +62 -7
- package/src/lib/browser/index.ts +65 -0
- package/src/lib/browser/page-review-judge.ts +360 -0
- package/src/lib/browser/page-review-pack.ts +2384 -0
- package/src/lib/browser/qa-run-contracts.ts +743 -0
- package/src/lib/browser/qa-run.ts +1462 -0
- package/src/lib/browser/request-diagnostics.ts +27 -0
- package/src/lib/browser/tiling.ts +32 -0
- package/src/lib/cookies/client.ts +228 -42
- package/src/lib/cookies/extra.ts +28 -0
- package/src/lib/cookies/index.ts +2 -0
- package/src/lib/coord-root-id.ts +23 -0
- package/src/lib/durable-job.ts +407 -0
- package/src/lib/http/client.ts +13 -1
- package/src/lib/instructions/apply.ts +81 -2
- package/src/lib/instructions/templates.ts +11 -2
|
@@ -39,6 +39,13 @@ interface TurnHarnessTimingV3 {
|
|
|
39
39
|
slowest_hook?: string;
|
|
40
40
|
slowest_hook_ms: number;
|
|
41
41
|
}
|
|
42
|
+
interface CursorResponseRitualV3 {
|
|
43
|
+
turn_id: `tid_${string}`;
|
|
44
|
+
native_turn_id?: string;
|
|
45
|
+
observed_at: string;
|
|
46
|
+
status_box_present: boolean;
|
|
47
|
+
status_box_present_strict: boolean;
|
|
48
|
+
}
|
|
42
49
|
interface PendingEventV3 {
|
|
43
50
|
source_id?: `hid_${string}`;
|
|
44
51
|
event: EventV3;
|
|
@@ -94,6 +101,10 @@ export interface HookProducerStateV3 {
|
|
|
94
101
|
current_turn_id?: `tid_${string}`;
|
|
95
102
|
/** Native turn identity retained owner-only for transcript attribution. */
|
|
96
103
|
current_native_turn_id?: string;
|
|
104
|
+
/** Latest completed assistant response for Cursor's open turn. The response
|
|
105
|
+
* body is discarded by agent-hook; only these booleans survive until Stop
|
|
106
|
+
* copies them into the authoritative turn.completed ritual observation. */
|
|
107
|
+
cursor_response_ritual?: CursorResponseRitualV3;
|
|
97
108
|
tool_call_count: number;
|
|
98
109
|
tool_call_count_turn_id?: `tid_${string}`;
|
|
99
110
|
last_event_id?: `evt_${string}`;
|
|
@@ -195,6 +206,11 @@ export type RecordHookSignalV3Result = {
|
|
|
195
206
|
reason: "closed_span";
|
|
196
207
|
} | {
|
|
197
208
|
state: "ignored";
|
|
209
|
+
} | {
|
|
210
|
+
state: "observed";
|
|
211
|
+
generation_id: `gen_${string}`;
|
|
212
|
+
turn_id: `tid_${string}`;
|
|
213
|
+
observed_at: string;
|
|
198
214
|
}
|
|
199
215
|
/** Durably queued in the intake spool; a lease holder or drain hook records it. */
|
|
200
216
|
| {
|
|
@@ -309,6 +325,29 @@ export declare function salvageOpenSpansV3(input: SalvageOpenSpansV3Input): Salv
|
|
|
309
325
|
export declare function listHookProducerStateRecordsV3(coordRoot: string, options?: {
|
|
310
326
|
includeTerminal?: boolean;
|
|
311
327
|
}): HookProducerStateRecordV3[];
|
|
328
|
+
export interface ReanchorArchivedHookProducersV3Input {
|
|
329
|
+
coordRoot: string;
|
|
330
|
+
archivedEpoch: string;
|
|
331
|
+
mode: EventV3WriteMode;
|
|
332
|
+
build_id: `build_${string}`;
|
|
333
|
+
platform: "linux" | "windows" | "macos" | "unknown";
|
|
334
|
+
observed_at?: string;
|
|
335
|
+
}
|
|
336
|
+
export interface ReanchorArchivedHookProducersV3Result {
|
|
337
|
+
sessions: number;
|
|
338
|
+
turns: number;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Re-anchor every live archived hook producer into a newly activated epoch.
|
|
342
|
+
*
|
|
343
|
+
* The archive rename is the rotation's atomic snapshot: it includes every
|
|
344
|
+
* state published before the boundary without copying any old boot sequence
|
|
345
|
+
* or causal link into the successor. Each live session gets a fresh
|
|
346
|
+
* generation and attestation. Only a turn that was open at the boundary is
|
|
347
|
+
* reopened, which makes command telemetry joinable before another adapter
|
|
348
|
+
* hook fires while preserving the between-turn state for idle sessions.
|
|
349
|
+
*/
|
|
350
|
+
export declare function reanchorArchivedHookProducersV3(input: ReanchorArchivedHookProducersV3Input): ReanchorArchivedHookProducersV3Result;
|
|
312
351
|
export declare function readHookProducerStateV3(coordRoot: string, adapter: Adapter, nativeSessionId: string): HookProducerStateV3 | undefined;
|
|
313
352
|
export interface ReconcilePendingRuntimeContextV3Input {
|
|
314
353
|
coordRoot: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/recorder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../../../../src/core/events/v3/producers/recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -329,7 +329,7 @@ function processHookSignalLocked(control, input, sessionHash, path) {
|
|
|
329
329
|
const durability = writeEventV3(input.coordRoot, pendingEvent, input.writerOptions);
|
|
330
330
|
applyCommittedEvent(state, pendingEvent);
|
|
331
331
|
state.pending = undefined;
|
|
332
|
-
publishProducerState(path, state);
|
|
332
|
+
publishProducerState(input.coordRoot, path, state);
|
|
333
333
|
if (pendingSource && incomingSource === pendingSource) {
|
|
334
334
|
recovered = { state: "recorded", event: pendingEvent, durability, recovered: true };
|
|
335
335
|
}
|
|
@@ -373,7 +373,16 @@ function processHookSignalLocked(control, input, sessionHash, path) {
|
|
|
373
373
|
state = newProducerState(input, sessionId, epochId, boundaryEventId, genesisId);
|
|
374
374
|
const cursorPromptBootstrap = isCursorPromptBootstrap(input);
|
|
375
375
|
const onboarding = buildMidFlightSessionStart(input, state, rootId, cursorPromptBootstrap);
|
|
376
|
-
|
|
376
|
+
// Onboarding commits eagerly even when the triggering hook defers its
|
|
377
|
+
// drain. The coordination view reads committed history only, so a
|
|
378
|
+
// spooled session.started leaves the session invisible to every
|
|
379
|
+
// authority command (set-task, status --end-turn, heal) until some other
|
|
380
|
+
// writer happens to drain the spool.
|
|
381
|
+
const onboardingInput = withEagerDrain(input);
|
|
382
|
+
commitEventLocked(onboardingInput, state, path, onboarding);
|
|
383
|
+
if (midFlightSignalImpliesOpenTurn(input.signal)) {
|
|
384
|
+
commitMidFlightTurnStart(onboardingInput, state, path, rootId);
|
|
385
|
+
}
|
|
377
386
|
if (!cursorPromptBootstrap) {
|
|
378
387
|
writeProducerDiagnosticV3(input.coordRoot, "mid_flight_onboarding", {
|
|
379
388
|
adapter: input.adapter,
|
|
@@ -460,13 +469,56 @@ function processHookSignalLocked(control, input, sessionHash, path) {
|
|
|
460
469
|
span_id: state.current_turn_span?.span_id,
|
|
461
470
|
payload: input.payload,
|
|
462
471
|
});
|
|
463
|
-
publishProducerState(path, state);
|
|
472
|
+
publishProducerState(input.coordRoot, path, state);
|
|
464
473
|
return { state: "ignored" };
|
|
465
474
|
}
|
|
466
475
|
// Every event derived before the native signal has now been committed.
|
|
467
476
|
// Sample once for the native event and every span it opens or closes so
|
|
468
477
|
// their self-contained timing cannot drift by a millisecond.
|
|
469
478
|
const eventClock = signalClock(input);
|
|
479
|
+
if (input.signal === "after-agent-response") {
|
|
480
|
+
if (input.adapter !== "cursor" ||
|
|
481
|
+
!state.current_turn_id ||
|
|
482
|
+
!state.current_turn_span ||
|
|
483
|
+
!input.turn_ritual) {
|
|
484
|
+
writeProducerDiagnosticV3(input.coordRoot, "cursor_response_ritual_unbound", {
|
|
485
|
+
adapter: input.adapter,
|
|
486
|
+
instance_id: input.instance_id,
|
|
487
|
+
generation_id: state.generation_id,
|
|
488
|
+
signal: input.signal,
|
|
489
|
+
reason: !state.current_turn_id
|
|
490
|
+
? "no_open_turn"
|
|
491
|
+
: !state.current_turn_span
|
|
492
|
+
? "no_open_turn_span"
|
|
493
|
+
: "ritual_observation_missing",
|
|
494
|
+
});
|
|
495
|
+
publishProducerState(input.coordRoot, path, state);
|
|
496
|
+
return { state: "ignored" };
|
|
497
|
+
}
|
|
498
|
+
const observation = {
|
|
499
|
+
turn_id: state.current_turn_id,
|
|
500
|
+
...(input.payload.turn_id ? { native_turn_id: input.payload.turn_id } : {}),
|
|
501
|
+
observed_at: eventClock.observed_at,
|
|
502
|
+
status_box_present: input.turn_ritual.status_box_present,
|
|
503
|
+
status_box_present_strict: input.turn_ritual.status_box_present_strict,
|
|
504
|
+
};
|
|
505
|
+
state.cursor_response_ritual = observation;
|
|
506
|
+
publishProducerState(input.coordRoot, path, state);
|
|
507
|
+
writeProducerDiagnosticV3(input.coordRoot, "cursor_response_ritual_observed", {
|
|
508
|
+
instance_id: state.instance_id,
|
|
509
|
+
generation_id: state.generation_id,
|
|
510
|
+
turn_id: observation.turn_id,
|
|
511
|
+
...(observation.native_turn_id ? { native_turn_id: observation.native_turn_id } : {}),
|
|
512
|
+
response_observed_at: observation.observed_at,
|
|
513
|
+
status_box_present_strict: observation.status_box_present_strict,
|
|
514
|
+
});
|
|
515
|
+
return {
|
|
516
|
+
state: "observed",
|
|
517
|
+
generation_id: state.generation_id,
|
|
518
|
+
turn_id: observation.turn_id,
|
|
519
|
+
observed_at: observation.observed_at,
|
|
520
|
+
};
|
|
521
|
+
}
|
|
470
522
|
if (input.signal === "user-prompt-submit" && !state.current_turn_span) {
|
|
471
523
|
state.current_turn_span = openSpanStateV3({
|
|
472
524
|
span_id: spanIdV3(),
|
|
@@ -685,6 +737,36 @@ function processHookSignalLocked(control, input, sessionHash, path) {
|
|
|
685
737
|
// Before the signal's own event: the tool call or turn that carries the
|
|
686
738
|
// new effort already ran under it, so it must ride the new attestation.
|
|
687
739
|
maybeAttestTuningChange(input, state, path, rootId);
|
|
740
|
+
const cursorResponseRitual = input.adapter === "cursor" &&
|
|
741
|
+
(input.signal === "stop" || input.signal === "stop-failure") &&
|
|
742
|
+
state.current_turn_id &&
|
|
743
|
+
state.cursor_response_ritual?.turn_id === state.current_turn_id
|
|
744
|
+
? state.cursor_response_ritual
|
|
745
|
+
: undefined;
|
|
746
|
+
const terminalTurnRitual = input.adapter === "cursor" && (input.signal === "stop" || input.signal === "stop-failure")
|
|
747
|
+
? cursorResponseRitual
|
|
748
|
+
? {
|
|
749
|
+
status_box_present: cursorResponseRitual.status_box_present,
|
|
750
|
+
status_box_present_strict: cursorResponseRitual.status_box_present_strict,
|
|
751
|
+
session_name_required: false,
|
|
752
|
+
session_name_present: false,
|
|
753
|
+
}
|
|
754
|
+
: undefined
|
|
755
|
+
: input.turn_ritual;
|
|
756
|
+
if (cursorResponseRitual) {
|
|
757
|
+
writeProducerDiagnosticV3(input.coordRoot, "cursor_response_ritual_consumed", {
|
|
758
|
+
instance_id: state.instance_id,
|
|
759
|
+
generation_id: state.generation_id,
|
|
760
|
+
turn_id: cursorResponseRitual.turn_id,
|
|
761
|
+
...(cursorResponseRitual.native_turn_id
|
|
762
|
+
? { response_native_turn_id: cursorResponseRitual.native_turn_id }
|
|
763
|
+
: {}),
|
|
764
|
+
...(input.payload.turn_id ? { stop_native_turn_id: input.payload.turn_id } : {}),
|
|
765
|
+
response_observed_at: cursorResponseRitual.observed_at,
|
|
766
|
+
stop_observed_at: eventClock.observed_at,
|
|
767
|
+
status_box_present_strict: cursorResponseRitual.status_box_present_strict,
|
|
768
|
+
});
|
|
769
|
+
}
|
|
688
770
|
const event = normalizeHookEventV3(input.signal, eventInput.payload, {
|
|
689
771
|
coordRoot: input.coordRoot,
|
|
690
772
|
adapter: input.adapter,
|
|
@@ -742,7 +824,7 @@ function processHookSignalLocked(control, input, sessionHash, path) {
|
|
|
742
824
|
child_generation_id: delegation?.child_generation_id,
|
|
743
825
|
agent_role: delegation?.role,
|
|
744
826
|
stop_remediation: input.stop_remediation,
|
|
745
|
-
turn_ritual:
|
|
827
|
+
turn_ritual: terminalTurnRitual,
|
|
746
828
|
});
|
|
747
829
|
if (!event)
|
|
748
830
|
return { state: "ignored" };
|
|
@@ -1186,16 +1268,107 @@ function commitRecoveredToolTurnStart(input, state, path, rootId, fingerprintCon
|
|
|
1186
1268
|
assertEventV3(event);
|
|
1187
1269
|
commitEventLocked(input, state, path, event);
|
|
1188
1270
|
}
|
|
1271
|
+
/**
|
|
1272
|
+
* Signals an adapter can only deliver while a turn is executing. A session
|
|
1273
|
+
* onboarded mid-flight by one of these is provably inside a turn, so the
|
|
1274
|
+
* generation opens with one instead of waiting for the next native prompt.
|
|
1275
|
+
* The native prompt path opens its own turn, session boundaries carry no
|
|
1276
|
+
* turn, and compaction can run between turns.
|
|
1277
|
+
*/
|
|
1278
|
+
function midFlightSignalImpliesOpenTurn(signal) {
|
|
1279
|
+
switch (signal) {
|
|
1280
|
+
case "session-start":
|
|
1281
|
+
case "session-end":
|
|
1282
|
+
case "user-prompt-submit":
|
|
1283
|
+
case "pre-compact":
|
|
1284
|
+
case "post-compact":
|
|
1285
|
+
return false;
|
|
1286
|
+
default:
|
|
1287
|
+
return true;
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
/** Commit through the append path even when the hook asked to defer its drain. */
|
|
1291
|
+
function withEagerDrain(input) {
|
|
1292
|
+
if (!input.writerOptions?.deferDrain)
|
|
1293
|
+
return input;
|
|
1294
|
+
return { ...input, writerOptions: { ...input.writerOptions, deferDrain: false } };
|
|
1295
|
+
}
|
|
1296
|
+
/**
|
|
1297
|
+
* Open a derived turn for a session onboarded mid-flight (ADR 0078) by a
|
|
1298
|
+
* signal that only an executing turn can deliver. Without it the fresh
|
|
1299
|
+
* generation has no current turn: command telemetry refuses to join
|
|
1300
|
+
* (`turn_not_started`), tool spans nest under the session span, and after an
|
|
1301
|
+
* epoch rotation (ADR 0137) the live session cannot satisfy its end-of-turn
|
|
1302
|
+
* gate until a human submits the next prompt. The payload's native turn id
|
|
1303
|
+
* is kept when the adapter supplies one, so the turn already running keeps
|
|
1304
|
+
* its identity across the boundary and later signals join it directly.
|
|
1305
|
+
*/
|
|
1306
|
+
function commitMidFlightTurnStart(input, state, path, rootId, recovery) {
|
|
1307
|
+
const fingerprintContext = fingerprintContextV3(input.coordRoot, rootId, state.generation_id, state.privacy_epoch_id);
|
|
1308
|
+
const clock = signalClock(input);
|
|
1309
|
+
const span = openSpanStateV3({
|
|
1310
|
+
span_id: spanIdV3(),
|
|
1311
|
+
parent_span_id: state.session_span.span_id,
|
|
1312
|
+
boot_id: state.boot_id,
|
|
1313
|
+
clock,
|
|
1314
|
+
});
|
|
1315
|
+
state.current_turn_span = span;
|
|
1316
|
+
const nativeTurnId = input.payload.turn_id;
|
|
1317
|
+
state.current_native_turn_id = nativeTurnId;
|
|
1318
|
+
const event = normalizeHookEventV3("user-prompt-submit", recoveryBoundaryPayload(input.payload), {
|
|
1319
|
+
coordRoot: input.coordRoot,
|
|
1320
|
+
adapter: input.adapter,
|
|
1321
|
+
adapterVersion: input.adapterVersion,
|
|
1322
|
+
harnessVersion: input.harnessVersion,
|
|
1323
|
+
root_id: rootId,
|
|
1324
|
+
run_id: input.run_id,
|
|
1325
|
+
workflow_id: input.workflow_id,
|
|
1326
|
+
workflow_agent_id: input.workflow_agent_id,
|
|
1327
|
+
instance_id: state.instance_id,
|
|
1328
|
+
generation_id: state.generation_id,
|
|
1329
|
+
attestation_id: state.attestation_id,
|
|
1330
|
+
producer_id: input.producer_id,
|
|
1331
|
+
boot_id: state.boot_id,
|
|
1332
|
+
sequence: state.next_sequence,
|
|
1333
|
+
build_id: input.build_id,
|
|
1334
|
+
platform: input.platform,
|
|
1335
|
+
bridge: input.bridge,
|
|
1336
|
+
capability_profile: state.capability_profile,
|
|
1337
|
+
fingerprintContext,
|
|
1338
|
+
turn_native_id: nativeTurnId ?? `mid-flight:${state.generation_id}:${state.turn_ordinal + 1}`,
|
|
1339
|
+
span_id: span.span_id,
|
|
1340
|
+
caused_by: state.last_event_id ? [state.last_event_id] : [],
|
|
1341
|
+
observed_at: clock.observed_at,
|
|
1342
|
+
monotonic_ns: orderedEventMonotonic(state, input.monotonic_ns),
|
|
1343
|
+
clock_id: state.clock_id,
|
|
1344
|
+
});
|
|
1345
|
+
if (event?.event_type !== "turn.started") {
|
|
1346
|
+
throw new Error("mid-flight turn start could not be normalized");
|
|
1347
|
+
}
|
|
1348
|
+
event.provenance = {
|
|
1349
|
+
...event.provenance,
|
|
1350
|
+
source_event: recovery?.source_event ?? `${input.adapter}.recovery`,
|
|
1351
|
+
attestation: "derived",
|
|
1352
|
+
confidence: recovery?.confidence ?? (nativeTurnId ? "medium" : "low"),
|
|
1353
|
+
attribution: {
|
|
1354
|
+
method: recovery?.attribution_method ?? (nativeTurnId ? "native_payload" : "session_env"),
|
|
1355
|
+
state: "verified",
|
|
1356
|
+
subject_instance_id: state.instance_id,
|
|
1357
|
+
},
|
|
1358
|
+
};
|
|
1359
|
+
assertEventV3(event);
|
|
1360
|
+
commitEventLocked(input, state, path, event);
|
|
1361
|
+
}
|
|
1189
1362
|
/** The single pending-publish/write/apply/publish cycle every locked event commit uses. */
|
|
1190
1363
|
function commitEventLocked(input, state, path, event, sourceId) {
|
|
1191
1364
|
markObservedClockRegressionV3(event, state.last_observed_at);
|
|
1192
1365
|
assertEventV3(event);
|
|
1193
1366
|
state.pending = { ...(sourceId ? { source_id: sourceId } : {}), event };
|
|
1194
|
-
publishProducerState(path, state);
|
|
1367
|
+
publishProducerState(input.coordRoot, path, state);
|
|
1195
1368
|
const durability = writeEventV3(input.coordRoot, event, input.writerOptions);
|
|
1196
1369
|
applyCommittedEvent(state, event);
|
|
1197
1370
|
state.pending = undefined;
|
|
1198
|
-
publishProducerState(path, state);
|
|
1371
|
+
publishProducerState(input.coordRoot, path, state);
|
|
1199
1372
|
return durability;
|
|
1200
1373
|
}
|
|
1201
1374
|
function commitTurnContextObservation(input, state, path, rootId, fingerprintContext, target, measurement, contextProvenance, observedAt) {
|
|
@@ -1214,7 +1387,7 @@ function commitContextObservation(input, state, path, rootId, fingerprintContext
|
|
|
1214
1387
|
if (measurement.state === "observed" &&
|
|
1215
1388
|
contextProvenance?.source_witness &&
|
|
1216
1389
|
state.last_context_source_witness === contextProvenance.source_witness) {
|
|
1217
|
-
publishProducerState(path, state);
|
|
1390
|
+
publishProducerState(input.coordRoot, path, state);
|
|
1218
1391
|
return;
|
|
1219
1392
|
}
|
|
1220
1393
|
if (measurement.state === "observed" && contextProvenance?.source_witness) {
|
|
@@ -1314,12 +1487,12 @@ function maybeCommitActiveRuntimeContextObservation(input, state, path, rootId,
|
|
|
1314
1487
|
return;
|
|
1315
1488
|
}
|
|
1316
1489
|
if (input.adapter === "cursor" && state.cursor_mode === "cloud") {
|
|
1317
|
-
publishProducerState(path, state);
|
|
1490
|
+
publishProducerState(input.coordRoot, path, state);
|
|
1318
1491
|
return;
|
|
1319
1492
|
}
|
|
1320
1493
|
const transcriptPath = runtimeTranscriptPath(input, state);
|
|
1321
1494
|
if (!transcriptPath && input.adapter !== "cursor") {
|
|
1322
|
-
publishProducerState(path, state);
|
|
1495
|
+
publishProducerState(input.coordRoot, path, state);
|
|
1323
1496
|
return;
|
|
1324
1497
|
}
|
|
1325
1498
|
const runtime = readRuntimeContextTelemetry({
|
|
@@ -1336,7 +1509,7 @@ function maybeCommitActiveRuntimeContextObservation(input, state, path, rootId,
|
|
|
1336
1509
|
if (runtime.bytes_read > 0)
|
|
1337
1510
|
recordRuntimeTelemetryTiming(state, runtime.io_duration_ms);
|
|
1338
1511
|
if (runtime.state !== "observed") {
|
|
1339
|
-
publishProducerState(path, state);
|
|
1512
|
+
publishProducerState(input.coordRoot, path, state);
|
|
1340
1513
|
return;
|
|
1341
1514
|
}
|
|
1342
1515
|
commitActiveContextObservation(input, state, path, rootId, fingerprintContext, sourceEvent, runtimeContextObservation(runtime), {
|
|
@@ -1505,7 +1678,7 @@ function reconcilePendingRuntimeContexts(input, state, path, rootId, fingerprint
|
|
|
1505
1678
|
if (state.pending_runtime_contexts?.length === 0) {
|
|
1506
1679
|
state.pending_runtime_contexts = undefined;
|
|
1507
1680
|
}
|
|
1508
|
-
publishProducerState(path, state);
|
|
1681
|
+
publishProducerState(input.coordRoot, path, state);
|
|
1509
1682
|
}
|
|
1510
1683
|
function reconcilePendingRuntimeContextsBeforeApprovedEnd(input, state, path, rootId, fingerprintContext) {
|
|
1511
1684
|
if (state.adapter !== "codex" || !state.pending_runtime_contexts?.length)
|
|
@@ -2161,7 +2334,7 @@ export function recordApprovedSessionEndV3(input) {
|
|
|
2161
2334
|
const durability = writeEventV3(input.coordRoot, pending, input.writerOptions);
|
|
2162
2335
|
applyCommittedEvent(state, pending);
|
|
2163
2336
|
state.pending = undefined;
|
|
2164
|
-
publishProducerState(record.path, state);
|
|
2337
|
+
publishProducerState(input.coordRoot, record.path, state);
|
|
2165
2338
|
recovered = true;
|
|
2166
2339
|
if (pending.event_type === "session.ended") {
|
|
2167
2340
|
return { state: "recorded", event: pending, durability, recovered };
|
|
@@ -2244,11 +2417,11 @@ export function recordApprovedSessionEndV3(input) {
|
|
|
2244
2417
|
markObservedClockRegressionV3(event, state.last_observed_at);
|
|
2245
2418
|
assertEventV3(event);
|
|
2246
2419
|
state.pending = { event };
|
|
2247
|
-
publishProducerState(record.path, state);
|
|
2420
|
+
publishProducerState(input.coordRoot, record.path, state);
|
|
2248
2421
|
const durability = writeEventV3(input.coordRoot, event, input.writerOptions);
|
|
2249
2422
|
applyCommittedEvent(state, event);
|
|
2250
2423
|
state.pending = undefined;
|
|
2251
|
-
publishProducerState(record.path, state);
|
|
2424
|
+
publishProducerState(input.coordRoot, record.path, state);
|
|
2252
2425
|
return { state: "recorded", event, durability, recovered };
|
|
2253
2426
|
}
|
|
2254
2427
|
finally {
|
|
@@ -2310,7 +2483,7 @@ export function salvageOpenSpansV3(input) {
|
|
|
2310
2483
|
writeEventV3(input.coordRoot, pendingEvent, input.writerOptions);
|
|
2311
2484
|
applyCommittedEvent(state, pendingEvent);
|
|
2312
2485
|
state.pending = undefined;
|
|
2313
|
-
publishProducerState(record.path, state);
|
|
2486
|
+
publishProducerState(input.coordRoot, record.path, state);
|
|
2314
2487
|
}
|
|
2315
2488
|
const allowed = new Set(input.allowed_span_ids);
|
|
2316
2489
|
const fingerprintContext = fingerprintContextV3(input.coordRoot, rootId, state.generation_id, state.privacy_epoch_id);
|
|
@@ -2372,6 +2545,126 @@ export function listHookProducerStateRecordsV3(coordRoot, options = {}) {
|
|
|
2372
2545
|
return records.sort((left, right) => left.state.generation_id.localeCompare(right.state.generation_id) ||
|
|
2373
2546
|
left.path.localeCompare(right.path));
|
|
2374
2547
|
}
|
|
2548
|
+
/**
|
|
2549
|
+
* Re-anchor every live archived hook producer into a newly activated epoch.
|
|
2550
|
+
*
|
|
2551
|
+
* The archive rename is the rotation's atomic snapshot: it includes every
|
|
2552
|
+
* state published before the boundary without copying any old boot sequence
|
|
2553
|
+
* or causal link into the successor. Each live session gets a fresh
|
|
2554
|
+
* generation and attestation. Only a turn that was open at the boundary is
|
|
2555
|
+
* reopened, which makes command telemetry joinable before another adapter
|
|
2556
|
+
* hook fires while preserving the between-turn state for idle sessions.
|
|
2557
|
+
*/
|
|
2558
|
+
export function reanchorArchivedHookProducersV3(input) {
|
|
2559
|
+
const control = readEventV3ControlState(input.coordRoot);
|
|
2560
|
+
if (control.state !== input.mode) {
|
|
2561
|
+
throw new Error(`event_v3_rotation_reanchor_gate_closed:${control.state}`);
|
|
2562
|
+
}
|
|
2563
|
+
const rootId = control.genesis.event.scope.root_id;
|
|
2564
|
+
const epochId = control.genesis.profile.privacy_key_epoch;
|
|
2565
|
+
const genesisId = control.genesis.event.payload.genesis_id;
|
|
2566
|
+
const boundaryEventId = control.state === "candidate"
|
|
2567
|
+
? control.genesis.event.event_id
|
|
2568
|
+
: control.activation.event.event_id;
|
|
2569
|
+
const observedAt = input.observed_at ?? new Date().toISOString();
|
|
2570
|
+
let sessions = 0;
|
|
2571
|
+
let turns = 0;
|
|
2572
|
+
for (const archived of listArchivedHookProducerStatesV3(input.archivedEpoch)) {
|
|
2573
|
+
const previous = archived.state;
|
|
2574
|
+
if (previous.terminal || !previous.started_event_id)
|
|
2575
|
+
continue;
|
|
2576
|
+
const path = producerStatePath(input.coordRoot, previous.adapter, archived.sessionHash);
|
|
2577
|
+
const lease = acquireStateLeaseWithRetry(input.coordRoot, path, 40);
|
|
2578
|
+
if (!lease) {
|
|
2579
|
+
throw new Error(`event_v3_rotation_reanchor_busy:${previous.instance_id}`);
|
|
2580
|
+
}
|
|
2581
|
+
try {
|
|
2582
|
+
if (existsSync(path)) {
|
|
2583
|
+
const current = readProducerState(path);
|
|
2584
|
+
if (current.epoch_genesis_id === genesisId)
|
|
2585
|
+
continue;
|
|
2586
|
+
}
|
|
2587
|
+
const sourceEvent = `${previous.adapter}.epoch-rotation-reanchor`;
|
|
2588
|
+
const rotationInput = {
|
|
2589
|
+
coordRoot: input.coordRoot,
|
|
2590
|
+
mode: input.mode,
|
|
2591
|
+
signal: "session-start",
|
|
2592
|
+
payload: {
|
|
2593
|
+
raw: {},
|
|
2594
|
+
...(previous.current_native_turn_id ? { turn_id: previous.current_native_turn_id } : {}),
|
|
2595
|
+
...(previous.adapter === "cursor" && previous.cursor_mode
|
|
2596
|
+
? { cursor_mode: previous.cursor_mode }
|
|
2597
|
+
: {}),
|
|
2598
|
+
},
|
|
2599
|
+
adapter: previous.adapter,
|
|
2600
|
+
instance_id: previous.instance_id,
|
|
2601
|
+
producer_id: "prd_agent-hook",
|
|
2602
|
+
build_id: input.build_id,
|
|
2603
|
+
platform: input.platform,
|
|
2604
|
+
observed_at: observedAt,
|
|
2605
|
+
writerOptions: { expectedGenesisId: genesisId },
|
|
2606
|
+
};
|
|
2607
|
+
const state = newProducerState(rotationInput, previous.session_id, epochId, boundaryEventId, genesisId);
|
|
2608
|
+
const sessionStart = buildMidFlightSessionStart(rotationInput, state, rootId);
|
|
2609
|
+
if (sessionStart.event_type !== "session.started") {
|
|
2610
|
+
throw new Error("rotation re-anchor session start could not be normalized");
|
|
2611
|
+
}
|
|
2612
|
+
sessionStart.provenance = {
|
|
2613
|
+
...sessionStart.provenance,
|
|
2614
|
+
source_event: sourceEvent,
|
|
2615
|
+
attestation: "derived",
|
|
2616
|
+
confidence: "high",
|
|
2617
|
+
attribution: {
|
|
2618
|
+
method: "session_env",
|
|
2619
|
+
state: "verified",
|
|
2620
|
+
subject_instance_id: state.instance_id,
|
|
2621
|
+
},
|
|
2622
|
+
};
|
|
2623
|
+
sessionStart.payload.resume = {
|
|
2624
|
+
state: "unknown",
|
|
2625
|
+
reason: "epoch_rotation_reanchor",
|
|
2626
|
+
};
|
|
2627
|
+
assertEventV3(sessionStart);
|
|
2628
|
+
commitEventLocked(rotationInput, state, path, sessionStart);
|
|
2629
|
+
sessions += 1;
|
|
2630
|
+
if (previous.current_turn_id && previous.current_turn_span) {
|
|
2631
|
+
commitMidFlightTurnStart(rotationInput, state, path, rootId, {
|
|
2632
|
+
source_event: sourceEvent,
|
|
2633
|
+
confidence: "high",
|
|
2634
|
+
attribution_method: "session_env",
|
|
2635
|
+
});
|
|
2636
|
+
turns += 1;
|
|
2637
|
+
}
|
|
2638
|
+
}
|
|
2639
|
+
finally {
|
|
2640
|
+
lease.release();
|
|
2641
|
+
}
|
|
2642
|
+
}
|
|
2643
|
+
return { sessions, turns };
|
|
2644
|
+
}
|
|
2645
|
+
function listArchivedHookProducerStatesV3(archivedEpoch) {
|
|
2646
|
+
const producerRoot = join(resolve(archivedEpoch), "private-producers");
|
|
2647
|
+
if (!existsSync(producerRoot))
|
|
2648
|
+
return [];
|
|
2649
|
+
const records = [];
|
|
2650
|
+
for (const adapter of ["claude-code", "codex", "cursor"]) {
|
|
2651
|
+
const directory = join(producerRoot, adapter);
|
|
2652
|
+
if (!existsSync(directory))
|
|
2653
|
+
continue;
|
|
2654
|
+
const metadata = lstatSync(directory);
|
|
2655
|
+
if (!metadata.isDirectory() || metadata.isSymbolicLink()) {
|
|
2656
|
+
throw new Error("V3 archived producer state directory is unsafe");
|
|
2657
|
+
}
|
|
2658
|
+
for (const name of readdirSync(directory).filter((entry) => /^hid_[a-f0-9]{64}\.json$/.test(entry))) {
|
|
2659
|
+
records.push({
|
|
2660
|
+
sessionHash: name.slice(0, -".json".length),
|
|
2661
|
+
state: readProducerState(join(directory, name)),
|
|
2662
|
+
});
|
|
2663
|
+
}
|
|
2664
|
+
}
|
|
2665
|
+
return records.sort((left, right) => left.state.generation_id.localeCompare(right.state.generation_id) ||
|
|
2666
|
+
left.sessionHash.localeCompare(right.sessionHash));
|
|
2667
|
+
}
|
|
2375
2668
|
function hookSignalCapability(signal) {
|
|
2376
2669
|
switch (signal) {
|
|
2377
2670
|
case "session-start":
|
|
@@ -2380,6 +2673,8 @@ function hookSignalCapability(signal) {
|
|
|
2380
2673
|
return "session_end";
|
|
2381
2674
|
case "user-prompt-submit":
|
|
2382
2675
|
return "prompt";
|
|
2676
|
+
case "after-agent-response":
|
|
2677
|
+
return "assistant_reply_text";
|
|
2383
2678
|
case "stop":
|
|
2384
2679
|
case "stop-failure":
|
|
2385
2680
|
return "turn_completion";
|
|
@@ -2573,6 +2868,7 @@ function applyCommittedEvent(state, event) {
|
|
|
2573
2868
|
if (event.event_type === "turn.started") {
|
|
2574
2869
|
const nextTurnId = event.scope.turn_id;
|
|
2575
2870
|
state.current_turn_id = nextTurnId;
|
|
2871
|
+
state.cursor_response_ritual = undefined;
|
|
2576
2872
|
state.session_start_derivation = undefined;
|
|
2577
2873
|
if (state.tool_call_count_turn_id !== nextTurnId) {
|
|
2578
2874
|
state.tool_call_count = 0;
|
|
@@ -2650,6 +2946,7 @@ function applyCommittedEvent(state, event) {
|
|
|
2650
2946
|
}
|
|
2651
2947
|
state.current_turn_id = undefined;
|
|
2652
2948
|
state.current_native_turn_id = undefined;
|
|
2949
|
+
state.cursor_response_ritual = undefined;
|
|
2653
2950
|
state.current_turn_span = undefined;
|
|
2654
2951
|
state.tool_call_count = 0;
|
|
2655
2952
|
state.tool_call_count_turn_id = undefined;
|
|
@@ -2818,7 +3115,11 @@ function acquireStateLease(coordRoot, statePath) {
|
|
|
2818
3115
|
mkdirSync(directory, { recursive: true, mode: 0o700 });
|
|
2819
3116
|
chmodSync(producerRoot, 0o700);
|
|
2820
3117
|
chmodSync(directory, 0o700);
|
|
2821
|
-
|
|
3118
|
+
const acquiredControl = readEventV3ControlState(coordRoot);
|
|
3119
|
+
const acquiredGenesis = acquiredControl.state === "candidate" || acquiredControl.state === "active"
|
|
3120
|
+
? acquiredControl.genesis.event.payload.genesis_id
|
|
3121
|
+
: undefined;
|
|
3122
|
+
const lease = acquireNoClobberLease({
|
|
2822
3123
|
path: `${statePath}.lease`,
|
|
2823
3124
|
scope: "event-v3-hook-producer",
|
|
2824
3125
|
authoritySha256: createHash("sha256")
|
|
@@ -2829,8 +3130,30 @@ function acquireStateLease(coordRoot, statePath) {
|
|
|
2829
3130
|
staleAfterMs: 5_000,
|
|
2830
3131
|
validateStaleOwner: (owner) => owner.host === hostname() && !pidIsAlive(owner.pid),
|
|
2831
3132
|
});
|
|
3133
|
+
return {
|
|
3134
|
+
...lease,
|
|
3135
|
+
release() {
|
|
3136
|
+
try {
|
|
3137
|
+
lease.release();
|
|
3138
|
+
}
|
|
3139
|
+
catch (error) {
|
|
3140
|
+
const current = readEventV3ControlState(coordRoot);
|
|
3141
|
+
const epochReplaced = acquiredGenesis !== undefined &&
|
|
3142
|
+
(current.state === "candidate" || current.state === "active") &&
|
|
3143
|
+
current.genesis.event.payload.genesis_id !== acquiredGenesis;
|
|
3144
|
+
if (error.code === "ENOENT" && epochReplaced)
|
|
3145
|
+
return;
|
|
3146
|
+
throw error;
|
|
3147
|
+
}
|
|
3148
|
+
},
|
|
3149
|
+
};
|
|
2832
3150
|
}
|
|
2833
|
-
function publishProducerState(path, state) {
|
|
3151
|
+
function publishProducerState(coordRoot, path, state) {
|
|
3152
|
+
const control = readEventV3ControlState(coordRoot);
|
|
3153
|
+
if ((control.state === "candidate" || control.state === "active") &&
|
|
3154
|
+
state.epoch_genesis_id !== control.genesis.event.payload.genesis_id) {
|
|
3155
|
+
return;
|
|
3156
|
+
}
|
|
2834
3157
|
const temporary = `${path}.tmp-${process.pid}-${randomUUID()}`;
|
|
2835
3158
|
let fd;
|
|
2836
3159
|
try {
|
|
@@ -2900,6 +3223,7 @@ function readProducerState(path) {
|
|
|
2900
3223
|
"current_native_turn_id",
|
|
2901
3224
|
"current_turn_span",
|
|
2902
3225
|
"cursor_mode",
|
|
3226
|
+
"cursor_response_ritual",
|
|
2903
3227
|
"delegations",
|
|
2904
3228
|
"epoch_genesis_id",
|
|
2905
3229
|
"format",
|
|
@@ -3004,6 +3328,15 @@ function readProducerState(path) {
|
|
|
3004
3328
|
(typeof state.current_native_turn_id !== "string" ||
|
|
3005
3329
|
state.current_native_turn_id.length === 0 ||
|
|
3006
3330
|
state.current_native_turn_id.length > 512)) ||
|
|
3331
|
+
(state.cursor_response_ritual !== undefined &&
|
|
3332
|
+
(!/^tid_[a-f0-9]{64}$/.test(state.cursor_response_ritual.turn_id) ||
|
|
3333
|
+
(state.cursor_response_ritual.native_turn_id !== undefined &&
|
|
3334
|
+
(typeof state.cursor_response_ritual.native_turn_id !== "string" ||
|
|
3335
|
+
state.cursor_response_ritual.native_turn_id.length === 0 ||
|
|
3336
|
+
state.cursor_response_ritual.native_turn_id.length > 512)) ||
|
|
3337
|
+
!Number.isFinite(Date.parse(state.cursor_response_ritual.observed_at)) ||
|
|
3338
|
+
typeof state.cursor_response_ritual.status_box_present !== "boolean" ||
|
|
3339
|
+
typeof state.cursor_response_ritual.status_box_present_strict !== "boolean")) ||
|
|
3007
3340
|
(state.last_event_id !== undefined && !/^evt_[0-9a-f-]{36}$/.test(state.last_event_id)) ||
|
|
3008
3341
|
(state.last_monotonic_ns !== undefined && !/^\d+$/.test(state.last_monotonic_ns)) ||
|
|
3009
3342
|
(state.last_observed_at !== undefined &&
|
|
@@ -21,6 +21,14 @@
|
|
|
21
21
|
*/
|
|
22
22
|
import type { Adapter } from "../../adapter.js";
|
|
23
23
|
export type SystemEvent = "SessionStart" | "UserPromptSubmit" | "SubagentStart" | "PreToolUse" | "PostToolUse";
|
|
24
|
+
/**
|
|
25
|
+
* Whether this adapter can actually receive injected context for an event.
|
|
26
|
+
* Cursor's beforeSubmitPrompt hook can allow or block a turn but cannot inject
|
|
27
|
+
* model context, so anything rendered for that event is discarded. A caller
|
|
28
|
+
* that consumes state to build the text (draining a mailbox, for instance)
|
|
29
|
+
* must check this first, or the state is spent on output nobody reads.
|
|
30
|
+
*/
|
|
31
|
+
export declare function canReceiveContext(adapter: Adapter, event: SystemEvent): boolean;
|
|
24
32
|
/** Emit a context-injection (peer table, wiring check, council pending, …). */
|
|
25
33
|
export declare function emitContext(adapter: Adapter, event: SystemEvent, text: string): void;
|
|
26
34
|
/** Emit a PreToolUse deny: blocks the tool call with `reason` shown to the model. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/core/hooks/adapter/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,aAAa,CAAC;AAElB,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKpF;AAED,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC1C,SAAS,CAAC,EAAE,MAAM,GACjB,CAAC,GAAG,CAAC,CA4BP"}
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/core/hooks/adapter/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,aAAa,CAAC;AAElB;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAE/E;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKpF;AAED,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC1C,SAAS,CAAC,EAAE,MAAM,GACjB,CAAC,GAAG,CAAC,CA4BP"}
|