@lannguyensi/harness 0.63.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +90 -0
- package/README.md +46 -42
- package/dist/cli/add/index.js +17 -21
- package/dist/cli/add/index.js.map +1 -1
- package/dist/cli/adopt/derive.d.ts +2 -2
- package/dist/cli/adopt/derive.js +2 -19
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/adopt/index.d.ts +1 -1
- package/dist/cli/adopt/index.js +1 -12
- package/dist/cli/adopt/index.js.map +1 -1
- package/dist/cli/apply/apply.d.ts +20 -35
- package/dist/cli/apply/apply.js +61 -136
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-codex-config.js +10 -58
- package/dist/cli/apply/generate-codex-config.js.map +1 -1
- package/dist/cli/apply/generate-memory-index.js +1 -2
- package/dist/cli/apply/generate-memory-index.js.map +1 -1
- package/dist/cli/apply/generate-opencode-config.d.ts +2 -10
- package/dist/cli/apply/generate-opencode-config.js +74 -113
- package/dist/cli/apply/generate-opencode-config.js.map +1 -1
- package/dist/cli/apply/generate-settings.d.ts +11 -64
- package/dist/cli/apply/generate-settings.js +27 -132
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/apply/index.d.ts +1 -1
- package/dist/cli/apply/index.js +1 -1
- package/dist/cli/apply/index.js.map +1 -1
- package/dist/cli/apply/install-codex-config.d.ts +153 -1
- package/dist/cli/apply/install-codex-config.js +445 -70
- package/dist/cli/apply/install-codex-config.js.map +1 -1
- package/dist/cli/apply/next-steps.d.ts +7 -0
- package/dist/cli/apply/next-steps.js +13 -1
- package/dist/cli/apply/next-steps.js.map +1 -1
- package/dist/cli/bounded-stdin.d.ts +0 -23
- package/dist/cli/bounded-stdin.js +2 -49
- package/dist/cli/bounded-stdin.js.map +1 -1
- package/dist/cli/describe.d.ts +1 -1
- package/dist/cli/describe.js +0 -3
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/diff/engine.d.ts +0 -11
- package/dist/cli/diff/engine.js +1 -17
- package/dist/cli/diff/engine.js.map +1 -1
- package/dist/cli/diff/index.js +14 -25
- package/dist/cli/diff/index.js.map +1 -1
- package/dist/cli/doctor/claude-mcp.d.ts +4 -19
- package/dist/cli/doctor/claude-mcp.js +11 -22
- package/dist/cli/doctor/claude-mcp.js.map +1 -1
- package/dist/cli/doctor/codex.d.ts +12 -14
- package/dist/cli/doctor/codex.js +31 -144
- package/dist/cli/doctor/codex.js.map +1 -1
- package/dist/cli/doctor/format.js +23 -338
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/hook-liveness.d.ts +56 -0
- package/dist/cli/doctor/hook-liveness.js +455 -0
- package/dist/cli/doctor/hook-liveness.js.map +1 -0
- package/dist/cli/doctor/index.d.ts +13 -87
- package/dist/cli/doctor/index.js +57 -705
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/opencode.d.ts +2 -1
- package/dist/cli/doctor/opencode.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +21 -378
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/drain-stdio.d.ts +31 -0
- package/dist/cli/drain-stdio.js +76 -0
- package/dist/cli/drain-stdio.js.map +1 -0
- package/dist/cli/export.d.ts +3 -1
- package/dist/cli/export.js +7 -16
- package/dist/cli/export.js.map +1 -1
- package/dist/cli/gate/codex-disable.d.ts +29 -0
- package/dist/cli/gate/codex-disable.js +195 -0
- package/dist/cli/gate/codex-disable.js.map +1 -0
- package/dist/cli/gate/codex-enable.d.ts +41 -0
- package/dist/cli/gate/codex-enable.js +127 -0
- package/dist/cli/gate/codex-enable.js.map +1 -0
- package/dist/cli/gate/codex-snapshot.d.ts +208 -0
- package/dist/cli/gate/codex-snapshot.js +402 -0
- package/dist/cli/gate/codex-snapshot.js.map +1 -0
- package/dist/cli/gate/disable.d.ts +9 -0
- package/dist/cli/gate/disable.js +263 -28
- package/dist/cli/gate/disable.js.map +1 -1
- package/dist/cli/gate/enable.d.ts +26 -6
- package/dist/cli/gate/enable.js +152 -80
- package/dist/cli/gate/enable.js.map +1 -1
- package/dist/cli/gate/link-chain.d.ts +53 -0
- package/dist/cli/gate/link-chain.js +122 -0
- package/dist/cli/gate/link-chain.js.map +1 -0
- package/dist/cli/gate/snapshot.d.ts +289 -12
- package/dist/cli/gate/snapshot.js +481 -22
- package/dist/cli/gate/snapshot.js.map +1 -1
- package/dist/cli/index.d.ts +0 -9
- package/dist/cli/index.js +15 -2607
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/composer.d.ts +3 -6
- package/dist/cli/init/composer.js +6 -370
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/dependencies.d.ts +1 -2
- package/dist/cli/init/dependencies.js +4 -80
- package/dist/cli/init/dependencies.js.map +1 -1
- package/dist/cli/init/detect.js +5 -4
- package/dist/cli/init/detect.js.map +1 -1
- package/dist/cli/init/interactive.d.ts +1 -23
- package/dist/cli/init/interactive.js +33 -247
- package/dist/cli/init/interactive.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +2 -2
- package/dist/cli/init/profiles.js +51 -243
- package/dist/cli/init/profiles.js.map +1 -1
- package/dist/cli/init/templates.d.ts +2 -37
- package/dist/cli/init/templates.js +25 -1237
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/list.d.ts +1 -1
- package/dist/cli/list.js +1 -38
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/loader.d.ts +15 -1
- package/dist/cli/loader.js +56 -39
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/main.js +7 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/migrate-home/index.js +2 -2
- package/dist/cli/migrate-home/index.js.map +1 -1
- package/dist/cli/pack/add.js +1 -1
- package/dist/cli/pack/add.js.map +1 -1
- package/dist/cli/pack/hook-bootstrap.d.ts +5 -164
- package/dist/cli/pack/hook-bootstrap.js +15 -291
- package/dist/cli/pack/hook-bootstrap.js.map +1 -1
- package/dist/cli/pack/hook-branch-protection.d.ts +28 -21
- package/dist/cli/pack/hook-branch-protection.js +365 -340
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/index.d.ts +0 -1
- package/dist/cli/pack/index.js +0 -1
- package/dist/cli/pack/index.js.map +1 -1
- package/dist/cli/pack/list.js +1 -6
- package/dist/cli/pack/list.js.map +1 -1
- package/dist/cli/pack/mutate.d.ts +7 -9
- package/dist/cli/pack/mutate.js +6 -9
- package/dist/cli/pack/mutate.js.map +1 -1
- package/dist/cli/pack/reseed.d.ts +2 -2
- package/dist/cli/pack/reseed.js +16 -22
- package/dist/cli/pack/reseed.js.map +1 -1
- package/dist/cli/register-gate-group.d.ts +5 -0
- package/dist/cli/register-gate-group.js +348 -0
- package/dist/cli/register-gate-group.js.map +1 -0
- package/dist/cli/register-inspect-group.d.ts +6 -0
- package/dist/cli/register-inspect-group.js +189 -0
- package/dist/cli/register-inspect-group.js.map +1 -0
- package/dist/cli/register-operator-lifecycle.d.ts +5 -0
- package/dist/cli/register-operator-lifecycle.js +20 -0
- package/dist/cli/register-operator-lifecycle.js.map +1 -0
- package/dist/cli/register-pack-group.d.ts +5 -0
- package/dist/cli/register-pack-group.js +134 -0
- package/dist/cli/register-pack-group.js.map +1 -0
- package/dist/cli/register-setup-group.d.ts +5 -0
- package/dist/cli/register-setup-group.js +495 -0
- package/dist/cli/register-setup-group.js.map +1 -0
- package/dist/cli/remove/index.d.ts +0 -14
- package/dist/cli/remove/index.js +2 -115
- package/dist/cli/remove/index.js.map +1 -1
- package/dist/cli/remove/mutate.d.ts +0 -2
- package/dist/cli/remove/mutate.js +1 -19
- package/dist/cli/remove/mutate.js.map +1 -1
- package/dist/cli/remove/register.d.ts +5 -0
- package/dist/cli/remove/register.js +25 -0
- package/dist/cli/remove/register.js.map +1 -0
- package/dist/cli/shell-quote.d.ts +7 -0
- package/dist/cli/shell-quote.js +17 -0
- package/dist/cli/shell-quote.js.map +1 -0
- package/dist/cli/uninstall/index.d.ts +4 -2
- package/dist/cli/uninstall/index.js +15 -7
- package/dist/cli/uninstall/index.js.map +1 -1
- package/dist/cli/uninstall/register.d.ts +5 -0
- package/dist/cli/uninstall/register.js +171 -0
- package/dist/cli/uninstall/register.js.map +1 -0
- package/dist/cli/uninstall/snapshot.d.ts +15 -0
- package/dist/cli/uninstall/snapshot.js +38 -0
- package/dist/cli/uninstall/snapshot.js.map +1 -1
- package/dist/cli/validate/checks.d.ts +0 -77
- package/dist/cli/validate/checks.js +3 -1049
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/cli/validate/index.js +19 -15
- package/dist/cli/validate/index.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/io/claude-mcp.d.ts +1 -1
- package/dist/io/claude-mcp.js +27 -14
- package/dist/io/claude-mcp.js.map +1 -1
- package/dist/io/harness-lock.js +2 -2
- package/dist/io/harness-lock.js.map +1 -1
- package/dist/io/lock.d.ts +0 -26
- package/dist/io/lock.js +10 -27
- package/dist/io/lock.js.map +1 -1
- package/dist/io/merge-settings.js +6 -4
- package/dist/io/merge-settings.js.map +1 -1
- package/dist/io/project-name.d.ts +22 -39
- package/dist/io/project-name.js +25 -42
- package/dist/io/project-name.js.map +1 -1
- package/dist/io/read-regular-file.d.ts +103 -40
- package/dist/io/read-regular-file.js +196 -35
- package/dist/io/read-regular-file.js.map +1 -1
- package/dist/io/restart-hints.js +3 -6
- package/dist/io/restart-hints.js.map +1 -1
- package/dist/io/version-compare.d.ts +1 -3
- package/dist/io/version-compare.js +1 -3
- package/dist/io/version-compare.js.map +1 -1
- package/dist/io/write-regular-file.d.ts +30 -0
- package/dist/io/write-regular-file.js +85 -0
- package/dist/io/write-regular-file.js.map +1 -0
- package/dist/overrides/index.d.ts +1 -0
- package/dist/overrides/index.js +1 -0
- package/dist/overrides/index.js.map +1 -1
- package/dist/overrides/merge-layers.d.ts +43 -0
- package/dist/overrides/merge-layers.js +76 -0
- package/dist/overrides/merge-layers.js.map +1 -0
- package/dist/overrides/merge.d.ts +16 -0
- package/dist/overrides/merge.js +21 -8
- package/dist/overrides/merge.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +4 -69
- package/dist/policy-packs/builtin/branch-protection-runtime.js +12 -84
- package/dist/policy-packs/builtin/branch-protection-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection.d.ts +7 -30
- package/dist/policy-packs/builtin/branch-protection.js +56 -89
- package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
- package/dist/policy-packs/config-check.d.ts +7 -5
- package/dist/policy-packs/config-check.js +2 -2
- package/dist/policy-packs/config-check.js.map +1 -1
- package/dist/policy-packs/expand.d.ts +1 -3
- package/dist/policy-packs/expand.js +5 -42
- package/dist/policy-packs/expand.js.map +1 -1
- package/dist/policy-packs/index.d.ts +3 -3
- package/dist/policy-packs/index.js +2 -2
- package/dist/policy-packs/index.js.map +1 -1
- package/dist/policy-packs/registry.d.ts +9 -38
- package/dist/policy-packs/registry.js +5 -65
- package/dist/policy-packs/registry.js.map +1 -1
- package/dist/policy-packs/runtime.d.ts +0 -4
- package/dist/policy-packs/runtime.js +9 -22
- package/dist/policy-packs/runtime.js.map +1 -1
- package/dist/policy-packs/types.d.ts +0 -19
- package/dist/policy-packs/ux-compare.d.ts +1 -11
- package/dist/policy-packs/ux-compare.js +6 -42
- package/dist/policy-packs/ux-compare.js.map +1 -1
- package/dist/policy-packs/ux-drift-check.d.ts +5 -5
- package/dist/policy-packs/ux-drift-check.js +17 -22
- package/dist/policy-packs/ux-drift-check.js.map +1 -1
- package/dist/policy-packs/version-check.d.ts +5 -26
- package/dist/policy-packs/version-check.js +19 -74
- package/dist/policy-packs/version-check.js.map +1 -1
- package/dist/probes/memory.d.ts +1 -1
- package/dist/probes/memory.js +1 -1
- package/dist/probes/memory.js.map +1 -1
- package/dist/runtime/agent-facing.d.ts +9 -0
- package/dist/runtime/agent-facing.js +28 -14
- package/dist/runtime/agent-facing.js.map +1 -1
- package/dist/runtime/bounded-text.d.ts +15 -0
- package/dist/runtime/bounded-text.js +27 -0
- package/dist/runtime/bounded-text.js.map +1 -0
- package/dist/runtime/git-branch.d.ts +125 -0
- package/dist/runtime/git-branch.js +381 -0
- package/dist/runtime/git-branch.js.map +1 -0
- package/dist/runtime/hermetic-spawn-guard.d.ts +2 -2
- package/dist/runtime/hermetic-spawn-guard.js +24 -34
- package/dist/runtime/hermetic-spawn-guard.js.map +1 -1
- package/dist/runtime/home-dir.js +3 -2
- package/dist/runtime/home-dir.js.map +1 -1
- package/dist/runtime/tool-name-aliases.d.ts +0 -6
- package/dist/runtime/tool-name-aliases.js +5 -18
- package/dist/runtime/tool-name-aliases.js.map +1 -1
- package/dist/schema/grounding.d.ts +7 -54
- package/dist/schema/grounding.js +10 -12
- package/dist/schema/grounding.js.map +1 -1
- package/dist/schema/hooks.d.ts +39 -136
- package/dist/schema/hooks.js +3 -6
- package/dist/schema/hooks.js.map +1 -1
- package/dist/schema/index.d.ts +114 -3828
- package/dist/schema/index.js +41 -80
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/memory.d.ts +54 -131
- package/dist/schema/memory.js +2 -2
- package/dist/schema/memory.js.map +1 -1
- package/dist/schema/policy-packs.d.ts +3 -45
- package/dist/schema/policy-packs.js +7 -13
- package/dist/schema/policy-packs.js.map +1 -1
- package/dist/schema/policy-ux.d.ts +7 -0
- package/dist/schema/policy-ux.js +18 -0
- package/dist/schema/policy-ux.js.map +1 -0
- package/dist/schema/removed-keys.d.ts +185 -0
- package/dist/schema/removed-keys.js +531 -0
- package/dist/schema/removed-keys.js.map +1 -0
- package/dist/schema/tools.d.ts +30 -268
- package/dist/schema/tools.js +4 -4
- package/dist/schema/tools.js.map +1 -1
- package/package.json +5 -16
- package/dist/cli/approve/branch-protection.d.ts +0 -69
- package/dist/cli/approve/branch-protection.js +0 -144
- package/dist/cli/approve/branch-protection.js.map +0 -1
- package/dist/cli/approve/risk.d.ts +0 -112
- package/dist/cli/approve/risk.js +0 -197
- package/dist/cli/approve/risk.js.map +0 -1
- package/dist/cli/approve/stdin-report.d.ts +0 -57
- package/dist/cli/approve/stdin-report.js +0 -145
- package/dist/cli/approve/stdin-report.js.map +0 -1
- package/dist/cli/approve/understanding.d.ts +0 -410
- package/dist/cli/approve/understanding.js +0 -996
- package/dist/cli/approve/understanding.js.map +0 -1
- package/dist/cli/audit.d.ts +0 -80
- package/dist/cli/audit.js +0 -252
- package/dist/cli/audit.js.map +0 -1
- package/dist/cli/delegate/index.d.ts +0 -76
- package/dist/cli/delegate/index.js +0 -443
- package/dist/cli/delegate/index.js.map +0 -1
- package/dist/cli/doctor/auto-approve-mode.d.ts +0 -37
- package/dist/cli/doctor/auto-approve-mode.js +0 -80
- package/dist/cli/doctor/auto-approve-mode.js.map +0 -1
- package/dist/cli/doctor/bypass-without-auto-approve.d.ts +0 -38
- package/dist/cli/doctor/bypass-without-auto-approve.js +0 -95
- package/dist/cli/doctor/bypass-without-auto-approve.js.map +0 -1
- package/dist/cli/doctor/codex-config-drift.d.ts +0 -28
- package/dist/cli/doctor/codex-config-drift.js +0 -240
- package/dist/cli/doctor/codex-config-drift.js.map +0 -1
- package/dist/cli/doctor/rogue-ledger.d.ts +0 -53
- package/dist/cli/doctor/rogue-ledger.js +0 -153
- package/dist/cli/doctor/rogue-ledger.js.map +0 -1
- package/dist/cli/doctor/session-start-preflight-setup-version.d.ts +0 -83
- package/dist/cli/doctor/session-start-preflight-setup-version.js +0 -114
- package/dist/cli/doctor/session-start-preflight-setup-version.js.map +0 -1
- package/dist/cli/doctor/settings-drift.d.ts +0 -25
- package/dist/cli/doctor/settings-drift.js +0 -213
- package/dist/cli/doctor/settings-drift.js.map +0 -1
- package/dist/cli/doctor/toolchain-parity.d.ts +0 -63
- package/dist/cli/doctor/toolchain-parity.js +0 -154
- package/dist/cli/doctor/toolchain-parity.js.map +0 -1
- package/dist/cli/doctor/ug-auto-approvals.d.ts +0 -40
- package/dist/cli/doctor/ug-auto-approvals.js +0 -91
- package/dist/cli/doctor/ug-auto-approvals.js.map +0 -1
- package/dist/cli/doctor/ug-delegations.d.ts +0 -26
- package/dist/cli/doctor/ug-delegations.js +0 -121
- package/dist/cli/doctor/ug-delegations.js.map +0 -1
- package/dist/cli/doctor/ug-inflight.d.ts +0 -35
- package/dist/cli/doctor/ug-inflight.js +0 -57
- package/dist/cli/doctor/ug-inflight.js.map +0 -1
- package/dist/cli/doctor/understanding-mode-env.d.ts +0 -51
- package/dist/cli/doctor/understanding-mode-env.js +0 -98
- package/dist/cli/doctor/understanding-mode-env.js.map +0 -1
- package/dist/cli/dry-run.d.ts +0 -46
- package/dist/cli/dry-run.js +0 -250
- package/dist/cli/dry-run.js.map +0 -1
- package/dist/cli/event-input.d.ts +0 -28
- package/dist/cli/event-input.js +0 -73
- package/dist/cli/event-input.js.map +0 -1
- package/dist/cli/explain-action.d.ts +0 -20
- package/dist/cli/explain-action.js +0 -27
- package/dist/cli/explain-action.js.map +0 -1
- package/dist/cli/explain-policy.d.ts +0 -135
- package/dist/cli/explain-policy.js +0 -266
- package/dist/cli/explain-policy.js.map +0 -1
- package/dist/cli/explain.d.ts +0 -31
- package/dist/cli/explain.js +0 -159
- package/dist/cli/explain.js.map +0 -1
- package/dist/cli/gc/index.d.ts +0 -63
- package/dist/cli/gc/index.js +0 -566
- package/dist/cli/gc/index.js.map +0 -1
- package/dist/cli/pack/approve-escape.d.ts +0 -19
- package/dist/cli/pack/approve-escape.js +0 -190
- package/dist/cli/pack/approve-escape.js.map +0 -1
- package/dist/cli/pack/auto-approve-path.d.ts +0 -146
- package/dist/cli/pack/auto-approve-path.js +0 -462
- package/dist/cli/pack/auto-approve-path.js.map +0 -1
- package/dist/cli/pack/hook-codex-post-tool-use.d.ts +0 -25
- package/dist/cli/pack/hook-codex-post-tool-use.js +0 -160
- package/dist/cli/pack/hook-codex-post-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.d.ts +0 -48
- package/dist/cli/pack/hook-codex-pre-tool-use.js +0 -474
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-codex-stop.d.ts +0 -35
- package/dist/cli/pack/hook-codex-stop.js +0 -329
- package/dist/cli/pack/hook-codex-stop.js.map +0 -1
- package/dist/cli/pack/hook-codex-user-prompt-submit.d.ts +0 -24
- package/dist/cli/pack/hook-codex-user-prompt-submit.js +0 -93
- package/dist/cli/pack/hook-codex-user-prompt-submit.js.map +0 -1
- package/dist/cli/pack/hook-post-merge-gate-record.d.ts +0 -37
- package/dist/cli/pack/hook-post-merge-gate-record.js +0 -190
- package/dist/cli/pack/hook-post-merge-gate-record.js.map +0 -1
- package/dist/cli/pack/hook-post-merge-gate.d.ts +0 -34
- package/dist/cli/pack/hook-post-merge-gate.js +0 -277
- package/dist/cli/pack/hook-post-merge-gate.js.map +0 -1
- package/dist/cli/pack/hook-post-tool-use.d.ts +0 -45
- package/dist/cli/pack/hook-post-tool-use.js +0 -137
- package/dist/cli/pack/hook-post-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-pre-tool-use.d.ts +0 -92
- package/dist/cli/pack/hook-pre-tool-use.js +0 -1328
- package/dist/cli/pack/hook-pre-tool-use.js.map +0 -1
- package/dist/cli/pack/hook-runtime-reality.d.ts +0 -63
- package/dist/cli/pack/hook-runtime-reality.js +0 -210
- package/dist/cli/pack/hook-runtime-reality.js.map +0 -1
- package/dist/cli/pack/hook-solution-acceptance-writeguard.d.ts +0 -32
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js +0 -337
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +0 -1
- package/dist/cli/pack/hook-solution-acceptance.d.ts +0 -157
- package/dist/cli/pack/hook-solution-acceptance.js +0 -530
- package/dist/cli/pack/hook-solution-acceptance.js.map +0 -1
- package/dist/cli/pack/hook-stay-in-scope.d.ts +0 -37
- package/dist/cli/pack/hook-stay-in-scope.js +0 -128
- package/dist/cli/pack/hook-stay-in-scope.js.map +0 -1
- package/dist/cli/pack/hook-subagent-start.d.ts +0 -23
- package/dist/cli/pack/hook-subagent-start.js +0 -88
- package/dist/cli/pack/hook-subagent-start.js.map +0 -1
- package/dist/cli/pack/hook-subagent-stop.d.ts +0 -19
- package/dist/cli/pack/hook-subagent-stop.js +0 -41
- package/dist/cli/pack/hook-subagent-stop.js.map +0 -1
- package/dist/cli/pack/hook-track-active-claim.d.ts +0 -27
- package/dist/cli/pack/hook-track-active-claim.js +0 -275
- package/dist/cli/pack/hook-track-active-claim.js.map +0 -1
- package/dist/cli/pack/transcript-report-scan.d.ts +0 -71
- package/dist/cli/pack/transcript-report-scan.js +0 -359
- package/dist/cli/pack/transcript-report-scan.js.map +0 -1
- package/dist/cli/pack/understanding-report-schema-hint.d.ts +0 -26
- package/dist/cli/pack/understanding-report-schema-hint.js +0 -120
- package/dist/cli/pack/understanding-report-schema-hint.js.map +0 -1
- package/dist/cli/pack/upgrade.d.ts +0 -32
- package/dist/cli/pack/upgrade.js +0 -273
- package/dist/cli/pack/upgrade.js.map +0 -1
- package/dist/cli/pause/index.d.ts +0 -113
- package/dist/cli/pause/index.js +0 -251
- package/dist/cli/pause/index.js.map +0 -1
- package/dist/cli/pause-check.d.ts +0 -22
- package/dist/cli/pause-check.js +0 -54
- package/dist/cli/pause-check.js.map +0 -1
- package/dist/cli/policy/intercept.d.ts +0 -233
- package/dist/cli/policy/intercept.js +0 -1020
- package/dist/cli/policy/intercept.js.map +0 -1
- package/dist/cli/policy/risk-envelope-enrichment.d.ts +0 -40
- package/dist/cli/policy/risk-envelope-enrichment.js +0 -108
- package/dist/cli/policy/risk-envelope-enrichment.js.map +0 -1
- package/dist/cli/record/index.d.ts +0 -81
- package/dist/cli/record/index.js +0 -348
- package/dist/cli/record/index.js.map +0 -1
- package/dist/cli/resolve-env.d.ts +0 -32
- package/dist/cli/resolve-env.js +0 -47
- package/dist/cli/resolve-env.js.map +0 -1
- package/dist/cli/session-export/index.d.ts +0 -46
- package/dist/cli/session-export/index.js +0 -169
- package/dist/cli/session-export/index.js.map +0 -1
- package/dist/cli/session-export/redact.d.ts +0 -22
- package/dist/cli/session-export/redact.js +0 -47
- package/dist/cli/session-export/redact.js.map +0 -1
- package/dist/cli/session-export/transcript.d.ts +0 -24
- package/dist/cli/session-export/transcript.js +0 -164
- package/dist/cli/session-export/transcript.js.map +0 -1
- package/dist/cli/session-start/branch-check.d.ts +0 -18
- package/dist/cli/session-start/branch-check.js +0 -140
- package/dist/cli/session-start/branch-check.js.map +0 -1
- package/dist/cli/session-start/index.d.ts +0 -121
- package/dist/cli/session-start/index.js +0 -591
- package/dist/cli/session-start/index.js.map +0 -1
- package/dist/cli/session-start/shared-options.d.ts +0 -103
- package/dist/cli/session-start/shared-options.js +0 -107
- package/dist/cli/session-start/shared-options.js.map +0 -1
- package/dist/cli/session-start/stale-base-check.d.ts +0 -46
- package/dist/cli/session-start/stale-base-check.js +0 -352
- package/dist/cli/session-start/stale-base-check.js.map +0 -1
- package/dist/cli/session-start/toolchain-parity.d.ts +0 -267
- package/dist/cli/session-start/toolchain-parity.js +0 -797
- package/dist/cli/session-start/toolchain-parity.js.map +0 -1
- package/dist/cli/smoke/assertions.d.ts +0 -46
- package/dist/cli/smoke/assertions.js +0 -170
- package/dist/cli/smoke/assertions.js.map +0 -1
- package/dist/cli/smoke/index.d.ts +0 -76
- package/dist/cli/smoke/index.js +0 -245
- package/dist/cli/smoke/index.js.map +0 -1
- package/dist/cli/smoke/runner.d.ts +0 -55
- package/dist/cli/smoke/runner.js +0 -134
- package/dist/cli/smoke/runner.js.map +0 -1
- package/dist/cli/smoke/stream-parser.d.ts +0 -65
- package/dist/cli/smoke/stream-parser.js +0 -115
- package/dist/cli/smoke/stream-parser.js.map +0 -1
- package/dist/cli/test-risk.d.ts +0 -26
- package/dist/cli/test-risk.js +0 -34
- package/dist/cli/test-risk.js.map +0 -1
- package/dist/io/display-path.d.ts +0 -11
- package/dist/io/display-path.js +0 -29
- package/dist/io/display-path.js.map +0 -1
- package/dist/io/duration.d.ts +0 -5
- package/dist/io/duration.js +0 -50
- package/dist/io/duration.js.map +0 -1
- package/dist/io/extract.d.ts +0 -79
- package/dist/io/extract.js +0 -226
- package/dist/io/extract.js.map +0 -1
- package/dist/io/ledger-record.d.ts +0 -83
- package/dist/io/ledger-record.js +0 -301
- package/dist/io/ledger-record.js.map +0 -1
- package/dist/io/read-json-dir-entries.d.ts +0 -36
- package/dist/io/read-json-dir-entries.js +0 -48
- package/dist/io/read-json-dir-entries.js.map +0 -1
- package/dist/io/safe-json-parse.d.ts +0 -5
- package/dist/io/safe-json-parse.js +0 -21
- package/dist/io/safe-json-parse.js.map +0 -1
- package/dist/policies/index.d.ts +0 -5
- package/dist/policies/index.js +0 -6
- package/dist/policies/index.js.map +0 -1
- package/dist/policies/ledger-client.d.ts +0 -113
- package/dist/policies/ledger-client.js +0 -500
- package/dist/policies/ledger-client.js.map +0 -1
- package/dist/policies/producers.d.ts +0 -12
- package/dist/policies/producers.js +0 -61
- package/dist/policies/producers.js.map +0 -1
- package/dist/policies/requires.d.ts +0 -75
- package/dist/policies/requires.js +0 -240
- package/dist/policies/requires.js.map +0 -1
- package/dist/policies/timestamp.d.ts +0 -14
- package/dist/policies/timestamp.js +0 -36
- package/dist/policies/timestamp.js.map +0 -1
- package/dist/policy-packs/builtin/permission-profiles.d.ts +0 -11
- package/dist/policy-packs/builtin/permission-profiles.js +0 -74
- package/dist/policy-packs/builtin/permission-profiles.js.map +0 -1
- package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +0 -286
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js +0 -397
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/post-merge-gate.d.ts +0 -56
- package/dist/policy-packs/builtin/post-merge-gate.js +0 -347
- package/dist/policy-packs/builtin/post-merge-gate.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.d.ts +0 -50
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js +0 -151
- package/dist/policy-packs/builtin/solution-acceptance-reconnect.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +0 -323
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +0 -672
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/solution-acceptance.d.ts +0 -45
- package/dist/policy-packs/builtin/solution-acceptance.js +0 -226
- package/dist/policy-packs/builtin/solution-acceptance.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.d.ts +0 -25
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js +0 -94
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.d.ts +0 -35
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js +0 -86
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve-default.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.d.ts +0 -210
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js +0 -361
- package/dist/policy-packs/builtin/understanding-before-execution/auto-approve.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.d.ts +0 -304
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js +0 -734
- package/dist/policy-packs/builtin/understanding-before-execution/delegation-markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.d.ts +0 -36
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js +0 -73
- package/dist/policy-packs/builtin/understanding-before-execution/expiry-reason.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +0 -19
- package/dist/policy-packs/builtin/understanding-before-execution/index.js +0 -83
- package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.d.ts +0 -135
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js +0 -618
- package/dist/policy-packs/builtin/understanding-before-execution/inflight-records.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.d.ts +0 -25
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js +0 -56
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.d.ts +0 -20
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js +0 -93
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/markers.d.ts +0 -126
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js +0 -245
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.d.ts +0 -29
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js +0 -82
- package/dist/policy-packs/builtin/understanding-before-execution/measured-permission-modes.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.d.ts +0 -71
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js +0 -175
- package/dist/policy-packs/builtin/understanding-before-execution/permission-mode-observations.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +0 -620
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +0 -1047
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.d.ts +0 -128
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +0 -213
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.d.ts +0 -129
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js +0 -166
- package/dist/policy-packs/builtin/understanding-before-execution/stay-in-scope-config.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.d.ts +0 -164
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js +0 -275
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +0 -10
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +0 -1
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +0 -526
- package/dist/policy-packs/builtin/understanding-before-execution.js +0 -1074
- package/dist/policy-packs/builtin/understanding-before-execution.js.map +0 -1
- package/dist/policy-packs/permission-translator.d.ts +0 -9
- package/dist/policy-packs/permission-translator.js +0 -76
- package/dist/policy-packs/permission-translator.js.map +0 -1
- package/dist/runtime/action-envelope.d.ts +0 -64
- package/dist/runtime/action-envelope.js +0 -46
- package/dist/runtime/action-envelope.js.map +0 -1
- package/dist/runtime/approval-signing.d.ts +0 -111
- package/dist/runtime/approval-signing.js +0 -384
- package/dist/runtime/approval-signing.js.map +0 -1
- package/dist/runtime/bash-match-facts.d.ts +0 -60
- package/dist/runtime/bash-match-facts.js +0 -196
- package/dist/runtime/bash-match-facts.js.map +0 -1
- package/dist/runtime/bash-match-registry.d.ts +0 -112
- package/dist/runtime/bash-match-registry.js +0 -406
- package/dist/runtime/bash-match-registry.js.map +0 -1
- package/dist/runtime/bash-prefix-parse.d.ts +0 -31
- package/dist/runtime/bash-prefix-parse.js +0 -576
- package/dist/runtime/bash-prefix-parse.js.map +0 -1
- package/dist/runtime/command-normalize.d.ts +0 -658
- package/dist/runtime/command-normalize.js +0 -2410
- package/dist/runtime/command-normalize.js.map +0 -1
- package/dist/runtime/deletion-target-resolve.d.ts +0 -28
- package/dist/runtime/deletion-target-resolve.js +0 -1078
- package/dist/runtime/deletion-target-resolve.js.map +0 -1
- package/dist/runtime/destructive-shell-floor.d.ts +0 -19
- package/dist/runtime/destructive-shell-floor.js +0 -611
- package/dist/runtime/destructive-shell-floor.js.map +0 -1
- package/dist/runtime/environment-resolver.d.ts +0 -36
- package/dist/runtime/environment-resolver.js +0 -138
- package/dist/runtime/environment-resolver.js.map +0 -1
- package/dist/runtime/git-context.d.ts +0 -201
- package/dist/runtime/git-context.js +0 -422
- package/dist/runtime/git-context.js.map +0 -1
- package/dist/runtime/index.d.ts +0 -12
- package/dist/runtime/index.js +0 -13
- package/dist/runtime/index.js.map +0 -1
- package/dist/runtime/intercept.d.ts +0 -494
- package/dist/runtime/intercept.js +0 -1313
- package/dist/runtime/intercept.js.map +0 -1
- package/dist/runtime/kube-context.d.ts +0 -16
- package/dist/runtime/kube-context.js +0 -63
- package/dist/runtime/kube-context.js.map +0 -1
- package/dist/runtime/kubectl-target-parse.d.ts +0 -31
- package/dist/runtime/kubectl-target-parse.js +0 -249
- package/dist/runtime/kubectl-target-parse.js.map +0 -1
- package/dist/runtime/ledger-add.d.ts +0 -16
- package/dist/runtime/ledger-add.js +0 -150
- package/dist/runtime/ledger-add.js.map +0 -1
- package/dist/runtime/ledger-writer.d.ts +0 -27
- package/dist/runtime/ledger-writer.js +0 -46
- package/dist/runtime/ledger-writer.js.map +0 -1
- package/dist/runtime/pause-sentinel.d.ts +0 -60
- package/dist/runtime/pause-sentinel.js +0 -156
- package/dist/runtime/pause-sentinel.js.map +0 -1
- package/dist/runtime/pending-approval.d.ts +0 -23
- package/dist/runtime/pending-approval.js +0 -67
- package/dist/runtime/pending-approval.js.map +0 -1
- package/dist/runtime/read-only-bash.d.ts +0 -141
- package/dist/runtime/read-only-bash.js +0 -2204
- package/dist/runtime/read-only-bash.js.map +0 -1
- package/dist/runtime/recovery-git-commit.d.ts +0 -22
- package/dist/runtime/recovery-git-commit.js +0 -284
- package/dist/runtime/recovery-git-commit.js.map +0 -1
- package/dist/runtime/reject-malformed-session-id.d.ts +0 -8
- package/dist/runtime/reject-malformed-session-id.js +0 -16
- package/dist/runtime/reject-malformed-session-id.js.map +0 -1
- package/dist/runtime/risk-classifier.d.ts +0 -38
- package/dist/runtime/risk-classifier.js +0 -311
- package/dist/runtime/risk-classifier.js.map +0 -1
- package/dist/runtime/session-id.d.ts +0 -113
- package/dist/runtime/session-id.js +0 -193
- package/dist/runtime/session-id.js.map +0 -1
- package/dist/runtime/shell-word.d.ts +0 -62
- package/dist/runtime/shell-word.js +0 -410
- package/dist/runtime/shell-word.js.map +0 -1
- package/dist/runtime/task-providers/agent-tasks.d.ts +0 -103
- package/dist/runtime/task-providers/agent-tasks.js +0 -245
- package/dist/runtime/task-providers/agent-tasks.js.map +0 -1
- package/dist/runtime/when-eval.d.ts +0 -62
- package/dist/runtime/when-eval.js +0 -212
- package/dist/runtime/when-eval.js.map +0 -1
- package/dist/runtime/workflow-policies.d.ts +0 -207
- package/dist/runtime/workflow-policies.js +0 -596
- package/dist/runtime/workflow-policies.js.map +0 -1
- package/dist/schema/audit.d.ts +0 -71
- package/dist/schema/audit.js +0 -32
- package/dist/schema/audit.js.map +0 -1
- package/dist/schema/doctor.d.ts +0 -25
- package/dist/schema/doctor.js +0 -23
- package/dist/schema/doctor.js.map +0 -1
- package/dist/schema/environments.d.ts +0 -215
- package/dist/schema/environments.js +0 -101
- package/dist/schema/environments.js.map +0 -1
- package/dist/schema/extract.d.ts +0 -9
- package/dist/schema/extract.js +0 -86
- package/dist/schema/extract.js.map +0 -1
- package/dist/schema/permission-profiles.d.ts +0 -2292
- package/dist/schema/permission-profiles.js +0 -60
- package/dist/schema/permission-profiles.js.map +0 -1
- package/dist/schema/policies.d.ts +0 -974
- package/dist/schema/policies.js +0 -298
- package/dist/schema/policies.js.map +0 -1
- package/dist/schema/requires.d.ts +0 -131
- package/dist/schema/requires.js +0 -88
- package/dist/schema/requires.js.map +0 -1
- package/dist/schema/risk.d.ts +0 -144
- package/dist/schema/risk.js +0 -194
- package/dist/schema/risk.js.map +0 -1
- package/dist/schema/session-start-preflight.d.ts +0 -10
- package/dist/schema/session-start-preflight.js +0 -106
- package/dist/schema/session-start-preflight.js.map +0 -1
- package/dist/schema/stale-base-check.d.ts +0 -18
- package/dist/schema/stale-base-check.js +0 -37
- package/dist/schema/stale-base-check.js.map +0 -1
- package/dist/schema/toolchain-parity.d.ts +0 -21
- package/dist/schema/toolchain-parity.js +0 -48
- package/dist/schema/toolchain-parity.js.map +0 -1
- package/dist/schema/workflows.d.ts +0 -519
- package/dist/schema/workflows.js +0 -81
- package/dist/schema/workflows.js.map +0 -1
- package/scripts/runtime-reality-docker-probe.mjs +0 -71
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* True when `text` contains, inside any `$'...'` run, an escape that decodes
|
|
3
|
-
* to NUL (`\0`, `\00`, `\000`, `\x0`, `\x00`, `\u0` to `\u0000`, `\U0` to
|
|
4
|
-
* `\U00000000`) or a `\c` control escape (not modelled, so counted). Works on
|
|
5
|
-
* a whole command string or a single word. Every `$'` occurrence is scanned
|
|
6
|
-
* on its own, including one that sits inside a single-quoted span, so a real
|
|
7
|
-
* run is never hidden by an earlier false start; the cost is an occasional
|
|
8
|
-
* over-report, which the caller treats as "refuse".
|
|
9
|
-
*
|
|
10
|
-
* This is deliberately not a model of bash's NUL truncation. Never throws.
|
|
11
|
-
*/
|
|
12
|
-
export declare function hasAnsiCNulEscape(text: string): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Decode one shell WORD to the literal string bash would pass as an argv
|
|
15
|
-
* entry, as far as that is derivable from the text alone.
|
|
16
|
-
*
|
|
17
|
-
* Handles the four run kinds bash concatenates within a single word, in any
|
|
18
|
-
* combination and any number: unquoted (with `\X` escapes), `'single'`
|
|
19
|
-
* (fully literal), `"double"` (backslash escapes a small set only), and
|
|
20
|
-
* `$'ansi-c'` (including `\xHH`, `\NNN`, `\0NNN`, `\uHHHH`, `\UHHHHHHHH`).
|
|
21
|
-
* That concatenation is the point — `-de"lete"`, `-'delete'` and
|
|
22
|
-
* `-$'\x64elete'` are all the single argv entry `-delete`, which is exactly
|
|
23
|
-
* how the measured bypasses hid a write flag from a raw string comparison.
|
|
24
|
-
*
|
|
25
|
-
* Returns the input UNCHANGED when the word cannot be resolved: an
|
|
26
|
-
* unterminated quote, or a truncated escape at end of input. A NUL-decoding
|
|
27
|
-
* escape inside `$'...'` does not make a word unresolvable (see the module
|
|
28
|
-
* header; the read-only classifier refuses such a command through
|
|
29
|
-
* `hasAnsiCNulEscape` instead). Per the module
|
|
30
|
-
* header's direction rule, callers compare the result against a set of
|
|
31
|
-
* things to REJECT, so falling back to the raw token reproduces today's
|
|
32
|
-
* behaviour instead of inventing one.
|
|
33
|
-
*
|
|
34
|
-
* Never throws.
|
|
35
|
-
*/
|
|
36
|
-
export declare function decodeShellWord(word: string): string;
|
|
37
|
-
/**
|
|
38
|
-
* The value bash passes for `word` when a `$'...'` run carries a NUL-decoding
|
|
39
|
-
* escape: each such run is cut at its first NUL (or `\c`) escape, everything
|
|
40
|
-
* else is decoded exactly as `decodeShellWord` does. Equal to
|
|
41
|
-
* `decodeShellWord(word)` for a word without such an escape. For the
|
|
42
|
-
* deny-side exact comparisons only (module header, task `5cc64860`); like
|
|
43
|
-
* `decodeShellWord` it returns the raw word when it cannot resolve it, and
|
|
44
|
-
* never throws.
|
|
45
|
-
*/
|
|
46
|
-
export declare function decodeShellWordTruncatingNul(word: string): string;
|
|
47
|
-
/**
|
|
48
|
-
* Rewrite every `$'...'` run of `text` that carries a NUL-decoding escape into
|
|
49
|
-
* a single-quoted literal of the value bash passes for it, and leave the rest
|
|
50
|
-
* of the text byte for byte as it was (`rm -rf $'/tmp\\0/x'` becomes
|
|
51
|
-
* `rm -rf '/tmp'`). `null` when nothing was rewritten, so the caller has no
|
|
52
|
-
* second text to examine. Works on a whole command string: the rewrite
|
|
53
|
-
* happens before any boundary split, so a `;`, `|` or `&` that sits inside
|
|
54
|
-
* the cut-off part of a run (`$'--force\\0;'`) disappears with it instead of
|
|
55
|
-
* tearing the word in two. A run without a closing quote is left alone
|
|
56
|
-
* (`decodeShellWord` cannot resolve it either). Every `$'` occurrence is a
|
|
57
|
-
* candidate start, as in `hasAnsiCNulEscape`, so a real run is never hidden
|
|
58
|
-
* behind an earlier false start; the cost is an occasional over-rewrite of
|
|
59
|
-
* text bash reads as quoted, which only gives a deny-side caller one more
|
|
60
|
-
* text to examine next to the original. Never throws.
|
|
61
|
-
*/
|
|
62
|
-
export declare function truncateNulRuns(text: string): string | null;
|
|
@@ -1,410 +0,0 @@
|
|
|
1
|
-
// `decodeShellWord` — the shared "what literal value does bash see for this
|
|
2
|
-
// word?" primitive (task `fdee7d0f`).
|
|
3
|
-
//
|
|
4
|
-
// WHY THIS EXISTS: three consumers each carried their own partial model of
|
|
5
|
-
// shell quoting, and the same missing unquoting logic produced a separate
|
|
6
|
-
// bypass in each (`cf3dff51`, `b093911d`, `2dfdf472`). This module is the
|
|
7
|
-
// single source of truth for the decoding half of that; each consumer keeps
|
|
8
|
-
// its own decision about what a decoded value MEANS.
|
|
9
|
-
//
|
|
10
|
-
// DIRECTION RULE (binding, and the reason this module is allowed to exist
|
|
11
|
-
// at all). A hand-written partial model of another language's grammar is a
|
|
12
|
-
// design smell, and one was removed from this codebase on 2026-08-02 for
|
|
13
|
-
// exactly that reason (see the post-merge-gate blocker's
|
|
14
|
-
// `isGateEligibleCommand`). What separates the two is which side of a
|
|
15
|
-
// security boundary the model sits on:
|
|
16
|
-
//
|
|
17
|
-
// - There, the model gated a PERMISSIVE decision: every construct it
|
|
18
|
-
// failed to model became a silent pass-through, i.e. a new bypass.
|
|
19
|
-
// - Here, callers test their predicate on the raw token OR the decoded
|
|
20
|
-
// one and take either match, so decoding can only ADD a match, never
|
|
21
|
-
// remove one. An incomplete decode therefore yields today's behaviour
|
|
22
|
-
// (a detection this codebase already misses), never a new fail-open.
|
|
23
|
-
//
|
|
24
|
-
// That `raw || decoded` shape is load-bearing and must not be "simplified"
|
|
25
|
-
// to testing the decoded value alone. This module shipped once with the
|
|
26
|
-
// simplified form and the guarantee above stated as an ARGUMENT; review
|
|
27
|
-
// measured it false at three of five call sites, because those predicates
|
|
28
|
-
// exclude `--` by construction and a token like `-"-out"=x` decodes out of
|
|
29
|
-
// the branch that used to match it (`sort -"-out"=x` went BLOCKED ->
|
|
30
|
-
// READONLY, artefact-confirmed). Testing both makes the property hold by
|
|
31
|
-
// construction rather than by reasoning.
|
|
32
|
-
//
|
|
33
|
-
// A caller that wants to use this on the permissive side (to EXEMPT
|
|
34
|
-
// something) is outside the rule and must be measured on its own terms.
|
|
35
|
-
// `decodeShellWord` returns the RAW token unchanged for anything it cannot
|
|
36
|
-
// resolve, which keeps that guarantee mechanical rather than aspirational.
|
|
37
|
-
//
|
|
38
|
-
// SCOPE, deliberately narrow: quote removal and escape decoding only. No
|
|
39
|
-
// expansion of any kind — `$VAR`, `$(...)`, backticks, `~`, globs and
|
|
40
|
-
// brace expansion are left verbatim, because their values are not derivable
|
|
41
|
-
// from the command text alone. A word containing them decodes to something
|
|
42
|
-
// that still contains them, which is the honest answer.
|
|
43
|
-
//
|
|
44
|
-
// NUL-DECODING ESCAPES are not modelled here (task `241d9e9e`). GNU bash
|
|
45
|
-
// 3.2.57 (measured with `printf '[%s]' <word> | od -c`; the first report
|
|
46
|
-
// measured 5.1.16) truncates a `$'...'` run at a NUL, drops a NUL between two
|
|
47
|
-
// runs, and reads `\c@` (value 0) the same way. `decodeShellWord` does not
|
|
48
|
-
// rebuild that rule: `readAnsiC` keeps decoding such an escape exactly as before (a
|
|
49
|
-
// literal U+0000 for `\0`, `\x00` and the like), and `decodeShellWord` output
|
|
50
|
-
// for these words is unchanged. That is on purpose: the deny-side callers
|
|
51
|
-
// match PREFIXES and short-flag clusters of the decoded value (`of=`, `-s`,
|
|
52
|
-
// `-f`, `+ref`, `-c`, `-R`, `-i`, `-rf`), and a decoded value that carries a
|
|
53
|
-
// U+0000 after the flag text still starts with it, so those detections hold;
|
|
54
|
-
// returning the raw token instead would drop them. `hasAnsiCNulEscape` is a
|
|
55
|
-
// separate predicate that lets a caller refuse a whole command text; the
|
|
56
|
-
// read-only classifier does, so a command with such an escape is never read
|
|
57
|
-
// only. It over-reports on purpose (any `\c` escape counts, `\u`/`\U` count
|
|
58
|
-
// although bash 3.2.57 does not decode them), because a false positive only
|
|
59
|
-
// blocks an exotic read.
|
|
60
|
-
//
|
|
61
|
-
// DENY-SIDE COMPARISONS (task `5cc64860`). The prefix and cluster matches
|
|
62
|
-
// above do not help an EXACT comparison (a whole flag such as `--force`, a
|
|
63
|
-
// head name such as `dd`, a subcommand): `$'--force\0'` decodes to a value
|
|
64
|
-
// that carries a trailing U+0000 and never equals `--force`, while bash
|
|
65
|
-
// passes `--force`. `decodeShellWordTruncatingNul` and `truncateNulRuns`
|
|
66
|
-
// give the deny-side scanners the value bash passes, for the COMPARISON only:
|
|
67
|
-
// they never replace the decoded value, the scanners keep their existing scan
|
|
68
|
-
// of the command as written and add a second one over the rewritten text, so
|
|
69
|
-
// the second scan can only add a verdict. The truncation is the one measured rule, nothing more: a `$'...'`
|
|
70
|
-
// run ends at the first escape that decodes to NUL (or a `\c` escape, which
|
|
71
|
-
// is not modelled and so counts as possibly NUL), and the text around the run
|
|
72
|
-
// is kept (`x$'a\0b'y` is `xay`, measured on GNU bash 3.2.57 with
|
|
73
|
-
// `printf '[%s]' <word> | od -c`).
|
|
74
|
-
/** Characters a backslash can escape inside a double-quoted run (bash). */
|
|
75
|
-
const DOUBLE_QUOTE_ESCAPABLE = new Set(['$', '`', '"', "\\", "\n"]);
|
|
76
|
-
/** Single-character ANSI-C (`$'...'`) escapes. */
|
|
77
|
-
const ANSI_C_SIMPLE = new Map([
|
|
78
|
-
["a", "\x07"],
|
|
79
|
-
["b", "\b"],
|
|
80
|
-
["e", "\x1b"],
|
|
81
|
-
["E", "\x1b"],
|
|
82
|
-
["f", "\f"],
|
|
83
|
-
["n", "\n"],
|
|
84
|
-
["r", "\r"],
|
|
85
|
-
["t", "\t"],
|
|
86
|
-
["v", "\v"],
|
|
87
|
-
["\\", "\\"],
|
|
88
|
-
["'", "'"],
|
|
89
|
-
['"', '"'],
|
|
90
|
-
["?", "?"],
|
|
91
|
-
]);
|
|
92
|
-
/**
|
|
93
|
-
* True when the `$'...'` escape that starts at `word[at]` (a backslash)
|
|
94
|
-
* decodes to NUL, or is a `\c` control escape, which is not modelled and so
|
|
95
|
-
* counts as possibly NUL. Conservative: it may say true too often, never too
|
|
96
|
-
* rarely. Octal values wrap modulo 256 because bash keeps one byte.
|
|
97
|
-
*/
|
|
98
|
-
function isNulEscapeAt(word, at) {
|
|
99
|
-
const nxt = word[at + 1];
|
|
100
|
-
if (nxt === undefined)
|
|
101
|
-
return false;
|
|
102
|
-
if (nxt === "c")
|
|
103
|
-
return true;
|
|
104
|
-
if (nxt === "x" || nxt === "u" || nxt === "U") {
|
|
105
|
-
const max = nxt === "x" ? 2 : nxt === "u" ? 4 : 8;
|
|
106
|
-
let hex = "";
|
|
107
|
-
for (let j = at + 2; j < word.length && hex.length < max && /[0-9a-fA-F]/.test(word[j]); j++) {
|
|
108
|
-
hex += word[j];
|
|
109
|
-
}
|
|
110
|
-
return hex.length > 0 && /^0+$/.test(hex);
|
|
111
|
-
}
|
|
112
|
-
if (/[0-7]/.test(nxt)) {
|
|
113
|
-
let oct = "";
|
|
114
|
-
for (let j = at + 1; j < word.length && oct.length < 3 && /[0-7]/.test(word[j]); j++) {
|
|
115
|
-
oct += word[j];
|
|
116
|
-
}
|
|
117
|
-
return Number.parseInt(oct, 8) % 256 === 0;
|
|
118
|
-
}
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* True when `text` contains, inside any `$'...'` run, an escape that decodes
|
|
123
|
-
* to NUL (`\0`, `\00`, `\000`, `\x0`, `\x00`, `\u0` to `\u0000`, `\U0` to
|
|
124
|
-
* `\U00000000`) or a `\c` control escape (not modelled, so counted). Works on
|
|
125
|
-
* a whole command string or a single word. Every `$'` occurrence is scanned
|
|
126
|
-
* on its own, including one that sits inside a single-quoted span, so a real
|
|
127
|
-
* run is never hidden by an earlier false start; the cost is an occasional
|
|
128
|
-
* over-report, which the caller treats as "refuse".
|
|
129
|
-
*
|
|
130
|
-
* This is deliberately not a model of bash's NUL truncation. Never throws.
|
|
131
|
-
*/
|
|
132
|
-
export function hasAnsiCNulEscape(text) {
|
|
133
|
-
if (typeof text !== "string")
|
|
134
|
-
return false;
|
|
135
|
-
let from = text.indexOf("$'");
|
|
136
|
-
while (from !== -1) {
|
|
137
|
-
for (let i = from + 2; i < text.length;) {
|
|
138
|
-
const ch = text[i];
|
|
139
|
-
if (ch === "'")
|
|
140
|
-
break;
|
|
141
|
-
if (ch === "\\") {
|
|
142
|
-
if (isNulEscapeAt(text, i))
|
|
143
|
-
return true;
|
|
144
|
-
i += 2;
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
i++;
|
|
148
|
-
}
|
|
149
|
-
from = text.indexOf("$'", from + 1);
|
|
150
|
-
}
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Decode one shell WORD to the literal string bash would pass as an argv
|
|
155
|
-
* entry, as far as that is derivable from the text alone.
|
|
156
|
-
*
|
|
157
|
-
* Handles the four run kinds bash concatenates within a single word, in any
|
|
158
|
-
* combination and any number: unquoted (with `\X` escapes), `'single'`
|
|
159
|
-
* (fully literal), `"double"` (backslash escapes a small set only), and
|
|
160
|
-
* `$'ansi-c'` (including `\xHH`, `\NNN`, `\0NNN`, `\uHHHH`, `\UHHHHHHHH`).
|
|
161
|
-
* That concatenation is the point — `-de"lete"`, `-'delete'` and
|
|
162
|
-
* `-$'\x64elete'` are all the single argv entry `-delete`, which is exactly
|
|
163
|
-
* how the measured bypasses hid a write flag from a raw string comparison.
|
|
164
|
-
*
|
|
165
|
-
* Returns the input UNCHANGED when the word cannot be resolved: an
|
|
166
|
-
* unterminated quote, or a truncated escape at end of input. A NUL-decoding
|
|
167
|
-
* escape inside `$'...'` does not make a word unresolvable (see the module
|
|
168
|
-
* header; the read-only classifier refuses such a command through
|
|
169
|
-
* `hasAnsiCNulEscape` instead). Per the module
|
|
170
|
-
* header's direction rule, callers compare the result against a set of
|
|
171
|
-
* things to REJECT, so falling back to the raw token reproduces today's
|
|
172
|
-
* behaviour instead of inventing one.
|
|
173
|
-
*
|
|
174
|
-
* Never throws.
|
|
175
|
-
*/
|
|
176
|
-
export function decodeShellWord(word) {
|
|
177
|
-
return decodeWith(word, false);
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* The value bash passes for `word` when a `$'...'` run carries a NUL-decoding
|
|
181
|
-
* escape: each such run is cut at its first NUL (or `\c`) escape, everything
|
|
182
|
-
* else is decoded exactly as `decodeShellWord` does. Equal to
|
|
183
|
-
* `decodeShellWord(word)` for a word without such an escape. For the
|
|
184
|
-
* deny-side exact comparisons only (module header, task `5cc64860`); like
|
|
185
|
-
* `decodeShellWord` it returns the raw word when it cannot resolve it, and
|
|
186
|
-
* never throws.
|
|
187
|
-
*/
|
|
188
|
-
export function decodeShellWordTruncatingNul(word) {
|
|
189
|
-
return decodeWith(word, true);
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Rewrite every `$'...'` run of `text` that carries a NUL-decoding escape into
|
|
193
|
-
* a single-quoted literal of the value bash passes for it, and leave the rest
|
|
194
|
-
* of the text byte for byte as it was (`rm -rf $'/tmp\\0/x'` becomes
|
|
195
|
-
* `rm -rf '/tmp'`). `null` when nothing was rewritten, so the caller has no
|
|
196
|
-
* second text to examine. Works on a whole command string: the rewrite
|
|
197
|
-
* happens before any boundary split, so a `;`, `|` or `&` that sits inside
|
|
198
|
-
* the cut-off part of a run (`$'--force\\0;'`) disappears with it instead of
|
|
199
|
-
* tearing the word in two. A run without a closing quote is left alone
|
|
200
|
-
* (`decodeShellWord` cannot resolve it either). Every `$'` occurrence is a
|
|
201
|
-
* candidate start, as in `hasAnsiCNulEscape`, so a real run is never hidden
|
|
202
|
-
* behind an earlier false start; the cost is an occasional over-rewrite of
|
|
203
|
-
* text bash reads as quoted, which only gives a deny-side caller one more
|
|
204
|
-
* text to examine next to the original. Never throws.
|
|
205
|
-
*/
|
|
206
|
-
export function truncateNulRuns(text) {
|
|
207
|
-
if (typeof text !== "string")
|
|
208
|
-
return null;
|
|
209
|
-
let out = "";
|
|
210
|
-
let copied = 0;
|
|
211
|
-
let rewrote = false;
|
|
212
|
-
let from = text.indexOf("$'");
|
|
213
|
-
while (from !== -1) {
|
|
214
|
-
let end = -1;
|
|
215
|
-
for (let i = from + 2; i < text.length;) {
|
|
216
|
-
const ch = text[i];
|
|
217
|
-
if (ch === "'") {
|
|
218
|
-
end = i;
|
|
219
|
-
break;
|
|
220
|
-
}
|
|
221
|
-
i += ch === "\\" ? 2 : 1;
|
|
222
|
-
}
|
|
223
|
-
const run = end === -1 ? "" : text.slice(from, end + 1);
|
|
224
|
-
if (end !== -1 && hasAnsiCNulEscape(run)) {
|
|
225
|
-
const value = decodeShellWordTruncatingNul(run).replace(/'/g, "'\\''");
|
|
226
|
-
out += text.slice(copied, from) + `'${value}'`;
|
|
227
|
-
copied = end + 1;
|
|
228
|
-
rewrote = true;
|
|
229
|
-
from = text.indexOf("$'", end + 1);
|
|
230
|
-
continue;
|
|
231
|
-
}
|
|
232
|
-
from = text.indexOf("$'", from + 1);
|
|
233
|
-
}
|
|
234
|
-
return rewrote ? out + text.slice(copied) : null;
|
|
235
|
-
}
|
|
236
|
-
function decodeWith(word, truncateNul) {
|
|
237
|
-
if (typeof word !== "string" || word.length === 0)
|
|
238
|
-
return typeof word === "string" ? word : "";
|
|
239
|
-
// Fast path: nothing quotable present, so the word is already literal.
|
|
240
|
-
if (!/['"\\]/.test(word))
|
|
241
|
-
return word;
|
|
242
|
-
try {
|
|
243
|
-
const decoded = decodeInner(word, truncateNul);
|
|
244
|
-
return decoded === null ? word : decoded;
|
|
245
|
-
}
|
|
246
|
-
catch {
|
|
247
|
-
return word;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/** Returns null when the word is unresolvable (caller falls back to raw). */
|
|
251
|
-
function decodeInner(word, truncateNul) {
|
|
252
|
-
let out = "";
|
|
253
|
-
let i = 0;
|
|
254
|
-
while (i < word.length) {
|
|
255
|
-
const ch = word[i];
|
|
256
|
-
if (ch === "'") {
|
|
257
|
-
const end = word.indexOf("'", i + 1);
|
|
258
|
-
if (end === -1)
|
|
259
|
-
return null; // unterminated
|
|
260
|
-
out += word.slice(i + 1, end);
|
|
261
|
-
i = end + 1;
|
|
262
|
-
continue;
|
|
263
|
-
}
|
|
264
|
-
if (ch === '"') {
|
|
265
|
-
const run = readDoubleQuoted(word, i + 1);
|
|
266
|
-
if (run === null)
|
|
267
|
-
return null;
|
|
268
|
-
out += run.value;
|
|
269
|
-
i = run.next;
|
|
270
|
-
continue;
|
|
271
|
-
}
|
|
272
|
-
if (ch === "$" && word[i + 1] === '"') {
|
|
273
|
-
// `$"..."` is locale translation. With no catalog loaded bash returns
|
|
274
|
-
// the contents unchanged with the quotes removed, so the value is the
|
|
275
|
-
// same as a plain double-quoted run. Measured: `printf '%s' -$"delete"`
|
|
276
|
-
// -> `-delete`. Without this branch the `$` was emitted literally and
|
|
277
|
-
// the decode SUCCEEDED with a wrong value, so the raw-token fallback
|
|
278
|
-
// never fired — five artefact-confirmed writes slipped through
|
|
279
|
-
// (review round 1).
|
|
280
|
-
const run = readDoubleQuoted(word, i + 2);
|
|
281
|
-
if (run === null)
|
|
282
|
-
return null;
|
|
283
|
-
out += run.value;
|
|
284
|
-
i = run.next;
|
|
285
|
-
continue;
|
|
286
|
-
}
|
|
287
|
-
if (ch === "$" && word[i + 1] === "'") {
|
|
288
|
-
const run = readAnsiC(word, i + 2, truncateNul);
|
|
289
|
-
if (run === null)
|
|
290
|
-
return null;
|
|
291
|
-
out += run.value;
|
|
292
|
-
i = run.next;
|
|
293
|
-
continue;
|
|
294
|
-
}
|
|
295
|
-
if (ch === "\\") {
|
|
296
|
-
// Outside quotes a backslash escapes ANY next character. A trailing
|
|
297
|
-
// backslash is a line continuation, which a single word cannot carry.
|
|
298
|
-
if (i + 1 >= word.length)
|
|
299
|
-
return null;
|
|
300
|
-
out += word[i + 1];
|
|
301
|
-
i += 2;
|
|
302
|
-
continue;
|
|
303
|
-
}
|
|
304
|
-
out += ch;
|
|
305
|
-
i++;
|
|
306
|
-
}
|
|
307
|
-
return out;
|
|
308
|
-
}
|
|
309
|
-
function readDoubleQuoted(word, start) {
|
|
310
|
-
let out = "";
|
|
311
|
-
let i = start;
|
|
312
|
-
while (i < word.length) {
|
|
313
|
-
const ch = word[i];
|
|
314
|
-
if (ch === '"')
|
|
315
|
-
return { value: out, next: i + 1 };
|
|
316
|
-
if (ch === "\\") {
|
|
317
|
-
const nxt = word[i + 1];
|
|
318
|
-
if (nxt === undefined)
|
|
319
|
-
return null;
|
|
320
|
-
// Inside double quotes a backslash is literal UNLESS it precedes one
|
|
321
|
-
// of the few characters bash lets it escape there.
|
|
322
|
-
if (DOUBLE_QUOTE_ESCAPABLE.has(nxt)) {
|
|
323
|
-
out += nxt;
|
|
324
|
-
i += 2;
|
|
325
|
-
}
|
|
326
|
-
else {
|
|
327
|
-
out += "\\";
|
|
328
|
-
i += 1;
|
|
329
|
-
}
|
|
330
|
-
continue;
|
|
331
|
-
}
|
|
332
|
-
out += ch;
|
|
333
|
-
i++;
|
|
334
|
-
}
|
|
335
|
-
return null; // unterminated
|
|
336
|
-
}
|
|
337
|
-
function readAnsiC(word, start, truncateNul) {
|
|
338
|
-
let out = "";
|
|
339
|
-
let i = start;
|
|
340
|
-
// Set once a NUL-decoding escape was met under `truncateNul`: the rest of
|
|
341
|
-
// the run is read only to find its closing quote, and adds nothing.
|
|
342
|
-
let dropping = false;
|
|
343
|
-
while (i < word.length) {
|
|
344
|
-
const ch = word[i];
|
|
345
|
-
if (ch === "'")
|
|
346
|
-
return { value: out, next: i + 1 };
|
|
347
|
-
if (ch !== "\\") {
|
|
348
|
-
if (!dropping)
|
|
349
|
-
out += ch;
|
|
350
|
-
i++;
|
|
351
|
-
continue;
|
|
352
|
-
}
|
|
353
|
-
const nxt = word[i + 1];
|
|
354
|
-
if (nxt === undefined)
|
|
355
|
-
return null;
|
|
356
|
-
if (dropping) {
|
|
357
|
-
i += 2;
|
|
358
|
-
continue;
|
|
359
|
-
}
|
|
360
|
-
if (truncateNul && isNulEscapeAt(word, i)) {
|
|
361
|
-
dropping = true;
|
|
362
|
-
i += 2;
|
|
363
|
-
continue;
|
|
364
|
-
}
|
|
365
|
-
const simple = ANSI_C_SIMPLE.get(nxt);
|
|
366
|
-
if (simple !== undefined) {
|
|
367
|
-
out += simple;
|
|
368
|
-
i += 2;
|
|
369
|
-
continue;
|
|
370
|
-
}
|
|
371
|
-
if (nxt === "x" || nxt === "u" || nxt === "U") {
|
|
372
|
-
// \xHH (1-2 hex), \uHHHH (1-4), \UHHHHHHHH (1-8).
|
|
373
|
-
const max = nxt === "x" ? 2 : nxt === "u" ? 4 : 8;
|
|
374
|
-
let j = i + 2;
|
|
375
|
-
let hex = "";
|
|
376
|
-
while (j < word.length && hex.length < max && /[0-9a-fA-F]/.test(word[j])) {
|
|
377
|
-
hex += word[j];
|
|
378
|
-
j++;
|
|
379
|
-
}
|
|
380
|
-
if (hex.length === 0) {
|
|
381
|
-
// Not a valid escape. Bash keeps the BACKSLASH as well as the
|
|
382
|
-
// character: `printf '%s' $'\xz'` emits `\xz` (3 chars, verified
|
|
383
|
-
// with od -c). An earlier version dropped the backslash.
|
|
384
|
-
out += "\\" + nxt;
|
|
385
|
-
i += 2;
|
|
386
|
-
continue;
|
|
387
|
-
}
|
|
388
|
-
out += String.fromCodePoint(Number.parseInt(hex, 16));
|
|
389
|
-
i = j;
|
|
390
|
-
continue;
|
|
391
|
-
}
|
|
392
|
-
if (/[0-7]/.test(nxt)) {
|
|
393
|
-
// \NNN — up to three octal digits (a leading 0 is one of them).
|
|
394
|
-
let j = i + 1;
|
|
395
|
-
let oct = "";
|
|
396
|
-
while (j < word.length && oct.length < 3 && /[0-7]/.test(word[j])) {
|
|
397
|
-
oct += word[j];
|
|
398
|
-
j++;
|
|
399
|
-
}
|
|
400
|
-
out += String.fromCharCode(Number.parseInt(oct, 8));
|
|
401
|
-
i = j;
|
|
402
|
-
continue;
|
|
403
|
-
}
|
|
404
|
-
// Unrecognised escape: bash keeps the backslash AND the character.
|
|
405
|
-
out += "\\" + nxt;
|
|
406
|
-
i += 2;
|
|
407
|
-
}
|
|
408
|
-
return null; // unterminated
|
|
409
|
-
}
|
|
410
|
-
//# sourceMappingURL=shell-word.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shell-word.js","sourceRoot":"","sources":["../../src/runtime/shell-word.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
export declare const AGENT_TASKS_MCP_PREFIX = "mcp__agent-tasks__";
|
|
2
|
-
export declare const TASK_START_TOOL = "mcp__agent-tasks__task_start";
|
|
3
|
-
export declare const TASK_FINISH_TOOL = "mcp__agent-tasks__task_finish";
|
|
4
|
-
export declare const TASK_ABANDON_TOOL = "mcp__agent-tasks__task_abandon";
|
|
5
|
-
export declare const TASKS_TRANSITION_TOOL = "mcp__agent-tasks__tasks_transition";
|
|
6
|
-
export declare const TASK_MERGE_TOOL = "mcp__agent-tasks__task_merge";
|
|
7
|
-
export declare const PULL_REQUESTS_MERGE_TOOL = "mcp__agent-tasks__pull_requests_merge";
|
|
8
|
-
export declare const ACTIVE_CLAIM_TOOL_NAMES: readonly ["mcp__agent-tasks__task_start", "mcp__agent-tasks__task_finish", "mcp__agent-tasks__task_abandon", "mcp__agent-tasks__tasks_transition", "mcp__agent-tasks__task_merge"];
|
|
9
|
-
/**
|
|
10
|
-
* Default approval-marker expiry tool list. It only shapes the EMITTED
|
|
11
|
-
* PostToolUse matcher when a manifest configures no explicit
|
|
12
|
-
* `approval_lifecycle.expire_on_tool_match`; the runtime boundary list
|
|
13
|
-
* the hook applies comes from the config alone (`parseApprovalLifecycle`
|
|
14
|
-
* returns an empty list when the key is absent). `task_merge` is listed
|
|
15
|
-
* because a `task_finish` that lands in `review` no longer expires the
|
|
16
|
-
* approval (it keeps the work claim, task 5018c0c4); an operator's
|
|
17
|
-
* explicit list, and every `harness init` scaffold, needs `task_merge`
|
|
18
|
-
* too for the review-then-`task_merge` path to expire the approval.
|
|
19
|
-
*/
|
|
20
|
-
export declare const DEFAULT_BOUNDARY_TOOL_NAMES: readonly ["mcp__agent-tasks__task_finish", "mcp__agent-tasks__task_abandon", "mcp__agent-tasks__pull_requests_merge", "mcp__agent-tasks__tasks_transition", "mcp__agent-tasks__task_merge"];
|
|
21
|
-
export declare const DEFAULT_PROTECTED_COMPLETION_TOOLS: readonly ["task_finish", "task_submit_pr", "task_merge", "pull_requests_merge"];
|
|
22
|
-
export declare const TASK_FINISH_AUTOMERGE_INPUT_MATCH: Record<string, boolean>;
|
|
23
|
-
export declare const TASK_ID_EXTRACT: Record<string, string>;
|
|
24
|
-
export declare const PR_NUMBER_EXTRACT: Record<string, string>;
|
|
25
|
-
export declare function taskIdFromInput(input: unknown): string;
|
|
26
|
-
export declare function tasksTransitionStatusFromInput(input: unknown): string;
|
|
27
|
-
export declare function tasksTransitionReleasesClaim(input: unknown): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Read the resulting status off a task_finish tool RESULT (not the
|
|
30
|
-
* request), unwrapping whichever transport shape it arrived in (see
|
|
31
|
-
* `unwrapToolResponseEnvelope`). Returns `null` when the result is
|
|
32
|
-
* absent, malformed, or carries no string status, so a caller can tell
|
|
33
|
-
* "the task landed on a known non-review status" apart from "we could
|
|
34
|
-
* not tell" (task c86e3c4a).
|
|
35
|
-
*/
|
|
36
|
-
export declare function taskFinishResultingStatus(toolResponse: unknown): string | null;
|
|
37
|
-
/**
|
|
38
|
-
* Read the acted-on task id off a task_finish (or any agent-tasks) tool
|
|
39
|
-
* RESULT, unwrapping the same shapes as `taskFinishResultingStatus`.
|
|
40
|
-
* Used as a fallback when the tool_input did not carry a `taskId` (task
|
|
41
|
-
* c86e3c4a, id-equality guard on release verbs), and by the stay-in-scope
|
|
42
|
-
* hook to read the created task id off a create verb's result, which never
|
|
43
|
-
* carries a `taskId` input (task b5e65f5e).
|
|
44
|
-
*/
|
|
45
|
-
export declare function taskIdFromToolResponse(toolResponse: unknown): string;
|
|
46
|
-
/**
|
|
47
|
-
* Diagnostic-only companion to `claimEffectForAgentTasksTool`: was a
|
|
48
|
-
* task_finish's resulting status actually readable? This does NOT feed
|
|
49
|
-
* back into the release/keep decision (that stays the classifier's
|
|
50
|
-
* alone) -- it lets `hook-track-active-claim.ts` label its stderr line
|
|
51
|
-
* so a silent fail-safe fallback release does not look identical to an
|
|
52
|
-
* intentional `done` release in the operator's own trail (task
|
|
53
|
-
* c86e3c4a).
|
|
54
|
-
*/
|
|
55
|
-
export declare function taskFinishReleaseIsUnreadable(toolResponse: unknown): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Coarse shape label for a tool_response, for the same stderr diagnostic
|
|
58
|
-
* above -- never used to decide anything, only to name what shape a
|
|
59
|
-
* fail-safe release fell back from.
|
|
60
|
-
*/
|
|
61
|
-
export declare function describeToolResponseShape(toolResponse: unknown): "array" | "string" | "object" | "absent";
|
|
62
|
-
export declare function agentTasksToolName(verb: string): string;
|
|
63
|
-
/** Alias-aware for runtime events, including mcp__server.verb variants. */
|
|
64
|
-
export declare function matchesAgentTasksRuntimeVerb(toolName: string, verbs: readonly string[]): boolean;
|
|
65
|
-
/** Strict canonical parsing for Solution Acceptance's deliberately narrow gate. */
|
|
66
|
-
export declare function canonicalAgentTasksVerb(toolName: string, verbs: readonly string[]): string | null;
|
|
67
|
-
export type ClaimEffect = "acquire" | "release" | "none";
|
|
68
|
-
/**
|
|
69
|
-
* Claim lifecycle is separate from approval boundaries: only a completed
|
|
70
|
-
* legacy transition releases a claim, while abandon and merge always do.
|
|
71
|
-
*
|
|
72
|
-
* task_finish is decided from the RESULT, not the verb (task c86e3c4a):
|
|
73
|
-
* agent-tasks's own v2 semantics clear the work claim going to `done`
|
|
74
|
-
* and keep it going to `review`, so `toolResponse` (the tool RESULT
|
|
75
|
-
* envelope, optional third parameter -- the caller's PostToolUse event
|
|
76
|
-
* carries this alongside `tool_input`) is read via
|
|
77
|
-
* `taskFinishResultingStatus`. A resulting status of `review` returns
|
|
78
|
-
* `none` (keep); `done`, any other resolvable status, and an
|
|
79
|
-
* unresolvable result (no `toolResponse`, or a malformed one) all
|
|
80
|
-
* return `release`.
|
|
81
|
-
*
|
|
82
|
-
* Fail-safe rationale (task c86e3c4a -- corrected from an earlier
|
|
83
|
-
* wording of this comment that was wrong about what the marker feeds):
|
|
84
|
-
* the active-claim file
|
|
85
|
-
* this classifier feeds is read by the FAIL-CLOSED completion gate
|
|
86
|
-
* (`src/cli/pack/hook-solution-acceptance.ts`'s `readActiveClaim` call)
|
|
87
|
-
* to derive the verdict id it gates `task_finish` / `task_submit_pr` /
|
|
88
|
-
* `task_merge` / `pull_requests_merge` / `git push` on. Release-on-
|
|
89
|
-
* unreadable is chosen because a KEPT marker for a task that actually
|
|
90
|
-
* finished would fail OPEN: until the next `task_start` overwrites it,
|
|
91
|
-
* post-done completion-gated actions (git push, task_merge, PR merge)
|
|
92
|
-
* would pass on that finished task's already-accepted verdict, and the
|
|
93
|
-
* marker would override SOLUTION_VERDICT_ID. Releasing fails CLOSED
|
|
94
|
-
* instead, at the cost of a possible wedge (the gate refuses with "no
|
|
95
|
-
* active-claim task id recorded" until a fresh `task_start` or an
|
|
96
|
-
* operator clears the file). It is not costless, and it is not merely
|
|
97
|
-
* giving up an "ergonomic shortcut".
|
|
98
|
-
*
|
|
99
|
-
* This is the ONE place that decision is made: callers (e.g.
|
|
100
|
-
* `hook-track-active-claim.ts`) do not re-derive it locally.
|
|
101
|
-
*/
|
|
102
|
-
export declare function claimEffectForAgentTasksTool(toolName: string, input: unknown, toolResponse?: unknown): ClaimEffect;
|
|
103
|
-
export declare function resolveProtectedCompletionTools(config: unknown): string[];
|