agentfootprint 9.52.0 → 9.53.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 (88) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +4 -1
  3. package/ai-instructions/claude-code/SKILL.md +1 -1
  4. package/bin/agentfootprint-check-semantics.mjs +14 -0
  5. package/dist/core/agent/coverage/read.js +13 -0
  6. package/dist/core/agent/coverage/read.js.map +1 -1
  7. package/dist/core/agent/stages/toolCalls.js +95 -4
  8. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  9. package/dist/core/tools.js +25 -1
  10. package/dist/core/tools.js.map +1 -1
  11. package/dist/debug.js +14 -3
  12. package/dist/debug.js.map +1 -1
  13. package/dist/esm/core/agent/coverage/read.js +13 -0
  14. package/dist/esm/core/agent/coverage/read.js.map +1 -1
  15. package/dist/esm/core/agent/stages/toolCalls.js +95 -4
  16. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  17. package/dist/esm/core/tools.d.ts +24 -0
  18. package/dist/esm/core/tools.js +23 -0
  19. package/dist/esm/core/tools.js.map +1 -1
  20. package/dist/esm/debug.d.ts +1 -0
  21. package/dist/esm/debug.js +7 -0
  22. package/dist/esm/debug.js.map +1 -1
  23. package/dist/esm/events/payloads.d.ts +20 -0
  24. package/dist/esm/events/registry.d.ts +3 -1
  25. package/dist/esm/events/registry.js +2 -0
  26. package/dist/esm/events/registry.js.map +1 -1
  27. package/dist/esm/index.d.ts +2 -1
  28. package/dist/esm/index.js +11 -1
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/lib/semantics/check.d.ts +70 -0
  31. package/dist/esm/lib/semantics/check.js +154 -0
  32. package/dist/esm/lib/semantics/check.js.map +1 -0
  33. package/dist/esm/lib/semantics/cli.d.ts +40 -0
  34. package/dist/esm/lib/semantics/cli.js +148 -0
  35. package/dist/esm/lib/semantics/cli.js.map +1 -0
  36. package/dist/esm/lib/semantics/envelope.d.ts +139 -0
  37. package/dist/esm/lib/semantics/envelope.js +592 -0
  38. package/dist/esm/lib/semantics/envelope.js.map +1 -0
  39. package/dist/esm/lib/semantics/format.d.ts +11 -0
  40. package/dist/esm/lib/semantics/format.js +33 -0
  41. package/dist/esm/lib/semantics/format.js.map +1 -0
  42. package/dist/esm/lib/semantics/index.d.ts +14 -0
  43. package/dist/esm/lib/semantics/index.js +15 -0
  44. package/dist/esm/lib/semantics/index.js.map +1 -0
  45. package/dist/esm/lib/semantics/types.d.ts +230 -0
  46. package/dist/esm/lib/semantics/types.js +71 -0
  47. package/dist/esm/lib/semantics/types.js.map +1 -0
  48. package/dist/events/registry.js +2 -0
  49. package/dist/events/registry.js.map +1 -1
  50. package/dist/index.js +65 -44
  51. package/dist/index.js.map +1 -1
  52. package/dist/lib/semantics/check.js +158 -0
  53. package/dist/lib/semantics/check.js.map +1 -0
  54. package/dist/lib/semantics/cli.js +176 -0
  55. package/dist/lib/semantics/cli.js.map +1 -0
  56. package/dist/lib/semantics/envelope.js +603 -0
  57. package/dist/lib/semantics/envelope.js.map +1 -0
  58. package/dist/lib/semantics/format.js +37 -0
  59. package/dist/lib/semantics/format.js.map +1 -0
  60. package/dist/lib/semantics/index.js +34 -0
  61. package/dist/lib/semantics/index.js.map +1 -0
  62. package/dist/lib/semantics/types.js +74 -0
  63. package/dist/lib/semantics/types.js.map +1 -0
  64. package/dist/types/core/agent/coverage/read.d.ts.map +1 -1
  65. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  66. package/dist/types/core/tools.d.ts +24 -0
  67. package/dist/types/core/tools.d.ts.map +1 -1
  68. package/dist/types/debug.d.ts +1 -0
  69. package/dist/types/debug.d.ts.map +1 -1
  70. package/dist/types/events/payloads.d.ts +20 -0
  71. package/dist/types/events/payloads.d.ts.map +1 -1
  72. package/dist/types/events/registry.d.ts +3 -1
  73. package/dist/types/events/registry.d.ts.map +1 -1
  74. package/dist/types/index.d.ts +2 -1
  75. package/dist/types/index.d.ts.map +1 -1
  76. package/dist/types/lib/semantics/check.d.ts +71 -0
  77. package/dist/types/lib/semantics/check.d.ts.map +1 -0
  78. package/dist/types/lib/semantics/cli.d.ts +41 -0
  79. package/dist/types/lib/semantics/cli.d.ts.map +1 -0
  80. package/dist/types/lib/semantics/envelope.d.ts +140 -0
  81. package/dist/types/lib/semantics/envelope.d.ts.map +1 -0
  82. package/dist/types/lib/semantics/format.d.ts +12 -0
  83. package/dist/types/lib/semantics/format.d.ts.map +1 -0
  84. package/dist/types/lib/semantics/index.d.ts +15 -0
  85. package/dist/types/lib/semantics/index.d.ts.map +1 -0
  86. package/dist/types/lib/semantics/types.d.ts +231 -0
  87. package/dist/types/lib/semantics/types.d.ts.map +1 -0
  88. package/package.json +2 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ /**
3
+ * semantics/check — the `check:semantics` gate core (9.53.0).
4
+ *
5
+ * Pattern: humble shell (the tool-lint precedent) — ALL behavior lives here,
6
+ * unit-tested; `bin/agentfootprint-check-semantics.mjs` only resolves
7
+ * the built module and maps the exit code. Consumers wire the bin
8
+ * into their own `check:` scripts beside `check:tools`.
9
+ * Role: lib/ layer, pure. Judges SAMPLE RESULTS against the semantic
10
+ * vocabulary and the per-class rules; never executes a tool, never
11
+ * touches a network — the samples come from the consumer's own mock
12
+ * tools or fixtures, the same way `check:tools` receives a dumped
13
+ * catalog.
14
+ * Emits: N/A.
15
+ *
16
+ * ## Severity follows provability (the skillGraph check-up law)
17
+ *
18
+ * Only what the declaration PROVES wrong is an error:
19
+ *
20
+ * • a `'triage'` / `'inventory'` tool whose sample result declares no
21
+ * coverage — the CLASS declared the requirement, the sample violates it;
22
+ * • a marker-bearing envelope with faults (series without grain, data
23
+ * without provenance, a counter-looking aggregation with `is_counter`
24
+ * unstated, malformed shapes) — the marker declared the vocabulary, the
25
+ * shape violates it.
26
+ *
27
+ * Everything else warns: a classed tool with NO samples (the gate cannot
28
+ * check what it cannot see — but silence must not read as a pass), and an
29
+ * inventory whose facts carry no render hint (useful, not provably harmful).
30
+ */
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.checkSemantics = void 0;
33
+ const read_js_1 = require("../../core/agent/coverage/read.js");
34
+ const envelope_js_1 = require("./envelope.js");
35
+ const types_js_1 = require("./types.js");
36
+ const isPlainObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
37
+ /** True when a result states its boundary through ANY recognized door: a
38
+ * semantic envelope with `coverage`, a `coverage()` ledger, or an
39
+ * `absent()` (whose `checked` IS its coverage). */
40
+ function declaresCoverage(result) {
41
+ const sem = (0, envelope_js_1.readSemantics)(result);
42
+ if (sem !== undefined)
43
+ return sem.coverage !== undefined;
44
+ return (0, read_js_1.readCoverageResult)(result) !== undefined;
45
+ }
46
+ function classCoverageFinding(entry, resultIndex) {
47
+ const cls = entry.resultClass;
48
+ return {
49
+ tool: entry.name,
50
+ code: cls === 'triage' ? 'triage-without-coverage' : 'inventory-without-coverage',
51
+ severity: 'error',
52
+ field: 'coverage',
53
+ resultIndex,
54
+ message: `tool '${entry.name}' is declared '${cls}' but sample result ${resultIndex + 1} ` +
55
+ `declares no coverage — field \`coverage\` is required on every ${cls} result. ` +
56
+ (cls === 'triage'
57
+ ? `A triage that cannot say what it did NOT check turns "everything looks fine" into ` +
58
+ `a claim about ground it never stood on. `
59
+ : `An inventory that cannot say which population it covered ("4 of 5 clusters") reads ` +
60
+ `as the whole fleet. `) +
61
+ `Return semantic({ …, coverage: { checked, notChecked, cannotCover } }), or coverage(result, …), ` +
62
+ `or absent({ … }) when nothing was found.`,
63
+ };
64
+ }
65
+ /**
66
+ * Judge a semantics catalog. Pure; throws only on a malformed CATALOG (a
67
+ * definition-side mistake — the CLI maps it to exit code 2), never on a
68
+ * malformed RESULT (that is a finding, the thing this gate exists to report).
69
+ */
70
+ function checkSemantics(entries) {
71
+ if (!Array.isArray(entries)) {
72
+ throw new Error('checkSemantics: takes an array of { name, resultClass?, results } entries.');
73
+ }
74
+ const findings = [];
75
+ let checkedResults = 0;
76
+ entries.forEach((raw, entryIndex) => {
77
+ if (!isPlainObject(raw)) {
78
+ throw new Error(`checkSemantics: entries[${entryIndex}] is not an object.`);
79
+ }
80
+ const entry = raw;
81
+ if (typeof entry.name !== 'string' || entry.name.trim().length === 0) {
82
+ throw new Error(`checkSemantics: entries[${entryIndex}] has no tool name.`);
83
+ }
84
+ const cls = entry.resultClass;
85
+ if (cls !== undefined && !types_js_1.RESULT_CLASSES.includes(cls)) {
86
+ throw new Error(`checkSemantics: tool '${entry.name}' declares resultClass '${String(cls)}', which is ` +
87
+ `not a class this library has. The classes are: ${types_js_1.RESULT_CLASSES.join(', ')}. ` +
88
+ `Omit the field for a tool with no class rules.`);
89
+ }
90
+ const results = entry.results;
91
+ if (!Array.isArray(results)) {
92
+ throw new Error(`checkSemantics: tool '${entry.name}' has no \`results\` array — the gate judges ` +
93
+ `sample results; give it at least one (your mock tool's return is the natural sample).`);
94
+ }
95
+ if (cls !== undefined && results.length === 0) {
96
+ findings.push({
97
+ tool: entry.name,
98
+ code: 'unsampled-tool-class',
99
+ severity: 'warning',
100
+ field: 'results',
101
+ message: `tool '${entry.name}' is declared '${cls}' but no sample results were given — the ` +
102
+ `gate cannot check what it cannot see, and a class rule with no samples is a promise ` +
103
+ `nobody is keeping. Add one sample result (a mock return is enough).`,
104
+ });
105
+ }
106
+ results.forEach((result, resultIndex) => {
107
+ checkedResults += 1;
108
+ // A marker-bearing value with faults: every fault becomes a finding
109
+ // under the recognizer's own code, naming the field.
110
+ const issues = (0, envelope_js_1.explainSemantics)(result);
111
+ if (issues !== undefined) {
112
+ for (const issue of issues) {
113
+ findings.push({
114
+ tool: entry.name,
115
+ code: issue.code,
116
+ severity: 'error',
117
+ field: issue.field,
118
+ resultIndex,
119
+ message: `tool '${entry.name}', sample result ${resultIndex + 1}: ${issue.message}`,
120
+ });
121
+ }
122
+ // An unrecognizable envelope cannot be judged for class rules — the
123
+ // faults above are already errors, and guessing at a broken shape
124
+ // would report the same problem twice under two names.
125
+ return;
126
+ }
127
+ const sem = (0, envelope_js_1.readSemantics)(result);
128
+ // ── The class rules ──
129
+ if ((cls === 'triage' || cls === 'inventory') && !declaresCoverage(result)) {
130
+ findings.push(classCoverageFinding(entry, resultIndex));
131
+ }
132
+ if (cls === 'inventory' &&
133
+ sem !== undefined &&
134
+ sem.facts !== undefined &&
135
+ sem.render === undefined) {
136
+ findings.push({
137
+ tool: entry.name,
138
+ code: 'inventory-without-render',
139
+ severity: 'warning',
140
+ field: 'render',
141
+ resultIndex,
142
+ message: `tool '${entry.name}', sample result ${resultIndex + 1}: an inventory with ` +
143
+ `\`facts\` and no \`render\` hint — a UI can still draw the rows, but the tool ` +
144
+ `author knows the right columns and sort better than any consumer. Consider ` +
145
+ `render: { default: 'table', columns: […] }.`,
146
+ });
147
+ }
148
+ });
149
+ });
150
+ return {
151
+ ok: !findings.some((f) => f.severity === 'error'),
152
+ findings,
153
+ checkedTools: entries.length,
154
+ checkedResults,
155
+ };
156
+ }
157
+ exports.checkSemantics = checkSemantics;
158
+ //# sourceMappingURL=check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/lib/semantics/check.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;;AAEH,+DAAuE;AACvE,+CAAgE;AAChE,yCAAkE;AAgDlE,MAAM,aAAa,GAAG,CAAC,CAAU,EAAgC,EAAE,CACjE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3D;;oDAEoD;AACpD,SAAS,gBAAgB,CAAC,MAAe;IACvC,MAAM,GAAG,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC;IAClC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;IACzD,OAAO,IAAA,4BAAkB,EAAC,MAAM,CAAC,KAAK,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA4B,EAAE,WAAmB;IAC7E,MAAM,GAAG,GAAG,KAAK,CAAC,WAAqC,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,4BAA4B;QACjF,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW;QACX,OAAO,EACL,SAAS,KAAK,CAAC,IAAI,kBAAkB,GAAG,uBAAuB,WAAW,GAAG,CAAC,GAAG;YACjF,kEAAkE,GAAG,WAAW;YAChF,CAAC,GAAG,KAAK,QAAQ;gBACf,CAAC,CAAC,oFAAoF;oBACpF,0CAA0C;gBAC5C,CAAC,CAAC,qFAAqF;oBACrF,sBAAsB,CAAC;YAC3B,kGAAkG;YAClG,0CAA0C;KAC7C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAyC;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE;QAClC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,qBAAqB,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,KAAK,GAAG,GAAuC,CAAC;QACtD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,qBAAqB,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC;QAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,yBAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,CAAC,IAAI,2BAA2B,MAAM,CAAC,GAAG,CAAC,cAAc;gBACrF,kDAAkD,yBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC/E,gDAAgD,CACnD,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,CAAC,IAAI,+CAA+C;gBAChF,uFAAuF,CAC1F,CAAC;QACJ,CAAC;QAED,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,SAAS;gBAChB,OAAO,EACL,SAAS,KAAK,CAAC,IAAI,kBAAkB,GAAG,2CAA2C;oBACnF,sFAAsF;oBACtF,qEAAqE;aACxE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;YACtC,cAAc,IAAI,CAAC,CAAC;YAEpB,oEAAoE;YACpE,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,QAAQ,EAAE,OAAO;wBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,WAAW;wBACX,OAAO,EAAE,SAAS,KAAK,CAAC,IAAI,oBAAoB,WAAW,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE;qBACpF,CAAC,CAAC;gBACL,CAAC;gBACD,oEAAoE;gBACpE,kEAAkE;gBAClE,uDAAuD;gBACvD,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,IAAA,2BAAa,EAAC,MAAM,CAAC,CAAC;YAElC,wBAAwB;YACxB,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3E,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,IACE,GAAG,KAAK,WAAW;gBACnB,GAAG,KAAK,SAAS;gBACjB,GAAG,CAAC,KAAK,KAAK,SAAS;gBACvB,GAAG,CAAC,MAAM,KAAK,SAAS,EACxB,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,0BAA0B;oBAChC,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,QAAQ;oBACf,WAAW;oBACX,OAAO,EACL,SAAS,KAAK,CAAC,IAAI,oBAAoB,WAAW,GAAG,CAAC,sBAAsB;wBAC5E,gFAAgF;wBAChF,6EAA6E;wBAC7E,6CAA6C;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;QACjD,QAAQ;QACR,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,cAAc;KACf,CAAC;AACJ,CAAC;AArGD,wCAqGC"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * check:semantics CLI core (9.53.0 — the build gate).
4
+ *
5
+ * Pattern: humble shell (the tool-lint `cli.ts` precedent) —
6
+ * `bin/agentfootprint-check-semantics.mjs` is a 2-line wrapper;
7
+ * ALL behavior (arg parsing, catalog coercion, report, exit code)
8
+ * lives here so it is unit-testable without spawning a process.
9
+ * Role: `src/lib/semantics/`. Reads ONE JSON file of tools + sample
10
+ * results, prints a report, returns the process exit code:
11
+ * 0 — report.ok (and, under --strict, zero warnings)
12
+ * 1 — findings failed the gate
13
+ * 2 — usage / input error (bad flags, unreadable file,
14
+ * unrecognized JSON shape, unknown resultClass)
15
+ *
16
+ * Consumers wire it beside their other gates (the `check:tools` convention):
17
+ *
18
+ * "check:semantics": "node scripts/dump-semantics-catalog.mjs && agentfootprint-check-semantics semantics-catalog.json"
19
+ *
20
+ * The catalog is sample results — what your MOCK tools return — because the
21
+ * gate judges result shapes, and a build must never run tools that touch
22
+ * live systems. A mock catalog is something this ecosystem already has
23
+ * everywhere the check matters.
24
+ */
25
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
26
+ if (k2 === undefined) k2 = k;
27
+ var desc = Object.getOwnPropertyDescriptor(m, k);
28
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
29
+ desc = { enumerable: true, get: function() { return m[k]; } };
30
+ }
31
+ Object.defineProperty(o, k2, desc);
32
+ }) : (function(o, m, k, k2) {
33
+ if (k2 === undefined) k2 = k;
34
+ o[k2] = m[k];
35
+ }));
36
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
37
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
38
+ }) : function(o, v) {
39
+ o["default"] = v;
40
+ });
41
+ var __importStar = (this && this.__importStar) || function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.runCheckSemanticsCli = exports.coerceSemanticsCatalog = void 0;
50
+ const check_js_1 = require("./check.js");
51
+ const format_js_1 = require("./format.js");
52
+ const types_js_1 = require("./types.js");
53
+ const USAGE = `usage: agentfootprint-check-semantics <semantics-catalog.json> [options]
54
+
55
+ <semantics-catalog.json> JSON file of tools + sample results. Accepted shapes:
56
+ [{ name, resultClass?, results: [...] }]
57
+ [{ name, resultClass?, result: ... }] (single sample)
58
+ { tools: [...] } (either row shape)
59
+
60
+ resultClass ∈ { ${types_js_1.RESULT_CLASSES.join(', ')} } — the class
61
+ declared on defineTool({ resultClass }); omit for tools
62
+ with no class rules (envelope rules still apply).
63
+
64
+ --strict warnings also fail the gate
65
+ --json print the full report as JSON instead of text
66
+
67
+ exit codes: 0 ok · 1 findings failed the gate · 2 usage/input error`;
68
+ /**
69
+ * Normalize the accepted JSON shapes to the checker's catalog. Throws (with
70
+ * a shape description) on unrecognized input — the CLI maps that to exit
71
+ * code 2. `resultClass` values are passed through untouched; the checker is
72
+ * the one owner of the closed-set refusal.
73
+ */
74
+ function coerceSemanticsCatalog(json) {
75
+ const list = Array.isArray(json)
76
+ ? json
77
+ : json !== null &&
78
+ typeof json === 'object' &&
79
+ Array.isArray(json.tools)
80
+ ? json.tools
81
+ : undefined;
82
+ if (list === undefined) {
83
+ throw new Error('expected a JSON array of { name, resultClass?, results } rows or { tools: [...] }');
84
+ }
85
+ return list.map((raw, index) => {
86
+ if (raw === null || typeof raw !== 'object' || Array.isArray(raw)) {
87
+ throw new Error(`tools[${index}] is not an object`);
88
+ }
89
+ const entry = raw;
90
+ const name = entry.name;
91
+ if (typeof name !== 'string' || name.length === 0) {
92
+ throw new Error(`tools[${index}] has no string 'name'`);
93
+ }
94
+ const results = Array.isArray(entry.results)
95
+ ? entry.results
96
+ : 'result' in entry
97
+ ? [entry.result]
98
+ : undefined;
99
+ if (results === undefined) {
100
+ throw new Error(`tools[${index}] ('${name}') has neither 'results' (an array of sample results) nor ` +
101
+ `'result' (one sample) — the gate judges sample results; a mock tool's return is ` +
102
+ `the natural sample.`);
103
+ }
104
+ return {
105
+ name,
106
+ ...(entry.resultClass !== undefined
107
+ ? { resultClass: entry.resultClass }
108
+ : {}),
109
+ results,
110
+ };
111
+ });
112
+ }
113
+ exports.coerceSemanticsCatalog = coerceSemanticsCatalog;
114
+ /**
115
+ * Run the gate CLI. Returns the exit code (never calls `process.exit` — the
116
+ * bin wrapper assigns it to `process.exitCode`).
117
+ */
118
+ async function runCheckSemanticsCli(argv, io = {
119
+ // eslint-disable-next-line no-console
120
+ stdout: (line) => console.log(line),
121
+ // eslint-disable-next-line no-console
122
+ stderr: (line) => console.error(line),
123
+ }) {
124
+ let file;
125
+ let strict = false;
126
+ let json = false;
127
+ for (const arg of argv) {
128
+ if (arg === '--strict')
129
+ strict = true;
130
+ else if (arg === '--json')
131
+ json = true;
132
+ else if (arg === '--help' || arg === '-h') {
133
+ io.stderr(USAGE);
134
+ return 2;
135
+ }
136
+ else if (arg.startsWith('-')) {
137
+ io.stderr(`unknown flag '${arg}'\n\n${USAGE}`);
138
+ return 2;
139
+ }
140
+ else if (file === undefined)
141
+ file = arg;
142
+ else {
143
+ io.stderr(`unexpected extra argument '${arg}'\n\n${USAGE}`);
144
+ return 2;
145
+ }
146
+ }
147
+ if (file === undefined) {
148
+ io.stderr(USAGE);
149
+ return 2;
150
+ }
151
+ let report;
152
+ try {
153
+ // Lazy node:fs import (browser-compat — the tool-lint precedent):
154
+ // `agentfootprint/observe` re-exports this module, and a top-level
155
+ // node:fs import detonates a browser bundle at module-eval. The CLI
156
+ // path is the only consumer that touches the filesystem.
157
+ const { readFile } = await Promise.resolve().then(() => __importStar(require('node:fs/promises')));
158
+ const catalog = coerceSemanticsCatalog(JSON.parse(await readFile(file, 'utf8')));
159
+ report = (0, check_js_1.checkSemantics)(catalog);
160
+ }
161
+ catch (error) {
162
+ io.stderr(`agentfootprint-check-semantics: ${file}: ${error.message}`);
163
+ return 2;
164
+ }
165
+ if (json)
166
+ io.stdout(JSON.stringify(report, null, 2));
167
+ else
168
+ io.stdout((0, format_js_1.formatSemanticsReport)(report));
169
+ if (!report.ok)
170
+ return 1;
171
+ if (strict && report.findings.length > 0)
172
+ return 1;
173
+ return 0;
174
+ }
175
+ exports.runCheckSemanticsCli = runCheckSemanticsCli;
176
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/lib/semantics/cli.ts"],"names":[],"mappings":"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"}