agentfootprint 11.2.0 → 11.4.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 +4 -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/answer-account/account.js +15 -3
- package/dist/answer-account/account.js.map +1 -1
- package/dist/answer-account/facts/howSure.js +10 -22
- package/dist/answer-account/facts/howSure.js.map +1 -1
- package/dist/core/Agent.js +26 -3
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +69 -12
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/assessment/assess.js +15 -4
- package/dist/core/agent/assessment/assess.js.map +1 -1
- package/dist/core/agent/assessment/compose.js +153 -15
- package/dist/core/agent/assessment/compose.js.map +1 -1
- package/dist/core/agent/assessment/reasons.js +35 -1
- package/dist/core/agent/assessment/reasons.js.map +1 -1
- package/dist/core/agent/assessment/sources.js +205 -0
- package/dist/core/agent/assessment/sources.js.map +1 -0
- package/dist/core/agent/assessment/stage.js +15 -4
- package/dist/core/agent/assessment/stage.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildToolRegistry.js +4 -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/honesty/mounts.js.map +1 -1
- package/dist/core/agent/stages/prepareFinal.js +33 -17
- package/dist/core/agent/stages/prepareFinal.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/answer-account/account.js +16 -4
- package/dist/esm/answer-account/account.js.map +1 -1
- package/dist/esm/answer-account/facts/howSure.js +10 -22
- package/dist/esm/answer-account/facts/howSure.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +2 -1
- package/dist/esm/core/Agent.js +26 -3
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +22 -1
- package/dist/esm/core/agent/AgentBuilder.js +69 -12
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/assessment/assess.js +15 -4
- package/dist/esm/core/agent/assessment/assess.js.map +1 -1
- package/dist/esm/core/agent/assessment/compose.d.ts +82 -5
- package/dist/esm/core/agent/assessment/compose.js +148 -14
- package/dist/esm/core/agent/assessment/compose.js.map +1 -1
- package/dist/esm/core/agent/assessment/reasons.d.ts +17 -1
- package/dist/esm/core/agent/assessment/reasons.js +35 -1
- package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
- package/dist/esm/core/agent/assessment/sources.d.ts +66 -0
- package/dist/esm/core/agent/assessment/sources.js +201 -0
- package/dist/esm/core/agent/assessment/sources.js.map +1 -0
- package/dist/esm/core/agent/assessment/stage.d.ts +17 -4
- package/dist/esm/core/agent/assessment/stage.js +16 -5
- package/dist/esm/core/agent/assessment/stage.js.map +1 -1
- package/dist/esm/core/agent/assessment/types.d.ts +37 -0
- package/dist/esm/core/agent/buildAgentChart.d.ts +8 -0
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildToolRegistry.js +5 -2
- 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 +29 -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/honesty/mounts.d.ts +11 -2
- package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
- package/dist/esm/core/agent/stages/prepareFinal.d.ts +19 -3
- package/dist/esm/core/agent/stages/prepareFinal.js +33 -17
- package/dist/esm/core/agent/stages/prepareFinal.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/agent/types.d.ts +16 -2
- 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 +194 -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/lib/displayName.d.ts +81 -0
- package/dist/esm/lib/displayName.js +119 -0
- package/dist/esm/lib/displayName.js.map +1 -0
- 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 +30 -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/semantics/coverage/answer.d.ts +9 -1
- package/dist/esm/semantics/coverage/answer.js +50 -10
- package/dist/esm/semantics/coverage/answer.js.map +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/esm/tools/tools.d.ts +30 -0
- package/dist/esm/tools/tools.js +16 -0
- package/dist/esm/tools/tools.js.map +1 -1
- package/dist/events/registry.js +2 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/hosting/doorGuard.js +2 -2
- package/dist/lib/displayName.js +125 -0
- package/dist/lib/displayName.js.map +1 -0
- 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 +30 -0
- package/dist/redaction/knownStrings.js.map +1 -1
- package/dist/security/PermissionPolicy.js +1 -1
- package/dist/semantics/coverage/answer.js +49 -9
- package/dist/semantics/coverage/answer.js.map +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/tools/tools.js +18 -1
- package/dist/tools/tools.js.map +1 -1
- 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/answer-account/account.d.ts.map +1 -1
- package/dist/types/answer-account/facts/howSure.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +2 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +22 -1
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/compose.d.ts +82 -5
- package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/reasons.d.ts +17 -1
- package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/sources.d.ts +67 -0
- package/dist/types/core/agent/assessment/sources.d.ts.map +1 -0
- package/dist/types/core/agent/assessment/stage.d.ts +17 -4
- package/dist/types/core/agent/assessment/stage.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/types.d.ts +37 -0
- package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +8 -0
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildToolRegistry.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 +29 -1
- package/dist/types/core/agent/evidence/numberPrecision.d.ts.map +1 -1
- package/dist/types/core/agent/honesty/mounts.d.ts +11 -2
- package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
- package/dist/types/core/agent/stages/prepareFinal.d.ts +19 -3
- package/dist/types/core/agent/stages/prepareFinal.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/core/agent/types.d.ts +16 -2
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +194 -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/lib/displayName.d.ts +82 -0
- package/dist/types/lib/displayName.d.ts.map +1 -0
- 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/semantics/coverage/answer.d.ts +9 -1
- package/dist/types/semantics/coverage/answer.d.ts.map +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/dist/types/tools/tools.d.ts +30 -0
- package/dist/types/tools/tools.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* requestLedger — which dispatched tool call an MCP request belongs to, so the
|
|
3
|
+
* retry series that sends it files its attempts into THAT call's run; and when
|
|
4
|
+
* the MCP SDK cancels a request, so the series sending it stops.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: a per-connection ledger + the SDK transport's `send`, watched in place.
|
|
7
|
+
* Role: The middle of the evidence seam (`tools/requestEvidence.ts` is its
|
|
8
|
+
* door). The retry series runs inside the transport's `fetch`, which
|
|
9
|
+
* the MCP SDK calls with a serialized body and nothing else — no tool
|
|
10
|
+
* call, no run. Three hops carry the call down to it, each by an
|
|
11
|
+
* identity the hop already holds:
|
|
12
|
+
*
|
|
13
|
+
* 1. call → params `issue`: the MCP tool keys its ticket by the request's
|
|
14
|
+
* params OBJECT. The SDK puts that very object into the
|
|
15
|
+
* JSON-RPC message it hands the transport.
|
|
16
|
+
* 2. params → id the watched `send` finds the ticket by `message.params`
|
|
17
|
+
* and keys it by the JSON-RPC `id` the SDK assigned, until
|
|
18
|
+
* that send settles.
|
|
19
|
+
* 3. id → series `claim`: the series reads the `id` back out of the body
|
|
20
|
+
* it is about to send.
|
|
21
|
+
*
|
|
22
|
+
* CANCELLATION DOES NOT WAIT ON ATTRIBUTION. Every `tools/call` in flight gets
|
|
23
|
+
* an entry, ticket or not, and the SDK says when it gives a request up: it sends
|
|
24
|
+
* `notifications/cancelled` naming the request's id — on its own timeout, or
|
|
25
|
+
* when the call's signal fires — through this same `send`. The ledger aborts
|
|
26
|
+
* that request's series there and then, so a request nobody waits for is never
|
|
27
|
+
* asked again, even when its params could not be matched to a call.
|
|
28
|
+
*
|
|
29
|
+
* Nothing is added to the wire: the request the server receives is
|
|
30
|
+
* byte-identical, and the SDK's own options keep their meanings. Ids are the
|
|
31
|
+
* client's, one ledger per connection, so concurrent calls — and concurrent
|
|
32
|
+
* runs sharing one client — can never claim each other's request. A request
|
|
33
|
+
* that is not a `tools/call` (a `tools/list`, a notification, a response)
|
|
34
|
+
* claims nothing.
|
|
35
|
+
*
|
|
36
|
+
* `send` is installed as an OWN property of the transport instance — the same
|
|
37
|
+
* object, its own `send` bound to it, so a transport class with `#private`
|
|
38
|
+
* fields works as it always did. Assigning `send` again afterwards THROWS: a
|
|
39
|
+
* send that bypassed the ledger would quietly lose every call's attempts.
|
|
40
|
+
*
|
|
41
|
+
* What it does NOT do: retry, wait, or decide anything. The series is the one
|
|
42
|
+
* retry owner; this only tells it whose attempts it is making, and when the SDK
|
|
43
|
+
* has stopped waiting for them.
|
|
44
|
+
*/
|
|
45
|
+
import type { RequestEvidenceSink } from '../tools/requestEvidence.js';
|
|
46
|
+
/** One call's claim on the request it sends. */
|
|
47
|
+
export interface RequestTicket {
|
|
48
|
+
/** Where the request's attempts are filed. */
|
|
49
|
+
readonly sink: RequestEvidenceSink;
|
|
50
|
+
/** What cancels the call's series — the call's own signal, the client's, the call settling. */
|
|
51
|
+
readonly signal?: AbortSignal;
|
|
52
|
+
}
|
|
53
|
+
/** What a series claims for the `tools/call` request it sends. */
|
|
54
|
+
export interface ClaimedRequest {
|
|
55
|
+
/** The ticket a dispatched call issued for this request — absent when none was matched. */
|
|
56
|
+
readonly ticket?: RequestTicket;
|
|
57
|
+
/** Fires when the MCP SDK cancels this request (`notifications/cancelled`). */
|
|
58
|
+
readonly cancelled: AbortSignal;
|
|
59
|
+
}
|
|
60
|
+
/** Per connection: the tickets issued and not yet sent, and the requests being sent. */
|
|
61
|
+
export declare class RequestLedger {
|
|
62
|
+
/** Issued, not yet sent — keyed by the request's params object. Collected with it. */
|
|
63
|
+
private readonly issued;
|
|
64
|
+
/** Tickets a request was bound to. */
|
|
65
|
+
private readonly bound;
|
|
66
|
+
/** Every `tools/call` sent and not yet settled — keyed by its JSON-RPC id. */
|
|
67
|
+
private readonly sending;
|
|
68
|
+
private calls;
|
|
69
|
+
private unboundNamed;
|
|
70
|
+
/** The call about to send `params` files its attempts through `ticket`. */
|
|
71
|
+
issue(params: object, ticket: RequestTicket): void;
|
|
72
|
+
/** Whether a request the transport sent was bound to `ticket`. */
|
|
73
|
+
wasBound(ticket: RequestTicket): boolean;
|
|
74
|
+
/** How many `tools/call` requests the watched transport has sent — matched to a call or not. */
|
|
75
|
+
get toolCallsSent(): number;
|
|
76
|
+
/** `true` the first time it is asked, then never again: an unmatched request is named once per connection. */
|
|
77
|
+
firstUnbound(): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Watch `transport`'s `send`: install a wrapped `send` as its OWN property, the
|
|
80
|
+
* original bound to the instance itself. Returns the SAME object — or
|
|
81
|
+
* `undefined` when it has no `send` to watch or refuses the property, and
|
|
82
|
+
* then nothing is watched and no call should expect its attempts filed.
|
|
83
|
+
*/
|
|
84
|
+
watch<T extends object>(transport: T): T | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* The `tools/call` request `body` carries, while its send runs — its ticket
|
|
87
|
+
* when a call issued one, and the signal its cancellation fires. `undefined`
|
|
88
|
+
* for any other body. Parses only while some request is being sent.
|
|
89
|
+
*/
|
|
90
|
+
claim(body: unknown): ClaimedRequest | undefined;
|
|
91
|
+
/** One message through the watched transport. */
|
|
92
|
+
private send;
|
|
93
|
+
/** Register a `tools/call` in flight, with the ticket its params were issued — if any. */
|
|
94
|
+
private bind;
|
|
95
|
+
/** The SDK gave a request up: stop the series still sending it. */
|
|
96
|
+
private cancelIfAsked;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=requestLedger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestLedger.d.ts","sourceRoot":"","sources":["../../../src/mcp/requestLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;CACjC;AAgBD,wFAAwF;AACxF,qBAAa,aAAa;IACxB,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,YAAY,CAAS;IAE7B,2EAA2E;IAC3E,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAIlD,kEAAkE;IAClE,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIxC,gGAAgG;IAChG,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,8GAA8G;IAC9G,YAAY,IAAI,OAAO;IAMvB;;;;;OAKG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAwBpD;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS;IAiBhD,iDAAiD;IACjD,OAAO,CAAC,IAAI;IAgBZ,0FAA0F;IAC1F,OAAO,CAAC,IAAI;IAgBZ,mEAAmE;IACnE,OAAO,CAAC,aAAa;CAQtB"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* seriesEvidence — one MCP request's retry series, written down for its run.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: a collector over footprintjs's attempt records, filed once.
|
|
5
|
+
* Role: The series (`throttleRetry.ts` · `Series`) is the one retry owner and
|
|
6
|
+
* the attempt runner makes one record per try; this turns each record
|
|
7
|
+
* into an allow-listed row and files the request's whole story — its
|
|
8
|
+
* rows, how many were not listed, and how it ended — to the call's sink
|
|
9
|
+
* (`tools/requestEvidence.ts`) exactly ONCE.
|
|
10
|
+
*
|
|
11
|
+
* WHAT A ROW MAY SAY. Numbers and the library's own words; never the server's
|
|
12
|
+
* answer, the call's arguments or an error's text. A failure is a fixed sentence
|
|
13
|
+
* and its category — a network or SDK error message can carry a URL with a token
|
|
14
|
+
* in it, a host's internal name or a server's reply.
|
|
15
|
+
*
|
|
16
|
+
* A RESPONSE IS NOT A SUCCESS. The runner records an attempt that returned a
|
|
17
|
+
* response as `ok` with the reason `succeeded`; here it is `answered`, with the
|
|
18
|
+
* status the server sent — a 503 delivered is `answered` + `503`, never success.
|
|
19
|
+
*
|
|
20
|
+
* EVERY REQUEST SENT IS COUNTED. Each attempt the series started is a row — or,
|
|
21
|
+
* past the cap, one more in `omitted` — so `rows + omitted` is the number of
|
|
22
|
+
* requests the series sent. An attempt a cancellation cuts in flight is a row
|
|
23
|
+
* too (`cut`), exactly as an attempt the deadline cuts is (`timed-out`). A
|
|
24
|
+
* request the series never sent — the next one after a cancelled wait — has no
|
|
25
|
+
* row.
|
|
26
|
+
*
|
|
27
|
+
* A CUT IS NOT A "NOT RUN". An attempt that ended without an answer — cut,
|
|
28
|
+
* timed out, or failed — was sent, and the server may have received it and run
|
|
29
|
+
* it. Its row says so (`remote: 'unknown'`); nothing here records it as not run.
|
|
30
|
+
*
|
|
31
|
+
* WHEN IT FILES. When the series ends — and, for a cancellation, at the moment the
|
|
32
|
+
* signal fires: a cancelled run stops waiting for its stage at once, so a record
|
|
33
|
+
* filed when the series later unwinds would land after the run was saved. The
|
|
34
|
+
* runner makes no record for an attempt it abandons at that moment or for a wait
|
|
35
|
+
* it was cut out of, so those are written here: the cut attempt's row and
|
|
36
|
+
* `during: 'request'`, or `during: 'wait'`. Anything the series reports after it
|
|
37
|
+
* has filed is not part of the request's story any more and is ignored.
|
|
38
|
+
*/
|
|
39
|
+
import type { AttemptRecord } from 'footprintjs';
|
|
40
|
+
import type { ToolRequestAttempt, ToolRequestReason } from '../events/payloads.js';
|
|
41
|
+
import { type RequestEvidence, type RequestEvidenceSink } from '../tools/requestEvidence.js';
|
|
42
|
+
/** Where the request went, as a row may say it: the app's label for it, or its origin. */
|
|
43
|
+
export type RequestWhere = Pick<RequestEvidence, 'endpoint' | 'origin'>;
|
|
44
|
+
/** What the series saw of one attempt that its record does not hold. */
|
|
45
|
+
export interface AttemptSeen {
|
|
46
|
+
/** The response's status, when a response arrived. */
|
|
47
|
+
readonly status?: number;
|
|
48
|
+
/** The refusal a rule recognised in that response, when one did. */
|
|
49
|
+
readonly refusal?: {
|
|
50
|
+
readonly kind: 'throttle' | 'session-busy';
|
|
51
|
+
readonly retryAfterMs?: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Why the series' `retryOn` said no — the reasons the runner calls `declined`. */
|
|
55
|
+
export type DeclineReason = Extract<ToolRequestReason, 'exhausted' | 'wait-limit' | 'no-time-left' | 'not-replayable' | 'not-retryable'>;
|
|
56
|
+
/** One request's evidence, collected as its series runs and filed once. */
|
|
57
|
+
export declare class SeriesEvidence {
|
|
58
|
+
private readonly sink;
|
|
59
|
+
private readonly where;
|
|
60
|
+
private readonly rows;
|
|
61
|
+
private omitted;
|
|
62
|
+
private last;
|
|
63
|
+
private filed;
|
|
64
|
+
constructor(sink: RequestEvidenceSink, where: RequestWhere);
|
|
65
|
+
/** One attempt as the runner recorded it. */
|
|
66
|
+
attempt(record: AttemptRecord, seen: AttemptSeen | undefined, declined?: DeclineReason): void;
|
|
67
|
+
/**
|
|
68
|
+
* The caller's cancellation cut attempt `n` in flight. It was sent — the
|
|
69
|
+
* server may have it, and may have run it — so it is a row, `cut`, with the
|
|
70
|
+
* remote outcome `unknown`; then the request's end says the same.
|
|
71
|
+
*/
|
|
72
|
+
cutInFlight(n: number): void;
|
|
73
|
+
/**
|
|
74
|
+
* The caller's cancellation landed with NO request in flight: between two —
|
|
75
|
+
* `during: 'wait'`, the next request never sent — or before the first, when
|
|
76
|
+
* nothing was sent and there is no `during`. No row is added: there is no
|
|
77
|
+
* request to account for. A request that had already ended keeps its end.
|
|
78
|
+
*/
|
|
79
|
+
cancelled(): void;
|
|
80
|
+
/**
|
|
81
|
+
* The series delivered a response. It is the last attempt's — an answer, or a
|
|
82
|
+
* refusal it will not ask again after. A refusal it MEANT to ask again after
|
|
83
|
+
* is delivered when the deadline lands inside the wait: the runner's wait
|
|
84
|
+
* ends early, the series stops, and the end says so (`no-time-left`, during
|
|
85
|
+
* the `wait`).
|
|
86
|
+
*/
|
|
87
|
+
delivered(): void;
|
|
88
|
+
/**
|
|
89
|
+
* The series threw. The end is the last attempt's when that attempt ended it
|
|
90
|
+
* (a failure, a timed-out request). The rest is defensive — footprintjs 10.6's
|
|
91
|
+
* runner never throws without a record but for a cancellation, which is filed
|
|
92
|
+
* as one: a deadline that had passed before the first request (`timed-out`,
|
|
93
|
+
* no `during`, nothing sent) or one a future runner reports from inside a wait
|
|
94
|
+
* (`during: 'wait'`); anything else is filed as a failure the record cannot
|
|
95
|
+
* account for, so a request is never left unfiled.
|
|
96
|
+
*/
|
|
97
|
+
threw(outOfTime: boolean): void;
|
|
98
|
+
private add;
|
|
99
|
+
private file;
|
|
100
|
+
}
|
|
101
|
+
/** One record as a row — see the module note for what a row may say. */
|
|
102
|
+
export declare function rowOf(record: AttemptRecord, seen: AttemptSeen | undefined, declined?: DeclineReason): ToolRequestAttempt;
|
|
103
|
+
//# sourceMappingURL=seriesEvidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seriesEvidence.d.ts","sourceRoot":"","sources":["../../../src/mcp/seriesEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EACV,kBAAkB,EAGlB,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AAErC,0FAA0F;AAC1F,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC;AAExE,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;QAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnG;AAED,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,iBAAiB,EACjB,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,eAAe,CACjF,CAAC;AAOF,2EAA2E;AAC3E,qBAAa,cAAc;IAMb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAuB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAL9E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,IAAI,CAAiC;IAC7C,OAAO,CAAC,KAAK,CAAS;gBAEO,IAAI,EAAE,mBAAmB,EAAmB,KAAK,EAAE,YAAY;IAE5F,6CAA6C;IAC7C,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI;IAK7F;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM5B;;;;;OAKG;IACH,SAAS,IAAI,IAAI;IAajB;;;;;;OAMG;IACH,SAAS,IAAI,IAAI;IAajB;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAmB/B,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,IAAI;CASb;AAcD,wEAAwE;AACxE,wBAAgB,KAAK,CACnB,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,QAAQ,CAAC,EAAE,aAAa,GACvB,kBAAkB,CAqBpB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* throttleRetry — when an MCP server refuses a request
|
|
3
|
-
* and ask again.
|
|
2
|
+
* throttleRetry — when an MCP server refuses a request with a response the
|
|
3
|
+
* retry policy recognises (HTTP 429), wait and ask again.
|
|
4
4
|
*
|
|
5
5
|
* ── Why this exists ──────────────────────────────────────────────────────────
|
|
6
6
|
* Managed MCP gateways enforce per-principal rate limits. A throttled
|
|
@@ -10,20 +10,24 @@
|
|
|
10
10
|
* tool, or invents an answer. A designed, transient, self-clearing condition
|
|
11
11
|
* was being turned into a wrong answer.
|
|
12
12
|
*
|
|
13
|
-
* ──
|
|
14
|
-
* **
|
|
15
|
-
* at the edge
|
|
16
|
-
*
|
|
13
|
+
* ── What retrying a 429 assumes, and why the policy is 429-ONLY ─────────────
|
|
14
|
+
* **Automatic 429 retries assume the server rejected the request before
|
|
15
|
+
* executing it.** A rate limiter that refuses at the edge has not run the tool —
|
|
16
|
+
* but HTTP 429 says only that the request was rate-limited (RFC 6585 §4), so the
|
|
17
|
+
* saved response records the assumption's basis (the server's 429), not proof
|
|
18
|
+
* that nothing ran. There is no side-effect guard here: a tool with side
|
|
19
|
+
* effects is retried on 429 like any other today, and `retryOnThrottle: false`
|
|
20
|
+
* turns that off per server. What is certain is the contrast with a 500 or a
|
|
17
21
|
* timeout, where the call may have half-run and a retry could charge a card
|
|
18
22
|
* twice.
|
|
19
23
|
*
|
|
20
|
-
* That
|
|
21
|
-
* widen. Only HTTP 429 retries here. Not 5xx, not network errors, not timeouts
|
|
24
|
+
* That assumption is the whole license for this module, so the policy must
|
|
25
|
+
* never widen. Only HTTP 429 retries here. Not 5xx, not network errors, not timeouts
|
|
22
26
|
* — those belong to a caller who knows whether the specific tool is idempotent,
|
|
23
27
|
* and this seam does not. A property test pins the boundary.
|
|
24
28
|
*
|
|
25
29
|
* The loop takes its question as a {@link RetryDecision}, so the one other
|
|
26
|
-
* refusal a service
|
|
30
|
+
* refusal a service documents as one to retry — AgentCore Runtime's "session
|
|
27
31
|
* operation in progress" — reuses this loop rather than growing a second one.
|
|
28
32
|
* That decision is applied only by that vendor's own transport; what
|
|
29
33
|
* `mcpClient` and `retryingFetch` retry is still a 429 and nothing else.
|
|
@@ -46,10 +50,13 @@
|
|
|
46
50
|
*
|
|
47
51
|
* ── The loop is footprintjs's attempt runner, one series per call ────────────
|
|
48
52
|
* Each call runs ONE `attempt()` series (footprintjs, used as it ships). Its
|
|
49
|
-
* runner makes an attempt record per try
|
|
50
|
-
*
|
|
51
|
-
* the
|
|
52
|
-
*
|
|
53
|
+
* runner makes an attempt record per try. `onRetry`, before each wait, is what
|
|
54
|
+
* reaches a caller; the RUN gets the records: for a call the agent dispatched,
|
|
55
|
+
* the series files every attempt and how the request ended into that call's
|
|
56
|
+
* run (`seriesEvidence.ts`, through the connection's `requestLedger.ts`). An
|
|
57
|
+
* attempt sends the request once, and an attempt that got a RESPONSE is not an
|
|
58
|
+
* operation that succeeded: a 503 is delivered as the answer it was, never
|
|
59
|
+
* retried — and written down as `answered` with its status, never success.
|
|
53
60
|
* A response a rule's decision recognises is thrown as a refusal that names
|
|
54
61
|
* its kind, and the policy's `retryOn` accepts those refusals and nothing
|
|
55
62
|
* else — so a 5xx, a dropped connection or a timeout ends the series on the
|
|
@@ -83,6 +90,7 @@
|
|
|
83
90
|
*
|
|
84
91
|
* Pattern: Decorator over `fetch`. Role: Layer-3 tool transport.
|
|
85
92
|
*/
|
|
93
|
+
import type { RequestLedger } from './requestLedger.js';
|
|
86
94
|
/**
|
|
87
95
|
* The fetch shape the MCP SDK's `fetch` hook uses — deliberately NARROWER
|
|
88
96
|
* than `gatewayTransport`'s `FetchLike` (no `Request` input), because that is
|
|
@@ -184,21 +192,24 @@ export interface ThrottleRetryOptions {
|
|
|
184
192
|
/**
|
|
185
193
|
* A name for this endpoint, declared by you, that `onRetry` reports as
|
|
186
194
|
* `endpoint` — so a log line can say which server was retried without
|
|
187
|
-
* carrying any part of its URL past the origin.
|
|
188
|
-
*
|
|
189
|
-
*
|
|
195
|
+
* carrying any part of its URL past the origin. A dispatched call's saved
|
|
196
|
+
* attempts name the endpoint by it too, in place of the origin. 1–128
|
|
197
|
+
* characters, none of them control characters. Absent, `onRetry` has no
|
|
198
|
+
* `endpoint` field; the library never makes one up from the URL.
|
|
190
199
|
*/
|
|
191
200
|
readonly endpointLabel?: string;
|
|
192
201
|
/**
|
|
193
|
-
* A notification before each wait
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
+
* A notification before each wait. It is told the refusal's kind, the
|
|
203
|
+
* attempt about to start, the wait, the endpoint's origin and the label you
|
|
204
|
+
* declared for it (`endpointLabel`) — never the URL's path, the request's
|
|
205
|
+
* arguments or the server's answer. It is not told how the call ended. The
|
|
206
|
+
* contract matches what `withRetry` and `withCredentialRetry` already use: a
|
|
207
|
+
* decorator at a transport boundary reports to its consumer.
|
|
208
|
+
*
|
|
209
|
+
* What the RUN keeps is separate and needs no hook: for a call the agent
|
|
210
|
+
* dispatched, the series files every attempt — its outcome, its reason, its
|
|
211
|
+
* wait — and how the request ended, as `agentfootprint.tools.request_attempts`
|
|
212
|
+
* (the label is reported there as `endpoint`).
|
|
202
213
|
*
|
|
203
214
|
* A retried call is not invisible without this: the wait lands inside the
|
|
204
215
|
* tool's `stream.tool_end` `durationMs`, and an exhausted retry still
|
|
@@ -229,9 +240,10 @@ export interface RetryVerdict {
|
|
|
229
240
|
* The one question the loop asks of each response.
|
|
230
241
|
*
|
|
231
242
|
* ── The license every decision must hold ─────────────────────────────────────
|
|
232
|
-
* A decision may answer "again" ONLY for a
|
|
233
|
-
*
|
|
234
|
-
* note). A response that could be
|
|
243
|
+
* A decision may answer "again" ONLY for a response the library treats as a
|
|
244
|
+
* refusal made before anything ran — the assumption a 429 retry rests on (see
|
|
245
|
+
* the module note: the 429 is its basis, not proof). A response that could be
|
|
246
|
+
* the record of half-done work is never one.
|
|
235
247
|
* The library holds exactly two such decisions: {@link throttled} below, and
|
|
236
248
|
* AgentCore Runtime's documented "session operation in progress" refusal,
|
|
237
249
|
* which lives with that vendor's adapter (`adapters/mcp/agentcoreRuntime/`).
|
|
@@ -333,20 +345,43 @@ export declare function retryRule(kind: RetryKind, decide: RetryDecision, config
|
|
|
333
345
|
* is built, never at the first call.
|
|
334
346
|
*/
|
|
335
347
|
export declare function retryingFetch(inner: ThrottleFetch | undefined, config: RetryOnThrottle | undefined): ThrottleFetch | undefined;
|
|
348
|
+
/**
|
|
349
|
+
* @internal What one call's series is built from: the rules it asks, in order,
|
|
350
|
+
* and the connection's ledger — which tool call each request belongs to, so the
|
|
351
|
+
* series can file its attempts into that call's run (`requestLedger.ts`).
|
|
352
|
+
*/
|
|
353
|
+
export interface SeriesSpec {
|
|
354
|
+
readonly rules: readonly RetryRule[];
|
|
355
|
+
readonly ledger?: RequestLedger;
|
|
356
|
+
}
|
|
357
|
+
/** @internal What a joinable fetch's series can be rebuilt with: one more rule, or a ledger. */
|
|
358
|
+
export type SeriesJoin = {
|
|
359
|
+
readonly rule: RetryRule;
|
|
360
|
+
} | {
|
|
361
|
+
readonly ledger: RequestLedger;
|
|
362
|
+
};
|
|
363
|
+
/** @internal `spec` with `join` in it. */
|
|
364
|
+
export declare function joinedSpec(spec: SeriesSpec, join: SeriesJoin): SeriesSpec;
|
|
336
365
|
/**
|
|
337
366
|
* @internal Declare that `fetch` runs its retries in ONE series, and how to
|
|
338
|
-
* rebuild it with one more rule in that same series.
|
|
339
|
-
* a fetch instead of wrapping it. A transport whose
|
|
340
|
-
* series (a session applied around it, its answers
|
|
341
|
-
* this so the rule lands INSIDE that wrapping.
|
|
367
|
+
* rebuild it with one more rule — or with a ledger — in that same series.
|
|
368
|
+
* `retryingFetch` joins such a fetch instead of wrapping it. A transport whose
|
|
369
|
+
* public fetch wraps its series (a session applied around it, its answers
|
|
370
|
+
* rewritten after it) uses this so the rule lands INSIDE that wrapping.
|
|
371
|
+
*/
|
|
372
|
+
export declare function joinableRetry(fetch: ThrottleFetch, rebuild: (join: SeriesJoin) => ThrottleFetch): ThrottleFetch;
|
|
373
|
+
/**
|
|
374
|
+
* @internal `fetch` rebuilt so its series files each request's attempts through
|
|
375
|
+
* `ledger` — or `undefined` when `fetch` runs no series (retry off), so there
|
|
376
|
+
* is nothing to file and the caller keeps `fetch` as it is.
|
|
342
377
|
*/
|
|
343
|
-
export declare function
|
|
378
|
+
export declare function ledgeredFetch(fetch: ThrottleFetch, ledger: RequestLedger): ThrottleFetch | undefined;
|
|
344
379
|
/**
|
|
345
|
-
* @internal The one series per call over `inner`, asking `rules` in order —
|
|
380
|
+
* @internal The one series per call over `inner`, asking `spec.rules` in order —
|
|
346
381
|
* `inner` itself when there are none. The first rule holds the call's budget;
|
|
347
382
|
* see the module note. The result is joinable.
|
|
348
383
|
*/
|
|
349
|
-
export declare function retryingFetchFor(inner: ThrottleFetch,
|
|
384
|
+
export declare function retryingFetchFor(inner: ThrottleFetch, spec: SeriesSpec): ThrottleFetch;
|
|
350
385
|
/**
|
|
351
386
|
* `Retry-After` in either legal form: delta-seconds (`"2"`) or an HTTP-date
|
|
352
387
|
* (`"Wed, 21 Oct 2026 07:28:00 GMT"`). Anything else is treated as absent so a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttleRetry.d.ts","sourceRoot":"","sources":["../../../src/mcp/throttleRetry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"throttleRetry.d.ts","sourceRoot":"","sources":["../../../src/mcp/throttleRetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -207,13 +207,18 @@ export interface McpClientOptions {
|
|
|
207
207
|
* the transport's `retry` values as the call's overall limits and these as
|
|
208
208
|
* limits on the 429 retries inside them.
|
|
209
209
|
*
|
|
210
|
-
* **
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
210
|
+
* **What this assumes.** Automatic 429 retries assume the server rejected
|
|
211
|
+
* the request before executing it. The saved response records that
|
|
212
|
+
* assumption's basis (the server's 429), not proof that nothing ran: HTTP 429
|
|
213
|
+
* says the request was rate-limited, nothing more (RFC 6585 §4). A tool with
|
|
214
|
+
* side effects is retried on 429 like any other today — this retry has no
|
|
215
|
+
* side-effect guard and sends no deduplication key — and
|
|
216
|
+
* `retryOnThrottle: false` turns that off for this server. Nothing else is
|
|
217
|
+
* retried: a 5xx or a timeout may be the record of work that ran.
|
|
218
|
+
*
|
|
219
|
+
* **Why this is on by default.** Managed gateways rate-limit per principal by
|
|
220
|
+
* design, and without this a designed, self-clearing condition reached the
|
|
221
|
+
* model as a thrown tool error it reads as "this tool is broken".
|
|
217
222
|
*
|
|
218
223
|
* Ignored for `stdio`, which has no HTTP status to read.
|
|
219
224
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAItF,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;yDAQqD;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC;IAEnE,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1E,oEAAoE;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAChD,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAItF,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;yDAQqD;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC;IAEnE,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1E,oEAAoE;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB,yDAAyD;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAEhC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,oFAAoF;IACpF,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAErD;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAEnC,oEAAoE;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,qDAAqD;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC;IACrC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;CAC9B;AAID;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,KAAK,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAElC;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAEpC,8EAA8E;IAC9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CACP,MAAM,CAAC,EAAE,SAAS,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7D,QAAQ,CACN,MAAM,EAAE;QACN,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD;;;;WAIG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACpD;IACD,mFAAmF;IACnF,YAAY,CAAC,EAAE,SAAS,EACxB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,KACf,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EACvC,OAAO,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAC/C,YAAY,CAAC;IAClB,QAAQ,CAAC,6BAA6B,EAAE,KACtC,GAAG,EAAE,GAAG,EACR,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;QAClD;;;;;WAKG;QACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;KACtE,KACE,OAAO,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;2EACuE;IACvE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChE;AACH,kFAAkF;GAChF;IAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC;IACpD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC;CACnD;AAED,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC;;;;;;;;OAQG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,sBAAsB,EAAE,kBAAkB,CAAC;IACzE;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,OAAO,mCAAmC,EAAE,cAAc,EAAE,CAAC;IAChG;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CACf,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,GAC1F,IAAI,CAAC;IACR,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAC7B,mGAAmG;QACnG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knownStrings.d.ts","sourceRoot":"","sources":["../../../src/redaction/knownStrings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"knownStrings.d.ts","sourceRoot":"","sources":["../../../src/redaction/knownStrings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PermissionPolicy — data-driven role-based authorization for tool dispatch.
|
|
3
3
|
*
|
|
4
|
-
* Closes
|
|
4
|
+
* Closes host-app gap #2 (of 8). Permissions are CROSS-CUTTING — they're not
|
|
5
5
|
* context engineering, they're a guard ON context-engineering operations
|
|
6
6
|
* (tool dispatch, skill activation, memory writes, output emission).
|
|
7
7
|
* That's why this lives in `agentfootprint/security`, parallel to the
|
|
@@ -192,7 +192,15 @@ export declare function copyAnswerCoverage(value: AnswerCoverage): AnswerCoverag
|
|
|
192
192
|
* zone: each `Period:` line renders its instants there, the zone named
|
|
193
193
|
* (`period.ts` · `periodLine`). Absent → the lines are the declared instants
|
|
194
194
|
* verbatim, as they always were.
|
|
195
|
+
*
|
|
196
|
+
* `displayNameOf` (a tool's `displayName`, the app's words — given only on an
|
|
197
|
+
* agent where a tool can declare one) names each item's declaring calls the
|
|
198
|
+
* way the standing line names a reason's calls (`lib/displayName.ts` ·
|
|
199
|
+
* `namedCalls`): `- PDF attachments (loading the attached data)`, the
|
|
200
|
+
* declared names named and the rest counted; and a `Period:` or "In progress"
|
|
201
|
+
* line names its call by the declared words instead of the registered name.
|
|
202
|
+
* An item no declaring call names stays the bytes it always was.
|
|
195
203
|
*/
|
|
196
|
-
export declare function composeAnswerWithCoverage(answer: string, declared: readonly DeclaredCoverage[], assumed?: string, standing?: string, presentation?: BoundPresentation, time?: TimeLimitLines): string;
|
|
204
|
+
export declare function composeAnswerWithCoverage(answer: string, declared: readonly DeclaredCoverage[], assumed?: string, standing?: string, presentation?: BoundPresentation, time?: TimeLimitLines, displayNameOf?: (toolName: string) => string | undefined): string;
|
|
197
205
|
export {};
|
|
198
206
|
//# sourceMappingURL=answer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answer.d.ts","sourceRoot":"","sources":["../../../../src/semantics/coverage/answer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAIH,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAgB,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"answer.d.ts","sourceRoot":"","sources":["../../../../src/semantics/coverage/answer.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* rendered status update.
|
|
9
9
|
*
|
|
10
10
|
* Use when:
|
|
11
|
-
* - Building a chat UI (
|
|
11
|
+
* - Building a chat UI (the host app, Lens, embedded widget) where the
|
|
12
12
|
* consumer owns rendering but not state derivation
|
|
13
13
|
* - Tier-1 of compose chains (`compose([chatBubble(setLine), stdout()])`
|
|
14
14
|
* so dev console mirrors what the user sees)
|
|
@@ -39,7 +39,7 @@ export declare const DEFAULT_CONFUSABILITY_THRESHOLD = 0.85;
|
|
|
39
39
|
export declare const DEFAULT_WATCH_BAND = 0.05;
|
|
40
40
|
/**
|
|
41
41
|
* Threshold/band calibrated for the char-frequency `mockEmbedder` on
|
|
42
|
-
* realistic tool prose (seed corpus: the
|
|
42
|
+
* realistic tool prose (seed corpus: the host-app SAN catalog). The mock
|
|
43
43
|
* compresses unrelated descriptions into ~0.85–0.97 cosine, so expect
|
|
44
44
|
* false positives even at 0.94 — with the mock, the RELATIVE ordering
|
|
45
45
|
* of `report.similarity.ranked` is the trustworthy signal; absolute
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Role: `src/tool-lint/` leaf. Pure functions over `CatalogTool`;
|
|
10
10
|
* no embedder, no I/O.
|
|
11
11
|
*
|
|
12
|
-
* Every rule encodes a FIELD FINDING from real catalogs (the
|
|
12
|
+
* Every rule encodes a FIELD FINDING from real catalogs (the host-app SAN
|
|
13
13
|
* triage agent's 29-tool catalog was the seed corpus):
|
|
14
14
|
*
|
|
15
15
|
* 1. description-missing-or-short — the model can only guess from a name.
|
|
@@ -57,7 +57,7 @@ export declare function saysWhatNotWhenRule(options?: SaysWhatNotWhenRuleOptions
|
|
|
57
57
|
* (pipe-separated literals, or comma lists behind "one of"/"allowed
|
|
58
58
|
* values") should declare a JSON-Schema `enum` instead — the model picks
|
|
59
59
|
* reliably from enums, and arg validators (#9) can enforce them. The
|
|
60
|
-
* field case:
|
|
60
|
+
* field case: the host app's `influx_get_port_ranking.metric` =
|
|
61
61
|
* `"avg_iops | peak_iops | mbps"`.
|
|
62
62
|
*/
|
|
63
63
|
export declare function enumInProseRule(): LintRule;
|
|
@@ -68,7 +68,7 @@ export interface OptionalParamRuleOptions {
|
|
|
68
68
|
readonly omissionCues?: readonly string[];
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* An optional param's omission usually MEANS something (
|
|
71
|
+
* An optional param's omission usually MEANS something (host app:
|
|
72
72
|
* `influx_get_interface_counters` without `switch_name` = fabric-wide
|
|
73
73
|
* sweep) — but the model can only reason about leaving a param out if
|
|
74
74
|
* the description says so. No description at all, or one with no
|