harnery 0.29.0 → 0.31.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/README.md +4 -4
- package/dist/commander.d.ts +8 -0
- package/dist/commander.d.ts.map +1 -1
- package/dist/commander.js +14 -13
- package/dist/commands/adapter.d.ts +12 -0
- package/dist/commands/adapter.d.ts.map +1 -0
- package/dist/commands/{harness.js → adapter.js} +35 -35
- package/dist/commands/agents.d.ts +3 -2
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +61 -60
- package/dist/commands/artifacts.d.ts +4 -0
- package/dist/commands/artifacts.d.ts.map +1 -0
- package/dist/commands/artifacts.js +143 -0
- package/dist/commands/backup.d.ts +1 -1
- package/dist/commands/backup.d.ts.map +1 -1
- package/dist/commands/backup.js +5 -2
- package/dist/commands/browse.d.ts.map +1 -1
- package/dist/commands/browse.js +310 -7
- package/dist/commands/checkpoint.d.ts +12 -0
- package/dist/commands/checkpoint.d.ts.map +1 -0
- package/dist/commands/checkpoint.js +162 -0
- package/dist/commands/context.d.ts +2 -2
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +3 -151
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +31 -7
- package/dist/commands/deinit.d.ts +2 -2
- package/dist/commands/deinit.js +15 -15
- package/dist/commands/doctor.js +23 -23
- package/dist/commands/governor.d.ts +4 -0
- package/dist/commands/governor.d.ts.map +1 -0
- package/dist/commands/{supervisor.js → governor.js} +133 -108
- package/dist/commands/init.d.ts +12 -12
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +44 -30
- package/dist/commands/{session.d.ts → journal.d.ts} +2 -2
- package/dist/commands/journal.d.ts.map +1 -0
- package/dist/commands/{scratch.js → journal.js} +47 -47
- package/dist/commands/policy.js +1 -1
- package/dist/commands/presence.js +2 -2
- package/dist/commands/sync.d.ts +1 -1
- package/dist/commands/sync.js +3 -3
- package/dist/commands/tunnel.d.ts +16 -0
- package/dist/commands/tunnel.d.ts.map +1 -1
- package/dist/commands/tunnel.js +193 -23
- package/dist/commands/web-fetch.js +1 -1
- package/dist/commands/web.d.ts +19 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +51 -0
- package/dist/commands/work.d.ts +2 -1
- package/dist/commands/work.d.ts.map +1 -1
- package/dist/commands/work.js +55 -25
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +35 -28
- package/dist/core/{harnesses → adapters}/attest-projection.d.ts +2 -2
- package/dist/core/adapters/attest-projection.d.ts.map +1 -0
- package/dist/core/{harnesses → adapters}/attest.d.ts +16 -16
- package/dist/core/adapters/attest.d.ts.map +1 -0
- package/dist/core/{harnesses → adapters}/attest.js +9 -9
- package/dist/core/{harnesses → adapters}/attestation.d.ts +16 -16
- package/dist/core/adapters/attestation.d.ts.map +1 -0
- package/dist/core/{harnesses → adapters}/attestation.js +20 -20
- package/dist/core/{harnesses → adapters}/bench.d.ts +12 -12
- package/dist/core/adapters/bench.d.ts.map +1 -0
- package/dist/core/{harnesses → adapters}/bench.js +12 -12
- package/dist/core/adapters/index.d.ts +13 -0
- package/dist/core/adapters/index.d.ts.map +1 -0
- package/dist/core/adapters/index.js +6 -0
- package/dist/core/{harnesses → adapters}/profiles.d.ts +11 -11
- package/dist/core/adapters/profiles.d.ts.map +1 -0
- package/dist/core/{harnesses → adapters}/profiles.js +11 -11
- package/dist/core/adapters/registry.d.ts +15 -0
- package/dist/core/adapters/registry.d.ts.map +1 -0
- package/dist/core/{harnesses → adapters}/registry.js +11 -11
- package/dist/core/{harnesses → adapters}/types.d.ts +28 -23
- package/dist/core/adapters/types.d.ts.map +1 -0
- package/dist/core/{harnesses → adapters}/types.js +1 -1
- package/dist/core/agents/canonical-emit.d.ts +4 -4
- package/dist/core/agents/canonical-emit.js +5 -5
- package/dist/core/agents/cli-emit.js +1 -1
- package/dist/core/agents/cli.js +30 -26
- package/dist/core/agents/codex-replay.d.ts +1 -1
- package/dist/core/agents/codex-replay.js +6 -6
- package/dist/core/agents/coord-client.d.ts +21 -2
- package/dist/core/agents/coord-client.d.ts.map +1 -1
- package/dist/core/agents/coord-client.js +122 -27
- package/dist/core/agents/events/consume.d.ts +1 -1
- package/dist/core/agents/events/emit.d.ts +5 -6
- package/dist/core/agents/events/emit.d.ts.map +1 -1
- package/dist/core/agents/events/emit.js +2 -2
- package/dist/core/agents/render/prompt-context.d.ts +21 -9
- package/dist/core/agents/render/prompt-context.d.ts.map +1 -1
- package/dist/core/agents/render/prompt-context.js +82 -30
- package/dist/core/agents/render/session-context.d.ts +1 -1
- package/dist/core/agents/render/session-context.js +5 -5
- package/dist/core/agents/rules/claim-conflict.d.ts +2 -6
- package/dist/core/agents/rules/claim-conflict.d.ts.map +1 -1
- package/dist/core/agents/rules/claim-conflict.js +1 -1
- package/dist/core/agents/rules/commit-conflict.js +98 -22
- package/dist/core/agents/rules/stop-hook.d.ts +9 -9
- package/dist/core/agents/rules/stop-hook.d.ts.map +1 -1
- package/dist/core/agents/rules/stop-hook.js +23 -5
- package/dist/core/agents/rules/verdict.d.ts +14 -0
- package/dist/core/agents/rules/verdict.d.ts.map +1 -0
- package/dist/core/agents/rules/verdict.js +1 -0
- package/dist/core/agents/session-events.js +3 -3
- package/dist/core/agents/state/council.d.ts +1 -1
- package/dist/core/agents/state/council.js +1 -1
- package/dist/core/agents/state/heartbeat-projector.d.ts +3 -2
- package/dist/core/agents/state/heartbeat-projector.d.ts.map +1 -1
- package/dist/core/agents/state/heartbeat-projector.js +14 -10
- package/dist/core/agents/state/heartbeat-writer.d.ts +1 -1
- package/dist/core/agents/state/heartbeat-writer.js +12 -12
- package/dist/core/agents/state/{scratch.d.ts → journal.d.ts} +7 -7
- package/dist/core/agents/state/{scratch.d.ts.map → journal.d.ts.map} +1 -1
- package/dist/core/agents/state/{scratch.js → journal.js} +12 -12
- package/dist/core/agents/state/pidmap.d.ts +28 -4
- package/dist/core/agents/state/pidmap.d.ts.map +1 -1
- package/dist/core/agents/state/pidmap.js +130 -15
- package/dist/core/agents/state/proc-start.d.ts +95 -0
- package/dist/core/agents/state/proc-start.d.ts.map +1 -0
- package/dist/core/agents/state/proc-start.js +199 -0
- package/dist/core/agents/state/shell-mutation.d.ts +1 -1
- package/dist/core/agents/state/shell-mutation.js +1 -1
- package/dist/core/agents/state/stale-sweep.js +7 -7
- package/dist/core/artifacts/index.d.ts +86 -0
- package/dist/core/artifacts/index.d.ts.map +1 -0
- package/dist/core/artifacts/index.js +421 -0
- package/dist/core/config.d.ts +9 -2
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +26 -2
- package/dist/core/context/index.d.ts +12 -12
- package/dist/core/context/index.js +10 -10
- package/dist/core/governor/adapter-spread.d.ts +52 -0
- package/dist/core/governor/adapter-spread.d.ts.map +1 -0
- package/dist/core/governor/adapter-spread.js +52 -0
- package/dist/core/governor/index.d.ts +7 -0
- package/dist/core/governor/index.d.ts.map +1 -0
- package/dist/core/governor/index.js +6 -0
- package/dist/core/governor/plan-api.d.ts +38 -0
- package/dist/core/governor/plan-api.d.ts.map +1 -0
- package/dist/core/governor/plan-api.js +83 -0
- package/dist/core/governor/plan-read.d.ts +5 -0
- package/dist/core/governor/plan-read.d.ts.map +1 -0
- package/dist/core/{supervisor → governor}/plan-read.js +71 -51
- package/dist/core/governor/plan-types.d.ts +181 -0
- package/dist/core/governor/plan-types.d.ts.map +1 -0
- package/dist/core/{supervisor → governor}/plan-types.js +4 -4
- package/dist/core/governor/planning.d.ts +48 -0
- package/dist/core/governor/planning.d.ts.map +1 -0
- package/dist/core/{supervisor → governor}/planning.js +143 -94
- package/dist/core/governor/read.d.ts +6 -0
- package/dist/core/governor/read.d.ts.map +1 -0
- package/dist/core/governor/read.js +4 -0
- package/dist/core/governor/runner.d.ts +37 -0
- package/dist/core/governor/runner.d.ts.map +1 -0
- package/dist/core/{supervisor → governor}/runner.js +15 -15
- package/dist/core/governor/service-read.d.ts +6 -0
- package/dist/core/governor/service-read.d.ts.map +1 -0
- package/dist/core/{supervisor → governor}/service-read.js +12 -12
- package/dist/core/governor/service.d.ts +114 -0
- package/dist/core/governor/service.d.ts.map +1 -0
- package/dist/core/{supervisor → governor}/service.js +57 -57
- package/dist/core/governor/state.d.ts +116 -0
- package/dist/core/governor/state.d.ts.map +1 -0
- package/dist/core/{supervisor → governor}/state.js +290 -116
- package/dist/core/hooks/adapter/detect.d.ts +9 -0
- package/dist/core/hooks/{harness → adapter}/detect.d.ts.map +1 -1
- package/dist/core/hooks/{harness → adapter}/detect.js +8 -8
- package/dist/core/hooks/{harness → adapter}/events.d.ts +15 -14
- package/dist/core/hooks/adapter/events.d.ts.map +1 -0
- package/dist/core/hooks/{harness → adapter}/events.js +5 -5
- package/dist/core/hooks/{harness → adapter}/output.d.ts +20 -14
- package/dist/core/hooks/adapter/output.d.ts.map +1 -0
- package/dist/core/hooks/{harness → adapter}/output.js +30 -22
- package/dist/core/hooks/{harness → adapter}/parse.d.ts +5 -5
- package/dist/core/hooks/{harness → adapter}/parse.d.ts.map +1 -1
- package/dist/core/hooks/{harness → adapter}/parse.js +4 -4
- package/dist/core/hooks/{harness → adapter}/wiring.d.ts +15 -15
- package/dist/core/hooks/{harness → adapter}/wiring.d.ts.map +1 -1
- package/dist/core/hooks/{harness → adapter}/wiring.js +13 -13
- package/dist/core/hooks/cli.d.ts +3 -3
- package/dist/core/hooks/cli.js +175 -151
- package/dist/core/hooks/effects/image-capture.d.ts +5 -5
- package/dist/core/hooks/effects/image-capture.d.ts.map +1 -1
- package/dist/core/hooks/effects/image-capture.js +3 -3
- package/dist/core/hooks/effects/index.d.ts +12 -12
- package/dist/core/hooks/effects/index.d.ts.map +1 -1
- package/dist/core/hooks/effects/index.js +17 -17
- package/dist/core/hooks/events/emit.d.ts +2 -2
- package/dist/core/hooks/events/emit.d.ts.map +1 -1
- package/dist/core/hooks/events/emit.js +1 -1
- package/dist/core/hooks/events/rotate.js +1 -1
- package/dist/core/hooks/events/schema.d.ts +13 -5
- package/dist/core/hooks/events/schema.d.ts.map +1 -1
- package/dist/core/hooks/guard-path.d.ts +2 -2
- package/dist/core/hooks/guard-path.js +2 -2
- package/dist/core/hooks/index.d.ts +1 -1
- package/dist/core/hooks/index.d.ts.map +1 -1
- package/dist/core/hooks/resolve/anchor.d.ts +14 -5
- package/dist/core/hooks/resolve/anchor.d.ts.map +1 -1
- package/dist/core/hooks/resolve/anchor.js +64 -7
- package/dist/core/hooks/resolve/coord-root.d.ts +3 -3
- package/dist/core/hooks/resolve/coord-root.js +4 -4
- package/dist/core/hooks/resolve/intent.js +1 -1
- package/dist/core/hooks/resolve/owner.d.ts +1 -1
- package/dist/core/hooks/resolve/owner.d.ts.map +1 -1
- package/dist/core/hooks/resolve/owner.js +11 -5
- package/dist/core/{scratch → journal}/index.d.ts +25 -25
- package/dist/core/{scratch → journal}/index.d.ts.map +1 -1
- package/dist/core/{scratch → journal}/index.js +38 -38
- package/dist/core/policy/evaluate.d.ts +1 -1
- package/dist/core/policy/evaluate.d.ts.map +1 -1
- package/dist/core/policy/evaluate.js +7 -7
- package/dist/core/policy/types.d.ts +3 -3
- package/dist/core/policy/types.d.ts.map +1 -1
- package/dist/core/work/runner.d.ts.map +1 -1
- package/dist/core/work/runner.js +11 -2
- package/dist/core/work/state.d.ts +28 -3
- package/dist/core/work/state.d.ts.map +1 -1
- package/dist/core/work/state.js +148 -16
- package/dist/core/workflow/adapters.d.ts +17 -0
- package/dist/core/workflow/adapters.d.ts.map +1 -0
- package/dist/core/workflow/adapters.js +21 -0
- package/dist/core/workflow/approvals.js +6 -6
- package/dist/core/workflow/billing.d.ts +9 -9
- package/dist/core/workflow/billing.js +9 -9
- package/dist/core/workflow/child-env.d.ts +10 -2
- package/dist/core/workflow/child-env.d.ts.map +1 -1
- package/dist/core/workflow/child-env.js +12 -4
- package/dist/core/workflow/engine.d.ts +15 -5
- package/dist/core/workflow/engine.d.ts.map +1 -1
- package/dist/core/workflow/engine.js +151 -83
- package/dist/core/workflow/evidence-preflight.d.ts +24 -0
- package/dist/core/workflow/evidence-preflight.d.ts.map +1 -0
- package/dist/core/workflow/evidence-preflight.js +134 -0
- 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 +28 -5
- package/dist/core/workflow/proof.d.ts.map +1 -1
- package/dist/core/workflow/proof.js +77 -34
- package/dist/core/workflow/run-state.d.ts +1 -1
- package/dist/core/workflow/run-state.js +7 -7
- package/dist/core/workflow/sandbox-projection.d.ts +6 -6
- package/dist/core/workflow/sandbox-projection.d.ts.map +1 -1
- package/dist/core/workflow/sandbox-projection.js +11 -11
- package/dist/core/workflow/spawn-claude.d.ts +3 -3
- package/dist/core/workflow/spawn-claude.d.ts.map +1 -1
- package/dist/core/workflow/spawn-claude.js +28 -8
- package/dist/core/workflow/spawn-codex.d.ts +4 -4
- package/dist/core/workflow/spawn-codex.d.ts.map +1 -1
- package/dist/core/workflow/spawn-codex.js +26 -8
- package/dist/core/workflow/spawn-cursor.d.ts +4 -4
- package/dist/core/workflow/spawn-cursor.d.ts.map +1 -1
- package/dist/core/workflow/spawn-cursor.js +27 -8
- package/dist/core/workflow/spawn-failure.d.ts +15 -1
- package/dist/core/workflow/spawn-failure.d.ts.map +1 -1
- package/dist/core/workflow/spawn-failure.js +35 -1
- package/dist/core/workflow/specialists.js +2 -2
- package/dist/core/workflow/{journal.d.ts → transcript.d.ts} +8 -8
- package/dist/core/workflow/transcript.d.ts.map +1 -0
- package/dist/core/workflow/{journal.js → transcript.js} +14 -14
- package/dist/core/workflow/types.d.ts +119 -46
- package/dist/core/workflow/types.d.ts.map +1 -1
- package/dist/core/workflow/types.js +11 -1
- package/dist/core/workflow/validate.d.ts +1 -1
- package/dist/core/workflow/validate.js +1 -1
- package/dist/core/workflow/workspaces/cancellation.js +2 -2
- package/dist/core/workflow/workspaces/cleanup.js +2 -2
- package/dist/core/workflow/workspaces/execution.js +6 -6
- package/dist/core/workflow/workspaces/inspect.js +9 -9
- package/dist/core/workflow/workspaces/integration.js +14 -14
- package/dist/core/workflow/workspaces/lifecycle.d.ts +1 -1
- package/dist/core/workflow/workspaces/lifecycle.d.ts.map +1 -1
- package/dist/core/workflow/workspaces/lifecycle.js +9 -9
- package/dist/core/workflow/workspaces/local-git.d.ts.map +1 -1
- package/dist/core/workflow/workspaces/local-git.js +39 -5
- package/dist/core/workflow/workspaces/recovery.js +3 -3
- package/dist/core/workflow/workspaces/state.d.ts +1 -1
- package/dist/core/workflow/workspaces/state.d.ts.map +1 -1
- package/dist/core/workflow/workspaces/state.js +3 -3
- package/dist/core/workflow/workspaces/types.d.ts +1 -1
- package/dist/core/workflow/workspaces/types.d.ts.map +1 -1
- package/dist/lib/browser/asserts.d.ts +28 -0
- package/dist/lib/browser/asserts.d.ts.map +1 -0
- package/dist/lib/browser/asserts.js +152 -0
- package/dist/lib/browser/client.d.ts +49 -0
- package/dist/lib/browser/client.d.ts.map +1 -1
- package/dist/lib/browser/client.js +155 -14
- package/dist/lib/browser/content-checks.d.ts +108 -0
- package/dist/lib/browser/content-checks.d.ts.map +1 -0
- package/dist/lib/browser/content-checks.js +474 -0
- package/dist/lib/browser/critique.d.ts +91 -0
- package/dist/lib/browser/critique.d.ts.map +1 -0
- package/dist/lib/browser/critique.js +167 -0
- package/dist/lib/browser/geometry.d.ts +32 -0
- package/dist/lib/browser/geometry.d.ts.map +1 -1
- package/dist/lib/browser/geometry.js +244 -1
- package/dist/lib/browser/index.d.ts +4 -1
- package/dist/lib/browser/index.d.ts.map +1 -1
- package/dist/lib/browser/index.js +2 -0
- package/dist/lib/claude-desktop.d.ts.map +1 -1
- package/dist/lib/claude-desktop.js +4 -1
- package/dist/lib/council/index.d.ts +6 -6
- package/dist/lib/council/index.d.ts.map +1 -1
- package/dist/lib/council/index.js +8 -8
- package/dist/lib/exec.d.ts +7 -0
- package/dist/lib/exec.d.ts.map +1 -1
- package/dist/lib/exec.js +6 -3
- package/dist/lib/identities/assume.d.ts +2 -2
- package/dist/lib/identities/assume.js +7 -7
- package/dist/lib/instructions/apply.d.ts +3 -3
- package/dist/lib/instructions/apply.d.ts.map +1 -1
- package/dist/lib/instructions/apply.js +75 -27
- package/dist/lib/instructions/host-addendum.d.ts +54 -0
- package/dist/lib/instructions/host-addendum.d.ts.map +1 -0
- package/dist/lib/instructions/host-addendum.js +107 -0
- package/dist/lib/instructions/templates.d.ts +10 -3
- package/dist/lib/instructions/templates.d.ts.map +1 -1
- package/dist/lib/instructions/templates.js +41 -12
- package/dist/lib/machine.d.ts +2 -2
- package/dist/lib/machine.js +2 -2
- package/package.json +26 -21
- package/schemas/config.schema.json +26 -1
- package/src/commander.ts +22 -13
- package/src/commands/{harness.ts → adapter.ts} +46 -46
- package/src/commands/agents.ts +71 -64
- package/src/commands/artifacts.ts +168 -0
- package/src/commands/backup.ts +47 -33
- package/src/commands/browse.ts +438 -2
- package/src/commands/checkpoint.ts +196 -0
- package/src/commands/context.ts +3 -176
- package/src/commands/decision.ts +41 -7
- package/src/commands/deinit.ts +16 -16
- package/src/commands/doctor.ts +28 -28
- package/src/commands/{supervisor.ts → governor.ts} +184 -154
- package/src/commands/init.ts +50 -34
- package/src/commands/{scratch.ts → journal.ts} +60 -60
- package/src/commands/policy.ts +1 -1
- package/src/commands/presence.ts +2 -2
- package/src/commands/sync.ts +3 -3
- package/src/commands/tunnel.ts +237 -34
- package/src/commands/web-fetch.ts +1 -1
- package/src/commands/web.ts +56 -1
- package/src/commands/work.ts +72 -38
- package/src/commands/workflow.ts +43 -34
- package/src/core/{harnesses → adapters}/attest-projection.ts +2 -2
- package/src/core/{harnesses → adapters}/attest.ts +27 -27
- package/src/core/{harnesses → adapters}/attestation.ts +41 -41
- package/src/core/{harnesses → adapters}/bench.ts +34 -43
- package/src/core/adapters/index.ts +56 -0
- package/src/core/{harnesses → adapters}/profiles.ts +16 -16
- package/src/core/{harnesses → adapters}/registry.ts +23 -23
- package/src/core/{harnesses → adapters}/types.ts +28 -23
- package/src/core/agents/canonical-emit.ts +6 -6
- package/src/core/agents/cli-emit.ts +1 -1
- package/src/core/agents/cli.ts +30 -28
- package/src/core/agents/codex-replay.ts +6 -6
- package/src/core/agents/coord-client.ts +119 -28
- package/src/core/agents/events/consume.ts +1 -1
- package/src/core/agents/events/emit.ts +7 -6
- package/src/core/agents/render/prompt-context.ts +107 -31
- package/src/core/agents/render/session-context.ts +6 -6
- package/src/core/agents/rules/claim-conflict.ts +4 -7
- package/src/core/agents/rules/commit-conflict.ts +103 -22
- package/src/core/agents/rules/stop-hook.ts +33 -17
- package/src/core/agents/rules/verdict.ts +13 -0
- package/src/core/agents/session-events.ts +4 -4
- package/src/core/agents/state/council.ts +1 -1
- package/src/core/agents/state/heartbeat-projector.ts +16 -12
- package/src/core/agents/state/heartbeat-writer.ts +12 -12
- package/src/core/agents/state/{scratch.ts → journal.ts} +12 -12
- package/src/core/agents/state/pidmap.ts +130 -15
- package/src/core/agents/state/proc-start.ts +208 -0
- package/src/core/agents/state/shell-mutation.ts +1 -1
- package/src/core/agents/state/stale-sweep.ts +7 -7
- package/src/core/artifacts/index.ts +557 -0
- package/src/core/config.ts +30 -2
- package/src/core/context/index.ts +15 -15
- package/src/core/governor/adapter-spread.ts +82 -0
- package/src/core/governor/index.ts +91 -0
- package/src/core/governor/plan-api.ts +115 -0
- package/src/core/{supervisor → governor}/plan-read.ts +120 -96
- package/src/core/{supervisor → governor}/plan-types.ts +64 -50
- package/src/core/{supervisor → governor}/planning.ts +240 -188
- package/src/core/governor/read.ts +59 -0
- package/src/core/{supervisor → governor}/runner.ts +39 -39
- package/src/core/{supervisor → governor}/service-read.ts +22 -22
- package/src/core/{supervisor → governor}/service.ts +117 -119
- package/src/core/{supervisor → governor}/state.ts +389 -174
- package/src/core/hooks/adapter/detect.ts +30 -0
- package/src/core/hooks/{harness → adapter}/events.ts +16 -14
- package/src/core/hooks/{harness → adapter}/output.ts +31 -23
- package/src/core/hooks/{harness → adapter}/parse.ts +5 -5
- package/src/core/hooks/{harness → adapter}/wiring.ts +21 -21
- package/src/core/hooks/cli.ts +185 -162
- package/src/core/hooks/effects/image-capture.ts +6 -6
- package/src/core/hooks/effects/index.ts +17 -17
- package/src/core/hooks/events/emit.ts +3 -3
- package/src/core/hooks/events/rotate.ts +1 -1
- package/src/core/hooks/events/schema.ts +15 -7
- package/src/core/hooks/guard-path.ts +2 -2
- package/src/core/hooks/index.ts +1 -1
- package/src/core/hooks/resolve/anchor.ts +63 -8
- package/src/core/hooks/resolve/coord-root.ts +4 -4
- package/src/core/hooks/resolve/intent.ts +1 -1
- package/src/core/hooks/resolve/owner.ts +11 -5
- package/src/core/{scratch → journal}/index.ts +53 -53
- package/src/core/policy/evaluate.ts +8 -8
- package/src/core/policy/types.ts +3 -3
- package/src/core/work/runner.ts +11 -2
- package/src/core/work/state.ts +185 -21
- package/src/core/workflow/adapters.ts +33 -0
- package/src/core/workflow/approvals.ts +7 -7
- package/src/core/workflow/billing.ts +12 -12
- package/src/core/workflow/child-env.ts +13 -4
- package/src/core/workflow/engine.ts +166 -90
- package/src/core/workflow/evidence-preflight.ts +165 -0
- package/src/core/workflow/index.ts +6 -3
- package/src/core/workflow/proof.ts +94 -48
- package/src/core/workflow/run-state.ts +7 -7
- package/src/core/workflow/sandbox-projection.ts +16 -16
- package/src/core/workflow/spawn-claude.ts +34 -12
- package/src/core/workflow/spawn-codex.ts +30 -12
- package/src/core/workflow/spawn-cursor.ts +31 -12
- package/src/core/workflow/spawn-failure.ts +41 -1
- package/src/core/workflow/specialists.ts +2 -2
- package/src/core/workflow/{journal.ts → transcript.ts} +16 -16
- package/src/core/workflow/types.ts +130 -46
- package/src/core/workflow/validate.ts +1 -1
- package/src/core/workflow/workspaces/cancellation.ts +2 -2
- package/src/core/workflow/workspaces/cleanup.ts +2 -2
- package/src/core/workflow/workspaces/execution.ts +6 -6
- package/src/core/workflow/workspaces/inspect.ts +14 -11
- package/src/core/workflow/workspaces/integration.ts +18 -14
- package/src/core/workflow/workspaces/lifecycle.ts +10 -10
- package/src/core/workflow/workspaces/local-git.ts +47 -5
- package/src/core/workflow/workspaces/recovery.ts +3 -3
- package/src/core/workflow/workspaces/state.ts +4 -3
- package/src/core/workflow/workspaces/types.ts +1 -1
- package/src/lib/browser/asserts.ts +177 -0
- package/src/lib/browser/client.ts +189 -14
- package/src/lib/browser/content-checks.ts +571 -0
- package/src/lib/browser/critique.ts +231 -0
- package/src/lib/browser/geometry.ts +297 -1
- package/src/lib/browser/index.ts +34 -0
- package/src/lib/claude-desktop.ts +4 -1
- package/src/lib/council/index.ts +9 -9
- package/src/lib/exec.ts +13 -3
- package/src/lib/identities/assume.ts +7 -7
- package/src/lib/instructions/apply.ts +87 -25
- package/src/lib/instructions/host-addendum.ts +126 -0
- package/src/lib/instructions/templates.ts +44 -15
- package/src/lib/machine.ts +2 -2
- package/dist/commands/harness.d.ts +0 -12
- package/dist/commands/harness.d.ts.map +0 -1
- package/dist/commands/scratch.d.ts +0 -4
- package/dist/commands/scratch.d.ts.map +0 -1
- package/dist/commands/session.d.ts.map +0 -1
- package/dist/commands/session.js +0 -162
- package/dist/commands/supervisor.d.ts +0 -4
- package/dist/commands/supervisor.d.ts.map +0 -1
- package/dist/core/harnesses/attest-projection.d.ts.map +0 -1
- package/dist/core/harnesses/attest.d.ts.map +0 -1
- package/dist/core/harnesses/attestation.d.ts.map +0 -1
- package/dist/core/harnesses/bench.d.ts.map +0 -1
- package/dist/core/harnesses/index.d.ts +0 -13
- package/dist/core/harnesses/index.d.ts.map +0 -1
- package/dist/core/harnesses/index.js +0 -6
- package/dist/core/harnesses/profiles.d.ts.map +0 -1
- package/dist/core/harnesses/registry.d.ts +0 -15
- package/dist/core/harnesses/registry.d.ts.map +0 -1
- package/dist/core/harnesses/types.d.ts.map +0 -1
- package/dist/core/hooks/harness/detect.d.ts +0 -9
- package/dist/core/hooks/harness/events.d.ts.map +0 -1
- package/dist/core/hooks/harness/output.d.ts.map +0 -1
- package/dist/core/supervisor/index.d.ts +0 -7
- package/dist/core/supervisor/index.d.ts.map +0 -1
- package/dist/core/supervisor/index.js +0 -6
- package/dist/core/supervisor/plan-api.d.ts +0 -23
- package/dist/core/supervisor/plan-api.d.ts.map +0 -1
- package/dist/core/supervisor/plan-api.js +0 -50
- package/dist/core/supervisor/plan-read.d.ts +0 -5
- package/dist/core/supervisor/plan-read.d.ts.map +0 -1
- package/dist/core/supervisor/plan-types.d.ts +0 -170
- package/dist/core/supervisor/plan-types.d.ts.map +0 -1
- package/dist/core/supervisor/planning.d.ts +0 -33
- package/dist/core/supervisor/planning.d.ts.map +0 -1
- package/dist/core/supervisor/read.d.ts +0 -6
- package/dist/core/supervisor/read.d.ts.map +0 -1
- package/dist/core/supervisor/read.js +0 -4
- package/dist/core/supervisor/runner.d.ts +0 -37
- package/dist/core/supervisor/runner.d.ts.map +0 -1
- package/dist/core/supervisor/service-read.d.ts +0 -6
- package/dist/core/supervisor/service-read.d.ts.map +0 -1
- package/dist/core/supervisor/service.d.ts +0 -114
- package/dist/core/supervisor/service.d.ts.map +0 -1
- package/dist/core/supervisor/state.d.ts +0 -95
- package/dist/core/supervisor/state.d.ts.map +0 -1
- package/dist/core/workflow/harnesses.d.ts +0 -17
- package/dist/core/workflow/harnesses.d.ts.map +0 -1
- package/dist/core/workflow/harnesses.js +0 -21
- package/dist/core/workflow/journal.d.ts.map +0 -1
- package/src/commands/session.ts +0 -187
- package/src/core/harnesses/index.ts +0 -56
- package/src/core/hooks/harness/detect.ts +0 -30
- package/src/core/supervisor/index.ts +0 -89
- package/src/core/supervisor/plan-api.ts +0 -73
- package/src/core/supervisor/read.ts +0 -59
- package/src/core/workflow/harnesses.ts +0 -33
- /package/dist/core/{harnesses → adapters}/attest-projection.js +0 -0
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { readSupervisorPlan, readSupervisorPlanReviewReceipt, readSupervisorPlans, } from "./plan-read.js";
|
|
2
|
-
export { MAX_SUPERVISOR_PLAN_REVIEWERS, MAX_SUPERVISOR_PLAN_REVISION_ROUNDS, SUPERVISOR_PLAN_SCHEMA_VERSION, type SupervisorPlanEvent, type SupervisorPlanEventType, type SupervisorPlanHistory, type SupervisorPlanMilestone, type SupervisorPlanOutcome, type SupervisorPlanProposal, type SupervisorPlanRecord, type SupervisorPlanRequest, type SupervisorPlanReviewFinding, type SupervisorPlanReviewReceipt, type SupervisorPlanReviewReviewer, type SupervisorPlanReviewRound, type SupervisorPlanReviewStatus, type SupervisorPlanReviewSummary, type SupervisorPlanReviewVerdict, type SupervisorPlanStatus, type SupervisorPlanTemplate, type SupervisorPlanWorkSpec, type SupervisorReplanningPolicy, } from "./plan-types.js";
|
|
3
|
-
export type { SupervisorServiceConfig, SupervisorServiceGoalRuntime, SupervisorServiceGoalState, SupervisorServiceProcessState, SupervisorServiceRuntime, SupervisorServiceStatus, SupervisorServiceStatusRecord, } from "./service.js";
|
|
4
|
-
export { readSupervisorServiceConfig, readSupervisorServiceRuntime, readSupervisorServiceStatus, supervisorServiceLogPath, } from "./service-read.js";
|
|
5
|
-
export { assertSupervisorId, collectSupervisorWork, listSupervisors, readSupervisor, SUPERVISOR_INTENT_SCHEMA_VERSION, type SupervisorAutomationPolicy, type SupervisorIntent, type SupervisorLimits, type SupervisorMission, type SupervisorNextAction, type SupervisorProjection, type SupervisorRecord, type SupervisorState, } from "./state.js";
|
|
6
|
-
//# sourceMappingURL=read.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/core/supervisor/read.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,+BAA+B,EAC/B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,GAChC,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,gCAAgC,EAChC,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { readSupervisorPlan, readSupervisorPlanReviewReceipt, readSupervisorPlans, } from "./plan-read.js";
|
|
2
|
-
export { MAX_SUPERVISOR_PLAN_REVIEWERS, MAX_SUPERVISOR_PLAN_REVISION_ROUNDS, SUPERVISOR_PLAN_SCHEMA_VERSION, } from "./plan-types.js";
|
|
3
|
-
export { readSupervisorServiceConfig, readSupervisorServiceRuntime, readSupervisorServiceStatus, supervisorServiceLogPath, } from "./service-read.js";
|
|
4
|
-
export { assertSupervisorId, collectSupervisorWork, listSupervisors, readSupervisor, SUPERVISOR_INTENT_SCHEMA_VERSION, } from "./state.js";
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type RunWorkItemInput } from "../work/index.js";
|
|
2
|
-
import type { SupervisorPlanOutcome } from "./plan-types.js";
|
|
3
|
-
import { type SupervisorProjection } from "./state.js";
|
|
4
|
-
export type SupervisorStopReason = "succeeded" | "awaiting_attention" | "blocked" | "budget_exhausted" | "no_progress" | "tick_complete";
|
|
5
|
-
export interface SupervisorDispatchOutcome {
|
|
6
|
-
work_id: string;
|
|
7
|
-
action: "run" | "resume" | "retry";
|
|
8
|
-
status: "completed" | "parked" | "failed";
|
|
9
|
-
run_id?: string;
|
|
10
|
-
error?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface SupervisorRunReport {
|
|
13
|
-
goal_id: string;
|
|
14
|
-
mode: "tick" | "run";
|
|
15
|
-
stop_reason: SupervisorStopReason;
|
|
16
|
-
reason: string;
|
|
17
|
-
started_at: string;
|
|
18
|
-
ended_at: string;
|
|
19
|
-
duration_ms: number;
|
|
20
|
-
cycles: number;
|
|
21
|
-
dispatches: number;
|
|
22
|
-
acceptances: number;
|
|
23
|
-
replans: number;
|
|
24
|
-
outcomes: SupervisorDispatchOutcome[];
|
|
25
|
-
plan_outcomes: SupervisorPlanOutcome[];
|
|
26
|
-
projection: SupervisorProjection;
|
|
27
|
-
}
|
|
28
|
-
export interface RunSupervisorInput {
|
|
29
|
-
coordRoot: string;
|
|
30
|
-
goalId: string;
|
|
31
|
-
mode?: "tick" | "run";
|
|
32
|
-
actor?: string;
|
|
33
|
-
engine: Omit<RunWorkItemInput["engine"], "maxAgents" | "concurrency" | "specialists">;
|
|
34
|
-
onLog?: (line: string) => void;
|
|
35
|
-
}
|
|
36
|
-
export declare function runSupervisor(input: RunSupervisorInput): Promise<SupervisorRunReport>;
|
|
37
|
-
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/supervisor/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EAItB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAGL,KAAK,oBAAoB,EAE1B,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,oBAAoB,GACpB,SAAS,GACT,kBAAkB,GAClB,aAAa,GACb,eAAe,CAAC;AAEpB,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,UAAU,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC;IACtF,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAQD,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4L3F"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { SupervisorServiceConfig, SupervisorServiceRuntime, SupervisorServiceStatus } from "./service.js";
|
|
2
|
-
export declare function readSupervisorServiceConfig(coordRootRaw: string): SupervisorServiceConfig;
|
|
3
|
-
export declare function readSupervisorServiceRuntime(coordRootRaw: string): SupervisorServiceRuntime | undefined;
|
|
4
|
-
export declare function readSupervisorServiceStatus(coordRootRaw: string): SupervisorServiceStatus;
|
|
5
|
-
export declare function supervisorServiceLogPath(coordRoot: string): string;
|
|
6
|
-
//# sourceMappingURL=service-read.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-read.d.ts","sourceRoot":"","sources":["../../../src/core/supervisor/service-read.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EAExB,MAAM,cAAc,CAAC;AAMtB,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,uBAAuB,CA0BzF;AAED,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,GACnB,wBAAwB,GAAG,SAAS,CAgBtC;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,uBAAuB,CAkBzF;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElE"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { type NormalizedPolicy, type PolicyIsolation } from "../policy/index.js";
|
|
2
|
-
import type { RunWorkItemInput } from "../work/index.js";
|
|
3
|
-
import { type SupervisorRunReport, type SupervisorStopReason } from "./runner.js";
|
|
4
|
-
import { type SupervisorRecord } from "./state.js";
|
|
5
|
-
export declare const SUPERVISOR_SERVICE_CONFIG_SCHEMA_VERSION: 1;
|
|
6
|
-
export declare const SUPERVISOR_SERVICE_RUNTIME_SCHEMA_VERSION: 1;
|
|
7
|
-
export declare const SUPERVISOR_SERVICE_STATUS_SCHEMA_VERSION: 1;
|
|
8
|
-
export interface SupervisorServiceEngineConfig {
|
|
9
|
-
default_harness?: string;
|
|
10
|
-
cwd?: string;
|
|
11
|
-
subscription_only: boolean;
|
|
12
|
-
allow_api_billing: boolean;
|
|
13
|
-
policy?: NormalizedPolicy;
|
|
14
|
-
isolation?: PolicyIsolation;
|
|
15
|
-
approval_addressee?: string;
|
|
16
|
-
}
|
|
17
|
-
export interface SupervisorServiceConfig {
|
|
18
|
-
schema_version: typeof SUPERVISOR_SERVICE_CONFIG_SCHEMA_VERSION;
|
|
19
|
-
goal_ids: string[];
|
|
20
|
-
wake_interval_ms: number;
|
|
21
|
-
heartbeat_interval_ms: number;
|
|
22
|
-
error_backoff_base_ms: number;
|
|
23
|
-
error_backoff_max_ms: number;
|
|
24
|
-
engine: SupervisorServiceEngineConfig;
|
|
25
|
-
created_at: string;
|
|
26
|
-
}
|
|
27
|
-
export interface ConfigureSupervisorServiceInput {
|
|
28
|
-
coordRoot: string;
|
|
29
|
-
goalIds: readonly string[];
|
|
30
|
-
wakeIntervalMs?: number;
|
|
31
|
-
heartbeatIntervalMs?: number;
|
|
32
|
-
errorBackoffBaseMs?: number;
|
|
33
|
-
errorBackoffMaxMs?: number;
|
|
34
|
-
engine?: Partial<SupervisorServiceEngineConfig>;
|
|
35
|
-
}
|
|
36
|
-
export type SupervisorServiceGoalState = "idle" | "backoff" | "awaiting_change";
|
|
37
|
-
export interface SupervisorServiceGoalRuntime {
|
|
38
|
-
state: SupervisorServiceGoalState;
|
|
39
|
-
consecutive_errors: number;
|
|
40
|
-
observed_fingerprint?: string;
|
|
41
|
-
next_wake_at?: string;
|
|
42
|
-
last_tick_at?: string;
|
|
43
|
-
last_stop_reason?: SupervisorStopReason;
|
|
44
|
-
last_error?: string;
|
|
45
|
-
}
|
|
46
|
-
export interface SupervisorServiceRuntime {
|
|
47
|
-
schema_version: typeof SUPERVISOR_SERVICE_RUNTIME_SCHEMA_VERSION;
|
|
48
|
-
config_created_at: string;
|
|
49
|
-
updated_at: string;
|
|
50
|
-
goals: Record<string, SupervisorServiceGoalRuntime>;
|
|
51
|
-
}
|
|
52
|
-
export type SupervisorServiceProcessState = "starting" | "running" | "stopping" | "stopped";
|
|
53
|
-
export interface SupervisorServiceStatusRecord {
|
|
54
|
-
schema_version: typeof SUPERVISOR_SERVICE_STATUS_SCHEMA_VERSION;
|
|
55
|
-
pid: number;
|
|
56
|
-
host: string;
|
|
57
|
-
nonce: string;
|
|
58
|
-
state: SupervisorServiceProcessState;
|
|
59
|
-
started_at: string;
|
|
60
|
-
heartbeat_at: string;
|
|
61
|
-
config_created_at: string;
|
|
62
|
-
sweep_count: number;
|
|
63
|
-
active_goal_id?: string;
|
|
64
|
-
last_sweep_at?: string;
|
|
65
|
-
next_wake_at?: string;
|
|
66
|
-
last_error?: string;
|
|
67
|
-
stopped_at?: string;
|
|
68
|
-
}
|
|
69
|
-
export interface SupervisorServiceStatus {
|
|
70
|
-
running: boolean;
|
|
71
|
-
stale: boolean;
|
|
72
|
-
record?: SupervisorServiceStatusRecord;
|
|
73
|
-
config?: SupervisorServiceConfig;
|
|
74
|
-
runtime?: SupervisorServiceRuntime;
|
|
75
|
-
}
|
|
76
|
-
export interface SupervisorServiceSweepOutcome {
|
|
77
|
-
goal_id: string;
|
|
78
|
-
action: "tick" | "skip" | "backoff";
|
|
79
|
-
reason: string;
|
|
80
|
-
stop_reason?: SupervisorStopReason;
|
|
81
|
-
next_wake_at?: string;
|
|
82
|
-
}
|
|
83
|
-
export interface SupervisorServiceSweepReport {
|
|
84
|
-
started_at: string;
|
|
85
|
-
ended_at: string;
|
|
86
|
-
outcomes: SupervisorServiceSweepOutcome[];
|
|
87
|
-
}
|
|
88
|
-
export interface RunSupervisorServiceSweepInput {
|
|
89
|
-
coordRoot: string;
|
|
90
|
-
config: SupervisorServiceConfig;
|
|
91
|
-
engine?: Omit<RunWorkItemInput["engine"], "maxAgents" | "concurrency" | "specialists">;
|
|
92
|
-
actor?: string;
|
|
93
|
-
now?: () => number;
|
|
94
|
-
readGoal?: (coordRoot: string, goalId: string) => SupervisorRecord;
|
|
95
|
-
runGoal?: (goalId: string) => Promise<SupervisorRunReport>;
|
|
96
|
-
onGoalStart?: (goalId: string) => void;
|
|
97
|
-
}
|
|
98
|
-
export interface RunSupervisorServiceDaemonInput {
|
|
99
|
-
coordRoot: string;
|
|
100
|
-
engine: Omit<RunWorkItemInput["engine"], "maxAgents" | "concurrency" | "specialists">;
|
|
101
|
-
actor?: string;
|
|
102
|
-
maxSweeps?: number;
|
|
103
|
-
onLog?: (line: string) => void;
|
|
104
|
-
}
|
|
105
|
-
export declare function configureSupervisorService(input: ConfigureSupervisorServiceInput): SupervisorServiceConfig;
|
|
106
|
-
export declare function readSupervisorServiceConfig(coordRootRaw: string): SupervisorServiceConfig;
|
|
107
|
-
export declare function readSupervisorServiceRuntime(coordRootRaw: string): SupervisorServiceRuntime | undefined;
|
|
108
|
-
export declare function readSupervisorServiceStatus(coordRootRaw: string): SupervisorServiceStatus;
|
|
109
|
-
export declare function spawnSupervisorService(coordRootRaw: string): Promise<SupervisorServiceStatus>;
|
|
110
|
-
export declare function requestSupervisorServiceStop(coordRootRaw: string): SupervisorServiceStatus;
|
|
111
|
-
export declare function runSupervisorServiceSweep(input: RunSupervisorServiceSweepInput): Promise<SupervisorServiceSweepReport>;
|
|
112
|
-
export declare function runSupervisorServiceDaemon(input: RunSupervisorServiceDaemonInput): Promise<SupervisorServiceStatusRecord>;
|
|
113
|
-
export declare function supervisorServiceLogPath(coordRoot: string): string;
|
|
114
|
-
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/core/supervisor/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { type WorkRecord } from "../work/read.js";
|
|
2
|
-
import type { WorkflowSpecialistProfile } from "../workflow/types.js";
|
|
3
|
-
import { type CreateSupervisorReplanningInput, type SupervisorPlanRecord, type SupervisorReplanningPolicy } from "./plan-types.js";
|
|
4
|
-
export declare const SUPERVISOR_INTENT_SCHEMA_VERSION: 1;
|
|
5
|
-
export interface SupervisorLimits {
|
|
6
|
-
max_cycles: number;
|
|
7
|
-
max_runtime_ms: number;
|
|
8
|
-
max_parallel_work: number;
|
|
9
|
-
max_total_attempts: number;
|
|
10
|
-
max_agents_per_work: number;
|
|
11
|
-
agent_concurrency: number;
|
|
12
|
-
}
|
|
13
|
-
export interface SupervisorAutomationPolicy {
|
|
14
|
-
accept_passing_proof: boolean;
|
|
15
|
-
resume_approved: boolean;
|
|
16
|
-
retry_blocked: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface SupervisorMission {
|
|
19
|
-
objective: string;
|
|
20
|
-
acceptance: string[];
|
|
21
|
-
max_milestones: number;
|
|
22
|
-
}
|
|
23
|
-
export interface CreateSupervisorMissionInput {
|
|
24
|
-
objective: string;
|
|
25
|
-
acceptance: readonly string[];
|
|
26
|
-
maxMilestones?: number;
|
|
27
|
-
}
|
|
28
|
-
export interface SupervisorIntent {
|
|
29
|
-
schema_version: typeof SUPERVISOR_INTENT_SCHEMA_VERSION;
|
|
30
|
-
id: string;
|
|
31
|
-
title: string;
|
|
32
|
-
root_work_id: string;
|
|
33
|
-
specialists: Record<string, WorkflowSpecialistProfile>;
|
|
34
|
-
limits: SupervisorLimits;
|
|
35
|
-
automation: SupervisorAutomationPolicy;
|
|
36
|
-
mission?: SupervisorMission;
|
|
37
|
-
replanning?: SupervisorReplanningPolicy;
|
|
38
|
-
created_at: string;
|
|
39
|
-
}
|
|
40
|
-
export type SupervisorState = "ready" | "running" | "awaiting_attention" | "blocked" | "budget_exhausted" | "succeeded";
|
|
41
|
-
export type SupervisorNextAction = "run" | "wait_for_run" | "resolve_approval" | "review" | "retry" | "replan" | "plan_initial" | "plan_milestone" | "review_plan" | "retry_plan" | "none";
|
|
42
|
-
export interface SupervisorProjection {
|
|
43
|
-
id: string;
|
|
44
|
-
title: string;
|
|
45
|
-
root_work_id: string;
|
|
46
|
-
root_materialized: boolean;
|
|
47
|
-
state: SupervisorState;
|
|
48
|
-
reason: string;
|
|
49
|
-
next_action: SupervisorNextAction;
|
|
50
|
-
work_ids: string[];
|
|
51
|
-
ready_work: string[];
|
|
52
|
-
resumable_work: string[];
|
|
53
|
-
retryable_work: string[];
|
|
54
|
-
attention_work: string[];
|
|
55
|
-
attempts_used: number;
|
|
56
|
-
attempts_remaining: number;
|
|
57
|
-
specialists: string[];
|
|
58
|
-
plan_generation: number;
|
|
59
|
-
replans_used: number;
|
|
60
|
-
replans_remaining: number;
|
|
61
|
-
milestones_completed: number;
|
|
62
|
-
milestones_remaining: number;
|
|
63
|
-
pending_plan_id?: string;
|
|
64
|
-
attention_plan_id?: string;
|
|
65
|
-
latest_plan_status?: SupervisorPlanRecord["status"];
|
|
66
|
-
governed_work_ids: string[];
|
|
67
|
-
}
|
|
68
|
-
export interface SupervisorRecord {
|
|
69
|
-
intent: SupervisorIntent;
|
|
70
|
-
projection: SupervisorProjection;
|
|
71
|
-
work: WorkRecord[];
|
|
72
|
-
plans: SupervisorPlanRecord[];
|
|
73
|
-
}
|
|
74
|
-
export interface CreateSupervisorInput {
|
|
75
|
-
coordRoot: string;
|
|
76
|
-
rootWorkId?: string;
|
|
77
|
-
specialists: Readonly<Record<string, WorkflowSpecialistProfile>>;
|
|
78
|
-
title?: string;
|
|
79
|
-
id?: string;
|
|
80
|
-
limits?: Partial<SupervisorLimits>;
|
|
81
|
-
automation?: Partial<SupervisorAutomationPolicy>;
|
|
82
|
-
mission?: CreateSupervisorMissionInput;
|
|
83
|
-
replanning?: CreateSupervisorReplanningInput;
|
|
84
|
-
}
|
|
85
|
-
export declare function createSupervisor(input: CreateSupervisorInput): SupervisorRecord;
|
|
86
|
-
export declare function readSupervisor(coordRoot: string, goalId: string): SupervisorRecord;
|
|
87
|
-
/** @internal Runner seam; ignores the lease held by this supervisor process. */
|
|
88
|
-
export declare function readSupervisorIgnoringLease(coordRoot: string, goalId: string): SupervisorRecord;
|
|
89
|
-
export declare function listSupervisors(coordRoot: string): SupervisorRecord[];
|
|
90
|
-
export declare function collectSupervisorWork(coordRoot: string, rootWorkId: string): WorkRecord[];
|
|
91
|
-
export declare function assertSupervisorId(goalId: string): void;
|
|
92
|
-
export declare function newSupervisorId(): string;
|
|
93
|
-
/** @internal Runner seam; one exclusive crash-recoverable supervisor lease. */
|
|
94
|
-
export declare function acquireSupervisorLease(coordRoot: string, goalId: string): () => void;
|
|
95
|
-
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/core/supervisor/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-harness CLI metadata: binary names plus install/login hints, shared by
|
|
3
|
-
* the spawn adapters (a not-found error should say how to fix it, not just
|
|
4
|
-
* that it happened) and `harn doctor`'s workflow-harness checks.
|
|
5
|
-
*
|
|
6
|
-
* Install commands are the vendors' official one-liners; they drift rarely
|
|
7
|
-
* but they do drift — keep this module the single place they live.
|
|
8
|
-
*/
|
|
9
|
-
import type { HarnessName } from "./types.js";
|
|
10
|
-
export declare const HARNESS_BINARIES: Record<string, string>;
|
|
11
|
-
export declare const HARNESS_INSTALL_HINTS: Record<string, string>;
|
|
12
|
-
/** How to authenticate each CLI with a subscription login (the billing
|
|
13
|
-
* default — see billing.ts). */
|
|
14
|
-
export declare const HARNESS_LOGIN_HINTS: Record<string, string>;
|
|
15
|
-
/** One-line "it's missing, here's the fix" string for spawn adapters. */
|
|
16
|
-
export declare function notFoundError(harness: HarnessName): string;
|
|
17
|
-
//# sourceMappingURL=harnesses.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"harnesses.d.ts","sourceRoot":"","sources":["../../../src/core/workflow/harnesses.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAExD,CAAC;AAEF;gCACgC;AAChC,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEtD,CAAC;AAEF,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAK1D"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-harness CLI metadata: binary names plus install/login hints, shared by
|
|
3
|
-
* the spawn adapters (a not-found error should say how to fix it, not just
|
|
4
|
-
* that it happened) and `harn doctor`'s workflow-harness checks.
|
|
5
|
-
*
|
|
6
|
-
* Install commands are the vendors' official one-liners; they drift rarely
|
|
7
|
-
* but they do drift — keep this module the single place they live.
|
|
8
|
-
*/
|
|
9
|
-
import { BUILTIN_HARNESS_PROFILES } from "../harnesses/profiles.js";
|
|
10
|
-
export const HARNESS_BINARIES = Object.fromEntries(Object.values(BUILTIN_HARNESS_PROFILES).map((profile) => [profile.id, profile.binary]));
|
|
11
|
-
export const HARNESS_INSTALL_HINTS = Object.fromEntries(Object.values(BUILTIN_HARNESS_PROFILES).map((profile) => [profile.id, profile.installHint]));
|
|
12
|
-
/** How to authenticate each CLI with a subscription login (the billing
|
|
13
|
-
* default — see billing.ts). */
|
|
14
|
-
export const HARNESS_LOGIN_HINTS = Object.fromEntries(Object.values(BUILTIN_HARNESS_PROFILES).map((profile) => [profile.id, profile.loginHint]));
|
|
15
|
-
/** One-line "it's missing, here's the fix" string for spawn adapters. */
|
|
16
|
-
export function notFoundError(harness) {
|
|
17
|
-
const binary = HARNESS_BINARIES[harness] ?? harness;
|
|
18
|
-
const install = HARNESS_INSTALL_HINTS[harness] ?? "install the harness CLI";
|
|
19
|
-
const login = HARNESS_LOGIN_HINTS[harness] ?? "authenticate the harness CLI";
|
|
20
|
-
return `${binary} CLI not found on PATH; ` + `install: ${install} then authenticate: ${login}`;
|
|
21
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../../src/core/workflow/journal.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAEtD,uEAAuE;AACvE,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AAIzD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAiBN;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB"}
|
package/src/commands/session.ts
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
|
-
import type { Command } from "commander";
|
|
3
|
-
import type { EmitContext } from "../commander.ts";
|
|
4
|
-
import { resolveOwner, selfDisplayName } from "../core/agents/index.ts";
|
|
5
|
-
import {
|
|
6
|
-
clampField,
|
|
7
|
-
newCmdId,
|
|
8
|
-
readLastIntent,
|
|
9
|
-
writeSessionEvent,
|
|
10
|
-
} from "../core/agents/session-events.ts";
|
|
11
|
-
import { resolveBinName } from "../core/config.ts";
|
|
12
|
-
|
|
13
|
-
/** Strip the `agent-` prefix so structured event `agent` field matches heartbeat.name. */
|
|
14
|
-
function bareAgentName(): string {
|
|
15
|
-
const full = selfDisplayName();
|
|
16
|
-
return full.startsWith("agent-") ? full.slice(6) : full;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function selfOwnerId(): string | undefined {
|
|
20
|
-
return resolveOwner() ?? undefined;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* `harn session`: run a command (or narrate) and emit canonical coordination
|
|
25
|
-
* events for follow-along.
|
|
26
|
-
*
|
|
27
|
-
* Follow-along happens through the canonical `.harnery/events.ndjson` stream +
|
|
28
|
-
* the `/live` web viewer (or `harn agents watch`): `harn session -- <cmd>` runs
|
|
29
|
-
* the command, forwards its output to the terminal verbatim, and emits canonical
|
|
30
|
-
* `command.start/output/end`; `harn session log` emits a canonical `narration`
|
|
31
|
-
* event. The file-management subcommands (`tail`/`clear`/`trim`/`path`) are
|
|
32
|
-
* retired no-op stubs; `trim` is a silent no-op so a SessionStart hook that
|
|
33
|
-
* calls it keeps working.
|
|
34
|
-
*
|
|
35
|
-
* Usage:
|
|
36
|
-
* harn session "<intent>" -- <cmd> [args...] run command, emit command.* events
|
|
37
|
-
* harn session log "<message>" emit a narration event
|
|
38
|
-
*/
|
|
39
|
-
let emit: EmitContext;
|
|
40
|
-
|
|
41
|
-
export function registerSessionCommand(program: Command, emitParam: EmitContext): void {
|
|
42
|
-
emit = emitParam;
|
|
43
|
-
const session = program
|
|
44
|
-
.command("session")
|
|
45
|
-
.description("Run a command (or narrate) and emit canonical coordination events");
|
|
46
|
-
|
|
47
|
-
// Narration-only entry → canonical narration event.
|
|
48
|
-
session
|
|
49
|
-
.command("log <message...>")
|
|
50
|
-
.description("Emit a narration event (no command run)")
|
|
51
|
-
.action((messageParts: string[]) => {
|
|
52
|
-
const message = messageParts.join(" ");
|
|
53
|
-
writeSessionEvent("narration", bareAgentName(), {
|
|
54
|
-
instance_id: selfOwnerId(),
|
|
55
|
-
message: clampField(message),
|
|
56
|
-
});
|
|
57
|
-
emit.text(`⋯ ${message}\n`);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
// Retired file-management subcommands, kept as graceful no-op stubs so
|
|
61
|
-
// existing callers (hooks, muscle memory) don't error. `trim` is the one a
|
|
62
|
-
// hook invokes, so it must exit 0 silently.
|
|
63
|
-
session
|
|
64
|
-
.command("trim")
|
|
65
|
-
.description("(retired): no-op kept for hook compatibility")
|
|
66
|
-
.option("-y, --yes", "(ignored)")
|
|
67
|
-
.option("--max-entries <n>", "(ignored)")
|
|
68
|
-
.option("--max-bytes <size>", "(ignored)")
|
|
69
|
-
.allowUnknownOption()
|
|
70
|
-
.allowExcessArguments()
|
|
71
|
-
.action(() => {
|
|
72
|
-
/* silent no-op, exit 0 */
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
for (const name of ["tail", "clear", "path"] as const) {
|
|
76
|
-
session
|
|
77
|
-
.command(name)
|
|
78
|
-
.description(`(retired): watch /live or '${resolveBinName()} agents watch'`)
|
|
79
|
-
.allowUnknownOption()
|
|
80
|
-
.action(() => {
|
|
81
|
-
emit.text(
|
|
82
|
-
`Retired. Live activity flows to .harnery/events.ndjson; watch the /live web viewer or run '${resolveBinName()} agents watch'.\n`,
|
|
83
|
-
);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Default form: harn session "<intent>" -- <cmd> [args]
|
|
88
|
-
session
|
|
89
|
-
.argument("<intent>", "One-line description of what this action is for")
|
|
90
|
-
.argument("<cmd...>", "The command to run (prefix with -- if it has its own flags)")
|
|
91
|
-
.allowUnknownOption()
|
|
92
|
-
.action((intent: string, cmd: string[]) => {
|
|
93
|
-
runLogged(intent, cmd);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// ---------------------------------------------------------------------------
|
|
98
|
-
// Core
|
|
99
|
-
// ---------------------------------------------------------------------------
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Strip ONLY carriage-return redraw noise (progress bars like `docker pull`'s
|
|
103
|
-
* sticky line) from a chunk before splitting into event lines. Terminal
|
|
104
|
-
* forwarding keeps the raw bytes; this only cleans the canonical event copy.
|
|
105
|
-
*/
|
|
106
|
-
function stripCRNoise(text: string): string {
|
|
107
|
-
return text.replace(/[^\n]*\r(?!\n)/g, "");
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
function runLogged(intent: string, cmdArg: string[]): void {
|
|
111
|
-
// Strip a leading `--` separator if commander left one in.
|
|
112
|
-
const cmd = cmdArg[0] === "--" ? cmdArg.slice(1) : cmdArg;
|
|
113
|
-
if (cmd.length === 0) {
|
|
114
|
-
emit.error({ code: "usage", message: "Usage: harn session <intent> -- <cmd> [args...]" });
|
|
115
|
-
process.exit(2);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
const cmdLine = cmd.map(quoteArg).join(" ");
|
|
119
|
-
const agent = bareAgentName();
|
|
120
|
-
const instanceId = selfOwnerId();
|
|
121
|
-
const cmdId = newCmdId();
|
|
122
|
-
|
|
123
|
-
// Intent precedence: explicit arg wins; else the PreToolUse-stamped intent
|
|
124
|
-
// file; else the command line itself.
|
|
125
|
-
const resolvedIntent =
|
|
126
|
-
intent && intent.trim().length > 0 ? intent : (readLastIntent(instanceId) ?? cmdLine);
|
|
127
|
-
writeSessionEvent("command_start", agent, {
|
|
128
|
-
instance_id: instanceId,
|
|
129
|
-
cmd_id: cmdId,
|
|
130
|
-
intent: clampField(resolvedIntent),
|
|
131
|
-
cmd: clampField(cmdLine),
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
const start = Date.now();
|
|
135
|
-
const child = spawn(cmd[0]!, cmd.slice(1), {
|
|
136
|
-
stdio: ["inherit", "pipe", "pipe"],
|
|
137
|
-
env: process.env,
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
child.stdout?.on("data", (chunk: Buffer) => {
|
|
141
|
-
process.stdout.write(chunk); // lint-ok-emission: harn session forwards child stdout verbatim; this IS the command's primary purpose
|
|
142
|
-
for (const line of stripCRNoise(chunk.toString("utf8")).split("\n")) {
|
|
143
|
-
if (line.length === 0) continue;
|
|
144
|
-
writeSessionEvent("output", agent, {
|
|
145
|
-
instance_id: instanceId,
|
|
146
|
-
cmd_id: cmdId,
|
|
147
|
-
stream: "stdout",
|
|
148
|
-
line: clampField(line),
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
child.stderr?.on("data", (chunk: Buffer) => {
|
|
153
|
-
process.stderr.write(chunk); // lint-ok-emission: harn session forwards child stderr verbatim; this IS the command's primary purpose
|
|
154
|
-
for (const line of stripCRNoise(chunk.toString("utf8")).split("\n")) {
|
|
155
|
-
if (line.length === 0) continue;
|
|
156
|
-
writeSessionEvent("output", agent, {
|
|
157
|
-
instance_id: instanceId,
|
|
158
|
-
cmd_id: cmdId,
|
|
159
|
-
stream: "stderr",
|
|
160
|
-
line: clampField(line),
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
child.on("error", (err) => {
|
|
166
|
-
process.stderr.write(`✗ spawn failed: ${err.message}\n`);
|
|
167
|
-
process.exit(127);
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
child.on("close", (code, signal) => {
|
|
171
|
-
const durationMs = Date.now() - start;
|
|
172
|
-
writeSessionEvent("command_end", agent, {
|
|
173
|
-
instance_id: instanceId,
|
|
174
|
-
cmd_id: cmdId,
|
|
175
|
-
exit: code ?? null,
|
|
176
|
-
signal: signal ?? null,
|
|
177
|
-
duration_ms: durationMs,
|
|
178
|
-
});
|
|
179
|
-
process.exit(code ?? 1);
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/** Shell-safe quote an argument for human-readable logging (not for eval). */
|
|
184
|
-
function quoteArg(arg: string): string {
|
|
185
|
-
if (/^[A-Za-z0-9_@%+=:,./-]+$/.test(arg)) return arg;
|
|
186
|
-
return `'${arg.replace(/'/g, `'\\''`)}'`;
|
|
187
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export type { Spawner, SpawnRequest, SpawnResult } from "../workflow/types.ts";
|
|
2
|
-
export type {
|
|
3
|
-
AttestationOutcome,
|
|
4
|
-
HarnessAttestationReport,
|
|
5
|
-
HarnessAttestationResult,
|
|
6
|
-
RunHarnessAttestationOptions,
|
|
7
|
-
} from "./attest.ts";
|
|
8
|
-
export { ATTESTATION_PROMPT, runHarnessAttestation } from "./attest.ts";
|
|
9
|
-
export type {
|
|
10
|
-
AttestableDimension,
|
|
11
|
-
AttestationStoreOptions,
|
|
12
|
-
HarnessAttestation,
|
|
13
|
-
} from "./attestation.ts";
|
|
14
|
-
export {
|
|
15
|
-
ATTESTABLE_DIMENSIONS,
|
|
16
|
-
ATTESTATION_SCHEMA_VERSION,
|
|
17
|
-
attestationsDir,
|
|
18
|
-
harnessProofInputs,
|
|
19
|
-
isAttestationCurrent,
|
|
20
|
-
listAttestations,
|
|
21
|
-
profileDigest,
|
|
22
|
-
readAttestation,
|
|
23
|
-
validateAttestation,
|
|
24
|
-
writeAttestation,
|
|
25
|
-
} from "./attestation.ts";
|
|
26
|
-
export type {
|
|
27
|
-
BenchBasis,
|
|
28
|
-
BenchDimension,
|
|
29
|
-
BenchResult,
|
|
30
|
-
BenchVerdict,
|
|
31
|
-
HarnessBenchOptions,
|
|
32
|
-
HarnessBenchReport,
|
|
33
|
-
} from "./bench.ts";
|
|
34
|
-
export { probeBinaryVersion, runHarnessBench } from "./bench.ts";
|
|
35
|
-
export type { BuiltinHarnessId } from "./profiles.ts";
|
|
36
|
-
export {
|
|
37
|
-
BUILTIN_HARNESS_IDS,
|
|
38
|
-
BUILTIN_HARNESS_PROFILES,
|
|
39
|
-
builtinHarnessProfile,
|
|
40
|
-
isBuiltinHarness,
|
|
41
|
-
validateHarnessEffort,
|
|
42
|
-
} from "./profiles.ts";
|
|
43
|
-
export { createBuiltinHarnessRegistry, HarnessRegistry } from "./registry.ts";
|
|
44
|
-
export type {
|
|
45
|
-
CapabilityClaim,
|
|
46
|
-
CapabilitySupport,
|
|
47
|
-
HarnessAdapter,
|
|
48
|
-
HarnessBenchFixture,
|
|
49
|
-
HarnessCapabilities,
|
|
50
|
-
HarnessCapabilityDimension,
|
|
51
|
-
HarnessId,
|
|
52
|
-
HarnessInvocation,
|
|
53
|
-
HarnessProfile,
|
|
54
|
-
HarnessRawResult,
|
|
55
|
-
} from "./types.ts";
|
|
56
|
-
export { HARNESS_CAPABILITY_DIMENSIONS } from "./types.ts";
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { coordEnv } from "../../../lib/env.ts";
|
|
2
|
-
import type { Harness } from "../events/schema.ts";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Resolve the harness firing the hook. The dispatcher binary is always
|
|
6
|
-
* invoked with `--harness <name>` per the wiring in each harness's settings
|
|
7
|
-
* file (Phase 1). Returns null when the flag is missing; caller falls
|
|
8
|
-
* through to the env-based fallback or skips emission.
|
|
9
|
-
*/
|
|
10
|
-
export function detectHarness(argv: readonly string[]): Harness | null {
|
|
11
|
-
for (let i = 0; i < argv.length; i++) {
|
|
12
|
-
const a = argv[i]!;
|
|
13
|
-
if (a === "--harness") {
|
|
14
|
-
return validate(argv[i + 1]);
|
|
15
|
-
}
|
|
16
|
-
if (a.startsWith("--harness=")) {
|
|
17
|
-
return validate(a.slice("--harness=".length));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return validate(coordEnv("AGENT_COORD_HARNESS"));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function validate(v: string | undefined): Harness | null {
|
|
24
|
-
if (v === "claude-code" || v === "cursor" || v === "codex") return v;
|
|
25
|
-
// Legacy: some harnesses use `claude_code` (underscore). Map
|
|
26
|
-
// it through so the env-based fallback works for callers that haven't
|
|
27
|
-
// updated yet.
|
|
28
|
-
if (v === "claude_code") return "claude-code";
|
|
29
|
-
return null;
|
|
30
|
-
}
|