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.
- package/AGENTS.md +1 -1
- package/CAPABILITIES.md +2 -0
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/adapters/identity/verify/claims.js +3 -3
- package/dist/adapters/mcp/agentcoreRuntime/invoke.js +3 -2
- package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
- package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js +6 -5
- package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
- package/dist/adapters/mcp/agentcoreRuntime/transport.js +8 -6
- package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
- package/dist/core/agent/buildToolRegistry.js +1 -1
- package/dist/core/agent/buildToolRegistry.js.map +1 -1
- package/dist/core/agent/evidence/evidenceIndex.js +30 -2
- package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
- package/dist/core/agent/evidence/extract.js +34 -5
- package/dist/core/agent/evidence/extract.js.map +1 -1
- package/dist/core/agent/evidence/figures.js +31 -3
- package/dist/core/agent/evidence/figures.js.map +1 -1
- package/dist/core/agent/evidence/numberPrecision.js +58 -2
- package/dist/core/agent/evidence/numberPrecision.js.map +1 -1
- package/dist/core/agent/stages/route.js +2 -1
- package/dist/core/agent/stages/route.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +14 -1
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/slots/buildToolsSlot.js +1 -1
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/adapters/identity/jwks.d.ts +2 -2
- package/dist/esm/adapters/identity/verify/claims.d.ts +3 -3
- package/dist/esm/adapters/identity/verify/claims.js +3 -3
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +3 -2
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +3 -2
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -5
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +6 -5
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.d.ts +3 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +9 -7
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
- package/dist/esm/core/agent/buildToolRegistry.js +1 -1
- package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
- package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +12 -2
- package/dist/esm/core/agent/evidence/evidenceIndex.js +30 -2
- package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
- package/dist/esm/core/agent/evidence/extract.js +35 -6
- package/dist/esm/core/agent/evidence/extract.js.map +1 -1
- package/dist/esm/core/agent/evidence/figures.d.ts +6 -0
- package/dist/esm/core/agent/evidence/figures.js +32 -4
- package/dist/esm/core/agent/evidence/figures.js.map +1 -1
- package/dist/esm/core/agent/evidence/numberPrecision.d.ts +28 -1
- package/dist/esm/core/agent/evidence/numberPrecision.js +56 -1
- package/dist/esm/core/agent/evidence/numberPrecision.js.map +1 -1
- package/dist/esm/core/agent/stages/route.js +2 -1
- package/dist/esm/core/agent/stages/route.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.js +14 -1
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/slots/buildToolsSlot.js +1 -1
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +185 -0
- package/dist/esm/events/registry.d.ts +3 -1
- package/dist/esm/events/registry.js +2 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/hosting/doorGuard.d.ts +3 -3
- package/dist/esm/hosting/doorGuard.js +2 -2
- package/dist/esm/hosting/nodeHost.d.ts +1 -1
- package/dist/esm/mcp/callLifetime.d.ts +49 -0
- package/dist/esm/mcp/callLifetime.js +99 -0
- package/dist/esm/mcp/callLifetime.js.map +1 -0
- package/dist/esm/mcp/mcpClient.d.ts +4 -1
- package/dist/esm/mcp/mcpClient.js +70 -28
- package/dist/esm/mcp/mcpClient.js.map +1 -1
- package/dist/esm/mcp/requestLedger.d.ts +97 -0
- package/dist/esm/mcp/requestLedger.js +192 -0
- package/dist/esm/mcp/requestLedger.js.map +1 -0
- package/dist/esm/mcp/seriesEvidence.d.ts +102 -0
- package/dist/esm/mcp/seriesEvidence.js +246 -0
- package/dist/esm/mcp/seriesEvidence.js.map +1 -0
- package/dist/esm/mcp/throttleRetry.d.ts +70 -35
- package/dist/esm/mcp/throttleRetry.js +181 -54
- package/dist/esm/mcp/throttleRetry.js.map +1 -1
- package/dist/esm/mcp/types.d.ts +12 -7
- package/dist/esm/redaction/knownStrings.js +29 -0
- package/dist/esm/redaction/knownStrings.js.map +1 -1
- package/dist/esm/security/PermissionPolicy.d.ts +1 -1
- package/dist/esm/security/PermissionPolicy.js +1 -1
- package/dist/esm/strategies/defaults/chatBubbleLiveStatus.d.ts +1 -1
- package/dist/esm/strategies/defaults/chatBubbleLiveStatus.js +1 -1
- package/dist/esm/tool-lint/analyze.d.ts +1 -1
- package/dist/esm/tool-lint/analyze.js +1 -1
- package/dist/esm/tool-lint/rules.d.ts +3 -3
- package/dist/esm/tool-lint/rules.js +3 -3
- package/dist/esm/tools/requestEvidence.d.ts +78 -0
- package/dist/esm/tools/requestEvidence.js +331 -0
- package/dist/esm/tools/requestEvidence.js.map +1 -0
- package/dist/events/registry.js +2 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/hosting/doorGuard.js +2 -2
- package/dist/mcp/callLifetime.js +103 -0
- package/dist/mcp/callLifetime.js.map +1 -0
- package/dist/mcp/mcpClient.js +69 -27
- package/dist/mcp/mcpClient.js.map +1 -1
- package/dist/mcp/requestLedger.js +196 -0
- package/dist/mcp/requestLedger.js.map +1 -0
- package/dist/mcp/seriesEvidence.js +251 -0
- package/dist/mcp/seriesEvidence.js.map +1 -0
- package/dist/mcp/throttleRetry.js +184 -55
- package/dist/mcp/throttleRetry.js.map +1 -1
- package/dist/redaction/knownStrings.js +29 -0
- package/dist/redaction/knownStrings.js.map +1 -1
- package/dist/security/PermissionPolicy.js +1 -1
- package/dist/strategies/defaults/chatBubbleLiveStatus.js +1 -1
- package/dist/tool-lint/analyze.js +1 -1
- package/dist/tool-lint/rules.js +3 -3
- package/dist/tools/requestEvidence.js +337 -0
- package/dist/tools/requestEvidence.js.map +1 -0
- package/dist/types/adapters/identity/jwks.d.ts +2 -2
- package/dist/types/adapters/identity/verify/claims.d.ts +3 -3
- package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +3 -2
- package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +6 -5
- package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts +3 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts +12 -2
- package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/extract.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/figures.d.ts +6 -0
- package/dist/types/core/agent/evidence/figures.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/numberPrecision.d.ts +28 -1
- package/dist/types/core/agent/evidence/numberPrecision.d.ts.map +1 -1
- package/dist/types/core/agent/stages/route.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +185 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +3 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/hosting/doorGuard.d.ts +3 -3
- package/dist/types/hosting/nodeHost.d.ts +1 -1
- package/dist/types/mcp/callLifetime.d.ts +50 -0
- package/dist/types/mcp/callLifetime.d.ts.map +1 -0
- package/dist/types/mcp/mcpClient.d.ts +4 -1
- package/dist/types/mcp/mcpClient.d.ts.map +1 -1
- package/dist/types/mcp/requestLedger.d.ts +98 -0
- package/dist/types/mcp/requestLedger.d.ts.map +1 -0
- package/dist/types/mcp/seriesEvidence.d.ts +103 -0
- package/dist/types/mcp/seriesEvidence.d.ts.map +1 -0
- package/dist/types/mcp/throttleRetry.d.ts +70 -35
- package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
- package/dist/types/mcp/types.d.ts +12 -7
- package/dist/types/mcp/types.d.ts.map +1 -1
- package/dist/types/redaction/knownStrings.d.ts.map +1 -1
- package/dist/types/security/PermissionPolicy.d.ts +1 -1
- package/dist/types/strategies/defaults/chatBubbleLiveStatus.d.ts +1 -1
- package/dist/types/tool-lint/analyze.d.ts +1 -1
- package/dist/types/tool-lint/rules.d.ts +3 -3
- package/dist/types/tools/requestEvidence.d.ts +79 -0
- package/dist/types/tools/requestEvidence.d.ts.map +1 -0
- 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
|
|
112
|
-
* role `Not
|
|
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
|
|
8
|
-
* `Not
|
|
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:
|
|
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
|
|
39
|
-
*
|
|
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
|
|
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
|
-
* ──
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
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
|
|
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
|
|
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[]
|
|
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
|
|
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;
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAIpE,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpF,6EAA6E;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
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
|
|
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;
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/stages/route.ts"],"names":[],"mappings":"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"}
|