@lannguyensi/harness 0.41.0 → 0.43.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 +58 -0
- package/README.md +9 -0
- package/dist/cli/adopt/derive.d.ts +15 -0
- package/dist/cli/adopt/derive.js +34 -7
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/adopt/index.d.ts +30 -0
- package/dist/cli/adopt/index.js +23 -3
- package/dist/cli/adopt/index.js.map +1 -1
- package/dist/cli/apply/generate-settings.d.ts +14 -1
- package/dist/cli/apply/generate-settings.js +7 -3
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/approve/branch-protection.js +1 -1
- package/dist/cli/approve/branch-protection.js.map +1 -1
- package/dist/cli/approve/stdin-report.js +2 -0
- package/dist/cli/approve/stdin-report.js.map +1 -1
- package/dist/cli/doctor/claude-mcp.d.ts +50 -0
- package/dist/cli/doctor/claude-mcp.js +170 -0
- package/dist/cli/doctor/claude-mcp.js.map +1 -0
- package/dist/cli/doctor/format.js +37 -0
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.d.ts +10 -0
- package/dist/cli/doctor/index.js +24 -0
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/npm-bin-path.js +42 -0
- package/dist/cli/doctor/npm-bin-path.js.map +1 -1
- package/dist/cli/doctor/types.d.ts +11 -0
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/dry-run.js +13 -1
- package/dist/cli/dry-run.js.map +1 -1
- package/dist/cli/index.js +253 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/agent-tasks-auth.js +32 -0
- package/dist/cli/init/agent-tasks-auth.js.map +1 -1
- package/dist/cli/init/composer.js +9 -15
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/dependencies.js +21 -0
- package/dist/cli/init/dependencies.js.map +1 -1
- package/dist/cli/init/detect.d.ts +20 -3
- package/dist/cli/init/detect.js +34 -36
- package/dist/cli/init/detect.js.map +1 -1
- package/dist/cli/init/interactive.d.ts +33 -0
- package/dist/cli/init/interactive.js +399 -5
- package/dist/cli/init/interactive.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +1 -1
- package/dist/cli/init/profiles.js +2 -2
- package/dist/cli/init/templates.d.ts +1 -1
- package/dist/cli/init/templates.js +111 -32
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/main.js +10 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/pack/hook-branch-protection.js +1 -1
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/hook-post-merge-gate-record.d.ts +30 -0
- package/dist/cli/pack/hook-post-merge-gate-record.js +153 -0
- package/dist/cli/pack/hook-post-merge-gate-record.js.map +1 -0
- package/dist/cli/pack/hook-post-merge-gate.d.ts +28 -0
- package/dist/cli/pack/hook-post-merge-gate.js +244 -0
- package/dist/cli/pack/hook-post-merge-gate.js.map +1 -0
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js +149 -3
- package/dist/cli/pack/hook-solution-acceptance-writeguard.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance.js +1 -1
- package/dist/cli/pack/hook-solution-acceptance.js.map +1 -1
- package/dist/cli/pack/understanding-report-schema-hint.js +1 -1
- package/dist/cli/pack/understanding-report-schema-hint.js.map +1 -1
- package/dist/cli/policy/intercept.js +77 -10
- package/dist/cli/policy/intercept.js.map +1 -1
- package/dist/cli/record/index.d.ts +64 -0
- package/dist/cli/record/index.js +211 -0
- package/dist/cli/record/index.js.map +1 -0
- package/dist/cli/session-start/index.d.ts +7 -0
- package/dist/cli/session-start/index.js +133 -38
- package/dist/cli/session-start/index.js.map +1 -1
- package/dist/cli/session-start/toolchain-parity.d.ts +149 -0
- package/dist/cli/session-start/toolchain-parity.js +618 -0
- package/dist/cli/session-start/toolchain-parity.js.map +1 -0
- package/dist/cli/uninstall/index.d.ts +73 -1
- package/dist/cli/uninstall/index.js +134 -2
- package/dist/cli/uninstall/index.js.map +1 -1
- package/dist/cli/validate/checks.js +2 -2
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/io/claude-mcp.d.ts +258 -0
- package/dist/io/claude-mcp.js +544 -0
- package/dist/io/claude-mcp.js.map +1 -0
- package/dist/policies/ledger-client.d.ts +34 -1
- package/dist/policies/ledger-client.js +21 -16
- package/dist/policies/ledger-client.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection-runtime.d.ts +1 -1
- package/dist/policy-packs/builtin/branch-protection-runtime.js +1 -1
- package/dist/policy-packs/builtin/branch-protection.js +2 -2
- package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
- package/dist/policy-packs/builtin/post-merge-gate-runtime.d.ts +195 -0
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js +290 -0
- package/dist/policy-packs/builtin/post-merge-gate-runtime.js.map +1 -0
- package/dist/policy-packs/builtin/post-merge-gate.d.ts +56 -0
- package/dist/policy-packs/builtin/post-merge-gate.js +291 -0
- package/dist/policy-packs/builtin/post-merge-gate.js.map +1 -0
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +29 -14
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance.js +1 -1
- package/dist/policy-packs/registry.d.ts +1 -1
- package/dist/policy-packs/registry.js +12 -0
- package/dist/policy-packs/registry.js.map +1 -1
- package/dist/runtime/bash-match-facts.d.ts +58 -0
- package/dist/runtime/bash-match-facts.js +194 -0
- package/dist/runtime/bash-match-facts.js.map +1 -0
- package/dist/runtime/bash-match-registry.d.ts +75 -0
- package/dist/runtime/bash-match-registry.js +359 -0
- package/dist/runtime/bash-match-registry.js.map +1 -0
- package/dist/runtime/bash-prefix-parse.js +23 -0
- package/dist/runtime/bash-prefix-parse.js.map +1 -1
- package/dist/runtime/command-normalize.d.ts +92 -0
- package/dist/runtime/command-normalize.js +1182 -0
- package/dist/runtime/command-normalize.js.map +1 -0
- package/dist/runtime/git-context.d.ts +50 -0
- package/dist/runtime/git-context.js +108 -1
- package/dist/runtime/git-context.js.map +1 -1
- package/dist/runtime/hermetic-spawn-guard.d.ts +25 -0
- package/dist/runtime/hermetic-spawn-guard.js +136 -0
- package/dist/runtime/hermetic-spawn-guard.js.map +1 -0
- package/dist/runtime/intercept.d.ts +39 -1
- package/dist/runtime/intercept.js +33 -4
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/ledger-writer.d.ts +27 -0
- package/dist/runtime/ledger-writer.js +46 -0
- package/dist/runtime/ledger-writer.js.map +1 -0
- package/dist/runtime/read-only-bash.d.ts +43 -0
- package/dist/runtime/read-only-bash.js +133 -3
- package/dist/runtime/read-only-bash.js.map +1 -1
- package/dist/schema/index.d.ts +41 -0
- package/dist/schema/index.js +5 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/policies.js +1 -1
- package/dist/schema/policies.js.map +1 -1
- package/dist/schema/toolchain-parity.d.ts +18 -0
- package/dist/schema/toolchain-parity.js +35 -0
- package/dist/schema/toolchain-parity.js.map +1 -0
- package/package.json +5 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-normalize.js","sourceRoot":"","sources":["../../src/runtime/command-normalize.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,+DAA+D;AAC/D,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AACxE,gEAAgE;AAChE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,iEAAiE;AACjE,oEAAoE;AACpE,yEAAyE;AACzE,iEAAiE;AACjE,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,kEAAkE;AAClE,sEAAsE;AACtE,qEAAqE;AACrE,qCAAqC;AACrC,EAAE;AACF,mEAAmE;AACnE,wEAAwE;AACxE,uEAAuE;AACvE,wEAAwE;AACxE,qEAAqE;AACrE,uEAAuE;AACvE,kEAAkE;AAClE,wEAAwE;AACxE,uCAAuC;AACvC,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,oEAAoE;AACpE,wEAAwE;AACxE,mEAAmE;AACnE,uEAAuE;AACvE,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,gEAAgE;AAChE,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,uEAAuE;AACvE,sEAAsE;AACtE,0EAA0E;AAC1E,uEAAuE;AACvE,gDAAgD;AAChD,EAAE;AACF,mEAAmE;AACnE,iBAAiB;AACjB,4DAA4D;AAC5D,kEAAkE;AAClE,uEAAuE;AACvE,yEAAyE;AACzE,sEAAsE;AACtE,qEAAqE;AACrE,mEAAmE;AACnE,kEAAkE;AAClE,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,kEAAkE;AAClE,yEAAyE;AACzE,gEAAgE;AAChE,yEAAyE;AACzE,mEAAmE;AACnE,mEAAmE;AACnE,2BAA2B;AAC3B,+DAA+D;AAC/D,mEAAmE;AACnE,0EAA0E;AAC1E,2DAA2D;AAC3D,0EAA0E;AAC1E,qEAAqE;AACrE,yCAAyC;AACzC,qEAAqE;AACrE,kEAAkE;AAClE,wEAAwE;AACxE,qEAAqE;AACrE,sEAAsE;AACtE,8DAA8D;AAC9D,oEAAoE;AACpE,yEAAyE;AACzE,sEAAsE;AACtE,wEAAwE;AACxE,2DAA2D;AAC3D,4CAA4C;AAC5C,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,mEAAmE;AACnE,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,mEAAmE;AACnE,oEAAoE;AACpE,uEAAuE;AACvE,mEAAmE;AACnE,yEAAyE;AACzE,sEAAsE;AACtE,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,gCAAgC;AAChC,qEAAqE;AACrE,wEAAwE;AACxE,mEAAmE;AACnE,qEAAqE;AACrE,2EAA2E;AAC3E,iEAAiE;AACjE,wEAAwE;AACxE,2EAA2E;AAC3E,4EAA4E;AAC5E,iEAAiE;AACjE,oDAAoD;AACpD,wEAAwE;AACxE,+DAA+D;AAC/D,yEAAyE;AACzE,qEAAqE;AACrE,8CAA8C;AAC9C,iEAAiE;AACjE,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,0EAA0E;AAC1E,0EAA0E;AAC1E,oEAAoE;AACpE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,qEAAqE;AACrE,kEAAkE;AAClE,+DAA+D;AAC/D,kEAAkE;AAClE,6DAA6D;AAC7D,sEAAsE;AACtE,gEAAgE;AAChE,8BAA8B;AAC9B,wEAAwE;AACxE,uEAAuE;AACvE,kEAAkE;AAClE,0EAA0E;AAC1E,4CAA4C;AAC5C,0EAA0E;AAC1E,yEAAyE;AACzE,0DAA0D;AAC1D,wEAAwE;AACxE,qEAAqE;AACrE,2DAA2D;AAC3D,EAAE;AACF,yEAAyE;AACzE,kCAAkC;AAClC,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,qEAAqE;AACrE,wEAAwE;AACxE,iEAAiE;AACjE,wEAAwE;AACxE,yEAAyE;AACzE,sEAAsE;AACtE,wEAAwE;AACxE,qEAAqE;AACrE,wBAAwB;AACxB,sEAAsE;AACtE,qEAAqE;AACrE,kEAAkE;AAClE,oEAAoE;AACpE,qEAAqE;AACrE,wEAAwE;AACxE,8DAA8D;AAC9D,wEAAwE;AACxE,mBAAmB;AACnB,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,sEAAsE;AACtE,yEAAyE;AACzE,iCAAiC;AACjC,yEAAyE;AACzE,4DAA4D;AAC5D,qEAAqE;AACrE,+DAA+D;AAC/D,+DAA+D;AAC/D,yEAAyE;AACzE,qEAAqE;AACrE,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,sEAAsE;AACtE,yEAAyE;AACzE,wEAAwE;AACxE,uBAAuB;AACvB,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,0EAA0E;AAC1E,wEAAwE;AACxE,qEAAqE;AACrE,qEAAqE;AACrE,0EAA0E;AAC1E,qCAAqC;AACrC,sEAAsE;AACtE,sCAAsC;AACtC,0DAA0D;AAC1D,sEAAsE;AACtE,kEAAkE;AAClE,iEAAiE;AACjE,sEAAsE;AACtE,iEAAiE;AACjE,wEAAwE;AACxE,sEAAsE;AACtE,gEAAgE;AAChE,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,4DAA4D;AAC5D,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,2EAA2E;AAC3E,yEAAyE;AACzE,mEAAmE;AACnE,qEAAqE;AACrE,yEAAyE;AACzE,sEAAsE;AACtE,cAAc;AACd,uEAAuE;AACvE,sEAAsE;AACtE,kEAAkE;AAClE,uEAAuE;AACvE,2CAA2C;AAC3C,uEAAuE;AACvE,yEAAyE;AACzE,oEAAoE;AACpE,4DAA4D;AAC5D,kEAAkE;AAClE,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,6DAA6D;AAC7D,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,mEAAmE;AACnE,kEAAkE;AAClE,yEAAyE;AACzE,wEAAwE;AACxE,mEAAmE;AACnE,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,yEAAyE;AACzE,qEAAqE;AACrE,yEAAyE;AACzE,gBAAgB;AAChB,2EAA2E;AAC3E,gEAAgE;AAChE,wEAAwE;AACxE,qEAAqE;AACrE,yEAAyE;AACzE,yEAAyE;AACzE,aAAa;AACb,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,sEAAsE;AACtE,kEAAkE;AAClE,mEAAmE;AACnE,0EAA0E;AAC1E,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,4DAA4D;AAC5D,oEAAoE;AACpE,wEAAwE;AACxE,wEAAwE;AACxE,mEAAmE;AACnE,wEAAwE;AACxE,wEAAwE;AACxE,+BAA+B;AAC/B,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,+DAA+D;AAC/D,wEAAwE;AACxE,wEAAwE;AACxE,+DAA+D;AAC/D,qEAAqE;AACrE,uEAAuE;AACvE,uEAAuE;AACvE,kEAAkE;AAClE,mBAAmB;AACnB,EAAE;AACF,gEAAgE;AAChE,uEAAuE;AACvE,qEAAqE;AACrE,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,sEAAsE;AACtE,sEAAsE;AACtE,mEAAmE;AACnE,wEAAwE;AACxE,yEAAyE;AACzE,sEAAsE;AACtE,UAAU;AACV,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,mEAAmE;AACnE,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,mEAAmE;AACnE,+DAA+D;AAC/D,qEAAqE;AACrE,uEAAuE;AACvE,yEAAyE;AACzE,wEAAwE;AACxE,8DAA8D;AAC9D,EAAE;AACF,2DAA2D;AAC3D,6DAA6D;AAC7D,0EAA0E;AAC1E,6EAA6E;AAC7E,wEAAwE;AACxE,oEAAoE;AACpE,yEAAyE;AACzE,sEAAsE;AACtE,uEAAuE;AACvE,uCAAuC;AAEvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAsD7B,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAE9C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAE1F;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,GAAG,gBAAgB,CAAC;AAErC,oFAAoF;AACpF,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO;YACL,UAAU,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtD,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAC1C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACrF,CAAC;IACD,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,IAAI,kBAAkB,GAAkB,IAAI,CAAC;IAC7C,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAEzB,kEAAkE;IAClE,oEAAoE;IACpE,uEAAuE;IACvE,mEAAmE;IACnE,uEAAuE;IACvE,oEAAoE;IACpE,gEAAgE;IAChE,UAAU;IACV,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;IAEpD,mEAAmE;IACnE,kEAAkE;IAClE,qEAAqE;IACrE,8DAA8D;IAC9D,qCAAqC;IACrC,IAAI,sBAAsB,GAAkB,IAAI,CAAC;IACjD,IAAI,yBAAyB,GAAG,KAAK,CAAC;IAEtC,kEAAkE;IAClE,sEAAsE;IACtE,qEAAqE;IACrE,iEAAiE;IACjE,oEAAoE;IACpE,iEAAiE;IACjE,8CAA8C;IAC9C,SAAS,CAAC;QACR,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAC9B,mBAAmB,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtC,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBACnD,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC;oBACvC,eAAe,GAAG,IAAI,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IACL,sBAAsB,KAAK,GAAG;YAC9B,CAAC,CAAC,sBAAsB,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,EACxD,CAAC;YACD,mEAAmE;YACnE,kEAAkE;YAClE,iEAAiE;YACjE,8DAA8D;YAC9D,gEAAgE;YAChE,8DAA8D;YAC9D,iEAAiE;YACjE,mEAAmE;YACnE,+DAA+D;YAC/D,mEAAmE;YACnE,mDAAmD;YACnD,kEAAkE;YAClE,kEAAkE;YAClE,+DAA+D;YAC/D,kEAAkE;YAClE,iEAAiE;YACjE,+DAA+D;YAC/D,uBAAuB;YACvB,yBAAyB,GAAG,IAAI,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,QAAQ;YAAE,MAAM;QACrB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3C,sBAAsB,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED,IAAI,SAAwB,CAAC;IAC7B,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,IACE,eAAe,CAAC,IAAI,KAAK,CAAC;QAC1B,mBAAmB,KAAK,CAAC;QACzB,CAAC,yBAAyB,EAC1B,CAAC;QACD,oEAAoE;QACpE,qEAAqE;QACrE,gEAAgE;QAChE,mEAAmE;QACnE,+BAA+B;QAC/B,SAAS,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAE,CAAC;QACrC,UAAU,GAAG,kBAAkB,CAAC;QAChC,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,iEAAiE;YACjE,+DAA+D;YAC/D,mEAAmE;YACnE,gEAAgE;YAChE,4DAA4D;YAC5D,mEAAmE;YACnE,mEAAmE;YACnE,8BAA8B;YAC9B,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAAE,UAAU,GAAG,SAAS,CAAC;QAC9E,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtC,iEAAiE;QACjE,gEAAgE;QAChE,iEAAiE;QACjE,iEAAiE;QACjE,iEAAiE;QACjE,kEAAkE;QAClE,+DAA+D;QAC/D,kEAAkE;QAClE,oEAAoE;QACpE,4DAA4D;QAC5D,mEAAmE;QACnE,sBAAsB;QACtB,SAAS,GAAG,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,mEAAmE;QACnE,oEAAoE;QACpE,8DAA8D;QAC9D,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,iEAAiE;QACjE,iEAAiE;QACjE,qEAAqE;QACrE,+DAA+D;QAC/D,oCAAoC;QACpC,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACjF,CAAC;AAED,gGAAgG;AAChG,SAAS,gBAAgB,CACvB,CAAS,EACT,IAAY;IAEZ,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,SAAS,iBAAiB,CAAC,MAAe,EAAE,GAAW;IACrD,IAAI,KAAK,GAAmB,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;YACnB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG;oBAAE,KAAK,GAAG,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,IAAI;oBAAE,OAAO,GAAG,IAAI,CAAC;qBAC1B,IAAI,CAAC,KAAK,GAAG;oBAAE,KAAK,GAAG,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,GAAG,IAAI,CAAC;iBAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;gBAAE,KAAK,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,mEAAmE;QACnE,4DAA4D;QAC5D,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,OAAO,GAAG,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,SAAS,mBAAmB,CAAC,CAAS;IACpC,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,MAAM,CAAC;IAClB,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,mBAAmB,CAAC,WAAmB;IAM9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAChF,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,YAAY,GAAkB,IAAI,CAAC;IAEvC,mEAAmE;IACnE,+DAA+D;IAC/D,qEAAqE;IACrE,mEAAmE;IACnE,kCAAkC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM;QAC9B,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACnC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;YACZ,IAAI,YAAY,KAAK,IAAI;gBAAE,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC;YACtD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAChF,CAAC;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,GAAG,IAAI,CAAC,CAAC,CAAC,iEAAiE;QAE3E,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACtD,oEAAoE;YACpE,6DAA6D;YAC7D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChF,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,OAAO,aAAa,CAAC,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACrF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC;QACpD,iEAAiE;QACjE,gEAAgE;QAChE,sEAAsE;QACtE,kEAAkE;QAClE,MAAM,UAAU,GACd,OAAO,CAAC,SAAS,KAAK,IAAI;YAC1B,YAAY,KAAK,IAAI;YACrB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;YACjC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,iEAAiE;QACjE,qEAAqE;QACrE,mEAAmE;QACnE,gEAAgE;QAChE,mEAAmE;QACnE,+DAA+D;QAC/D,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,oEAAoE;QACpE,sEAAsE;QACtE,+DAA+D;QAC/D,qEAAqE;QACrE,mEAAmE;QACnE,uEAAuE;QACvE,qEAAqE;QACrE,iEAAiE;QACjE,sEAAsE;QACtE,sEAAsE;QACtE,kEAAkE;QAClE,qCAAqC;QACrC,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7B,iEAAiE;YACjE,qEAAqE;YACrE,qEAAqE;YACrE,+DAA+D;YAC/D,sCAAsC;YACtC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChF,CAAC;QACD,MAAM,SAAS,GAAG,MAAM;aACrB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC9E,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,OAAO,CACd,MAAe,EACf,QAAgB;IAEhB,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;QAC5B,kEAAkE;QAClE,mEAAmE;QACnE,oEAAoE;QACpE,uDAAuD;QACvD,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,MAAM;QAC1C,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,GAAG,IAAI,CAAC,CAAC;YACT,MAAM;QACR,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,MAAM;YAC7B,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,GAAG,CAAC;YAC/D,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,mEAAmE;YACnE,6DAA6D;YAC7D,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7E,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,GAAG,CAAC;YAC/D,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,sEAAsE;QACtE,kEAAkE;QAClE,mEAAmE;QACnE,iDAAiD;QACjD,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,SAAS,WAAW,CAAC,MAAe,EAAE,QAAgB;IACpD,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,GAAG,IAAI,CAAC,CAAC;YACT,MAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACnC,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,MAAe,EAAE,QAAgB;IACjD,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,MAAM;YACzC,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,gBAAgB,CACvB,MAAe,EACf,QAAgB,EAChB,UAA+B,EAC/B,OAAsB;IAEtB,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,GAAG,IAAI,CAAC,CAAC;YACT,MAAM;QACR,CAAC;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,MAAM;YACzC,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACnC,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IACpD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACpD,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ;IACrD,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,cAAc;CACxD,CAAC,CAAC;AACH,oEAAoE;AACpE,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC,SAAS,QAAQ,CAAC,MAAe,EAAE,QAAgB;IACjD,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC7E,CAAC;AAED,mEAAmE;AACnE,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACpE,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,SAAS,QAAQ,CAAC,MAAe,EAAE,QAAgB;IACjD,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC7E,CAAC;AAED,yEAAyE;AACzE,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5F,MAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,SAAS,QAAQ,CAAC,MAAe,EAAE,QAAgB;IACjD,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC7E,CAAC;AAED,gFAAgF;AAChF,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU;CACvC,CAAC,CAAC;AACH,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEnC;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,MAAe,EAAE,QAAgB;IACpD,IAAI,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;IACpF,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,GAAG,IAAI,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;CACnD,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,UAAU,CAAC;AAEnC,SAAS,UAAU,CAAC,MAAe,EAAE,QAAgB;IACnD,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;AACjF,CAAC;AAED,sFAAsF;AACtF,SAAS,UAAU,CAAC,MAAe,EAAE,QAAgB;IACnD,OAAO,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,uEAAuE;AACvE,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAC/E,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAC3B,MAAe,EACf,QAAgB;IAEhB,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAClE,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,GAAG,CAAC;YAC/D,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC9E,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAClE,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/E,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAC/E,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAClE,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,GAAG,CAAC;YAC/D,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,GAAG,CAAC;YAC/D,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YAC3D,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC9E,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,qBAAqB,IAAI,CAAC,KAAK,sBAAsB,EAAE,CAAC;YAChE,GAAG,IAAI,CAAC,CAAC;YACT,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -17,6 +17,27 @@ export interface GitRepoContext {
|
|
|
17
17
|
*/
|
|
18
18
|
sha: string;
|
|
19
19
|
}
|
|
20
|
+
export interface GitEntry {
|
|
21
|
+
/** Directory that contains the `.git` entry (the work-tree root). */
|
|
22
|
+
worktreeRoot: string;
|
|
23
|
+
/** Resolved git directory — for a `.git` file, its `gitdir:` target. */
|
|
24
|
+
gitDir: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Walk up from `startDir` looking for a `.git` entry. Handles both the
|
|
28
|
+
* common `.git` directory and the `.git` *file* form used by linked
|
|
29
|
+
* worktrees and submodules. The walk is bounded so a pathologically
|
|
30
|
+
* deep cwd cannot spin.
|
|
31
|
+
*
|
|
32
|
+
* Exported (task T-001, record-verbs) so `cli/record/index.ts` can
|
|
33
|
+
* locate the same `.git` directory this module resolves `repo`/
|
|
34
|
+
* `branch`/`sha` from, without re-walking the tree with duplicate
|
|
35
|
+
* logic — its base-branch resolution needs the raw git directory (to
|
|
36
|
+
* read `refs/remotes/origin/HEAD` / `packed-refs`), which
|
|
37
|
+
* `resolveGitContext`'s return shape does not expose. Behavior is
|
|
38
|
+
* unchanged; this is a visibility-only change.
|
|
39
|
+
*/
|
|
40
|
+
export declare function findGitEntry(startDir: string): GitEntry | null;
|
|
20
41
|
/**
|
|
21
42
|
* Resolve `{ repo, branch, sha }` for a working directory. Returns empty
|
|
22
43
|
* strings (never throws) when `cwd` is not inside a git work tree, or
|
|
@@ -24,3 +45,32 @@ export interface GitRepoContext {
|
|
|
24
45
|
* fall through to their own behaviour.
|
|
25
46
|
*/
|
|
26
47
|
export declare function resolveGitContext(cwd: string): GitRepoContext;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve the remote's default branch name from `<gitDir>/refs/remotes/
|
|
50
|
+
* origin/HEAD`. Loose symbolic ref first (the normal shape: `ref: refs/
|
|
51
|
+
* remotes/origin/<name>`, written by `git clone` / `git remote set-head
|
|
52
|
+
* origin -a`). When that loose file is absent, falls back to
|
|
53
|
+
* `packed-refs`: some git versions / tooling pack `refs/remotes/origin/
|
|
54
|
+
* HEAD` as a plain `<sha> <ref>` entry instead of a symref, which loses
|
|
55
|
+
* the branch NAME directly — recovered here by matching that sha
|
|
56
|
+
* against another packed `refs/remotes/origin/<name>` entry that shares
|
|
57
|
+
* it (mirrors the loose-then-packed shape `resolveBranchSha` uses
|
|
58
|
+
* above, adapted since packed-refs has no symref concept). Returns null
|
|
59
|
+
* when neither source resolves a name.
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveOriginHeadBase(gitDir: string): string | null;
|
|
62
|
+
/**
|
|
63
|
+
* Resolve the actual shared git directory for `gitDir`, following the
|
|
64
|
+
* `commondir` file linked worktrees write. `git worktree add` gives each
|
|
65
|
+
* worktree its own private `.git` FILE pointing at `<main>/.git/
|
|
66
|
+
* worktrees/<name>/` (what `findGitEntry` returns as `gitDir`), but
|
|
67
|
+
* `refs/remotes/origin/HEAD` and `packed-refs` are NOT duplicated there
|
|
68
|
+
* — they live only in the shared common dir, reachable via that
|
|
69
|
+
* per-worktree directory's own `commondir` file (a path, normally
|
|
70
|
+
* `../..`, relative to the per-worktree directory itself; see
|
|
71
|
+
* `git-worktree(1)`). Without this indirection, `resolveOriginHeadBase`
|
|
72
|
+
* would look for those refs in the empty per-worktree directory and
|
|
73
|
+
* always miss. Returns `gitDir` unchanged when no `commondir` file
|
|
74
|
+
* exists (the normal, non-worktree case).
|
|
75
|
+
*/
|
|
76
|
+
export declare function resolveCommonDir(gitDir: string): string;
|
|
@@ -35,8 +35,16 @@ const SHA_RE = /^[0-9a-f]{40}$/;
|
|
|
35
35
|
* common `.git` directory and the `.git` *file* form used by linked
|
|
36
36
|
* worktrees and submodules. The walk is bounded so a pathologically
|
|
37
37
|
* deep cwd cannot spin.
|
|
38
|
+
*
|
|
39
|
+
* Exported (task T-001, record-verbs) so `cli/record/index.ts` can
|
|
40
|
+
* locate the same `.git` directory this module resolves `repo`/
|
|
41
|
+
* `branch`/`sha` from, without re-walking the tree with duplicate
|
|
42
|
+
* logic — its base-branch resolution needs the raw git directory (to
|
|
43
|
+
* read `refs/remotes/origin/HEAD` / `packed-refs`), which
|
|
44
|
+
* `resolveGitContext`'s return shape does not expose. Behavior is
|
|
45
|
+
* unchanged; this is a visibility-only change.
|
|
38
46
|
*/
|
|
39
|
-
function findGitEntry(startDir) {
|
|
47
|
+
export function findGitEntry(startDir) {
|
|
40
48
|
let dir = path.resolve(startDir);
|
|
41
49
|
for (let depth = 0; depth < 128; depth++) {
|
|
42
50
|
const dotGit = path.join(dir, ".git");
|
|
@@ -143,4 +151,103 @@ export function resolveGitContext(cwd) {
|
|
|
143
151
|
}
|
|
144
152
|
return { repo, branch, sha };
|
|
145
153
|
}
|
|
154
|
+
// ---------------------------------------------------------------------------
|
|
155
|
+
// Default-branch resolution (offline, no `gh`/`git` subprocess).
|
|
156
|
+
//
|
|
157
|
+
// Originally written for `harness record review`'s `--base` fallback
|
|
158
|
+
// (task T-001, record-verbs) and lived only in `cli/record/index.ts`.
|
|
159
|
+
// Exported here (task post-merge-gate, T-001) so
|
|
160
|
+
// `policy-packs/builtin/post-merge-gate-runtime.ts` can resolve the same
|
|
161
|
+
// "what's the default branch to switch back to" answer for its deny
|
|
162
|
+
// message without a policy-pack module reaching into `cli/`. Behavior is
|
|
163
|
+
// unchanged; this is a visibility/location move, not a rewrite — see
|
|
164
|
+
// `findGitEntry`'s doc comment above for the identical precedent
|
|
165
|
+
// (record/index.ts reusing this module's git-dir walk instead of
|
|
166
|
+
// duplicating it).
|
|
167
|
+
// ---------------------------------------------------------------------------
|
|
168
|
+
// `.git/refs/remotes/origin/HEAD` on a normal clone: a symbolic ref
|
|
169
|
+
// pointing at the remote's default branch.
|
|
170
|
+
const ORIGIN_HEAD_REF_RE = /^ref:\s*refs\/remotes\/origin\/(.+)$/;
|
|
171
|
+
const ORIGIN_HEAD_REF_PATH = "refs/remotes/origin/HEAD";
|
|
172
|
+
const ORIGIN_REMOTE_PREFIX = "refs/remotes/origin/";
|
|
173
|
+
/**
|
|
174
|
+
* Resolve the remote's default branch name from `<gitDir>/refs/remotes/
|
|
175
|
+
* origin/HEAD`. Loose symbolic ref first (the normal shape: `ref: refs/
|
|
176
|
+
* remotes/origin/<name>`, written by `git clone` / `git remote set-head
|
|
177
|
+
* origin -a`). When that loose file is absent, falls back to
|
|
178
|
+
* `packed-refs`: some git versions / tooling pack `refs/remotes/origin/
|
|
179
|
+
* HEAD` as a plain `<sha> <ref>` entry instead of a symref, which loses
|
|
180
|
+
* the branch NAME directly — recovered here by matching that sha
|
|
181
|
+
* against another packed `refs/remotes/origin/<name>` entry that shares
|
|
182
|
+
* it (mirrors the loose-then-packed shape `resolveBranchSha` uses
|
|
183
|
+
* above, adapted since packed-refs has no symref concept). Returns null
|
|
184
|
+
* when neither source resolves a name.
|
|
185
|
+
*/
|
|
186
|
+
export function resolveOriginHeadBase(gitDir) {
|
|
187
|
+
try {
|
|
188
|
+
const raw = fs
|
|
189
|
+
.readFileSync(path.join(gitDir, "refs", "remotes", "origin", "HEAD"), "utf8")
|
|
190
|
+
.trim();
|
|
191
|
+
const match = ORIGIN_HEAD_REF_RE.exec(raw);
|
|
192
|
+
if (match)
|
|
193
|
+
return match[1].trim();
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
/* loose symref missing — try packed-refs */
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const packed = fs.readFileSync(path.join(gitDir, "packed-refs"), "utf8");
|
|
200
|
+
let headSha = null;
|
|
201
|
+
const entries = [];
|
|
202
|
+
for (const rawLine of packed.split("\n")) {
|
|
203
|
+
const line = rawLine.trim();
|
|
204
|
+
if (line === "" || line.startsWith("#") || line.startsWith("^"))
|
|
205
|
+
continue;
|
|
206
|
+
const parts = line.split(/\s+/);
|
|
207
|
+
const sha = parts[0];
|
|
208
|
+
const ref = parts[1];
|
|
209
|
+
if (!sha || !ref || !SHA_RE.test(sha))
|
|
210
|
+
continue;
|
|
211
|
+
if (ref === ORIGIN_HEAD_REF_PATH)
|
|
212
|
+
headSha = sha;
|
|
213
|
+
else
|
|
214
|
+
entries.push({ sha, ref });
|
|
215
|
+
}
|
|
216
|
+
if (headSha) {
|
|
217
|
+
const match = entries.find((e) => e.sha === headSha && e.ref.startsWith(ORIGIN_REMOTE_PREFIX));
|
|
218
|
+
if (match)
|
|
219
|
+
return match.ref.slice(ORIGIN_REMOTE_PREFIX.length);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
/* packed-refs missing too — caller treats null as "unresolvable" */
|
|
224
|
+
}
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Resolve the actual shared git directory for `gitDir`, following the
|
|
229
|
+
* `commondir` file linked worktrees write. `git worktree add` gives each
|
|
230
|
+
* worktree its own private `.git` FILE pointing at `<main>/.git/
|
|
231
|
+
* worktrees/<name>/` (what `findGitEntry` returns as `gitDir`), but
|
|
232
|
+
* `refs/remotes/origin/HEAD` and `packed-refs` are NOT duplicated there
|
|
233
|
+
* — they live only in the shared common dir, reachable via that
|
|
234
|
+
* per-worktree directory's own `commondir` file (a path, normally
|
|
235
|
+
* `../..`, relative to the per-worktree directory itself; see
|
|
236
|
+
* `git-worktree(1)`). Without this indirection, `resolveOriginHeadBase`
|
|
237
|
+
* would look for those refs in the empty per-worktree directory and
|
|
238
|
+
* always miss. Returns `gitDir` unchanged when no `commondir` file
|
|
239
|
+
* exists (the normal, non-worktree case).
|
|
240
|
+
*/
|
|
241
|
+
export function resolveCommonDir(gitDir) {
|
|
242
|
+
try {
|
|
243
|
+
const raw = fs.readFileSync(path.join(gitDir, "commondir"), "utf8").trim();
|
|
244
|
+
if (raw.length > 0) {
|
|
245
|
+
return path.isAbsolute(raw) ? raw : path.resolve(gitDir, raw);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
/* no commondir file — gitDir already IS the common dir */
|
|
250
|
+
}
|
|
251
|
+
return gitDir;
|
|
252
|
+
}
|
|
146
253
|
//# sourceMappingURL=git-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-context.js","sourceRoot":"","sources":["../../src/runtime/git-context.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,aAAa;AACb,EAAE;AACF,uEAAuE;AACvE,gEAAgE;AAChE,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,gEAAgE;AAChE,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,sEAAsE;AACtE,gEAAgE;AAChE,sCAAsC;AACtC,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,mEAAmE;AACnE,gEAAgE;AAChE,mDAAmD;AAEnD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAsBlC,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AAEhE,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,SAAS,GAAG,kBAAkB,CAAC;AACrC,uEAAuE;AACvE,oDAAoD;AACpD,MAAM,WAAW,GAAG,4BAA4B,CAAC;AACjD,sEAAsE;AACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAShC
|
|
1
|
+
{"version":3,"file":"git-context.js","sourceRoot":"","sources":["../../src/runtime/git-context.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,aAAa;AACb,EAAE;AACF,uEAAuE;AACvE,gEAAgE;AAChE,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,gEAAgE;AAChE,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,sEAAsE;AACtE,gEAAgE;AAChE,sCAAsC;AACtC,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,mEAAmE;AACnE,gEAAgE;AAChE,mDAAmD;AAEnD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAsBlC,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;AAEhE,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,SAAS,GAAG,kBAAkB,CAAC;AACrC,uEAAuE;AACvE,oDAAoD;AACpD,MAAM,WAAW,GAAG,4BAA4B,CAAC;AACjD,sEAAsE;AACtE,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAShC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,IAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;oBAAE,OAAO,IAAI,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;YACnB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,IAAI,KAAK;oBAAE,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;YACxE,CAAC;YACD,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,CAAC,0BAA0B;QAC3D,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,MAAc;IACtD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE;aACb,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;aAChE,IAAI,EAAE,CAAC;QACV,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,cAAc,MAAM,EAAE,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC1E,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;QAC5D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;gBAC1B,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,yDAAyD;gBACzD,GAAG,GAAG,IAAI,CAAC;YACb,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,iDAAiD;AACjD,yEAAyE;AACzE,oEAAoE;AACpE,yEAAyE;AACzE,qEAAqE;AACrE,iEAAiE;AACjE,iEAAiE;AACjE,mBAAmB;AACnB,8EAA8E;AAE9E,oEAAoE;AACpE,2CAA2C;AAC3C,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AACxD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE;aACX,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC;aAC5E,IAAI,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;QACzE,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,MAAM,OAAO,GAAwC,EAAE,CAAC;QACxD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YAChD,IAAI,GAAG,KAAK,oBAAoB;gBAAE,OAAO,GAAG,GAAG,CAAC;;gBAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,CACnE,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by {@link assertNoRealSpawnInTests} when a real-spawn code path
|
|
3
|
+
* runs under vitest without a test-injected fake. Callers whose
|
|
4
|
+
* surrounding try/catch degrades ordinary runner failures to a warning
|
|
5
|
+
* MUST re-throw instances of this class past that catch — never let it
|
|
6
|
+
* be treated as an ordinary (optional, warn-and-continue) failure.
|
|
7
|
+
*/
|
|
8
|
+
export declare class HermeticSpawnViolationError extends Error {
|
|
9
|
+
constructor(binaryLabel: string, hint: string);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Guard for a "real spawn" implementation: throws
|
|
13
|
+
* {@link HermeticSpawnViolationError} when called under vitest, so an
|
|
14
|
+
* accidental real spawn in a test fails hard instead of silently
|
|
15
|
+
* running. No-op outside of vitest (production behavior is unchanged),
|
|
16
|
+
* and no-op when `HARNESS_ALLOW_REAL_SPAWN=1` is set (see module doc) —
|
|
17
|
+
* the first such no-op under vitest prints a one-time stderr warning so
|
|
18
|
+
* the disabled guard is visible rather than silent.
|
|
19
|
+
*
|
|
20
|
+
* @param binaryLabel human-readable name of what would be spawned (e.g.
|
|
21
|
+
* `"npx orchestrator-workflow init"`), used in the error message.
|
|
22
|
+
* @param hint one line telling the test author what to do instead (e.g.
|
|
23
|
+
* "inject a fake `owInitSpawn` runner").
|
|
24
|
+
*/
|
|
25
|
+
export declare function assertNoRealSpawnInTests(binaryLabel: string, hint: string): void;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
// Hermetic-spawn guard (task 54739002). Small, reusable primitive for
|
|
2
|
+
// "real spawn" implementations that back a test-injectable runner (e.g.
|
|
3
|
+
// `owInitSpawn` in src/cli/init/interactive.ts, and the sibling
|
|
4
|
+
// `realClaudeMcpExec` guard planned in task 0d80e969 for
|
|
5
|
+
// src/io/claude-mcp.ts).
|
|
6
|
+
//
|
|
7
|
+
// Incident this guards against: PR #359 found a confirm-queue in
|
|
8
|
+
// tests/cli/init-interactive.test.ts that fell through the trailing
|
|
9
|
+
// orchestrator-workflow co-install prompt (no queued answer + no
|
|
10
|
+
// injected `owInitSpawn`), which let a test silently run a REAL `npx
|
|
11
|
+
// orchestrator-workflow init` against the checkout. The bug itself is
|
|
12
|
+
// already fixed (the mock confirm queue now auto-declines on an
|
|
13
|
+
// exhausted queue); this guard is defense-in-depth so any FUTURE gap of
|
|
14
|
+
// the same shape (a new call site, a reordered prompt, a queue typo)
|
|
15
|
+
// fails the test loudly instead of quietly spawning a real process. A
|
|
16
|
+
// follow-up review (same task) found the same "injectable runner + real
|
|
17
|
+
// default" shape unguarded at three more call sites; a sixth
|
|
18
|
+
// (`realNpmExec` in src/cli/doctor/npm-bin-path.ts) was guarded later,
|
|
19
|
+
// under task 325ace29. As of that task, the guarded `real*Spawn`/
|
|
20
|
+
// `real*Exec` functions are:
|
|
21
|
+
// - `realClaudeMcpExec` (src/io/claude-mcp.ts)
|
|
22
|
+
// - `realSpawn` (src/cli/init/dependencies.ts)
|
|
23
|
+
// - `realProbeSpawn` (src/cli/init/agent-tasks-auth.ts)
|
|
24
|
+
// - `realLoginSpawn` (src/cli/init/agent-tasks-auth.ts)
|
|
25
|
+
// - `realOwInitSpawn` (src/cli/init/interactive.ts)
|
|
26
|
+
// - `realNpmExec` (src/cli/doctor/npm-bin-path.ts)
|
|
27
|
+
// Two more were added under the toolchain-parity task (PATH-Shim-Vorfall
|
|
28
|
+
// 2026-07-22 follow-up), both in src/cli/session-start/toolchain-parity.ts:
|
|
29
|
+
// - `realNodeVersionSpawn` (spawns `node --version` via PATH — the
|
|
30
|
+
// whole point is capturing the shell's PATH-resolved node, not
|
|
31
|
+
// `process.version`, so this one is especially load-bearing to keep
|
|
32
|
+
// hermetic)
|
|
33
|
+
// - `realNpmGlobalsSpawn` (spawns `npm ls -g --depth=0 --json`)
|
|
34
|
+
// Naming them here (instead of just a count) is deliberate (review
|
|
35
|
+
// finding F5, task T-007): a bare count silently drifts every time a new
|
|
36
|
+
// call site is added and nobody remembers to bump it. See the guard call
|
|
37
|
+
// site listed at each function above (each links back to this doc) for
|
|
38
|
+
// the up-to-date detail on that specific call chain.
|
|
39
|
+
//
|
|
40
|
+
// Env signal: `process.env.VITEST`, checked for a truthy, non-"false"/
|
|
41
|
+
// "0" value (vitest itself only ever sets it to the string "true", but
|
|
42
|
+
// we don't want an errant `VITEST=false` or `VITEST=0` in some outer
|
|
43
|
+
// environment to misfire the guard). Vitest sets this on every worker
|
|
44
|
+
// it runs (documented at https://vitest.dev/config/ under the `env`/
|
|
45
|
+
// `VITEST_*` variables it exposes to test code) and nothing else in
|
|
46
|
+
// this repo's runtime or CI sets it deliberately. That makes it safe to
|
|
47
|
+
// gate on for THIS repo's own `harness init`/`harness doctor` runs: a
|
|
48
|
+
// real, standalone invocation will never have VITEST set.
|
|
49
|
+
//
|
|
50
|
+
// Caveat (precision, not a promise): `process.env` is inherited by
|
|
51
|
+
// child processes, so this guard only detects "a vitest process is
|
|
52
|
+
// somewhere in the current process's inheritance chain" — e.g. if some
|
|
53
|
+
// OTHER project's vitest run were to shell out to `harness init` as a
|
|
54
|
+
// subprocess, that subprocess would inherit VITEST=true and this guard
|
|
55
|
+
// would (correctly, for ITS OWN purpose) fire there too. That is a
|
|
56
|
+
// deliberately conservative false-positive, not a gap: it never
|
|
57
|
+
// misfires in the other direction (a real, non-test-nested `harness
|
|
58
|
+
// init` run never sees VITEST set), which is the property that matters
|
|
59
|
+
// — the guard must never break a genuine production run.
|
|
60
|
+
//
|
|
61
|
+
// Deliberately NOT `NODE_ENV === "test"`: that var is set broadly by
|
|
62
|
+
// other tooling (bundlers, some CI steps) for reasons unrelated to "am I
|
|
63
|
+
// inside vitest right now", so it would risk misfiring outside of tests
|
|
64
|
+
// and breaking real `harness init` runs — the one thing this guard must
|
|
65
|
+
// never do.
|
|
66
|
+
//
|
|
67
|
+
// Escape hatch: `HARNESS_ALLOW_REAL_SPAWN=1` disables the guard even
|
|
68
|
+
// under vitest. This exists for a test that deliberately wants to
|
|
69
|
+
// exercise the REAL spawn path end-to-end (e.g. a manual, opt-in
|
|
70
|
+
// integration check) — it must not be set in normal test runs, CI, or
|
|
71
|
+
// production, and no test in this repo sets it today. Because this is a
|
|
72
|
+
// SILENT global kill-switch for every guarded call site listed above,
|
|
73
|
+
// activating it under vitest prints a one-time stderr warning (module-local flag,
|
|
74
|
+
// not per-call) so an accidentally-set env var is visible in test output
|
|
75
|
+
// instead of quietly disabling every tripwire in this file.
|
|
76
|
+
//
|
|
77
|
+
// Call this at the very top of a "real spawn" function (the one a
|
|
78
|
+
// caller falls back to via `opts.someSpawn ?? realSomeSpawn`), BEFORE
|
|
79
|
+
// touching `child_process`. It throws instead of returning so a caller
|
|
80
|
+
// whose surrounding try/catch degrades ordinary spawn failures to a
|
|
81
|
+
// warning (e.g. "OW is optional, warn and continue") does not
|
|
82
|
+
// accidentally swallow a hermetic violation too — callers must
|
|
83
|
+
// re-throw `HermeticSpawnViolationError` past any such catch (see
|
|
84
|
+
// offerOrchestratorWorkflow in src/cli/init/interactive.ts for the
|
|
85
|
+
// pattern).
|
|
86
|
+
/**
|
|
87
|
+
* Thrown by {@link assertNoRealSpawnInTests} when a real-spawn code path
|
|
88
|
+
* runs under vitest without a test-injected fake. Callers whose
|
|
89
|
+
* surrounding try/catch degrades ordinary runner failures to a warning
|
|
90
|
+
* MUST re-throw instances of this class past that catch — never let it
|
|
91
|
+
* be treated as an ordinary (optional, warn-and-continue) failure.
|
|
92
|
+
*/
|
|
93
|
+
export class HermeticSpawnViolationError extends Error {
|
|
94
|
+
constructor(binaryLabel, hint) {
|
|
95
|
+
super(`Refusing to spawn a REAL "${binaryLabel}" process while running under vitest ` +
|
|
96
|
+
`(process.env.VITEST is set). ${hint}`);
|
|
97
|
+
this.name = "HermeticSpawnViolationError";
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** True when `process.env.VITEST` is set to a truthy, non-"false"/"0" value. */
|
|
101
|
+
function vitestEnvIsActive() {
|
|
102
|
+
const v = process.env.VITEST;
|
|
103
|
+
return !!v && v !== "false" && v !== "0";
|
|
104
|
+
}
|
|
105
|
+
// Module-local, one-shot: printed at most once per process, the first
|
|
106
|
+
// time the escape hatch is observed active under vitest. Not reset
|
|
107
|
+
// between calls — "one-time" means one time for the life of the
|
|
108
|
+
// process, not once per call site.
|
|
109
|
+
let printedAllowRealSpawnWarning = false;
|
|
110
|
+
/**
|
|
111
|
+
* Guard for a "real spawn" implementation: throws
|
|
112
|
+
* {@link HermeticSpawnViolationError} when called under vitest, so an
|
|
113
|
+
* accidental real spawn in a test fails hard instead of silently
|
|
114
|
+
* running. No-op outside of vitest (production behavior is unchanged),
|
|
115
|
+
* and no-op when `HARNESS_ALLOW_REAL_SPAWN=1` is set (see module doc) —
|
|
116
|
+
* the first such no-op under vitest prints a one-time stderr warning so
|
|
117
|
+
* the disabled guard is visible rather than silent.
|
|
118
|
+
*
|
|
119
|
+
* @param binaryLabel human-readable name of what would be spawned (e.g.
|
|
120
|
+
* `"npx orchestrator-workflow init"`), used in the error message.
|
|
121
|
+
* @param hint one line telling the test author what to do instead (e.g.
|
|
122
|
+
* "inject a fake `owInitSpawn` runner").
|
|
123
|
+
*/
|
|
124
|
+
export function assertNoRealSpawnInTests(binaryLabel, hint) {
|
|
125
|
+
if (process.env.HARNESS_ALLOW_REAL_SPAWN === "1") {
|
|
126
|
+
if (vitestEnvIsActive() && !printedAllowRealSpawnWarning) {
|
|
127
|
+
printedAllowRealSpawnWarning = true;
|
|
128
|
+
process.stderr.write("⚠ hermetic spawn guard DISABLED via HARNESS_ALLOW_REAL_SPAWN=1 — real spawns are allowed under vitest.\n");
|
|
129
|
+
}
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (vitestEnvIsActive()) {
|
|
133
|
+
throw new HermeticSpawnViolationError(binaryLabel, hint);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=hermetic-spawn-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hermetic-spawn-guard.js","sourceRoot":"","sources":["../../src/runtime/hermetic-spawn-guard.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,wEAAwE;AACxE,gEAAgE;AAChE,yDAAyD;AACzD,yBAAyB;AACzB,EAAE;AACF,iEAAiE;AACjE,oEAAoE;AACpE,iEAAiE;AACjE,qEAAqE;AACrE,sEAAsE;AACtE,gEAAgE;AAChE,wEAAwE;AACxE,qEAAqE;AACrE,sEAAsE;AACtE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,kEAAkE;AAClE,6BAA6B;AAC7B,iDAAiD;AACjD,iDAAiD;AACjD,0DAA0D;AAC1D,0DAA0D;AAC1D,sDAAsD;AACtD,qDAAqD;AACrD,yEAAyE;AACzE,4EAA4E;AAC5E,qEAAqE;AACrE,mEAAmE;AACnE,wEAAwE;AACxE,gBAAgB;AAChB,kEAAkE;AAClE,mEAAmE;AACnE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,qDAAqD;AACrD,EAAE;AACF,uEAAuE;AACvE,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,qEAAqE;AACrE,oEAAoE;AACpE,wEAAwE;AACxE,sEAAsE;AACtE,0DAA0D;AAC1D,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,uEAAuE;AACvE,sEAAsE;AACtE,uEAAuE;AACvE,mEAAmE;AACnE,gEAAgE;AAChE,oEAAoE;AACpE,uEAAuE;AACvE,yDAAyD;AACzD,EAAE;AACF,qEAAqE;AACrE,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,YAAY;AACZ,EAAE;AACF,qEAAqE;AACrE,kEAAkE;AAClE,iEAAiE;AACjE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,kFAAkF;AAClF,yEAAyE;AACzE,4DAA4D;AAC5D,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,uEAAuE;AACvE,oEAAoE;AACpE,8DAA8D;AAC9D,+DAA+D;AAC/D,kEAAkE;AAClE,mEAAmE;AACnE,YAAY;AAEZ;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,WAAmB,EAAE,IAAY;QAC3C,KAAK,CACH,6BAA6B,WAAW,uCAAuC;YAC7E,gCAAgC,IAAI,EAAE,CACzC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED,gFAAgF;AAChF,SAAS,iBAAiB;IACxB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IAC7B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED,sEAAsE;AACtE,mEAAmE;AACnE,gEAAgE;AAChE,mCAAmC;AACnC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB,EAAE,IAAY;IACxE,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,EAAE,CAAC;QACjD,IAAI,iBAAiB,EAAE,IAAI,CAAC,4BAA4B,EAAE,CAAC;YACzD,4BAA4B,GAAG,IAAI,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0GAA0G,CAC3G,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,2BAA2B,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ExtractBuiltins, type LedgerQueryResult } from "../policies/index.js";
|
|
2
2
|
import type { Manifest, Policy } from "../schema/index.js";
|
|
3
|
+
import { type NormalizedCommand } from "./command-normalize.js";
|
|
3
4
|
import { type EnvironmentResolution } from "./environment-resolver.js";
|
|
4
5
|
import type { GitRepoContext } from "./git-context.js";
|
|
5
6
|
import { type RiskProfile } from "./risk-classifier.js";
|
|
@@ -130,6 +131,31 @@ export interface InterceptOptions {
|
|
|
130
131
|
* policy never reads any of this regardless (see `intercept`).
|
|
131
132
|
*/
|
|
132
133
|
riskContext?: RiskGateContext;
|
|
134
|
+
/**
|
|
135
|
+
* Precomputed `NormalizedCommand` for a Bash event's
|
|
136
|
+
* `tool_input.command`. `runInterceptCli` already calls
|
|
137
|
+
* `normalizeCommand` once (for `bash_match` trigger normalisation);
|
|
138
|
+
* threading the SAME result in here lets `policyMatchesEvent` reuse it
|
|
139
|
+
* for every policy in the `matching` loop below instead of recomputing
|
|
140
|
+
* it — same resolved-by-the-wrapper pattern as `currentHeadSha`,
|
|
141
|
+
* `builtins`, and `riskContext`. Optional: omitted by non-Bash events
|
|
142
|
+
* and by callers/tests that don't supply one, in which case
|
|
143
|
+
* `policyMatchesEvent` computes it lazily per policy (correct, just
|
|
144
|
+
* not de-duplicated).
|
|
145
|
+
*
|
|
146
|
+
* INVARIANT: this is NOT checked against `event` at runtime — nothing
|
|
147
|
+
* verifies the `NormalizedCommand`
|
|
148
|
+
* passed in was actually derived from THIS event's own
|
|
149
|
+
* `tool_input.command`. Safe today because there is exactly one
|
|
150
|
+
* production caller (`runInterceptCli`, `src/cli/policy/intercept.ts`),
|
|
151
|
+
* which computes it from the SAME `event` it then passes to
|
|
152
|
+
* `intercept()`. A future second caller that threads a mismatched
|
|
153
|
+
* `NormalizedCommand` (e.g. reused across two different events) would
|
|
154
|
+
* silently apply the wrong command's `bash_match` normalisation with
|
|
155
|
+
* no error — keep this pairing manual-but-obvious at every call site
|
|
156
|
+
* rather than assuming it self-enforces.
|
|
157
|
+
*/
|
|
158
|
+
normalizedCommand?: NormalizedCommand;
|
|
133
159
|
/**
|
|
134
160
|
* Destination for audit-write failure diagnostics. Defaults to
|
|
135
161
|
* `process.stderr` when omitted. Goes to stderr so Claude Code's
|
|
@@ -167,6 +193,18 @@ export interface RiskGateContext {
|
|
|
167
193
|
* evaluated separately (`evaluateWhen`). A policy fires only when both
|
|
168
194
|
* hold. Exported so `harness explain-policy` can report the trigger
|
|
169
195
|
* verdict on its own.
|
|
196
|
+
*
|
|
197
|
+
* `precomputedNormalizedCommand` is an optional caller-supplied
|
|
198
|
+
* `NormalizedCommand` for the event's command: `intercept()` below
|
|
199
|
+
* resolves ONE `NormalizedCommand` per event (via
|
|
200
|
+
* `options.normalizedCommand`, itself computed once by
|
|
201
|
+
* `runInterceptCli`) and threads it into every `policyMatchesEvent`
|
|
202
|
+
* call in its `matching` loop, so a raw-miss event normalises the
|
|
203
|
+
* command exactly ONCE across the whole manifest instead of once per
|
|
204
|
+
* policy. Omitted by standalone callers (`harness explain-policy`, most
|
|
205
|
+
* tests), which fall back to computing it lazily right here — correct
|
|
206
|
+
* either way, since `normalizeCommand` is a pure function of the
|
|
207
|
+
* command string alone.
|
|
170
208
|
*/
|
|
171
|
-
export declare function policyMatchesEvent(policy: Policy, event: ToolEvent): boolean;
|
|
209
|
+
export declare function policyMatchesEvent(policy: Policy, event: ToolEvent, precomputedNormalizedCommand?: NormalizedCommand): boolean;
|
|
172
210
|
export declare function intercept(options: InterceptOptions): Promise<InterceptResult>;
|
|
@@ -9,6 +9,7 @@ import { evaluateExtract, evaluateRequires, parseDurationSeconds, substituteTemp
|
|
|
9
9
|
import { renderProducers } from "../policies/producers.js";
|
|
10
10
|
import { buildActionEnvelope } from "./action-envelope.js";
|
|
11
11
|
import { renderAgentFacing } from "./agent-facing.js";
|
|
12
|
+
import { normalizeCommand } from "./command-normalize.js";
|
|
12
13
|
import { resolveEnvironment, } from "./environment-resolver.js";
|
|
13
14
|
import { POLICY_DECISION_TYPE } from "./ledger-record.js";
|
|
14
15
|
import { classifyRisk } from "./risk-classifier.js";
|
|
@@ -44,8 +45,20 @@ function enrichEnvelope(manifest, event, riskContext, now) {
|
|
|
44
45
|
* evaluated separately (`evaluateWhen`). A policy fires only when both
|
|
45
46
|
* hold. Exported so `harness explain-policy` can report the trigger
|
|
46
47
|
* verdict on its own.
|
|
48
|
+
*
|
|
49
|
+
* `precomputedNormalizedCommand` is an optional caller-supplied
|
|
50
|
+
* `NormalizedCommand` for the event's command: `intercept()` below
|
|
51
|
+
* resolves ONE `NormalizedCommand` per event (via
|
|
52
|
+
* `options.normalizedCommand`, itself computed once by
|
|
53
|
+
* `runInterceptCli`) and threads it into every `policyMatchesEvent`
|
|
54
|
+
* call in its `matching` loop, so a raw-miss event normalises the
|
|
55
|
+
* command exactly ONCE across the whole manifest instead of once per
|
|
56
|
+
* policy. Omitted by standalone callers (`harness explain-policy`, most
|
|
57
|
+
* tests), which fall back to computing it lazily right here — correct
|
|
58
|
+
* either way, since `normalizeCommand` is a pure function of the
|
|
59
|
+
* command string alone.
|
|
47
60
|
*/
|
|
48
|
-
export function policyMatchesEvent(policy, event) {
|
|
61
|
+
export function policyMatchesEvent(policy, event, precomputedNormalizedCommand) {
|
|
49
62
|
if (policy.trigger.event !== event.hook_event_name)
|
|
50
63
|
return false;
|
|
51
64
|
if (policy.trigger.match !== undefined) {
|
|
@@ -67,8 +80,24 @@ export function policyMatchesEvent(policy, event) {
|
|
|
67
80
|
catch {
|
|
68
81
|
return false;
|
|
69
82
|
}
|
|
70
|
-
|
|
71
|
-
|
|
83
|
+
// Raw-OR-normalised (D-003, run 2026-07-27-gate-target-repo-
|
|
84
|
+
// resolution): test the RAW command first — cheap, and byte-
|
|
85
|
+
// identical to the pre-fix behaviour — then, only if that fails,
|
|
86
|
+
// fall back to the NORMALISED command (wrapper prefixes peeled, git
|
|
87
|
+
// global options dropped, whitespace collapsed). Strictly additive:
|
|
88
|
+
// a command that matched today keeps matching via the raw test
|
|
89
|
+
// alone; normalisation can only ADD a match a spelling would
|
|
90
|
+
// otherwise have missed (env/nice/command wrappers, extra git
|
|
91
|
+
// global options, doubled whitespace), never remove the raw one.
|
|
92
|
+
// Replacing the matcher input instead of OR-ing it risks silently
|
|
93
|
+
// REMOVING an existing match if normalisation ever mangles some
|
|
94
|
+
// shape — the fail-open direction for a gate — so this stays
|
|
95
|
+
// additive rather than a substitution.
|
|
96
|
+
if (!re.test(command)) {
|
|
97
|
+
const { normalized } = precomputedNormalizedCommand ?? normalizeCommand(command);
|
|
98
|
+
if (!re.test(normalized))
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
72
101
|
}
|
|
73
102
|
return true;
|
|
74
103
|
}
|
|
@@ -322,7 +351,7 @@ export async function intercept(options) {
|
|
|
322
351
|
const whenFallbackMap = new Map();
|
|
323
352
|
const matching = [];
|
|
324
353
|
for (const p of manifest.policies) {
|
|
325
|
-
if (!policyMatchesEvent(p, event))
|
|
354
|
+
if (!policyMatchesEvent(p, event, options.normalizedCommand))
|
|
326
355
|
continue;
|
|
327
356
|
if (p.when === undefined) {
|
|
328
357
|
matching.push(p);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../src/runtime/intercept.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"intercept.js","sourceRoot":"","sources":["../../src/runtime/intercept.ts"],"names":[],"mappings":"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"}
|