@lannguyensi/harness 0.63.0 → 1.0.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/CHANGELOG.md +90 -0
- package/README.md +46 -42
- package/dist/cli/add/index.js +17 -21
- package/dist/cli/add/index.js.map +1 -1
- package/dist/cli/adopt/derive.d.ts +2 -2
- package/dist/cli/adopt/derive.js +2 -19
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/adopt/index.d.ts +1 -1
- package/dist/cli/adopt/index.js +1 -12
- package/dist/cli/adopt/index.js.map +1 -1
- package/dist/cli/apply/apply.d.ts +20 -35
- package/dist/cli/apply/apply.js +61 -136
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-codex-config.js +10 -58
- package/dist/cli/apply/generate-codex-config.js.map +1 -1
- package/dist/cli/apply/generate-memory-index.js +1 -2
- package/dist/cli/apply/generate-memory-index.js.map +1 -1
- package/dist/cli/apply/generate-opencode-config.d.ts +2 -10
- package/dist/cli/apply/generate-opencode-config.js +74 -113
- package/dist/cli/apply/generate-opencode-config.js.map +1 -1
- package/dist/cli/apply/generate-settings.d.ts +11 -64
- package/dist/cli/apply/generate-settings.js +27 -132
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/apply/index.d.ts +1 -1
- package/dist/cli/apply/index.js +1 -1
- package/dist/cli/apply/index.js.map +1 -1
- package/dist/cli/apply/install-codex-config.d.ts +153 -1
- package/dist/cli/apply/install-codex-config.js +445 -70
- package/dist/cli/apply/install-codex-config.js.map +1 -1
- package/dist/cli/apply/next-steps.d.ts +7 -0
- package/dist/cli/apply/next-steps.js +13 -1
- package/dist/cli/apply/next-steps.js.map +1 -1
- package/dist/cli/bounded-stdin.d.ts +0 -23
- package/dist/cli/bounded-stdin.js +2 -49
- package/dist/cli/bounded-stdin.js.map +1 -1
- package/dist/cli/describe.d.ts +1 -1
- package/dist/cli/describe.js +0 -3
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/diff/engine.d.ts +0 -11
- package/dist/cli/diff/engine.js +1 -17
- package/dist/cli/diff/engine.js.map +1 -1
- package/dist/cli/diff/index.js +14 -25
- package/dist/cli/diff/index.js.map +1 -1
- package/dist/cli/doctor/claude-mcp.d.ts +4 -19
- package/dist/cli/doctor/claude-mcp.js +11 -22
- package/dist/cli/doctor/claude-mcp.js.map +1 -1
- package/dist/cli/doctor/codex.d.ts +12 -14
- package/dist/cli/doctor/codex.js +31 -144
- package/dist/cli/doctor/codex.js.map +1 -1
- package/dist/cli/doctor/format.js +23 -338
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/hook-liveness.d.ts +56 -0
- package/dist/cli/doctor/hook-liveness.js +455 -0
- package/dist/cli/doctor/hook-liveness.js.map +1 -0
- package/dist/cli/doctor/index.d.ts +13 -87
- package/dist/cli/doctor/index.js +57 -705
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/opencode.d.ts +2 -1
- package/dist/cli/doctor/opencode.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +21 -378
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/drain-stdio.d.ts +31 -0
- package/dist/cli/drain-stdio.js +76 -0
- package/dist/cli/drain-stdio.js.map +1 -0
- package/dist/cli/export.d.ts +3 -1
- package/dist/cli/export.js +7 -16
- package/dist/cli/export.js.map +1 -1
- package/dist/cli/gate/codex-disable.d.ts +29 -0
- package/dist/cli/gate/codex-disable.js +195 -0
- package/dist/cli/gate/codex-disable.js.map +1 -0
- package/dist/cli/gate/codex-enable.d.ts +41 -0
- package/dist/cli/gate/codex-enable.js +127 -0
- package/dist/cli/gate/codex-enable.js.map +1 -0
- package/dist/cli/gate/codex-snapshot.d.ts +208 -0
- package/dist/cli/gate/codex-snapshot.js +402 -0
- package/dist/cli/gate/codex-snapshot.js.map +1 -0
- package/dist/cli/gate/disable.d.ts +9 -0
- package/dist/cli/gate/disable.js +263 -28
- package/dist/cli/gate/disable.js.map +1 -1
- package/dist/cli/gate/enable.d.ts +26 -6
- package/dist/cli/gate/enable.js +152 -80
- package/dist/cli/gate/enable.js.map +1 -1
- package/dist/cli/gate/link-chain.d.ts +53 -0
- package/dist/cli/gate/link-chain.js +122 -0
- package/dist/cli/gate/link-chain.js.map +1 -0
- package/dist/cli/gate/snapshot.d.ts +289 -12
- package/dist/cli/gate/snapshot.js +481 -22
- package/dist/cli/gate/snapshot.js.map +1 -1
- package/dist/cli/index.d.ts +0 -9
- package/dist/cli/index.js +15 -2607
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/composer.d.ts +3 -6
- package/dist/cli/init/composer.js +6 -370
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/dependencies.d.ts +1 -2
- package/dist/cli/init/dependencies.js +4 -80
- package/dist/cli/init/dependencies.js.map +1 -1
- package/dist/cli/init/detect.js +5 -4
- package/dist/cli/init/detect.js.map +1 -1
- package/dist/cli/init/interactive.d.ts +1 -23
- package/dist/cli/init/interactive.js +33 -247
- package/dist/cli/init/interactive.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +2 -2
- package/dist/cli/init/profiles.js +51 -243
- package/dist/cli/init/profiles.js.map +1 -1
- package/dist/cli/init/templates.d.ts +2 -37
- package/dist/cli/init/templates.js +25 -1237
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/list.d.ts +1 -1
- package/dist/cli/list.js +1 -38
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/loader.d.ts +15 -1
- package/dist/cli/loader.js +56 -39
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/main.js +7 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/migrate-home/index.js +2 -2
- package/dist/cli/migrate-home/index.js.map +1 -1
- package/dist/cli/pack/add.js +1 -1
- package/dist/cli/pack/add.js.map +1 -1
- package/dist/cli/pack/hook-bootstrap.d.ts +5 -164
- package/dist/cli/pack/hook-bootstrap.js +15 -291
- package/dist/cli/pack/hook-bootstrap.js.map +1 -1
- package/dist/cli/pack/hook-branch-protection.d.ts +28 -21
- package/dist/cli/pack/hook-branch-protection.js +365 -340
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/index.d.ts +0 -1
- package/dist/cli/pack/index.js +0 -1
- package/dist/cli/pack/index.js.map +1 -1
- package/dist/cli/pack/list.js +1 -6
- package/dist/cli/pack/list.js.map +1 -1
- package/dist/cli/pack/mutate.d.ts +7 -9
- package/dist/cli/pack/mutate.js +6 -9
- package/dist/cli/pack/mutate.js.map +1 -1
- package/dist/cli/pack/reseed.d.ts +2 -2
- package/dist/cli/pack/reseed.js +16 -22
- package/dist/cli/pack/reseed.js.map +1 -1
- package/dist/cli/register-gate-group.d.ts +5 -0
- package/dist/cli/register-gate-group.js +348 -0
- package/dist/cli/register-gate-group.js.map +1 -0
- package/dist/cli/register-inspect-group.d.ts +6 -0
- package/dist/cli/register-inspect-group.js +189 -0
- package/dist/cli/register-inspect-group.js.map +1 -0
- package/dist/cli/register-operator-lifecycle.d.ts +5 -0
- package/dist/cli/register-operator-lifecycle.js +20 -0
- package/dist/cli/register-operator-lifecycle.js.map +1 -0
- package/dist/cli/register-pack-group.d.ts +5 -0
- package/dist/cli/register-pack-group.js +134 -0
- package/dist/cli/register-pack-group.js.map +1 -0
- package/dist/cli/register-setup-group.d.ts +5 -0
- package/dist/cli/register-setup-group.js +495 -0
- package/dist/cli/register-setup-group.js.map +1 -0
- package/dist/cli/remove/index.d.ts +0 -14
- package/dist/cli/remove/index.js +2 -115
- package/dist/cli/remove/index.js.map +1 -1
- package/dist/cli/remove/mutate.d.ts +0 -2
- package/dist/cli/remove/mutate.js +1 -19
- package/dist/cli/remove/mutate.js.map +1 -1
- package/dist/cli/remove/register.d.ts +5 -0
- package/dist/cli/remove/register.js +25 -0
- package/dist/cli/remove/register.js.map +1 -0
- package/dist/cli/shell-quote.d.ts +7 -0
- package/dist/cli/shell-quote.js +17 -0
- package/dist/cli/shell-quote.js.map +1 -0
- package/dist/cli/uninstall/index.d.ts +4 -2
- package/dist/cli/uninstall/index.js +15 -7
- package/dist/cli/uninstall/index.js.map +1 -1
- package/dist/cli/uninstall/register.d.ts +5 -0
- package/dist/cli/uninstall/register.js +171 -0
- package/dist/cli/uninstall/register.js.map +1 -0
- package/dist/cli/uninstall/snapshot.d.ts +15 -0
- package/dist/cli/uninstall/snapshot.js +38 -0
- package/dist/cli/uninstall/snapshot.js.map +1 -1
- package/dist/cli/validate/checks.d.ts +0 -77
- package/dist/cli/validate/checks.js +3 -1049
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/cli/validate/index.js +19 -15
- package/dist/cli/validate/index.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/io/claude-mcp.d.ts +1 -1
- package/dist/io/claude-mcp.js +27 -14
- package/dist/io/claude-mcp.js.map +1 -1
- package/dist/io/harness-lock.js +2 -2
- package/dist/io/harness-lock.js.map +1 -1
- package/dist/io/lock.d.ts +0 -26
- package/dist/io/lock.js +10 -27
- package/dist/io/lock.js.map +1 -1
- package/dist/io/merge-settings.js +6 -4
- package/dist/io/merge-settings.js.map +1 -1
- package/dist/io/project-name.d.ts +22 -39
- package/dist/io/project-name.js +25 -42
- package/dist/io/project-name.js.map +1 -1
- package/dist/io/read-regular-file.d.ts +103 -40
- package/dist/io/read-regular-file.js +196 -35
- package/dist/io/read-regular-file.js.map +1 -1
- package/dist/io/restart-hints.js +3 -6
- package/dist/io/restart-hints.js.map +1 -1
- package/dist/io/version-compare.d.ts +1 -3
- package/dist/io/version-compare.js +1 -3
- package/dist/io/version-compare.js.map +1 -1
- package/dist/io/write-regular-file.d.ts +30 -0
- package/dist/io/write-regular-file.js +85 -0
- package/dist/io/write-regular-file.js.map +1 -0
- package/dist/overrides/index.d.ts +1 -0
- package/dist/overrides/index.js +1 -0
- package/dist/overrides/index.js.map +1 -1
- package/dist/overrides/merge-layers.d.ts +43 -0
- package/dist/overrides/merge-layers.js +76 -0
- package/dist/overrides/merge-layers.js.map +1 -0
- package/dist/overrides/merge.d.ts +16 -0
- package/dist/overrides/merge.js +21 -8
- package/dist/overrides/merge.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +4 -69
- package/dist/policy-packs/builtin/branch-protection-runtime.js +12 -84
- package/dist/policy-packs/builtin/branch-protection-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection.d.ts +7 -30
- package/dist/policy-packs/builtin/branch-protection.js +56 -89
- package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
- package/dist/policy-packs/config-check.d.ts +7 -5
- package/dist/policy-packs/config-check.js +2 -2
- package/dist/policy-packs/config-check.js.map +1 -1
- package/dist/policy-packs/expand.d.ts +1 -3
- package/dist/policy-packs/expand.js +5 -42
- package/dist/policy-packs/expand.js.map +1 -1
- package/dist/policy-packs/index.d.ts +3 -3
- package/dist/policy-packs/index.js +2 -2
- package/dist/policy-packs/index.js.map +1 -1
- package/dist/policy-packs/registry.d.ts +9 -38
- package/dist/policy-packs/registry.js +5 -65
- package/dist/policy-packs/registry.js.map +1 -1
- package/dist/policy-packs/runtime.d.ts +0 -4
- package/dist/policy-packs/runtime.js +9 -22
- package/dist/policy-packs/runtime.js.map +1 -1
- package/dist/policy-packs/types.d.ts +0 -19
- package/dist/policy-packs/ux-compare.d.ts +1 -11
- package/dist/policy-packs/ux-compare.js +6 -42
- package/dist/policy-packs/ux-compare.js.map +1 -1
- package/dist/policy-packs/ux-drift-check.d.ts +5 -5
- package/dist/policy-packs/ux-drift-check.js +17 -22
- package/dist/policy-packs/ux-drift-check.js.map +1 -1
- package/dist/policy-packs/version-check.d.ts +5 -26
- package/dist/policy-packs/version-check.js +19 -74
- package/dist/policy-packs/version-check.js.map +1 -1
- package/dist/probes/memory.d.ts +1 -1
- package/dist/probes/memory.js +1 -1
- package/dist/probes/memory.js.map +1 -1
- package/dist/runtime/agent-facing.d.ts +9 -0
- package/dist/runtime/agent-facing.js +28 -14
- package/dist/runtime/agent-facing.js.map +1 -1
- package/dist/runtime/bounded-text.d.ts +15 -0
- package/dist/runtime/bounded-text.js +27 -0
- package/dist/runtime/bounded-text.js.map +1 -0
- package/dist/runtime/git-branch.d.ts +125 -0
- package/dist/runtime/git-branch.js +381 -0
- package/dist/runtime/git-branch.js.map +1 -0
- package/dist/runtime/hermetic-spawn-guard.d.ts +2 -2
- package/dist/runtime/hermetic-spawn-guard.js +24 -34
- package/dist/runtime/hermetic-spawn-guard.js.map +1 -1
- package/dist/runtime/home-dir.js +3 -2
- package/dist/runtime/home-dir.js.map +1 -1
- package/dist/runtime/tool-name-aliases.d.ts +0 -6
- package/dist/runtime/tool-name-aliases.js +5 -18
- package/dist/runtime/tool-name-aliases.js.map +1 -1
- package/dist/schema/grounding.d.ts +7 -54
- package/dist/schema/grounding.js +10 -12
- package/dist/schema/grounding.js.map +1 -1
- package/dist/schema/hooks.d.ts +39 -136
- package/dist/schema/hooks.js +3 -6
- package/dist/schema/hooks.js.map +1 -1
- package/dist/schema/index.d.ts +114 -3828
- package/dist/schema/index.js +41 -80
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/memory.d.ts +54 -131
- package/dist/schema/memory.js +2 -2
- package/dist/schema/memory.js.map +1 -1
- package/dist/schema/policy-packs.d.ts +3 -45
- package/dist/schema/policy-packs.js +7 -13
- package/dist/schema/policy-packs.js.map +1 -1
- package/dist/schema/policy-ux.d.ts +7 -0
- package/dist/schema/policy-ux.js +18 -0
- package/dist/schema/policy-ux.js.map +1 -0
- package/dist/schema/removed-keys.d.ts +185 -0
- package/dist/schema/removed-keys.js +531 -0
- package/dist/schema/removed-keys.js.map +1 -0
- package/dist/schema/tools.d.ts +30 -268
- package/dist/schema/tools.js +4 -4
- package/dist/schema/tools.js.map +1 -1
- package/package.json +5 -16
- package/dist/cli/approve/branch-protection.d.ts +0 -69
- package/dist/cli/approve/branch-protection.js +0 -144
- package/dist/cli/approve/branch-protection.js.map +0 -1
- package/dist/cli/approve/risk.d.ts +0 -112
- package/dist/cli/approve/risk.js +0 -197
- package/dist/cli/approve/risk.js.map +0 -1
- package/dist/cli/approve/stdin-report.d.ts +0 -57
- package/dist/cli/approve/stdin-report.js +0 -145
- package/dist/cli/approve/stdin-report.js.map +0 -1
- package/dist/cli/approve/understanding.d.ts +0 -410
- package/dist/cli/approve/understanding.js +0 -996
- package/dist/cli/approve/understanding.js.map +0 -1
- package/dist/cli/audit.d.ts +0 -80
- package/dist/cli/audit.js +0 -252
- package/dist/cli/audit.js.map +0 -1
- package/dist/cli/delegate/index.d.ts +0 -76
- package/dist/cli/delegate/index.js +0 -443
- package/dist/cli/delegate/index.js.map +0 -1
- package/dist/cli/doctor/auto-approve-mode.d.ts +0 -37
- package/dist/cli/doctor/auto-approve-mode.js +0 -80
- package/dist/cli/doctor/auto-approve-mode.js.map +0 -1
- package/dist/cli/doctor/bypass-without-auto-approve.d.ts +0 -38
- package/dist/cli/doctor/bypass-without-auto-approve.js +0 -95
- package/dist/cli/doctor/bypass-without-auto-approve.js.map +0 -1
- package/dist/cli/doctor/codex-config-drift.d.ts +0 -28
- package/dist/cli/doctor/codex-config-drift.js +0 -240
- package/dist/cli/doctor/codex-config-drift.js.map +0 -1
- package/dist/cli/doctor/rogue-ledger.d.ts +0 -53
- package/dist/cli/doctor/rogue-ledger.js +0 -153
- package/dist/cli/doctor/rogue-ledger.js.map +0 -1
- package/dist/cli/doctor/session-start-preflight-setup-version.d.ts +0 -83
- package/dist/cli/doctor/session-start-preflight-setup-version.js +0 -114
- package/dist/cli/doctor/session-start-preflight-setup-version.js.map +0 -1
- package/dist/cli/doctor/settings-drift.d.ts +0 -25
- package/dist/cli/doctor/settings-drift.js +0 -213
- package/dist/cli/doctor/settings-drift.js.map +0 -1
- package/dist/cli/doctor/toolchain-parity.d.ts +0 -63
- package/dist/cli/doctor/toolchain-parity.js +0 -154
- package/dist/cli/doctor/toolchain-parity.js.map +0 -1
- package/dist/cli/doctor/ug-auto-approvals.d.ts +0 -40
- package/dist/cli/doctor/ug-auto-approvals.js +0 -91
- package/dist/cli/doctor/ug-auto-approvals.js.map +0 -1
- package/dist/cli/doctor/ug-delegations.d.ts +0 -26
- package/dist/cli/doctor/ug-delegations.js +0 -121
- package/dist/cli/doctor/ug-delegations.js.map +0 -1
- package/dist/cli/doctor/ug-inflight.d.ts +0 -35
- package/dist/cli/doctor/ug-inflight.js +0 -57
- package/dist/cli/doctor/ug-inflight.js.map +0 -1
- package/dist/cli/doctor/understanding-mode-env.d.ts +0 -51
- package/dist/cli/doctor/understanding-mode-env.js +0 -98
- package/dist/cli/doctor/understanding-mode-env.js.map +0 -1
- package/dist/cli/dry-run.d.ts +0 -46
- package/dist/cli/dry-run.js +0 -250
- package/dist/cli/dry-run.js.map +0 -1
- package/dist/cli/event-input.d.ts +0 -28
- package/dist/cli/event-input.js +0 -73
- package/dist/cli/event-input.js.map +0 -1
- package/dist/cli/explain-action.d.ts +0 -20
- package/dist/cli/explain-action.js +0 -27
- package/dist/cli/explain-action.js.map +0 -1
- package/dist/cli/explain-policy.d.ts +0 -135
- package/dist/cli/explain-policy.js +0 -266
- package/dist/cli/explain-policy.js.map +0 -1
- package/dist/cli/explain.d.ts +0 -31
- package/dist/cli/explain.js +0 -159
- package/dist/cli/explain.js.map +0 -1
- package/dist/cli/gc/index.d.ts +0 -63
- package/dist/cli/gc/index.js +0 -566
- package/dist/cli/gc/index.js.map +0 -1
- package/dist/cli/pack/approve-escape.d.ts +0 -19
- package/dist/cli/pack/approve-escape.js +0 -190
- package/dist/cli/pack/approve-escape.js.map +0 -1
- package/dist/cli/pack/auto-approve-path.d.ts +0 -146
- package/dist/cli/pack/auto-approve-path.js +0 -462
- package/dist/cli/pack/auto-approve-path.js.map +0 -1
- package/dist/cli/pack/hook-codex-post-tool-use.d.ts +0 -25
- package/dist/cli/pack/hook-codex-post-tool-use.js +0 -160
- package/dist/cli/pack/hook-codex-post-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.d.ts +0 -48
- package/dist/cli/pack/hook-codex-pre-tool-use.js +0 -474
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-codex-stop.d.ts +0 -35
- package/dist/cli/pack/hook-codex-stop.js +0 -329
- package/dist/cli/pack/hook-codex-stop.js.map +0 -1
- package/dist/cli/pack/hook-codex-user-prompt-submit.d.ts +0 -24
- package/dist/cli/pack/hook-codex-user-prompt-submit.js +0 -93
- package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +0 -1
- package/dist/cli/pack/hook-post-merge-gate-record.d.ts +0 -37
- package/dist/cli/pack/hook-post-merge-gate-record.js +0 -190
- package/dist/cli/pack/hook-post-merge-gate-record.js.map +0 -1
- package/dist/cli/pack/hook-post-merge-gate.d.ts +0 -34
- package/dist/cli/pack/hook-post-merge-gate.js +0 -277
- package/dist/cli/pack/hook-post-merge-gate.js.map +0 -1
- package/dist/cli/pack/hook-post-tool-use.d.ts +0 -45
- package/dist/cli/pack/hook-post-tool-use.js +0 -137
- package/dist/cli/pack/hook-post-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-pre-tool-use.d.ts +0 -92
- package/dist/cli/pack/hook-pre-tool-use.js +0 -1328
- package/dist/cli/pack/hook-pre-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-runtime-reality.d.ts +0 -63
- package/dist/cli/pack/hook-runtime-reality.js +0 -210
- package/dist/cli/pack/hook-runtime-reality.js.map +0 -1
- package/dist/cli/pack/hook-solution-acceptance-writeguard.d.ts +0 -32
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js +0 -337
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +0 -1
- package/dist/cli/pack/hook-solution-acceptance.d.ts +0 -157
- package/dist/cli/pack/hook-solution-acceptance.js +0 -530
- package/dist/cli/pack/hook-solution-acceptance.js.map +0 -1
- package/dist/cli/pack/hook-stay-in-scope.d.ts +0 -37
- package/dist/cli/pack/hook-stay-in-scope.js +0 -128
- package/dist/cli/pack/hook-stay-in-scope.js.map +0 -1
- package/dist/cli/pack/hook-subagent-start.d.ts +0 -23
- package/dist/cli/pack/hook-subagent-start.js +0 -88
- package/dist/cli/pack/hook-subagent-start.js.map +0 -1
- package/dist/cli/pack/hook-subagent-stop.d.ts +0 -19
- package/dist/cli/pack/hook-subagent-stop.js +0 -41
- package/dist/cli/pack/hook-subagent-stop.js.map +0 -1
- package/dist/cli/pack/hook-track-active-claim.d.ts +0 -27
- package/dist/cli/pack/hook-track-active-claim.js +0 -275
- package/dist/cli/pack/hook-track-active-claim.js.map +0 -1
- package/dist/cli/pack/transcript-report-scan.d.ts +0 -71
- package/dist/cli/pack/transcript-report-scan.js +0 -359
- package/dist/cli/pack/transcript-report-scan.js.map +0 -1
- package/dist/cli/pack/understanding-report-schema-hint.d.ts +0 -26
- package/dist/cli/pack/understanding-report-schema-hint.js +0 -120
- package/dist/cli/pack/understanding-report-schema-hint.js.map +0 -1
- package/dist/cli/pack/upgrade.d.ts +0 -32
- package/dist/cli/pack/upgrade.js +0 -273
- package/dist/cli/pack/upgrade.js.map +0 -1
- package/dist/cli/pause/index.d.ts +0 -113
- package/dist/cli/pause/index.js +0 -251
- package/dist/cli/pause/index.js.map +0 -1
- package/dist/cli/pause-check.d.ts +0 -22
- package/dist/cli/pause-check.js +0 -54
- package/dist/cli/pause-check.js.map +0 -1
- package/dist/cli/policy/intercept.d.ts +0 -233
- package/dist/cli/policy/intercept.js +0 -1020
- package/dist/cli/policy/intercept.js.map +0 -1
- package/dist/cli/policy/risk-envelope-enrichment.d.ts +0 -40
- package/dist/cli/policy/risk-envelope-enrichment.js +0 -108
- package/dist/cli/policy/risk-envelope-enrichment.js.map +0 -1
- package/dist/cli/record/index.d.ts +0 -81
- package/dist/cli/record/index.js +0 -348
- package/dist/cli/record/index.js.map +0 -1
- package/dist/cli/resolve-env.d.ts +0 -32
- package/dist/cli/resolve-env.js +0 -47
- package/dist/cli/resolve-env.js.map +0 -1
- package/dist/cli/session-export/index.d.ts +0 -46
- package/dist/cli/session-export/index.js +0 -169
- package/dist/cli/session-export/index.js.map +0 -1
- package/dist/cli/session-export/redact.d.ts +0 -22
- package/dist/cli/session-export/redact.js +0 -47
- package/dist/cli/session-export/redact.js.map +0 -1
- package/dist/cli/session-export/transcript.d.ts +0 -24
- package/dist/cli/session-export/transcript.js +0 -164
- package/dist/cli/session-export/transcript.js.map +0 -1
- package/dist/cli/session-start/branch-check.d.ts +0 -18
- package/dist/cli/session-start/branch-check.js +0 -140
- package/dist/cli/session-start/branch-check.js.map +0 -1
- package/dist/cli/session-start/index.d.ts +0 -121
- package/dist/cli/session-start/index.js +0 -591
- package/dist/cli/session-start/index.js.map +0 -1
- package/dist/cli/session-start/shared-options.d.ts +0 -103
- package/dist/cli/session-start/shared-options.js +0 -107
- package/dist/cli/session-start/shared-options.js.map +0 -1
- package/dist/cli/session-start/stale-base-check.d.ts +0 -46
- package/dist/cli/session-start/stale-base-check.js +0 -352
- package/dist/cli/session-start/stale-base-check.js.map +0 -1
- package/dist/cli/session-start/toolchain-parity.d.ts +0 -267
- package/dist/cli/session-start/toolchain-parity.js +0 -797
- package/dist/cli/session-start/toolchain-parity.js.map +0 -1
- package/dist/cli/smoke/assertions.d.ts +0 -46
- package/dist/cli/smoke/assertions.js +0 -170
- package/dist/cli/smoke/assertions.js.map +0 -1
- package/dist/cli/smoke/index.d.ts +0 -76
- package/dist/cli/smoke/index.js +0 -245
- package/dist/cli/smoke/index.js.map +0 -1
- package/dist/cli/smoke/runner.d.ts +0 -55
- package/dist/cli/smoke/runner.js +0 -134
- package/dist/cli/smoke/runner.js.map +0 -1
- package/dist/cli/smoke/stream-parser.d.ts +0 -65
- package/dist/cli/smoke/stream-parser.js +0 -115
- package/dist/cli/smoke/stream-parser.js.map +0 -1
- package/dist/cli/test-risk.d.ts +0 -26
- package/dist/cli/test-risk.js +0 -34
- package/dist/cli/test-risk.js.map +0 -1
- package/dist/io/display-path.d.ts +0 -11
- package/dist/io/display-path.js +0 -29
- package/dist/io/display-path.js.map +0 -1
- package/dist/io/duration.d.ts +0 -5
- package/dist/io/duration.js +0 -50
- package/dist/io/duration.js.map +0 -1
- package/dist/io/extract.d.ts +0 -79
- package/dist/io/extract.js +0 -226
- package/dist/io/extract.js.map +0 -1
- package/dist/io/ledger-record.d.ts +0 -83
- package/dist/io/ledger-record.js +0 -301
- package/dist/io/ledger-record.js.map +0 -1
- package/dist/io/read-json-dir-entries.d.ts +0 -36
- package/dist/io/read-json-dir-entries.js +0 -48
- package/dist/io/read-json-dir-entries.js.map +0 -1
- package/dist/io/safe-json-parse.d.ts +0 -5
- package/dist/io/safe-json-parse.js +0 -21
- package/dist/io/safe-json-parse.js.map +0 -1
- package/dist/policies/index.d.ts +0 -5
- package/dist/policies/index.js +0 -6
- package/dist/policies/index.js.map +0 -1
- package/dist/policies/ledger-client.d.ts +0 -113
- package/dist/policies/ledger-client.js +0 -500
- package/dist/policies/ledger-client.js.map +0 -1
- package/dist/policies/producers.d.ts +0 -12
- package/dist/policies/producers.js +0 -61
- package/dist/policies/producers.js.map +0 -1
- package/dist/policies/requires.d.ts +0 -75
- package/dist/policies/requires.js +0 -240
- package/dist/policies/requires.js.map +0 -1
- package/dist/policies/timestamp.d.ts +0 -14
- package/dist/policies/timestamp.js +0 -36
- package/dist/policies/timestamp.js.map +0 -1
- package/dist/policy-packs/builtin/permission-profiles.d.ts +0 -11
- package/dist/policy-packs/builtin/permission-profiles.js +0 -74
- package/dist/policy-packs/builtin/permission-profiles.js.map +0 -1
- package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +0 -286
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js +0 -397
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/post-merge-gate.d.ts +0 -56
- package/dist/policy-packs/builtin/post-merge-gate.js +0 -347
- package/dist/policy-packs/builtin/post-merge-gate.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.d.ts +0 -50
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js +0 -151
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +0 -323
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +0 -672
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance.d.ts +0 -45
- package/dist/policy-packs/builtin/solution-acceptance.js +0 -226
- package/dist/policy-packs/builtin/solution-acceptance.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.d.ts +0 -25
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js +0 -94
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.d.ts +0 -35
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js +0 -86
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.d.ts +0 -210
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js +0 -361
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +0 -304
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +0 -734
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.d.ts +0 -36
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js +0 -73
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +0 -19
- package/dist/policy-packs/builtin/understanding-before-execution/index.js +0 -83
- package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.d.ts +0 -135
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js +0 -618
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.d.ts +0 -25
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js +0 -56
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.d.ts +0 -20
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js +0 -93
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/markers.d.ts +0 -126
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js +0 -245
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.d.ts +0 -29
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js +0 -82
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.d.ts +0 -71
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +0 -175
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +0 -620
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +0 -1047
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.d.ts +0 -128
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +0 -213
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.d.ts +0 -129
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js +0 -166
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.d.ts +0 -164
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js +0 -275
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +0 -10
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +0 -526
- package/dist/policy-packs/builtin/understanding-before-execution.js +0 -1074
- package/dist/policy-packs/builtin/understanding-before-execution.js.map +0 -1
- package/dist/policy-packs/permission-translator.d.ts +0 -9
- package/dist/policy-packs/permission-translator.js +0 -76
- package/dist/policy-packs/permission-translator.js.map +0 -1
- package/dist/runtime/action-envelope.d.ts +0 -64
- package/dist/runtime/action-envelope.js +0 -46
- package/dist/runtime/action-envelope.js.map +0 -1
- package/dist/runtime/approval-signing.d.ts +0 -111
- package/dist/runtime/approval-signing.js +0 -384
- package/dist/runtime/approval-signing.js.map +0 -1
- package/dist/runtime/bash-match-facts.d.ts +0 -60
- package/dist/runtime/bash-match-facts.js +0 -196
- package/dist/runtime/bash-match-facts.js.map +0 -1
- package/dist/runtime/bash-match-registry.d.ts +0 -112
- package/dist/runtime/bash-match-registry.js +0 -406
- package/dist/runtime/bash-match-registry.js.map +0 -1
- package/dist/runtime/bash-prefix-parse.d.ts +0 -31
- package/dist/runtime/bash-prefix-parse.js +0 -576
- package/dist/runtime/bash-prefix-parse.js.map +0 -1
- package/dist/runtime/command-normalize.d.ts +0 -658
- package/dist/runtime/command-normalize.js +0 -2410
- package/dist/runtime/command-normalize.js.map +0 -1
- package/dist/runtime/deletion-target-resolve.d.ts +0 -28
- package/dist/runtime/deletion-target-resolve.js +0 -1078
- package/dist/runtime/deletion-target-resolve.js.map +0 -1
- package/dist/runtime/destructive-shell-floor.d.ts +0 -19
- package/dist/runtime/destructive-shell-floor.js +0 -611
- package/dist/runtime/destructive-shell-floor.js.map +0 -1
- package/dist/runtime/environment-resolver.d.ts +0 -36
- package/dist/runtime/environment-resolver.js +0 -138
- package/dist/runtime/environment-resolver.js.map +0 -1
- package/dist/runtime/git-context.d.ts +0 -201
- package/dist/runtime/git-context.js +0 -422
- package/dist/runtime/git-context.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -12
- package/dist/runtime/index.js +0 -13
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/intercept.d.ts +0 -494
- package/dist/runtime/intercept.js +0 -1313
- package/dist/runtime/intercept.js.map +0 -1
- package/dist/runtime/kube-context.d.ts +0 -16
- package/dist/runtime/kube-context.js +0 -63
- package/dist/runtime/kube-context.js.map +0 -1
- package/dist/runtime/kubectl-target-parse.d.ts +0 -31
- package/dist/runtime/kubectl-target-parse.js +0 -249
- package/dist/runtime/kubectl-target-parse.js.map +0 -1
- package/dist/runtime/ledger-add.d.ts +0 -16
- package/dist/runtime/ledger-add.js +0 -150
- package/dist/runtime/ledger-add.js.map +0 -1
- package/dist/runtime/ledger-writer.d.ts +0 -27
- package/dist/runtime/ledger-writer.js +0 -46
- package/dist/runtime/ledger-writer.js.map +0 -1
- package/dist/runtime/pause-sentinel.d.ts +0 -60
- package/dist/runtime/pause-sentinel.js +0 -156
- package/dist/runtime/pause-sentinel.js.map +0 -1
- package/dist/runtime/pending-approval.d.ts +0 -23
- package/dist/runtime/pending-approval.js +0 -67
- package/dist/runtime/pending-approval.js.map +0 -1
- package/dist/runtime/read-only-bash.d.ts +0 -141
- package/dist/runtime/read-only-bash.js +0 -2204
- package/dist/runtime/read-only-bash.js.map +0 -1
- package/dist/runtime/recovery-git-commit.d.ts +0 -22
- package/dist/runtime/recovery-git-commit.js +0 -284
- package/dist/runtime/recovery-git-commit.js.map +0 -1
- package/dist/runtime/reject-malformed-session-id.d.ts +0 -8
- package/dist/runtime/reject-malformed-session-id.js +0 -16
- package/dist/runtime/reject-malformed-session-id.js.map +0 -1
- package/dist/runtime/risk-classifier.d.ts +0 -38
- package/dist/runtime/risk-classifier.js +0 -311
- package/dist/runtime/risk-classifier.js.map +0 -1
- package/dist/runtime/session-id.d.ts +0 -113
- package/dist/runtime/session-id.js +0 -193
- package/dist/runtime/session-id.js.map +0 -1
- package/dist/runtime/shell-word.d.ts +0 -62
- package/dist/runtime/shell-word.js +0 -410
- package/dist/runtime/shell-word.js.map +0 -1
- package/dist/runtime/task-providers/agent-tasks.d.ts +0 -103
- package/dist/runtime/task-providers/agent-tasks.js +0 -245
- package/dist/runtime/task-providers/agent-tasks.js.map +0 -1
- package/dist/runtime/when-eval.d.ts +0 -62
- package/dist/runtime/when-eval.js +0 -212
- package/dist/runtime/when-eval.js.map +0 -1
- package/dist/runtime/workflow-policies.d.ts +0 -207
- package/dist/runtime/workflow-policies.js +0 -596
- package/dist/runtime/workflow-policies.js.map +0 -1
- package/dist/schema/audit.d.ts +0 -71
- package/dist/schema/audit.js +0 -32
- package/dist/schema/audit.js.map +0 -1
- package/dist/schema/doctor.d.ts +0 -25
- package/dist/schema/doctor.js +0 -23
- package/dist/schema/doctor.js.map +0 -1
- package/dist/schema/environments.d.ts +0 -215
- package/dist/schema/environments.js +0 -101
- package/dist/schema/environments.js.map +0 -1
- package/dist/schema/extract.d.ts +0 -9
- package/dist/schema/extract.js +0 -86
- package/dist/schema/extract.js.map +0 -1
- package/dist/schema/permission-profiles.d.ts +0 -2292
- package/dist/schema/permission-profiles.js +0 -60
- package/dist/schema/permission-profiles.js.map +0 -1
- package/dist/schema/policies.d.ts +0 -974
- package/dist/schema/policies.js +0 -298
- package/dist/schema/policies.js.map +0 -1
- package/dist/schema/requires.d.ts +0 -131
- package/dist/schema/requires.js +0 -88
- package/dist/schema/requires.js.map +0 -1
- package/dist/schema/risk.d.ts +0 -144
- package/dist/schema/risk.js +0 -194
- package/dist/schema/risk.js.map +0 -1
- package/dist/schema/session-start-preflight.d.ts +0 -10
- package/dist/schema/session-start-preflight.js +0 -106
- package/dist/schema/session-start-preflight.js.map +0 -1
- package/dist/schema/stale-base-check.d.ts +0 -18
- package/dist/schema/stale-base-check.js +0 -37
- package/dist/schema/stale-base-check.js.map +0 -1
- package/dist/schema/toolchain-parity.d.ts +0 -21
- package/dist/schema/toolchain-parity.js +0 -48
- package/dist/schema/toolchain-parity.js.map +0 -1
- package/dist/schema/workflows.d.ts +0 -519
- package/dist/schema/workflows.js +0 -81
- package/dist/schema/workflows.js.map +0 -1
- package/scripts/runtime-reality-docker-probe.mjs +0 -71
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
/** Directory holding delegation markers, a sibling of `.approvals/` under `generatedDir`. */
|
|
2
|
-
export declare const DELEGATION_MARKER_DIRNAME = ".delegations";
|
|
3
|
-
/**
|
|
4
|
-
* Directory holding the per-child ADOPTED-ENTRY ledgers (once-per-session
|
|
5
|
-
* transcript-capture bookkeeping written by the PreToolUse hook,
|
|
6
|
-
* `hook-pre-tool-use.ts`), a SIBLING of `.delegations/` itself rather than
|
|
7
|
-
* a subdirectory of it: `<generatedDir>/.delegation-adoptions/<sid>`.
|
|
8
|
-
*
|
|
9
|
-
* Defined here (not in `hook-pre-tool-use.ts`, the only writer) so that a
|
|
10
|
-
* reader that never writes a ledger, such as `harness gc`'s delegation
|
|
11
|
-
* sweep, can name the directory without importing a `cli/` module: this
|
|
12
|
-
* file already owns `DELEGATION_MARKER_DIRNAME`, the sibling constant an
|
|
13
|
-
* adoption-ledger reader also needs, and both dirnames traveling together
|
|
14
|
-
* keeps `.delegations/` and its ledger sibling from drifting apart.
|
|
15
|
-
*/
|
|
16
|
-
export declare const ADOPTION_LEDGER_DIRNAME = ".delegation-adoptions";
|
|
17
|
-
/**
|
|
18
|
-
* Directory holding the CONVENTIONAL launcher-report copies for the
|
|
19
|
-
* `--report` fallback shape, a SIBLING of `.delegations/` and
|
|
20
|
-
* `.delegation-adoptions/` (same reasoning: a reader that only needs the
|
|
21
|
-
* path convention, such as a future gc sweep, has no business importing
|
|
22
|
-
* the CLI module that writes into it). `harness delegate --report` copies
|
|
23
|
-
* the operator's file here, at `<childSessionId>.md`, and the child's own
|
|
24
|
-
* PreToolUse hook reads back from exactly this path (never the operator's
|
|
25
|
-
* original `--report` argument, which the hook has no way to learn): the
|
|
26
|
-
* conventional path is what lets both sides derive the SAME location from
|
|
27
|
-
* nothing but the child session id, closing the gap that used to leave a
|
|
28
|
-
* report-bound delegation issued and signature-verifiable but never
|
|
29
|
-
* actually checked against a file (agent-tasks 49d1ee41, follow-up to
|
|
30
|
-
* slice 3, agent-tasks 37ad0b05).
|
|
31
|
-
*/
|
|
32
|
-
export declare const DELEGATION_REPORT_DIRNAME = ".delegation-reports";
|
|
33
|
-
/**
|
|
34
|
-
* The signed markerId for a child session: `delegation-<child-sid>`.
|
|
35
|
-
* Binding it into the signed payload is what stops a validly signed
|
|
36
|
-
* delegation from being copied onto another child id, or onto a session
|
|
37
|
-
* marker's id, and still verifying (`task-markers.ts` precedent).
|
|
38
|
-
*/
|
|
39
|
-
export declare function delegationMarkerIdFor(childSessionId: string): string;
|
|
40
|
-
/**
|
|
41
|
-
* Filesystem path of a child session's delegation marker. Rejects a
|
|
42
|
-
* malformed session id the same way `approvalMarkerPathFor` does (the
|
|
43
|
-
* value lands in a `path.join` verbatim).
|
|
44
|
-
*/
|
|
45
|
-
export declare function delegationMarkerPathFor(generatedDir: string, childSessionId: string): string;
|
|
46
|
-
/**
|
|
47
|
-
* Filesystem path of a child session's CONVENTIONAL launcher-report copy:
|
|
48
|
-
* `<generatedDir>/.delegation-reports/<childSessionId>.md`. Always `.md`,
|
|
49
|
-
* regardless of the extension the operator's original `--report` file
|
|
50
|
-
* carried: the point of the convention is that both `harness delegate`
|
|
51
|
-
* (the writer) and the child's PreToolUse hook (the reader) derive the
|
|
52
|
-
* SAME path from nothing but the child session id, so a preserved
|
|
53
|
-
* extension would only reintroduce a value the hook has no way to learn.
|
|
54
|
-
* Rejects a malformed session id the same way {@link delegationMarkerPathFor}
|
|
55
|
-
* does (the value lands in a `path.join` verbatim).
|
|
56
|
-
*/
|
|
57
|
-
export declare function delegationReportPathFor(generatedDir: string, childSessionId: string): string;
|
|
58
|
-
/**
|
|
59
|
-
* sha256 hex of a filesystem path, canonicalized through `realpathSync`
|
|
60
|
-
* when the path exists and through `path.resolve` when it does not.
|
|
61
|
-
*
|
|
62
|
-
* The canonicalization is the point, not an optimization: the parent
|
|
63
|
-
* writing the delegation and the child reporting its cwd routinely spell
|
|
64
|
-
* the same directory differently (on macOS `os.tmpdir()` hands out
|
|
65
|
-
* `/var/folders/...` while the process reports `/private/var/folders/...`,
|
|
66
|
-
* because `/var` is a symlink), and an uncanonicalized comparison would
|
|
67
|
-
* refuse a perfectly legitimate delegation. Falling back to `resolve` for
|
|
68
|
-
* a non-existent path keeps the function total: a path that cannot be
|
|
69
|
-
* canonicalized still hashes deterministically, and a delegation bound to
|
|
70
|
-
* it simply will not match a cwd that resolves elsewhere.
|
|
71
|
-
*
|
|
72
|
-
* Named for its primary use; the fallback shape hashes the launcher-
|
|
73
|
-
* supplied report file's PATH with the same function, so that WHERE the
|
|
74
|
-
* parent put the report is part of what was signed.
|
|
75
|
-
*/
|
|
76
|
-
export declare function hashDelegationCwd(targetPath: string): string;
|
|
77
|
-
/** The bindings packed into a delegation's `approvedBy` string. */
|
|
78
|
-
export interface DelegationApprovedByFields {
|
|
79
|
-
parentSessionId: string;
|
|
80
|
-
/** sha256 of the child's expected cwd, or `null` for a task-only delegation. */
|
|
81
|
-
cwdHash: string | null;
|
|
82
|
-
/** The task id the child is delegated for, or `null` for a cwd-only delegation. */
|
|
83
|
-
taskId: string | null;
|
|
84
|
-
/** ISO-8601 instant at which the delegation stops being valid. */
|
|
85
|
-
expiresAt: string;
|
|
86
|
-
/** sha256 of the launcher-supplied report file's PATH; present only in the fallback shape. */
|
|
87
|
-
reportPathHash?: string;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Build the `approvedBy` string a delegation signs:
|
|
91
|
-
* `delegated:<parent>;cwd=<sha256|->;task=<id|->;expires=<iso>` plus
|
|
92
|
-
* `;report=<sha256>` in the fallback shape.
|
|
93
|
-
*
|
|
94
|
-
* Throws on any input that would corrupt the encoding (an empty value, a
|
|
95
|
-
* value carrying a `;` or `=` delimiter or a control character, a
|
|
96
|
-
* malformed parent session id (`rejectMalformedSessionId`), a cwd/report
|
|
97
|
-
* hash that is not a sha256 digest, a non-ISO expiry, or the literal `-`
|
|
98
|
-
* as a task id, which would round-trip as "no task bound"). A silently
|
|
99
|
-
* mis-encoded delegation would be signed and then read back with
|
|
100
|
-
* different bindings than the caller intended, so this fails loudly at
|
|
101
|
-
* the only place that can still tell the difference.
|
|
102
|
-
*/
|
|
103
|
-
export declare function buildDelegationApprovedBy(fields: DelegationApprovedByFields): string;
|
|
104
|
-
/** Bindings read back out of a delegation's `approvedBy` string. */
|
|
105
|
-
export interface ParsedDelegationApprovedBy {
|
|
106
|
-
parentSessionId: string;
|
|
107
|
-
/** `null` when the delegation binds no cwd (`cwd=-`). */
|
|
108
|
-
cwdHash: string | null;
|
|
109
|
-
/** `null` when the delegation binds no task (`task=-`). */
|
|
110
|
-
taskId: string | null;
|
|
111
|
-
expiresAt: string;
|
|
112
|
-
/** Present only in the fallback shape. */
|
|
113
|
-
reportPathHash?: string;
|
|
114
|
-
}
|
|
115
|
-
export type DelegationApprovedByParse = {
|
|
116
|
-
ok: true;
|
|
117
|
-
value: ParsedDelegationApprovedBy;
|
|
118
|
-
} | {
|
|
119
|
-
ok: false;
|
|
120
|
-
reason: string;
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* Strict inverse of {@link buildDelegationApprovedBy}. All four of
|
|
124
|
-
* `delegated`, `cwd`, `task` and `expires` are required and `report` is
|
|
125
|
-
* optional; a missing, duplicated, unknown, empty or malformed segment is
|
|
126
|
-
* an error RESULT, never a default. Segment order is not enforced (the
|
|
127
|
-
* signature already pins the exact bytes), but every other deviation is
|
|
128
|
-
* refused: this string is the only place a delegation's bindings live, so
|
|
129
|
-
* "read it partially and assume the rest" is the one failure mode that
|
|
130
|
-
* would quietly widen a delegation past what the parent signed.
|
|
131
|
-
*/
|
|
132
|
-
export declare function parseDelegationApprovedBy(approvedBy: unknown): DelegationApprovedByParse;
|
|
133
|
-
export interface WriteDelegationMarkerOptions {
|
|
134
|
-
generatedDir: string;
|
|
135
|
-
/** Session id of the `claude -p` child this delegation authorizes. Becomes the file name. */
|
|
136
|
-
childSessionId: string;
|
|
137
|
-
/** Session id of the already-approved parent issuing the delegation. */
|
|
138
|
-
parentSessionId: string;
|
|
139
|
-
/** {@link hashDelegationCwd} of the child's expected cwd, or `null` for a task-only delegation. */
|
|
140
|
-
cwdHash: string | null;
|
|
141
|
-
/** Task id the child is delegated for, or `null` for a cwd-only delegation. */
|
|
142
|
-
taskId: string | null;
|
|
143
|
-
/** ISO-8601 instant the delegation expires at. */
|
|
144
|
-
expiresAt: string;
|
|
145
|
-
/** Fallback shape: {@link hashDelegationCwd} of the launcher-supplied report file's path. */
|
|
146
|
-
reportPathHash?: string;
|
|
147
|
-
/** Fallback shape: sha256 of that file's CONTENT. Omitted (written as `null`) in the base shape. */
|
|
148
|
-
reportContentHash?: string;
|
|
149
|
-
/** Override the issue timestamp for deterministic tests. */
|
|
150
|
-
now?: Date;
|
|
151
|
-
}
|
|
152
|
-
export type WriteDelegationMarkerResult = {
|
|
153
|
-
ok: true;
|
|
154
|
-
filePath: string;
|
|
155
|
-
markerId: string;
|
|
156
|
-
approvedAt: string;
|
|
157
|
-
approvedBy: string;
|
|
158
|
-
} | {
|
|
159
|
-
ok: false;
|
|
160
|
-
reason: "signing-key-absent" | "invalid-input" | "write-failed";
|
|
161
|
-
detail: string;
|
|
162
|
-
};
|
|
163
|
-
/**
|
|
164
|
-
* Write a signed delegation marker through the shared `signMarker` path,
|
|
165
|
-
* under markerId `delegation-<child-sid>`, at
|
|
166
|
-
* `<generatedDir>/.delegations/<child-sid>`. Atomic and mode 0600, like
|
|
167
|
-
* every other marker write.
|
|
168
|
-
*
|
|
169
|
-
* NEVER CREATES THE SIGNING KEY. `signMarker` -> `getOrCreateSigningKey`
|
|
170
|
-
* treats a missing key as a case to REPAIR, generating one and signing
|
|
171
|
-
* with it; key creation is an operator-side act (`harness init`,
|
|
172
|
-
* `harness approve`), and a delegation minted on a machine that never had
|
|
173
|
-
* a key would be a marker signed by whoever asked for it. So this
|
|
174
|
-
* prechecks `signingKeyExists` and returns `signing-key-absent` without
|
|
175
|
-
* reaching the write path at all (ADR threat model (b) item 5, the same
|
|
176
|
-
* rule slice 1's auto path follows).
|
|
177
|
-
*
|
|
178
|
-
* Returns a result rather than throwing, for every failure mode: the
|
|
179
|
-
* callers are a CLI verb and, later, a hook, and both must fail closed
|
|
180
|
-
* with a diagnostic instead of unwinding.
|
|
181
|
-
*
|
|
182
|
-
* Deliberately does NOT refuse a delegation that binds neither cwd nor
|
|
183
|
-
* task. That refusal belongs to the issuing verb (ADR slice 3 acceptance
|
|
184
|
-
* criterion 1) and to `verifyDelegation`, which reports `no_binding`;
|
|
185
|
-
* keeping the writer able to produce one is what lets the test suite
|
|
186
|
-
* exercise that verifier branch against a genuinely signed artifact
|
|
187
|
-
* rather than a hand-rolled fake.
|
|
188
|
-
*/
|
|
189
|
-
export declare function writeDelegationMarker(opts: WriteDelegationMarkerOptions): WriteDelegationMarkerResult;
|
|
190
|
-
/**
|
|
191
|
-
* Why a delegation was refused. Every value is reachable and distinct;
|
|
192
|
-
* there is no "unknown" bucket and no branch that falls through to
|
|
193
|
-
* allow.
|
|
194
|
-
*/
|
|
195
|
-
export type DelegationRefusalReason =
|
|
196
|
-
/** No delegation file for this child session (also: a child session id that cannot name a file). */
|
|
197
|
-
"missing"
|
|
198
|
-
/** The file exists but its integrity cannot be established right now: symlink, non-regular, I/O error, or an unavailable signing key. Not a claim of tampering. */
|
|
199
|
-
| "unreadable"
|
|
200
|
-
/** A file was there and its signature does not verify against `delegation-<child-sid>`: unsigned, wrong alg, tampered, or copied from another child's delegation. */
|
|
201
|
-
| "forged"
|
|
202
|
-
/** Validly signed, but its `approvedBy` bindings cannot be read in full. */
|
|
203
|
-
| "unparseable" | "expired" | "cwd_mismatch" | "task_mismatch"
|
|
204
|
-
/** Binds neither a cwd nor a task, so it would authorize the child anywhere, for anything. */
|
|
205
|
-
| "no_binding"
|
|
206
|
-
/**
|
|
207
|
-
* Fallback shape: a stat-only existence probe (`probePathPresence`,
|
|
208
|
-
* `lstat` under the hood) found nothing at the launcher-supplied path.
|
|
209
|
-
* Covers both a genuinely absent path and one lstat cannot reach for any
|
|
210
|
-
* other reason (e.g. EACCES, ENOTDIR): lstat cannot distinguish "nothing
|
|
211
|
-
* is there" from "something is there but unreachable to us", so this
|
|
212
|
-
* reason does not claim to either. A symlink or a directory sitting there
|
|
213
|
-
* IS something lstat can see, so it is not this reason: verification
|
|
214
|
-
* continues past the existence probe. From there a RESOLVABLE symlink is
|
|
215
|
-
* normally caught one step later, at the path-hash comparison
|
|
216
|
-
* (`hashDelegationCwd` resolves it through `realpathSync`, which disagrees
|
|
217
|
-
* with the bind-time hash taken before anything existed at that path), and
|
|
218
|
-
* lands on `report_path_mismatch`; only a DANGLING or looping symlink (or
|
|
219
|
-
* a directory) reaches the full read and lands on `report_content_mismatch`
|
|
220
|
-
* once it cannot produce matching bytes. Checked BEFORE the path hash, so
|
|
221
|
-
* a symlinked temp root (where the missing-path fallback of
|
|
222
|
-
* `hashDelegationCwd` can disagree with the write-time realpath) never
|
|
223
|
-
* turns a plain "the file is gone" into a `report_path_mismatch`. This
|
|
224
|
-
* existence-first order also decides the case where a delegation binds a
|
|
225
|
-
* report path but no `reportContentHash` (a malformed half-binding
|
|
226
|
-
* `writeDelegationMarker` itself refuses to produce, but a hand-signed
|
|
227
|
-
* marker can still carry): an absent file at that path is still
|
|
228
|
-
* `report_missing`, not `report_content_mismatch`, because existence is
|
|
229
|
-
* checked first regardless of what the rest of the binding contains. The
|
|
230
|
-
* mirror case (no report path offered at all) has nothing to lstat and
|
|
231
|
-
* stays `report_path_mismatch`.
|
|
232
|
-
*/
|
|
233
|
-
| "report_missing"
|
|
234
|
-
/** Fallback shape: the launcher report is not at the path the parent signed (including when no report path was offered at all). */
|
|
235
|
-
| "report_path_mismatch"
|
|
236
|
-
/** Fallback shape: the launcher report's content is not what the parent signed (including a report that exists but is a symlink, a directory, or otherwise cannot be read as regular file bytes). */
|
|
237
|
-
| "report_content_mismatch";
|
|
238
|
-
export type DelegationVerification = {
|
|
239
|
-
ok: true;
|
|
240
|
-
parentSessionId: string;
|
|
241
|
-
expiresAt: string;
|
|
242
|
-
boundCwdHash: string | null;
|
|
243
|
-
boundTaskId: string | null;
|
|
244
|
-
reportPathHash?: string;
|
|
245
|
-
/**
|
|
246
|
-
* Set exactly when `reportPathHash` is set: the launcher report's
|
|
247
|
-
* bytes as read and content-hash-checked by THIS call, verbatim.
|
|
248
|
-
* The caller (the hook) persists these bytes directly instead of
|
|
249
|
-
* re-reading the file itself; a second read would reopen the race
|
|
250
|
-
* this field exists to close (the file could be rewritten between
|
|
251
|
-
* verification and a later read).
|
|
252
|
-
*/
|
|
253
|
-
reportContent?: string;
|
|
254
|
-
} | {
|
|
255
|
-
ok: false;
|
|
256
|
-
reason: DelegationRefusalReason;
|
|
257
|
-
detail: string;
|
|
258
|
-
};
|
|
259
|
-
export interface VerifyDelegationOptions {
|
|
260
|
-
generatedDir: string;
|
|
261
|
-
/** The child session whose delegation is being checked. */
|
|
262
|
-
childSessionId: string;
|
|
263
|
-
/** The child's actual cwd, or `null` when the caller has none to offer. */
|
|
264
|
-
cwd: string | null;
|
|
265
|
-
/** The child's actual task id, or `null` when the caller has none to offer. */
|
|
266
|
-
taskId: string | null;
|
|
267
|
-
/** Fallback shape: the launcher-supplied report file the parent bound. */
|
|
268
|
-
launcherReportPath?: string;
|
|
269
|
-
/** Override "now" for deterministic tests. */
|
|
270
|
-
now?: Date;
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Gate-side: is there a valid, unexpired, matching delegation for this
|
|
274
|
-
* child session? Checks, in order (ADR slice 3 acceptance criterion 2):
|
|
275
|
-
*
|
|
276
|
-
* 1. the file is present and JSON-readable,
|
|
277
|
-
* 2. its signature verifies against markerId `delegation-<child-sid>`,
|
|
278
|
-
* 3. its `approvedBy` segments parse in full,
|
|
279
|
-
* 4. it binds at least one of cwd / task,
|
|
280
|
-
* 5. it has not expired,
|
|
281
|
-
* 6. the bound cwd hash-matches the caller's cwd,
|
|
282
|
-
* 7. the bound task equals the caller's task,
|
|
283
|
-
* 8. in the fallback shape, the launcher report EXISTS at the offered
|
|
284
|
-
* path, sits at the bound path, AND hashes to the bound content
|
|
285
|
-
* (in that order: existence before the path hash, so a missing
|
|
286
|
-
* file is always `report_missing`, never `report_path_mismatch`).
|
|
287
|
-
*
|
|
288
|
-
* Reads only `.delegations/`; an artifact in `.approvals/` is `missing`
|
|
289
|
-
* here, whatever it contains.
|
|
290
|
-
*
|
|
291
|
-
* NEVER CREATES THE SIGNING KEY, on the READ path either.
|
|
292
|
-
* `verifyMarkerSignature` obtains the key through
|
|
293
|
-
* `getOrCreateSigningKey`, which treats a missing key as a case to
|
|
294
|
-
* REPAIR and generates one; on a machine the operator never initialized
|
|
295
|
-
* that would make a mere gate-time read perform the operator-side act of
|
|
296
|
-
* minting the key. It cannot make a foreign-signed delegation verify, but
|
|
297
|
-
* it does leave a key behind that every LATER write path would then
|
|
298
|
-
* happily sign with, so the never-create rule applies here exactly as it
|
|
299
|
-
* does to `writeDelegationMarker` and to slice 1's auto path. An absent
|
|
300
|
-
* key is reported as `unreadable` (we could not check, not "we checked
|
|
301
|
-
* and it is a forgery"), the same class `verifyMarkerSignature`'s own
|
|
302
|
-
* `key-unavailable` lands in below.
|
|
303
|
-
*/
|
|
304
|
-
export declare function verifyDelegation(opts: VerifyDelegationOptions): DelegationVerification;
|