@dungle-scrubs/harness-cli-normalizer 0.6.0 → 0.6.2

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.
Files changed (219) hide show
  1. package/README.md +33 -6
  2. package/dist/cli/args.d.ts +9 -1
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +36 -26
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/check.d.ts +14 -0
  7. package/dist/cli/check.d.ts.map +1 -1
  8. package/dist/cli/check.js +10 -3
  9. package/dist/cli/check.js.map +1 -1
  10. package/dist/cli/config.d.ts +4 -4
  11. package/dist/cli/config.d.ts.map +1 -1
  12. package/dist/cli/config.js +8 -6
  13. package/dist/cli/config.js.map +1 -1
  14. package/dist/cli/exit-codes.d.ts +0 -1
  15. package/dist/cli/exit-codes.d.ts.map +1 -1
  16. package/dist/cli/exit-codes.js +0 -1
  17. package/dist/cli/exit-codes.js.map +1 -1
  18. package/dist/cli/help.d.ts +2 -2
  19. package/dist/cli/help.d.ts.map +1 -1
  20. package/dist/cli/help.js +10 -2
  21. package/dist/cli/help.js.map +1 -1
  22. package/dist/cli/index.d.ts.map +1 -1
  23. package/dist/cli/index.js +3 -1
  24. package/dist/cli/index.js.map +1 -1
  25. package/dist/cli/inspect.d.ts.map +1 -1
  26. package/dist/cli/inspect.js +84 -265
  27. package/dist/cli/inspect.js.map +1 -1
  28. package/dist/cli/plan-turn.d.ts +68 -0
  29. package/dist/cli/plan-turn.d.ts.map +1 -0
  30. package/dist/cli/plan-turn.js +268 -0
  31. package/dist/cli/plan-turn.js.map +1 -0
  32. package/dist/cli/refuse.d.ts.map +1 -1
  33. package/dist/cli/refuse.js +2 -1
  34. package/dist/cli/refuse.js.map +1 -1
  35. package/dist/cli/resolve-harness.d.ts.map +1 -1
  36. package/dist/cli/resolve-harness.js +2 -3
  37. package/dist/cli/resolve-harness.js.map +1 -1
  38. package/dist/cli/run.d.ts.map +1 -1
  39. package/dist/cli/run.js +33 -367
  40. package/dist/cli/run.js.map +1 -1
  41. package/dist/cli/session-json.d.ts +1 -1
  42. package/dist/cli/session-json.d.ts.map +1 -1
  43. package/dist/cli/session-json.js +1 -3
  44. package/dist/cli/session-json.js.map +1 -1
  45. package/dist/cli/session.d.ts.map +1 -1
  46. package/dist/cli/session.js +35 -43
  47. package/dist/cli/session.js.map +1 -1
  48. package/dist/cli/skills-root.d.ts +1 -1
  49. package/dist/cli/skills-root.d.ts.map +1 -1
  50. package/dist/cli/skills-root.js +1 -1
  51. package/dist/cli/skills-root.js.map +1 -1
  52. package/dist/execution/decode.d.ts.map +1 -1
  53. package/dist/execution/decode.js +11 -36
  54. package/dist/execution/decode.js.map +1 -1
  55. package/dist/execution/events.d.ts +4 -1
  56. package/dist/execution/events.d.ts.map +1 -1
  57. package/dist/execution/events.js.map +1 -1
  58. package/dist/execution/failure.d.ts +3 -1
  59. package/dist/execution/failure.d.ts.map +1 -1
  60. package/dist/execution/failure.js +14 -11
  61. package/dist/execution/failure.js.map +1 -1
  62. package/dist/execution/open-session.d.ts +1 -1
  63. package/dist/execution/open-session.d.ts.map +1 -1
  64. package/dist/execution/open-session.js +150 -223
  65. package/dist/execution/open-session.js.map +1 -1
  66. package/dist/execution/stream-turn.d.ts +9 -14
  67. package/dist/execution/stream-turn.d.ts.map +1 -1
  68. package/dist/execution/stream-turn.js +85 -188
  69. package/dist/execution/stream-turn.js.map +1 -1
  70. package/dist/execution/supervisor.d.ts +71 -0
  71. package/dist/execution/supervisor.d.ts.map +1 -0
  72. package/dist/execution/supervisor.js +127 -0
  73. package/dist/execution/supervisor.js.map +1 -0
  74. package/dist/interpretation/argv.d.ts +39 -12
  75. package/dist/interpretation/argv.d.ts.map +1 -1
  76. package/dist/interpretation/argv.js +28 -20
  77. package/dist/interpretation/argv.js.map +1 -1
  78. package/dist/interpretation/content.d.ts +10 -1
  79. package/dist/interpretation/content.d.ts.map +1 -1
  80. package/dist/interpretation/content.js +20 -11
  81. package/dist/interpretation/content.js.map +1 -1
  82. package/dist/interpretation/hints.d.ts +1 -1
  83. package/dist/interpretation/hints.d.ts.map +1 -1
  84. package/dist/interpretation/hints.js +10 -11
  85. package/dist/interpretation/hints.js.map +1 -1
  86. package/dist/interpretation/index.d.ts +0 -1
  87. package/dist/interpretation/index.d.ts.map +1 -1
  88. package/dist/interpretation/index.js +0 -1
  89. package/dist/interpretation/index.js.map +1 -1
  90. package/dist/interpretation/isolation.d.ts +10 -0
  91. package/dist/interpretation/isolation.d.ts.map +1 -0
  92. package/dist/interpretation/isolation.js +30 -0
  93. package/dist/interpretation/isolation.js.map +1 -0
  94. package/dist/interpretation/limits.d.ts +2 -5
  95. package/dist/interpretation/limits.d.ts.map +1 -1
  96. package/dist/interpretation/limits.js +8 -62
  97. package/dist/interpretation/limits.js.map +1 -1
  98. package/dist/interpretation/question.d.ts +27 -0
  99. package/dist/interpretation/question.d.ts.map +1 -1
  100. package/dist/interpretation/question.js +28 -0
  101. package/dist/interpretation/question.js.map +1 -1
  102. package/dist/interpretation/refusal.d.ts +10 -5
  103. package/dist/interpretation/refusal.d.ts.map +1 -1
  104. package/dist/interpretation/refusal.js +24 -15
  105. package/dist/interpretation/refusal.js.map +1 -1
  106. package/dist/interpretation/resolve-options.d.ts +36 -2
  107. package/dist/interpretation/resolve-options.d.ts.map +1 -1
  108. package/dist/interpretation/resolve-options.js +53 -22
  109. package/dist/interpretation/resolve-options.js.map +1 -1
  110. package/dist/interpretation/session-input.d.ts +44 -1
  111. package/dist/interpretation/session-input.d.ts.map +1 -1
  112. package/dist/interpretation/session-input.js +59 -4
  113. package/dist/interpretation/session-input.js.map +1 -1
  114. package/dist/interpretation/shape.d.ts +1 -0
  115. package/dist/interpretation/shape.d.ts.map +1 -1
  116. package/dist/interpretation/shape.js +10 -0
  117. package/dist/interpretation/shape.js.map +1 -1
  118. package/dist/interpretation/skills-selection.d.ts +25 -33
  119. package/dist/interpretation/skills-selection.d.ts.map +1 -1
  120. package/dist/interpretation/skills-selection.js +41 -48
  121. package/dist/interpretation/skills-selection.js.map +1 -1
  122. package/dist/interpretation/support.d.ts.map +1 -1
  123. package/dist/interpretation/support.js +25 -8
  124. package/dist/interpretation/support.js.map +1 -1
  125. package/dist/interpretation/tool-selection.d.ts +7 -6
  126. package/dist/interpretation/tool-selection.d.ts.map +1 -1
  127. package/dist/interpretation/tool-selection.js +54 -116
  128. package/dist/interpretation/tool-selection.js.map +1 -1
  129. package/dist/interpretation/tool-vocabulary.d.ts +31 -12
  130. package/dist/interpretation/tool-vocabulary.d.ts.map +1 -1
  131. package/dist/interpretation/tool-vocabulary.js +19 -41
  132. package/dist/interpretation/tool-vocabulary.js.map +1 -1
  133. package/dist/interpretation/turn-options.d.ts +4 -0
  134. package/dist/interpretation/turn-options.d.ts.map +1 -1
  135. package/dist/interpretation/turn-options.js +107 -241
  136. package/dist/interpretation/turn-options.js.map +1 -1
  137. package/dist/interpretation/vocabulary.d.ts +8 -6
  138. package/dist/interpretation/vocabulary.d.ts.map +1 -1
  139. package/dist/interpretation/vocabulary.js +22 -9
  140. package/dist/interpretation/vocabulary.js.map +1 -1
  141. package/dist/knowledge/claude-code.d.ts +3 -1
  142. package/dist/knowledge/claude-code.d.ts.map +1 -1
  143. package/dist/knowledge/claude-code.js +17 -4
  144. package/dist/knowledge/claude-code.js.map +1 -1
  145. package/dist/knowledge/codex.d.ts.map +1 -1
  146. package/dist/knowledge/codex.js +31 -7
  147. package/dist/knowledge/codex.js.map +1 -1
  148. package/dist/knowledge/descriptor.d.ts +67 -36
  149. package/dist/knowledge/descriptor.d.ts.map +1 -1
  150. package/dist/knowledge/descriptor.js +50 -15
  151. package/dist/knowledge/descriptor.js.map +1 -1
  152. package/dist/knowledge/matchers.d.ts +12 -0
  153. package/dist/knowledge/matchers.d.ts.map +1 -1
  154. package/dist/knowledge/matchers.js +34 -0
  155. package/dist/knowledge/matchers.js.map +1 -1
  156. package/dist/knowledge/muse.d.ts.map +1 -1
  157. package/dist/knowledge/muse.js +13 -6
  158. package/dist/knowledge/muse.js.map +1 -1
  159. package/dist/knowledge/overrides.d.ts.map +1 -1
  160. package/dist/knowledge/overrides.js +9 -20
  161. package/dist/knowledge/overrides.js.map +1 -1
  162. package/dist/knowledge/pi.d.ts.map +1 -1
  163. package/dist/knowledge/pi.js +8 -6
  164. package/dist/knowledge/pi.js.map +1 -1
  165. package/dist/knowledge/profile.d.ts +1 -0
  166. package/dist/knowledge/profile.d.ts.map +1 -1
  167. package/dist/knowledge/profile.js +1 -0
  168. package/dist/knowledge/profile.js.map +1 -1
  169. package/package.json +1 -1
  170. package/src/cli/args.ts +39 -27
  171. package/src/cli/check.ts +10 -3
  172. package/src/cli/config.ts +14 -11
  173. package/src/cli/exit-codes.ts +0 -2
  174. package/src/cli/help.ts +10 -2
  175. package/src/cli/index.ts +3 -1
  176. package/src/cli/inspect.ts +88 -269
  177. package/src/cli/plan-turn.ts +350 -0
  178. package/src/cli/refuse.ts +2 -1
  179. package/src/cli/resolve-harness.ts +4 -5
  180. package/src/cli/run.ts +36 -399
  181. package/src/cli/session-json.ts +1 -6
  182. package/src/cli/session.ts +51 -44
  183. package/src/cli/skills-root.ts +1 -4
  184. package/src/execution/decode.ts +10 -36
  185. package/src/execution/events.ts +4 -1
  186. package/src/execution/failure.ts +18 -11
  187. package/src/execution/open-session.ts +154 -228
  188. package/src/execution/stream-turn.ts +90 -193
  189. package/src/execution/supervisor.ts +199 -0
  190. package/src/interpretation/argv.ts +65 -34
  191. package/src/interpretation/content.ts +30 -13
  192. package/src/interpretation/hints.ts +2 -12
  193. package/src/interpretation/index.ts +0 -1
  194. package/src/interpretation/isolation.ts +39 -0
  195. package/src/interpretation/limits.ts +14 -75
  196. package/src/interpretation/question.ts +46 -0
  197. package/src/interpretation/refusal.ts +28 -18
  198. package/src/interpretation/resolve-options.ts +98 -33
  199. package/src/interpretation/session-input.ts +88 -5
  200. package/src/interpretation/shape.ts +10 -0
  201. package/src/interpretation/skills-selection.ts +70 -74
  202. package/src/interpretation/support.ts +21 -6
  203. package/src/interpretation/tool-selection.ts +67 -122
  204. package/src/interpretation/tool-vocabulary.ts +48 -53
  205. package/src/interpretation/turn-options.ts +125 -220
  206. package/src/interpretation/vocabulary.ts +15 -10
  207. package/src/knowledge/claude-code.ts +17 -4
  208. package/src/knowledge/codex.ts +31 -7
  209. package/src/knowledge/descriptor.ts +106 -49
  210. package/src/knowledge/matchers.ts +35 -0
  211. package/src/knowledge/muse.ts +13 -6
  212. package/src/knowledge/overrides.ts +17 -32
  213. package/src/knowledge/pi.ts +8 -6
  214. package/src/knowledge/profile.ts +1 -0
  215. package/dist/interpretation/dimensions.d.ts +0 -11
  216. package/dist/interpretation/dimensions.d.ts.map +0 -1
  217. package/dist/interpretation/dimensions.js +0 -4
  218. package/dist/interpretation/dimensions.js.map +0 -1
  219. package/src/interpretation/dimensions.ts +0 -14
@@ -1,7 +1,7 @@
1
1
  export declare const TOP_LEVEL_HELP = "hcn - One stable interface to four coding-agent CLIs\n\nUsage: hcn <command> [options] [prompt]\n\nCommands:\n run <harness> [prompt] One-shot headless turn (streamTurn)\n session <harness> Interactive session (openSession, claude + pi)\n inspect <harness> Descriptor / argv / capability inspection (no spawn)\n ls List harnesses with verifiedAgainst versions\n check Drift check (published version vs verifiedAgainst)\n\nOptions:\n -h, --help Show help\n -V, --version Show version\n\nRun 'hcn <command> --help' for command-specific help.\n";
2
- export declare const RUN_HELP = "hcn run - One-shot headless turn\n\nUsage: hcn run <harness> [prompt] [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n [prompt] Prompt text (positional). Must not start with '-'.\n Use --prompt or --prompt-file for leading '-' or multi-line.\n\nOptions:\n --prompt <text> Prompt text (alternative to positional)\n --prompt-file <path|-> Read prompt from file, or stdin when '-'\n --model <id> Model id (validated per harness)\n --effort <value> Effort level (validated per harness/model)\n --sandbox <value> Sandbox mode (codex only)\n --provider <value> Provider (pi only)\n --tools <a,b> Tool grant allowlist - canonical names (read, write,\n edit, shell, grep, glob, list, web-fetch,\n web-search, subagent, skill);\n 'native:<name>' passes a harness-native or\n extension tool through (claude, pi; a bare\n name matching a configured toolset expands\n to it)\n --exclude-tools <a,b> Complement over known tools - canonical names\n (same vocabulary, native:<name> passthrough);\n mutually exclusive with --tools (claude, pi)\n --autonomy Enable autonomy flag (claude/codex/muse)\n --no-autonomy Disable autonomy\n --write Enable write (muse)\n --no-write Disable write\n --shell Enable shell (muse)\n --no-shell Disable shell\n --questions <ask|assume|none>\n Which preamble to inject: ask = escalation\n protocol (DEFAULT, question event +\n done cause \"awaiting-input\", exit 0), assume =\n never ask, state assumption, none = inject\n nothing\n --system-prompt <text> Replace the built-in system prompt (claude, pi:\n flag; codex: -c instructions=<text-or-path>;\n muse refuses. claude pairs the dynamic-section\n exclusion automatically. Opt-in; no default)\n --append-system-prompt <text>\n Append to the built-in prompt (claude, pi only)\n --access <read|write> Access preset - read = read-only tool subset\n (canonical: read, grep, glob, list, web-fetch,\n web-search; claude/pi via --tools, codex via\n --sandbox read-only, muse via --disable-write\n --disable-shell); write = no restriction;\n mutually exclusive with --tools/--exclude-tools\n and with --sandbox on codex; no default\n --max-steps <n> Max steps (muse, 1-10000)\n --timeout <seconds> Wall-clock budget for the run (all harnesses,\n hcn-enforced; 0 disables; no default)\n --no-tools Disable tools discovery facet\n --no-instruction-files Disable instructionFiles discovery facet\n --no-extensions Disable extensions discovery facet\n --skills <a,b> Skill allowlist (names resolved against $HCN_SKILLS_ROOT\n or ~/.agents/skills; pi loads, claude narrows)\n --no-skills Disable skills discovery facet\n --cwd <path> Working directory for spawn\n --env KEY=VAL Environment (repeatable; KEY= deletes)\n --resume <uuid> Resume session id (UUID). Continues the\n conversation where it left off. The answer\n path for question escalation: resume with the\n chosen answer as the prompt; id continuity per\n harness (claude stable, pi/muse caller-assigned,\n codex minted via identity event)\n Note: hcn refuses an unknown id before spawn\n (exit 2) for harnesses that would otherwise\n create a fresh session silently (pi, muse)\n --session-id <uuid> Alias for --resume (mutually exclusive with --resume)\n -- Passthrough: native harness args verbatim\n (failures surface as labeled native errors)\n --json NDJSON HarnessEvent to stdout\n -h, --help Show help\n -V, --version Show version\n\nDefaults with no flags:\n Every launch resolves args > project config (.hcn/config.json at the\n git root) > user config (~/.config/hcn/config.json) > built-in profile\n > harness default. The profile pins: effort medium, sandbox\n workspace-write (codex only; other harnesses report divergence),\n discovery on, autonomy off, write/shell on. timeout, max-steps and\n access have no default; harness default applies (access write emits\n nothing on claude/pi/muse, --sandbox workspace-write on codex via\n profile). toolMap is config-only (no flag) - canonical -> native\n mapping per harness. A bare pi run renders no --tools list: pi's list\n is a strict allowlist and would drop extension and MCP tools; name\n them through toolMap or native:<name> when you grant. Question mode defaults to ask (config keys\n \"questions\"; prompt preamble, never a harness flag).\n Provenance prints to stderr on every run; see\n 'hcn inspect <harness>' for the resolved argv of a bare run.\n";
2
+ export declare const RUN_HELP = "hcn run - One-shot headless turn\n\nUsage: hcn run <harness> [prompt] [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n [prompt] Prompt text (positional). Must not start with '-'.\n Use --prompt or --prompt-file for leading '-' or multi-line.\n\nOptions:\n --prompt <text> Prompt text (alternative to positional)\n --prompt-file <path|-> Read prompt from file, or stdin when '-'\n --model <id> Model id (validated per harness)\n --effort <value> Effort level (validated per harness/model)\n --sandbox <value> Sandbox mode (codex only)\n --context-window <tokens> Context window (codex, integer 1-272000;\n launch default 272000; config: contextWindow)\n --provider <value> Provider (pi only)\n --tools <a,b> Tool grant allowlist - canonical names (read, write,\n edit, shell, grep, glob, list, web-fetch,\n web-search, subagent, skill);\n 'native:<name>' passes a harness-native or\n extension tool through (claude, pi; a bare\n name matching a configured toolset expands\n to it)\n --exclude-tools <a,b> Complement over known tools - canonical names\n (same vocabulary, native:<name> passthrough);\n mutually exclusive with --tools (claude, pi)\n --autonomy Enable autonomy flag (claude/codex/muse)\n --no-autonomy Disable autonomy\n --write Enable write (muse)\n --no-write Disable write\n --shell Enable shell (muse)\n --no-shell Disable shell\n --questions <ask|assume|none>\n Which preamble to inject: ask = escalation\n protocol (DEFAULT, question event +\n done cause \"awaiting-input\", exit 0), assume =\n never ask, state assumption, none = inject\n nothing\n --system-prompt <text> Replace the built-in system prompt (claude, pi:\n flag; codex: -c instructions=<text-or-path>;\n muse refuses. claude pairs the dynamic-section\n exclusion automatically. Opt-in; no default)\n --append-system-prompt <text>\n Append to the built-in prompt (claude, pi only)\n --access <read|write> Access preset - read = read-only tool subset\n (canonical: read, grep, glob, list, web-fetch,\n web-search; claude/pi via --tools, codex via\n --sandbox read-only, muse via --disable-write\n --disable-shell); write = no restriction;\n mutually exclusive with --tools/--exclude-tools\n and with --sandbox on codex; no default\n --max-steps <n> Max steps (muse, 1-10000)\n --timeout <seconds> Wall-clock budget for the run (all harnesses,\n hcn-enforced; 0 disables; no default)\n --isolation <tool-free> Fresh tool-free turn (claude); no resume, tools,\n skills, access, autonomy, discovery, or native passthrough.\n Uses bare mode; native authentication must support it.\n --no-tools Disable tools discovery facet\n --no-instruction-files Disable instructionFiles discovery facet\n --no-extensions Disable extensions discovery facet\n --skills <a,b> Skill allowlist (names resolved against $HCN_SKILLS_ROOT\n or ~/.agents/skills; pi loads, claude and codex narrow)\n --no-skills Disable skills discovery facet\n --cwd <path> Working directory for spawn\n --env KEY=VAL Environment (repeatable; KEY= deletes)\n --resume <uuid> Resume session id (UUID). Continues the\n conversation where it left off. The answer\n path for question escalation: resume with the\n chosen answer as the prompt; id continuity per\n harness (claude stable, pi/muse caller-assigned,\n codex minted via identity event)\n Note: hcn refuses an unknown id before spawn\n (exit 2) for harnesses that would otherwise\n create a fresh session silently (pi, muse)\n --session-id <uuid> Alias for --resume (mutually exclusive with --resume)\n -- Passthrough: native harness args verbatim\n (failures surface as labeled native errors)\n --json NDJSON HarnessEvent to stdout\n -h, --help Show help\n -V, --version Show version\n\nDefaults with no flags:\n Every launch resolves args > project config (.hcn/config.json at the\n git root) > user config (~/.config/hcn/config.json) > built-in profile\n > harness default. The profile pins: effort medium, sandbox\n workspace-write (codex only; other harnesses report divergence),\n context window 272000 (codex only; divergence elsewhere), discovery on,\n autonomy off, write/shell on. timeout, max-steps and\n access have no default; harness default applies (access write emits\n nothing on claude/pi/muse, --sandbox workspace-write on codex via\n profile). toolMap is config-only (no flag) - canonical -> native\n mapping per harness. A bare pi run renders no --tools list: pi's list\n is a strict allowlist and would drop extension and MCP tools; name\n them through toolMap or native:<name> when you grant. Question mode defaults to ask (config keys\n \"questions\"; prompt preamble, never a harness flag).\n Provenance prints to stderr on every run; see\n 'hcn inspect <harness>' for the resolved argv of a bare run.\n";
3
3
  export declare const SESSION_HELP = "hcn session - Interactive session (claude, pi)\n\nUsage: hcn session <harness> [options]\n\nArguments:\n <harness> claude | pi (others have no sessionMode)\n\nOptions:\n --json Machine surface: NDJSON events on stdout, NDJSON\n commands on stdin ({\"op\":\"send\",\"id\":..,\"text\":..},\n \"answer\", \"close\"). Every send is answered with one\n disposition (started | rejected); every send is\n handed to the harness, and the turn that consumes it\n carries its id. The\n stream opens with a session event and ends with a\n closed event. Exit 0 clean, 1 otherwise, 2 refusal.\n --stall <seconds> Per-turn inactivity budget; the turn ends and the\n session closes reporting a stall. 0 disables\n (default: no limit)\n --provider <value> Provider (pi only)\n --model <id> Model for the session\n --effort <value> Effort level for the session spawn (validated\n per harness/model; no default - the harness's\n own effort applies without the flag)\n --resume <uuid> Resume session id (UUID). Continues the\n conversation where it left off. --session-id\n is an alias (mutually exclusive with --resume).\n If no id is given, a fresh session is started\n with a new id. hcn refuses an unknown id before\n spawn (exit 2) for harnesses that would otherwise\n create a fresh session silently (pi)\n --session-id <uuid> Alias for --resume (mutually exclusive with --resume)\n --questions <ask|assume|none>\n Which preamble to inject: ask = worker may\n ask (DEFAULT, pickable menu), assume = never\n ask, none = inject nothing\n --cwd <path> Working directory\n --help Show help\n --version Show version\n";
4
- export declare const INSPECT_HELP = "hcn inspect - Descriptor / argv inspection\n\nUsage: hcn inspect <harness> [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n\nOptions:\n --argv Preview argv that would be spawned\n --capabilities Print the capability record (vision, images,\n streaming, session, source) as one JSON line\n --mode <mode> Mode for --capabilities:\n headless-turn | headless-session | interactive\n (default headless-turn)\n --prompt <text> Prompt for argv preview\n --prompt-file <path|-> Read prompt from file\n --model <id> Model\n --effort <value> Effort\n --sandbox <value> Sandbox\n --provider <value> Provider\n --tools <a,b> Tools - canonical names (read, write, edit,\n shell, grep, glob, list, web-fetch,\n web-search, subagent, skill);\n 'native:<name>' passes through\n --autonomy / --no-autonomy\n --write / --no-write\n --shell / --no-shell\n --questions <ask|assume|none>\n (accepted; renders nothing - rides the run prompt)\n --max-steps <n>\n --no-tools, --no-instruction-files, --no-extensions, --no-skills\n --questions <ask|assume|none>\n Accepted; renders nothing in argv (the mode\n rides the run prompt, not a harness flag)\n --cwd <path>\n --env KEY=VAL\n --resume <uuid>\n -h, --help Show help\n";
4
+ export declare const INSPECT_HELP = "hcn inspect - Descriptor / argv inspection\n\nUsage: hcn inspect <harness> [options]\n\nArguments:\n <harness> claude | codex | pi | muse\n\nOptions:\n --argv Preview argv that would be spawned\n --capabilities Print the capability record (vision, images,\n streaming, session, source) as one JSON line\n --mode <mode> Mode for --capabilities:\n headless-turn | headless-session | interactive\n (default headless-turn)\n --prompt <text> Prompt for argv preview\n --prompt-file <path|-> Read prompt from file\n --model <id> Model\n --effort <value> Effort\n --sandbox <value> Sandbox\n --context-window <tokens> Context window (codex, integer 1-272000)\n --provider <value> Provider\n --tools <a,b> Tools - canonical names (read, write, edit,\n shell, grep, glob, list, web-fetch,\n web-search, subagent, skill);\n 'native:<name>' passes through\n --autonomy / --no-autonomy\n --write / --no-write\n --shell / --no-shell\n --questions <ask|assume|none>\n (accepted; renders nothing - rides the run prompt)\n --max-steps <n>\n --isolation <tool-free> (fresh claude turn only)\n --no-tools, --no-instruction-files, --no-extensions, --no-skills\n --questions <ask|assume|none>\n Accepted; renders nothing in argv (the mode\n rides the run prompt, not a harness flag)\n --cwd <path>\n --env KEY=VAL\n --resume <uuid>\n -h, --help Show help\n";
5
5
  export declare const LS_HELP = "hcn ls - List harnesses\n\nUsage: hcn ls\n\nPrints each harness name with its verifiedAgainst version and versionSource.\n";
6
6
  export declare const CHECK_HELP = "hcn check - Drift check\n\nUsage: hcn check [--json]\n\nCompares each harness's verifiedAgainst against the latest published version.\nExits 0 when no drift, 1 when drift found, 1 on network failure with partial results.\n\nOptions:\n --json Machine-readable output\n -h, --help Show help\n";
7
7
  //# sourceMappingURL=help.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,koBAgB1B,CAAC;AAEF,eAAO,MAAM,QAAQ,ymLA6FpB,CAAC;AAEF,eAAO,MAAM,YAAY,ivEAuCxB,CAAC;AAEF,eAAO,MAAM,YAAY,qlDAsCxB,CAAC;AAEF,eAAO,MAAM,OAAO,+HAKnB,CAAC;AAEF,eAAO,MAAM,UAAU,2UAUtB,CAAC"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,koBAgB1B,CAAC;AAEF,eAAO,MAAM,QAAQ,2jMAmGpB,CAAC;AAEF,eAAO,MAAM,YAAY,ivEAuCxB,CAAC;AAEF,eAAO,MAAM,YAAY,+sDAwCxB,CAAC;AAEF,eAAO,MAAM,OAAO,+HAKnB,CAAC;AAEF,eAAO,MAAM,UAAU,2UAUtB,CAAC"}
package/dist/cli/help.js CHANGED
@@ -30,6 +30,8 @@ Options:
30
30
  --model <id> Model id (validated per harness)
31
31
  --effort <value> Effort level (validated per harness/model)
32
32
  --sandbox <value> Sandbox mode (codex only)
33
+ --context-window <tokens> Context window (codex, integer 1-272000;
34
+ launch default 272000; config: contextWindow)
33
35
  --provider <value> Provider (pi only)
34
36
  --tools <a,b> Tool grant allowlist - canonical names (read, write,
35
37
  edit, shell, grep, glob, list, web-fetch,
@@ -69,11 +71,14 @@ Options:
69
71
  --max-steps <n> Max steps (muse, 1-10000)
70
72
  --timeout <seconds> Wall-clock budget for the run (all harnesses,
71
73
  hcn-enforced; 0 disables; no default)
74
+ --isolation <tool-free> Fresh tool-free turn (claude); no resume, tools,
75
+ skills, access, autonomy, discovery, or native passthrough.
76
+ Uses bare mode; native authentication must support it.
72
77
  --no-tools Disable tools discovery facet
73
78
  --no-instruction-files Disable instructionFiles discovery facet
74
79
  --no-extensions Disable extensions discovery facet
75
80
  --skills <a,b> Skill allowlist (names resolved against $HCN_SKILLS_ROOT
76
- or ~/.agents/skills; pi loads, claude narrows)
81
+ or ~/.agents/skills; pi loads, claude and codex narrow)
77
82
  --no-skills Disable skills discovery facet
78
83
  --cwd <path> Working directory for spawn
79
84
  --env KEY=VAL Environment (repeatable; KEY= deletes)
@@ -98,7 +103,8 @@ Defaults with no flags:
98
103
  git root) > user config (~/.config/hcn/config.json) > built-in profile
99
104
  > harness default. The profile pins: effort medium, sandbox
100
105
  workspace-write (codex only; other harnesses report divergence),
101
- discovery on, autonomy off, write/shell on. timeout, max-steps and
106
+ context window 272000 (codex only; divergence elsewhere), discovery on,
107
+ autonomy off, write/shell on. timeout, max-steps and
102
108
  access have no default; harness default applies (access write emits
103
109
  nothing on claude/pi/muse, --sandbox workspace-write on codex via
104
110
  profile). toolMap is config-only (no flag) - canonical -> native
@@ -168,6 +174,7 @@ Options:
168
174
  --model <id> Model
169
175
  --effort <value> Effort
170
176
  --sandbox <value> Sandbox
177
+ --context-window <tokens> Context window (codex, integer 1-272000)
171
178
  --provider <value> Provider
172
179
  --tools <a,b> Tools - canonical names (read, write, edit,
173
180
  shell, grep, glob, list, web-fetch,
@@ -179,6 +186,7 @@ Options:
179
186
  --questions <ask|assume|none>
180
187
  (accepted; renders nothing - rides the run prompt)
181
188
  --max-steps <n>
189
+ --isolation <tool-free> (fresh claude turn only)
182
190
  --no-tools, --no-instruction-files, --no-extensions, --no-skills
183
191
  --questions <ask|assume|none>
184
192
  Accepted; renders nothing in argv (the mode
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;CAgB7B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC3B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC3B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;CAKtB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;CAUzB,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;CAgB7B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGvB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC3B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC3B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;CAKtB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;CAUzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AA2BA,eAAO,MAAM,kBAAkB,SAAU,MAAM,KAAG,KAQjD,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAe,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAyH1D,CAAC;AAEF,eAAO,MAAM,IAAI,QAAa,OAAO,CAAC,IAAI,CAEzC,CAAC;AAIF,eAAO,MAAM,GAAG,QAAO,IAOtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AA6BA,eAAO,MAAM,kBAAkB,SAAU,MAAM,KAAG,KAQjD,CAAC;AAEF,eAAO,MAAM,QAAQ,QAAe,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAyH1D,CAAC;AAEF,eAAO,MAAM,IAAI,QAAa,OAAO,CAAC,IAAI,CAEzC,CAAC;AAIF,eAAO,MAAM,GAAG,QAAO,IAOtB,CAAC"}
package/dist/cli/index.js CHANGED
@@ -2,9 +2,11 @@
2
2
  import { realpathSync } from "node:fs";
3
3
  import { resolve } from "node:path";
4
4
  import { pathToFileURL } from "node:url";
5
+ import { HARNESS_NAMES } from "../knowledge/descriptor.js";
5
6
  import { TOP_LEVEL_HELP } from "./help.js";
6
7
  import { getVersion } from "./version.js";
7
- const SUPPORTED = ["claude", "codex", "pi", "muse"];
8
+ /** The one harness list, read from the descriptor vocabulary. */
9
+ const SUPPORTED = HARNESS_NAMES;
8
10
  // Prevent EPIPE crashes when piped to head/grep -q (e.g., hcn ls | head, hcn run --json | head)
9
11
  process.stdout.on("error", (err) => {
10
12
  const code = err.code;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/cli/inspect.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,OAAO,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAiTlF,CAAC;AAEF,eAAO,MAAM,cAAc,gBAAU,CAAC"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/cli/inspect.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAiIlF,CAAC;AAEF,eAAO,MAAM,cAAc,gBAAU,CAAC"}
@@ -1,62 +1,56 @@
1
- import { redactArgv } from "../execution/stream-turn.js";
2
- import { buildLaunchArgv } from "../interpretation/argv.js";
3
1
  import { capabilitiesOf } from "../interpretation/capabilities.js";
4
- import { ArgvRefusalError } from "../interpretation/refusal.js";
5
- import { FloorExceededError, resolveEffectiveOptions } from "../interpretation/resolve-options.js";
6
2
  import { canonicalTable, mergeToolMaps } from "../interpretation/tool-vocabulary.js";
3
+ import { HARNESS_MODES } from "../knowledge/descriptor.js";
7
4
  import { defaultDescriptors } from "../knowledge/overrides.js";
8
- import { parseTurnOptions, resolvePromptAsync } from "./args.js";
5
+ import { splitPassthrough } from "./args.js";
9
6
  import { ConfigError, loadProjectConfig, loadUserConfig } from "./config.js";
10
7
  import { EXIT_REFUSAL } from "./exit-codes.js";
11
- import { refusalOf, refuse } from "./refuse.js";
8
+ import { planTurn, writePlanDiagnostics } from "./plan-turn.js";
9
+ import { refuse } from "./refuse.js";
12
10
  import { resolveHarness } from "./resolve-harness.js";
13
- const HARNESS_MODES = ["headless-turn", "headless-session", "interactive"];
14
11
  export const inspect = async (harnessName, rawArgs) => {
15
12
  const h = resolveHarness(harnessName);
16
- // Check for --help
17
- if (rawArgs.includes("--help") || rawArgs.includes("-h")) {
13
+ const { normalized } = splitPassthrough(rawArgs);
14
+ if (normalized.includes("--help") || normalized.includes("-h")) {
18
15
  const { INSPECT_HELP } = await import("./help.js");
19
16
  process.stdout.write(INSPECT_HELP);
20
17
  return;
21
18
  }
22
- // Check for positional prompt injection before parse (only when --argv and no explicit prompt)
23
- const { parseCommonFlags, detectPositionalPromptInjection } = await import("./args.js");
24
- if (rawArgs.includes("--argv")) {
25
- const injection = detectPositionalPromptInjection(rawArgs.filter((a) => a !== "--argv"));
26
- if (injection) {
27
- const err = new ArgvRefusalError({
28
- issue: "prompt-flag-injection",
29
- harness: h.name,
30
- supported: ["prompt must not start with '-'"],
31
- detail: `it would be parsed as a flag by ${h.bin}`,
32
- });
33
- process.stderr.write(`${err.message}\n`);
34
- process.stderr.write(`supported: prompt must not start with '-'\n`);
35
- process.exitCode = 2;
19
+ // --argv: the preview is the plan the run command would spawn from, so
20
+ // the two agree by construction (RFC-02 change 10). Refusals go through
21
+ // the shared refuse path like every other command's.
22
+ if (normalized.includes("--argv")) {
23
+ if (normalized.includes("--capabilities")) {
24
+ process.stderr.write(`--capabilities and --argv are mutually exclusive; pick one\n`);
25
+ process.exitCode = EXIT_REFUSAL;
26
+ return;
27
+ }
28
+ const outcome = await planTurn(h, rawArgs, { command: "inspect" });
29
+ if (outcome.kind === "refusal") {
30
+ refuse(outcome.refusal, false);
36
31
  return;
37
32
  }
33
+ writePlanDiagnostics(h, outcome.plan, "argv");
34
+ process.stdout.write(`${JSON.stringify(outcome.plan.redactedArgv)}\n`);
35
+ return;
38
36
  }
39
- // Parse flags for inspect
37
+ // --capabilities path: pure capability record, no spawn, no config, no prompt
38
+ const { parseCommonFlags } = await import("./args.js");
40
39
  let parsed;
41
40
  try {
42
41
  parsed = parseCommonFlags(rawArgs);
43
42
  }
44
43
  catch (err) {
45
44
  const message = err instanceof Error ? err.message : String(err);
46
- process.stderr.write(`unknown flag: ${message}\n`);
47
- process.stderr.write(`Run 'hcn inspect --help' for usage.\n`);
48
- process.exitCode = 2;
45
+ refuse({
46
+ message: `unknown flag: ${message}`,
47
+ issue: "invalid-option-value",
48
+ trailer: ["Run 'hcn inspect --help' for usage."],
49
+ }, false);
49
50
  return;
50
51
  }
51
52
  const values = parsed.values;
52
- const wantArgv = values.argv === true;
53
- // --capabilities path: pure capability record, no spawn, no config, no prompt
54
53
  if (values.capabilities === true) {
55
- if (wantArgv) {
56
- process.stderr.write(`--capabilities and --argv are mutually exclusive; pick one\n`);
57
- process.exitCode = EXIT_REFUSAL;
58
- return;
59
- }
60
54
  const mode = values.mode === undefined ? "headless-turn" : String(values.mode);
61
55
  if (!HARNESS_MODES.includes(mode)) {
62
56
  process.stderr.write(`invalid --mode ${JSON.stringify(mode)}; supported: ${HARNESS_MODES.join(", ")}\n`);
@@ -68,250 +62,75 @@ export const inspect = async (harnessName, rawArgs) => {
68
62
  process.stdout.write(`${JSON.stringify(caps)}\n`);
69
63
  return;
70
64
  }
71
- // Load config once at top and reuse for both paths
72
- let rawUserMap;
73
- let rawProjectMap;
74
- let loadedTiers = {};
65
+ // The descriptor dump, with the tool vocabulary slice the config tiers
66
+ // extend.
67
+ let userMap = null;
68
+ let projectMap = null;
75
69
  try {
76
- const u = loadUserConfig();
77
- rawUserMap = u?.config
78
- ?.toolMap;
79
- if (u)
80
- loadedTiers = { ...loadedTiers, user: u.config };
81
- const p = loadProjectConfig();
82
- rawProjectMap = p?.config
83
- ?.toolMap;
84
- if (p)
85
- loadedTiers = { ...loadedTiers, project: p.config };
70
+ userMap = loadUserConfig();
71
+ projectMap = loadProjectConfig();
86
72
  }
87
73
  catch (e) {
88
74
  if (e instanceof ConfigError) {
89
- process.stderr.write(`config error: ${e.message}\n`);
90
- process.exitCode = 2;
75
+ refuse({ message: `config error: ${e.message}`, issue: "invalid-option-value" }, false);
91
76
  return;
92
77
  }
93
78
  throw e;
94
79
  }
95
- const merged = mergeToolMaps({ user: rawUserMap, project: rawProjectMap });
96
- if (!wantArgv) {
97
- const table = canonicalTable(defaultDescriptors());
98
- const slice = {};
99
- const allCanonicalForInspect = [
100
- ...new Set([...Object.keys(table), ...Object.keys(merged[h.name] ?? {})]),
101
- ].sort();
102
- for (const canonical of allCanonicalForInspect) {
103
- const perHarness = table[canonical];
104
- const v = perHarness?.[h.name];
105
- const mapped = merged[h.name]?.[canonical];
106
- if (mapped !== undefined) {
107
- slice[canonical] = { native: mapped.native, source: mapped.tier };
108
- }
109
- else if (v !== undefined) {
110
- const vv = v;
111
- const val = vv.kind === "builtin"
112
- ? { native: vv.native, source: "descriptor" }
113
- : { ...vv, source: "descriptor" };
114
- slice[canonical] = val;
115
- }
116
- else {
117
- slice[canonical] = { native: null, source: "none" };
118
- }
119
- }
120
- const out = {
121
- name: h.name,
122
- bin: h.bin,
123
- verifiedAgainst: h.verifiedAgainst,
124
- versionSource: h.versionSource,
125
- launch: {
126
- baseFlags: h.launch.baseFlags,
127
- subcommands: h.launch.subcommands,
128
- streamFlags: h.launch.streamFlags,
129
- promptStyle: h.launch.promptStyle,
130
- toolsFlag: h.launch.toolsFlag,
131
- idFlag: h.launch.idFlag,
132
- },
133
- resume: h.resume,
134
- sessionMode: h.sessionMode,
135
- vocabulary: {
136
- models: h.vocabulary.models,
137
- aliases: h.vocabulary.aliases,
138
- efforts: h.vocabulary.efforts,
139
- effortsByModel: h.vocabulary.effortsByModel,
140
- extensible: h.vocabulary.extensible,
141
- modelFlag: h.vocabulary.modelFlag,
142
- },
143
- turnOptions: h.turnOptions,
144
- limitMatchers: h.limitMatchers,
145
- authMatchers: h.authMatchers,
146
- toolVocabulary: slice,
147
- };
148
- process.stdout.write(`${JSON.stringify(out, null, 2)}\n`);
149
- return;
150
- }
151
- // --argv preview path: need prompt + turn options
152
- const positional = parsed.positionals;
153
- // positional[0] would be harness already consumed, but we passed rawArgs without harness - check: caller passes remaining after harness
154
- // So positionals are potential prompt positional if not using --prompt
155
- const positionalPrompt = positional.length > 0 ? positional[0] : undefined;
156
- if (positional.length > 1) {
157
- process.stderr.write(`too many positionals for inspect --argv\n`);
158
- process.exitCode = 2;
159
- return;
160
- }
161
- let prompt;
162
- let promptSource;
163
- try {
164
- const resolved = await resolvePromptAsync({
165
- positionalPrompt,
166
- promptFlag: values.prompt,
167
- promptFile: values["prompt-file"],
168
- });
169
- prompt = resolved.prompt;
170
- promptSource = resolved.source;
171
- }
172
- catch (err) {
173
- if (err instanceof ArgvRefusalError) {
174
- process.stderr.write(`${err.message}\n`);
175
- if (err.supported.length)
176
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
177
- process.exitCode = 2;
178
- return;
179
- }
180
- throw err;
181
- }
182
- // Build TurnOptions from flags
183
- let turnOpts;
184
- try {
185
- turnOpts = parseTurnOptions(values);
186
- }
187
- catch (err) {
188
- if (err instanceof ArgvRefusalError) {
189
- process.stderr.write(`${err.message}\n`);
190
- if (err.supported.length)
191
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
192
- process.exitCode = 2;
193
- return;
194
- }
195
- throw err;
196
- }
197
- // Mirror run.ts skills resolution (F-16): resolve names and build claude tokens
198
- const rawSkills = turnOpts.skills;
199
- if (rawSkills !== undefined && rawSkills.length > 0) {
200
- try {
201
- const { resolveSkillNames, listKnownSkills } = await import("./skills-root.js");
202
- const resolvedSkills = resolveSkillNames(rawSkills, h.name);
203
- const skillTokens = [];
204
- if (h.name === "claude") {
205
- const { claudeSkillOverridesArg } = await import("../interpretation/skills-selection.js");
206
- skillTokens.push(...claudeSkillOverridesArg(listKnownSkills(), resolvedSkills));
207
- }
208
- else if (h.name === "codex") {
209
- const { codexSkillConfigArg } = await import("../interpretation/skills-selection.js");
210
- skillTokens.push(...codexSkillConfigArg(listKnownSkills(), resolvedSkills));
211
- }
212
- turnOpts.skills = resolvedSkills;
213
- turnOpts.__skillTokens = skillTokens;
214
- }
215
- catch (err) {
216
- if (err instanceof ArgvRefusalError) {
217
- process.stderr.write(`${err.message}\n`);
218
- if (err.supported.length)
219
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
220
- process.exitCode = 2;
221
- return;
222
- }
223
- throw err;
224
- }
225
- }
226
- // Resume previews from unresolved options, mirroring run.ts launch-only rule (F-15)
227
- if (values.resume !== undefined || values["session-id"] !== undefined) {
228
- if (values.resume !== undefined && values["session-id"] !== undefined) {
229
- const err = new ArgvRefusalError({
230
- issue: "mutually-exclusive-options",
231
- harness: h.name,
232
- supported: ["--resume or --session-id, not both (--session-id is an alias for --resume)"],
233
- detail: "both --resume and --session-id given",
234
- });
235
- process.stderr.write(`${err.message}\n`);
236
- if (err.supported.length)
237
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
238
- process.exitCode = 2;
239
- return;
80
+ const merged = mergeToolMaps({
81
+ user: userMap?.config.toolMap,
82
+ project: projectMap?.config.toolMap,
83
+ });
84
+ const table = canonicalTable(defaultDescriptors());
85
+ const slice = {};
86
+ const allCanonicalForInspect = [
87
+ ...new Set([...Object.keys(table), ...Object.keys(merged[h.name] ?? {})]),
88
+ ].sort();
89
+ for (const canonical of allCanonicalForInspect) {
90
+ const v = table[canonical]?.[h.name];
91
+ const mapped = merged[h.name]?.[canonical];
92
+ if (mapped !== undefined) {
93
+ slice[canonical] = { native: mapped.native, source: mapped.tier };
240
94
  }
241
- const { buildResumeArgv } = await import("../interpretation/argv.js");
242
- const resumeId = String(values.resume ?? values["session-id"]);
243
- try {
244
- const resumeOpts = {
245
- ...turnOpts,
246
- prompt,
247
- sessionId: resumeId,
248
- ...(promptSource !== "positional" ? { __explicitPrompt: true } : {}),
249
- };
250
- const resumeArgv = buildResumeArgv(h, resumeOpts);
251
- const redactedResume = redactArgv(resumeArgv, prompt);
252
- process.stdout.write(`${JSON.stringify(redactedResume)}\n`);
253
- process.stderr.write(`argv: ${redactedResume.join(" ")}\n`);
254
- return;
95
+ else if (v !== undefined) {
96
+ slice[canonical] =
97
+ v.kind === "builtin"
98
+ ? { native: v.native, source: "descriptor" }
99
+ : { ...v, source: "descriptor" };
255
100
  }
256
- catch (err) {
257
- if (err instanceof ArgvRefusalError) {
258
- process.stderr.write(`${err.message}\n`);
259
- if (err.supported.length)
260
- process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
261
- process.exitCode = 2;
262
- return;
263
- }
264
- throw err;
101
+ else {
102
+ slice[canonical] = { native: null, source: "none" };
265
103
  }
266
104
  }
267
- // Reuse already-loaded config for argv preview
268
- const tiers = {};
269
- if (loadedTiers.user)
270
- tiers.user = loadedTiers.user;
271
- if (loadedTiers.project)
272
- tiers.project = loadedTiers.project;
273
- let resolved;
274
- try {
275
- resolved = resolveEffectiveOptions(h, { ...turnOpts, prompt }, tiers);
276
- }
277
- catch (resErr) {
278
- if (resErr instanceof FloorExceededError) {
279
- process.stderr.write(`${resErr.message}\n`);
280
- process.exitCode = 2;
281
- return;
282
- }
283
- if (resErr instanceof ArgvRefusalError) {
284
- refuse(refusalOf(resErr), false);
285
- return;
286
- }
287
- throw resErr;
288
- }
289
- const { writeProvenance } = await import("./provenance.js");
290
- writeProvenance(h.name, resolved.provenance, resolved.unrenderable);
291
- const { prompt: _p, ...effectiveRest } = resolved.options;
292
- const fullOpts = {
293
- ...effectiveRest,
294
- prompt,
295
- ...(promptSource !== "positional" ? { __explicitPrompt: true } : {}),
105
+ const out = {
106
+ name: h.name,
107
+ bin: h.bin,
108
+ verifiedAgainst: h.verifiedAgainst,
109
+ versionSource: h.versionSource,
110
+ launch: {
111
+ baseFlags: h.launch.baseFlags,
112
+ subcommands: h.launch.subcommands,
113
+ streamFlags: h.launch.streamFlags,
114
+ promptStyle: h.launch.promptStyle,
115
+ toolsFlag: h.tools.includeFlag,
116
+ idFlag: h.launch.idFlag,
117
+ },
118
+ resume: h.resume,
119
+ sessionMode: h.sessionMode,
120
+ vocabulary: {
121
+ models: h.vocabulary.models,
122
+ aliases: h.vocabulary.aliases,
123
+ efforts: h.vocabulary.efforts,
124
+ effortsByModel: h.vocabulary.effortsByModel,
125
+ extensible: h.vocabulary.extensible,
126
+ modelFlag: h.vocabulary.modelFlag,
127
+ },
128
+ turnOptions: h.turnOptions,
129
+ limitMatchers: h.limitMatchers,
130
+ authMatchers: h.authMatchers,
131
+ toolVocabulary: slice,
296
132
  };
297
- let argv;
298
- try {
299
- argv = buildLaunchArgv(h, fullOpts);
300
- const skillTokens = effectiveRest.__skillTokens;
301
- if (skillTokens !== undefined && skillTokens.length > 0)
302
- argv.push(...skillTokens);
303
- }
304
- catch (err) {
305
- if (err instanceof ArgvRefusalError) {
306
- refuse(refusalOf(err), false);
307
- return;
308
- }
309
- throw err;
310
- }
311
- // Redact prompt for display, but keep structure
312
- const redacted = redactArgv(argv, prompt);
313
- process.stdout.write(`${JSON.stringify(redacted)}\n`);
314
- process.stderr.write(`argv: ${redacted.join(" ")}\n`);
133
+ process.stdout.write(`${JSON.stringify(out, null, 2)}\n`);
315
134
  };
316
135
  export const inspectCommand = inspect;
317
136
  //# sourceMappingURL=inspect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/cli/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/cli/inspect.ts"],"names":[],"mappings":"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"}