@dungle-scrubs/harness-cli-normalizer 0.4.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +53 -7
  2. package/dist/cli/args.d.ts.map +1 -1
  3. package/dist/cli/args.js +13 -0
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/config.d.ts.map +1 -1
  6. package/dist/cli/config.js +65 -0
  7. package/dist/cli/config.js.map +1 -1
  8. package/dist/cli/help.d.ts +2 -2
  9. package/dist/cli/help.d.ts.map +1 -1
  10. package/dist/cli/help.js +28 -7
  11. package/dist/cli/help.js.map +1 -1
  12. package/dist/cli/inspect.d.ts.map +1 -1
  13. package/dist/cli/inspect.js +81 -25
  14. package/dist/cli/inspect.js.map +1 -1
  15. package/dist/cli/provenance.d.ts +3 -0
  16. package/dist/cli/provenance.d.ts.map +1 -0
  17. package/dist/cli/provenance.js +11 -0
  18. package/dist/cli/provenance.js.map +1 -0
  19. package/dist/cli/refuse.d.ts +14 -0
  20. package/dist/cli/refuse.d.ts.map +1 -0
  21. package/dist/cli/refuse.js +38 -0
  22. package/dist/cli/refuse.js.map +1 -0
  23. package/dist/cli/run.d.ts.map +1 -1
  24. package/dist/cli/run.js +27 -68
  25. package/dist/cli/run.js.map +1 -1
  26. package/dist/cli/session.d.ts.map +1 -1
  27. package/dist/cli/session.js +3 -3
  28. package/dist/cli/session.js.map +1 -1
  29. package/dist/cli/skills-root.d.ts +2 -1
  30. package/dist/cli/skills-root.d.ts.map +1 -1
  31. package/dist/cli/skills-root.js +6 -4
  32. package/dist/cli/skills-root.js.map +1 -1
  33. package/dist/execution/decode.d.ts.map +1 -1
  34. package/dist/execution/decode.js +2 -1
  35. package/dist/execution/decode.js.map +1 -1
  36. package/dist/execution/deps.d.ts +1 -1
  37. package/dist/execution/deps.js +1 -1
  38. package/dist/execution/failure.d.ts +5 -1
  39. package/dist/execution/failure.d.ts.map +1 -1
  40. package/dist/execution/failure.js +12 -0
  41. package/dist/execution/failure.js.map +1 -1
  42. package/dist/execution/index.d.ts +2 -2
  43. package/dist/execution/index.js +2 -2
  44. package/dist/execution/open-session.d.ts.map +1 -1
  45. package/dist/execution/open-session.js +23 -8
  46. package/dist/execution/open-session.js.map +1 -1
  47. package/dist/execution/stream-turn.d.ts.map +1 -1
  48. package/dist/execution/stream-turn.js +18 -10
  49. package/dist/execution/stream-turn.js.map +1 -1
  50. package/dist/interpretation/argv.d.ts +3 -0
  51. package/dist/interpretation/argv.d.ts.map +1 -1
  52. package/dist/interpretation/argv.js +6 -1
  53. package/dist/interpretation/argv.js.map +1 -1
  54. package/dist/interpretation/content.d.ts.map +1 -1
  55. package/dist/interpretation/content.js +4 -1
  56. package/dist/interpretation/content.js.map +1 -1
  57. package/dist/interpretation/hints.d.ts.map +1 -1
  58. package/dist/interpretation/hints.js +4 -0
  59. package/dist/interpretation/hints.js.map +1 -1
  60. package/dist/interpretation/limits.d.ts +1 -0
  61. package/dist/interpretation/limits.d.ts.map +1 -1
  62. package/dist/interpretation/limits.js +22 -0
  63. package/dist/interpretation/limits.js.map +1 -1
  64. package/dist/interpretation/resolve-options.d.ts.map +1 -1
  65. package/dist/interpretation/resolve-options.js +124 -3
  66. package/dist/interpretation/resolve-options.js.map +1 -1
  67. package/dist/interpretation/support.d.ts +1 -0
  68. package/dist/interpretation/support.d.ts.map +1 -1
  69. package/dist/interpretation/support.js +29 -0
  70. package/dist/interpretation/support.js.map +1 -1
  71. package/dist/interpretation/tool-selection.d.ts +6 -16
  72. package/dist/interpretation/tool-selection.d.ts.map +1 -1
  73. package/dist/interpretation/tool-selection.js +216 -80
  74. package/dist/interpretation/tool-selection.js.map +1 -1
  75. package/dist/interpretation/tool-vocabulary.d.ts +38 -0
  76. package/dist/interpretation/tool-vocabulary.d.ts.map +1 -0
  77. package/dist/interpretation/tool-vocabulary.js +142 -0
  78. package/dist/interpretation/tool-vocabulary.js.map +1 -0
  79. package/dist/interpretation/turn-options.d.ts.map +1 -1
  80. package/dist/interpretation/turn-options.js +107 -2
  81. package/dist/interpretation/turn-options.js.map +1 -1
  82. package/dist/interpretation/versions.d.ts +1 -1
  83. package/dist/interpretation/versions.d.ts.map +1 -1
  84. package/dist/interpretation/vocabulary.d.ts +1 -0
  85. package/dist/interpretation/vocabulary.d.ts.map +1 -1
  86. package/dist/interpretation/vocabulary.js +5 -0
  87. package/dist/interpretation/vocabulary.js.map +1 -1
  88. package/dist/knowledge/claude-code.d.ts.map +1 -1
  89. package/dist/knowledge/claude-code.js +14 -13
  90. package/dist/knowledge/claude-code.js.map +1 -1
  91. package/dist/knowledge/codex.d.ts.map +1 -1
  92. package/dist/knowledge/codex.js +10 -4
  93. package/dist/knowledge/codex.js.map +1 -1
  94. package/dist/knowledge/descriptor.d.ts +20 -1
  95. package/dist/knowledge/descriptor.d.ts.map +1 -1
  96. package/dist/knowledge/descriptor.js +18 -1
  97. package/dist/knowledge/descriptor.js.map +1 -1
  98. package/dist/knowledge/index.d.ts +1 -1
  99. package/dist/knowledge/index.d.ts.map +1 -1
  100. package/dist/knowledge/index.js +1 -1
  101. package/dist/knowledge/index.js.map +1 -1
  102. package/dist/knowledge/matchers.d.ts +2 -1
  103. package/dist/knowledge/matchers.d.ts.map +1 -1
  104. package/dist/knowledge/matchers.js +15 -0
  105. package/dist/knowledge/matchers.js.map +1 -1
  106. package/dist/knowledge/muse.d.ts.map +1 -1
  107. package/dist/knowledge/muse.js +18 -3
  108. package/dist/knowledge/muse.js.map +1 -1
  109. package/dist/knowledge/overrides.d.ts.map +1 -1
  110. package/dist/knowledge/overrides.js +3 -2
  111. package/dist/knowledge/overrides.js.map +1 -1
  112. package/dist/knowledge/pi.d.ts.map +1 -1
  113. package/dist/knowledge/pi.js +12 -8
  114. package/dist/knowledge/pi.js.map +1 -1
  115. package/package.json +1 -1
  116. package/src/cli/args.ts +13 -0
  117. package/src/cli/config.ts +88 -0
  118. package/src/cli/help.ts +28 -7
  119. package/src/cli/inspect.ts +78 -21
  120. package/src/cli/provenance.ts +19 -0
  121. package/src/cli/refuse.ts +50 -0
  122. package/src/cli/run.ts +27 -94
  123. package/src/cli/session.ts +4 -3
  124. package/src/cli/skills-root.ts +11 -4
  125. package/src/execution/decode.ts +2 -1
  126. package/src/execution/deps.ts +1 -1
  127. package/src/execution/failure.ts +17 -1
  128. package/src/execution/index.ts +2 -2
  129. package/src/execution/open-session.ts +33 -7
  130. package/src/execution/stream-turn.ts +21 -9
  131. package/src/interpretation/argv.ts +9 -1
  132. package/src/interpretation/content.ts +5 -1
  133. package/src/interpretation/hints.ts +8 -0
  134. package/src/interpretation/limits.ts +29 -0
  135. package/src/interpretation/resolve-options.ts +129 -3
  136. package/src/interpretation/support.ts +30 -0
  137. package/src/interpretation/tool-selection.ts +236 -96
  138. package/src/interpretation/tool-vocabulary.ts +183 -0
  139. package/src/interpretation/turn-options.ts +99 -2
  140. package/src/interpretation/versions.ts +1 -1
  141. package/src/interpretation/vocabulary.ts +5 -0
  142. package/src/knowledge/claude-code.ts +14 -13
  143. package/src/knowledge/codex.ts +10 -4
  144. package/src/knowledge/descriptor.ts +42 -2
  145. package/src/knowledge/index.ts +5 -1
  146. package/src/knowledge/matchers.ts +17 -1
  147. package/src/knowledge/muse.ts +18 -3
  148. package/src/knowledge/overrides.ts +4 -2
  149. package/src/knowledge/pi.ts +12 -8
@@ -28,4 +28,19 @@ export const SHARED_AUTH_MATCHERS = [
28
28
  { pattern: "401 unauthorized", flags: "i", kind: "expired" },
29
29
  { pattern: "invalid api key", flags: "i", kind: "invalid-key" },
30
30
  ];
31
+ export const SHARED_TRANSPORT_MATCHERS = [
32
+ { pattern: "connection error", flags: "i" },
33
+ { pattern: "ECONNREFUSED", flags: "i" },
34
+ { pattern: "ECONNRESET", flags: "i" },
35
+ { pattern: "ENOTFOUND", flags: "i" },
36
+ { pattern: "EAI_AGAIN", flags: "i" },
37
+ { pattern: "ETIMEDOUT", flags: "i" },
38
+ { pattern: "fetch failed", flags: "i" },
39
+ { pattern: "socket hang up", flags: "i" },
40
+ { pattern: "network error", flags: "i" },
41
+ { pattern: "service unavailable", flags: "i" },
42
+ { pattern: "bad gateway", flags: "i" },
43
+ { pattern: "gateway time-?out", flags: "i" },
44
+ { pattern: "\\b(?:HTTP|status(?:[_ ]?code)?|code)\\b\\W*[:=]?\\W*50[234]\\b", flags: "i" },
45
+ ];
31
46
  //# sourceMappingURL=matchers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/knowledge/matchers.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;IAC5E,EAAE,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;IAChF;QACE,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;KAChB;IACD;QACE,OAAO,EAAE,+DAA+D;QACxE,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;KACd;IACD,gIAAgI;IAChI,yEAAyE;IACzE,mEAAmE;IACnE,4CAA4C;IAC5C;QACE,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,YAAY;KACnB;IACD,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;IAChE,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;IACpE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA+B;IAC9D,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5D,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;CAChE,CAAC"}
1
+ {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/knowledge/matchers.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;IAC5E,EAAE,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;IAChF;QACE,OAAO,EAAE,2DAA2D;QACpE,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;KAChB;IACD;QACE,OAAO,EAAE,+DAA+D;QACxE,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,OAAO;KACd;IACD,gIAAgI;IAChI,yEAAyE;IACzE,mEAAmE;IACnE,4CAA4C;IAC5C;QACE,OAAO,EAAE,6DAA6D;QACtE,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,YAAY;KACnB;IACD,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;IAChE,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;IACpE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;CAC3D,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAA+B;IAC9D,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;IAC5D,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE;CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAoC;IACxE,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE;IAC3C,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;IACvC,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;IACrC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;IACpC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;IACpC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;IACpC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE;IACvC,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE;IACzC,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE;IACxC,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE;IAC9C,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE;IACtC,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE;IAC5C,EAAE,OAAO,EAAE,iEAAiE,EAAE,KAAK,EAAE,GAAG,EAAE;CAC3F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"muse.d.ts","sourceRoot":"","sources":["../../src/knowledge/muse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAc,KAAK,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAGjF,eAAO,MAAM,QAAQ,EAAE,iBAwHrB,CAAC"}
1
+ {"version":3,"file":"muse.d.ts","sourceRoot":"","sources":["../../src/knowledge/muse.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAc,KAAK,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAGjF,eAAO,MAAM,QAAQ,EAAE,iBAuIrB,CAAC"}
@@ -108,6 +108,11 @@ export const museCode = deepFreeze({
108
108
  max: 10000,
109
109
  render: { kind: "flag-value", flag: "--max-model-steps" },
110
110
  },
111
+ access: {
112
+ kind: "flag-list-by-value",
113
+ flags: { read: ["--disable-write", "--disable-shell"], write: [] },
114
+ render: { kind: "flag-list", flags: ["--disable-write", "--disable-shell"] },
115
+ },
111
116
  },
112
117
  // Phase 0 fixtures: muse-category-flags.md. No name lists; category
113
118
  // switches are enforcement gates - tools stay listed in the catalog but
@@ -123,9 +128,19 @@ export const museCode = deepFreeze({
123
128
  composable: false,
124
129
  builtins: [],
125
130
  categories: [
126
- { key: "write", disableFlag: "--disable-write", configKey: null },
127
- { key: "shell", disableFlag: "--disable-shell", configKey: null },
128
- { key: "web", disableFlag: "--disable-web-tools", configKey: null },
131
+ {
132
+ key: "write",
133
+ disableFlag: "--disable-write",
134
+ configKey: null,
135
+ canonical: ["write", "edit"],
136
+ },
137
+ { key: "shell", disableFlag: "--disable-shell", configKey: null, canonical: ["shell"] },
138
+ {
139
+ key: "web",
140
+ disableFlag: "--disable-web-tools",
141
+ configKey: null,
142
+ canonical: ["web-fetch", "web-search"],
143
+ },
129
144
  ],
130
145
  denySemantics: "policy-gate",
131
146
  },
@@ -1 +1 @@
1
- {"version":3,"file":"muse.js","sourceRoot":"","sources":["../../src/knowledge/muse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"muse.js","sourceRoot":"","sources":["../../src/knowledge/muse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../src/knowledge/overrides.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAE5E,eAAO,MAAM,kBAAkB,QAAO,aAKpC,CAAC;AAEH;;sDAEsD;AACtD,eAAO,MAAM,kBAAkB;WAA2C,MAAM;UAAQ,MAAM;EAAK,CAAC;AAEpG,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAH3B,YACW,IAAI,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACL,OAAO,CAAC,EAAE,MAAM,YAAA,EAM1B;CACF;AAiLD,sEAAsE;AACtE,eAAO,MAAM,cAAc,aAAc,MAAM,QAAQ,MAAM,KAAG,aAkD/D,CAAC"}
1
+ {"version":3,"file":"overrides.d.ts","sourceRoot":"","sources":["../../src/knowledge/overrides.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAS5E,eAAO,MAAM,kBAAkB,QAAO,aAAmC,CAAC;AAE1E;;sDAEsD;AACtD,eAAO,MAAM,kBAAkB;WAA2C,MAAM;UAAQ,MAAM;EAAK,CAAC;AAEpG,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAH3B,YACW,IAAI,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACL,OAAO,CAAC,EAAE,MAAM,YAAA,EAM1B;CACF;AAiLD,sEAAsE;AACtE,eAAO,MAAM,cAAc,aAAc,MAAM,QAAQ,MAAM,KAAG,aAkD/D,CAAC"}
@@ -17,12 +17,13 @@ import { codexCli } from "./codex.js";
17
17
  import { HARNESS_NAMES, SESSION_INPUT_KINDS, } from "./descriptor.js";
18
18
  import { museCode } from "./muse.js";
19
19
  import { piCli } from "./pi.js";
20
- export const defaultDescriptors = () => ({
20
+ const SHARED_DESCRIPTORS = {
21
21
  claude: claudeCode,
22
22
  codex: codexCli,
23
23
  pi: piCli,
24
24
  muse: museCode,
25
- });
25
+ };
26
+ export const defaultDescriptors = () => SHARED_DESCRIPTORS;
26
27
  /** Tracks which descriptors were produced by an override file and what their
27
28
  * matcher counts are, so the execution layer can emit `matcherOverrides` on
28
29
  * the spawn boundary event without re-deriving it. */
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/knowledge/overrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/knowledge/overrides.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/knowledge/pi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAc,KAAK,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAGjF,eAAO,MAAM,KAAK,EAAE,iBAqKlB,CAAC"}
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/knowledge/pi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAc,KAAK,iBAAiB,EAAc,MAAM,iBAAiB,CAAC;AAGjF,eAAO,MAAM,KAAK,EAAE,iBAyKlB,CAAC"}
@@ -77,7 +77,10 @@ export const piCli = deepFreeze({
77
77
  announce: { match: { type: "session" }, idField: "id" },
78
78
  },
79
79
  limitMatchers: [...SHARED_LIMIT_MATCHERS],
80
- authMatchers: [...SHARED_AUTH_MATCHERS],
80
+ authMatchers: [
81
+ { pattern: "No API key found for", flags: "i", kind: "not-logged-in" },
82
+ ...SHARED_AUTH_MATCHERS,
83
+ ],
81
84
  autonomy: null,
82
85
  vocabulary: {
83
86
  modelFlag: "--model",
@@ -150,6 +153,7 @@ export const piCli = deepFreeze({
150
153
  },
151
154
  },
152
155
  },
156
+ access: { kind: "tool-preset", render: { kind: "flag-value", flag: "--tools" } },
153
157
  },
154
158
  // Phase 0 fixtures: pi-both-tool-flags.md. Both list flags legal at once;
155
159
  // exclude subtracts from include. --tools is strict over BUILT-INS but
@@ -162,13 +166,13 @@ export const piCli = deepFreeze({
162
166
  includeIsStrictAllowlist: true,
163
167
  composable: true,
164
168
  builtins: [
165
- { name: "read", defaultEnabled: true },
166
- { name: "bash", defaultEnabled: true },
167
- { name: "edit", defaultEnabled: true },
168
- { name: "write", defaultEnabled: true },
169
- { name: "grep", defaultEnabled: false },
170
- { name: "find", defaultEnabled: false },
171
- { name: "ls", defaultEnabled: false },
169
+ { name: "read", defaultEnabled: true, canonical: "read" },
170
+ { name: "bash", defaultEnabled: true, canonical: "shell" },
171
+ { name: "edit", defaultEnabled: true, canonical: "edit" },
172
+ { name: "write", defaultEnabled: true, canonical: "write" },
173
+ { name: "grep", defaultEnabled: false, canonical: "grep" },
174
+ { name: "find", defaultEnabled: false, canonical: "glob" },
175
+ { name: "ls", defaultEnabled: false, canonical: "list" },
172
176
  ],
173
177
  categories: [],
174
178
  denySemantics: "remove-from-set",
@@ -1 +1 @@
1
- {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/knowledge/pi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/knowledge/pi.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dungle-scrubs/harness-cli-normalizer",
3
- "version": "0.4.5",
3
+ "version": "0.5.0",
4
4
  "description": "One stable CLI to four coding-agent harnesses: normalized flags, defaults, and events.",
5
5
  "license": "MIT",
6
6
  "author": "Kevin Frilot",
package/src/cli/args.ts CHANGED
@@ -220,6 +220,8 @@ export const parseTurnOptions = (values: Record<string, unknown>): TurnOptions =
220
220
  }
221
221
  if (hasDiscovery) (opts as Record<string, unknown>).discovery = discovery as DiscoveryOptions;
222
222
 
223
+ if (values.access !== undefined) opts.access = String(values.access);
224
+
223
225
  // prompt will be set by caller after resolvePrompt
224
226
  return opts as unknown as TurnOptions;
225
227
  };
@@ -252,6 +254,14 @@ export const parseRunExtra = (
252
254
  extra.timeoutSeconds = n;
253
255
  }
254
256
  if (values.cwd !== undefined) extra.cwd = String(values.cwd);
257
+ if (values.resume !== undefined && values["session-id"] !== undefined) {
258
+ throw new ArgvRefusalError({
259
+ issue: "mutually-exclusive-options",
260
+ harness: "claude",
261
+ supported: ["--resume or --session-id, not both (--session-id is an alias for --resume)"],
262
+ detail: "both --resume and --session-id given",
263
+ });
264
+ }
255
265
  if (values.resume !== undefined) extra.resume = String(values.resume);
256
266
  if (values["session-id"] !== undefined) extra.resume = String(values["session-id"]);
257
267
  if (values.env !== undefined) {
@@ -276,6 +286,7 @@ const KNOWN_FLAGS = new Set([
276
286
  "--provider",
277
287
  "--tools",
278
288
  "--exclude-tools",
289
+ "--access",
279
290
  "--autonomy",
280
291
  "--no-autonomy",
281
292
  "--write",
@@ -312,6 +323,7 @@ const FLAGS_WITH_VALUE = new Set([
312
323
  "--provider",
313
324
  "--tools",
314
325
  "--exclude-tools",
326
+ "--access",
315
327
  "--max-steps",
316
328
  "--cwd",
317
329
  "--env",
@@ -435,6 +447,7 @@ export const parseCommonFlags = (
435
447
  "system-prompt": { type: "string" as const },
436
448
  "append-system-prompt": { type: "string" as const },
437
449
  "max-steps": { type: "string" as const },
450
+ access: { type: "string" as const },
438
451
  "no-tools": { type: "boolean" as const },
439
452
  "no-instruction-files": { type: "boolean" as const },
440
453
  "no-extensions": { type: "boolean" as const },
package/src/cli/config.ts CHANGED
@@ -9,11 +9,21 @@
9
9
  * (key known, value type plausible); value legality (effort in ladder,
10
10
  * model in vocabulary) is enforced by the same renderers as args, so
11
11
  * config and CLI can never disagree about what is legal.
12
+ *
13
+ * toolMap: { pi: { "web-search": "web_search" } } - extensible canonical
14
+ * vocabulary per harness; unknown harness, harness with no allowlist
15
+ * (codex, muse), non-string/empty values, or invalid selector canonical
16
+ * keys hard-fail naming the key path. hcn cannot verify native names exist
17
+ * at run time; a wrong name reaches the harness as an unknown tool.
12
18
  */
13
19
  import { existsSync, readFileSync } from "node:fs";
14
20
  import { homedir } from "node:os";
15
21
  import { dirname, join, resolve } from "node:path";
16
22
  import type { TurnOptions } from "../interpretation/argv.js";
23
+ import { TOOL_SELECTOR } from "../interpretation/tool-selection.js";
24
+ import { validateAccess } from "../interpretation/vocabulary.js";
25
+ import { HARNESS_NAMES } from "../knowledge/descriptor.js";
26
+ import { defaultDescriptors } from "../knowledge/overrides.js";
17
27
 
18
28
  const SCHEMA_VERSION = 1;
19
29
 
@@ -73,6 +83,8 @@ const KNOWN_KEYS = new Set([
73
83
  // entry by ratification).
74
84
  "systemPrompt",
75
85
  "appendSystemPrompt",
86
+ "toolMap",
87
+ "access",
76
88
  ]);
77
89
 
78
90
  const LIST_KEYS = new Set(["tools", "excludeTools"]);
@@ -107,6 +119,74 @@ export const parseUserConfig = (text: string): Partial<TurnOptions> => {
107
119
  if (!KNOWN_KEYS.has(key)) {
108
120
  throw new ConfigError(`unknown config key: ${JSON.stringify(key)}`);
109
121
  }
122
+ if (key === "toolMap") {
123
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
124
+ throw new ConfigError(
125
+ 'config key "toolMap" must be an object of harness -> canonical -> native',
126
+ );
127
+ }
128
+ const toolMapObj = value as Record<string, unknown>;
129
+ const SEL = TOOL_SELECTOR;
130
+ const descSet = defaultDescriptors();
131
+ const harnessNames = HARNESS_NAMES as readonly string[];
132
+ for (const [harness, inner] of Object.entries(toolMapObj)) {
133
+ if (!(harnessNames as readonly string[]).includes(harness)) {
134
+ throw new ConfigError(`unknown config key: ${JSON.stringify(`toolMap.${harness}`)}`);
135
+ }
136
+ const desc = (
137
+ descSet as Record<
138
+ string,
139
+ {
140
+ tools: {
141
+ includeFlag: string | null;
142
+ categories: readonly { canonical: readonly string[] }[];
143
+ };
144
+ }
145
+ >
146
+ )[harness];
147
+ const canTakeToolMap =
148
+ desc && (desc.tools.includeFlag !== null || desc.tools.categories.length > 0);
149
+ const hasListOrCats = canTakeToolMap;
150
+ if (!hasListOrCats) {
151
+ throw new ConfigError(`unknown config key: ${JSON.stringify(`toolMap.${harness}`)}`);
152
+ }
153
+ if (typeof inner !== "object" || inner === null || Array.isArray(inner)) {
154
+ throw new ConfigError(
155
+ `config key ${JSON.stringify(`toolMap.${harness}`)} must be an object of canonical -> native string`,
156
+ );
157
+ }
158
+ const innerObj = inner as Record<string, unknown>;
159
+ // For category-only harnesses (muse), only category-backed canonicals are valid (A4)
160
+ const isCategoryOnly = desc.tools.includeFlag === null && desc.tools.categories.length > 0;
161
+ const allowedForCategoryOnly = isCategoryOnly
162
+ ? new Set(desc.tools.categories.flatMap((c) => [...c.canonical]))
163
+ : null;
164
+ for (const [canonical, nativeVal] of Object.entries(innerObj)) {
165
+ if (isCategoryOnly && allowedForCategoryOnly && !allowedForCategoryOnly.has(canonical)) {
166
+ throw new ConfigError(
167
+ `unknown config key: ${JSON.stringify(`toolMap.${harness}.${canonical}`)}`,
168
+ );
169
+ }
170
+ if (!SEL.test(canonical)) {
171
+ throw new ConfigError(
172
+ `config key ${JSON.stringify(`toolMap.${harness}.${canonical}`)} must match ${SEL.source}`,
173
+ );
174
+ }
175
+ if (typeof nativeVal !== "string") {
176
+ throw new ConfigError(
177
+ `config key ${JSON.stringify(`toolMap.${harness}.${canonical}`)} must be a non-empty string, got ${typeof nativeVal}`,
178
+ );
179
+ }
180
+ if (nativeVal.trim() === "") {
181
+ throw new ConfigError(
182
+ `config key ${JSON.stringify(`toolMap.${harness}.${canonical}`)} must be a non-empty string`,
183
+ );
184
+ }
185
+ }
186
+ }
187
+ (out as Record<string, unknown>)[key] = value;
188
+ continue;
189
+ }
110
190
  if (key === "toolsets") {
111
191
  if (
112
192
  typeof value !== "object" ||
@@ -132,6 +212,14 @@ export const parseUserConfig = (text: string): Partial<TurnOptions> => {
132
212
  (out as Record<string, unknown>)[key] = value;
133
213
  continue;
134
214
  }
215
+ if (key === "access") {
216
+ const v = validateAccess(String(value));
217
+ if (!v.ok) {
218
+ throw new ConfigError('config key "access" must be "read" or "write"');
219
+ }
220
+ (out as Record<string, unknown>)[key] = value;
221
+ continue;
222
+ }
135
223
  if (LIST_KEYS.has(key)) {
136
224
  if (!Array.isArray(value) || value.some((v) => typeof v !== "string")) {
137
225
  throw new ConfigError(`config key ${JSON.stringify(key)} must be an array of strings`);
package/src/cli/help.ts CHANGED
@@ -32,10 +32,16 @@ Options:
32
32
  --effort <value> Effort level (validated per harness/model)
33
33
  --sandbox <value> Sandbox mode (codex only)
34
34
  --provider <value> Provider (pi only)
35
- --tools <a,b> Tool grant allowlist (claude, pi; a bare name
36
- matching a configured toolset expands to it)
37
- --exclude-tools <a,b> Complement over known tools (claude, pi;
38
- mutually exclusive with --tools)
35
+ --tools <a,b> Tool grant allowlist - canonical names (read, write,
36
+ edit, shell, grep, glob, list, web-fetch,
37
+ web-search, subagent, skill);
38
+ 'native:<name>' passes a harness-native or
39
+ extension tool through (claude, pi; a bare
40
+ name matching a configured toolset expands
41
+ to it)
42
+ --exclude-tools <a,b> Complement over known tools - canonical names
43
+ (same vocabulary, native:<name> passthrough);
44
+ mutually exclusive with --tools (claude, pi)
39
45
  --autonomy Enable autonomy flag (claude/codex/muse)
40
46
  --no-autonomy Disable autonomy
41
47
  --write Enable write (muse)
@@ -54,12 +60,21 @@ Options:
54
60
  exclusion automatically. Opt-in; no default)
55
61
  --append-system-prompt <text>
56
62
  Append to the built-in prompt (claude, pi only)
63
+ --access <read|write> Access preset - read = read-only tool subset
64
+ (canonical: read, grep, glob, list, web-fetch,
65
+ web-search; claude/pi via --tools, codex via
66
+ --sandbox read-only, muse via --disable-write
67
+ --disable-shell); write = no restriction;
68
+ mutually exclusive with --tools/--exclude-tools
69
+ and with --sandbox on codex; no default
57
70
  --max-steps <n> Max steps (muse, 1-10000)
58
71
  --timeout <seconds> Wall-clock budget for the run (all harnesses,
59
72
  hcn-enforced; 0 disables; no default)
60
73
  --no-tools Disable tools discovery facet
61
74
  --no-instruction-files Disable instructionFiles discovery facet
62
75
  --no-extensions Disable extensions discovery facet
76
+ --skills <a,b> Skill allowlist (names resolved against $HCN_SKILLS_ROOT
77
+ or ~/.agents/skills; pi loads, claude narrows)
63
78
  --no-skills Disable skills discovery facet
64
79
  --cwd <path> Working directory for spawn
65
80
  --env KEY=VAL Environment (repeatable; KEY= deletes)
@@ -69,6 +84,7 @@ Options:
69
84
  harness (claude stable, pi/muse caller-assigned,
70
85
  codex minted via identity event)
71
86
  Note: pi and muse create a new session when the id is unknown - verify it exists
87
+ --session-id <uuid> Alias for --resume (mutually exclusive with --resume)
72
88
  -- Passthrough: native harness args verbatim
73
89
  (failures surface as labeled native errors)
74
90
  --json NDJSON HarnessEvent to stdout
@@ -80,8 +96,10 @@ Defaults with no flags:
80
96
  git root) > user config (~/.config/hcn/config.json) > built-in profile
81
97
  > harness default. The profile pins: effort medium, sandbox
82
98
  workspace-write (codex only; other harnesses report divergence),
83
- discovery on, autonomy off, write/shell on. timeout and max-steps have
84
- no default. Question escalation defaults ON (config key
99
+ discovery on, autonomy off, write/shell on. timeout, max-steps and
100
+ access have no default; harness default applies (access write emits
101
+ nothing on claude/pi/muse, --sandbox workspace-write on codex via
102
+ profile). toolMap is config-only (no flag) - canonical -> native mapping per harness. Question escalation defaults ON (config key
85
103
  "escalateQuestions"; it is a prompt preamble, never a harness flag).
86
104
  Provenance prints to stderr on every run; see
87
105
  'hcn inspect <harness>' for the resolved argv of a bare run.
@@ -122,7 +140,10 @@ Options:
122
140
  --effort <value> Effort
123
141
  --sandbox <value> Sandbox
124
142
  --provider <value> Provider
125
- --tools <a,b> Tools
143
+ --tools <a,b> Tools - canonical names (read, write, edit,
144
+ shell, grep, glob, list, web-fetch,
145
+ web-search, subagent, skill);
146
+ 'native:<name>' passes through
126
147
  --autonomy / --no-autonomy
127
148
  --write / --no-write
128
149
  --shell / --no-shell
@@ -2,7 +2,11 @@ import { redactArgv } from "../execution/stream-turn.js";
2
2
  import { buildLaunchArgv } from "../interpretation/argv.js";
3
3
  import { ArgvRefusalError } from "../interpretation/refusal.js";
4
4
  import { FloorExceededError, resolveEffectiveOptions } from "../interpretation/resolve-options.js";
5
+ import { canonicalTable, mergeToolMaps } from "../interpretation/tool-vocabulary.js";
6
+ import { defaultDescriptors } from "../knowledge/overrides.js";
5
7
  import { parseTurnOptions, resolvePromptAsync } from "./args.js";
8
+ import { ConfigError, loadProjectConfig, loadUserConfig } from "./config.js";
9
+ import { refusalOf, refuse } from "./refuse.js";
6
10
  import { resolveHarness } from "./resolve-harness.js";
7
11
 
8
12
  export const inspect = async (harnessName: string, rawArgs: string[]): Promise<void> => {
@@ -48,8 +52,55 @@ export const inspect = async (harnessName: string, rawArgs: string[]): Promise<v
48
52
  const values = parsed.values as Record<string, unknown>;
49
53
  const wantArgv = values.argv === true;
50
54
 
55
+ // Load config once at top and reuse for both paths
56
+ let rawUserMap: Record<string, Record<string, string>> | undefined;
57
+ let rawProjectMap: Record<string, Record<string, string>> | undefined;
58
+ let loadedTiers: {
59
+ user?: import("../interpretation/argv.js").TurnOptions;
60
+ project?: import("../interpretation/argv.js").TurnOptions;
61
+ } = {};
62
+ try {
63
+ const u = loadUserConfig();
64
+ rawUserMap = (u?.config as { toolMap?: Record<string, Record<string, string>> } | undefined)
65
+ ?.toolMap;
66
+ if (u) loadedTiers = { ...loadedTiers, user: u.config as never };
67
+ const p = loadProjectConfig();
68
+ rawProjectMap = (p?.config as { toolMap?: Record<string, Record<string, string>> } | undefined)
69
+ ?.toolMap;
70
+ if (p) loadedTiers = { ...loadedTiers, project: p.config as never };
71
+ } catch (e) {
72
+ if (e instanceof ConfigError) {
73
+ process.stderr.write(`config error: ${(e as Error).message}\n`);
74
+ process.exitCode = 2;
75
+ return;
76
+ }
77
+ throw e;
78
+ }
79
+ const merged = mergeToolMaps({ user: rawUserMap, project: rawProjectMap });
80
+
51
81
  if (!wantArgv) {
52
- // Pure descriptor dump
82
+ const table = canonicalTable(defaultDescriptors());
83
+ const slice: Record<string, unknown> = {};
84
+ const allCanonicalForInspect = [
85
+ ...new Set([...Object.keys(table), ...Object.keys(merged[h.name] ?? {})]),
86
+ ].sort();
87
+ for (const canonical of allCanonicalForInspect) {
88
+ const perHarness = table[canonical] as Record<string, unknown> | undefined;
89
+ const v = perHarness?.[h.name];
90
+ const mapped = merged[h.name]?.[canonical];
91
+ if (mapped !== undefined) {
92
+ slice[canonical] = { native: mapped.native, source: mapped.tier };
93
+ } else if (v !== undefined) {
94
+ const vv = v as { kind: string; native?: string; key?: string };
95
+ const val =
96
+ vv.kind === "builtin"
97
+ ? { native: vv.native, source: "descriptor" }
98
+ : { ...vv, source: "descriptor" };
99
+ slice[canonical] = val;
100
+ } else {
101
+ slice[canonical] = { native: null, source: "none" };
102
+ }
103
+ }
53
104
  const out = {
54
105
  name: h.name,
55
106
  bin: h.bin,
@@ -74,6 +125,9 @@ export const inspect = async (harnessName: string, rawArgs: string[]): Promise<v
74
125
  modelFlag: h.vocabulary.modelFlag,
75
126
  },
76
127
  turnOptions: h.turnOptions,
128
+ limitMatchers: h.limitMatchers,
129
+ authMatchers: h.authMatchers,
130
+ toolVocabulary: slice,
77
131
  };
78
132
  process.stdout.write(`${JSON.stringify(out, null, 2)}\n`);
79
133
  return;
@@ -129,7 +183,7 @@ export const inspect = async (harnessName: string, rawArgs: string[]): Promise<v
129
183
  if (rawSkills !== undefined && rawSkills.length > 0) {
130
184
  try {
131
185
  const { resolveSkillNames, listKnownSkills } = await import("./skills-root.js");
132
- const resolvedSkills = resolveSkillNames(rawSkills);
186
+ const resolvedSkills = resolveSkillNames(rawSkills, h.name);
133
187
  const claudeTokens: string[] = [];
134
188
  if (h.name === "claude") {
135
189
  const { claudeSkillOverridesArg } = await import("../interpretation/skills-selection.js");
@@ -150,6 +204,18 @@ export const inspect = async (harnessName: string, rawArgs: string[]): Promise<v
150
204
 
151
205
  // Resume previews from unresolved options, mirroring run.ts launch-only rule (F-15)
152
206
  if (values.resume !== undefined || values["session-id"] !== undefined) {
207
+ if (values.resume !== undefined && values["session-id"] !== undefined) {
208
+ const err = new ArgvRefusalError({
209
+ issue: "mutually-exclusive-options",
210
+ harness: h.name,
211
+ supported: ["--resume or --session-id, not both (--session-id is an alias for --resume)"],
212
+ detail: "both --resume and --session-id given",
213
+ });
214
+ process.stderr.write(`${err.message}\n`);
215
+ if (err.supported.length) process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
216
+ process.exitCode = 2;
217
+ return;
218
+ }
153
219
  const { buildResumeArgv } = await import("../interpretation/argv.js");
154
220
  const resumeId = String(values.resume ?? values["session-id"]);
155
221
  try {
@@ -175,26 +241,13 @@ export const inspect = async (harnessName: string, rawArgs: string[]): Promise<v
175
241
  }
176
242
  }
177
243
 
178
- // Inspect resolves exactly as a launch would: profile + user config,
179
- // launch-only semantics, so --argv previews the truth of a bare run.
180
- const { loadUserConfig, loadProjectConfig, ConfigError } = await import("./config.js");
244
+ // Reuse already-loaded config for argv preview
181
245
  const tiers: {
182
246
  user?: Partial<ReturnType<typeof parseTurnOptions>>;
183
247
  project?: Partial<ReturnType<typeof parseTurnOptions>>;
184
248
  } = {};
185
- try {
186
- const loaded = loadUserConfig();
187
- if (loaded !== null) tiers.user = loaded.config;
188
- const proj = loadProjectConfig();
189
- if (proj !== null) tiers.project = proj.config;
190
- } catch (configErr) {
191
- if (configErr instanceof ConfigError) {
192
- process.stderr.write(`config error: ${(configErr as Error).message}\n`);
193
- process.exitCode = 2;
194
- return;
195
- }
196
- throw configErr;
197
- }
249
+ if (loadedTiers.user) tiers.user = loadedTiers.user as never;
250
+ if (loadedTiers.project) tiers.project = loadedTiers.project as never;
198
251
  let resolved: ReturnType<typeof resolveEffectiveOptions>;
199
252
  try {
200
253
  resolved = resolveEffectiveOptions(h, { ...turnOpts, prompt } as never, tiers);
@@ -204,8 +257,14 @@ export const inspect = async (harnessName: string, rawArgs: string[]): Promise<v
204
257
  process.exitCode = 2;
205
258
  return;
206
259
  }
260
+ if (resErr instanceof ArgvRefusalError) {
261
+ refuse(refusalOf(resErr as ArgvRefusalError), false);
262
+ return;
263
+ }
207
264
  throw resErr;
208
265
  }
266
+ const { writeProvenance } = await import("./provenance.js");
267
+ writeProvenance(h.name, resolved.provenance, resolved.unrenderable);
209
268
  const { prompt: _p, ...effectiveRest } = resolved.options as { prompt: string };
210
269
  const fullOpts = {
211
270
  ...(effectiveRest as object),
@@ -221,9 +280,7 @@ export const inspect = async (harnessName: string, rawArgs: string[]): Promise<v
221
280
  if (claudeTokens !== undefined && claudeTokens.length > 0) argv.push(...claudeTokens);
222
281
  } catch (err) {
223
282
  if (err instanceof ArgvRefusalError) {
224
- process.stderr.write(`${err.message}\n`);
225
- if (err.supported.length) process.stderr.write(`supported: ${err.supported.join(", ")}\n`);
226
- process.exitCode = 2;
283
+ refuse(refusalOf(err as ArgvRefusalError), false);
227
284
  return;
228
285
  }
229
286
  throw err;