import { spawn, spawnSync } from 'node:child_process'; export { hasUsableNodeModules, resolveGitCommonDir, resolveReusableNodeModulesSource, } from '../utils/repo-deps.js'; export declare const PACKED_INSTALL_SMOKE_CORE_COMMANDS: readonly [readonly ['--help'], readonly ['version'], readonly ['api', '--help'], readonly ['sparkshell', '--help']]; export declare const MANAGED_CODEX_HOOK_EVENTS: readonly ['SessionStart', 'PreToolUse', 'PostToolUse', 'UserPromptSubmit', 'PreCompact', 'PostCompact', 'Stop']; export declare const PACKED_INSTALL_NATIVE_HOOK_REGRESSION_PROMPTS: readonly [{ readonly name: 'directive-use-ralplan'; readonly prompt: 'use $ralplan plan this'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'directive-please-use-ralplan'; readonly prompt: 'please use $ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'directive-run-ralplan'; readonly prompt: 'run $ralplan plan this'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'directive-list-use-ralplan'; readonly prompt: '- use $ralplan plan this'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'directive-documentation-then-command'; readonly prompt: 'use $ralplan is the consensus-planning command\n$autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'directive-documentation-then-implicit-command'; readonly prompt: 'use $ralplan is the consensus-planning command\nUse autopilot mode.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'directive-documentation-trailing-prose-then-command'; readonly prompt: 'use $ralplan is the workflow command for planning\n$autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'directive-documentation-implicit-prose'; readonly prompt: 'use $ralplan is the workflow command for autopilot mode'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'directive-documentation-alias-prose'; readonly prompt: 'use $ralplan is the consensus-planning command\nAutopilot mode is its alias.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'directive-coordinated-documentation-then-command'; readonly prompt: '- use $ralplan and $autopilot are workflow commands\n$ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'directive-documentation-semicolon-directive'; readonly prompt: 'use $ralplan is the consensus-planning command; use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'directive-two-documentation-blocks'; readonly prompt: 'use $ralplan is the consensus-planning command\nuse $autopilot is the autonomous workflow command\n$ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'directive-documentation-embedded-token-then-command'; readonly prompt: 'use $ralplan is the workflow command for $team\n$autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-task-noun'; readonly prompt: 'use $ralplan is the workflow command; use $autopilot update the documentation'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-implicit-followup'; readonly prompt: 'use $ralplan is the consensus-planning command; use autopilot mode.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-transition-followup'; readonly prompt: 'use $ralplan is the consensus-planning command; then use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-explicit-alias'; readonly prompt: 'use $ralplan is the consensus-planning command; $team is its alias'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-implicit-chain'; readonly prompt: 'use $ralplan is the consensus-planning command\nAutopilot mode is its alias.\n$ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'doc-fullwidth-separator'; readonly prompt: 'use $ralplan,$autopilot are workflow commands'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-compact-slash'; readonly prompt: 'use $ralplan/$autopilot are workflow commands\n$ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'reference-prompts-followup'; readonly prompt: '[docs]: /target "title\nUse /prompts:architect"\n$ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'doc-period-implicit'; readonly prompt: 'use $ralplan is the consensus-planning command. Use autopilot mode.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-bare-implicit'; readonly prompt: 'use $ralplan is the consensus-planning command; autopilot mode.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-fullwidth-semicolon'; readonly prompt: 'use $ralplan is the consensus-planning command; use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-but-followup'; readonly prompt: 'use $ralplan is the workflow command; but use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-fullwidth-oxford'; readonly prompt: 'use $ralplan, $autopilot, and $team are workflow commands'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'reference-zero-title'; readonly prompt: '[docs]: ./target\n(autopilot mode)'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-also-alias-explicit'; readonly prompt: 'use $ralplan is the consensus-planning command; $team is also its alias'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-also-alias-implicit'; readonly prompt: 'use $ralplan is the consensus-planning command\nAutopilot mode is also its alias.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-embedded-mention'; readonly prompt: 'use $ralplan is the workflow command; $team appears in the documentation.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'chained-negation'; readonly prompt: '$ralplan; $autopilot is prohibited'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; readonly expectedDeferredSkills: readonly []; }, { readonly name: 'long-negation'; readonly prompt: `$ralplan; $autopilot${string}is prohibited`; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; readonly expectedDeferredSkills: readonly []; }, { readonly name: 'doc-arabic-comma'; readonly prompt: 'use $ralplan، $autopilot are workflow commands'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'arabic-negation'; readonly prompt: '$ralplan، $autopilot are prohibited'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'implicit-arabic-negation'; readonly prompt: 'Autopilot mode، deep interview are prohibited.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'fullwidth-frame-reset'; readonly prompt: 'For instance: manual mode is slower。 Use autopilot mode.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-abbreviation'; readonly prompt: 'use $ralplan is the workflow command, e.g. use $autopilot in examples.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'implicit-doc-mention'; readonly prompt: 'use $ralplan is the workflow command; autopilot mode appears in the documentation.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'implicit-doc-chain'; readonly prompt: 'use $ralplan is the workflow command; autopilot mode is its alias; $ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'long-command-gap'; readonly prompt: `use $ralplan is the workflow command; use${string}$autopilot build it`; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'ideographic-negation'; readonly prompt: '$ralplan、 $autopilot are prohibited'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'implicit-ideo-negation'; readonly prompt: 'Autopilot mode、 deep interview are prohibited.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-exclamation'; readonly prompt: 'use $ralplan is the consensus-planning command! run $autopilot'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-fullwidth-question'; readonly prompt: 'use $ralplan is the consensus-planning command? run $autopilot'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'implicit-doc-predecessor'; readonly prompt: 'Autopilot mode is workflow documentation.\n$ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'confusable-use-verb'; readonly prompt: 'uſe $ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'confusable-please'; readonly prompt: 'pleaſe use $ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'confusable-prompts-token-then-command'; readonly prompt: '/promptſ:architect; use autopilot mode.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'reserved-em-dash-boundary'; readonly prompt: '/prompts:architect— use autopilot mode'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'reserved-fullwidth-comma-boundary'; readonly prompt: '/prompts:architect, use autopilot mode'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'confusable-implicit-verb'; readonly prompt: 'Do not use deep interview but uſe autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'frame-fullwidth-colon'; readonly prompt: 'For instance: use autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'frame-fullwidth-comma'; readonly prompt: 'For instance, use autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'frame-arabic-comma'; readonly prompt: 'For instance، use autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'frame-ideo-comma'; readonly prompt: 'For instance、 use autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-explicit-documented'; readonly prompt: 'use $ralplan is the workflow command; $autopilot is documented in the guide.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-explicit-described'; readonly prompt: '$autopilot is described in the manual.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-comma-followup'; readonly prompt: 'use $ralplan is the workflow command, but use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-fw-comma-followup'; readonly prompt: 'use $ralplan is the workflow command, but use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-arabic-followup'; readonly prompt: 'use $ralplan is the workflow command، but use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-ideo-followup'; readonly prompt: 'use $ralplan is the workflow command、 but use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'neg-arabic-followup'; readonly prompt: 'Do not run $ralplan، use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'neg-ideo-followup'; readonly prompt: 'Do not run $ralplan、 use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'implicit-doc-prefix-next'; readonly prompt: 'The docs mention autopilot mode.\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'implicit-doc-prefix-line'; readonly prompt: 'The docs mention autopilot mode; use $ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'implicit-doc-subject-line'; readonly prompt: 'Autopilot mode is workflow documentation; use $ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'compact-explicit-negation'; readonly prompt: '$ralplan,$autopilot are prohibited'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'compact-implicit-negation'; readonly prompt: 'Autopilot mode،deep interview are prohibited.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-clause-local-prefix'; readonly prompt: '$ralplan; $autopilot is documented in the guide.'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'doc-chain-described'; readonly prompt: 'use $ralplan is the workflow command; autopilot mode is documented in the guide; $team execute it'; readonly expectedSkill: 'team'; readonly expectedStopBlock: false; readonly insideTmux: true; }, { readonly name: 'doc-chain-workflow'; readonly prompt: 'use $ralplan is the workflow command; autopilot mode is workflow documentation; use $ralph execute it'; readonly expectedSkill: 'ralph'; readonly expectedStopBlock: true; }, { readonly name: 'ref-inline-explicit'; readonly prompt: '[docs]: $ralplan\n$autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'ref-inline-prompts'; readonly prompt: '[docs]: /prompts:architect\n$autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'list-fullwidth-explicit-doc'; readonly prompt: '- $ralplan: consensus-planning workflow'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'list-fullwidth-implicit-doc'; readonly prompt: '- autopilot mode: autonomous workflow command'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'possessive-straight'; readonly prompt: "$ralplan's workflow is documented"; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'possessive-curly'; readonly prompt: '$ralplan’s workflow is documented'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'possessive-fullwidth'; readonly prompt: '$ralplan's workflow is documented'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'possessive-prompts'; readonly prompt: "/prompts:architect's syntax is documented"; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'malformed-prefix-kata'; readonly prompt: '$・autopilot mode'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'malformed-prefix-half'; readonly prompt: '$・autopilot mode'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'malformed-prefix-arabic'; readonly prompt: '$٪autopilot mode'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'malformed-prefix-division'; readonly prompt: '$∕autopilot mode'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-but-directive'; readonly prompt: 'use $autopilot is documented but use $ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'list-directive-fw-colon'; readonly prompt: '- use $ralplan: consensus-planning workflow'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'doc-arabic-question'; readonly prompt: 'use $ralplan is the workflow command؟ run $autopilot'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'arabic-semicolon-negation'; readonly prompt: '$ralplan؛ $autopilot is prohibited'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; readonly expectedDeferredSkills: readonly []; }, { readonly name: 'confusable-postposed-transition'; readonly prompt: '$ralplan is prohibited but uſe autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'mixed-negation'; readonly prompt: 'Autopilot mode and $ralplan are prohibited.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'both-mixed-negation'; readonly prompt: 'Both autopilot mode and $ralplan are prohibited.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'mixed-documentation'; readonly prompt: 'use $ralplan and autopilot mode are workflow commands'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'prose-doc-no-reopen'; readonly prompt: '$ralplan is prohibited because docs use $autopilot.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'neg-fw-dot-reopen'; readonly prompt: 'Do not run $ralplan. use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'neg-greek-q-reopen'; readonly prompt: 'Do not run $ralplan; use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'unicode-attached-contrast'; readonly prompt: 'Do not use deep interview яbut use autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'prefix-list-followup'; readonly prompt: 'Do not run $ralplan, $autopilot; use $team execute it'; readonly expectedSkill: 'team'; readonly expectedStopBlock: false; readonly insideTmux: true; }, { readonly name: 'mixed-postposed-chain'; readonly prompt: '$ralplan, autopilot mode, $team are prohibited.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'implicit-first-doc-chain'; readonly prompt: 'Autopilot mode and $ralplan are workflow commands; use $team execute it'; readonly expectedSkill: 'team'; readonly expectedStopBlock: false; readonly insideTmux: true; }, { readonly name: 'both-mixed-doc-followup'; readonly prompt: 'Both autopilot mode and $ralplan are workflow commands; use $team execute it'; readonly expectedSkill: 'team'; readonly expectedStopBlock: false; readonly insideTmux: true; }, { readonly name: 'doc-semicolon-preserves-earlier'; readonly prompt: 'Use autopilot mode; use $ralplan is the workflow command.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-independent-comma'; readonly prompt: 'Use autopilot mode, and $ralplan is documented in the guide.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'reference-unclosed-quote-destination'; readonly prompt: '[docs]: "target\n$autopilot build it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'reference-unclosed-inline-destination'; readonly prompt: '[docs]: `target\n$autopilot build it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'mixed-prefix-negation-implicit'; readonly prompt: 'Do not run $ralplan and use autopilot mode.'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'repeated-postposed-followup'; readonly prompt: '$team is prohibited and is forbidden; use $ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'doc-preserves-earlier'; readonly prompt: 'Use autopilot mode; "note"; use $ralplan is the workflow command.'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'doc-colon-followup'; readonly prompt: 'use $ralplan is the workflow command: use $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'table-followup'; readonly prompt: 'Mode | Meaning\n--- | ---\nmanual | documentation\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'neg-advance-reopen'; readonly prompt: 'Do not run $ralplan but advance to $ultragoal'; readonly expectedSkill: 'ultragoal'; readonly expectedStopBlock: false; readonly insideTmux: true; }, { readonly name: 'neg-jump-reopen'; readonly prompt: 'Do not run $ralplan but jump straight to $ultragoal'; readonly expectedSkill: 'ultragoal'; readonly expectedStopBlock: false; readonly insideTmux: true; }, { readonly name: 'reference-plain-title'; readonly prompt: '[docs]: /target "title\nplain text"\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'reference-plain-destination'; readonly prompt: '[docs]: ./target\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'directive-use-the'; readonly prompt: 'Do not run $ralplan; use the $autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; }, { readonly name: 'directive-continue-after-quote'; readonly prompt: '"quoted"\ncontinue with $ralplan'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'doc-advance-followup'; readonly prompt: 'use $ralplan is the workflow command; advance to $ultragoal'; readonly expectedSkill: 'ultragoal'; readonly expectedStopBlock: false; readonly insideTmux: true; }, { readonly name: 'directive-run-code-review'; readonly prompt: 'run $code-review'; readonly expectedSkill: 'code-review'; readonly expectedStopBlock: false; }, { readonly name: 'directive-documentation'; readonly prompt: 'use $ralplan is the consensus-planning command'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'nested-bounded-child-unbounded-parent'; readonly prompt: '"`x`\n$ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'first-contiguous-block-terminal'; readonly prompt: '$ralplan plan it\n"x"\n$autopilot build it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; readonly expectedDeferredSkills: readonly []; }, { readonly name: 'leading-reserved-dominance'; readonly prompt: '/prompts:architect\n"x"\n$ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'list-fence-root-opener'; readonly prompt: '- ```\n sample\n```\n$ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'list-fence-relative-closer'; readonly prompt: '- ```\n sample\n ```\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'reference-multiline-title-explicit'; readonly prompt: '[docs]: /target "title\nuse /prompts:architect\n$ralplan plan it"'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'reference-multiline-title-implicit'; readonly prompt: '[docs]: /target "title\nuse autopilot mode"'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'reference-next-line-title'; readonly prompt: '[docs]: ./target\n (autopilot mode)'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'reference-next-line-destination-title'; readonly prompt: '[docs]:\n ./target\n (autopilot mode)'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'kelvin-case-fold-suffix'; readonly prompt: '$ultraworK execute'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'katakana-middle-dot-suffix'; readonly prompt: '$ralplan・suffix plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'halfwidth-middle-dot-suffix'; readonly prompt: '$ralplan・suffix plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'arabic-percent-suffix'; readonly prompt: '$ralplan٪docs'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'division-slash-suffix'; readonly prompt: '$ralplan∕config'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'unclosed-prompts-quote'; readonly prompt: '"Use /prompts:architect\n$ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'malformed-prompts-suffix'; readonly prompt: '/prompts:architect한글\n$ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'stale-predecessor-prose-directive'; readonly prompt: '> quoted context\nProse\n$ralplan implement this'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'stale-predecessor-reserved-directive'; readonly prompt: '> quoted context\n/prompts:architect\n$ralplan plan this'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'stale-predecessor-first-block-terminal'; readonly prompt: '> quoted context\n$ralplan plan it\nLater discussion.\n$autopilot build it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; readonly expectedDeferredSkills: readonly []; }, { readonly name: 'stale-predecessor-unclosed-after-negation'; readonly prompt: 'Do not run $ralplan.\n"unclosed context\n$autopilot build it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'stale-predecessor-reference-unclosed'; readonly prompt: '[$ralplan]: ./docs\n"unclosed context\n$autopilot build it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'stale-directive-clause-prefix'; readonly prompt: '> quoted context\nProse\nUse $ralplan plan this'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'nested-reserved-predecessor-successor'; readonly prompt: '- Use /prompts:architect.\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'nested-fence-predecessor-successor'; readonly prompt: '- - ```\n quoted context\n ```\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'reference-multiline-destination-implicit'; readonly prompt: '[docs]:\nautopilot'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'middle-dot-suffix'; readonly prompt: '$ralplan·suffix plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'percent-suffix'; readonly prompt: '$ralplan%docs'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'fullwidth-percent-suffix'; readonly prompt: '$ralplan%docs'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'g1a-ordered-multi-skill'; readonly prompt: '$ralplan, $autopilot; $team'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; readonly expectedDeferredSkills: readonly ['autopilot', 'team']; readonly expectedActiveSkills: readonly ['ralplan']; readonly insideTmux: true; }, { readonly name: 'g1c-duplicate-alias'; readonly prompt: '$autopilot $oh-my-codex:autopilot build it'; readonly expectedSkill: 'autopilot'; readonly expectedStopBlock: true; readonly expectedDeferredSkills: readonly []; readonly expectedActiveSkills: readonly []; }, { readonly name: 'b3-longer-valid-fence'; readonly prompt: '```text\n$autopilot build it\n````\n$ralplan plan it'; readonly expectedSkill: 'ralplan'; readonly expectedStopBlock: true; }, { readonly name: 'b4-shorter-invalid-fence'; readonly prompt: '````text\n$autopilot build it\n```\n$ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }, { readonly name: 'b5-different-marker-invalid-fence'; readonly prompt: '```text\n$autopilot build it\n~~~\n$ralplan plan it'; readonly expectedSkill: null; readonly expectedStopBlock: false; }]; export declare function assertPackedRegressionWorkflowState(testCase: { readonly name: string; readonly expectedSkill: string; }, skillState: { readonly active?: boolean; readonly skill?: string; readonly phase?: string; readonly error?: string; readonly active_skills?: readonly unknown[]; }): void; export declare function shouldPackedRegressionStopBlock(testCase: { readonly expectedSkill: string | null; readonly expectedStopBlock: boolean; }): boolean; export declare function buildPackedRegressionEnvironment(testCase: { readonly name: string; readonly insideTmux?: boolean; }, baseEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv; export declare const PACKED_INSTALL_NATIVE_HOOK_SMOKE_EVENTS: readonly ["SessionStart", "PreToolUse", "PostToolUse", "UserPromptSubmit", "PreCompact", "PostCompact", "Stop"]; export type ManagedCodexHookEvent = typeof MANAGED_CODEX_HOOK_EVENTS[number]; export declare const CODEX_APP_SERVER_TIMEOUTS: { readonly versionProbeMs: 2000; readonly initializeMs: 15000; readonly requestMs: 10000; readonly shutdownMs: 5000; }; /** Sanitized Codex 0.144.5 PreToolUse shape: documented fields only, with no pointer or tracker state. */ export declare const PACKED_CODEX_01445_NO_POINTER_NO_TRACKER_FIXTURE: Readonly<{ readonly hook_event_name: 'PreToolUse'; readonly session_id: 'packed-01445-session'; readonly turn_id: 'packed-01445-turn'; readonly tool_name: 'Bash'; readonly tool_use_id: 'packed-01445-tool'; readonly tool_input: { readonly command: 'omx ralplan role-intent write --role architect --parent-thread "$CODEX_THREAD_ID" --json'; }; }>; type JsonRpcEnvelope = { id?: number; method?: string; params?: unknown; result?: unknown; error?: unknown; }; type JsonRpcRequestEnvelope = JsonRpcEnvelope & { id: number; method: string; }; export interface CodexHookMetadata { event: ManagedCodexHookEvent | string; command: string; sourcePath: string; key: string; currentHash: string; displayOrder: number; trustStatus: 'managed' | 'untrusted' | 'trusted' | 'modified'; } export interface CodexHooksListEntry { cwd: string; hooks: CodexHookMetadata[]; warnings: unknown[]; errors: unknown[]; } export declare class CodexExecutableNotFoundError extends Error { constructor(); } export interface CodexCommandSpawnSeam { platform?: NodeJS.Platform; spawnSyncImpl?: typeof spawnSync; spawnImpl?: typeof spawn; } /** * Newline-delimited JSON-RPC client for the installed Codex app-server boundary. * It accepts no protocol fallback: malformed messages, request errors, unexpected * exits, and cleanup failures are test failures. */ export declare class CodexAppServer { private readonly child; private readonly pending; private readonly closePromise; private readonly stdoutDecoder; private stderr; private stdoutBuffer; private failure; private closing; private spawned; private constructor(); static start(options: { cwd: string; env: NodeJS.ProcessEnv; commandSeam?: CodexCommandSpawnSeam; }): Promise; private waitForStartup; private onStdout; private flushStdoutDecoder; private onStdoutText; private isMethodBearingNotification; private validateResponseEnvelope; private onEnvelope; private fail; private withTimeout; request(envelope: Required> & JsonRpcEnvelope, timeoutMs: number): Promise; notify(envelope: Omit): void; close(): Promise; } export declare function createCodexInitializeEnvelope(clientName: string): JsonRpcRequestEnvelope; export declare const CODEX_INITIALIZED_ENVELOPE: JsonRpcEnvelope; export declare function createCodexHooksListEnvelope(projectCwd: string): JsonRpcRequestEnvelope; export declare function createCodexBatchWriteEnvelope(trustByKey: Record): JsonRpcRequestEnvelope; export declare function initializeCodexAppServer(server: CodexAppServer, clientName: string): Promise; export declare function listCodexHooks(server: CodexAppServer, projectCwd: string, hooksPath: string): Promise; export declare function parseCodexHooksListResult(result: unknown, projectCwd: string, hooksPath: string): CodexHooksListEntry; export declare function managedCodexHooksByEvent(hooks: readonly CodexHookMetadata[]): Record; export declare function generatedHookTrustState(configToml: string): Record; export declare function managedTrustByKey(hooks: readonly CodexHookMetadata[]): Record; export declare function assertGeneratedTrustMatchesCodex(generatedTrust: Record, hooks: readonly CodexHookMetadata[]): void; export declare function approveManagedHooksInCodex(server: CodexAppServer, hooks: readonly CodexHookMetadata[], expectedConfigPath: string): Promise; export declare function assertCodexBatchWriteResult(result: unknown, expectedConfigPath: string): void; export declare function hookMetadataSnapshot(hooks: readonly CodexHookMetadata[]): Array>; export declare function appendForeignHookGroups(hooksContent: string, marker: string, options: { appendGroups: boolean; }): string; export declare function appendDisplayOrderStableForeignHookGroups(hooksContent: string, marker: string, options: { appendGroups: boolean; }): string; export declare function foreignHookGroupSnapshot(hooksContent: string, marker: string): unknown[]; export declare function assertForeignHookGroupsPreserved(expected: unknown[], actualContent: string, marker: string): void; export declare function probeCodexVersion(cwd: string, env: NodeJS.ProcessEnv, seam?: CodexCommandSpawnSeam): string; export declare const PACKED_INSTALL_PLUGIN_MCP_TARGETS: readonly [readonly ['omx_state', 'state', 'omx-state'], readonly ['omx_memory', 'memory', 'omx-memory'], readonly ['omx_code_intel', 'code-intel', 'omx-code-intel'], readonly ['omx_trace', 'trace', 'omx-trace'], readonly ['omx_wiki', 'wiki', 'omx-wiki'], readonly ['omx_hermes', 'hermes', 'omx-hermes']]; export interface PackedProbeEnvOptions { runtimeBinary?: string | null; repoRoot?: string; } export declare function resolvePackedSmokeRuntimeBinary(repoRoot?: string, options?: { platform?: NodeJS.Platform; candidate?: string; }): string; export declare function buildPackedProbeEnv(overrides?: NodeJS.ProcessEnv, options?: PackedProbeEnvOptions): NodeJS.ProcessEnv; export declare function replacePathKeyCaseInsensitive(env: NodeJS.ProcessEnv, value: string): NodeJS.ProcessEnv; export interface PackedInstallNpmFile { path: string; } export interface PackedInstallNpmPackResult { filename: string; files?: PackedInstallNpmFile[]; } export interface PackedInstallCommandResult { status: number | null; stdout?: string | Buffer; stderr?: string | Buffer; } export declare const PACKED_INSTALL_REQUIRED_ARTIFACT_PATHS: readonly ['dist/config/models.js', 'dist/config/models.d.ts', 'dist/agents/definitions.js', 'dist/agents/definitions.d.ts', 'dist/agents/native-config.js', 'dist/agents/native-config.d.ts', 'dist/team/model-contract.js', 'dist/team/model-contract.d.ts', 'dist/cli/index.js', 'dist/cli/index.d.ts', 'dist/cli/omx.js', 'dist/cli/omx.d.ts', 'skills/team/SKILL.md', 'plugins/oh-my-codex/skills/team/SKILL.md', 'plugins/oh-my-codex/.codex-plugin/plugin.json', 'plugins/oh-my-codex/.mcp.json', 'plugins/oh-my-codex/.app.json', 'plugins/oh-my-codex/hooks/hooks.json', 'plugins/oh-my-codex/hooks/codex-native-hook.mjs']; export declare const PACKED_INSTALL_FORBIDDEN_ARTIFACT_PATHS: readonly ['.gjc/', 'docs/', '.omx/']; export declare function isForbiddenPackedInstallArtifact(path: string): boolean; export declare function assertPackedInstallFileMetadata(files: readonly PackedInstallNpmFile[]): void; export declare function assertInstalledRootReasoningHelp(help: string): void; export declare function assertInstalledRootReasoningRejection(mode: 'max' | 'ultra', result: PackedInstallCommandResult, configBefore: string | undefined, configAfter: string | undefined): void; export declare function assertInstalledReasoningRuntimeContract(models: Record): void; export declare function assertInstalledReasoningDeclarationContract(declarations: { models: string; definitions: string; nativeConfig: string; team: string; }): void; export declare function assertInstalledTeamSkillContract(canonical: Buffer, pluginMirror: Buffer): void; export declare function assertInstalledPluginSurface(packageRoot: string): void; export interface FakeCodexLaunch { argv: string[]; cwd: string; hasResumeSqlite: boolean; OMX_NOTIFY_TEMP_CONTRACT: string | null; OMX_TEAM_WORKER_LAUNCH_ARGS: string | null; } export declare function parseFakeCodexLaunches(capture: string): FakeCodexLaunch[]; export declare function assertPackedLaunchCwdPreserved(expectedCwd: string, receivedCwd: string, message: string): void; interface EnsureRepoDepsOptions { gitRunner?: typeof spawnSync; install?: (cwd: string) => void; log?: (message: string) => void; } interface EnsureRepoDepsResult { strategy: string; nodeModulesPath: string; sourceNodeModulesPath?: string; } export declare function ensureRepoDependencies(repoRoot: string, options?: EnsureRepoDepsOptions): EnsureRepoDepsResult; export declare function parseArgs(argv: string[]): { failClosedProbe: boolean; }; export declare function validateHookStdout(eventName: string, stdout: string): void; export declare function buildNativeHookSmokePayload(eventName: typeof PACKED_INSTALL_NATIVE_HOOK_SMOKE_EVENTS[number], smokeCwd: string): Record; export interface PackedHookTrustLifecycleResult { codexVersion: string | null; } /** * Exercise setup and removal against the installed package. The deterministic * filesystem lifecycle always runs; the installed-Codex trust leg is skipped * only when the `codex` executable is absent. */ export declare function smokePackedHookTrustLifecycle(omxPath: string): Promise; export declare function parseNpmPackJsonOutput(stdout: string): PackedInstallNpmPackResult[]; //# sourceMappingURL=smoke-packed-install.d.ts.map