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,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* requestEvidence — the door a tool call's REQUEST attempts enter its run by.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: a per-dispatch port (the `LLMCallHooks` precedent) + one allow-list.
|
|
5
|
+
* Role: The seam between a retry series that runs BELOW a tool — inside
|
|
6
|
+
* `mcpClient`'s transport, built before any run existed — and the run
|
|
7
|
+
* that dispatched the call. The dispatcher builds the port for each
|
|
8
|
+
* call (`requestEvidenceFor`) and puts it on the call's context under
|
|
9
|
+
* an internal symbol; the MCP tool hands it down to the series that
|
|
10
|
+
* sends its request (`mcp/requestLedger.ts`); the series files ONE
|
|
11
|
+
* record when the request ends. Nothing here retries anything.
|
|
12
|
+
* Emits: agentfootprint.tools.request_attempts
|
|
13
|
+
*
|
|
14
|
+
* Why a port and not a scope: a decorator constructed by the consumer before
|
|
15
|
+
* any run exists can never reach a scope (`resilienceHooks` says the same of
|
|
16
|
+
* the provider decorators). The call is the one thing both sides share, so the
|
|
17
|
+
* port rides the call — and the identity on the event (`toolCallId`,
|
|
18
|
+
* `toolName`, `iteration`, the run's ids in the meta) is stamped HERE, from the
|
|
19
|
+
* dispatch, never by whatever files: a filing cannot claim another call.
|
|
20
|
+
*
|
|
21
|
+
* Why an internal symbol and not a public `ctx` field: this is the evidence
|
|
22
|
+
* path for the library's own retry series, not a retry API. A public member
|
|
23
|
+
* would invite every tool to file attempts the library cannot vouch for. The
|
|
24
|
+
* symbol is enumerable, so a wrapper that copies the context (`{ ...ctx }`)
|
|
25
|
+
* keeps it; a filing from anyone else still passes the allow-list below.
|
|
26
|
+
*
|
|
27
|
+
* The port only FILES. What cancels a call is the call's own context signal
|
|
28
|
+
* (`ctx.signal`), read by the MCP tool whether or not a port rides along — a
|
|
29
|
+
* cancellation must never depend on evidence being attributable.
|
|
30
|
+
*
|
|
31
|
+
* THE ALLOW-LIST is the whole record: numbers, the library's own words, the
|
|
32
|
+
* endpoint label the app declared or else the endpoint's ORIGIN. A filing with
|
|
33
|
+
* anything else in it — a field nobody listed, a word outside its set, a URL
|
|
34
|
+
* with a path, an array that is not a plain one — is refused whole, never
|
|
35
|
+
* trimmed into something it did not say. Values are read as DATA, through own
|
|
36
|
+
* property descriptors, so no getter, `toJSON` or array subclass a filing
|
|
37
|
+
* carries ever runs or reaches the record.
|
|
38
|
+
*/
|
|
39
|
+
import type { ToolsRequestAttemptsPayload } from '../events/payloads.js';
|
|
40
|
+
import { type EmitableScope } from '../recorders/core/typedEmit.js';
|
|
41
|
+
/** At most this many attempts are listed per request; the rest are counted (`omitted`). */
|
|
42
|
+
export declare const MAX_REQUEST_ATTEMPT_ROWS = 100;
|
|
43
|
+
/** What a request's series files: the event's payload, less the identity the dispatcher stamps. */
|
|
44
|
+
export type RequestEvidence = Omit<ToolsRequestAttemptsPayload, 'toolCallId' | 'toolName' | 'iteration'>;
|
|
45
|
+
/** Where one dispatched call's request evidence goes. */
|
|
46
|
+
export interface RequestEvidenceSink {
|
|
47
|
+
/** File the request's record. Never throws; a filing outside the allow-list is refused whole. */
|
|
48
|
+
file(evidence: RequestEvidence): void;
|
|
49
|
+
}
|
|
50
|
+
/** @internal The context key the dispatcher puts a call's sink under. */
|
|
51
|
+
export declare const REQUEST_EVIDENCE: unique symbol;
|
|
52
|
+
/** What the dispatcher spreads into a call's context. */
|
|
53
|
+
export interface RequestEvidencePort {
|
|
54
|
+
readonly [REQUEST_EVIDENCE]: RequestEvidenceSink;
|
|
55
|
+
}
|
|
56
|
+
/** The call the sink files for — the dispatch's own identity. */
|
|
57
|
+
export interface RequestEvidenceCall {
|
|
58
|
+
readonly toolName: string;
|
|
59
|
+
readonly toolCallId: string;
|
|
60
|
+
readonly iteration: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The port for one dispatch: files `agentfootprint.tools.request_attempts`
|
|
64
|
+
* mid-stage through `typedEmit` (so the run's redaction rule serves it, and the
|
|
65
|
+
* meta carries the real `runtimeStageId`), stamped with `call`.
|
|
66
|
+
*/
|
|
67
|
+
export declare function requestEvidenceFor(scope: EmitableScope, call: RequestEvidenceCall): RequestEvidencePort;
|
|
68
|
+
/**
|
|
69
|
+
* The sink a call's context carries, or `undefined` — a context from a door with
|
|
70
|
+
* no run (`mcpServe`, a direct `execute`), or one a wrapper rebuilt without it.
|
|
71
|
+
* Never throws, whatever `ctx` is.
|
|
72
|
+
*/
|
|
73
|
+
export declare function requestEvidenceOf(ctx: unknown): RequestEvidenceSink | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* `raw` rebuilt from allow-listed fields — a fresh plain object — or
|
|
76
|
+
* `undefined` when anything in it is outside the list.
|
|
77
|
+
*/
|
|
78
|
+
export declare function servedRequestEvidence(raw: unknown): RequestEvidence | undefined;
|
|
79
|
+
//# sourceMappingURL=requestEvidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestEvidence.d.ts","sourceRoot":"","sources":["../../../src/tools/requestEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,OAAO,KAAK,EAIV,2BAA2B,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/E,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,mGAAmG;AACnG,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,2BAA2B,EAC3B,YAAY,GAAG,UAAU,GAAG,WAAW,CACxC,CAAC;AAEF,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,iGAAiG;IACjG,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC;AAED,yEAAyE;AACzE,eAAO,MAAM,gBAAgB,EAAE,OAAO,MAAkD,CAAC;AAEzF,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CAClD;AAED,iEAAiE;AACjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,mBAAmB,GACxB,mBAAmB,CAsBrB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS,CAiB/E;AA0ED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAiB/E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentfootprint",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.3.0",
|
|
4
4
|
"description": "The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|