@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../../src/cli/policy/intercept.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { type GitRepoContext, type ToolEvent } from "../../runtime/index.js";
|
|
2
|
-
import { type BashPrefix } from "../../runtime/bash-prefix-parse.js";
|
|
3
|
-
import type { Manifest, MatchableEnvironment } from "../../schema/index.js";
|
|
4
|
-
/**
|
|
5
|
-
* Read the command string out of a Bash tool's `tool_input.command`,
|
|
6
|
-
* returning null when the shape is wrong (defensive — production input
|
|
7
|
-
* comes from Claude Code, but tests and Codex bridges have varied
|
|
8
|
-
* payload shapes).
|
|
9
|
-
*/
|
|
10
|
-
export declare function readBashCommand(input: unknown): string | null;
|
|
11
|
-
export declare const ENV_RANK: Record<MatchableEnvironment, number>;
|
|
12
|
-
export interface BashPrefixEnrichmentInput {
|
|
13
|
-
event: ToolEvent;
|
|
14
|
-
manifest: Manifest;
|
|
15
|
-
cwd: string;
|
|
16
|
-
/** Git context of `cwd` itself (the base the prefix merges on top of). */
|
|
17
|
-
cwdGitContext: GitRepoContext;
|
|
18
|
-
/** Ambient env the inline assignments are merged over. */
|
|
19
|
-
env: Record<string, string | undefined>;
|
|
20
|
-
kubeContext: string;
|
|
21
|
-
kubeNamespace: string;
|
|
22
|
-
user: string;
|
|
23
|
-
host: string;
|
|
24
|
-
now: Date | undefined;
|
|
25
|
-
}
|
|
26
|
-
export interface BashPrefixEnrichment {
|
|
27
|
-
/** The Bash command string, or null for a non-Bash / shapeless event. */
|
|
28
|
-
riskBashCommand: string | null;
|
|
29
|
-
bashPrefix: BashPrefix | null;
|
|
30
|
-
/** Git context after the `cd` merge and the branch-switch upgrade. */
|
|
31
|
-
git: GitRepoContext;
|
|
32
|
-
/** Ambient env with the inline `VAR=value` assignments merged on top. */
|
|
33
|
-
env: Record<string, string | undefined>;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Parse the leading Bash prefix once and merge it into the resolver
|
|
37
|
-
* inputs (see the module header). Pure apart from `resolveGitContext`
|
|
38
|
-
* for a `cd` target.
|
|
39
|
-
*/
|
|
40
|
-
export declare function resolveBashPrefixEnrichment(input: BashPrefixEnrichmentInput): BashPrefixEnrichment;
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
// Shared Risk Gate envelope enrichment for the verbs that predict or
|
|
2
|
-
// enforce a `when:` verdict: `harness policy intercept` (the PreToolUse
|
|
3
|
-
// hook) and `harness explain-policy` (the debug verb).
|
|
4
|
-
//
|
|
5
|
-
// Both must resolve the environment from the SAME inputs, or the tool an
|
|
6
|
-
// operator uses to predict a gate disagrees with the gate (task
|
|
7
|
-
// 7c3919a2: `DATABASE_URL=...prod... psql ...` resolved `production` in
|
|
8
|
-
// the hook and `unknown` in explain-policy). This module owns the
|
|
9
|
-
// leading-prefix parse of a Bash command and the three merges it feeds:
|
|
10
|
-
// inline `VAR=value` env, a leading `cd <path> &&` (git context), and a
|
|
11
|
-
// leading `git switch|checkout <branch> &&` (upgrade-only).
|
|
12
|
-
//
|
|
13
|
-
// Deliberately NOT here: any ledger or evidence read (explain-policy
|
|
14
|
-
// stays hypothetical and read-free; keep this module free of
|
|
15
|
-
// `policies/` imports), and the kubectl `--context`/`--namespace`
|
|
16
|
-
// merge (hook-only today, tracked separately).
|
|
17
|
-
import * as path from "node:path";
|
|
18
|
-
import { buildActionEnvelope, resolveEnvironment, resolveGitContext, } from "../../runtime/index.js";
|
|
19
|
-
import { parseBashPrefix } from "../../runtime/bash-prefix-parse.js";
|
|
20
|
-
/**
|
|
21
|
-
* Read the command string out of a Bash tool's `tool_input.command`,
|
|
22
|
-
* returning null when the shape is wrong (defensive — production input
|
|
23
|
-
* comes from Claude Code, but tests and Codex bridges have varied
|
|
24
|
-
* payload shapes).
|
|
25
|
-
*/
|
|
26
|
-
export function readBashCommand(input) {
|
|
27
|
-
if (!input || typeof input !== "object" || Array.isArray(input))
|
|
28
|
-
return null;
|
|
29
|
-
const cmd = input.command;
|
|
30
|
-
return typeof cmd === "string" && cmd.length > 0 ? cmd : null;
|
|
31
|
-
}
|
|
32
|
-
// Mirrors `ENV_PRECEDENCE` in `../../runtime/environment-resolver.ts`
|
|
33
|
-
// (most-dangerous-first). Kept as a local, small, duplicate table
|
|
34
|
-
// instead of importing that module's private const, so this file stays
|
|
35
|
-
// a read-only consumer of `resolveEnvironment`'s public API rather than
|
|
36
|
-
// reaching into its internals. `unknown` is deliberately ranked lowest:
|
|
37
|
-
// resolving to no signal at all must never look like an "upgrade" over
|
|
38
|
-
// a branch that DID fire a resolver.
|
|
39
|
-
export const ENV_RANK = {
|
|
40
|
-
production: 0,
|
|
41
|
-
staging: 1,
|
|
42
|
-
dev: 2,
|
|
43
|
-
local: 3,
|
|
44
|
-
unknown: 4,
|
|
45
|
-
};
|
|
46
|
-
/**
|
|
47
|
-
* Branch-switch, upgrade-only merge (task 341e024b): a leading `git
|
|
48
|
-
* switch <branch>` / `git checkout <branch>` names the branch the REST
|
|
49
|
-
* of the command actually runs against, the same way a leading `cd
|
|
50
|
-
* <path>` names a different working directory (see `resolverGit`'s own
|
|
51
|
-
* comment at the call site). Unlike that `cd` merge — which fully
|
|
52
|
-
* REPLACES the git context and can move the resolved environment in
|
|
53
|
-
* EITHER direction (G5, pre-existing, out of scope for this task) —
|
|
54
|
-
* this merge is deliberately asymmetric: it only ever pushes the
|
|
55
|
-
* resolved environment to something MORE dangerous, never less.
|
|
56
|
-
*
|
|
57
|
-
* Both the base git context and the switch-target candidate (same repo
|
|
58
|
-
* / sha, only `branch` differs) are run through the SAME
|
|
59
|
-
* `resolveEnvironment` call with IDENTICAL env / kube inputs, so any
|
|
60
|
-
* difference in the result is attributable to the branch alone. The
|
|
61
|
-
* more dangerous of the two (`ENV_RANK` order) wins; a switch AWAY from
|
|
62
|
-
* a production branch never downgrades — when the candidate resolves to
|
|
63
|
-
* something equally or less dangerous, `baseGit` is returned unchanged.
|
|
64
|
-
*/
|
|
65
|
-
function applyBranchSwitchUpgrade(event, manifest, cwd, baseGit, branchTarget, inputs, user, host, now) {
|
|
66
|
-
if (branchTarget === null || branchTarget === baseGit.branch)
|
|
67
|
-
return baseGit;
|
|
68
|
-
const candidateGit = { ...baseGit, branch: branchTarget };
|
|
69
|
-
const effectiveNow = now ?? new Date();
|
|
70
|
-
const baseResolution = resolveEnvironment(buildActionEnvelope(event, { cwd, git: baseGit, user, host, now: effectiveNow }), manifest.environments.resolvers, inputs);
|
|
71
|
-
const candidateResolution = resolveEnvironment(buildActionEnvelope(event, { cwd, git: candidateGit, user, host, now: effectiveNow }), manifest.environments.resolvers, inputs);
|
|
72
|
-
return ENV_RANK[candidateResolution.name] < ENV_RANK[baseResolution.name] ? candidateGit : baseGit;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Parse the leading Bash prefix once and merge it into the resolver
|
|
76
|
-
* inputs (see the module header). Pure apart from `resolveGitContext`
|
|
77
|
-
* for a `cd` target.
|
|
78
|
-
*/
|
|
79
|
-
export function resolveBashPrefixEnrichment(input) {
|
|
80
|
-
const { event, manifest, cwd, cwdGitContext } = input;
|
|
81
|
-
const riskBashCommand = event.tool_name === "Bash" ? readBashCommand(event.tool_input) : null;
|
|
82
|
-
const bashPrefix = riskBashCommand === null ? null : parseBashPrefix(riskBashCommand);
|
|
83
|
-
const resolverGit = (() => {
|
|
84
|
-
if (bashPrefix === null || bashPrefix.cdTarget === null)
|
|
85
|
-
return cwdGitContext;
|
|
86
|
-
const effective = path.isAbsolute(bashPrefix.cdTarget)
|
|
87
|
-
? bashPrefix.cdTarget
|
|
88
|
-
: path.resolve(cwd, bashPrefix.cdTarget);
|
|
89
|
-
// resolveGitContext returns empty strings for non-git paths;
|
|
90
|
-
// an empty repo means cd-target was bogus, fall through.
|
|
91
|
-
const candidate = resolveGitContext(effective);
|
|
92
|
-
return candidate.repo.length > 0 ? candidate : cwdGitContext;
|
|
93
|
-
})();
|
|
94
|
-
const env = (() => {
|
|
95
|
-
const base = input.env;
|
|
96
|
-
if (bashPrefix === null || Object.keys(bashPrefix.inlineEnv).length === 0)
|
|
97
|
-
return base;
|
|
98
|
-
// Inline assignments are the operator's explicit override; they
|
|
99
|
-
// win over process.env (matches POSIX `VAR=value cmd` semantics).
|
|
100
|
-
return { ...base, ...bashPrefix.inlineEnv };
|
|
101
|
-
})();
|
|
102
|
-
// A leading `git switch`/`checkout <branch>` (task 341e024b) is
|
|
103
|
-
// merged on top of `resolverGit`, upgrade-only, using the AMBIENT kube
|
|
104
|
-
// state. See `applyBranchSwitchUpgrade`.
|
|
105
|
-
const git = applyBranchSwitchUpgrade(event, manifest, cwd, resolverGit, bashPrefix?.branchTarget ?? null, { env, kubeContext: input.kubeContext, kubeNamespace: input.kubeNamespace }, input.user, input.host, input.now);
|
|
106
|
-
return { riskBashCommand, bashPrefix, git, env };
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=risk-envelope-enrichment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"risk-envelope-enrichment.js","sourceRoot":"","sources":["../../../src/cli/policy/risk-envelope-enrichment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { type LedgerWriteFn } from "../../runtime/ledger-writer.js";
|
|
2
|
-
import { type ResolveReadSessionOptions } from "../../runtime/session-id.js";
|
|
3
|
-
import { type LoaderOptions } from "../loader.js";
|
|
4
|
-
/** Options shared by every `record` verb. */
|
|
5
|
-
export interface RecordCommonOptions extends LoaderOptions {
|
|
6
|
-
/** Working directory used for git-context resolution. Defaults to `process.cwd()`. */
|
|
7
|
-
cwd?: string;
|
|
8
|
-
/** Defaults to `process.stderr`. Warnings and error reasons land here. */
|
|
9
|
-
stderr?: NodeJS.WritableStream;
|
|
10
|
-
/** Explicit session id (overrides env + transcript discovery). */
|
|
11
|
-
session?: string;
|
|
12
|
-
/** Per-call ledger timeout in ms. */
|
|
13
|
-
ledgerTimeoutMs?: number;
|
|
14
|
-
/**
|
|
15
|
-
* Inject the read-path session resolver (test seam). Production uses
|
|
16
|
-
* `resolveReadSessionId` from `runtime/session-id`, the same
|
|
17
|
-
* precedence chain `harness audit` / `harness explain --trace` use.
|
|
18
|
-
*/
|
|
19
|
-
resolveSession?: (explicit: string | undefined, opts: ResolveReadSessionOptions) => string;
|
|
20
|
-
/** Inject the ledger writer (test seam). */
|
|
21
|
-
writeLedger?: LedgerWriteFn;
|
|
22
|
-
}
|
|
23
|
-
/** Structured outcome of a `record` verb — testable without spawning a process. */
|
|
24
|
-
export interface RecordResult {
|
|
25
|
-
/** 0 on success; EX_USAGE (64) for a bad argument, EX_FAIL (1) for a runtime failure. */
|
|
26
|
-
exitCode: number;
|
|
27
|
-
/** Whether the ledger fact was actually written. */
|
|
28
|
-
wrote: boolean;
|
|
29
|
-
/** The exact content string written (or that would have been written); "" on early validation failure. */
|
|
30
|
-
content: string;
|
|
31
|
-
/** Resolved session id ("" only when validation failed before session resolution). */
|
|
32
|
-
sessionId: string;
|
|
33
|
-
/** Resolved branch tag ("" when the verb does not use one, or resolution failed). */
|
|
34
|
-
branch: string;
|
|
35
|
-
/** Human-readable explanation of a non-write outcome. */
|
|
36
|
-
reason?: string;
|
|
37
|
-
}
|
|
38
|
-
export interface RecordReviewOptions extends RecordCommonOptions {
|
|
39
|
-
/** PR number (or identifier) — required, non-empty. */
|
|
40
|
-
pr: string;
|
|
41
|
-
/** Explicit base-branch override; see resolveBase() for the fallback chain. */
|
|
42
|
-
base?: string;
|
|
43
|
-
/** Explicit branch override (otherwise resolved via resolveGitContext(cwd)). */
|
|
44
|
-
branch?: string;
|
|
45
|
-
/**
|
|
46
|
-
* agent-tasks task id for the `review:<task-id>` tag the two task-scoped
|
|
47
|
-
* merge gates read (`review-before-task-merge` /
|
|
48
|
-
* `review-before-task-finish-automerge`, task 2699b476). Optional: the
|
|
49
|
-
* PR/branch/base tags are what the pull_requests_merge and `gh pr merge`
|
|
50
|
-
* gates read, and an operator on those surfaces has no task id to pass.
|
|
51
|
-
*/
|
|
52
|
-
task?: string;
|
|
53
|
-
/** Free-form review summary — required, non-empty. */
|
|
54
|
-
summary: string;
|
|
55
|
-
}
|
|
56
|
-
export declare function runRecordReview(opts: RecordReviewOptions): Promise<RecordResult>;
|
|
57
|
-
export interface RecordReviewSubagentOptions extends RecordCommonOptions {
|
|
58
|
-
/**
|
|
59
|
-
* agent-tasks task id, non-empty when given. Exactly one of `task` or
|
|
60
|
-
* `adhoc` is required.
|
|
61
|
-
*/
|
|
62
|
-
task?: string;
|
|
63
|
-
/**
|
|
64
|
-
* Record a review for work that has no agent-tasks task: only the
|
|
65
|
-
* `review-subagent:<branch>` tag is written, never a task tag. Mutually
|
|
66
|
-
* exclusive with `task`.
|
|
67
|
-
*/
|
|
68
|
-
adhoc?: boolean;
|
|
69
|
-
/** Reviewer verdict — required, non-empty. */
|
|
70
|
-
verdict: string;
|
|
71
|
-
/** Explicit branch override (otherwise resolved via resolveGitContext(cwd)). */
|
|
72
|
-
branch?: string;
|
|
73
|
-
/** Optional free-form summary appended after the verdict. */
|
|
74
|
-
summary?: string;
|
|
75
|
-
}
|
|
76
|
-
export declare function runRecordReviewSubagent(opts: RecordReviewSubagentOptions): Promise<RecordResult>;
|
|
77
|
-
export interface RecordDogfoodOptions extends RecordCommonOptions {
|
|
78
|
-
/** End-to-end smoke summary — required, non-empty. */
|
|
79
|
-
summary: string;
|
|
80
|
-
}
|
|
81
|
-
export declare function runRecordDogfood(opts: RecordDogfoodOptions): Promise<RecordResult>;
|
package/dist/cli/record/index.js
DELETED
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
// `harness record {review,review-subagent,dogfood}` — operator/agent-
|
|
2
|
-
// driven evidence-ledger producers for the review-before-merge,
|
|
3
|
-
// review-subagent-before-pr-create, and dogfood-before-release gate
|
|
4
|
-
// families (see src/cli/init/templates.ts for the exact policy
|
|
5
|
-
// definitions and tag shapes these verbs feed).
|
|
6
|
-
//
|
|
7
|
-
// Unlike `harness session-start preflight` (a SessionStart hook that
|
|
8
|
-
// MUST exit 0 on every path so it never breaks the session loop), the
|
|
9
|
-
// `record` verbs are INTERACTIVE: an agent or operator invokes them
|
|
10
|
-
// deliberately to attach a review verdict / dogfood summary to the
|
|
11
|
-
// ledger. A failure here (unreachable ledger, no git context, an empty
|
|
12
|
-
// summary) is a real error the caller needs to see and react to, so
|
|
13
|
-
// every verb exits non-zero with a clear stderr message on failure
|
|
14
|
-
// instead of degrading silently. Each verb still returns a structured
|
|
15
|
-
// `RecordResult` (not just a thrown error) so both paths are testable
|
|
16
|
-
// without spawning a process — same "degrade-with-reason" convention
|
|
17
|
-
// `runSessionStartPreflight` uses.
|
|
18
|
-
//
|
|
19
|
-
// Composition mirrors session-start/index.ts: build the ledger write
|
|
20
|
-
// via the manifest's declared `grounding-mcp` server (through the
|
|
21
|
-
// shared `resolveManifestLedgerWriter` — see runtime/ledger-writer.ts),
|
|
22
|
-
// resolve branch via `resolveGitContext` (the SAME function the
|
|
23
|
-
// preflight-before-* gates use) and session via `resolveReadSessionId`,
|
|
24
|
-
// with `--branch` / `--session` as explicit overrides. No new JSON-RPC
|
|
25
|
-
// or subprocess code: every ledger write goes through the existing
|
|
26
|
-
// `addLedgerFact` primitive.
|
|
27
|
-
import { findGitEntry, resolveCommonDir, resolveGitContext, resolveOriginHeadBase, } from "../../runtime/git-context.js";
|
|
28
|
-
import { resolveManifestLedgerWriter } from "../../runtime/ledger-writer.js";
|
|
29
|
-
import { resolveReadSessionId, } from "../../runtime/session-id.js";
|
|
30
|
-
import { EX_FAIL, EX_USAGE } from "../exit-codes.js";
|
|
31
|
-
import { loadManifest } from "../loader.js";
|
|
32
|
-
// U+2014 EM DASH, written as an escape so the literal never appears in
|
|
33
|
-
// source. The emitted fact content is byte-identical to what `harness
|
|
34
|
-
// record review` has always written; every gate reads the tags before it,
|
|
35
|
-
// never this separator.
|
|
36
|
-
const TAG_SUMMARY_SEPARATOR = "\u2014";
|
|
37
|
-
const LEDGER_SOURCE_REVIEW = "harness-record-review";
|
|
38
|
-
const LEDGER_SOURCE_REVIEW_SUBAGENT = "harness-record-review-subagent";
|
|
39
|
-
const LEDGER_SOURCE_DOGFOOD = "harness-record-dogfood";
|
|
40
|
-
function resolveSession(opts) {
|
|
41
|
-
const resolve = opts.resolveSession ?? resolveReadSessionId;
|
|
42
|
-
return resolve(opts.session, {});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Write one ledger fact via the manifest's declared `grounding-mcp`
|
|
46
|
-
* server (or the injected `opts.writeLedger` test seam). Mirrors the
|
|
47
|
-
* manifest-wiring block `runSessionStartPreflight` uses, factored
|
|
48
|
-
* through the shared `resolveManifestLedgerWriter` helper.
|
|
49
|
-
*/
|
|
50
|
-
async function writeLedgerFact(opts, sessionId, source, content) {
|
|
51
|
-
let writeLedger = opts.writeLedger;
|
|
52
|
-
if (!writeLedger) {
|
|
53
|
-
let manifest;
|
|
54
|
-
try {
|
|
55
|
-
manifest = loadManifest(opts).manifest;
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
return { ok: false, reason: `manifest load failed: ${err.message}` };
|
|
59
|
-
}
|
|
60
|
-
const resolved = resolveManifestLedgerWriter(manifest, {
|
|
61
|
-
...(opts.ledgerTimeoutMs !== undefined ? { ledgerTimeoutMs: opts.ledgerTimeoutMs } : {}),
|
|
62
|
-
});
|
|
63
|
-
if (!resolved.ok) {
|
|
64
|
-
return { ok: false, reason: `${resolved.reason}; cannot record ${source} tag` };
|
|
65
|
-
}
|
|
66
|
-
writeLedger = resolved.write;
|
|
67
|
-
}
|
|
68
|
-
const result = await writeLedger({ sessionId, content, source });
|
|
69
|
-
if (!result.ok) {
|
|
70
|
-
return { ok: false, reason: `ledger write failed: ${result.reason ?? "unknown error"}` };
|
|
71
|
-
}
|
|
72
|
-
return { ok: true };
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Shared setup every verb runs first: a `note()` sink prefixed with the
|
|
76
|
-
* verb's own name (so stderr lines are attributable when several verbs
|
|
77
|
-
* run in a script), the resolved cwd, and the resolved session id.
|
|
78
|
-
* Session id is resolved this early because `record dogfood`'s content
|
|
79
|
-
* embeds it directly (`dogfood:${sessionId}`).
|
|
80
|
-
*/
|
|
81
|
-
function initRecordVerb(opts, verbName) {
|
|
82
|
-
const stderr = opts.stderr ?? process.stderr;
|
|
83
|
-
const note = (msg) => {
|
|
84
|
-
stderr.write(`harness record ${verbName}: ${msg}\n`);
|
|
85
|
-
};
|
|
86
|
-
return { note, cwd: opts.cwd ?? process.cwd(), sessionId: resolveSession(opts) };
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* The one shared "this flag was misused" failure shape: warn on stderr and
|
|
90
|
-
* hand back the ready-to-`return` EX_USAGE `RecordResult`. Extracted when
|
|
91
|
-
* `optionalTagValue` (task 2699b476) grew the second copy of this
|
|
92
|
-
* five-line construction and the duplication fitness function
|
|
93
|
-
* (`scripts/check-duplication.mjs`) flagged it.
|
|
94
|
-
*/
|
|
95
|
-
function usageFailure(reason, sessionId, note) {
|
|
96
|
-
note(reason);
|
|
97
|
-
return {
|
|
98
|
-
ok: false,
|
|
99
|
-
result: { exitCode: EX_USAGE, wrote: false, content: "", sessionId, branch: "", reason },
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Trim `value` and refuse it if empty (a required flag / positional
|
|
104
|
-
* argument left blank). Returns the ready-to-`return`ed EX_USAGE
|
|
105
|
-
* `RecordResult` on failure so callers do not repeat that construction
|
|
106
|
-
* — shared by every "--pr / --task / --verdict / summary must not be
|
|
107
|
-
* empty" check across the three verbs.
|
|
108
|
-
*/
|
|
109
|
-
function requireNonEmpty(value, flagLabel, sessionId, note) {
|
|
110
|
-
const trimmed = (value ?? "").trim();
|
|
111
|
-
if (trimmed.length === 0) {
|
|
112
|
-
return usageFailure(`${flagLabel} must not be empty`, sessionId, note);
|
|
113
|
-
}
|
|
114
|
-
return { ok: true, value: trimmed };
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Ledger tag namespaces the shipped gates read (`requires.ledger_tag`).
|
|
118
|
-
* Used for FREE TEXT only (`--verdict`, summaries): the matcher is a
|
|
119
|
-
* case-sensitive substring test (`src/policies/requires.ts`), so free text
|
|
120
|
-
* carrying `<namespace>:` glued to a following value reads as a tag.
|
|
121
|
-
* Ref-like and id-like values are checked structurally instead (no `:`, no
|
|
122
|
-
* whitespace), which closes every namespace including custom ones.
|
|
123
|
-
*/
|
|
124
|
-
const TAG_NAMESPACES = [
|
|
125
|
-
"review-subagent",
|
|
126
|
-
"review",
|
|
127
|
-
"dogfood",
|
|
128
|
-
"preflight",
|
|
129
|
-
"risk-approved",
|
|
130
|
-
"risk-override",
|
|
131
|
-
];
|
|
132
|
-
// `<namespace>:` immediately followed by a non-whitespace character; prose such
|
|
133
|
-
// as "code-review: approved" is not a tag token because a gate's substituted
|
|
134
|
-
// value is never empty and never starts with a space.
|
|
135
|
-
const TAG_TOKEN_RE = new RegExp(`(?:${TAG_NAMESPACES.join("|")}):(?=\\S)`);
|
|
136
|
-
// ASCII whitespace only: git ref names forbid exactly these, and Unicode
|
|
137
|
-
// whitespace without a `:` cannot form a tag token under substring matching.
|
|
138
|
-
const ASCII_WHITESPACE_RE = /[ \t\r\n\v\f]/;
|
|
139
|
-
/**
|
|
140
|
-
* A tag value: a ref-like or id-like token (`--branch`, `--base`, `--task`,
|
|
141
|
-
* `--pr`, dogfood `--session`) that is embedded in a ledger tag. It must be
|
|
142
|
-
* non-empty, free of ASCII whitespace (the fact content is space-separated
|
|
143
|
-
* tag text, so whitespace would split into a second tag) and free of `:`
|
|
144
|
-
* (a `:` is what turns a value into `<namespace>:<value>` tag text). Git ref
|
|
145
|
-
* names forbid both characters, so no real branch is refused. The shape is
|
|
146
|
-
* otherwise loose (task 2699b476): anything the gate's `${TASK_ID}`
|
|
147
|
-
* substitution can compare against is acceptable (task 237cc609).
|
|
148
|
-
*/
|
|
149
|
-
function checkTagValue(value, flagLabel, sessionId, note) {
|
|
150
|
-
const trimmed = value.trim();
|
|
151
|
-
if (trimmed.length === 0 || ASCII_WHITESPACE_RE.test(trimmed)) {
|
|
152
|
-
return usageFailure(`${flagLabel} must be a non-empty value with no whitespace ` +
|
|
153
|
-
`(it namespaces one ledger tag); got ${JSON.stringify(value)}`, sessionId, note);
|
|
154
|
-
}
|
|
155
|
-
if (trimmed.includes(":")) {
|
|
156
|
-
return usageFailure(`${flagLabel} must not contain ':' (it would plant ledger tag text such as ` +
|
|
157
|
-
`${TAG_NAMESPACES.map((n) => `${n}:`).join(", ")}); got ${JSON.stringify(value)}`, sessionId, note);
|
|
158
|
-
}
|
|
159
|
-
return { ok: true, value: trimmed };
|
|
160
|
-
}
|
|
161
|
-
/** An OPTIONAL tag value: absent stays absent, present goes through `checkTagValue`. */
|
|
162
|
-
function optionalTagValue(value, flagLabel, sessionId, note) {
|
|
163
|
-
if (value === undefined)
|
|
164
|
-
return { ok: true, value: undefined };
|
|
165
|
-
return checkTagValue(value, flagLabel, sessionId, note);
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Free text (`--verdict`, summaries) stays free, but may not carry a
|
|
169
|
-
* recognised `<namespace>:` immediately followed by a non-whitespace character:
|
|
170
|
-
* the text lands verbatim in the fact content, where the substring matcher
|
|
171
|
-
* would read that as a tag. Prose like "code-review: approved" is kept. Rejected
|
|
172
|
-
* rather than rewritten, so the audit text is never altered silently.
|
|
173
|
-
*/
|
|
174
|
-
function rejectTagTokens(value, flagLabel, sessionId, note) {
|
|
175
|
-
if (TAG_TOKEN_RE.test(value)) {
|
|
176
|
-
return usageFailure(`${flagLabel} must not contain ledger tag text such as ` +
|
|
177
|
-
`${TAG_NAMESPACES.map((n) => `${n}:`).join(", ")} glued to a value ` +
|
|
178
|
-
`(it would plant a second ledger tag); got ${JSON.stringify(value)}`, sessionId, note);
|
|
179
|
-
}
|
|
180
|
-
return { ok: true, value };
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Required value: keeps the plain "must not be empty" message, then runs
|
|
184
|
-
* `check` (tag shape for `--pr` / `--task`, tag-token rejection for free text).
|
|
185
|
-
*/
|
|
186
|
-
function requireChecked(value, flagLabel, sessionId, note, check) {
|
|
187
|
-
const nonEmpty = requireNonEmpty(value, flagLabel, sessionId, note);
|
|
188
|
-
return nonEmpty.ok ? check(nonEmpty.value, flagLabel, sessionId, note) : nonEmpty;
|
|
189
|
-
}
|
|
190
|
-
const requireTagValue = (value, flagLabel, sessionId, note) => requireChecked(value, flagLabel, sessionId, note, checkTagValue);
|
|
191
|
-
const requireFreeText = (value, flagLabel, sessionId, note) => requireChecked(value, flagLabel, sessionId, note, rejectTagTokens);
|
|
192
|
-
/**
|
|
193
|
-
* Resolve the branch tag `review` and `review-subagent` both require:
|
|
194
|
-
* explicit `--branch` wins, otherwise `resolveGitContext(cwd)` (the SAME
|
|
195
|
-
* function the preflight-before-* gates use). Returns the ready-to-
|
|
196
|
-
* `return`ed failure `RecordResult` on the shared "cannot resolve any
|
|
197
|
-
* branch" degrade path so callers do not repeat that construction.
|
|
198
|
-
*/
|
|
199
|
-
function resolveRequiredBranch(cwd, explicitBranch, sessionId, note) {
|
|
200
|
-
const gitContext = resolveGitContext(cwd);
|
|
201
|
-
const rawBranch = (explicitBranch ?? "").trim() || gitContext.branch;
|
|
202
|
-
if (rawBranch.length === 0) {
|
|
203
|
-
const reason = "no branch resolvable (cwd is not inside a git work tree, or HEAD is detached); pass --branch <name>";
|
|
204
|
-
note(reason);
|
|
205
|
-
return {
|
|
206
|
-
ok: false,
|
|
207
|
-
result: { exitCode: EX_FAIL, wrote: false, content: "", sessionId, branch: "", reason },
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
const checked = checkTagValue(rawBranch, "--branch", sessionId, note);
|
|
211
|
-
if (!checked.ok)
|
|
212
|
-
return checked;
|
|
213
|
-
return { ok: true, branch: checked.value };
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Shared tail every verb runs last: write the fact, translate a failure
|
|
217
|
-
* into the degrade-with-reason `RecordResult` shape, or report success.
|
|
218
|
-
*/
|
|
219
|
-
async function finishRecordWrite(opts, sessionId, branch, source, content, note) {
|
|
220
|
-
const written = await writeLedgerFact(opts, sessionId, source, content);
|
|
221
|
-
if (!written.ok) {
|
|
222
|
-
note(written.reason);
|
|
223
|
-
return { exitCode: EX_FAIL, wrote: false, content, sessionId, branch, reason: written.reason };
|
|
224
|
-
}
|
|
225
|
-
return { exitCode: 0, wrote: true, content, sessionId, branch };
|
|
226
|
-
}
|
|
227
|
-
// ---------------------------------------------------------------------------
|
|
228
|
-
// Base-branch resolution for `record review` (--base flag > origin/HEAD
|
|
229
|
-
// filesystem fallback > omit with a loud stderr warning). No `gh`
|
|
230
|
-
// shell-out: everything is read straight off the `.git` directory,
|
|
231
|
-
// reusing runtime/git-context.ts's exported `findGitEntry` walk instead
|
|
232
|
-
// of re-implementing it. `resolveOriginHeadBase` / `resolveCommonDir`
|
|
233
|
-
// themselves now live in runtime/git-context.ts too (task post-merge-gate,
|
|
234
|
-
// T-001) so `policy-packs/builtin/post-merge-gate-runtime.ts` can share
|
|
235
|
-
// them without a policy-pack module reaching into `cli/`; imported here
|
|
236
|
-
// unchanged.
|
|
237
|
-
// ---------------------------------------------------------------------------
|
|
238
|
-
/**
|
|
239
|
-
* Resolve the base branch for `record review`: explicit `--base` wins,
|
|
240
|
-
* then the origin/HEAD filesystem fallback, then omission with a loud
|
|
241
|
-
* stderr warning (never a silent gap — the operator needs to know the
|
|
242
|
-
* `review:<base>` tag did not land).
|
|
243
|
-
*/
|
|
244
|
-
function resolveBase(cwd, explicitBase, note) {
|
|
245
|
-
const flag = (explicitBase ?? "").trim();
|
|
246
|
-
if (flag.length > 0)
|
|
247
|
-
return flag;
|
|
248
|
-
const gitDir = findGitEntry(cwd)?.gitDir;
|
|
249
|
-
if (gitDir) {
|
|
250
|
-
const base = resolveOriginHeadBase(resolveCommonDir(gitDir));
|
|
251
|
-
if (base)
|
|
252
|
-
return base;
|
|
253
|
-
}
|
|
254
|
-
note("no --base given and origin/HEAD could not be resolved (checked " +
|
|
255
|
-
"refs/remotes/origin/HEAD and packed-refs); omitting the review:<base> tag. " +
|
|
256
|
-
"Pass --base <branch> to record it explicitly.");
|
|
257
|
-
return undefined;
|
|
258
|
-
}
|
|
259
|
-
export async function runRecordReview(opts) {
|
|
260
|
-
const { note, cwd, sessionId } = initRecordVerb(opts, "review");
|
|
261
|
-
const summaryResult = requireFreeText(opts.summary, "summary", sessionId, note);
|
|
262
|
-
if (!summaryResult.ok)
|
|
263
|
-
return summaryResult.result;
|
|
264
|
-
const summary = summaryResult.value;
|
|
265
|
-
const prResult = requireTagValue(opts.pr, "--pr", sessionId, note);
|
|
266
|
-
if (!prResult.ok)
|
|
267
|
-
return prResult.result;
|
|
268
|
-
const pr = prResult.value;
|
|
269
|
-
const branchResult = resolveRequiredBranch(cwd, opts.branch, sessionId, note);
|
|
270
|
-
if (!branchResult.ok)
|
|
271
|
-
return branchResult.result;
|
|
272
|
-
const branch = branchResult.branch;
|
|
273
|
-
const taskResult = optionalTagValue(opts.task, "--task", sessionId, note);
|
|
274
|
-
if (!taskResult.ok)
|
|
275
|
-
return taskResult.result;
|
|
276
|
-
const task = taskResult.value;
|
|
277
|
-
const baseResult = optionalTagValue(resolveBase(cwd, opts.base, note), "--base", sessionId, note);
|
|
278
|
-
if (!baseResult.ok)
|
|
279
|
-
return baseResult.result;
|
|
280
|
-
const base = baseResult.value;
|
|
281
|
-
// One fact, every tag family a merge/PR gate can key on: the PR number,
|
|
282
|
-
// the working branch, the base branch, and (task 2699b476) the
|
|
283
|
-
// agent-tasks task id the two task-scoped merge gates read. Recording a
|
|
284
|
-
// review once therefore satisfies whichever surface actually fires,
|
|
285
|
-
// instead of asking the operator to predict it (docs/CLI.md, "The
|
|
286
|
-
// merge-surface trap"). TAG_SUMMARY_SEPARATOR keeps the emitted content
|
|
287
|
-
// byte-identical to what this verb has always written.
|
|
288
|
-
const tags = [`review:${pr}`, `review:${branch}`];
|
|
289
|
-
if (base !== undefined)
|
|
290
|
-
tags.push(`review:${base}`);
|
|
291
|
-
if (task !== undefined)
|
|
292
|
-
tags.push(`review:${task}`);
|
|
293
|
-
const content = `${tags.join(" ")} ${TAG_SUMMARY_SEPARATOR} ${summary}`;
|
|
294
|
-
return finishRecordWrite(opts, sessionId, branch, LEDGER_SOURCE_REVIEW, content, note);
|
|
295
|
-
}
|
|
296
|
-
export async function runRecordReviewSubagent(opts) {
|
|
297
|
-
const { note, cwd, sessionId } = initRecordVerb(opts, "review-subagent");
|
|
298
|
-
// Exactly one of --task / --adhoc: a task-based flow must never silently
|
|
299
|
-
// skip the review-subagent:<task> tag (the MCP-surface gate keys on it),
|
|
300
|
-
// and an ad-hoc flow must never invent a task id.
|
|
301
|
-
const adhoc = opts.adhoc === true;
|
|
302
|
-
if (adhoc && opts.task !== undefined) {
|
|
303
|
-
return usageFailure("--task and --adhoc are mutually exclusive; pass exactly one", sessionId, note).result;
|
|
304
|
-
}
|
|
305
|
-
if (!adhoc && opts.task === undefined) {
|
|
306
|
-
return usageFailure("one of --task <id> or --adhoc is required (--adhoc records a review for work without an agent-tasks task)", sessionId, note).result;
|
|
307
|
-
}
|
|
308
|
-
let taskTag = "";
|
|
309
|
-
if (opts.task !== undefined) {
|
|
310
|
-
const taskResult = requireTagValue(opts.task, "--task", sessionId, note);
|
|
311
|
-
if (!taskResult.ok)
|
|
312
|
-
return taskResult.result;
|
|
313
|
-
taskTag = `review-subagent:${taskResult.value} `;
|
|
314
|
-
}
|
|
315
|
-
const verdictResult = requireFreeText(opts.verdict, "--verdict", sessionId, note);
|
|
316
|
-
if (!verdictResult.ok)
|
|
317
|
-
return verdictResult.result;
|
|
318
|
-
const verdict = verdictResult.value;
|
|
319
|
-
const branchResult = resolveRequiredBranch(cwd, opts.branch, sessionId, note);
|
|
320
|
-
if (!branchResult.ok)
|
|
321
|
-
return branchResult.result;
|
|
322
|
-
const branch = branchResult.branch;
|
|
323
|
-
const summaryText = typeof opts.summary === "string" ? opts.summary.trim() : "";
|
|
324
|
-
const summaryChecked = rejectTagTokens(summaryText, "summary", sessionId, note);
|
|
325
|
-
if (!summaryChecked.ok)
|
|
326
|
-
return summaryChecked.result;
|
|
327
|
-
const summary = summaryChecked.value;
|
|
328
|
-
const content = `${taskTag}review-subagent:${branch} verdict:${verdict}${summary.length > 0 ? ` — ${summary}` : ""}`;
|
|
329
|
-
return finishRecordWrite(opts, sessionId, branch, LEDGER_SOURCE_REVIEW_SUBAGENT, content, note);
|
|
330
|
-
}
|
|
331
|
-
export async function runRecordDogfood(opts) {
|
|
332
|
-
const { note, sessionId } = initRecordVerb(opts, "dogfood");
|
|
333
|
-
const summaryResult = requireFreeText(opts.summary, "summary", sessionId, note);
|
|
334
|
-
if (!summaryResult.ok)
|
|
335
|
-
return summaryResult.result;
|
|
336
|
-
const summary = summaryResult.value;
|
|
337
|
-
// The ledger session and the `dogfood:<session>` content must name the same
|
|
338
|
-
// id, so a padded value is refused instead of trimmed for the content only.
|
|
339
|
-
if (sessionId !== sessionId.trim()) {
|
|
340
|
-
return usageFailure(`--session must not have leading or trailing whitespace; got ${JSON.stringify(sessionId)}`, sessionId, note).result;
|
|
341
|
-
}
|
|
342
|
-
const sessionResult = checkTagValue(sessionId, "--session", sessionId, note);
|
|
343
|
-
if (!sessionResult.ok)
|
|
344
|
-
return sessionResult.result;
|
|
345
|
-
const content = `dogfood:${sessionResult.value} ${TAG_SUMMARY_SEPARATOR} ${summary}`;
|
|
346
|
-
return finishRecordWrite(opts, sessionId, "", LEDGER_SOURCE_DOGFOOD, content, note);
|
|
347
|
-
}
|
|
348
|
-
//# sourceMappingURL=index.js.map
|