agentfootprint 12.0.0 → 12.1.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/CAPABILITIES.md +1 -0
- package/dist/answer-account/templates.js +12 -6
- package/dist/answer-account/templates.js.map +1 -1
- package/dist/answer-validation/types.js.map +1 -1
- package/dist/core/agent/assessment/assess.js +94 -32
- package/dist/core/agent/assessment/assess.js.map +1 -1
- package/dist/core/agent/assessment/reasons.js +2 -2
- package/dist/core/agent/assessment/reasons.js.map +1 -1
- package/dist/core/agent/assessment/sources.js +61 -23
- package/dist/core/agent/assessment/sources.js.map +1 -1
- package/dist/core/agent/negativeClaims/delivery.js +10 -1
- package/dist/core/agent/negativeClaims/delivery.js.map +1 -1
- package/dist/esm/answer-account/templates.d.ts +1 -1
- package/dist/esm/answer-account/templates.js +12 -6
- package/dist/esm/answer-account/templates.js.map +1 -1
- package/dist/esm/answer-validation/types.d.ts +10 -0
- package/dist/esm/answer-validation/types.js.map +1 -1
- package/dist/esm/core/agent/assessment/assess.d.ts +6 -3
- package/dist/esm/core/agent/assessment/assess.js +95 -33
- package/dist/esm/core/agent/assessment/assess.js.map +1 -1
- package/dist/esm/core/agent/assessment/reasons.js +2 -2
- package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
- package/dist/esm/core/agent/assessment/sources.d.ts +26 -1
- package/dist/esm/core/agent/assessment/sources.js +59 -22
- package/dist/esm/core/agent/assessment/sources.js.map +1 -1
- package/dist/esm/core/agent/assessment/types.d.ts +3 -1
- package/dist/esm/core/agent/negativeClaims/delivery.d.ts +9 -1
- package/dist/esm/core/agent/negativeClaims/delivery.js +10 -1
- package/dist/esm/core/agent/negativeClaims/delivery.js.map +1 -1
- package/dist/esm/identity/types.d.ts +12 -0
- package/dist/esm/identity/types.js.map +1 -1
- package/dist/esm/identity/withCredentialRetry.d.ts +5 -0
- package/dist/esm/identity/withCredentialRetry.js +16 -3
- package/dist/esm/identity/withCredentialRetry.js.map +1 -1
- package/dist/esm/lib/boundedJson.d.ts +27 -0
- package/dist/esm/lib/boundedJson.js +33 -0
- package/dist/esm/lib/boundedJson.js.map +1 -1
- package/dist/esm/mcp/callChecks.d.ts +160 -0
- package/dist/esm/mcp/callChecks.js +237 -0
- package/dist/esm/mcp/callChecks.js.map +1 -0
- package/dist/esm/mcp/gatewayTransport.d.ts +8 -0
- package/dist/esm/mcp/gatewayTransport.js +35 -2
- package/dist/esm/mcp/gatewayTransport.js.map +1 -1
- package/dist/esm/mcp/index.d.ts +3 -1
- package/dist/esm/mcp/index.js +7 -0
- package/dist/esm/mcp/index.js.map +1 -1
- package/dist/esm/mcp/listingGenerations.d.ts +54 -0
- package/dist/esm/mcp/listingGenerations.js +75 -0
- package/dist/esm/mcp/listingGenerations.js.map +1 -0
- package/dist/esm/mcp/mcpClient.js +108 -23
- package/dist/esm/mcp/mcpClient.js.map +1 -1
- package/dist/esm/mcp/toolList.d.ts +90 -0
- package/dist/esm/mcp/toolList.js +123 -0
- package/dist/esm/mcp/toolList.js.map +1 -0
- package/dist/esm/mcp/types.d.ts +118 -2
- package/dist/esm/tool-providers/index.d.ts +2 -2
- package/dist/esm/tool-providers/index.js +8 -0
- package/dist/esm/tool-providers/index.js.map +1 -1
- package/dist/identity/types.js.map +1 -1
- package/dist/identity/withCredentialRetry.js +16 -3
- package/dist/identity/withCredentialRetry.js.map +1 -1
- package/dist/lib/boundedJson.js +35 -1
- package/dist/lib/boundedJson.js.map +1 -1
- package/dist/mcp/callChecks.js +247 -0
- package/dist/mcp/callChecks.js.map +1 -0
- package/dist/mcp/gatewayTransport.js +35 -2
- package/dist/mcp/gatewayTransport.js.map +1 -1
- package/dist/mcp/index.js +10 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/listingGenerations.js +80 -0
- package/dist/mcp/listingGenerations.js.map +1 -0
- package/dist/mcp/mcpClient.js +108 -23
- package/dist/mcp/mcpClient.js.map +1 -1
- package/dist/mcp/toolList.js +128 -0
- package/dist/mcp/toolList.js.map +1 -0
- package/dist/tool-providers/index.js +9 -1
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/types/answer-account/templates.d.ts +1 -1
- package/dist/types/answer-account/templates.d.ts.map +1 -1
- package/dist/types/answer-validation/types.d.ts +10 -0
- package/dist/types/answer-validation/types.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/assess.d.ts +6 -3
- package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/sources.d.ts +26 -1
- package/dist/types/core/agent/assessment/sources.d.ts.map +1 -1
- package/dist/types/core/agent/assessment/types.d.ts +3 -1
- package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
- package/dist/types/core/agent/negativeClaims/delivery.d.ts +9 -1
- package/dist/types/core/agent/negativeClaims/delivery.d.ts.map +1 -1
- package/dist/types/identity/types.d.ts +12 -0
- package/dist/types/identity/types.d.ts.map +1 -1
- package/dist/types/identity/withCredentialRetry.d.ts +5 -0
- package/dist/types/identity/withCredentialRetry.d.ts.map +1 -1
- package/dist/types/lib/boundedJson.d.ts +27 -0
- package/dist/types/lib/boundedJson.d.ts.map +1 -1
- package/dist/types/mcp/callChecks.d.ts +161 -0
- package/dist/types/mcp/callChecks.d.ts.map +1 -0
- package/dist/types/mcp/gatewayTransport.d.ts +8 -0
- package/dist/types/mcp/gatewayTransport.d.ts.map +1 -1
- package/dist/types/mcp/index.d.ts +3 -1
- package/dist/types/mcp/index.d.ts.map +1 -1
- package/dist/types/mcp/listingGenerations.d.ts +55 -0
- package/dist/types/mcp/listingGenerations.d.ts.map +1 -0
- package/dist/types/mcp/mcpClient.d.ts.map +1 -1
- package/dist/types/mcp/toolList.d.ts +91 -0
- package/dist/types/mcp/toolList.d.ts.map +1 -0
- package/dist/types/mcp/types.d.ts +118 -2
- package/dist/types/mcp/types.d.ts.map +1 -1
- package/dist/types/tool-providers/index.d.ts +2 -2
- package/dist/types/tool-providers/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -20,5 +20,13 @@ export declare function renderNegativeCandidate(candidate: unknown, config: Nega
|
|
|
20
20
|
correction: boolean;
|
|
21
21
|
allowed: boolean;
|
|
22
22
|
};
|
|
23
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Merge negative verdicts without manufacturing a successful host comparison.
|
|
25
|
+
*
|
|
26
|
+
* THE ONE PROJECTION of a negative row onto the report: its code becomes the
|
|
27
|
+
* check's `reason`, and the tools it names stay `tools` — the answer's fold
|
|
28
|
+
* reads both off this row (`assessment/assess.ts` · `readAnswerRows`,
|
|
29
|
+
* `assessment/sources.ts` · `callsOfCheck`), so a field it reads is never
|
|
30
|
+
* left behind here. A row that names no tool carries no `tools`.
|
|
31
|
+
*/
|
|
24
32
|
export declare function reportWithNegatives(report: AnswerValidationReport, answer: AnswerNegatives, allowed: boolean): AnswerValidationReport;
|
|
@@ -219,13 +219,22 @@ export function renderNegativeCandidate(candidate, config, record, trusted, inte
|
|
|
219
219
|
};
|
|
220
220
|
return { candidate: { ...source, [config.field]: claims }, answer, correction, allowed };
|
|
221
221
|
}
|
|
222
|
-
/**
|
|
222
|
+
/**
|
|
223
|
+
* Merge negative verdicts without manufacturing a successful host comparison.
|
|
224
|
+
*
|
|
225
|
+
* THE ONE PROJECTION of a negative row onto the report: its code becomes the
|
|
226
|
+
* check's `reason`, and the tools it names stay `tools` — the answer's fold
|
|
227
|
+
* reads both off this row (`assessment/assess.ts` · `readAnswerRows`,
|
|
228
|
+
* `assessment/sources.ts` · `callsOfCheck`), so a field it reads is never
|
|
229
|
+
* left behind here. A row that names no tool carries no `tools`.
|
|
230
|
+
*/
|
|
223
231
|
export function reportWithNegatives(report, answer, allowed) {
|
|
224
232
|
const rows = answer.checks.map((row) => ({
|
|
225
233
|
id: row.id,
|
|
226
234
|
path: row.path,
|
|
227
235
|
disposition: row.disposition,
|
|
228
236
|
reason: row.code,
|
|
237
|
+
...(row.tools.length > 0 && { tools: [...row.tools] }),
|
|
229
238
|
}));
|
|
230
239
|
const checks = [...report.checks, ...rows];
|
|
231
240
|
const failed = checks.filter((row) => row.disposition === 'checked-fail').length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../../src/core/agent/negativeClaims/delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../../../../src/core/agent/negativeClaims/delivery.ts"],"names":[],"mappings":"AAAA;;mFAEmF;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EACL,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,gDAAgD,CAAC;AAOxD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAoBvD,MAAM,MAAM,GAAG,oBAAoB,CAAC;AACpC,MAAM,GAAG,GAAG,CAAC,CAAU,EAAgC,EAAE,CACvD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3D;8EAC8E;AAC9E,SAAS,WAAW,CAAC,KAAe,EAAE,KAAe;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC3C,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,KAAK,KAAK,QAAQ;QACvB,IAAI,CAAC,IAAI,KAAK,MAAM;QACpB,IAAI,CAAC,GAAG,KAAK,IAAI;QACjB,IAAI,CAAC,QAAQ,KAAK,SAAS;QAC3B,IAAI,CAAC,KAAK,KAAK,SAAS,CAC3B,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,OAAO,CAAC,IAAI,CACV,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,QAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAC5F,CACF,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,QAAQ,GAA0E;IACtF,sBAAsB,EAAE,kEAAkE;IAC1F,uBAAuB,EACrB,mFAAmF;IACrF,qBAAqB,EACnB,uHAAuH;IACzH,mBAAmB,EACjB,2FAA2F;IAC7F,qBAAqB,EACnB,6JAA6J;IAC/J,mBAAmB,EACjB,mHAAmH;IACrH,qBAAqB,EACnB,2EAA2E;IAC7E,uBAAuB,EACrB,oFAAoF;IACtF,qBAAqB,EACnB,4GAA4G;IAC9G,eAAe,EACb,oFAAoF;IACtF,kBAAkB,EAChB,mGAAmG;IACrG,4BAA4B,EAC1B,mFAAmF;IACrF,eAAe,EACb,6FAA6F;IAC/F,gBAAgB,EACd,yGAAyG;IAC3G,mBAAmB,EACjB,gGAAgG;IAClG,YAAY,EACV,iGAAiG;IACnG,iBAAiB,EACf,uGAAuG;IACzG,yBAAyB,EACvB,8EAA8E;CACjF,CAAC;AAEF,SAAS,UAAU,CAAC,GAAuB;IACzC,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,CAAC;IAC1C,2EAA2E;IAC3E,gFAAgF;IAChF,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,CACL,mDAAmD,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE;QACxE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,wCAAwC,CACzC,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,KAAe,EAAW,EAAE,CACjE,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;IACjC,eAAe,CAAC,KAAK,CAAC;IACtB,KAAK,CAAC,SAAS,KAAK,WAAW;IAC/B,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC;IACjC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC;IACnC,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE7B,MAAM,UAAU,uBAAuB,CACrC,SAAkB,EAClB,MAA8B,EAC9B,MAAkB,EAClB,OAAoC,EACpC,iBAAiD,gBAAgB;IAEjE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,mBAAmB,CAAC;IAClF,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,UAAU,GAAc,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,UAAU;QACrB,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,KAAK;QACrB,cAAc;KACf,CAAC,CAAC;IACH,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,UAAU,GACd,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;YAC7E,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GACd,SAAS;YACT,GAAG,CAAC,GAAG,CAAC;YACR,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,IAAI,CAAC,MAAM,IAAI,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,MAAM,SAAS,GACb,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAyB,CAAC;QACjD,MAAM,IAAI,GAAG,CACX,IAAyB,EACzB,cAA8C,aAAa,EAC3D,EAAE;YACF,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC;QACF,IAAI,CAAC,SAAS;YACZ,IAAI,CACF,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAmB;gBAC5D,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,qBAAqB,CAC1B,CAAC;aACC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;aAC7C,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aACtC,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;iBAC5E,IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAClF;gBAED,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;QAChD,CAAC;QACD,6EAA6E;QAC7E,MAAM,WAAW,GACf,UAAU;YACV,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,KAAK,CAAC,KAAK,CACT,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,CAAC,IAAI,CAAC;gBACb,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;gBACxB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACpC,IAAI,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO;gBAC9B,IAAI,CAAC,OAAO,KAAK,IAAI,CACxB,CAAC;QACJ,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC;QAC/C,MAAM,QAAQ,GACZ,CAAC,WAAW,IAAI,WAAW;YACzB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;gBAC1B,OAAO,CAAC,KAAK,CAAC;gBACd,KAAK,CAAC,MAAM,KAAK,MAAM;gBACvB,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS;gBAC5B,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;gBAC3D,KAAK,CAAC,OAAO,KAAK,IAAI;gBACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACrC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;gBACvD,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CACpD;YACH,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrB,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAClF,CAAC;QACJ,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,SAAS,GAAG,WAAW;YACzB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI;YAC9B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,wBAAwB,CACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,GAAG,KAAK,SAAS;oBACpB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CACjE,EACD,MAAM,CAAC,KAAK,EACZ;oBACE,OAAO;oBACP,aAAa,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACrC,IAAI;wBACJ,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;qBAClC,CAAC,CAAC;iBACJ,CACF,CAAC,IAAI;gBACR,CAAC,CAAC,OAAO,CAAC;QACZ,0EAA0E;QAC1E,4EAA4E;QAC5E,IACE,KAAK,CAAC,IAAI,KAAK,UAAU;YACzB,GAAG,CAAC,IAAI,KAAK,mBAAmB;YAChC,WAAW;YACX,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,iBAAiB,CAAC,EAC3D,CAAC;YACD,MAAM,OAAO,GAAG,uBAAuB,CACrC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAChD,MAAM,EACN,MAAM,EACN,OAAO,EACP,cAAc,CACf,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;gBACrD,SAAS;oBACP,8EAA8E;wBAC9E,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IACE,GAAG,CAAC,IAAI,KAAK,SAAS;YACtB,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;YACrD,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;YACjD,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI;YAEvB,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,UAAU,KAAK,GAAG,CAAC,IAAI,KAAK,qBAAqB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC;QAC/E,MAAM,QAAQ,GAAG,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,EACL,WAAW,IAAI,WAAW;gBACxB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CACzB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAC9E;gBACH,CAAC,CAAC,EAAE;YACR,SAAS,EAAE,SAAS,IAAI,uDAAuD;YAC/E,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,WAAW,IAAI,MAAM,CAAC,aAAa,KAAK,gBAAgB,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI;QACJ,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAC1B,CAAC,IAAI,EAAE,EAAE,CACP,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3B,IAAI,CAAC,QAAQ,KAAK,IAAI;YACtB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;YACzB,eAAe,CAAC,IAAI,CAAC;YACrB,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO;gBAC7B,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACjF,IAAI,CAAC,OAAO,KAAK,IAAI;YACrB,OAAO,CAAC,IAAI,CAAC,CAChB,CAAC,MAAM;KACT,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAoB;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,iBAAiB;QAC1B,QAAQ,EAAE,OAAO;YACf,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC;gBAC5F,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,UAAU;YACd,CAAC,CAAC,UAAU;QACd,MAAM;QACN,MAAM;QACN,QAAQ;QACR,OAAO,EAAE,MAAM,CAAC,KAAK;aAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;aACxF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KACnE,CAAC;IACF,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA8B,EAC9B,MAAuB,EACvB,OAAgB;IAEhB,MAAM,IAAI,GAAkB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;KACvD,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,cAAc,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;IACrF,OAAO;QACL,GAAG,MAAM;QACT,MAAM;QACN,MAAM;QACN,WAAW;QACX,OAAO,EAAE,MAAM,CAAC,MAAM,CACpB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,cAAc,IAAI,GAAG,CAAC,WAAW,KAAK,cAAc,CAClF,CAAC,MAAM;QACR,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,gBAAgB,CAAC,CAAC,MAAM;QAClF,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;QAC9E,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;KACjD,CAAC;AACJ,CAAC"}
|
|
@@ -79,6 +79,18 @@ export interface CredentialRequest {
|
|
|
79
79
|
readonly request?: RequestContext;
|
|
80
80
|
/** Force a fresh authorization, bypassing any cached/refresh token. */
|
|
81
81
|
readonly forceReauth?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* The abort signal of the request this credential is for — present when the
|
|
84
|
+
* caller has one, as `gatewayTransport` does for every request it vends for.
|
|
85
|
+
*
|
|
86
|
+
* A provider that does work of its own (a token endpoint, a vault, an SDK
|
|
87
|
+
* call) should hand it on and stop when it fires: the request it would serve
|
|
88
|
+
* has been cancelled or ran out of time. Ignoring it is safe, never a leak:
|
|
89
|
+
* the caller stops waiting at the abort and never uses a credential that
|
|
90
|
+
* arrives after it. It is a live object, not data: never put it in a cache
|
|
91
|
+
* key, a log line or an error message.
|
|
92
|
+
*/
|
|
93
|
+
readonly signal?: AbortSignal;
|
|
82
94
|
}
|
|
83
95
|
/**
|
|
84
96
|
* A credential, ready to apply to a downstream request. It carries its `kind`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/identity/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/identity/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA4HH,yEAAyE;AACzE,MAAM,UAAU,kBAAkB,CAAC,CAAmB;IACpD,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,aAAa,CAAC,GAAsB;YAClC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,4DAA4D,GAAG,CAAC,OAAO,QAAQ;gBAC7E,wEAAwE;gBACxE,gEAAgE,CACnE,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
* `issued` is success; `authorization-required` is a HUMAN flow (3LO
|
|
26
26
|
* consent), not a transient fault — retrying it would hammer the IdP
|
|
27
27
|
* without the user having authorized anything.
|
|
28
|
+
* • The request's `signal` (`CredentialRequest.signal`) is passed through to
|
|
29
|
+
* the wrapped provider, ends the backoff wait, and is checked immediately
|
|
30
|
+
* before every attempt, the first included: a request whose signal has
|
|
31
|
+
* fired never asks the provider (again), and the call rejects with the
|
|
32
|
+
* abort. An attempt already running is the provider's to stop.
|
|
28
33
|
* • After retries exhaust, the LAST error is rethrown — the call site
|
|
29
34
|
* behaves byte-identically to an unwrapped provider (fail-closed:
|
|
30
35
|
* `agentfootprint.credential.failed` emit + error tool result; the tool
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
* `issued` is success; `authorization-required` is a HUMAN flow (3LO
|
|
26
26
|
* consent), not a transient fault — retrying it would hammer the IdP
|
|
27
27
|
* without the user having authorized anything.
|
|
28
|
+
* • The request's `signal` (`CredentialRequest.signal`) is passed through to
|
|
29
|
+
* the wrapped provider, ends the backoff wait, and is checked immediately
|
|
30
|
+
* before every attempt, the first included: a request whose signal has
|
|
31
|
+
* fired never asks the provider (again), and the call rejects with the
|
|
32
|
+
* abort. An attempt already running is the provider's to stop.
|
|
28
33
|
* • After retries exhaust, the LAST error is rethrown — the call site
|
|
29
34
|
* behaves byte-identically to an unwrapped provider (fail-closed:
|
|
30
35
|
* `agentfootprint.credential.failed` emit + error tool result; the tool
|
|
@@ -45,6 +50,7 @@
|
|
|
45
50
|
* });
|
|
46
51
|
* const agent = Agent.create({ provider, model, credentials }).tools([...]).build();
|
|
47
52
|
*/
|
|
53
|
+
import { abortErrorOf, throwIfAborted } from '../lib/abort.js';
|
|
48
54
|
import { sleep } from '../lib/sleep.js';
|
|
49
55
|
import { defaultShouldRetry } from '../resilience/withRetry.js';
|
|
50
56
|
/**
|
|
@@ -67,6 +73,11 @@ export function withCredentialRetry(provider, options = {}) {
|
|
|
67
73
|
async getCredential(req) {
|
|
68
74
|
let lastError;
|
|
69
75
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
76
|
+
// Immediately before EVERY attempt, the first included: a request whose
|
|
77
|
+
// signal has fired never asks the provider — not before the first
|
|
78
|
+
// attempt, and not after a wait or an `onRetry` that cancelled it (a
|
|
79
|
+
// zero wait never consults the signal).
|
|
80
|
+
throwIfAborted(req.signal);
|
|
70
81
|
try {
|
|
71
82
|
// Both result branches return as-is (same object — the wrapper never
|
|
72
83
|
// clones or serializes the credential): `issued` is success;
|
|
@@ -75,14 +86,16 @@ export function withCredentialRetry(provider, options = {}) {
|
|
|
75
86
|
}
|
|
76
87
|
catch (err) {
|
|
77
88
|
lastError = err;
|
|
89
|
+
// A failure that lands after the abort is the abort, whatever
|
|
90
|
+
// `shouldRetry` says: nobody is waiting for the credential (`lib/abort.ts`).
|
|
91
|
+
throwIfAborted(req.signal);
|
|
78
92
|
if (attempt >= maxAttempts || !shouldRetry(err, attempt)) {
|
|
79
93
|
throw err;
|
|
80
94
|
}
|
|
81
95
|
const delay = Math.min(maxDelayMs, initialDelayMs * Math.pow(backoffFactor, attempt - 1));
|
|
82
96
|
onRetry?.(err, attempt + 1, delay);
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
await sleep(delay);
|
|
97
|
+
// The request's signal (`CredentialRequest.signal`) ends the wait too.
|
|
98
|
+
await sleep(delay, req.signal, abortErrorOf);
|
|
86
99
|
}
|
|
87
100
|
}
|
|
88
101
|
// Unreachable — the last attempt either returned or threw above.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withCredentialRetry.js","sourceRoot":"","sources":["../../../src/identity/withCredentialRetry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"withCredentialRetry.js","sourceRoot":"","sources":["../../../src/identity/withCredentialRetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAyB,MAAM,4BAA4B,CAAC;AAUvF;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA4B,EAC5B,UAAsC,EAAE;IAExC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,OAAO;QACL,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,QAAQ;QAC1B,KAAK,CAAC,aAAa,CAAC,GAAsB;YACxC,IAAI,SAAkB,CAAC;YACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;gBACxD,wEAAwE;gBACxE,kEAAkE;gBAClE,qEAAqE;gBACrE,wCAAwC;gBACxC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3B,IAAI,CAAC;oBACH,qEAAqE;oBACrE,6DAA6D;oBAC7D,oEAAoE;oBACpE,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,SAAS,GAAG,GAAG,CAAC;oBAChB,8DAA8D;oBAC9D,6EAA6E;oBAC7E,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3B,IAAI,OAAO,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;wBACzD,MAAM,GAAG,CAAC;oBACZ,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1F,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;oBACnC,uEAAuE;oBACvE,MAAM,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,iEAAiE;YACjE,MAAM,SAAS,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,30 @@
|
|
|
1
1
|
export declare function ownData(value: unknown, allowed?: readonly string[]): Record<string, unknown>;
|
|
2
|
+
/** A list as {@link readOwnList} read it. */
|
|
3
|
+
export interface OwnList {
|
|
4
|
+
/** The entries read, in index order — a hole or an accessor entry is `undefined` (its getter never called). */
|
|
5
|
+
readonly entries: readonly unknown[];
|
|
6
|
+
/** How many entries the list holds past the bound — counted, never read. */
|
|
7
|
+
readonly unread: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Read a list the way {@link copyJson} reads an array — a plain array only
|
|
11
|
+
* (`Array.prototype`), its own `length`, the own DATA property at each index —
|
|
12
|
+
* as a READER that never refuses: at most `maxEntries` entries, a hole or an
|
|
13
|
+
* accessor entry read as `undefined` (the getter is never called), and the
|
|
14
|
+
* entries past the bound counted in `unread`, never walked. It never calls the
|
|
15
|
+
* list's iterator, a getter or a method, so a list from a record the library
|
|
16
|
+
* did not build cannot hide its entries or run code inside the reader.
|
|
17
|
+
* `undefined` when `value` is not a plain array: the caller says what that
|
|
18
|
+
* means for its own question, the conservative way.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const list = ['a'];
|
|
23
|
+
* list.length = 3; // a hole at 1 and 2
|
|
24
|
+
* Object.defineProperty(list, Symbol.iterator, { value: function* () {} }); // never called
|
|
25
|
+
* readOwnList(list, 2); // { entries: ['a', undefined], unread: 1 }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function readOwnList(value: unknown, maxEntries: number): OwnList | undefined;
|
|
2
29
|
/** JSON copy without invoking toJSON/getters or silently dropping data. */
|
|
3
30
|
export declare function copyJson(value: unknown, maxBytes: number, freeze: boolean, maxDepth?: number): unknown;
|
|
@@ -17,6 +17,39 @@ export function ownData(value, allowed) {
|
|
|
17
17
|
}
|
|
18
18
|
return result;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Read a list the way {@link copyJson} reads an array — a plain array only
|
|
22
|
+
* (`Array.prototype`), its own `length`, the own DATA property at each index —
|
|
23
|
+
* as a READER that never refuses: at most `maxEntries` entries, a hole or an
|
|
24
|
+
* accessor entry read as `undefined` (the getter is never called), and the
|
|
25
|
+
* entries past the bound counted in `unread`, never walked. It never calls the
|
|
26
|
+
* list's iterator, a getter or a method, so a list from a record the library
|
|
27
|
+
* did not build cannot hide its entries or run code inside the reader.
|
|
28
|
+
* `undefined` when `value` is not a plain array: the caller says what that
|
|
29
|
+
* means for its own question, the conservative way.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* const list = ['a'];
|
|
34
|
+
* list.length = 3; // a hole at 1 and 2
|
|
35
|
+
* Object.defineProperty(list, Symbol.iterator, { value: function* () {} }); // never called
|
|
36
|
+
* readOwnList(list, 2); // { entries: ['a', undefined], unread: 1 }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function readOwnList(value, maxEntries) {
|
|
40
|
+
if (!Array.isArray(value) || Object.getPrototypeOf(value) !== Array.prototype)
|
|
41
|
+
return undefined;
|
|
42
|
+
const length = Object.getOwnPropertyDescriptor(value, 'length')?.value;
|
|
43
|
+
if (typeof length !== 'number' || !Number.isSafeInteger(length) || length < 0)
|
|
44
|
+
return undefined;
|
|
45
|
+
const read = Math.min(length, maxEntries);
|
|
46
|
+
const entries = [];
|
|
47
|
+
for (let index = 0; index < read; index++) {
|
|
48
|
+
const slot = Object.getOwnPropertyDescriptor(value, String(index));
|
|
49
|
+
entries.push(slot !== undefined && 'value' in slot ? slot.value : undefined);
|
|
50
|
+
}
|
|
51
|
+
return { entries, unread: length - read };
|
|
52
|
+
}
|
|
20
53
|
/** JSON copy without invoking toJSON/getters or silently dropping data. */
|
|
21
54
|
export function copyJson(value, maxBytes, freeze, maxDepth = 100) {
|
|
22
55
|
if (!Number.isSafeInteger(maxDepth) || maxDepth < 0 || maxDepth > 256)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundedJson.js","sourceRoot":"","sources":["../../../src/lib/boundedJson.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"boundedJson.js","sourceRoot":"","sources":["../../../src/lib/boundedJson.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* callChecks — a listing never makes a callable tool lose its checks.
|
|
3
|
+
*
|
|
4
|
+
* Pattern: the SDK's three per-tool call checks, carried by every tool the
|
|
5
|
+
* library hands out, plus one typed refusal.
|
|
6
|
+
* Role: The MCP SDK's `Client` runs three checks inside `callTool`, and it
|
|
7
|
+
* keeps them only for the tools of its most recent `tools/list`
|
|
8
|
+
* answer (1.32: `cacheToolMetadata` replaces them on every answer):
|
|
9
|
+
*
|
|
10
|
+
* 1. a tool with `execution.taskSupport: 'required'` is refused before a
|
|
11
|
+
* plain `tools/call` is sent;
|
|
12
|
+
* 2. a tool with an `outputSchema` must answer with `structuredContent`,
|
|
13
|
+
* unless the answer is an error;
|
|
14
|
+
* 3. that `structuredContent` must match the schema.
|
|
15
|
+
*
|
|
16
|
+
* So a tool that declares any of them carries them itself, as the listing it
|
|
17
|
+
* came from declared them. The library leaves them to the SDK only for a tool
|
|
18
|
+
* of a ONE-page list whose answer is still the latest, with no list request
|
|
19
|
+
* out (`listingGenerations.ts`), both when the call starts and when its answer
|
|
20
|
+
* comes in: the one-page normal case, which runs exactly as it always did.
|
|
21
|
+
* Every other call runs the tool's own checks, at the SDK's moments — the first
|
|
22
|
+
* before sending, the other two once the answer is in, before anything reads it
|
|
23
|
+
* — and raises the SDK's error: its own `McpError` where this arm loaded the
|
|
24
|
+
* SDK, otherwise an error with the same name, code and message. Those calls
|
|
25
|
+
* are to a tool of a paged list, a tool whose list a later answer replaced (a
|
|
26
|
+
* refresh that failed or succeeded; a reference held across it), and any call
|
|
27
|
+
* made while a list is being read.
|
|
28
|
+
*
|
|
29
|
+
* All of this covers the lists the library reads (`tools()`, `refresh()`); a
|
|
30
|
+
* listing it does not send — the SDK client's own automatic refresh, a
|
|
31
|
+
* `listTools` call of the caller's — is not seen (`listingGenerations.ts`).
|
|
32
|
+
*
|
|
33
|
+
* The output checks need a JSON Schema validator equal to the client's: the
|
|
34
|
+
* SDK's default (`AjvJsonSchemaValidator`, loaded with the SDK on the Node
|
|
35
|
+
* loader arm), or the caller's `jsonSchemaValidator`. Where neither exists — an
|
|
36
|
+
* `sdk` or `connection` arm given none — an answer under these rules is never
|
|
37
|
+
* returned unchecked (`McpOutputUncheckedError`):
|
|
38
|
+
*
|
|
39
|
+
* - a call under the tool's own checks from the start, to a tool that
|
|
40
|
+
* declares an `outputSchema`, is refused before it is sent (`sent: false`);
|
|
41
|
+
* - a call that started under the SDK's checks is refused once its answer is
|
|
42
|
+
* in, unread, when the library sent a `tools/list` request while the call
|
|
43
|
+
* was out (`sent: true`): the SDK may have checked it against another list.
|
|
44
|
+
*
|
|
45
|
+
* A schema is compiled when a tool's own checks first need it, never before:
|
|
46
|
+
* the one-page normal case compiles nothing twice.
|
|
47
|
+
*/
|
|
48
|
+
import type { McpCallToolResult, McpJsonSchemaValidator, McpListedTool } from './types.js';
|
|
49
|
+
import type { ListingGenerations } from './listingGenerations.js';
|
|
50
|
+
/** The SDK's `McpError` constructor, as `@modelcontextprotocol/sdk/types.js` exports it. */
|
|
51
|
+
export type McpErrorClass = new (code: number, message: string, data?: unknown) => Error;
|
|
52
|
+
/** A compiled output check, as the SDK's validator returns one. */
|
|
53
|
+
type Validate = (input: unknown) => {
|
|
54
|
+
readonly valid: boolean;
|
|
55
|
+
readonly errorMessage?: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* What one connection checks its tools' calls with: a validator equal to its
|
|
59
|
+
* client's, the SDK's own error class where the library loaded the SDK, and
|
|
60
|
+
* which `tools/list` answer the SDK holds its checks for.
|
|
61
|
+
*/
|
|
62
|
+
export interface CallCheckKit {
|
|
63
|
+
/** The client's name, as its refusals name it. */
|
|
64
|
+
readonly server: string;
|
|
65
|
+
/** The validator; created on first use. `undefined` when none is reachable. */
|
|
66
|
+
validator(): McpJsonSchemaValidator | undefined;
|
|
67
|
+
/** The SDK's own `McpError`, when this arm loaded the SDK. */
|
|
68
|
+
readonly McpError?: McpErrorClass;
|
|
69
|
+
/** This connection's list requests, counted (`listingGenerations.ts` · `listingsOf`). */
|
|
70
|
+
readonly listings: ListingGenerations;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The kit for one connection, named `server`, whose list requests `listings`
|
|
74
|
+
* counts (`listingsOf(connection)`, shared by every client over it). `given` is
|
|
75
|
+
* the caller's `jsonSchemaValidator`; `loaded` holds what the library loaded
|
|
76
|
+
* with the SDK on the Node loader arm — the SDK's default validator class and
|
|
77
|
+
* its `McpError` — each `undefined` where it is not a constructor (another arm,
|
|
78
|
+
* or an SDK without it).
|
|
79
|
+
*/
|
|
80
|
+
export declare function callCheckKit(server: string, listings: ListingGenerations, given: McpJsonSchemaValidator | undefined, loaded?: {
|
|
81
|
+
readonly Validator?: unknown;
|
|
82
|
+
readonly McpError?: unknown;
|
|
83
|
+
}): CallCheckKit;
|
|
84
|
+
/**
|
|
85
|
+
* `value` as a validator, or `undefined` when it was not given. Refused by name
|
|
86
|
+
* when it is something else, before anything connects.
|
|
87
|
+
*/
|
|
88
|
+
export declare function validatorOption(value: unknown, at: string): McpJsonSchemaValidator | undefined;
|
|
89
|
+
/** The checks one listed tool carries, as the listing it came from declared them. */
|
|
90
|
+
export interface CallChecks {
|
|
91
|
+
readonly server: string;
|
|
92
|
+
readonly tool: string;
|
|
93
|
+
/** `execution.taskSupport: 'required'`: only ever run as a task. */
|
|
94
|
+
readonly taskRequired: boolean;
|
|
95
|
+
/** The tool declares an `outputSchema`. */
|
|
96
|
+
readonly outputDeclared: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* True while the SDK's `Client` holds this tool's checks: the tool came from
|
|
99
|
+
* a one-page list whose answer is still the latest, and no list request is
|
|
100
|
+
* out. Then the SDK checks the call, and nothing here runs.
|
|
101
|
+
*/
|
|
102
|
+
heldBySdk(): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* The compiled output check, compiled from the declared schema on first use.
|
|
105
|
+
* `undefined` when no output is declared or no validator is reachable.
|
|
106
|
+
*/
|
|
107
|
+
validate(): Validate | undefined;
|
|
108
|
+
/** Raise an SDK error, as this arm can: the SDK's class, or its exact shape. */
|
|
109
|
+
fail(code: number, message: string): Error;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The checks `listed` carries — `undefined` when it declares none. `generation`
|
|
113
|
+
* is the one answer its list was read in, when it was read in one
|
|
114
|
+
* (`toolList.ts` · `ToolListing`); a paged list's tools have none, so the SDK
|
|
115
|
+
* never holds all of them.
|
|
116
|
+
*/
|
|
117
|
+
export declare function checksFor(listed: McpListedTool, kit: CallCheckKit, generation: number | undefined): CallChecks | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* True when this call's output cannot be checked here: it runs under the
|
|
120
|
+
* tool's own checks, the tool declares an `outputSchema`, no validator is
|
|
121
|
+
* reachable, and it is not refused as a required task anyway (that refusal is
|
|
122
|
+
* the SDK's, and comes first). The call is then refused before it is sent.
|
|
123
|
+
*/
|
|
124
|
+
export declare function outputUnchecked(checks: CallChecks): boolean;
|
|
125
|
+
/** The SDK's task refusal, word for word, before anything is sent. */
|
|
126
|
+
export declare function refuseRequiredTask(checks: CallChecks): void;
|
|
127
|
+
/**
|
|
128
|
+
* The SDK's two output checks, in its order and with its sentences, once the
|
|
129
|
+
* answer is in and before anything reads it. An answer no validator here can
|
|
130
|
+
* check is never returned: it is refused, unread, as sent.
|
|
131
|
+
*/
|
|
132
|
+
export declare function checkOutput(checks: CallChecks, result: McpCallToolResult): void;
|
|
133
|
+
/**
|
|
134
|
+
* A tool call whose output this connection cannot check, refused. The tool
|
|
135
|
+
* declares an `outputSchema`, the MCP SDK no longer holds the checks of the
|
|
136
|
+
* tool list it came from, and this connection has no JSON Schema validator to
|
|
137
|
+
* check it with — so its answer is never returned:
|
|
138
|
+
*
|
|
139
|
+
* - `sent: false` — refused before it was sent: nothing reached the server.
|
|
140
|
+
* The tool came from a paged list, from a list a later answer replaced, or
|
|
141
|
+
* the call was made while a list was being read.
|
|
142
|
+
* - `sent: true` — the call was sent, and a `tools/list` request went out
|
|
143
|
+
* before its answer came in: the SDK may have checked that answer against
|
|
144
|
+
* the other list, so it is refused unread. The tool may have run.
|
|
145
|
+
*
|
|
146
|
+
* Pass `jsonSchemaValidator` — the validator your client uses — to `mcpClient`.
|
|
147
|
+
* Names the server and the tool, never an argument or an answer.
|
|
148
|
+
*/
|
|
149
|
+
export declare class McpOutputUncheckedError extends Error {
|
|
150
|
+
readonly server: string;
|
|
151
|
+
readonly tool: string;
|
|
152
|
+
/** Whether the request left the client: `false` when the refusal came before it. */
|
|
153
|
+
readonly sent: boolean;
|
|
154
|
+
readonly code: "ERR_MCP_OUTPUT_UNCHECKED";
|
|
155
|
+
readonly reason: "output-unchecked";
|
|
156
|
+
constructor(server: string, tool: string,
|
|
157
|
+
/** Whether the request left the client: `false` when the refusal came before it. */
|
|
158
|
+
sent: boolean);
|
|
159
|
+
}
|
|
160
|
+
export {};
|