agentfootprint 9.97.0 → 9.98.1

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 (136) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/dist/artifacts/datasetResult.js +119 -0
  3. package/dist/artifacts/datasetResult.js.map +1 -0
  4. package/dist/artifacts/index.js +4 -1
  5. package/dist/artifacts/index.js.map +1 -1
  6. package/dist/conventions.js +10 -0
  7. package/dist/conventions.js.map +1 -1
  8. package/dist/core/agent/buildAgentChart.js +3 -1
  9. package/dist/core/agent/buildAgentChart.js.map +1 -1
  10. package/dist/core/agent/buildAgentMessageApiChart.js +1 -1
  11. package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
  12. package/dist/core/agent/buildDynamicAgentChart.js +3 -1
  13. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  14. package/dist/esm/artifacts/datasetResult.d.ts +44 -0
  15. package/dist/esm/artifacts/datasetResult.js +114 -0
  16. package/dist/esm/artifacts/datasetResult.js.map +1 -0
  17. package/dist/esm/artifacts/index.d.ts +1 -0
  18. package/dist/esm/artifacts/index.js +1 -0
  19. package/dist/esm/artifacts/index.js.map +1 -1
  20. package/dist/esm/conventions.d.ts +2 -0
  21. package/dist/esm/conventions.js +10 -0
  22. package/dist/esm/conventions.js.map +1 -1
  23. package/dist/esm/core/agent/buildAgentChart.js +3 -1
  24. package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
  25. package/dist/esm/core/agent/buildAgentMessageApiChart.js +1 -1
  26. package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
  27. package/dist/esm/core/agent/buildDynamicAgentChart.js +3 -1
  28. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  29. package/dist/esm/index.d.ts +2 -2
  30. package/dist/esm/index.js +1 -1
  31. package/dist/esm/index.js.map +1 -1
  32. package/dist/esm/integrity/assertion/conflicts.d.ts +5 -32
  33. package/dist/esm/integrity/assertion/conflicts.js +6 -69
  34. package/dist/esm/integrity/assertion/conflicts.js.map +1 -1
  35. package/dist/esm/integrity/assertion/types.d.ts +8 -69
  36. package/dist/esm/integrity/assertion/types.js +0 -0
  37. package/dist/esm/integrity/assertion/types.js.map +1 -1
  38. package/dist/esm/lib/injection-engine/factories/defineMenuHint.js +3 -5
  39. package/dist/esm/lib/injection-engine/factories/defineMenuHint.js.map +1 -1
  40. package/dist/esm/lib/injection-engine/skillToolDescriptors.d.ts +4 -2
  41. package/dist/esm/lib/injection-engine/skillToolDescriptors.js +17 -8
  42. package/dist/esm/lib/injection-engine/skillToolDescriptors.js.map +1 -1
  43. package/dist/esm/lib/mcp/mcpClient.js +5 -97
  44. package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
  45. package/dist/esm/lib/mcp/mockMcpClient.d.ts +8 -4
  46. package/dist/esm/lib/mcp/mockMcpClient.js +6 -5
  47. package/dist/esm/lib/mcp/mockMcpClient.js.map +1 -1
  48. package/dist/esm/lib/mcp/toolResult.d.ts +8 -0
  49. package/dist/esm/lib/mcp/toolResult.js +244 -0
  50. package/dist/esm/lib/mcp/toolResult.js.map +1 -0
  51. package/dist/esm/lib/mcp/types.d.ts +15 -0
  52. package/dist/esm/lib/semantics/check.d.ts +7 -1
  53. package/dist/esm/lib/semantics/check.js +16 -0
  54. package/dist/esm/lib/semantics/check.js.map +1 -1
  55. package/dist/esm/lib/semantics/cli.js +3 -0
  56. package/dist/esm/lib/semantics/cli.js.map +1 -1
  57. package/dist/esm/lib/semantics/projection.d.ts +15 -0
  58. package/dist/esm/lib/semantics/projection.js +186 -0
  59. package/dist/esm/lib/semantics/projection.js.map +1 -0
  60. package/dist/esm/lib/time-travel/index.d.ts +1 -1
  61. package/dist/esm/lib/time-travel/index.js.map +1 -1
  62. package/dist/esm/lib/time-travel/receipt.d.ts +5 -0
  63. package/dist/esm/lib/time-travel/receipt.js +2 -0
  64. package/dist/esm/lib/time-travel/receipt.js.map +1 -1
  65. package/dist/esm/lib/time-travel/requestMeasurement.d.ts +33 -0
  66. package/dist/esm/lib/time-travel/requestMeasurement.js +120 -0
  67. package/dist/esm/lib/time-travel/requestMeasurement.js.map +1 -0
  68. package/dist/esm/lib/time-travel/servedView.js +8 -1
  69. package/dist/esm/lib/time-travel/servedView.js.map +1 -1
  70. package/dist/index.js +4 -2
  71. package/dist/index.js.map +1 -1
  72. package/dist/integrity/assertion/conflicts.js +6 -69
  73. package/dist/integrity/assertion/conflicts.js.map +1 -1
  74. package/dist/integrity/assertion/types.js +0 -0
  75. package/dist/integrity/assertion/types.js.map +1 -1
  76. package/dist/lib/injection-engine/factories/defineMenuHint.js +3 -5
  77. package/dist/lib/injection-engine/factories/defineMenuHint.js.map +1 -1
  78. package/dist/lib/injection-engine/skillToolDescriptors.js +17 -8
  79. package/dist/lib/injection-engine/skillToolDescriptors.js.map +1 -1
  80. package/dist/lib/mcp/mcpClient.js +5 -97
  81. package/dist/lib/mcp/mcpClient.js.map +1 -1
  82. package/dist/lib/mcp/mockMcpClient.js +6 -5
  83. package/dist/lib/mcp/mockMcpClient.js.map +1 -1
  84. package/dist/lib/mcp/toolResult.js +249 -0
  85. package/dist/lib/mcp/toolResult.js.map +1 -0
  86. package/dist/lib/semantics/check.js +16 -0
  87. package/dist/lib/semantics/check.js.map +1 -1
  88. package/dist/lib/semantics/cli.js +3 -0
  89. package/dist/lib/semantics/cli.js.map +1 -1
  90. package/dist/lib/semantics/projection.js +191 -0
  91. package/dist/lib/semantics/projection.js.map +1 -0
  92. package/dist/lib/time-travel/index.js.map +1 -1
  93. package/dist/lib/time-travel/receipt.js +2 -0
  94. package/dist/lib/time-travel/receipt.js.map +1 -1
  95. package/dist/lib/time-travel/requestMeasurement.js +124 -0
  96. package/dist/lib/time-travel/requestMeasurement.js.map +1 -0
  97. package/dist/lib/time-travel/servedView.js +8 -1
  98. package/dist/lib/time-travel/servedView.js.map +1 -1
  99. package/dist/types/artifacts/datasetResult.d.ts +45 -0
  100. package/dist/types/artifacts/datasetResult.d.ts.map +1 -0
  101. package/dist/types/artifacts/index.d.ts +1 -0
  102. package/dist/types/artifacts/index.d.ts.map +1 -1
  103. package/dist/types/conventions.d.ts +2 -0
  104. package/dist/types/conventions.d.ts.map +1 -1
  105. package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
  106. package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
  107. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  108. package/dist/types/index.d.ts +2 -2
  109. package/dist/types/index.d.ts.map +1 -1
  110. package/dist/types/integrity/assertion/conflicts.d.ts +5 -32
  111. package/dist/types/integrity/assertion/conflicts.d.ts.map +1 -1
  112. package/dist/types/integrity/assertion/types.d.ts +8 -69
  113. package/dist/types/integrity/assertion/types.d.ts.map +1 -1
  114. package/dist/types/lib/injection-engine/factories/defineMenuHint.d.ts.map +1 -1
  115. package/dist/types/lib/injection-engine/skillToolDescriptors.d.ts +4 -2
  116. package/dist/types/lib/injection-engine/skillToolDescriptors.d.ts.map +1 -1
  117. package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
  118. package/dist/types/lib/mcp/mockMcpClient.d.ts +8 -4
  119. package/dist/types/lib/mcp/mockMcpClient.d.ts.map +1 -1
  120. package/dist/types/lib/mcp/toolResult.d.ts +9 -0
  121. package/dist/types/lib/mcp/toolResult.d.ts.map +1 -0
  122. package/dist/types/lib/mcp/types.d.ts +15 -0
  123. package/dist/types/lib/mcp/types.d.ts.map +1 -1
  124. package/dist/types/lib/semantics/check.d.ts +7 -1
  125. package/dist/types/lib/semantics/check.d.ts.map +1 -1
  126. package/dist/types/lib/semantics/cli.d.ts.map +1 -1
  127. package/dist/types/lib/semantics/projection.d.ts +16 -0
  128. package/dist/types/lib/semantics/projection.d.ts.map +1 -0
  129. package/dist/types/lib/time-travel/index.d.ts +1 -1
  130. package/dist/types/lib/time-travel/index.d.ts.map +1 -1
  131. package/dist/types/lib/time-travel/receipt.d.ts +5 -0
  132. package/dist/types/lib/time-travel/receipt.d.ts.map +1 -1
  133. package/dist/types/lib/time-travel/requestMeasurement.d.ts +34 -0
  134. package/dist/types/lib/time-travel/requestMeasurement.d.ts.map +1 -0
  135. package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
  136. package/package.json +6 -2
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readToolResult = exports.resultModeOf = void 0;
4
+ /** Validate before opening a transport; a misspelled opt-in must not disappear. */
5
+ function resultModeOf(value, name) {
6
+ if (value === undefined)
7
+ return 'text';
8
+ if (value === 'text' || value === 'structured' || value === 'structured-or-json')
9
+ return value;
10
+ throw new Error(`mcpClient[${name}]: resultMode must be 'text', 'structured' or 'structured-or-json'.`);
11
+ }
12
+ exports.resultModeOf = resultModeOf;
13
+ /** Internal shared decoder for the real connection and curated mock. */
14
+ function readToolResult(result, toolName, serverName, mode = 'text') {
15
+ if (mode === 'text')
16
+ return readTextResult(result, toolName, serverName);
17
+ const prefix = `MCP tool '${toolName}' (server '${serverName}')`;
18
+ const invalid = () => new Error(`${prefix} did not provide valid structuredContent. ` +
19
+ (mode === 'structured-or-json'
20
+ ? 'Expected a JSON object in structuredContent or, when absent, exactly one JSON-object text block. '
21
+ : 'Expected a JSON object in structuredContent. ') +
22
+ 'Malformed, cyclic or over-limit data is refused; result data is not included in this error.');
23
+ if (typeof result !== 'object' || result === null)
24
+ throw invalid();
25
+ // Error status belongs to the tool, even if it also returned a usable object
26
+ // or a legacy arm. Never launder a failed call into successful data.
27
+ let isError;
28
+ try {
29
+ isError = ownValue(result, 'isError');
30
+ }
31
+ catch {
32
+ throw invalid();
33
+ }
34
+ if (isError === true) {
35
+ const diagnostic = errorDiagnostic(result);
36
+ throw new Error(diagnostic === undefined
37
+ ? `${prefix} returned an error; its structured result was not read.`
38
+ : `${prefix} returned an error: ${diagnostic}`);
39
+ }
40
+ try {
41
+ const structured = Object.getOwnPropertyDescriptor(result, 'structuredContent');
42
+ if (structured !== undefined) {
43
+ if (!('value' in structured) || !jsonObject(structured.value))
44
+ throw invalid();
45
+ return structured.value;
46
+ }
47
+ if (mode !== 'structured-or-json')
48
+ throw invalid();
49
+ const content = ownValue(result, 'content');
50
+ if (!Array.isArray(content) || content.length !== 1)
51
+ throw invalid();
52
+ const block = ownValue(content, '0');
53
+ if (typeof block !== 'object' || block === null || ownValue(block, 'type') !== 'text')
54
+ throw invalid();
55
+ const text = ownValue(block, 'text');
56
+ if (typeof text !== 'string' || text.length > 16_000_000)
57
+ throw invalid();
58
+ const parsed = JSON.parse(text);
59
+ if (!jsonObject(parsed))
60
+ throw invalid();
61
+ return parsed;
62
+ }
63
+ catch {
64
+ // Parser and getter exceptions may echo source bytes. Keep the refusal
65
+ // authored here rather than forwarding arbitrary transport payloads.
66
+ throw invalid();
67
+ }
68
+ }
69
+ exports.readToolResult = readToolResult;
70
+ /** Tool-authored error text is corrective evidence, not a successful result.
71
+ * Read only own data properties; never inspect structuredContent, invoke a
72
+ * getter/toJSON or stringify a non-string diagnostic. Over-limit/malformed
73
+ * diagnostics use the generic refusal rather than partial advice. */
74
+ function errorDiagnostic(result) {
75
+ try {
76
+ const content = ownValue(result, 'content');
77
+ if (!Array.isArray(content))
78
+ return undefined;
79
+ const length = ownValue(content, 'length');
80
+ if (typeof length !== 'number' || length < 1 || length > 32)
81
+ return undefined;
82
+ const texts = [];
83
+ let chars = 0;
84
+ for (let index = 0; index < length; index++) {
85
+ const block = ownValue(content, String(index));
86
+ if (typeof block !== 'object' || block === null || ownValue(block, 'type') !== 'text')
87
+ return undefined;
88
+ const text = ownValue(block, 'text');
89
+ if (typeof text !== 'string')
90
+ return undefined;
91
+ chars += text.length + (index === 0 ? 0 : 1);
92
+ if (chars > 8_192)
93
+ return undefined;
94
+ texts.push(text);
95
+ }
96
+ const diagnostic = texts.join('\n');
97
+ return diagnostic.trim() ? diagnostic : undefined;
98
+ }
99
+ catch {
100
+ return undefined;
101
+ }
102
+ }
103
+ function ownValue(value, key) {
104
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
105
+ if (descriptor !== undefined && !('value' in descriptor))
106
+ throw new Error('Accessor is not JSON data');
107
+ return descriptor?.value;
108
+ }
109
+ /** Validate the JSON data domain without invoking toJSON/getters, converting
110
+ * unknown to null or dropping unsupported fields. No clone or normalization. */
111
+ function jsonObject(value) {
112
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
113
+ return false;
114
+ const ancestors = new Set();
115
+ let visited = 0;
116
+ function visit(item, depth) {
117
+ if (++visited > 1_000_000)
118
+ return false;
119
+ if (item === null || typeof item === 'string' || typeof item === 'boolean')
120
+ return true;
121
+ if (typeof item === 'number')
122
+ return Number.isFinite(item);
123
+ if (typeof item !== 'object' || depth >= 64 || ancestors.has(item))
124
+ return false;
125
+ const array = Array.isArray(item);
126
+ const prototype = Object.getPrototypeOf(item);
127
+ if (array ? prototype !== Array.prototype : prototype !== Object.prototype && prototype !== null)
128
+ return false;
129
+ ancestors.add(item);
130
+ try {
131
+ const keys = Reflect.ownKeys(item);
132
+ if (array && keys.length !== item.length + 1)
133
+ return false;
134
+ for (const key of keys) {
135
+ if (array && key === 'length')
136
+ continue;
137
+ if (typeof key !== 'string')
138
+ return false;
139
+ if (array && (!/^(0|[1-9]\d*)$/.test(key) || Number(key) >= item.length))
140
+ return false;
141
+ const descriptor = Object.getOwnPropertyDescriptor(item, key);
142
+ if (!descriptor.enumerable ||
143
+ !('value' in descriptor) ||
144
+ !visit(descriptor.value, depth + 1))
145
+ return false;
146
+ }
147
+ return true;
148
+ }
149
+ finally {
150
+ ancestors.delete(item);
151
+ }
152
+ }
153
+ return visit(value, 0);
154
+ }
155
+ // ─── Reading a tools/call answer (both arms of the protocol) ───────
156
+ /**
157
+ * Turn a `tools/call` answer into the text the agent hands the model.
158
+ *
159
+ * Three cases, because the protocol has three and pretending otherwise is what
160
+ * broke on a server that answered the old way:
161
+ *
162
+ * 1. **content blocks** — today's shape. Text blocks are concatenated;
163
+ * non-text blocks (images, resources) are summarized with their type.
164
+ * `isError: true` becomes a thrown tool error, exactly as before.
165
+ * 2. **`toolResult`** — the 2024-10-07 shape, which carries no `content` and
166
+ * no `isError`. The value BECOMES the tool text: a string verbatim,
167
+ * anything else JSON-stringified. That conversion is stated here and in
168
+ * the docs rather than left to be inferred from a mangled answer.
169
+ * 3. **neither** — a corrective error naming the SHAPE that arrived (its
170
+ * type, or its keys) and never the payload: an unrecognised answer is
171
+ * still somebody's data, and a tool error is read by the model.
172
+ *
173
+ * **Order matters, and here is why the legacy check runs first.** The SDK's
174
+ * default result schema declares `content` with a default of `[]`, so a legacy
175
+ * `{ toolResult }` payload arrives here wearing an empty `content` it never
176
+ * sent. Reading that array first would answer a real result with an empty
177
+ * string — the same silence in a friendlier coat. So a `toolResult` beside an
178
+ * EMPTY `content` is read as the legacy answer it is. A NON-empty `content`
179
+ * always wins: a server that sent blocks meant the blocks.
180
+ */
181
+ function readTextResult(result, toolName, serverName) {
182
+ if (isLegacyResult(result) && !hasNonEmptyContent(result)) {
183
+ return stringifyLegacyResult(result.toolResult);
184
+ }
185
+ if (hasContentBlocks(result)) {
186
+ const text = result.content
187
+ .map((c) => (c.type === 'text' && c.text ? c.text : `[${c.type}]`))
188
+ .join('\n');
189
+ if (result.isError) {
190
+ throw new Error(`MCP tool '${toolName}' (server '${serverName}') returned an error: ${text}`);
191
+ }
192
+ return text;
193
+ }
194
+ throw new Error(`MCP tool '${toolName}' (server '${serverName}') answered with a shape this client does ` +
195
+ `not understand: ${describeShape(result)}. A tools/call result carries either 'content' ` +
196
+ `blocks or a legacy 'toolResult'; this had neither.`);
197
+ }
198
+ /**
199
+ * The current arm. Checked on the wire value, not on the declared type — and
200
+ * defensively, because a `null` or a scalar is exactly the kind of answer that
201
+ * has to reach the corrective error rather than crash on the way to it.
202
+ */
203
+ function hasContentBlocks(result) {
204
+ return Array.isArray(contentOf(result));
205
+ }
206
+ /** Blocks the server actually sent, as opposed to the schema's default `[]`. */
207
+ function hasNonEmptyContent(result) {
208
+ const content = contentOf(result);
209
+ return Array.isArray(content) && content.length > 0;
210
+ }
211
+ function contentOf(result) {
212
+ if (typeof result !== 'object' || result === null)
213
+ return undefined;
214
+ return result.content;
215
+ }
216
+ /** The 2024-10-07 arm — the key's PRESENCE is the signal; its value may be anything. */
217
+ function isLegacyResult(result) {
218
+ return typeof result === 'object' && result !== null && 'toolResult' in result;
219
+ }
220
+ /** A legacy `toolResult` as tool text: a string verbatim, anything else as JSON. */
221
+ function stringifyLegacyResult(value) {
222
+ if (typeof value === 'string')
223
+ return value;
224
+ if (value === undefined)
225
+ return '';
226
+ try {
227
+ return JSON.stringify(value) ?? String(value);
228
+ }
229
+ catch {
230
+ // Circular or otherwise unserializable — say what we can rather than
231
+ // throwing from a path whose whole job is to report an answer.
232
+ return String(value);
233
+ }
234
+ }
235
+ /** Name a value's SHAPE for an error message. Never its contents. */
236
+ function describeShape(value) {
237
+ if (value === null)
238
+ return 'null';
239
+ if (Array.isArray(value))
240
+ return `an array of ${value.length} item(s)`;
241
+ if (typeof value !== 'object')
242
+ return `a ${typeof value}`;
243
+ const keys = Object.keys(value);
244
+ if (keys.length === 0)
245
+ return 'an object with no keys';
246
+ const shown = keys.slice(0, 8);
247
+ return `an object with keys [${shown.join(', ')}${keys.length > shown.length ? ', …' : ''}]`;
248
+ }
249
+ //# sourceMappingURL=toolResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolResult.js","sourceRoot":"","sources":["../../../src/lib/mcp/toolResult.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ exports.checkSemantics = void 0;
33
33
  const read_js_1 = require("../../core/agent/coverage/read.js");
34
34
  const envelope_js_1 = require("./envelope.js");
35
35
  const types_js_1 = require("./types.js");
36
+ const projection_js_1 = require("./projection.js");
36
37
  const isPlainObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
37
38
  /** True when a result states its boundary through ANY recognized door: a
38
39
  * semantic envelope with `coverage`, a `coverage()` ledger, or an
@@ -103,6 +104,21 @@ function checkSemantics(entries) {
103
104
  `nobody is keeping. Add one sample result (a mock return is enough).`,
104
105
  });
105
106
  }
107
+ if (entry.projections !== undefined) {
108
+ if (!Array.isArray(entry.projections))
109
+ throw new Error(`checkSemantics: tool '${entry.name}' projections must be an array of { before, after } fixtures.`);
110
+ entry.projections.forEach((pair, index) => {
111
+ if (!isPlainObject(pair) || !Object.hasOwn(pair, 'before') || !Object.hasOwn(pair, 'after'))
112
+ throw new Error(`checkSemantics: tool '${entry.name}' projection ${index + 1} requires before and after values.`);
113
+ for (const issue of (0, projection_js_1.projectionSemanticsIssues)((0, projection_js_1.snapshotProjectionSemantics)(pair.before), pair.after))
114
+ findings.push({
115
+ tool: entry.name,
116
+ ...issue,
117
+ field: `projections[${index}].${issue.field}`,
118
+ severity: 'error',
119
+ });
120
+ });
121
+ }
106
122
  results.forEach((result, resultIndex) => {
107
123
  checkedResults += 1;
108
124
  // A marker-bearing value with faults: every fault becomes a finding
@@ -1 +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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/lib/semantics/check.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,9 @@ function coerceSemanticsCatalog(json) {
107
107
  ? { resultClass: entry.resultClass }
108
108
  : {}),
109
109
  results,
110
+ ...(entry.projections !== undefined
111
+ ? { projections: entry.projections }
112
+ : {}),
110
113
  };
111
114
  });
112
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/lib/semantics/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/lib/semantics/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.projectionSemanticsIssues = exports.snapshotProjectionSemantics = void 0;
4
+ /** Pure preservation check at the dataset adapter boundary. No fact validation or row scan. */
5
+ const absent_js_1 = require("../../core/agent/coverage/absent.js");
6
+ const ledger_js_1 = require("../../core/agent/coverage/ledger.js");
7
+ const toolEffects_js_1 = require("../../core/agent/toolEffects.js");
8
+ const types_js_1 = require("./types.js");
9
+ const own = (value, key) => {
10
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
11
+ // Native readers also recognize inherited reserved fields. Refuse those at
12
+ // this JSON boundary rather than silently treating their absence as success.
13
+ if (!descriptor && key in value)
14
+ throw new Error('Inherited metadata');
15
+ if (descriptor && !('value' in descriptor))
16
+ throw new Error('Accessor');
17
+ return descriptor?.value;
18
+ };
19
+ const object = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
20
+ const coverageKeys = ['checked', 'not_checked', 'cannot_cover', 'note'];
21
+ /** Capture before calling an adapter: it might mutate the original result.
22
+ * Only reserved declarations and the framework's documented wrapper spine are
23
+ * inspected. Raw facts/series/rows and arbitrary nested objects are not read. */
24
+ function snapshotProjectionSemantics(result) {
25
+ const fields = new Map();
26
+ const issues = [];
27
+ const visited = new Set();
28
+ let count = 0, chars = 0;
29
+ const limits = (size) => {
30
+ if (++count > 10_000 || (chars += size) > 65_536)
31
+ throw new Error('Limit');
32
+ };
33
+ function json(value, depth = 0, ancestors = new Set()) {
34
+ limits(typeof value === 'string' ? value.length : 0);
35
+ if (value === null || typeof value === 'string' || typeof value === 'boolean')
36
+ return value;
37
+ if (typeof value === 'number' && Number.isFinite(value))
38
+ return value;
39
+ if (typeof value !== 'object' || depth >= 16 || ancestors.has(value))
40
+ throw new Error('Non-JSON');
41
+ const array = Array.isArray(value);
42
+ const prototype = Object.getPrototypeOf(value);
43
+ if (array ? prototype !== Array.prototype : prototype !== Object.prototype && prototype !== null)
44
+ throw new Error('Non-JSON');
45
+ ancestors.add(value);
46
+ try {
47
+ const keys = Reflect.ownKeys(value);
48
+ if (keys.length > 10_000)
49
+ throw new Error('Limit');
50
+ if (array) {
51
+ const length = own(value, 'length');
52
+ if (keys.length !== length + 1)
53
+ throw new Error('Sparse or extra array fields');
54
+ return Array.from({ length }, (_, index) => json(own(value, String(index)), depth + 1, ancestors));
55
+ }
56
+ const copy = Object.create(null);
57
+ for (const key of keys.sort((a, b) => typeof a === 'string' && typeof b === 'string' ? (a < b ? -1 : a > b ? 1 : 0) : 0)) {
58
+ if (typeof key !== 'string')
59
+ throw new Error('Symbol');
60
+ limits(key.length);
61
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
62
+ if (!descriptor.enumerable)
63
+ throw new Error('Non-JSON');
64
+ copy[key] = json(own(value, key), depth + 1, ancestors);
65
+ }
66
+ return copy;
67
+ }
68
+ finally {
69
+ ancestors.delete(value);
70
+ }
71
+ }
72
+ const unreadable = (field) => issues.push({
73
+ code: 'projection-declaration-unreadable',
74
+ field,
75
+ message: `Dataset projection cannot preserve declaration '${field}': metadata is unreadable, non-JSON or exceeds the preservation limits.`,
76
+ });
77
+ function capture(value, key, path) {
78
+ const field = `${path}.${key}`;
79
+ try {
80
+ const original = own(value, key);
81
+ if (original !== undefined)
82
+ fields.set(field, JSON.stringify(json(original)));
83
+ }
84
+ catch {
85
+ unreadable(field);
86
+ }
87
+ }
88
+ function walk(value, path, depth) {
89
+ if (!object(value))
90
+ return;
91
+ if (visited.has(value) || depth >= 16) {
92
+ unreadable(path);
93
+ return;
94
+ }
95
+ visited.add(value);
96
+ try {
97
+ // Match the existing effect-envelope recognizer using detached metadata;
98
+ // never hand it the producer's getters or walk its content as JSON.
99
+ if ('content' in value && Array.isArray(own(value, 'effects'))) {
100
+ own(value, 'content');
101
+ const keys = Reflect.ownKeys(value);
102
+ if (keys.length > 10_000)
103
+ throw new Error('Limit');
104
+ // Native recognition uses enumerable string keys; bookkeeping symbols
105
+ // and non-enumerable fields must not hide an otherwise valid envelope.
106
+ const envelopeKeys = keys.every((key) => typeof key !== 'string' ||
107
+ !Object.getOwnPropertyDescriptor(value, key)?.enumerable ||
108
+ key === 'content' ||
109
+ key === 'effects' ||
110
+ key === 'status');
111
+ if (envelopeKeys) {
112
+ const envelope = (0, toolEffects_js_1.readToolResultEnvelope)({
113
+ content: undefined,
114
+ effects: json(own(value, 'effects')),
115
+ ...(own(value, 'status') !== undefined && { status: own(value, 'status') }),
116
+ });
117
+ if (envelope) {
118
+ capture(value, 'status', `${path}.envelope`);
119
+ capture(value, 'effects', `${path}.envelope`);
120
+ walk(own(value, 'content'), `${path}.content`, depth + 1);
121
+ return;
122
+ }
123
+ }
124
+ }
125
+ if (own(value, absent_js_1.ABSENCE_MARKER) === true) {
126
+ const checked = own(value, 'checked');
127
+ if (Array.isArray(checked) && checked.length > 0) {
128
+ for (const key of [
129
+ absent_js_1.ABSENCE_MARKER,
130
+ 'outcome',
131
+ 'looked_for',
132
+ ...coverageKeys,
133
+ 'retry_returns_the_same',
134
+ 'try_instead',
135
+ ])
136
+ capture(value, key, path);
137
+ return;
138
+ }
139
+ }
140
+ if (own(value, types_js_1.SEMANTICS_MARKER) === true) {
141
+ // This protects declarations, not semanticIssues' separate schema/data
142
+ // checks. A declared marker never licenses silently dropping metadata.
143
+ for (const key of [
144
+ types_js_1.SEMANTICS_MARKER,
145
+ 'grain',
146
+ 'provenance',
147
+ 'coverage',
148
+ 'not_covered',
149
+ 'clarify',
150
+ 'note',
151
+ ])
152
+ capture(value, key, path);
153
+ return;
154
+ }
155
+ const ledger = own(value, ledger_js_1.COVERAGE_MARKER);
156
+ if (object(ledger) && 'result' in value) {
157
+ fields.set(`${path}.${ledger_js_1.COVERAGE_MARKER}`, 'declared');
158
+ for (const key of coverageKeys)
159
+ capture(ledger, key, `${path}.${ledger_js_1.COVERAGE_MARKER}`);
160
+ walk(own(value, 'result'), `${path}.result`, depth + 1);
161
+ }
162
+ }
163
+ catch {
164
+ unreadable(path);
165
+ }
166
+ }
167
+ walk(result, 'result', 0);
168
+ return { fields, issues };
169
+ }
170
+ exports.snapshotProjectionSemantics = snapshotProjectionSemantics;
171
+ /** Exact preservation of original fields; unrelated new declarations may be added. */
172
+ function projectionSemanticsIssues(before, after) {
173
+ if (before.issues.length)
174
+ return before.issues;
175
+ if (before.fields.size === 0)
176
+ return [];
177
+ const projected = snapshotProjectionSemantics(after);
178
+ if (projected.issues.length)
179
+ return projected.issues;
180
+ const issues = [];
181
+ for (const [field, value] of before.fields)
182
+ if (projected.fields.get(field) !== value)
183
+ issues.push({
184
+ code: 'projection-declaration-changed',
185
+ field,
186
+ message: `Dataset projection removed or changed declaration '${field}'. Preserve the original absence, coverage and semantic metadata while replacing its data with references.`,
187
+ });
188
+ return issues;
189
+ }
190
+ exports.projectionSemanticsIssues = projectionSemanticsIssues;
191
+ //# sourceMappingURL=projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection.js","sourceRoot":"","sources":["../../../src/lib/semantics/projection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/time-travel/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yDAA0F;AAAjF,gHAAA,WAAW,OAAA;AAAE,mHAAA,cAAc,OAAA;AAAE,2HAAA,sBAAsB,OAAA;AAC5D,yCAUqB;AATnB,oGAAA,OAAO,OAAA;AACP,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AAIb,+CAAgG;AAAvF,yGAAA,SAAS,OAAA;AAClB,2CAmBsB;AAlBpB,0GAAA,YAAY,OAAA;AACZ,gHAAA,kBAAkB,OAAA;AAClB,6GAAA,eAAe,OAAA;AACf,yGAAA,WAAW,OAAA;AACX,wGAAA,UAAU,OAAA;AACV,oHAAA,sBAAsB,OAAA;AACtB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,yGAAA,WAAW,OAAA;AACX,4GAAA,cAAc,OAAA;AAUhB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,iDAYyB;AAXvB,0GAAA,SAAS,OAAA;AACT,yGAAA,QAAQ,OAAA;AACR,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AACX,gHAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/time-travel/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yDAA0F;AAAjF,gHAAA,WAAW,OAAA;AAAE,mHAAA,cAAc,OAAA;AAAE,2HAAA,sBAAsB,OAAA;AAC5D,yCAUqB;AATnB,oGAAA,OAAO,OAAA;AACP,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,4GAAA,eAAe,OAAA;AACf,wGAAA,WAAW,OAAA;AAIb,+CAAgG;AAAvF,yGAAA,SAAS,OAAA;AAClB,2CAqBsB;AApBpB,0GAAA,YAAY,OAAA;AACZ,gHAAA,kBAAkB,OAAA;AAClB,6GAAA,eAAe,OAAA;AACf,yGAAA,WAAW,OAAA;AACX,wGAAA,UAAU,OAAA;AACV,oHAAA,sBAAsB,OAAA;AACtB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,yGAAA,WAAW,OAAA;AACX,4GAAA,cAAc,OAAA;AAYhB,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,iDAYyB;AAXvB,0GAAA,SAAS,OAAA;AACT,yGAAA,QAAQ,OAAA;AACR,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AACX,gHAAA,eAAe,OAAA"}
@@ -98,6 +98,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
98
98
  exports.buildReceipt = exports.receiptPieces = exports.messageDigestInput = exports.toolDigestInput = exports.stableJson = exports.receiptHash = exports.RECEIPT_HASH_CHARS = exports.FORCED_OUTPUT_TOOL_KEY = exports.RECEIPT_KEY = exports.RECEIPT_BOUNDARY = exports.UNSERIALIZABLE = void 0;
99
99
  const composeRequest_js_1 = require("../../core/agent/composeRequest.js");
100
100
  const sha256_js_1 = require("./sha256.js");
101
+ const requestMeasurement_js_1 = require("./requestMeasurement.js");
101
102
  /**
102
103
  * The separator between two fields inside one digest input — ASCII UNIT
103
104
  * SEPARATOR, which no prompt, tool name or JSON payload can contain (`JSON.
@@ -426,6 +427,7 @@ function buildReceipt(input) {
426
427
  ? 'unchanged'
427
428
  : 'rewritten';
428
429
  return {
430
+ requestMeasurement: (0, requestMeasurement_js_1.measureRequest)(input.preparedRequest),
429
431
  system: {
430
432
  hash: hash(input.systemText),
431
433
  chars: input.systemText.length,
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/lib/time-travel/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../src/lib/time-travel/receipt.ts"],"names":[],"mappings":"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"}