@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
@@ -0,0 +1,68 @@
1
+ /**
2
+ * planTurn: the one owner of the parse-refuse-resolve-build protocol
3
+ * (RFC-02 change 10). Raw arguments and config tiers in; the argv a turn
4
+ * spawns, the runner options, the provenance, and the resolved behaviour
5
+ * out - or one structured refusal. The run command spawns from the plan
6
+ * and the inspect command previews from it, so the spawn line and the
7
+ * preview agree by construction, skill tokens and passthrough included.
8
+ */
9
+ import { type TurnRunOptions } from "../execution/stream-turn.js";
10
+ import { type ConfigTier, type ProvenanceEntry, type ResolvedBehavior } from "../interpretation/resolve-options.js";
11
+ import type { HarnessDescriptor, HarnessName } from "../knowledge/descriptor.js";
12
+ import { type Refusal } from "./refuse.js";
13
+ /** The impure edges a plan reads through, injectable for tests. */
14
+ export interface PlanDeps {
15
+ readonly loadUserConfig: () => {
16
+ readonly config: ConfigTier;
17
+ } | null;
18
+ readonly loadProjectConfig: () => {
19
+ readonly config: ConfigTier;
20
+ } | null;
21
+ readonly listKnownSkills: () => readonly string[];
22
+ readonly resolveSkillNames: (names: readonly string[], harness: HarnessName) => string[];
23
+ readonly readPrompt: (args: {
24
+ positionalPrompt?: string;
25
+ promptFlag?: string;
26
+ promptFile?: string;
27
+ }) => Promise<{
28
+ prompt: string;
29
+ source: string;
30
+ }>;
31
+ }
32
+ export declare const defaultPlanDeps: PlanDeps;
33
+ export interface TurnPlan {
34
+ /** Decided before any refusal can fire: a refused --json run still owes
35
+ * the stream its terminal pair. */
36
+ readonly wantJson: boolean;
37
+ /** Everything the runner takes: the composed prompt, the resolved turn
38
+ * options (raw ones on resume), cwd, env, resume, question mode, and
39
+ * the passthrough tail. */
40
+ readonly options: TurnRunOptions;
41
+ /** The argv the runner will spawn, built by the same owner it uses. */
42
+ readonly argv: readonly string[];
43
+ readonly redactedArgv: readonly string[];
44
+ /** Launch-only; empty on resume, where a session keeps its settings. */
45
+ readonly provenance: readonly ProvenanceEntry[];
46
+ readonly unrenderable: readonly string[];
47
+ readonly behavior: ResolvedBehavior;
48
+ /** Tool names the grant passes through ungated, for the provenance line. */
49
+ readonly nativeTools: readonly string[];
50
+ }
51
+ export type PlanOutcome = {
52
+ readonly kind: "plan";
53
+ readonly plan: TurnPlan;
54
+ } | {
55
+ readonly kind: "refusal";
56
+ readonly refusal: Refusal;
57
+ readonly wantJson: boolean;
58
+ };
59
+ export interface PlanRequest {
60
+ /** Names the command in usage trailers. */
61
+ readonly command: "run" | "inspect";
62
+ }
63
+ export declare const planTurn: (h: HarnessDescriptor, rawArgs: readonly string[], request: PlanRequest, deps?: PlanDeps) => Promise<PlanOutcome>;
64
+ /** The diagnostics a plan prints to stderr - never stdout, which carries
65
+ * the NDJSON contract: provenance and divergence, the argv line under the
66
+ * given label, the question-mode provenance, and the native tool names. */
67
+ export declare const writePlanDiagnostics: (h: HarnessDescriptor, plan: TurnPlan, label: "spawn" | "argv") => void;
68
+ //# sourceMappingURL=plan-turn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-turn.d.ts","sourceRoot":"","sources":["../../src/cli/plan-turn.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAK9E,OAAO,EACL,KAAK,UAAU,EAGf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAGtB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAYjF,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,aAAa,CAAC;AAGtD,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM;QAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,QAAQ,CAAC,iBAAiB,EAAE,MAAM;QAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IACzE,QAAQ,CAAC,eAAe,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAClD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,KAAK,MAAM,EAAE,CAAC;IACzF,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,eAAe,EAAE,QAM7B,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB;uCACmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;+BAE2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;CACrC;AAkDD,eAAO,MAAM,QAAQ,MAChB,iBAAiB,WACX,SAAS,MAAM,EAAE,WACjB,WAAW,SACd,QAAQ,KACb,OAAO,CAAC,WAAW,CA4LrB,CAAC;AAEF;;2EAE2E;AAC3E,eAAO,MAAM,oBAAoB,MAC5B,iBAAiB,QACd,QAAQ,SACP,OAAO,GAAG,MAAM,KACtB,IAWF,CAAC"}
@@ -0,0 +1,268 @@
1
+ /**
2
+ * planTurn: the one owner of the parse-refuse-resolve-build protocol
3
+ * (RFC-02 change 10). Raw arguments and config tiers in; the argv a turn
4
+ * spawns, the runner options, the provenance, and the resolved behaviour
5
+ * out - or one structured refusal. The run command spawns from the plan
6
+ * and the inspect command previews from it, so the spawn line and the
7
+ * preview agree by construction, skill tokens and passthrough included.
8
+ */
9
+ import { redactArgv } from "../execution/stream-turn.js";
10
+ import { buildSpawnArgv, promptTextOf } from "../interpretation/argv.js";
11
+ import { assertIsolationCombination } from "../interpretation/isolation.js";
12
+ import { composeEscalatedPrompt } from "../interpretation/question.js";
13
+ import { ArgvRefusalError } from "../interpretation/refusal.js";
14
+ import { FloorExceededError, resolveBehavior, resolveEffectiveOptions, } from "../interpretation/resolve-options.js";
15
+ import { recognizeNativeSpelling, supportedBy } from "../interpretation/support.js";
16
+ import { renderToolSelection } from "../interpretation/tool-selection.js";
17
+ import { defaultDescriptors } from "../knowledge/overrides.js";
18
+ import { detectPositionalPromptInjection, parseCommonFlags, parseRunExtra, parseTurnOptions, resolvePromptAsync, splitPassthrough, } from "./args.js";
19
+ import { ConfigError, loadProjectConfig, loadUserConfig } from "./config.js";
20
+ import { writeProvenance } from "./provenance.js";
21
+ import { refusalOf } from "./refuse.js";
22
+ import { listKnownSkills, resolveSkillNames } from "./skills-root.js";
23
+ export const defaultPlanDeps = {
24
+ loadUserConfig,
25
+ loadProjectConfig,
26
+ listKnownSkills,
27
+ resolveSkillNames,
28
+ readPrompt: resolvePromptAsync,
29
+ };
30
+ /** The refusal for an unknown flag: a native spelling typed before the
31
+ * separator is recognized and redirected to the normalized flag (ADR 0003,
32
+ * D7 part B); anything else keeps the plain unknown-flag error. */
33
+ const unknownFlagRefusal = (message, rawArgs, command) => {
34
+ // parseArgs reports unknown long flags as "Unknown option '--x'" but
35
+ // splits bundled short flags ("-nt" -> "Unknown option 'n'"). Match the
36
+ // reported token back against the ORIGINAL argv: a short-flag bundle
37
+ // that some descriptor spells exactly (pi's -nt) is recognizable; a
38
+ // lone unknown token keeps the plain error.
39
+ const flagMatch = message.match(/Unknown option '([A-Za-z0-9_-]+)'/);
40
+ let rawFlag;
41
+ if (flagMatch?.[1] !== undefined) {
42
+ const reported = flagMatch[1].startsWith("-") ? flagMatch[1] : `-${flagMatch[1]}`;
43
+ const fromArgv = rawArgs.find((a) => a === reported) ??
44
+ (reported.length === 2
45
+ ? rawArgs.find((a) => a.length > 2 && a.startsWith(reported))
46
+ : undefined);
47
+ rawFlag = fromArgv ?? reported;
48
+ }
49
+ const trailer = [`Run 'hcn ${command} --help' for usage.`];
50
+ const native = rawFlag !== undefined ? recognizeNativeSpelling(defaultDescriptors(), rawFlag) : null;
51
+ if (native === null) {
52
+ return { message: `unknown flag: ${message}`, issue: "invalid-option-value", trailer };
53
+ }
54
+ const by = native.option.startsWith("discovery.")
55
+ ? native.entries
56
+ : supportedBy(defaultDescriptors(), native.option);
57
+ const facet = native.option.split(".")[1];
58
+ const normalizedSpelling = native.option === "excludeTools"
59
+ ? "--exclude-tools"
60
+ : native.option.startsWith("discovery.")
61
+ ? `--no-${facet === "instructionFiles" ? "instruction-files" : facet}`
62
+ : `--${native.option}`;
63
+ return {
64
+ message: `unknown flag: ${rawFlag} is a native spelling (used by ${native.entries.map((e) => e.harness).join(", ")}) - use the normalized ${normalizedSpelling} flag instead`,
65
+ issue: "invalid-option-value",
66
+ supportedBy: by,
67
+ trailer,
68
+ };
69
+ };
70
+ export const planTurn = async (h, rawArgs, request, deps = defaultPlanDeps) => {
71
+ const { normalized, passthrough } = splitPassthrough(rawArgs);
72
+ const wantJson = normalized.includes("--json");
73
+ const refusal = (r) => ({ kind: "refusal", refusal: r, wantJson });
74
+ const refused = (err) => refusal(refusalOf(err));
75
+ const injection = detectPositionalPromptInjection([...rawArgs]);
76
+ if (injection) {
77
+ return refused(new ArgvRefusalError({
78
+ issue: "prompt-flag-injection",
79
+ harness: h.name,
80
+ supported: ["prompt must not start with '-'"],
81
+ detail: `it would be parsed as a flag by ${h.bin}`,
82
+ }));
83
+ }
84
+ let parsed;
85
+ try {
86
+ parsed = parseCommonFlags([...rawArgs]);
87
+ }
88
+ catch (err) {
89
+ const message = err instanceof Error ? err.message : String(err);
90
+ return refusal(unknownFlagRefusal(message, rawArgs, request.command));
91
+ }
92
+ const values = parsed.values;
93
+ const positionals = parsed.positionals;
94
+ if (positionals.length > 1) {
95
+ return refusal({
96
+ message: `too many positionals for ${request.command}; expected one prompt`,
97
+ issue: "invalid-option-value",
98
+ });
99
+ }
100
+ if (passthrough.length === 0 && rawArgs.includes("--")) {
101
+ return refusal({
102
+ message: "-- separator given but no passthrough tokens followed it",
103
+ issue: "invalid-option-value",
104
+ });
105
+ }
106
+ let prompt;
107
+ let explicitPrompt;
108
+ try {
109
+ const resolved = await deps.readPrompt({
110
+ positionalPrompt: positionals[0],
111
+ promptFlag: values.prompt,
112
+ promptFile: values["prompt-file"],
113
+ });
114
+ prompt = resolved.prompt;
115
+ explicitPrompt = resolved.source !== "positional";
116
+ }
117
+ catch (err) {
118
+ if (err instanceof ArgvRefusalError)
119
+ return refused(err);
120
+ if (err instanceof Error && err.code === "ENOENT") {
121
+ return refusal({
122
+ message: `prompt file not found: ${err.message}`,
123
+ issue: "invalid-option-value",
124
+ });
125
+ }
126
+ throw err;
127
+ }
128
+ let turnOpts;
129
+ let extra;
130
+ try {
131
+ turnOpts = parseTurnOptions(values);
132
+ extra = parseRunExtra(values);
133
+ assertIsolationCombination(h, { ...turnOpts, passthrough });
134
+ }
135
+ catch (err) {
136
+ if (err instanceof ArgvRefusalError)
137
+ return refused(err);
138
+ throw err;
139
+ }
140
+ // issue #38: skill names resolve against the caller's registry root (an
141
+ // fs read, the CLI's); the descriptor renders them (RFC-02 change 2).
142
+ const { skillNames, ...turnOptsSansNames } = turnOpts;
143
+ turnOpts = turnOptsSansNames;
144
+ if (skillNames !== undefined && skillNames.length > 0) {
145
+ try {
146
+ turnOpts = {
147
+ ...turnOpts,
148
+ skills: {
149
+ picks: deps.resolveSkillNames(skillNames, h.name),
150
+ known: deps.listKnownSkills(),
151
+ },
152
+ };
153
+ }
154
+ catch (err) {
155
+ if (err instanceof ArgvRefusalError)
156
+ return refused(err);
157
+ throw err;
158
+ }
159
+ }
160
+ // Config files load on EVERY run, launch or resume: the tiers feed the
161
+ // defaults profile on launch, and hcn-owned behaviour (question mode,
162
+ // timeout) resolves from them on resume too - otherwise a no-ask
163
+ // session would flip its preamble on the answer turn.
164
+ const tiers = {};
165
+ try {
166
+ const user = deps.loadUserConfig();
167
+ if (user !== null)
168
+ tiers.user = user.config;
169
+ const project = deps.loadProjectConfig();
170
+ if (project !== null)
171
+ tiers.project = project.config;
172
+ }
173
+ catch (err) {
174
+ if (err instanceof ConfigError) {
175
+ return refusal({ message: `config error: ${err.message}`, issue: "invalid-option-value" });
176
+ }
177
+ throw err;
178
+ }
179
+ // Defaults profile + config: LAUNCH-ONLY. A resumed session keeps its own
180
+ // settings; the resolver never runs on resume paths.
181
+ let effectiveTurnOpts = turnOpts;
182
+ let provenance = [];
183
+ let unrenderable = [];
184
+ if (extra.resume === undefined) {
185
+ try {
186
+ const resolved = resolveEffectiveOptions(h, { ...turnOpts, prompt }, tiers);
187
+ const { prompt: _prompt, ...rest } = resolved.options;
188
+ effectiveTurnOpts = rest;
189
+ provenance = resolved.provenance;
190
+ unrenderable = resolved.unrenderable;
191
+ }
192
+ catch (err) {
193
+ if (err instanceof FloorExceededError) {
194
+ return refusal({ message: err.message, issue: "invalid-tool-grant" });
195
+ }
196
+ if (err instanceof ArgvRefusalError)
197
+ return refused(err);
198
+ throw err;
199
+ }
200
+ }
201
+ const behavior = resolveBehavior({ questions: turnOpts.questions, timeoutSeconds: extra.timeoutSeconds }, tiers);
202
+ // The prompt here is the COMPOSED one (escalation preamble included):
203
+ // redactArgv masks by position, so an argv built from the raw prompt
204
+ // would leak it into the spawn line. It carries its provenance: an
205
+ // explicit prompt (flag or file) may start with a dash.
206
+ const options = {
207
+ ...effectiveTurnOpts,
208
+ prompt: {
209
+ text: composeEscalatedPrompt(prompt, behavior.questions.value),
210
+ explicit: explicitPrompt,
211
+ },
212
+ ...(extra.cwd !== undefined ? { cwd: extra.cwd } : {}),
213
+ ...(extra.env !== undefined ? { env: extra.env } : {}),
214
+ ...(extra.resume !== undefined ? { resume: extra.resume } : {}),
215
+ questions: behavior.questions.value,
216
+ ...(passthrough.length > 0 ? { passthrough } : {}),
217
+ };
218
+ let argv;
219
+ try {
220
+ argv = buildSpawnArgv(h, options);
221
+ }
222
+ catch (err) {
223
+ if (err instanceof ArgvRefusalError)
224
+ return refused(err);
225
+ throw err;
226
+ }
227
+ // On a harness whose include flag is not a strict allowlist (claude), a
228
+ // name outside the curated set passes through ungated; say which ones so
229
+ // a wrong-case name is visible.
230
+ let nativeTools = [];
231
+ const grant = effectiveTurnOpts.tools;
232
+ if (grant !== undefined && grant.length > 0) {
233
+ try {
234
+ nativeTools = renderToolSelection(h, {
235
+ include: [...grant],
236
+ toolMap: options.toolMap,
237
+ }).passthrough;
238
+ }
239
+ catch {
240
+ // the builder above already refused
241
+ }
242
+ }
243
+ return {
244
+ kind: "plan",
245
+ plan: {
246
+ wantJson,
247
+ options,
248
+ argv,
249
+ redactedArgv: redactArgv(argv, promptTextOf(options)),
250
+ provenance,
251
+ unrenderable,
252
+ behavior,
253
+ nativeTools,
254
+ },
255
+ };
256
+ };
257
+ /** The diagnostics a plan prints to stderr - never stdout, which carries
258
+ * the NDJSON contract: provenance and divergence, the argv line under the
259
+ * given label, the question-mode provenance, and the native tool names. */
260
+ export const writePlanDiagnostics = (h, plan, label) => {
261
+ writeProvenance(h.name, plan.provenance, plan.unrenderable);
262
+ process.stderr.write(`${label}: ${plan.redactedArgv.map((token) => (token === "" ? '""' : token)).join(" ")}\n`);
263
+ process.stderr.write(`provenance: questions = ${plan.behavior.questions.value} (${plan.behavior.questions.tier})\n`);
264
+ if (plan.nativeTools.length > 0) {
265
+ process.stderr.write(`provenance: native tools = ${JSON.stringify(plan.nativeTools)}\n`);
266
+ }
267
+ };
268
+ //# sourceMappingURL=plan-turn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-turn.js","sourceRoot":"","sources":["../../src/cli/plan-turn.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"refuse.d.ts","sourceRoot":"","sources":["../../src/cli/refuse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGnF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,eAAO,MAAM,SAAS,QAAS,gBAAgB,KAAG,OAQhD,CAAC;AAEH;;;wDAGwD;AACxD,eAAO,MAAM,gBAAgB,YAClB,cAAc,aACb,MAAM,GAAG,QAAQ,KAC1B,IAQF,CAAC;AAEF,eAAO,MAAM,MAAM,MAAO,OAAO,QAAQ,OAAO,aAAY,MAAM,GAAG,QAAQ,KAAY,IAyBxF,CAAC"}
1
+ {"version":3,"file":"refuse.d.ts","sourceRoot":"","sources":["../../src/cli/refuse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAInF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,eAAO,MAAM,SAAS,QAAS,gBAAgB,KAAG,OAQhD,CAAC;AAEH;;;wDAGwD;AACxD,eAAO,MAAM,gBAAgB,YAClB,cAAc,aACb,MAAM,GAAG,QAAQ,KAC1B,IAQF,CAAC;AAEF,eAAO,MAAM,MAAM,MAAO,OAAO,QAAQ,OAAO,aAAY,MAAM,GAAG,QAAQ,KAAY,IAyBxF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { failureFromRejected } from "../execution/failure.js";
2
+ import { EXIT_REFUSAL } from "./exit-codes.js";
2
3
  import { writeEventNdjson } from "./render.js";
3
4
  export const refusalOf = (err) => ({
4
5
  message: err.message,
@@ -44,6 +45,6 @@ export const refuse = (r, json, terminal = "done") => {
44
45
  detail: r.message,
45
46
  }), terminal);
46
47
  }
47
- process.exitCode = 2;
48
+ process.exitCode = EXIT_REFUSAL;
48
49
  };
49
50
  //# sourceMappingURL=refuse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refuse.js","sourceRoot":"","sources":["../../src/cli/refuse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAa/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAqB,EAAW,EAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,SAAS,EAAE,GAAG,CAAC,SAAS;IACxB,WAAW,EAAE,GAAG,CAAC,WAAW;IAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;CACf,CAAC,CAAC;AAEH;;;wDAGwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAuB,EACvB,QAAQ,GAAsB,MAAM,EAC9B,EAAE;IACR,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClD,gBAAgB,CAAC;QACf,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,OAAO;KACR,CAAC,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,IAAa,EAAE,QAAQ,GAAsB,MAAM,EAAQ,EAAE;IAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iBAAiB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACzF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACtE,IAAI,IAAI,EAAE,CAAC;QACT,gBAAgB,CACd,mBAAmB,CAAC;YAClB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,OAAO;SAClB,CAAC,EACF,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"refuse.js","sourceRoot":"","sources":["../../src/cli/refuse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAa/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAqB,EAAW,EAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,GAAG,CAAC,OAAO;IACpB,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,KAAK,EAAE,GAAG,CAAC,KAAK;IAChB,SAAS,EAAE,GAAG,CAAC,SAAS;IACxB,WAAW,EAAE,GAAG,CAAC,WAAW;IAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;CACf,CAAC,CAAC;AAEH;;;wDAGwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAuB,EACvB,QAAQ,GAAsB,MAAM,EAC9B,EAAE;IACR,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAClD,gBAAgB,CAAC;QACf,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,OAAO;KACR,CAAC,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAE,IAAa,EAAE,QAAQ,GAAsB,MAAM,EAAQ,EAAE;IAC9F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iBAAiB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CACzF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IACtE,IAAI,IAAI,EAAE,CAAC;QACT,gBAAgB,CACd,mBAAmB,CAAC;YAClB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,OAAO;SAClB,CAAC,EACF,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC;AAClC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-harness.d.ts","sourceRoot":"","sources":["../../src/cli/resolve-harness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,iBAyB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,4CAA8B,CAAC"}
1
+ {"version":3,"file":"resolve-harness.d.ts","sourceRoot":"","sources":["../../src/cli/resolve-harness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAe,MAAM,4BAA4B,CAAC;AAIjF,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,iBAwB7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,4CAA8B,CAAC"}
@@ -3,11 +3,10 @@ import { HARNESS_NAMES } from "../knowledge/descriptor.js";
3
3
  import { defaultDescriptors } from "../knowledge/overrides.js";
4
4
  export const resolveHarness = (name) => {
5
5
  if (!HARNESS_NAMES.includes(name)) {
6
- // Use ArgvRefusalError shape for consistency but throw generic with supported list
7
- // Caller will map to exit 2 with supported list
6
+ // No harness was chosen, so the refusal names none; the caller maps
7
+ // it to exit 2 with the supported list.
8
8
  const err = new ArgvRefusalError({
9
9
  issue: "unsupported-option",
10
- harness: "claude",
11
10
  supported: [...HARNESS_NAMES],
12
11
  detail: `unknown harness ${JSON.stringify(name)}`,
13
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-harness.js","sourceRoot":"","sources":["../../src/cli/resolve-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAqB,EAAE;IAChE,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,mFAAmF;QACnF,gDAAgD;QAChD,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC;YAC/B,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC;YAC7B,MAAM,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;SAClD,CAAC,CAAC;QACH,2CAA2C;QAC3C,GAAG,CAAC,OAAO,GAAG,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrG,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAwB,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,IAAgB;YACzB,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC;YAC7B,MAAM,EAAE,WAAW,IAAI,YAAY;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,aAAa,CAAU,CAAC"}
1
+ {"version":3,"file":"resolve-harness.js","sourceRoot":"","sources":["../../src/cli/resolve-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAqB,EAAE;IAChE,IAAI,CAAE,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,oEAAoE;QACpE,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC;YAC/B,KAAK,EAAE,oBAAoB;YAC3B,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC;YAC7B,MAAM,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;SAClD,CAAC,CAAC;QACH,2CAA2C;QAC3C,GAAG,CAAC,OAAO,GAAG,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrG,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAwB,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,IAAmB;YAC5B,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC;YAC7B,MAAM,EAAE,WAAW,IAAI,YAAY;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,aAAa,CAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,GAAG,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAwgB9E,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,GAAG,gBAAuB,MAAM,WAAW,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CA+J9E,CAAC"}