@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,55 +0,0 @@
|
|
|
1
|
-
import { type ChildProcessWithoutNullStreams } from "node:child_process";
|
|
2
|
-
export interface RunClaudeOptions {
|
|
3
|
-
/** Absolute path (or PATH-lookup name) of the claude binary. */
|
|
4
|
-
claudeBin: string;
|
|
5
|
-
/** Prompt fed to `claude -p`. */
|
|
6
|
-
prompt: string;
|
|
7
|
-
/** Settings.json the spawned claude uses (the apply'd manifest output). */
|
|
8
|
-
settingsPath: string;
|
|
9
|
-
/** Session id. */
|
|
10
|
-
sessionId: string;
|
|
11
|
-
/** Working dir for the spawn. Defaults to `cwd` of the parent. */
|
|
12
|
-
cwd?: string;
|
|
13
|
-
/** Forensic capture target. */
|
|
14
|
-
outputDir: string;
|
|
15
|
-
/** Hard wall-clock budget. Hitting it kills claude and resolves the run. */
|
|
16
|
-
timeoutMs: number;
|
|
17
|
-
/**
|
|
18
|
-
* Extra env merged onto process.env. `HARNESS_POLICY_VERBOSE=1` is
|
|
19
|
-
* baked in BEFORE this map, so an operator who explicitly passes
|
|
20
|
-
* `HARNESS_POLICY_VERBOSE=0` in `env` wins. (The verb sets the verbose
|
|
21
|
-
* default because `--expect-decision warn` reads the stderr diagnostic.)
|
|
22
|
-
*/
|
|
23
|
-
env?: Record<string, string>;
|
|
24
|
-
/**
|
|
25
|
-
* Test-injectable spawn. Defaults to node:child_process.spawn. The
|
|
26
|
-
* fixture sees the same argv harness would pass to claude in prod.
|
|
27
|
-
*/
|
|
28
|
-
spawn?: (command: string, args: string[], options: {
|
|
29
|
-
cwd?: string;
|
|
30
|
-
env: NodeJS.ProcessEnv;
|
|
31
|
-
}) => ChildProcessWithoutNullStreams;
|
|
32
|
-
}
|
|
33
|
-
export interface RunClaudeResult {
|
|
34
|
-
/** Numeric exit code of the spawned claude process, or null on signal. */
|
|
35
|
-
exitCode: number | null;
|
|
36
|
-
signal: NodeJS.Signals | null;
|
|
37
|
-
/** True if the run was killed by the wall-clock timeout. */
|
|
38
|
-
timedOut: boolean;
|
|
39
|
-
/** Forensic file paths. */
|
|
40
|
-
streamPath: string;
|
|
41
|
-
stderrPath: string;
|
|
42
|
-
/** Captured streams (also persisted to disk; in-memory copy for callers). */
|
|
43
|
-
streamText: string;
|
|
44
|
-
stderrText: string;
|
|
45
|
-
/** argv handed to claude, for debugging + dogfood README capture. */
|
|
46
|
-
argv: string[];
|
|
47
|
-
/** Total wall-clock spent in the spawn. */
|
|
48
|
-
durationMs: number;
|
|
49
|
-
}
|
|
50
|
-
export declare function buildClaudeArgv(opts: {
|
|
51
|
-
prompt: string;
|
|
52
|
-
settingsPath: string;
|
|
53
|
-
sessionId: string;
|
|
54
|
-
}): string[];
|
|
55
|
-
export declare function runClaude(opts: RunClaudeOptions): Promise<RunClaudeResult>;
|
package/dist/cli/smoke/runner.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
// Phase 7 follow-up: claude -p driver for `harness smoke`.
|
|
2
|
-
//
|
|
3
|
-
// Spawns `claude -p` with the canonical headless-dogfood flags, tees
|
|
4
|
-
// stdout to <output-dir>/stream.jsonl and stderr to
|
|
5
|
-
// <output-dir>/stderr.log so forensic files exist even when the run
|
|
6
|
-
// crashes or hits the timeout. Returns the captured streams + the
|
|
7
|
-
// claude exit code so the caller can run assertions.
|
|
8
|
-
import { spawn } from "node:child_process";
|
|
9
|
-
import * as fs from "node:fs";
|
|
10
|
-
import * as path from "node:path";
|
|
11
|
-
const CLAUDE_FLAGS = [
|
|
12
|
-
"--output-format",
|
|
13
|
-
"stream-json",
|
|
14
|
-
"--include-hook-events",
|
|
15
|
-
"--verbose",
|
|
16
|
-
"--permission-mode",
|
|
17
|
-
"bypassPermissions",
|
|
18
|
-
];
|
|
19
|
-
export function buildClaudeArgv(opts) {
|
|
20
|
-
return [
|
|
21
|
-
"-p",
|
|
22
|
-
opts.prompt,
|
|
23
|
-
"--session-id",
|
|
24
|
-
opts.sessionId,
|
|
25
|
-
"--settings",
|
|
26
|
-
opts.settingsPath,
|
|
27
|
-
...CLAUDE_FLAGS,
|
|
28
|
-
];
|
|
29
|
-
}
|
|
30
|
-
export async function runClaude(opts) {
|
|
31
|
-
fs.mkdirSync(opts.outputDir, { recursive: true });
|
|
32
|
-
const streamPath = path.join(opts.outputDir, "stream.jsonl");
|
|
33
|
-
const stderrPath = path.join(opts.outputDir, "stderr.log");
|
|
34
|
-
const streamWriter = fs.createWriteStream(streamPath);
|
|
35
|
-
const stderrWriter = fs.createWriteStream(stderrPath);
|
|
36
|
-
const argv = buildClaudeArgv(opts);
|
|
37
|
-
const spawnFn = opts.spawn ?? spawn;
|
|
38
|
-
const env = {
|
|
39
|
-
...process.env,
|
|
40
|
-
// The Phase 5 #3 verbose diagnostic block is how `--expect-decision warn`
|
|
41
|
-
// becomes observable from the stream's hook_response.stderr field.
|
|
42
|
-
HARNESS_POLICY_VERBOSE: "1",
|
|
43
|
-
...(opts.env ?? {}),
|
|
44
|
-
};
|
|
45
|
-
const child = spawnFn(opts.claudeBin, argv, {
|
|
46
|
-
...(opts.cwd !== undefined && { cwd: opts.cwd }),
|
|
47
|
-
env,
|
|
48
|
-
});
|
|
49
|
-
let streamText = "";
|
|
50
|
-
let stderrText = "";
|
|
51
|
-
let timedOut = false;
|
|
52
|
-
const start = Date.now();
|
|
53
|
-
child.stdout.on("data", (chunk) => {
|
|
54
|
-
const text = chunk.toString("utf8");
|
|
55
|
-
streamText += text;
|
|
56
|
-
streamWriter.write(chunk);
|
|
57
|
-
});
|
|
58
|
-
child.stderr.on("data", (chunk) => {
|
|
59
|
-
const text = chunk.toString("utf8");
|
|
60
|
-
stderrText += text;
|
|
61
|
-
stderrWriter.write(chunk);
|
|
62
|
-
});
|
|
63
|
-
// Both timers are captured in scope so the close-listener can clear
|
|
64
|
-
// them when claude exits before the budget. Without that, every fast
|
|
65
|
-
// smoke run leaked an `unref`'d setTimeout pair that fires on a dead
|
|
66
|
-
// PID minutes later, a non-issue at process exit but visible noise in
|
|
67
|
-
// a long-lived parent (e.g. vitest batches).
|
|
68
|
-
let outerTimer = null;
|
|
69
|
-
let killTimer = null;
|
|
70
|
-
const clearTimers = () => {
|
|
71
|
-
if (outerTimer) {
|
|
72
|
-
clearTimeout(outerTimer);
|
|
73
|
-
outerTimer = null;
|
|
74
|
-
}
|
|
75
|
-
if (killTimer) {
|
|
76
|
-
clearTimeout(killTimer);
|
|
77
|
-
killTimer = null;
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const exitPromise = new Promise((resolve) => {
|
|
81
|
-
child.once("close", (code, signal) => {
|
|
82
|
-
clearTimers();
|
|
83
|
-
resolve({ code, signal });
|
|
84
|
-
});
|
|
85
|
-
child.once("error", () => {
|
|
86
|
-
clearTimers();
|
|
87
|
-
resolve({ code: null, signal: null });
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
const timeoutPromise = new Promise((resolve) => {
|
|
91
|
-
outerTimer = setTimeout(() => {
|
|
92
|
-
timedOut = true;
|
|
93
|
-
try {
|
|
94
|
-
child.kill("SIGTERM");
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
/* already gone */
|
|
98
|
-
}
|
|
99
|
-
// SIGKILL escalation after a short grace period so a wedged
|
|
100
|
-
// claude does not hang the runner past `timeoutMs + epsilon`.
|
|
101
|
-
killTimer = setTimeout(() => {
|
|
102
|
-
try {
|
|
103
|
-
child.kill("SIGKILL");
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
/* already gone */
|
|
107
|
-
}
|
|
108
|
-
}, 2000);
|
|
109
|
-
killTimer.unref();
|
|
110
|
-
// Hand the resolved value over to the race; the close listener
|
|
111
|
-
// will land its own value first when the child exits cleanly.
|
|
112
|
-
exitPromise.then(resolve);
|
|
113
|
-
}, opts.timeoutMs);
|
|
114
|
-
outerTimer.unref();
|
|
115
|
-
});
|
|
116
|
-
const { code, signal } = await Promise.race([exitPromise, timeoutPromise]);
|
|
117
|
-
clearTimers();
|
|
118
|
-
// Flush writers before returning so a caller that re-reads the files
|
|
119
|
-
// sees the same bytes the in-memory text holds.
|
|
120
|
-
await new Promise((resolve) => streamWriter.end(resolve));
|
|
121
|
-
await new Promise((resolve) => stderrWriter.end(resolve));
|
|
122
|
-
return {
|
|
123
|
-
exitCode: code,
|
|
124
|
-
signal,
|
|
125
|
-
timedOut,
|
|
126
|
-
streamPath,
|
|
127
|
-
stderrPath,
|
|
128
|
-
streamText,
|
|
129
|
-
stderrText,
|
|
130
|
-
argv,
|
|
131
|
-
durationMs: Date.now() - start,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/cli/smoke/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export interface InitEvent {
|
|
2
|
-
type: "system";
|
|
3
|
-
subtype: "init";
|
|
4
|
-
session_id?: string;
|
|
5
|
-
cwd?: string;
|
|
6
|
-
model?: string;
|
|
7
|
-
permissionMode?: string;
|
|
8
|
-
[key: string]: unknown;
|
|
9
|
-
}
|
|
10
|
-
export interface HookStartedEvent {
|
|
11
|
-
type: "system";
|
|
12
|
-
subtype: "hook_started";
|
|
13
|
-
hook_id?: string;
|
|
14
|
-
hook_name?: string;
|
|
15
|
-
hook_event?: string;
|
|
16
|
-
session_id?: string;
|
|
17
|
-
[key: string]: unknown;
|
|
18
|
-
}
|
|
19
|
-
export interface HookResponseEvent {
|
|
20
|
-
type: "system";
|
|
21
|
-
subtype: "hook_response";
|
|
22
|
-
hook_id?: string;
|
|
23
|
-
hook_name?: string;
|
|
24
|
-
hook_event?: string;
|
|
25
|
-
output?: string;
|
|
26
|
-
stdout?: string;
|
|
27
|
-
stderr?: string;
|
|
28
|
-
exit_code?: number;
|
|
29
|
-
outcome?: string;
|
|
30
|
-
session_id?: string;
|
|
31
|
-
[key: string]: unknown;
|
|
32
|
-
}
|
|
33
|
-
export interface ResultEvent {
|
|
34
|
-
type: "result";
|
|
35
|
-
subtype?: string;
|
|
36
|
-
is_error?: boolean;
|
|
37
|
-
duration_ms?: number;
|
|
38
|
-
session_id?: string;
|
|
39
|
-
result?: string;
|
|
40
|
-
[key: string]: unknown;
|
|
41
|
-
}
|
|
42
|
-
export interface HookPair {
|
|
43
|
-
hookId: string;
|
|
44
|
-
hookName: string;
|
|
45
|
-
hookEvent: string;
|
|
46
|
-
started: HookStartedEvent;
|
|
47
|
-
response: HookResponseEvent | null;
|
|
48
|
-
stdout: string;
|
|
49
|
-
stderr: string;
|
|
50
|
-
exitCode: number | null;
|
|
51
|
-
outcome: string | null;
|
|
52
|
-
}
|
|
53
|
-
export interface StreamSummary {
|
|
54
|
-
init: InitEvent | null;
|
|
55
|
-
hooks: HookPair[];
|
|
56
|
-
result: ResultEvent | null;
|
|
57
|
-
totalLines: number;
|
|
58
|
-
malformedLines: number;
|
|
59
|
-
/** Up to 20 unrecognised event shapes (truncated past that to bound memory). */
|
|
60
|
-
unrecognised: Array<{
|
|
61
|
-
type?: string;
|
|
62
|
-
subtype?: string;
|
|
63
|
-
}>;
|
|
64
|
-
}
|
|
65
|
-
export declare function parseStreamJsonl(text: string): StreamSummary;
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
// Phase 7 follow-up: `harness smoke` stream-json parser.
|
|
2
|
-
//
|
|
3
|
-
// `claude -p --output-format stream-json --include-hook-events` emits a
|
|
4
|
-
// JSONL stream where each line is one of:
|
|
5
|
-
//
|
|
6
|
-
// { type: "system", subtype: "init", ... } // session start
|
|
7
|
-
// { type: "system", subtype: "hook_started", ... } // hook begins
|
|
8
|
-
// { type: "system", subtype: "hook_response", ... } // hook returns
|
|
9
|
-
// { type: "assistant", message: {...}, ... } // model reply chunk
|
|
10
|
-
// { type: "result", subtype: "success", ... } // terminal
|
|
11
|
-
//
|
|
12
|
-
// This module classifies those lines into a structured summary that the
|
|
13
|
-
// assertion engine can probe without re-reading the stream. Unknown event
|
|
14
|
-
// shapes are kept in `unrecognised` (capped) so a future Claude Code
|
|
15
|
-
// release that adds new subtypes does not silently swallow regressions.
|
|
16
|
-
const UNRECOGNISED_CAP = 20;
|
|
17
|
-
export function parseStreamJsonl(text) {
|
|
18
|
-
const summary = {
|
|
19
|
-
init: null,
|
|
20
|
-
hooks: [],
|
|
21
|
-
result: null,
|
|
22
|
-
totalLines: 0,
|
|
23
|
-
malformedLines: 0,
|
|
24
|
-
unrecognised: [],
|
|
25
|
-
};
|
|
26
|
-
const pending = new Map();
|
|
27
|
-
for (const raw of text.split("\n")) {
|
|
28
|
-
const line = raw.trim();
|
|
29
|
-
if (!line)
|
|
30
|
-
continue;
|
|
31
|
-
summary.totalLines += 1;
|
|
32
|
-
let msg;
|
|
33
|
-
try {
|
|
34
|
-
msg = JSON.parse(line);
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
summary.malformedLines += 1;
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
const type = msg.type;
|
|
41
|
-
const subtype = msg.subtype;
|
|
42
|
-
if (type === "system" && subtype === "init") {
|
|
43
|
-
summary.init = msg;
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
if (type === "system" && subtype === "hook_started") {
|
|
47
|
-
const ev = msg;
|
|
48
|
-
if (typeof ev.hook_id === "string") {
|
|
49
|
-
pending.set(ev.hook_id, ev);
|
|
50
|
-
}
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if (type === "system" && subtype === "hook_response") {
|
|
54
|
-
const ev = msg;
|
|
55
|
-
const hookId = typeof ev.hook_id === "string" ? ev.hook_id : "";
|
|
56
|
-
const started = pending.get(hookId);
|
|
57
|
-
// Some hook_responses arrive without a matching hook_started in the
|
|
58
|
-
// same stream (e.g. session-resume edge cases). Synthesise a minimal
|
|
59
|
-
// started shell so the pair is still consumable by assertions.
|
|
60
|
-
const startedFallback = started ?? {
|
|
61
|
-
type: "system",
|
|
62
|
-
subtype: "hook_started",
|
|
63
|
-
hook_id: hookId,
|
|
64
|
-
hook_name: ev.hook_name,
|
|
65
|
-
hook_event: ev.hook_event,
|
|
66
|
-
};
|
|
67
|
-
pending.delete(hookId);
|
|
68
|
-
summary.hooks.push({
|
|
69
|
-
hookId,
|
|
70
|
-
hookName: typeof ev.hook_name === "string" ? ev.hook_name : "",
|
|
71
|
-
hookEvent: typeof ev.hook_event === "string" ? ev.hook_event : "",
|
|
72
|
-
started: startedFallback,
|
|
73
|
-
response: ev,
|
|
74
|
-
stdout: typeof ev.stdout === "string" ? ev.stdout : "",
|
|
75
|
-
stderr: typeof ev.stderr === "string" ? ev.stderr : "",
|
|
76
|
-
exitCode: typeof ev.exit_code === "number" ? ev.exit_code : null,
|
|
77
|
-
outcome: typeof ev.outcome === "string" ? ev.outcome : null,
|
|
78
|
-
});
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
if (type === "result") {
|
|
82
|
-
summary.result = msg;
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
// Anything else: kept terse for forensics, capped.
|
|
86
|
-
if (type === "assistant" || type === "rate_limit_event" || type === "user") {
|
|
87
|
-
// Known noise we do not surface in the summary.
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
if (summary.unrecognised.length < UNRECOGNISED_CAP) {
|
|
91
|
-
summary.unrecognised.push({
|
|
92
|
-
type: typeof type === "string" ? type : undefined,
|
|
93
|
-
subtype: typeof subtype === "string" ? subtype : undefined,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
// Flush hook_started events that never got a response (claude killed
|
|
98
|
-
// mid-hook). We surface them as pairs with response=null so an
|
|
99
|
-
// assertion can fail loudly rather than silently miss the hook fire.
|
|
100
|
-
for (const started of pending.values()) {
|
|
101
|
-
summary.hooks.push({
|
|
102
|
-
hookId: typeof started.hook_id === "string" ? started.hook_id : "",
|
|
103
|
-
hookName: typeof started.hook_name === "string" ? started.hook_name : "",
|
|
104
|
-
hookEvent: typeof started.hook_event === "string" ? started.hook_event : "",
|
|
105
|
-
started,
|
|
106
|
-
response: null,
|
|
107
|
-
stdout: "",
|
|
108
|
-
stderr: "",
|
|
109
|
-
exitCode: null,
|
|
110
|
-
outcome: null,
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
return summary;
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=stream-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-parser.js","sourceRoot":"","sources":["../../../src/cli/smoke/stream-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/test-risk.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { type RiskProfile } from "../runtime/index.js";
|
|
2
|
-
import type { Manifest } from "../schema/index.js";
|
|
3
|
-
import { type EnrichmentSeams } from "./enriched-event.js";
|
|
4
|
-
import { type EventInputSeams } from "./event-input.js";
|
|
5
|
-
import { type LoaderOptions } from "./loader.js";
|
|
6
|
-
export interface TestRiskOptions extends EventInputSeams, EnrichmentSeams, LoaderOptions {
|
|
7
|
-
/** Path to the tool-event JSON file. */
|
|
8
|
-
eventPath: string;
|
|
9
|
-
/** Emit JSON instead of YAML. */
|
|
10
|
-
json?: boolean;
|
|
11
|
-
/** Inject the resolved manifest (tests); bypasses `loadManifest`. */
|
|
12
|
-
manifest?: Manifest;
|
|
13
|
-
}
|
|
14
|
-
export interface TestRiskResult {
|
|
15
|
-
output: string;
|
|
16
|
-
profile: RiskProfile;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Build the Action Envelope for a tool-event JSON file, classify it
|
|
20
|
-
* against the manifest's risk classifiers, and render the profile.
|
|
21
|
-
*
|
|
22
|
-
* Throws `HarnessExitError(EX_NOINPUT)` when the event file is missing,
|
|
23
|
-
* malformed, or not a JSON object (see `loadEventEnvelope`). A manifest
|
|
24
|
-
* with no `risk.classifiers[]` is valid: every action then classifies
|
|
25
|
-
* as unclassified ("unknown is not safe").
|
|
26
|
-
*/
|
|
27
|
-
export declare function testRisk(opts: TestRiskOptions): TestRiskResult;
|
package/dist/cli/test-risk.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// Phase 7 #3 — `harness test-risk` CLI entrypoint.
|
|
2
|
-
//
|
|
3
|
-
// Debug verb for the Risk Gate. Reads a tool-event JSON file, builds
|
|
4
|
-
// the Action Envelope (#2), classifies it against the manifest's
|
|
5
|
-
// `risk.classifiers[]` (#3), and prints the resulting risk profile.
|
|
6
|
-
// The inspection surface for the Risk Classifier, the counterpart of
|
|
7
|
-
// `harness explain-action` one stage further down the pipeline.
|
|
8
|
-
//
|
|
9
|
-
// File read, JSON guards, and envelope build are the shared
|
|
10
|
-
// `event-input` front end; manifest load + classification + rendering
|
|
11
|
-
// live here.
|
|
12
|
-
import { stringify as stringifyYaml } from "yaml";
|
|
13
|
-
import { classifyRisk } from "../runtime/index.js";
|
|
14
|
-
import { enrichLoadedEvent } from "./enriched-event.js";
|
|
15
|
-
import { loadEventEnvelope } from "./event-input.js";
|
|
16
|
-
import { loadManifest } from "./loader.js";
|
|
17
|
-
/**
|
|
18
|
-
* Build the Action Envelope for a tool-event JSON file, classify it
|
|
19
|
-
* against the manifest's risk classifiers, and render the profile.
|
|
20
|
-
*
|
|
21
|
-
* Throws `HarnessExitError(EX_NOINPUT)` when the event file is missing,
|
|
22
|
-
* malformed, or not a JSON object (see `loadEventEnvelope`). A manifest
|
|
23
|
-
* with no `risk.classifiers[]` is valid: every action then classifies
|
|
24
|
-
* as unclassified ("unknown is not safe").
|
|
25
|
-
*/
|
|
26
|
-
export function testRisk(opts) {
|
|
27
|
-
const loaded = loadEventEnvelope(opts.eventPath, opts, "test-risk");
|
|
28
|
-
const manifest = opts.manifest ?? loadManifest(opts).manifest;
|
|
29
|
-
// Classify the envelope the hook classifies: after its Bash-prefix
|
|
30
|
-
// enrichment (leading `cd`, `git switch|checkout`; task 8b891e83).
|
|
31
|
-
const { envelope } = enrichLoadedEvent(loaded, manifest, opts);
|
|
32
|
-
const profile = classifyRisk(envelope, manifest.risk.classifiers);
|
|
33
|
-
const output = opts.json
|
|
34
|
-
? `${JSON.stringify(profile, null, 2)}\n`
|
|
35
|
-
: stringifyYaml(profile, { lineWidth: 0 });
|
|
36
|
-
return { output, profile };
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=test-risk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-risk.js","sourceRoot":"","sources":["../../src/cli/test-risk.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,oEAAoE;AACpE,qEAAqE;AACrE,gEAAgE;AAChE,EAAE;AACF,4DAA4D;AAC5D,sEAAsE;AACtE,aAAa;AAEb,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAwB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAsB,MAAM,aAAa,CAAC;AAgB/D;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAqB;IAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC9D,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI;QACtB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;QACzC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `value` as one double-quoted, single-line literal that is safe to print:
|
|
3
|
-
* `JSON.stringify` escapes `"`, `\`, every C0 control character (ESC as
|
|
4
|
-
* `\u001b`, CR as `\r`, LF as `\n`) and lone surrogates, and DEL and the C1
|
|
5
|
-
* range, which JSON leaves raw (U+009B is a one-byte CSI on terminals that
|
|
6
|
-
* honour C1), are escaped here as `\uXXXX`. Unicode format characters
|
|
7
|
-
* (including bidi overrides) and line/paragraph separators are escaped too.
|
|
8
|
-
* Supplementary characters use two UTF-16 `\uXXXX` escapes so the result
|
|
9
|
-
* stays a JSON literal that parses back to the original string.
|
|
10
|
-
*/
|
|
11
|
-
export declare function escapeForDisplay(value: string): string;
|
package/dist/io/display-path.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
// Safe rendering of a path (or any other agent-chosen string) into text an
|
|
2
|
-
// operator reads on a terminal.
|
|
3
|
-
//
|
|
4
|
-
// A file name in a directory the gated agent can write is attacker-chosen:
|
|
5
|
-
// POSIX permits every byte but `/` and NUL in it, so it can carry an ESC
|
|
6
|
-
// (an OSC 52 clipboard write, a screen clear), a CR (overwrite the line it
|
|
7
|
-
// lands on) or a newline (forge an extra diagnostic-looking line). A path
|
|
8
|
-
// that reaches stderr therefore goes through this one helper; it ESCAPES
|
|
9
|
-
// rather than strips, so the operator can still see which name is meant and
|
|
10
|
-
// can copy its escaped form into a recovery command.
|
|
11
|
-
//
|
|
12
|
-
// Lives in `src/io/` for the same reason `project-name.ts` does: it is a
|
|
13
|
-
// leaf utility any layer may use (`io/` may not import from `runtime/`).
|
|
14
|
-
/** Controls JSON leaves raw, Unicode format characters and line separators. */
|
|
15
|
-
const UNSAFE_DISPLAY_CHARACTERS = /[\u007f-\u009f\p{Cf}\u2028\u2029]/gu;
|
|
16
|
-
/**
|
|
17
|
-
* `value` as one double-quoted, single-line literal that is safe to print:
|
|
18
|
-
* `JSON.stringify` escapes `"`, `\`, every C0 control character (ESC as
|
|
19
|
-
* `\u001b`, CR as `\r`, LF as `\n`) and lone surrogates, and DEL and the C1
|
|
20
|
-
* range, which JSON leaves raw (U+009B is a one-byte CSI on terminals that
|
|
21
|
-
* honour C1), are escaped here as `\uXXXX`. Unicode format characters
|
|
22
|
-
* (including bidi overrides) and line/paragraph separators are escaped too.
|
|
23
|
-
* Supplementary characters use two UTF-16 `\uXXXX` escapes so the result
|
|
24
|
-
* stays a JSON literal that parses back to the original string.
|
|
25
|
-
*/
|
|
26
|
-
export function escapeForDisplay(value) {
|
|
27
|
-
return JSON.stringify(value).replace(UNSAFE_DISPLAY_CHARACTERS, (ch) => ch.split("").map((unit) => `\\u${unit.charCodeAt(0).toString(16).padStart(4, "0")}`).join(""));
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=display-path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"display-path.js","sourceRoot":"","sources":["../../src/io/display-path.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gCAAgC;AAChC,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AAEzE,+EAA+E;AAC/E,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAExE;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAClC,yBAAyB,EACzB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACtG,CAAC;AACJ,CAAC"}
|
package/dist/io/duration.d.ts
DELETED
package/dist/io/duration.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
const SHORTHAND_RE = /^([0-9]+)(s|m|h|d)$/;
|
|
2
|
-
const ISO_RE = /^P(?!$)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/;
|
|
3
|
-
const SECONDS = {
|
|
4
|
-
s: 1,
|
|
5
|
-
m: 60,
|
|
6
|
-
h: 60 * 60,
|
|
7
|
-
d: 24 * 60 * 60,
|
|
8
|
-
};
|
|
9
|
-
const ISO_SECONDS = {
|
|
10
|
-
year: 365 * 24 * 60 * 60,
|
|
11
|
-
month: 30 * 24 * 60 * 60,
|
|
12
|
-
week: 7 * 24 * 60 * 60,
|
|
13
|
-
day: 24 * 60 * 60,
|
|
14
|
-
hour: 60 * 60,
|
|
15
|
-
minute: 60,
|
|
16
|
-
second: 1,
|
|
17
|
-
};
|
|
18
|
-
export class InvalidDurationError extends Error {
|
|
19
|
-
value;
|
|
20
|
-
constructor(value) {
|
|
21
|
-
super(`invalid duration "${value}": expected shorthand like "24h" / "30m" / "7d" / "60s" or an ISO-8601 duration like "PT1H" / "P1D"`);
|
|
22
|
-
this.value = value;
|
|
23
|
-
this.name = "InvalidDurationError";
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export function parseDurationSeconds(value) {
|
|
27
|
-
const trimmed = value.trim();
|
|
28
|
-
const short = SHORTHAND_RE.exec(trimmed);
|
|
29
|
-
if (short) {
|
|
30
|
-
const n = Number.parseInt(short[1], 10);
|
|
31
|
-
const unit = short[2];
|
|
32
|
-
return n * SECONDS[unit];
|
|
33
|
-
}
|
|
34
|
-
const iso = ISO_RE.exec(trimmed);
|
|
35
|
-
if (iso) {
|
|
36
|
-
const [, y, mo, w, d, h, mi, s] = iso;
|
|
37
|
-
const total = (Number(y ?? 0) * ISO_SECONDS.year) +
|
|
38
|
-
(Number(mo ?? 0) * ISO_SECONDS.month) +
|
|
39
|
-
(Number(w ?? 0) * ISO_SECONDS.week) +
|
|
40
|
-
(Number(d ?? 0) * ISO_SECONDS.day) +
|
|
41
|
-
(Number(h ?? 0) * ISO_SECONDS.hour) +
|
|
42
|
-
(Number(mi ?? 0) * ISO_SECONDS.minute) +
|
|
43
|
-
(Number(s ?? 0) * ISO_SECONDS.second);
|
|
44
|
-
if (total === 0)
|
|
45
|
-
throw new InvalidDurationError(value);
|
|
46
|
-
return total;
|
|
47
|
-
}
|
|
48
|
-
throw new InvalidDurationError(value);
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=duration.js.map
|
package/dist/io/duration.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../src/io/duration.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,MAAM,GACV,6FAA6F,CAAC;AAEhG,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE,GAAG,EAAE;IACV,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CACP,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACxB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACxB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACtB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IACjB,IAAI,EAAE,EAAE,GAAG,EAAE;IACb,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,CAAC;CACD,CAAC;AAEX,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACjB;IAA5B,YAA4B,KAAa;QACvC,KAAK,CACH,qBAAqB,KAAK,qGAAqG,CAChI,CAAC;QAHwB,UAAK,GAAL,KAAK,CAAQ;QAIvC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAyB,CAAC;QAC9C,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QACtC,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;YACrC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;YAClC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YACtC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/io/extract.d.ts
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
declare const NAMESPACES: readonly ["toolArgs", "event", "session", "git"];
|
|
2
|
-
type Namespace = (typeof NAMESPACES)[number];
|
|
3
|
-
export declare class ExtractGrammarError extends Error {
|
|
4
|
-
readonly expression: string;
|
|
5
|
-
constructor(message: string, expression: string);
|
|
6
|
-
}
|
|
7
|
-
export type ExtractSegment = {
|
|
8
|
-
kind: "identifier";
|
|
9
|
-
key: string;
|
|
10
|
-
} | {
|
|
11
|
-
kind: "bracket";
|
|
12
|
-
key: string;
|
|
13
|
-
};
|
|
14
|
-
export interface ExtractPath {
|
|
15
|
-
namespace: Namespace;
|
|
16
|
-
segments: ExtractSegment[];
|
|
17
|
-
}
|
|
18
|
-
export declare function parseExtractExpression(expr: string): ExtractPath;
|
|
19
|
-
export declare function validateExtractGrammar(expr: string): void;
|
|
20
|
-
export interface ExtractEventContext {
|
|
21
|
-
toolArgs?: unknown;
|
|
22
|
-
event?: unknown;
|
|
23
|
-
session?: unknown;
|
|
24
|
-
git?: unknown;
|
|
25
|
-
}
|
|
26
|
-
export interface ExtractBuiltins {
|
|
27
|
-
SESSION_ID: string;
|
|
28
|
-
REPO: string;
|
|
29
|
-
BRANCH: string;
|
|
30
|
-
TOOL_NAME: string;
|
|
31
|
-
CWD: string;
|
|
32
|
-
}
|
|
33
|
-
export type ExtractTraceSource = "extract" | "builtin" | "missing";
|
|
34
|
-
export interface ExtractTraceEntry {
|
|
35
|
-
var: string;
|
|
36
|
-
expression: string;
|
|
37
|
-
resolved: string;
|
|
38
|
-
source: ExtractTraceSource;
|
|
39
|
-
}
|
|
40
|
-
export interface ExtractEvaluation {
|
|
41
|
-
values: Record<string, string>;
|
|
42
|
-
traceData: ExtractTraceEntry[];
|
|
43
|
-
}
|
|
44
|
-
export declare function evaluateExtract(extracts: Record<string, string>, ctx: ExtractEventContext, builtins: ExtractBuiltins): ExtractEvaluation;
|
|
45
|
-
export interface SubstituteTemplateResult {
|
|
46
|
-
result: string;
|
|
47
|
-
missing: string[];
|
|
48
|
-
}
|
|
49
|
-
export declare function substituteTemplate(template: string, values: Record<string, string>): SubstituteTemplateResult;
|
|
50
|
-
/** One `trigger.input_match` map: extract expression -> expected literal. */
|
|
51
|
-
export type InputMatchMap = Record<string, string | number | boolean>;
|
|
52
|
-
export interface InputMatchMismatch {
|
|
53
|
-
/** The extract expression whose value did not equal the declared literal. */
|
|
54
|
-
expression: string;
|
|
55
|
-
/** The literal the policy declared. */
|
|
56
|
-
expected: string | number | boolean;
|
|
57
|
-
/** The value actually read from the event payload (`undefined` when absent). */
|
|
58
|
-
actual: unknown;
|
|
59
|
-
/** True when the path resolved to nothing at all (absent or null). */
|
|
60
|
-
missing: boolean;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Read the RAW (unstringified) value an extract expression points at.
|
|
64
|
-
* `evaluateExtract` above stringifies for `${VAR}` substitution; an
|
|
65
|
-
* equality predicate must not, or `true` and `"true"` would compare equal.
|
|
66
|
-
*/
|
|
67
|
-
export declare function resolveExtractPathValue(expr: string, ctx: ExtractEventContext): unknown;
|
|
68
|
-
/**
|
|
69
|
-
* The FIRST entry of `inputMatch` that does not hold for this event, or
|
|
70
|
-
* `null` when every entry holds (the trigger's input predicate passes).
|
|
71
|
-
*
|
|
72
|
-
* Fail direction on an unparseable expression: the entry is treated as
|
|
73
|
-
* HOLDING, so a malformed `input_match` leaves the policy matching and
|
|
74
|
-
* its `requires:` gate armed, rather than silently excusing the tool call
|
|
75
|
-
* from a block gate. The schema rejects such an expression at parse time,
|
|
76
|
-
* so this only guards hand-built `Manifest` objects (tests, embedders).
|
|
77
|
-
*/
|
|
78
|
-
export declare function firstInputMatchMismatch(inputMatch: InputMatchMap, ctx: ExtractEventContext): InputMatchMismatch | null;
|
|
79
|
-
export {};
|