@lannguyensi/harness 0.64.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 +64 -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 -345
- 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 -713
- 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 -387
- 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 +9 -2131
- 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 -245
- 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/{delegate/register.d.ts → register-gate-group.d.ts} +1 -1
- 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 +1 -1
- package/dist/cli/register-operator-lifecycle.js +3 -100
- package/dist/cli/register-operator-lifecycle.js.map +1 -1
- 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-audit-group.d.ts → register-setup-group.d.ts} +1 -1
- 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.js +2 -19
- package/dist/cli/remove/register.js.map +1 -1
- 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.js +6 -4
- package/dist/cli/uninstall/register.js.map +1 -1
- 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 -444
- package/dist/cli/delegate/index.js.map +0 -1
- package/dist/cli/delegate/register.js +0 -90
- package/dist/cli/delegate/register.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/expire-on-tool-match.d.ts +0 -15
- package/dist/cli/doctor/expire-on-tool-match.js +0 -58
- package/dist/cli/doctor/expire-on-tool-match.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 -58
- package/dist/cli/dry-run.js +0 -283
- package/dist/cli/dry-run.js.map +0 -1
- package/dist/cli/enriched-event.d.ts +0 -35
- package/dist/cli/enriched-event.js +0 -60
- package/dist/cli/enriched-event.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 -25
- package/dist/cli/explain-action.js +0 -57
- package/dist/cli/explain-action.js.map +0 -1
- package/dist/cli/explain-policy.d.ts +0 -147
- package/dist/cli/explain-policy.js +0 -248
- 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 -438
- 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 -1022
- 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 -110
- 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/register-audit-group.js +0 -91
- package/dist/cli/register-audit-group.js.map +0 -1
- package/dist/cli/resolve-env.d.ts +0 -32
- package/dist/cli/resolve-env.js +0 -46
- 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 -27
- package/dist/cli/test-risk.js +0 -38
- 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 -643
- 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 -106
- 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 -625
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +0 -1076
- 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 -1078
- 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 -623
- package/dist/runtime/intercept.js +0 -1384
- 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 -105
- package/dist/runtime/task-providers/agent-tasks.js +0 -247
- 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,410 +0,0 @@
|
|
|
1
|
-
import { type ModeConfigSource } from "../../policy-packs/builtin/understanding-before-execution.js";
|
|
2
|
-
import type { Manifest } from "../../schema/index.js";
|
|
3
|
-
import { type LoaderOptions } from "../loader.js";
|
|
4
|
-
import { type StdinReportOutcome } from "./stdin-report.js";
|
|
5
|
-
export interface ApproveUnderstandingOptions extends LoaderOptions {
|
|
6
|
-
/** Explicit session id (overrides $CLAUDE_CODE_SESSION_ID / $CLAUDE_SESSION_ID / $CODEX_SESSION_ID). */
|
|
7
|
-
session?: string;
|
|
8
|
-
/**
|
|
9
|
-
* Override the approve-time report validation (priorArt enforcement for
|
|
10
|
-
* `grill_me` reports). Writes the marker / ledger / report-flip anyway
|
|
11
|
-
* and stamps the ledger tag content with a `:forced:<field>-<reason>`
|
|
12
|
-
* suffix so the audit trail records the bypass. Emergency-unblock path:
|
|
13
|
-
* the default refuses the marker when validation fails so an agent
|
|
14
|
-
* cannot ship a hollow Understanding Report and still get the gate open.
|
|
15
|
-
*/
|
|
16
|
-
force?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Optional agent-tasks task id (harness/1ee26e77). When set, an
|
|
19
|
-
* additional task-scoped marker file is written at
|
|
20
|
-
* `<generatedDir>/.approvals/task-<taskId>`, in addition to the
|
|
21
|
-
* legacy session-scoped marker. Either satisfies the gate; the
|
|
22
|
-
* task-scoped marker is the design-intent target for multi-task
|
|
23
|
-
* sessions so the next task can require its own Understanding Report.
|
|
24
|
-
*
|
|
25
|
-
* When omitted, `harness approve understanding` falls back to reading
|
|
26
|
-
* `<generatedDir>/active-claim` (written by the track-active-claim
|
|
27
|
-
* PostToolUse hook on `task_start`, harness/494fd1e5). If that file
|
|
28
|
-
* exists, its content is used as the task id. If absent, no task
|
|
29
|
-
* marker is written — the session marker is the only one (v1
|
|
30
|
-
* back-compat).
|
|
31
|
-
*
|
|
32
|
-
* Single-id back-compat field. For pre-approving a batch use `tasks`;
|
|
33
|
-
* when both are set, `tasks` wins.
|
|
34
|
-
*/
|
|
35
|
-
task?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Multiple agent-tasks task ids to pre-approve in one operator action
|
|
38
|
-
* (harness/0dce3880 friction #2). One task-scoped marker is written
|
|
39
|
-
* per id. As the agent's active claim cycles through the listed
|
|
40
|
-
* tasks, each `task_start` finds its own marker already present, so a
|
|
41
|
-
* homogeneous batch (e.g. a CVE sweep across N repos) needs a single
|
|
42
|
-
* `harness approve understanding --task a b c` instead of one
|
|
43
|
-
* approval per `task_finish`. The understanding gate stays
|
|
44
|
-
* task-scoped: the operator's report still has to enumerate every
|
|
45
|
-
* task it covers; only the round-trip count collapses. Empty / blank
|
|
46
|
-
* entries are dropped and duplicates de-duplicated.
|
|
47
|
-
*/
|
|
48
|
-
tasks?: string[];
|
|
49
|
-
/**
|
|
50
|
-
* Understanding Report markdown captured from the command's stdin
|
|
51
|
-
* (the report-heredoc shape, task 61fd36db). When set and non-blank,
|
|
52
|
-
* it is parsed and persisted as a pending, session-bound report BEFORE
|
|
53
|
-
* the report lookup below, so this very approve run validates and
|
|
54
|
-
* flips it. A parse failure degrades loudly (parse-error log + reason
|
|
55
|
-
* on the result) but does not abort the approval — the operator just
|
|
56
|
-
* approved interactively; a formatting nit must not brick that.
|
|
57
|
-
*/
|
|
58
|
-
reportMarkdown?: string;
|
|
59
|
-
/** Override the reports directory (test injection). */
|
|
60
|
-
reportsDir?: string;
|
|
61
|
-
/** Override the harness.generated/ directory (test injection). */
|
|
62
|
-
generatedDir?: string;
|
|
63
|
-
/** Override "now" for deterministic tests. */
|
|
64
|
-
now?: Date;
|
|
65
|
-
/** Override the actor recorded in the persisted report. */
|
|
66
|
-
approvedBy?: string;
|
|
67
|
-
/** Inject a manifest (test). */
|
|
68
|
-
manifest?: Manifest;
|
|
69
|
-
/** Override the ledger writer (test). */
|
|
70
|
-
ledgerAdd?: (sessionId: string, content: string) => Promise<{
|
|
71
|
-
ok: true;
|
|
72
|
-
} | {
|
|
73
|
-
ok: false;
|
|
74
|
-
reason: string;
|
|
75
|
-
}>;
|
|
76
|
-
}
|
|
77
|
-
/** Outcome of writing one task-scoped approval marker. */
|
|
78
|
-
export type TaskMarkerOutcome = {
|
|
79
|
-
ok: true;
|
|
80
|
-
taskId: string;
|
|
81
|
-
filePath: string;
|
|
82
|
-
approvedAt: string;
|
|
83
|
-
source: "flag" | "active-claim";
|
|
84
|
-
} | {
|
|
85
|
-
ok: false;
|
|
86
|
-
taskId: string;
|
|
87
|
-
reason: string;
|
|
88
|
-
source: "flag" | "active-claim";
|
|
89
|
-
};
|
|
90
|
-
export interface ApproveUnderstandingResult {
|
|
91
|
-
sessionId: string;
|
|
92
|
-
/**
|
|
93
|
-
* Where `sessionId` came from. Surfaced so the CLI can show the
|
|
94
|
-
* operator when the id was not explicit (`pending-approval` / `env`),
|
|
95
|
-
* which is the moment to sanity-check it against the live session.
|
|
96
|
-
*/
|
|
97
|
-
sessionSource: "flag" | "env-claude-code" | "env-claude" | "env-codex" | "pending-approval" | "newest-report";
|
|
98
|
-
/**
|
|
99
|
-
* When `sessionSource` is `"newest-report"`, the absolute path of the
|
|
100
|
-
* persisted report the session id was guessed from. Undefined for
|
|
101
|
-
* every other source. The CLI names this file in its loud tier-5
|
|
102
|
-
* "verify this is your live session" warning so the operator can open
|
|
103
|
-
* it and check before trusting the marker (harness/56f51f2b).
|
|
104
|
-
*/
|
|
105
|
-
newestReportPath?: string;
|
|
106
|
-
/**
|
|
107
|
-
* Canonical gate-satisfying signal as of agent-tasks/88ca4bb3.
|
|
108
|
-
* `ok: false` means the marker file could not be written (rare:
|
|
109
|
-
* fs permission, missing parent directory) and the gate will still
|
|
110
|
-
* block on the next tool call. The CLI surfaces this as a hard error
|
|
111
|
-
* to the operator so they don't think they approved when they didn't.
|
|
112
|
-
*/
|
|
113
|
-
marker: {
|
|
114
|
-
ok: true;
|
|
115
|
-
filePath: string;
|
|
116
|
-
approvedAt: string;
|
|
117
|
-
} | {
|
|
118
|
-
ok: false;
|
|
119
|
-
reason: string;
|
|
120
|
-
};
|
|
121
|
-
/**
|
|
122
|
-
* Task-scoped marker write outcomes, one entry per resolved task id
|
|
123
|
-
* (harness/0dce3880). Populated when `--task` / `opts.task` /
|
|
124
|
-
* `opts.tasks` was supplied OR when the active-claim file resolved an
|
|
125
|
-
* id (harness/494fd1e5). Empty array when no task was resolved
|
|
126
|
-
* through any surface, so a regression cannot silently flip
|
|
127
|
-
* session-only sessions into task-mode.
|
|
128
|
-
*
|
|
129
|
-
* The `source` field tells the operator which surface fed each id so
|
|
130
|
-
* a wrong claim file can be spotted before it lands in the marker.
|
|
131
|
-
*/
|
|
132
|
-
taskMarkers: TaskMarkerOutcome[];
|
|
133
|
-
/**
|
|
134
|
-
* `resolveMode`'s own warning (invalid `config.mode` in `harness.yaml`,
|
|
135
|
-
* or an invalid `UNDERSTANDING_GATE_MODE` env value) surfaced verbatim
|
|
136
|
-
* (task 5d73d78d review LOW, fix-round-3). Absent when the resolution
|
|
137
|
-
* was clean. This mirrors what the Codex `UserPromptSubmit` injector
|
|
138
|
-
* already writes to stderr for the exact same `resolveMode` call — this
|
|
139
|
-
* command used to compute the same warning and drop it silently.
|
|
140
|
-
*/
|
|
141
|
-
modeWarning?: string;
|
|
142
|
-
/**
|
|
143
|
-
* Outcome of capturing a report passed on stdin (`reportMarkdown`).
|
|
144
|
-
* Absent when no report was supplied. `ok: true` means the markdown
|
|
145
|
-
* parsed and was persisted pending + session-bound; the
|
|
146
|
-
* `persistedReport` result below then reports the flip of that same
|
|
147
|
-
* file. `ok: false` carries the parse/persist failure reason (and the
|
|
148
|
-
* parse-error log path when one was written).
|
|
149
|
-
*/
|
|
150
|
-
stdinReport?: StdinReportOutcome;
|
|
151
|
-
ledger: {
|
|
152
|
-
ok: boolean;
|
|
153
|
-
tag: string;
|
|
154
|
-
reason?: string;
|
|
155
|
-
};
|
|
156
|
-
persistedReport: {
|
|
157
|
-
ok: true;
|
|
158
|
-
filePath: string;
|
|
159
|
-
previousStatus: string | null;
|
|
160
|
-
approvedAt: string;
|
|
161
|
-
/** True when this approval stamped a missing `sessionId` onto the report. */
|
|
162
|
-
sessionIdStamped: boolean;
|
|
163
|
-
/**
|
|
164
|
-
* Present when the report was adopted via the sessionId-less
|
|
165
|
-
* tolerant fallback rather than a strict sessionId match. The
|
|
166
|
-
* CLI prints it loudly: the operator must verify the adopted
|
|
167
|
-
* report is the one they just read, because a fallback adoption
|
|
168
|
-
* means the live session's own report was never persisted
|
|
169
|
-
* (harness-discovery C1).
|
|
170
|
-
*/
|
|
171
|
-
fallbackAdopted?: {
|
|
172
|
-
createdAt: string | null;
|
|
173
|
-
ageMinutes: number;
|
|
174
|
-
};
|
|
175
|
-
} | {
|
|
176
|
-
ok: false;
|
|
177
|
-
reason: string;
|
|
178
|
-
};
|
|
179
|
-
/**
|
|
180
|
-
* Approve-time content validation of the persisted report. `mode` is
|
|
181
|
-
* the report's stamped mode field (the schema variant the report is
|
|
182
|
-
* judged against). `ok: false` means a structural rule the prompt
|
|
183
|
-
* already declared was violated (today: `grill_me` reports must have
|
|
184
|
-
* a non-empty priorArt list with no literal `- None`).
|
|
185
|
-
*
|
|
186
|
-
* `enforced: false` means the failure was bypassed via `--force`; the
|
|
187
|
-
* marker / ledger / report-flip still ran, and `ledger.tag` carries a
|
|
188
|
-
* `:forced:<field>-<reason>` suffix so audit can distinguish forced
|
|
189
|
-
* approvals from clean ones.
|
|
190
|
-
*
|
|
191
|
-
* `skipped: true` means no report was loaded to validate (no `latest`
|
|
192
|
-
* matched the session, ledger-only path); validation is silently
|
|
193
|
-
* waived because there is nothing to enforce.
|
|
194
|
-
*/
|
|
195
|
-
validation: {
|
|
196
|
-
ok: true;
|
|
197
|
-
mode: string | null;
|
|
198
|
-
} | {
|
|
199
|
-
ok: false;
|
|
200
|
-
field: string;
|
|
201
|
-
reason: string;
|
|
202
|
-
enforced: boolean;
|
|
203
|
-
} | {
|
|
204
|
-
skipped: true;
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
/** Best-effort manifest load plus the resolved `understanding-before-execution` pack config entry it feeds. */
|
|
208
|
-
export interface DeclaredUnderstandingPack {
|
|
209
|
-
/** `null` when the manifest could not be loaded; the caller degrades gracefully rather than treating this as fatal. */
|
|
210
|
-
manifest: Manifest | null;
|
|
211
|
-
/** The load failure's message, when `manifest` is `null`. `null` on a clean load. */
|
|
212
|
-
manifestLoadError: string | null;
|
|
213
|
-
/**
|
|
214
|
-
* The pack's own declared entry when present and not explicitly
|
|
215
|
-
* `enabled: false`; otherwise a synthesized empty entry (`config: {}`)
|
|
216
|
-
* so a caller's `resolveMode` / `approval_lifecycle` read still resolves
|
|
217
|
-
* via Env > default instead of needing a null check.
|
|
218
|
-
*/
|
|
219
|
-
declaredPack: ModeConfigSource;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Load the manifest (best-effort, never throws) and resolve the
|
|
223
|
-
* `understanding-before-execution` pack's declared config entry from it.
|
|
224
|
-
* Extracted (agent-tasks 37ad0b05) so
|
|
225
|
-
* `approveUnderstanding` and `issueDelegation` (`src/cli/delegate/index.ts`)
|
|
226
|
-
* share one copy of this manifest-load-plus-pack-lookup shape instead of
|
|
227
|
-
* each carrying its own byte-identical block
|
|
228
|
-
* (`npm run check:duplication` was flagging the pair as a clone). Pure
|
|
229
|
-
* extraction: the try/catch and the `declaredPack` fallback are unchanged
|
|
230
|
-
* from what each call site did inline before this change.
|
|
231
|
-
*/
|
|
232
|
-
export declare function loadDeclaredUnderstandingPack(opts: LoaderOptions & {
|
|
233
|
-
manifest?: Manifest;
|
|
234
|
-
}): DeclaredUnderstandingPack;
|
|
235
|
-
/**
|
|
236
|
-
* Exported (agent-tasks 37ad0b05, Slice 3 of the auto-mode-approval ADR)
|
|
237
|
-
* with an additive `source` parameter so `harness delegate` can reuse
|
|
238
|
-
* this writer verbatim instead of re-implementing the same
|
|
239
|
-
* findGroundingMcp + addLedgerFact shape a third time in this codebase
|
|
240
|
-
* (branch-protection.ts already carries its own independent copy for
|
|
241
|
-
* its own `harness-approve-branch-protection` source). `source` defaults
|
|
242
|
-
* to this file's own literal, so `approveUnderstanding`'s own call below
|
|
243
|
-
* (which does not pass it) is byte-identical to before this change: pure
|
|
244
|
-
* additive parameterization, not a behaviour change for that caller.
|
|
245
|
-
*/
|
|
246
|
-
export declare function writeLedgerTag(manifest: Manifest, sessionId: string, content: string, opts: ApproveUnderstandingOptions, source?: string): Promise<{
|
|
247
|
-
ok: true;
|
|
248
|
-
} | {
|
|
249
|
-
ok: false;
|
|
250
|
-
reason: string;
|
|
251
|
-
}>;
|
|
252
|
-
export interface ParseErrorSummary {
|
|
253
|
-
filePath: string;
|
|
254
|
-
/** One-line human-readable summary suitable for inlining in the CLI reason. */
|
|
255
|
-
summary: string;
|
|
256
|
-
/**
|
|
257
|
-
* Section keys the log's `malformedSections` field named: a (list)
|
|
258
|
-
* heading that WAS present but whose body was prose instead of markdown
|
|
259
|
-
* list items (`@lannguyensi/understanding-gate` >= 0.4.10, agent-tasks
|
|
260
|
-
* be98cd96). Empty when the field is absent/empty on the log (older
|
|
261
|
-
* package pin, or an unrelated parse-error reason). `summary` already
|
|
262
|
-
* has this named, appended as its own clause; this is exposed
|
|
263
|
-
* separately too so a caller that wants to build its own sentence
|
|
264
|
-
* (e.g. the PreToolUse hooks' agent-facing block reason, task
|
|
265
|
-
* 823837fd) does not have to re-parse the log.
|
|
266
|
-
*/
|
|
267
|
-
malformedSections: string[];
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Find the freshest parse-error log under `<dir>` (the
|
|
271
|
-
* `<reports-dir>/../parse-errors/` location the standalone Stop hook
|
|
272
|
-
* writes to when `parseReport` rejects the agent's last message). Used
|
|
273
|
-
* to upgrade `approve understanding`'s "no reports found" diagnostic
|
|
274
|
-
* from a silent dead end to a "hook fired but parse failed because X"
|
|
275
|
-
* pointer. Best-effort: any I/O error is swallowed and we report no
|
|
276
|
-
* parse-error, mirroring the listPersistedReports contract.
|
|
277
|
-
*
|
|
278
|
-
* `sessionId` filter (agent-tasks/b13205b2): each parse-error log's JSON
|
|
279
|
-
* header carries the `sessionId` of the session that produced it. The
|
|
280
|
-
* lookup used to return the directory-newest log regardless of whose
|
|
281
|
-
* session wrote it, so a stale parse-error from a previous session would
|
|
282
|
-
* surface in the current operator's approve output and read like a
|
|
283
|
-
* failure of THEIR session. Logs whose header sessionId does not match
|
|
284
|
-
* `sessionId` are now skipped entirely. Logs missing a `sessionId` field
|
|
285
|
-
* (or whose header is not JSON) are also skipped, since we cannot
|
|
286
|
-
* attribute them.
|
|
287
|
-
*
|
|
288
|
-
* `malformedSections` (task 823837fd, follow-up to 7e29e5d7): when the
|
|
289
|
-
* log's JSON header carries a non-empty `malformedSections` array (a
|
|
290
|
-
* (list) section that was present but not a markdown list), the returned
|
|
291
|
-
* `summary` names those sections explicitly so the CLI's one-line reason
|
|
292
|
-
* does not read as a bare "missing" when the agent actually wrote
|
|
293
|
-
* *something* under the heading. Exported so the PreToolUse hooks
|
|
294
|
-
* (hook-pre-tool-use.ts, hook-codex-pre-tool-use.ts) can reuse the same
|
|
295
|
-
* lookup + attribution logic rather than re-implementing the header scan.
|
|
296
|
-
*
|
|
297
|
-
* Both hooks pass `maxEntries` (`MAX_HOOK_LISTING_ENTRIES`): a directory with
|
|
298
|
-
* more `*.log` entries than that is read not at all and yields no parse error,
|
|
299
|
-
* and the logs read are charged against the hash scan's byte budget (the
|
|
300
|
-
* larger of the `fstat` size and the per-entry floor, newest first), so a
|
|
301
|
-
* planted directory cannot run the hook past its time budget. Once the budget
|
|
302
|
-
* is spent the lookup yields no parse error.
|
|
303
|
-
*/
|
|
304
|
-
export declare function findLatestParseError(dir: string, sessionId: string, opts?: {
|
|
305
|
-
maxEntries?: number;
|
|
306
|
-
}): ParseErrorSummary | null;
|
|
307
|
-
/**
|
|
308
|
-
* Render the agent-facing "your previous report had malformed sections"
|
|
309
|
-
* sentence from a `ParseErrorSummary.malformedSections` list, or `null`
|
|
310
|
-
* when there is nothing to say. Shared by both PreToolUse hooks
|
|
311
|
-
* (hook-pre-tool-use.ts, hook-codex-pre-tool-use.ts, task 823837fd
|
|
312
|
-
* review) so the sentence is defined once instead of duplicated
|
|
313
|
-
* byte-identically in each runtime; same extraction shape as
|
|
314
|
-
* `checkOperatorApprovalMarkers` (understanding-before-execution-runtime.ts),
|
|
315
|
-
* a marker-check helper both hooks already call instead of
|
|
316
|
-
* re-implementing.
|
|
317
|
-
*
|
|
318
|
-
* Section keys are mapped to their display name via `describeSectionKey`
|
|
319
|
-
* (`Prior Art (priorArt)` rather than the bare camelCase key) so the
|
|
320
|
-
* sentence reads consistently with `renderReportSchemaHint`'s section
|
|
321
|
-
* bullets in the same block reason, instead of mixing two vocabularies
|
|
322
|
-
* for the same section. The CLI's own one-line summary
|
|
323
|
-
* (`findLatestParseError` above) intentionally stays on raw keys; it is
|
|
324
|
-
* operator-facing and matches the parse-error log verbatim.
|
|
325
|
-
*/
|
|
326
|
-
export declare function renderMalformedSectionsNotice(sections: string[]): string | null;
|
|
327
|
-
/**
|
|
328
|
-
* Approve-time content validation. v1 enforces the one rule the dogfood
|
|
329
|
-
* loop discovered today (2026-05-24): a `grill_me` Report must declare a
|
|
330
|
-
* non-empty `priorArt` list with no literal `- None`. The structural
|
|
331
|
-
* parser in `@lannguyensi/understanding-gate` only checks that the
|
|
332
|
-
* Prior Art section is present (required since 0.4.0,
|
|
333
|
-
* `CHANGELOG.md:#0.28.0`); it cannot judge the content, so the approve
|
|
334
|
-
* CLI is the boundary that refuses a hollow list here, so an agent
|
|
335
|
-
* cannot ship a hollow Understanding Report and still get the gate open.
|
|
336
|
-
*
|
|
337
|
-
* Modes that skip validation:
|
|
338
|
-
* - `fast_confirm`: schema-relaxed variant (`UNDERSTANDING_REPORT_SCHEMA_FAST_CONFIRM`)
|
|
339
|
-
* drops priorArt from `required`, on purpose: fast_confirm is for
|
|
340
|
-
* low-stakes prompts where the gate barely fires.
|
|
341
|
-
* - missing/unknown mode: legacy reports pre-date the mode field;
|
|
342
|
-
* enforcing on them would retroactively invalidate every historical
|
|
343
|
-
* report.
|
|
344
|
-
*
|
|
345
|
-
* v1 limits the enforced list to `priorArt` because that is the
|
|
346
|
-
* concrete failure observed in dogfood. Broader schema enforcement
|
|
347
|
-
* (e.g. empty `derivedTodos`) is a follow-up if the same class of
|
|
348
|
-
* "agent skipped a required section" failure recurs.
|
|
349
|
-
*/
|
|
350
|
-
export type ValidationResult = {
|
|
351
|
-
ok: true;
|
|
352
|
-
mode: string | null;
|
|
353
|
-
} | {
|
|
354
|
-
ok: false;
|
|
355
|
-
field: string;
|
|
356
|
-
reason: string;
|
|
357
|
-
};
|
|
358
|
-
/**
|
|
359
|
-
* Exported (agent-tasks/74b4b17d) so the PreToolUse hook's auto-approval
|
|
360
|
-
* path applies the SAME approve-time content validation this CLI does,
|
|
361
|
-
* rather than a second, drifting copy: the ADR
|
|
362
|
-
* (docs/decisions/2026-08-27-ug-auto-mode-approval.md, Option A
|
|
363
|
-
* condition 3) requires the auto path's report precondition to be the
|
|
364
|
-
* approve CLI's own check. Export only; the logic is unchanged.
|
|
365
|
-
*/
|
|
366
|
-
export declare function validatePersistedReport(parsed: Record<string, unknown>): ValidationResult;
|
|
367
|
-
/**
|
|
368
|
-
* Exported (agent-tasks/74b4b17d) so the PreToolUse hook's auto-approval path
|
|
369
|
-
* CONSUMES the report it used through the identical rewrite this CLI performs
|
|
370
|
-
* (ADR Option A condition 5). `boundedRaw`: the text that path already read
|
|
371
|
-
* through the bounded reader, so the consume never re-reads the agent-writable
|
|
372
|
-
* path (a retargeted symlink); `harness approve understanding` reads by path
|
|
373
|
-
* through the same bounded reader.
|
|
374
|
-
*/
|
|
375
|
-
export declare function rewriteReportApproved(filePath: string, approvedAt: string, approvedBy: string, sessionId: string, boundedRaw?: string): {
|
|
376
|
-
previousStatus: string | null;
|
|
377
|
-
sessionIdStamped: boolean;
|
|
378
|
-
};
|
|
379
|
-
/**
|
|
380
|
-
* Thrown by {@link renderApprovedReport} when the approved report, once
|
|
381
|
-
* pretty-printed with its approval fields, is over `MAX_HASHED_REPORT_BYTES`.
|
|
382
|
-
* The gate-read scan reads no file over that cap, so a marker signed for such
|
|
383
|
-
* a report would deny on every call and neither re-approval nor `--force`
|
|
384
|
-
* could clear it.
|
|
385
|
-
*/
|
|
386
|
-
export declare class ApprovedReportTooLargeError extends Error {
|
|
387
|
-
readonly bytes: number;
|
|
388
|
-
constructor(bytes: number);
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* The text `rewriteReportApproved` writes: the report with its approval
|
|
392
|
-
* fields stamped and pretty-printed. Pure, so a producer can check the size
|
|
393
|
-
* of the rewritten bytes before it signs a marker or changes any file. Throws
|
|
394
|
-
* {@link ApprovedReportTooLargeError} when those bytes exceed
|
|
395
|
-
* `MAX_HASHED_REPORT_BYTES`: a report accepted just under the cap can cross
|
|
396
|
-
* it through the pretty-print and the added fields.
|
|
397
|
-
*/
|
|
398
|
-
export declare function renderApprovedReport(raw: string, approvedAt: string, approvedBy: string, sessionId: string): {
|
|
399
|
-
text: string;
|
|
400
|
-
previousStatus: string | null;
|
|
401
|
-
sessionIdStamped: boolean;
|
|
402
|
-
};
|
|
403
|
-
/**
|
|
404
|
-
* Normalise a list of task ids supplied via `opts.tasks` (or the CLI's
|
|
405
|
-
* variadic `--task`). Each entry is comma-split (so `--task a,b` and
|
|
406
|
-
* `--task a b` are equivalent), trimmed, blank entries dropped, and the
|
|
407
|
-
* result de-duplicated while preserving first-seen order.
|
|
408
|
-
*/
|
|
409
|
-
export declare function dedupeTaskIds(raw: string[]): string[];
|
|
410
|
-
export declare function approveUnderstanding(opts?: ApproveUnderstandingOptions): Promise<ApproveUnderstandingResult>;
|