agentfootprint 11.2.0 → 11.3.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 (157) hide show
  1. package/AGENTS.md +1 -1
  2. package/CAPABILITIES.md +2 -0
  3. package/ai-instructions/claude-code/SKILL.md +1 -1
  4. package/dist/adapters/identity/verify/claims.js +3 -3
  5. package/dist/adapters/mcp/agentcoreRuntime/invoke.js +3 -2
  6. package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  7. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js +6 -5
  8. package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
  9. package/dist/adapters/mcp/agentcoreRuntime/transport.js +8 -6
  10. package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  11. package/dist/core/agent/buildToolRegistry.js +1 -1
  12. package/dist/core/agent/buildToolRegistry.js.map +1 -1
  13. package/dist/core/agent/evidence/evidenceIndex.js +30 -2
  14. package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
  15. package/dist/core/agent/evidence/extract.js +34 -5
  16. package/dist/core/agent/evidence/extract.js.map +1 -1
  17. package/dist/core/agent/evidence/figures.js +31 -3
  18. package/dist/core/agent/evidence/figures.js.map +1 -1
  19. package/dist/core/agent/evidence/numberPrecision.js +58 -2
  20. package/dist/core/agent/evidence/numberPrecision.js.map +1 -1
  21. package/dist/core/agent/stages/route.js +2 -1
  22. package/dist/core/agent/stages/route.js.map +1 -1
  23. package/dist/core/agent/stages/toolCalls.js +14 -1
  24. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  25. package/dist/core/slots/buildToolsSlot.js +1 -1
  26. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  27. package/dist/esm/adapters/identity/jwks.d.ts +2 -2
  28. package/dist/esm/adapters/identity/verify/claims.d.ts +3 -3
  29. package/dist/esm/adapters/identity/verify/claims.js +3 -3
  30. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +3 -2
  31. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +3 -2
  32. package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
  33. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -5
  34. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +6 -5
  35. package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
  36. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +3 -1
  37. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +9 -7
  38. package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
  39. package/dist/esm/core/agent/buildToolRegistry.js +1 -1
  40. package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
  41. package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +12 -2
  42. package/dist/esm/core/agent/evidence/evidenceIndex.js +30 -2
  43. package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
  44. package/dist/esm/core/agent/evidence/extract.js +35 -6
  45. package/dist/esm/core/agent/evidence/extract.js.map +1 -1
  46. package/dist/esm/core/agent/evidence/figures.d.ts +6 -0
  47. package/dist/esm/core/agent/evidence/figures.js +32 -4
  48. package/dist/esm/core/agent/evidence/figures.js.map +1 -1
  49. package/dist/esm/core/agent/evidence/numberPrecision.d.ts +28 -1
  50. package/dist/esm/core/agent/evidence/numberPrecision.js +56 -1
  51. package/dist/esm/core/agent/evidence/numberPrecision.js.map +1 -1
  52. package/dist/esm/core/agent/stages/route.js +2 -1
  53. package/dist/esm/core/agent/stages/route.js.map +1 -1
  54. package/dist/esm/core/agent/stages/toolCalls.js +14 -1
  55. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  56. package/dist/esm/core/slots/buildToolsSlot.js +1 -1
  57. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  58. package/dist/esm/events/payloads.d.ts +185 -0
  59. package/dist/esm/events/registry.d.ts +3 -1
  60. package/dist/esm/events/registry.js +2 -0
  61. package/dist/esm/events/registry.js.map +1 -1
  62. package/dist/esm/hosting/doorGuard.d.ts +3 -3
  63. package/dist/esm/hosting/doorGuard.js +2 -2
  64. package/dist/esm/hosting/nodeHost.d.ts +1 -1
  65. package/dist/esm/mcp/callLifetime.d.ts +49 -0
  66. package/dist/esm/mcp/callLifetime.js +99 -0
  67. package/dist/esm/mcp/callLifetime.js.map +1 -0
  68. package/dist/esm/mcp/mcpClient.d.ts +4 -1
  69. package/dist/esm/mcp/mcpClient.js +70 -28
  70. package/dist/esm/mcp/mcpClient.js.map +1 -1
  71. package/dist/esm/mcp/requestLedger.d.ts +97 -0
  72. package/dist/esm/mcp/requestLedger.js +192 -0
  73. package/dist/esm/mcp/requestLedger.js.map +1 -0
  74. package/dist/esm/mcp/seriesEvidence.d.ts +102 -0
  75. package/dist/esm/mcp/seriesEvidence.js +246 -0
  76. package/dist/esm/mcp/seriesEvidence.js.map +1 -0
  77. package/dist/esm/mcp/throttleRetry.d.ts +70 -35
  78. package/dist/esm/mcp/throttleRetry.js +181 -54
  79. package/dist/esm/mcp/throttleRetry.js.map +1 -1
  80. package/dist/esm/mcp/types.d.ts +12 -7
  81. package/dist/esm/redaction/knownStrings.js +29 -0
  82. package/dist/esm/redaction/knownStrings.js.map +1 -1
  83. package/dist/esm/security/PermissionPolicy.d.ts +1 -1
  84. package/dist/esm/security/PermissionPolicy.js +1 -1
  85. package/dist/esm/strategies/defaults/chatBubbleLiveStatus.d.ts +1 -1
  86. package/dist/esm/strategies/defaults/chatBubbleLiveStatus.js +1 -1
  87. package/dist/esm/tool-lint/analyze.d.ts +1 -1
  88. package/dist/esm/tool-lint/analyze.js +1 -1
  89. package/dist/esm/tool-lint/rules.d.ts +3 -3
  90. package/dist/esm/tool-lint/rules.js +3 -3
  91. package/dist/esm/tools/requestEvidence.d.ts +78 -0
  92. package/dist/esm/tools/requestEvidence.js +331 -0
  93. package/dist/esm/tools/requestEvidence.js.map +1 -0
  94. package/dist/events/registry.js +2 -0
  95. package/dist/events/registry.js.map +1 -1
  96. package/dist/hosting/doorGuard.js +2 -2
  97. package/dist/mcp/callLifetime.js +103 -0
  98. package/dist/mcp/callLifetime.js.map +1 -0
  99. package/dist/mcp/mcpClient.js +69 -27
  100. package/dist/mcp/mcpClient.js.map +1 -1
  101. package/dist/mcp/requestLedger.js +196 -0
  102. package/dist/mcp/requestLedger.js.map +1 -0
  103. package/dist/mcp/seriesEvidence.js +251 -0
  104. package/dist/mcp/seriesEvidence.js.map +1 -0
  105. package/dist/mcp/throttleRetry.js +184 -55
  106. package/dist/mcp/throttleRetry.js.map +1 -1
  107. package/dist/redaction/knownStrings.js +29 -0
  108. package/dist/redaction/knownStrings.js.map +1 -1
  109. package/dist/security/PermissionPolicy.js +1 -1
  110. package/dist/strategies/defaults/chatBubbleLiveStatus.js +1 -1
  111. package/dist/tool-lint/analyze.js +1 -1
  112. package/dist/tool-lint/rules.js +3 -3
  113. package/dist/tools/requestEvidence.js +337 -0
  114. package/dist/tools/requestEvidence.js.map +1 -0
  115. package/dist/types/adapters/identity/jwks.d.ts +2 -2
  116. package/dist/types/adapters/identity/verify/claims.d.ts +3 -3
  117. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +3 -2
  118. package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
  119. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -5
  120. package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -1
  121. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +3 -1
  122. package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
  123. package/dist/types/core/agent/evidence/evidenceIndex.d.ts +12 -2
  124. package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -1
  125. package/dist/types/core/agent/evidence/extract.d.ts.map +1 -1
  126. package/dist/types/core/agent/evidence/figures.d.ts +6 -0
  127. package/dist/types/core/agent/evidence/figures.d.ts.map +1 -1
  128. package/dist/types/core/agent/evidence/numberPrecision.d.ts +28 -1
  129. package/dist/types/core/agent/evidence/numberPrecision.d.ts.map +1 -1
  130. package/dist/types/core/agent/stages/route.d.ts.map +1 -1
  131. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  132. package/dist/types/events/payloads.d.ts +185 -0
  133. package/dist/types/events/payloads.d.ts.map +1 -1
  134. package/dist/types/events/registry.d.ts +3 -1
  135. package/dist/types/events/registry.d.ts.map +1 -1
  136. package/dist/types/hosting/doorGuard.d.ts +3 -3
  137. package/dist/types/hosting/nodeHost.d.ts +1 -1
  138. package/dist/types/mcp/callLifetime.d.ts +50 -0
  139. package/dist/types/mcp/callLifetime.d.ts.map +1 -0
  140. package/dist/types/mcp/mcpClient.d.ts +4 -1
  141. package/dist/types/mcp/mcpClient.d.ts.map +1 -1
  142. package/dist/types/mcp/requestLedger.d.ts +98 -0
  143. package/dist/types/mcp/requestLedger.d.ts.map +1 -0
  144. package/dist/types/mcp/seriesEvidence.d.ts +103 -0
  145. package/dist/types/mcp/seriesEvidence.d.ts.map +1 -0
  146. package/dist/types/mcp/throttleRetry.d.ts +70 -35
  147. package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
  148. package/dist/types/mcp/types.d.ts +12 -7
  149. package/dist/types/mcp/types.d.ts.map +1 -1
  150. package/dist/types/redaction/knownStrings.d.ts.map +1 -1
  151. package/dist/types/security/PermissionPolicy.d.ts +1 -1
  152. package/dist/types/strategies/defaults/chatBubbleLiveStatus.d.ts +1 -1
  153. package/dist/types/tool-lint/analyze.d.ts +1 -1
  154. package/dist/types/tool-lint/rules.d.ts +3 -3
  155. package/dist/types/tools/requestEvidence.d.ts +79 -0
  156. package/dist/types/tools/requestEvidence.d.ts.map +1 -0
  157. package/package.json +1 -1
@@ -0,0 +1,337 @@
1
+ "use strict";
2
+ /**
3
+ * requestEvidence — the door a tool call's REQUEST attempts enter its run by.
4
+ *
5
+ * Pattern: a per-dispatch port (the `LLMCallHooks` precedent) + one allow-list.
6
+ * Role: The seam between a retry series that runs BELOW a tool — inside
7
+ * `mcpClient`'s transport, built before any run existed — and the run
8
+ * that dispatched the call. The dispatcher builds the port for each
9
+ * call (`requestEvidenceFor`) and puts it on the call's context under
10
+ * an internal symbol; the MCP tool hands it down to the series that
11
+ * sends its request (`mcp/requestLedger.ts`); the series files ONE
12
+ * record when the request ends. Nothing here retries anything.
13
+ * Emits: agentfootprint.tools.request_attempts
14
+ *
15
+ * Why a port and not a scope: a decorator constructed by the consumer before
16
+ * any run exists can never reach a scope (`resilienceHooks` says the same of
17
+ * the provider decorators). The call is the one thing both sides share, so the
18
+ * port rides the call — and the identity on the event (`toolCallId`,
19
+ * `toolName`, `iteration`, the run's ids in the meta) is stamped HERE, from the
20
+ * dispatch, never by whatever files: a filing cannot claim another call.
21
+ *
22
+ * Why an internal symbol and not a public `ctx` field: this is the evidence
23
+ * path for the library's own retry series, not a retry API. A public member
24
+ * would invite every tool to file attempts the library cannot vouch for. The
25
+ * symbol is enumerable, so a wrapper that copies the context (`{ ...ctx }`)
26
+ * keeps it; a filing from anyone else still passes the allow-list below.
27
+ *
28
+ * The port only FILES. What cancels a call is the call's own context signal
29
+ * (`ctx.signal`), read by the MCP tool whether or not a port rides along — a
30
+ * cancellation must never depend on evidence being attributable.
31
+ *
32
+ * THE ALLOW-LIST is the whole record: numbers, the library's own words, the
33
+ * endpoint label the app declared or else the endpoint's ORIGIN. A filing with
34
+ * anything else in it — a field nobody listed, a word outside its set, a URL
35
+ * with a path, an array that is not a plain one — is refused whole, never
36
+ * trimmed into something it did not say. Values are read as DATA, through own
37
+ * property descriptors, so no getter, `toJSON` or array subclass a filing
38
+ * carries ever runs or reaches the record.
39
+ */
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.servedRequestEvidence = exports.requestEvidenceOf = exports.requestEvidenceFor = exports.REQUEST_EVIDENCE = exports.MAX_REQUEST_ATTEMPT_ROWS = void 0;
42
+ const footprintjs_1 = require("footprintjs");
43
+ const typedEmit_js_1 = require("../recorders/core/typedEmit.js");
44
+ /** At most this many attempts are listed per request; the rest are counted (`omitted`). */
45
+ exports.MAX_REQUEST_ATTEMPT_ROWS = 100;
46
+ /** @internal The context key the dispatcher puts a call's sink under. */
47
+ exports.REQUEST_EVIDENCE = Symbol('agentfootprint.request-evidence');
48
+ /**
49
+ * The port for one dispatch: files `agentfootprint.tools.request_attempts`
50
+ * mid-stage through `typedEmit` (so the run's redaction rule serves it, and the
51
+ * meta carries the real `runtimeStageId`), stamped with `call`.
52
+ */
53
+ function requestEvidenceFor(scope, call) {
54
+ const sink = {
55
+ file: (evidence) => {
56
+ const served = servedRequestEvidence(evidence);
57
+ if (served === undefined) {
58
+ warnOnce(call.toolName, 'a filing outside the allow-list was refused');
59
+ return;
60
+ }
61
+ try {
62
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.tools.request_attempts', {
63
+ toolCallId: call.toolCallId,
64
+ toolName: call.toolName,
65
+ iteration: call.iteration,
66
+ ...served,
67
+ });
68
+ }
69
+ catch (err) {
70
+ // Evidence is not the work: a sink that dies must not fail the call.
71
+ warnOnce(call.toolName, err instanceof Error ? err.message : String(err));
72
+ }
73
+ },
74
+ };
75
+ return { [exports.REQUEST_EVIDENCE]: sink };
76
+ }
77
+ exports.requestEvidenceFor = requestEvidenceFor;
78
+ /**
79
+ * The sink a call's context carries, or `undefined` — a context from a door with
80
+ * no run (`mcpServe`, a direct `execute`), or one a wrapper rebuilt without it.
81
+ * Never throws, whatever `ctx` is.
82
+ */
83
+ function requestEvidenceOf(ctx) {
84
+ if (ctx === null || typeof ctx !== 'object')
85
+ return undefined;
86
+ let port;
87
+ try {
88
+ port = ctx[exports.REQUEST_EVIDENCE];
89
+ }
90
+ catch {
91
+ return undefined;
92
+ }
93
+ if (port === null || typeof port !== 'object')
94
+ return undefined;
95
+ let file;
96
+ try {
97
+ file = port.file;
98
+ }
99
+ catch {
100
+ return undefined;
101
+ }
102
+ if (typeof file !== 'function')
103
+ return undefined;
104
+ return port;
105
+ }
106
+ exports.requestEvidenceOf = requestEvidenceOf;
107
+ const ATTEMPT_OUTCOMES = {
108
+ answered: true,
109
+ refused: true,
110
+ failed: true,
111
+ 'timed-out': true,
112
+ cut: true,
113
+ };
114
+ /** An end may also be `cancelled`: no request was in flight. A row never is — a sent request is `cut`. */
115
+ const END_OUTCOMES = { ...ATTEMPT_OUTCOMES, cancelled: true };
116
+ const REMOTE = { unknown: true };
117
+ const REASONS = {
118
+ retryable: true,
119
+ answered: true,
120
+ exhausted: true,
121
+ 'wait-limit': true,
122
+ 'no-time-left': true,
123
+ 'not-replayable': true,
124
+ 'not-retryable': true,
125
+ cancelled: true,
126
+ };
127
+ const KINDS = {
128
+ throttle: true,
129
+ 'session-busy': true,
130
+ };
131
+ const CATEGORIES = {
132
+ timeout: true,
133
+ 'rate-limited': true,
134
+ server: true,
135
+ network: true,
136
+ auth: true,
137
+ permanent: true,
138
+ unknown: true,
139
+ };
140
+ const SENTENCES = {
141
+ 'The request failed before an answer arrived. Its error is not kept.': true,
142
+ 'The call ran out of time before an answer arrived.': true,
143
+ };
144
+ const DURING = { request: true, wait: true };
145
+ const ATTEMPT_FIELDS = new Set([
146
+ 'attempt',
147
+ 'outcome',
148
+ 'reason',
149
+ 'status',
150
+ 'kind',
151
+ 'failure',
152
+ 'waitMs',
153
+ 'retryAfterMs',
154
+ 'error',
155
+ 'remote',
156
+ ]);
157
+ const END_FIELDS = new Set([
158
+ 'outcome',
159
+ 'reason',
160
+ 'status',
161
+ 'kind',
162
+ 'failure',
163
+ 'during',
164
+ 'error',
165
+ 'remote',
166
+ ]);
167
+ const EVIDENCE_FIELDS = new Set(['endpoint', 'origin', 'attempts', 'omitted', 'end']);
168
+ /** Thrown inside the walk when a filing leaves the allow-list; caught at its root. */
169
+ class Refused extends Error {
170
+ name = 'Refused';
171
+ }
172
+ /**
173
+ * `raw` rebuilt from allow-listed fields — a fresh plain object — or
174
+ * `undefined` when anything in it is outside the list.
175
+ */
176
+ function servedRequestEvidence(raw) {
177
+ try {
178
+ const evidence = record(raw, EVIDENCE_FIELDS);
179
+ const { endpoint, origin } = evidence;
180
+ if (endpoint !== undefined && origin !== undefined)
181
+ throw new Refused();
182
+ return {
183
+ ...(endpoint !== undefined && { endpoint: label(endpoint) }),
184
+ ...(origin !== undefined && { origin: originOnly(origin) }),
185
+ attempts: plainArray(evidence.attempts, exports.MAX_REQUEST_ATTEMPT_ROWS).map(servedAttempt),
186
+ omitted: count(evidence.omitted),
187
+ end: servedEnd(evidence.end),
188
+ };
189
+ }
190
+ catch {
191
+ // `Refused`, or anything a hostile value threw while it was read: this door
192
+ // never throws, whatever it is handed.
193
+ return undefined;
194
+ }
195
+ }
196
+ exports.servedRequestEvidence = servedRequestEvidence;
197
+ function servedAttempt(raw) {
198
+ const row = record(raw, ATTEMPT_FIELDS);
199
+ const attempt = count(row.attempt);
200
+ if (attempt < 1)
201
+ throw new Refused();
202
+ return {
203
+ attempt,
204
+ outcome: word(ATTEMPT_OUTCOMES, row.outcome),
205
+ reason: word(REASONS, row.reason),
206
+ ...(row.status !== undefined && { status: status(row.status) }),
207
+ ...(row.kind !== undefined && { kind: word(KINDS, row.kind) }),
208
+ ...(row.failure !== undefined && { failure: word(CATEGORIES, row.failure) }),
209
+ ...(row.waitMs !== undefined && { waitMs: duration(row.waitMs) }),
210
+ ...(row.retryAfterMs !== undefined && { retryAfterMs: duration(row.retryAfterMs) }),
211
+ ...(row.error !== undefined && { error: servedError(row.error) }),
212
+ ...(row.remote !== undefined && { remote: word(REMOTE, row.remote) }),
213
+ };
214
+ }
215
+ function servedEnd(raw) {
216
+ const end = record(raw, END_FIELDS);
217
+ return {
218
+ outcome: word(END_OUTCOMES, end.outcome),
219
+ reason: word(REASONS, end.reason),
220
+ ...(end.status !== undefined && { status: status(end.status) }),
221
+ ...(end.kind !== undefined && { kind: word(KINDS, end.kind) }),
222
+ ...(end.failure !== undefined && { failure: word(CATEGORIES, end.failure) }),
223
+ ...(end.during !== undefined && { during: word(DURING, end.during) }),
224
+ ...(end.error !== undefined && { error: servedError(end.error) }),
225
+ ...(end.remote !== undefined && { remote: word(REMOTE, end.remote) }),
226
+ };
227
+ }
228
+ function servedError(raw) {
229
+ const error = record(raw, new Set(['message', 'code']));
230
+ return { message: word(SENTENCES, error.message), code: word(CATEGORIES, error.code) };
231
+ }
232
+ /**
233
+ * A PLAIN array's elements, copied by index into a fresh array: its prototype
234
+ * exactly `Array.prototype` (no subclass, so no `toJSON` or species of its own),
235
+ * every index from 0 to `length - 1` an own data property (no hole, no getter),
236
+ * and no other own key — a property riding on the array is refused, not
237
+ * dropped. At most `max` elements.
238
+ */
239
+ function plainArray(raw, max) {
240
+ if (!Array.isArray(raw) || Object.getPrototypeOf(raw) !== Array.prototype)
241
+ throw new Refused();
242
+ const length = Object.getOwnPropertyDescriptor(raw, 'length')?.value;
243
+ if (typeof length !== 'number' || !Number.isSafeInteger(length) || length > max) {
244
+ throw new Refused();
245
+ }
246
+ const keys = Reflect.ownKeys(raw);
247
+ if (keys.length !== length + 1)
248
+ throw new Refused();
249
+ const out = [];
250
+ for (let i = 0; i < length; i++) {
251
+ const descriptor = Object.getOwnPropertyDescriptor(raw, String(i));
252
+ if (descriptor === undefined || !('value' in descriptor))
253
+ throw new Refused();
254
+ out.push(descriptor.value);
255
+ }
256
+ return out;
257
+ }
258
+ /** A plain object whose every own key is listed; read once, by key. */
259
+ function record(raw, fields) {
260
+ if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
261
+ throw new Refused();
262
+ const proto = Object.getPrototypeOf(raw);
263
+ if (proto !== Object.prototype && proto !== null)
264
+ throw new Refused();
265
+ const out = {};
266
+ for (const key of Reflect.ownKeys(raw)) {
267
+ if (typeof key !== 'string' || !fields.has(key))
268
+ throw new Refused();
269
+ const descriptor = Object.getOwnPropertyDescriptor(raw, key);
270
+ if (descriptor === undefined || !('value' in descriptor))
271
+ throw new Refused();
272
+ out[key] = descriptor.value;
273
+ }
274
+ return out;
275
+ }
276
+ function word(words, value) {
277
+ if (typeof value === 'string' && Object.prototype.hasOwnProperty.call(words, value)) {
278
+ return value;
279
+ }
280
+ throw new Refused();
281
+ }
282
+ /** A whole number ≥ 0. */
283
+ function count(value) {
284
+ if (typeof value === 'number' && Number.isSafeInteger(value) && value >= 0)
285
+ return value;
286
+ throw new Refused();
287
+ }
288
+ /** An HTTP status. */
289
+ function status(value) {
290
+ if (typeof value === 'number' && Number.isInteger(value) && value >= 100 && value <= 599) {
291
+ return value;
292
+ }
293
+ throw new Refused();
294
+ }
295
+ /** A finite length of time in ms, ≥ 0. */
296
+ function duration(value) {
297
+ if (typeof value === 'number' && Number.isFinite(value) && value >= 0)
298
+ return value;
299
+ throw new Refused();
300
+ }
301
+ /** An app-declared label: 1–128 characters, none of them control characters. */
302
+ function label(value) {
303
+ if (typeof value !== 'string' || value.length < 1 || value.length > 128)
304
+ throw new Refused();
305
+ for (let i = 0; i < value.length; i++) {
306
+ const code = value.charCodeAt(i);
307
+ if (code < 0x20 || (code >= 0x7f && code <= 0x9f))
308
+ throw new Refused();
309
+ }
310
+ return value;
311
+ }
312
+ /** An origin and nothing more: what `new URL(it)` reads back as scheme, host and port. */
313
+ function originOnly(value) {
314
+ if (typeof value !== 'string' || value.length > 2048)
315
+ throw new Refused();
316
+ let url;
317
+ try {
318
+ url = new URL(value);
319
+ }
320
+ catch {
321
+ throw new Refused();
322
+ }
323
+ if (url.host === '' || `${url.protocol}//${url.host}` !== value)
324
+ throw new Refused();
325
+ return value;
326
+ }
327
+ const warned = new Set();
328
+ /** Named in dev mode, once per tool — evidence is telemetry, never the call's failure. */
329
+ function warnOnce(toolName, why) {
330
+ if (!(0, footprintjs_1.isDevMode)() || warned.has(toolName))
331
+ return;
332
+ warned.add(toolName);
333
+ // eslint-disable-next-line no-console
334
+ console.warn(`[agentfootprint] tool '${toolName}': its request attempts were not recorded (${why}). ` +
335
+ 'The call itself is unaffected.');
336
+ }
337
+ //# sourceMappingURL=requestEvidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestEvidence.js","sourceRoot":"","sources":["../../src/tools/requestEvidence.ts"],"names":[],"mappings":"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"}
@@ -108,8 +108,8 @@ export interface JwksIdentityOptions {
108
108
  /**
109
109
  * How a roles claim holding a single STRING is read.
110
110
  *
111
- * - `'list'` (default): the string is ONE role. `"Not neo-users"` is the
112
- * role `Not neo-users`, so it can never satisfy a check for `neo-users`.
111
+ * - `'list'` (default): the string is ONE role. `"Not bot-users"` is the
112
+ * role `Not bot-users`, so it can never satisfy a check for `bot-users`.
113
113
  * An array contributes each string entry as one role.
114
114
  * - `'space-delimited'`: the string is split on whitespace — the reading
115
115
  * every release before this one used. Choose it only for a claim that
@@ -4,14 +4,14 @@
4
4
  * Three readings, and the difference between them is the whole file:
5
5
  *
6
6
  * • **A roles claim is a LIST.** An array contributes each string entry as
7
- * one role; a single string is ONE role. `"Not neo-users"` is the role
8
- * `Not neo-users` — never the two roles `Not` and `neo-users`, which is how
7
+ * one role; a single string is ONE role. `"Not bot-users"` is the role
8
+ * `Not bot-users` — never the two roles `Not` and `bot-users`, which is how
9
9
  * a space-splitting reader lets a group name satisfy a role gate it does
10
10
  * not name. (`'space-delimited'` keeps the old reading, by request only.)
11
11
  * • **A scope claim is space-delimited** — RFC 8693 §4.2 / RFC 9068 §2.2.3
12
12
  * define `scope` that way, and Entra's `scp` follows it. An array is also
13
13
  * read, entry by entry.
14
- * • **A claim NAME is never split.** `urn:neo:objectguid` and
14
+ * • **A claim NAME is never split.** `urn:bot:objectguid` and
15
15
  * `http://schemas.microsoft.com/…/role` contain dots and colons and are one
16
16
  * name each. A nested claim is named by a PATH — an array of names
17
17
  * (`['realm_access', 'roles']` for Keycloak) — never by a dotted string.
@@ -35,8 +35,9 @@
35
35
  * re-send a `tools/call` after a 5xx or a dropped connection — a call that may
36
36
  * already have run, in the same pinned session — which is the one thing a retry
37
37
  * here must never do. Every retry goes through the transport's single loop
38
- * instead, which repeats only refusals the service made before running
39
- * anything. A `client` you pass keeps ITS policy: build it with
38
+ * instead, which repeats only the refusals its retry policy recognises: the
39
+ * documented session-busy reply, and a 429 (assumed, not proven, to have run
40
+ * nothing — see `mcp/throttleRetry.ts`). A `client` you pass keeps ITS policy: build it with
40
41
  * `maxAttempts: 1` for the same guarantee.
41
42
  *
42
43
  * ── A service exception is an ANSWER ─────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/invoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMnE,iFAAiF;AACjF,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAED,8EAA8E;AAC9E,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,MAAM,EAAE;QAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,yBAAyB,CAAC;IAChC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,KAAK,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtE;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAC5C,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,gCAAgC,CAAC;CACjD;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG;IACpD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,yBAAyB,EAAE,KAAK,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACrE,CA0BA;AAwCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,yBAAyB,EACjC,yBAAyB,EAAE,KAAK,KAAK,EAAE,OAAO,KAAK,OAAO,GACzD,aAAa,CA+Bf"}
1
+ {"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/invoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMnE,iFAAiF;AACjF,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAED,8EAA8E;AAC9E,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,KAAK,MAAM,EAAE;QAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,KAAK,yBAAyB,CAAC;IAChC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,KAAK,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtE;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,mFAAmF;AACnF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAC5C,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,CAAC,EAAE,gCAAgC,CAAC;CACjD;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG;IACpD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,yBAAyB,EAAE,KAAK,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACrE,CA0BA;AAwCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,yBAAyB,EACjC,yBAAyB,EAAE,KAAK,KAAK,EAAE,OAAO,KAAK,OAAO,GACzD,aAAa,CA+Bf"}
@@ -17,11 +17,12 @@
17
17
  * it reaches the model as a failed tool call, a moment after the session it was
18
18
  * waiting for came up.
19
19
  *
20
- * ── Why asking again is safe ─────────────────────────────────────────────────
21
- * The refusal is the PLATFORM's, about the session, made before the request
22
- * reached the MCP server: nothing ran. That is the license a 429 holds, and the
23
- * only one the retry series accepts (see `mcp/throttleRetry.ts` ·
24
- * `RetryDecision`).
20
+ * ── What asking again relies on ──────────────────────────────────────────────
21
+ * AWS's contract returns this refusal while the service is provisioning or
22
+ * tearing down the session: the PLATFORM's answer, about the session, not the
23
+ * MCP server's. The retry series relies on that, as it relies on a 429 being a
24
+ * rejection before execution: an assumption with a basis, not proof that
25
+ * nothing ran (see `mcp/throttleRetry.ts` · `RetryDecision`).
25
26
  *
26
27
  * ── What it must NOT match ───────────────────────────────────────────────────
27
28
  * `ConflictException` shares the code -32005 ("Resource conflict - Resource
@@ -1 +1 @@
1
- {"version":3,"file":"sessionBusy.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/sessionBusy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAYxC;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAwBnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAQzD"}
1
+ {"version":3,"file":"sessionBusy.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/sessionBusy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAYxC;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAwBnC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAQzD"}
@@ -47,7 +47,9 @@
47
47
  * (`joinableRetry`), so the 429 rule joins the transport's series INSIDE the
48
48
  * session and the rewrite. One request is one series — one attempt count, one
49
49
  * waiting total, one deadline — so the two retries can never multiply requests,
50
- * and every attempt, a 429's included, lands in the same runtime session.
50
+ * and every attempt, a 429's included, lands in the same runtime session. The
51
+ * client's request ledger joins the same way, so a call the agent dispatched
52
+ * gets this series' attempts in its run (`mcp/requestLedger.ts`).
51
53
  *
52
54
  * ── What it does NOT do ──────────────────────────────────────────────────────
53
55
  * Deploy or manage a runtime (a control-plane job), or host one (that is
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAIL,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACtC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmB,KAAK,uBAAuB,EAAwB,MAAM,cAAc,CAAC;AAGnG;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,0BAA0B,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AAEhE,wDAAwD;AACxD,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;IACxD;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,gCAAgC,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,gCAAgC,CAAC;CAClD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,EAAE,aAQxC,CAAC;AAQH;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,mCAAmC,GAC3C,gBAAgB,CAgBlB;AA8BD,kFAAkF;AAClF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAuB/E"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mcp/agentcoreRuntime/transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAKL,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACtC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmB,KAAK,uBAAuB,EAAwB,MAAM,cAAc,CAAC;AAGnG;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,0BAA0B,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AAEhE,wDAAwD;AACxD,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8FAA8F;IAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAC3C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,4BAA4B,CAAC;IACxD;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,gCAAgC,CAAC;IAChD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,gCAAgC,CAAC;CAClD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,EAAE,aAQxC,CAAC;AAQH;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,mCAAmC,GAC3C,gBAAgB,CAgBlB;AA8BD,kFAAkF;AAClF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAuB/E"}
@@ -16,7 +16,9 @@
16
16
  * indexed both whole and tokenized; so is the JSON a result OPENS with when a
17
17
  * framework note follows it (`readResult`, over `servedJson.ts`). A result
18
18
  * that is not JSON is tokenized as text. Either way the comparison is
19
- * token-exact, never substring.
19
+ * token-exact, never substring. Under `decimalRounding` a whole token of
20
+ * text in scientific notation also files the exact decimal it states
21
+ * (`1.12e-02` → `0.0112`, {@link addDecimalOf}); the spelling stays.
20
22
  *
21
23
  * ## What counts as evidence, and what deliberately does not
22
24
  *
@@ -100,6 +102,7 @@
100
102
  */
101
103
  import type { LLMMessage } from '../../../provider-contract/types.js';
102
104
  import type { InjectionRecord } from '../../../recorders/core/types.js';
105
+ import type { ResolvedEvidenceGate } from './types.js';
103
106
  /**
104
107
  * Ceiling on indexed tokens. Generous — a 200 000-token corpus is roughly a
105
108
  * 5 MB tool result — because the cost of hitting it is not "slower", it is
@@ -225,7 +228,14 @@ export declare function readResult(content: string): ResultReading;
225
228
  * one a fabrication in turn two would be false. Which earlier turns are still
226
229
  * here is the WINDOW's decision, not this function's — see the header.
227
230
  */
228
- export declare function evidenceFromHistory(history: readonly LLMMessage[]): EvidenceCorpus;
231
+ export declare function evidenceFromHistory(history: readonly LLMMessage[],
232
+ /**
233
+ * The gate this corpus is judged by. Under its `decimalRounding`, a
234
+ * standalone scientific token in a result's text also files the exact
235
+ * decimal it states, unless it matches one of its declared `shapes`.
236
+ * Absent, or the dial off → the corpus it always was.
237
+ */
238
+ gate?: Pick<ResolvedEvidenceGate, 'decimalRounding' | 'shapes'>): EvidenceCorpus;
229
239
  /**
230
240
  * The exemption lineage of a span about to be folded: every lookup form the
231
241
  * exempt corpus holds for these messages, in first-seen order — the person's
@@ -1 +1 @@
1
- {"version":3,"file":"evidenceIndex.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/evidenceIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAUxE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,SAAU,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AA4FD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB9B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAuBzD;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,cAAc,CAsClF;AAuGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,MAAM,EAAE,CAU9E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7D;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,GAAG,WAAW,CAAC,MAAM,CAAC,CAuCtB;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAahF"}
1
+ {"version":3,"file":"evidenceIndex.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/evidenceIndex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAUxE,OAAO,KAAK,EAAiB,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,SAAU,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;CAC3B;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAmHD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB9B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAuBzD;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,UAAU,EAAE;AAC9B;;;;;GAKG;AACH,IAAI,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,GAAG,QAAQ,CAAC,GAC9D,cAAc,CAuChB;AAuGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,MAAM,EAAE,CAU9E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7D;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,GAAG,WAAW,CAAC,MAAM,CAAC,CAuCtB;AAKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAahF"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAWH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AA6BF,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAInF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB;AAC1B;;oEAEoE;AACpE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,SAAS,GAAG,SAAS,CA2CvB;AAkFD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAOtE;AAED,8BAA8B;AAC9B,MAAM,WAAW,iBAAiB;IAChC;;4DAEwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC;iFAC6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;IACpE;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,oBAAoB;AAC1B;;wDAEwD;AACxD,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AAC7B;6EAC6E;AAC7E,WAAW,CAAC,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GACzD,SAAS,SAAS,EAAE,CAEtB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,iBAAsB,GAC9B,aAAa,CAiFf"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAWH,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzE;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AA6BF,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAInF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,oBAAoB;AAC1B;;oEAEoE;AACpE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,SAAS,GAAG,SAAS,CA2CvB;AAkFD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAOtE;AA0BD,8BAA8B;AAC9B,MAAM,WAAW,iBAAiB;IAChC;;4DAEwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC;iFAC6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;KAAE,CAAC;IACpE;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,oBAAoB;AAC1B;;wDAEwD;AACxD,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;AAC7B;6EAC6E;AAC7E,WAAW,CAAC,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GACzD,SAAS,SAAS,EAAE,CAEtB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE,iBAAsB,GAC9B,aAAa,CAsFf"}
@@ -87,6 +87,12 @@ interface Carried {
87
87
  };
88
88
  /** The field it sat under, when it sat under one. */
89
89
  readonly key?: string;
90
+ /**
91
+ * Read off a scientific spelling in text under `decimalRounding`
92
+ * (`1.12e-02`): a source for the exact decimal rule only. The figures
93
+ * dial's own derivations compare doubles and never see it.
94
+ */
95
+ readonly decimalOnly?: true;
90
96
  }
91
97
  /** One reconstructed value. */
92
98
  interface Derived {
@@ -1 +1 @@
1
- {"version":3,"file":"figures.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/figures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"figures.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/figures.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,35 @@
1
- /** The shared precision rule for existing figures and opt-in plain decimals. */
1
+ /** The shared precision rule for existing figures and opt-in plain decimals,
2
+ * and the one exact reading of a number written in scientific notation. */
2
3
  /** Decimal places the answer wrote the value with. */
3
4
  export declare function decimalsOf(value: string): number;
4
5
  /** A source spelling is kept only within this bound, never silently clipped. */
5
6
  export declare const MAX_ROUNDING_SPELLING_CHARS = 256;
7
+ /** The decimal a scientific spelling states, read exactly. */
8
+ export interface ScientificDecimal {
9
+ /** The value with no exponent and no trailing fractional zero:
10
+ * `1.12e-02` → `0.0112`, `3.358e+03` → `3358`. */
11
+ readonly exact: string;
12
+ /** The value at the precision the spelling was written with, only when
13
+ * that is a fraction: `1.120e-2` → `0.01120`. A whole number
14
+ * (`3.358e+03`) has none — it is matched exactly, never rounded. */
15
+ readonly written?: string;
16
+ }
17
+ /**
18
+ * Read one standalone scientific spelling as the decimal it states — exactly,
19
+ * through `decimalOf` (BigInt, no Number conversion) and within its bounds:
20
+ * the spelling at most `MAX_ROUNDING_SPELLING_CHARS` characters, its exponent
21
+ * within ±400, and the decimal it states within the same character bound.
22
+ * `undefined` for any other token; outside the bounds a token stays a
23
+ * spelling only.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * scientificDecimalOf('1.12e-02'); // { exact: '0.0112', written: '0.0112' }
28
+ * scientificDecimalOf('1.2E+21'); // { exact: '1200000000000000000000' }
29
+ * scientificDecimalOf('9f3e10ab'); // undefined — a hash, not a number
30
+ * ```
31
+ */
32
+ export declare function scientificDecimalOf(spelling: string): ScientificDecimal | undefined;
6
33
  /** True inside the answer's inclusive half-unit rounding interval.
7
34
  * Existing figures keep their exact historical numeric allowance. New plain
8
35
  * decimals supply original spellings and use the same interval without slack
@@ -1 +1 @@
1
- {"version":3,"file":"numberPrecision.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/numberPrecision.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAwB/C;;;4EAG4E;AAC5E,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAmBT"}
1
+ {"version":3,"file":"numberPrecision.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/evidence/numberPrecision.ts"],"names":[],"mappings":"AAAA;2EAC2E;AAC3E,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAgC/C,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC;uDACmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;yEAEqE;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CASnF;AAsBD;;;4EAG4E;AAC5E,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAmBT"}
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/stages/route.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAchE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAIL,KAAK,yBAAyB,EAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,yCAAyC,CAAC;AAMjD,OAAO,KAAK,EAAmB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAOnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAMlF,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,OAAO,GACP,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,kBAAkB,GAClB,SAAS,CAAC;AAEd,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAQvD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC;AAEpF;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAC7C,oFAAoF;IACpF,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;CAC7B;AAED,wFAAwF;AACxF,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;IAC3D,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAyBF;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC;AAElF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAY9B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAO5F;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC;AAgBlC;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GACpF,gBAAgB,CAWlB;AAi2BD;4DAC4D;AAC5D,eAAO,MAAM,iBAAiB,UAhE2B,WAAW,UAAU,CAAC,KAAK,WAgE1B,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,iBAAS,eAAe,CACtB,iBAAiB,CAAC,EAAE,SAAS,iBAAiB,EAAE,EAChD,WAAW,CAAC,EAAE,yBAAyB,EACvC,WAAW,CAAC,EAAE,WAAW,EACzB,QAAQ,CAAC,EAAE,oBAAoB;AAC/B;;oEAEoE;AACpE,SAAS,UAAQ;AACjB;wEACwE;AACxE,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,EACjC,eAAe,CAAC,EAAE;IAAE,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAA;CAAE;AAC5D;;;iDAGiD;AACjD,uBAAuB,CAAC,EAAE,OAAO;AACjC;;;;;;;;;qDASqD;AACrD,QAAQ,CAAC,EAAE,IAAI;AACf;;;;0EAI0E;AAC1E,MAAM,CAAC,EAAE,cAAc;AACvB;;;;;;kDAMkD;AAClD,MAAM,CAAC,EAAE,cAAc,GACtB,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAkFvE;AA2jBD,oFAAoF;AACpF,wBAAgB,sBAAsB,CACpC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,GAC1C,UAAU,CAAC,OAAO,eAAe,CAAC,CAcpC"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/stages/route.ts"],"names":[],"mappings":"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"}