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,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* seriesEvidence — one MCP request's retry series, written down for its run.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: a collector over footprintjs's attempt records, filed once.
|
|
6
|
+
* Role: The series (`throttleRetry.ts` · `Series`) is the one retry owner and
|
|
7
|
+
* the attempt runner makes one record per try; this turns each record
|
|
8
|
+
* into an allow-listed row and files the request's whole story — its
|
|
9
|
+
* rows, how many were not listed, and how it ended — to the call's sink
|
|
10
|
+
* (`tools/requestEvidence.ts`) exactly ONCE.
|
|
11
|
+
*
|
|
12
|
+
* WHAT A ROW MAY SAY. Numbers and the library's own words; never the server's
|
|
13
|
+
* answer, the call's arguments or an error's text. A failure is a fixed sentence
|
|
14
|
+
* and its category — a network or SDK error message can carry a URL with a token
|
|
15
|
+
* in it, a host's internal name or a server's reply.
|
|
16
|
+
*
|
|
17
|
+
* A RESPONSE IS NOT A SUCCESS. The runner records an attempt that returned a
|
|
18
|
+
* response as `ok` with the reason `succeeded`; here it is `answered`, with the
|
|
19
|
+
* status the server sent — a 503 delivered is `answered` + `503`, never success.
|
|
20
|
+
*
|
|
21
|
+
* EVERY REQUEST SENT IS COUNTED. Each attempt the series started is a row — or,
|
|
22
|
+
* past the cap, one more in `omitted` — so `rows + omitted` is the number of
|
|
23
|
+
* requests the series sent. An attempt a cancellation cuts in flight is a row
|
|
24
|
+
* too (`cut`), exactly as an attempt the deadline cuts is (`timed-out`). A
|
|
25
|
+
* request the series never sent — the next one after a cancelled wait — has no
|
|
26
|
+
* row.
|
|
27
|
+
*
|
|
28
|
+
* A CUT IS NOT A "NOT RUN". An attempt that ended without an answer — cut,
|
|
29
|
+
* timed out, or failed — was sent, and the server may have received it and run
|
|
30
|
+
* it. Its row says so (`remote: 'unknown'`); nothing here records it as not run.
|
|
31
|
+
*
|
|
32
|
+
* WHEN IT FILES. When the series ends — and, for a cancellation, at the moment the
|
|
33
|
+
* signal fires: a cancelled run stops waiting for its stage at once, so a record
|
|
34
|
+
* filed when the series later unwinds would land after the run was saved. The
|
|
35
|
+
* runner makes no record for an attempt it abandons at that moment or for a wait
|
|
36
|
+
* it was cut out of, so those are written here: the cut attempt's row and
|
|
37
|
+
* `during: 'request'`, or `during: 'wait'`. Anything the series reports after it
|
|
38
|
+
* has filed is not part of the request's story any more and is ignored.
|
|
39
|
+
*/
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.rowOf = exports.SeriesEvidence = void 0;
|
|
42
|
+
const requestEvidence_js_1 = require("../tools/requestEvidence.js");
|
|
43
|
+
const FAILED = 'The request failed before an answer arrived. Its error is not kept.';
|
|
44
|
+
const OUT_OF_TIME = 'The call ran out of time before an answer arrived.';
|
|
45
|
+
/** One request's evidence, collected as its series runs and filed once. */
|
|
46
|
+
class SeriesEvidence {
|
|
47
|
+
sink;
|
|
48
|
+
where;
|
|
49
|
+
rows = [];
|
|
50
|
+
omitted = 0;
|
|
51
|
+
last;
|
|
52
|
+
filed = false;
|
|
53
|
+
constructor(sink, where) {
|
|
54
|
+
this.sink = sink;
|
|
55
|
+
this.where = where;
|
|
56
|
+
}
|
|
57
|
+
/** One attempt as the runner recorded it. */
|
|
58
|
+
attempt(record, seen, declined) {
|
|
59
|
+
if (this.filed)
|
|
60
|
+
return;
|
|
61
|
+
this.add(rowOf(record, seen, declined));
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The caller's cancellation cut attempt `n` in flight. It was sent — the
|
|
65
|
+
* server may have it, and may have run it — so it is a row, `cut`, with the
|
|
66
|
+
* remote outcome `unknown`; then the request's end says the same.
|
|
67
|
+
*/
|
|
68
|
+
cutInFlight(n) {
|
|
69
|
+
if (this.filed)
|
|
70
|
+
return;
|
|
71
|
+
this.add({ attempt: n, outcome: 'cut', reason: 'cancelled', remote: 'unknown' });
|
|
72
|
+
this.file({ outcome: 'cut', reason: 'cancelled', during: 'request', remote: 'unknown' });
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The caller's cancellation landed with NO request in flight: between two —
|
|
76
|
+
* `during: 'wait'`, the next request never sent — or before the first, when
|
|
77
|
+
* nothing was sent and there is no `during`. No row is added: there is no
|
|
78
|
+
* request to account for. A request that had already ended keeps its end.
|
|
79
|
+
*/
|
|
80
|
+
cancelled() {
|
|
81
|
+
const last = this.last;
|
|
82
|
+
if (last !== undefined && last.reason !== 'retryable') {
|
|
83
|
+
this.file(endOf(last));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
this.file({
|
|
87
|
+
outcome: 'cancelled',
|
|
88
|
+
reason: 'cancelled',
|
|
89
|
+
...(last !== undefined && { during: 'wait' }),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* The series delivered a response. It is the last attempt's — an answer, or a
|
|
94
|
+
* refusal it will not ask again after. A refusal it MEANT to ask again after
|
|
95
|
+
* is delivered when the deadline lands inside the wait: the runner's wait
|
|
96
|
+
* ends early, the series stops, and the end says so (`no-time-left`, during
|
|
97
|
+
* the `wait`).
|
|
98
|
+
*/
|
|
99
|
+
delivered() {
|
|
100
|
+
const last = this.last;
|
|
101
|
+
if (last === undefined) {
|
|
102
|
+
this.file(UNACCOUNTED);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
this.file(last.reason === 'retryable'
|
|
106
|
+
? { ...endOf(last), reason: 'no-time-left', during: 'wait' }
|
|
107
|
+
: endOf(last));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The series threw. The end is the last attempt's when that attempt ended it
|
|
111
|
+
* (a failure, a timed-out request). The rest is defensive — footprintjs 10.6's
|
|
112
|
+
* runner never throws without a record but for a cancellation, which is filed
|
|
113
|
+
* as one: a deadline that had passed before the first request (`timed-out`,
|
|
114
|
+
* no `during`, nothing sent) or one a future runner reports from inside a wait
|
|
115
|
+
* (`during: 'wait'`); anything else is filed as a failure the record cannot
|
|
116
|
+
* account for, so a request is never left unfiled.
|
|
117
|
+
*/
|
|
118
|
+
threw(outOfTime) {
|
|
119
|
+
const last = this.last;
|
|
120
|
+
if (last !== undefined && last.reason !== 'retryable') {
|
|
121
|
+
this.file(endOf(last));
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (!outOfTime) {
|
|
125
|
+
this.file(UNACCOUNTED);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
this.file({
|
|
129
|
+
outcome: 'timed-out',
|
|
130
|
+
reason: 'no-time-left',
|
|
131
|
+
failure: 'timeout',
|
|
132
|
+
...(last !== undefined && { during: 'wait' }),
|
|
133
|
+
error: { message: OUT_OF_TIME, code: 'timeout' },
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
add(row) {
|
|
137
|
+
this.last = row;
|
|
138
|
+
if (this.rows.length < requestEvidence_js_1.MAX_REQUEST_ATTEMPT_ROWS)
|
|
139
|
+
this.rows.push(row);
|
|
140
|
+
else
|
|
141
|
+
this.omitted += 1;
|
|
142
|
+
}
|
|
143
|
+
file(end) {
|
|
144
|
+
if (this.filed)
|
|
145
|
+
return;
|
|
146
|
+
this.filed = true;
|
|
147
|
+
try {
|
|
148
|
+
this.sink.file({ ...this.where, attempts: [...this.rows], omitted: this.omitted, end });
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// The library's sink never throws; one that does must not fail the call.
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.SeriesEvidence = SeriesEvidence;
|
|
156
|
+
/**
|
|
157
|
+
* An end no attempt accounts for — never seen; kept so a request is never left
|
|
158
|
+
* unfiled, and never claiming more than is known.
|
|
159
|
+
*/
|
|
160
|
+
const UNACCOUNTED = {
|
|
161
|
+
outcome: 'failed',
|
|
162
|
+
reason: 'not-retryable',
|
|
163
|
+
failure: 'unknown',
|
|
164
|
+
error: { message: FAILED, code: 'unknown' },
|
|
165
|
+
remote: 'unknown',
|
|
166
|
+
};
|
|
167
|
+
/** One record as a row — see the module note for what a row may say. */
|
|
168
|
+
function rowOf(record, seen, declined) {
|
|
169
|
+
const outcome = outcomeOf(record, seen);
|
|
170
|
+
const reason = reasonOf(record, declined);
|
|
171
|
+
const refusal = outcome === 'refused' ? seen?.refusal : undefined;
|
|
172
|
+
return {
|
|
173
|
+
attempt: record.attempt,
|
|
174
|
+
outcome,
|
|
175
|
+
reason,
|
|
176
|
+
...((outcome === 'answered' || outcome === 'refused') &&
|
|
177
|
+
seen?.status !== undefined && { status: seen.status }),
|
|
178
|
+
...(refusal !== undefined && { kind: refusal.kind }),
|
|
179
|
+
...(outcome !== 'answered' &&
|
|
180
|
+
outcome !== 'cut' &&
|
|
181
|
+
record.category !== undefined && { failure: record.category }),
|
|
182
|
+
...(reason === 'retryable' && { waitMs: record.delayMs ?? 0 }),
|
|
183
|
+
...(refusal?.retryAfterMs !== undefined && { retryAfterMs: refusal.retryAfterMs }),
|
|
184
|
+
...((outcome === 'failed' || outcome === 'timed-out') && {
|
|
185
|
+
error: errorOf(outcome, record.category),
|
|
186
|
+
}),
|
|
187
|
+
...(noAnswer(outcome) && { remote: 'unknown' }),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
exports.rowOf = rowOf;
|
|
191
|
+
/** An attempt that ended without an answer — the server may have run it, or not. */
|
|
192
|
+
function noAnswer(outcome) {
|
|
193
|
+
return outcome === 'failed' || outcome === 'timed-out' || outcome === 'cut';
|
|
194
|
+
}
|
|
195
|
+
function outcomeOf(record, seen) {
|
|
196
|
+
switch (record.outcome) {
|
|
197
|
+
case 'ok':
|
|
198
|
+
return 'answered';
|
|
199
|
+
case 'timeout':
|
|
200
|
+
return 'timed-out';
|
|
201
|
+
case 'failed':
|
|
202
|
+
return seen?.refusal !== undefined ? 'refused' : 'failed';
|
|
203
|
+
case 'aborted':
|
|
204
|
+
// Cut in flight by the series' cancellation. The cancellation itself files
|
|
205
|
+
// this row first (`cutInFlight`), so the record is seen only if it did not.
|
|
206
|
+
return 'cut';
|
|
207
|
+
default:
|
|
208
|
+
// `paused` cannot happen inside a fetch.
|
|
209
|
+
return 'failed';
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
function reasonOf(record, declined) {
|
|
213
|
+
if (record.outcome === 'ok')
|
|
214
|
+
return 'answered';
|
|
215
|
+
if (record.next === 'retry')
|
|
216
|
+
return 'retryable';
|
|
217
|
+
if (record.outcome === 'timeout')
|
|
218
|
+
return 'no-time-left';
|
|
219
|
+
switch (record.reason) {
|
|
220
|
+
case 'exhausted':
|
|
221
|
+
return 'exhausted';
|
|
222
|
+
case 'no-time-left':
|
|
223
|
+
return 'no-time-left';
|
|
224
|
+
case 'aborted':
|
|
225
|
+
return 'cancelled';
|
|
226
|
+
case 'declined':
|
|
227
|
+
return declined ?? 'not-retryable';
|
|
228
|
+
default:
|
|
229
|
+
return 'not-retryable';
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
function errorOf(outcome, category) {
|
|
233
|
+
return outcome === 'timed-out'
|
|
234
|
+
? { message: OUT_OF_TIME, code: category ?? 'timeout' }
|
|
235
|
+
: { message: FAILED, code: category ?? 'unknown' };
|
|
236
|
+
}
|
|
237
|
+
/** How a request ended, when it ended with its last attempt. */
|
|
238
|
+
function endOf(last) {
|
|
239
|
+
const { outcome, reason, status, kind, failure, error, remote } = last;
|
|
240
|
+
return {
|
|
241
|
+
outcome,
|
|
242
|
+
reason,
|
|
243
|
+
...(status !== undefined && { status }),
|
|
244
|
+
...(kind !== undefined && { kind }),
|
|
245
|
+
...(failure !== undefined && { failure }),
|
|
246
|
+
...((outcome === 'timed-out' || outcome === 'cut') && { during: 'request' }),
|
|
247
|
+
...(error !== undefined && { error }),
|
|
248
|
+
...(remote !== undefined && { remote }),
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=seriesEvidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seriesEvidence.js","sourceRoot":"","sources":["../../src/mcp/seriesEvidence.ts"],"names":[],"mappings":"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"}
|