@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.
- package/README.md +53 -7
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +13 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +65 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/help.d.ts +2 -2
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +28 -7
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +81 -25
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/provenance.d.ts +3 -0
- package/dist/cli/provenance.d.ts.map +1 -0
- package/dist/cli/provenance.js +11 -0
- package/dist/cli/provenance.js.map +1 -0
- package/dist/cli/refuse.d.ts +14 -0
- package/dist/cli/refuse.d.ts.map +1 -0
- package/dist/cli/refuse.js +38 -0
- package/dist/cli/refuse.js.map +1 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +27 -68
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/session.d.ts.map +1 -1
- package/dist/cli/session.js +3 -3
- package/dist/cli/session.js.map +1 -1
- package/dist/cli/skills-root.d.ts +2 -1
- package/dist/cli/skills-root.d.ts.map +1 -1
- package/dist/cli/skills-root.js +6 -4
- package/dist/cli/skills-root.js.map +1 -1
- package/dist/execution/decode.d.ts.map +1 -1
- package/dist/execution/decode.js +2 -1
- package/dist/execution/decode.js.map +1 -1
- package/dist/execution/deps.d.ts +1 -1
- package/dist/execution/deps.js +1 -1
- package/dist/execution/failure.d.ts +5 -1
- package/dist/execution/failure.d.ts.map +1 -1
- package/dist/execution/failure.js +12 -0
- package/dist/execution/failure.js.map +1 -1
- package/dist/execution/index.d.ts +2 -2
- package/dist/execution/index.js +2 -2
- package/dist/execution/open-session.d.ts.map +1 -1
- package/dist/execution/open-session.js +23 -8
- package/dist/execution/open-session.js.map +1 -1
- package/dist/execution/stream-turn.d.ts.map +1 -1
- package/dist/execution/stream-turn.js +18 -10
- package/dist/execution/stream-turn.js.map +1 -1
- package/dist/interpretation/argv.d.ts +3 -0
- package/dist/interpretation/argv.d.ts.map +1 -1
- package/dist/interpretation/argv.js +6 -1
- package/dist/interpretation/argv.js.map +1 -1
- package/dist/interpretation/content.d.ts.map +1 -1
- package/dist/interpretation/content.js +4 -1
- package/dist/interpretation/content.js.map +1 -1
- package/dist/interpretation/hints.d.ts.map +1 -1
- package/dist/interpretation/hints.js +4 -0
- package/dist/interpretation/hints.js.map +1 -1
- package/dist/interpretation/limits.d.ts +1 -0
- package/dist/interpretation/limits.d.ts.map +1 -1
- package/dist/interpretation/limits.js +22 -0
- package/dist/interpretation/limits.js.map +1 -1
- package/dist/interpretation/resolve-options.d.ts.map +1 -1
- package/dist/interpretation/resolve-options.js +124 -3
- package/dist/interpretation/resolve-options.js.map +1 -1
- package/dist/interpretation/support.d.ts +1 -0
- package/dist/interpretation/support.d.ts.map +1 -1
- package/dist/interpretation/support.js +29 -0
- package/dist/interpretation/support.js.map +1 -1
- package/dist/interpretation/tool-selection.d.ts +6 -16
- package/dist/interpretation/tool-selection.d.ts.map +1 -1
- package/dist/interpretation/tool-selection.js +216 -80
- package/dist/interpretation/tool-selection.js.map +1 -1
- package/dist/interpretation/tool-vocabulary.d.ts +38 -0
- package/dist/interpretation/tool-vocabulary.d.ts.map +1 -0
- package/dist/interpretation/tool-vocabulary.js +142 -0
- package/dist/interpretation/tool-vocabulary.js.map +1 -0
- package/dist/interpretation/turn-options.d.ts.map +1 -1
- package/dist/interpretation/turn-options.js +107 -2
- package/dist/interpretation/turn-options.js.map +1 -1
- package/dist/interpretation/versions.d.ts +1 -1
- package/dist/interpretation/versions.d.ts.map +1 -1
- package/dist/interpretation/vocabulary.d.ts +1 -0
- package/dist/interpretation/vocabulary.d.ts.map +1 -1
- package/dist/interpretation/vocabulary.js +5 -0
- package/dist/interpretation/vocabulary.js.map +1 -1
- package/dist/knowledge/claude-code.d.ts.map +1 -1
- package/dist/knowledge/claude-code.js +14 -13
- package/dist/knowledge/claude-code.js.map +1 -1
- package/dist/knowledge/codex.d.ts.map +1 -1
- package/dist/knowledge/codex.js +10 -4
- package/dist/knowledge/codex.js.map +1 -1
- package/dist/knowledge/descriptor.d.ts +20 -1
- package/dist/knowledge/descriptor.d.ts.map +1 -1
- package/dist/knowledge/descriptor.js +18 -1
- package/dist/knowledge/descriptor.js.map +1 -1
- package/dist/knowledge/index.d.ts +1 -1
- package/dist/knowledge/index.d.ts.map +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/index.js.map +1 -1
- package/dist/knowledge/matchers.d.ts +2 -1
- package/dist/knowledge/matchers.d.ts.map +1 -1
- package/dist/knowledge/matchers.js +15 -0
- package/dist/knowledge/matchers.js.map +1 -1
- package/dist/knowledge/muse.d.ts.map +1 -1
- package/dist/knowledge/muse.js +18 -3
- package/dist/knowledge/muse.js.map +1 -1
- package/dist/knowledge/overrides.d.ts.map +1 -1
- package/dist/knowledge/overrides.js +3 -2
- package/dist/knowledge/overrides.js.map +1 -1
- package/dist/knowledge/pi.d.ts.map +1 -1
- package/dist/knowledge/pi.js +12 -8
- package/dist/knowledge/pi.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/args.ts +13 -0
- package/src/cli/config.ts +88 -0
- package/src/cli/help.ts +28 -7
- package/src/cli/inspect.ts +78 -21
- package/src/cli/provenance.ts +19 -0
- package/src/cli/refuse.ts +50 -0
- package/src/cli/run.ts +27 -94
- package/src/cli/session.ts +4 -3
- package/src/cli/skills-root.ts +11 -4
- package/src/execution/decode.ts +2 -1
- package/src/execution/deps.ts +1 -1
- package/src/execution/failure.ts +17 -1
- package/src/execution/index.ts +2 -2
- package/src/execution/open-session.ts +33 -7
- package/src/execution/stream-turn.ts +21 -9
- package/src/interpretation/argv.ts +9 -1
- package/src/interpretation/content.ts +5 -1
- package/src/interpretation/hints.ts +8 -0
- package/src/interpretation/limits.ts +29 -0
- package/src/interpretation/resolve-options.ts +129 -3
- package/src/interpretation/support.ts +30 -0
- package/src/interpretation/tool-selection.ts +236 -96
- package/src/interpretation/tool-vocabulary.ts +183 -0
- package/src/interpretation/turn-options.ts +99 -2
- package/src/interpretation/versions.ts +1 -1
- package/src/interpretation/vocabulary.ts +5 -0
- package/src/knowledge/claude-code.ts +14 -13
- package/src/knowledge/codex.ts +10 -4
- package/src/knowledge/descriptor.ts +42 -2
- package/src/knowledge/index.ts +5 -1
- package/src/knowledge/matchers.ts +17 -1
- package/src/knowledge/muse.ts +18 -3
- package/src/knowledge/overrides.ts +4 -2
- 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,
|
|
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"}
|
package/dist/knowledge/muse.js
CHANGED
|
@@ -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
|
-
{
|
|
127
|
-
|
|
128
|
-
|
|
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;
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,aAAa,EAGb,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,MAAM,
|
|
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,
|
|
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"}
|
package/dist/knowledge/pi.js
CHANGED
|
@@ -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: [
|
|
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",
|
package/dist/knowledge/pi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/knowledge/pi.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAA0B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE5E,MAAM,CAAC,MAAM,KAAK,GAAsB,UAAU,CAAC;IACjD,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,eAAe,EAAE,QAAQ;IACzB,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,iCAAiC,EAAE;IAC1E,MAAM,EAAE;QACN,mEAAmE;QACnE,oEAAoE;QACpE,oEAAoE;QACpE,yDAAyD;QACzD,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;QACnC,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,cAAc;KACvB;IACD,MAAM,EAAE;QACN,uEAAuE;QACvE,qEAAqE;QACrE,yDAAyD;QACzD,2EAA2E;QAC3E,yEAAyE;QACzE,oEAAoE;QACpE,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,6BAA6B;QAC7B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;KACrC;IACD,yEAAyE;IACzE,oDAAoD;IACpD,oEAAoE;IACpE,wEAAwE;IACxE,sEAAsE;IACtE,oEAAoE;IACpE,uEAAuE;IACvE,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;QACxB,oEAAoE;QACpE,mEAAmE;QACnE,qDAAqD;QACrD,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;QAClC,aAAa,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;KACxC;IACD,MAAM,EAAE;QACN,mEAAmE;QACnE,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QAC3D,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,EAAE;KAChB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE,iBAAiB;QAC5B,wEAAwE;QACxE,0EAA0E;QAC1E,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACxD;IACD,aAAa,EAAE,CAAC,GAAG,qBAAqB,CAAC;IACzC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/knowledge/pi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
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
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
84
|
-
no default
|
|
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
|
package/src/cli/inspect.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
186
|
-
|
|
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
|
-
|
|
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;
|