agentfootprint 11.4.0 → 12.0.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 +3 -1
- package/dist/adapters/code/agentcore.js +295 -214
- package/dist/adapters/code/agentcore.js.map +1 -1
- package/dist/adapters/code/agentcoreClient.js +178 -0
- package/dist/adapters/code/agentcoreClient.js.map +1 -0
- package/dist/adapters/code/agentcoreWire.js +348 -0
- package/dist/adapters/code/agentcoreWire.js.map +1 -0
- package/dist/adapters/code/fileName.js +100 -0
- package/dist/adapters/code/fileName.js.map +1 -0
- package/dist/adapters/code/local.js +529 -183
- package/dist/adapters/code/local.js.map +1 -1
- package/dist/adapters/code/output.js +140 -0
- package/dist/adapters/code/output.js.map +1 -0
- package/dist/adapters/mcp/agentcoreRuntime/invoke.js +7 -6
- package/dist/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
- package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js +36 -2
- package/dist/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
- package/dist/adapters/mcp/agentcoreRuntime/transport.js +3 -1
- package/dist/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
- package/dist/core/codeRunnerTool.js +52 -7
- package/dist/core/codeRunnerTool.js.map +1 -1
- package/dist/doors/providers.js.map +1 -1
- package/dist/esm/adapters/code/agentcore.d.ts +65 -68
- package/dist/esm/adapters/code/agentcore.js +293 -212
- package/dist/esm/adapters/code/agentcore.js.map +1 -1
- package/dist/esm/adapters/code/agentcoreClient.d.ts +193 -0
- package/dist/esm/adapters/code/agentcoreClient.js +173 -0
- package/dist/esm/adapters/code/agentcoreClient.js.map +1 -0
- package/dist/esm/adapters/code/agentcoreWire.d.ts +119 -0
- package/dist/esm/adapters/code/agentcoreWire.js +334 -0
- package/dist/esm/adapters/code/agentcoreWire.js.map +1 -0
- package/dist/esm/adapters/code/fileName.d.ts +43 -0
- package/dist/esm/adapters/code/fileName.js +96 -0
- package/dist/esm/adapters/code/fileName.js.map +1 -0
- package/dist/esm/adapters/code/local.d.ts +91 -12
- package/dist/esm/adapters/code/local.js +528 -182
- package/dist/esm/adapters/code/local.js.map +1 -1
- package/dist/esm/adapters/code/output.d.ts +70 -0
- package/dist/esm/adapters/code/output.js +129 -0
- package/dist/esm/adapters/code/output.js.map +1 -0
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.d.ts +7 -6
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js +7 -6
- package/dist/esm/adapters/mcp/agentcoreRuntime/invoke.js.map +1 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +32 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js +35 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/sessionBusy.js.map +1 -1
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js +4 -2
- package/dist/esm/adapters/mcp/agentcoreRuntime/transport.js.map +1 -1
- package/dist/esm/core/codeRunnerTool.d.ts +15 -3
- package/dist/esm/core/codeRunnerTool.js +52 -7
- package/dist/esm/core/codeRunnerTool.js.map +1 -1
- package/dist/esm/doors/providers.d.ts +1 -1
- package/dist/esm/doors/providers.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +144 -29
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mcp/callLifetime.d.ts +57 -14
- package/dist/esm/mcp/callLifetime.js +67 -19
- package/dist/esm/mcp/callLifetime.js.map +1 -1
- package/dist/esm/mcp/callMarker.d.ts +43 -0
- package/dist/esm/mcp/callMarker.js +69 -0
- package/dist/esm/mcp/callMarker.js.map +1 -0
- package/dist/esm/mcp/connectionRefusals.js +7 -0
- package/dist/esm/mcp/connectionRefusals.js.map +1 -1
- package/dist/esm/mcp/index.d.ts +2 -0
- package/dist/esm/mcp/index.js +3 -0
- package/dist/esm/mcp/index.js.map +1 -1
- package/dist/esm/mcp/mcpClient.js +93 -26
- package/dist/esm/mcp/mcpClient.js.map +1 -1
- package/dist/esm/mcp/replay.d.ts +291 -0
- package/dist/esm/mcp/replay.js +405 -0
- package/dist/esm/mcp/replay.js.map +1 -0
- package/dist/esm/mcp/replayUnavailable.d.ts +68 -0
- package/dist/esm/mcp/replayUnavailable.js +87 -0
- package/dist/esm/mcp/replayUnavailable.js.map +1 -0
- package/dist/esm/mcp/requestLedger.d.ts +115 -32
- package/dist/esm/mcp/requestLedger.js +193 -52
- package/dist/esm/mcp/requestLedger.js.map +1 -1
- package/dist/esm/mcp/seriesEvidence.d.ts +73 -15
- package/dist/esm/mcp/seriesEvidence.js +114 -21
- package/dist/esm/mcp/seriesEvidence.js.map +1 -1
- package/dist/esm/mcp/throttleRetry.d.ts +86 -42
- package/dist/esm/mcp/throttleRetry.js +158 -50
- package/dist/esm/mcp/throttleRetry.js.map +1 -1
- package/dist/esm/mcp/toolResult.d.ts +6 -0
- package/dist/esm/mcp/toolResult.js +15 -0
- package/dist/esm/mcp/toolResult.js.map +1 -1
- package/dist/esm/mcp/types.d.ts +73 -8
- package/dist/esm/provider-contract/codeSandbox.d.ts +89 -0
- package/dist/esm/provider-contract/codeSandbox.js +119 -0
- package/dist/esm/provider-contract/codeSandbox.js.map +1 -0
- package/dist/esm/provider-contract/sessionExpired.d.ts +31 -0
- package/dist/esm/provider-contract/sessionExpired.js +40 -0
- package/dist/esm/provider-contract/sessionExpired.js.map +1 -0
- package/dist/esm/provider-contract/types.d.ts +166 -17
- package/dist/esm/provider-contract/types.js +9 -0
- package/dist/esm/provider-contract/types.js.map +1 -1
- package/dist/esm/redaction/knownStrings.js +16 -0
- package/dist/esm/redaction/knownStrings.js.map +1 -1
- package/dist/esm/tool-providers/index.d.ts +2 -2
- package/dist/esm/tool-providers/index.js +4 -0
- package/dist/esm/tool-providers/index.js.map +1 -1
- package/dist/esm/tools/requestEvidence.js +60 -0
- package/dist/esm/tools/requestEvidence.js.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp/callLifetime.js +66 -18
- package/dist/mcp/callLifetime.js.map +1 -1
- package/dist/mcp/callMarker.js +74 -0
- package/dist/mcp/callMarker.js.map +1 -0
- package/dist/mcp/connectionRefusals.js +7 -0
- package/dist/mcp/connectionRefusals.js.map +1 -1
- package/dist/mcp/index.js +5 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/mcpClient.js +91 -24
- package/dist/mcp/mcpClient.js.map +1 -1
- package/dist/mcp/replay.js +415 -0
- package/dist/mcp/replay.js.map +1 -0
- package/dist/mcp/replayUnavailable.js +92 -0
- package/dist/mcp/replayUnavailable.js.map +1 -0
- package/dist/mcp/requestLedger.js +193 -52
- package/dist/mcp/requestLedger.js.map +1 -1
- package/dist/mcp/seriesEvidence.js +116 -22
- package/dist/mcp/seriesEvidence.js.map +1 -1
- package/dist/mcp/throttleRetry.js +160 -51
- package/dist/mcp/throttleRetry.js.map +1 -1
- package/dist/mcp/toolResult.js +17 -1
- package/dist/mcp/toolResult.js.map +1 -1
- package/dist/provider-contract/codeSandbox.js +125 -0
- package/dist/provider-contract/codeSandbox.js.map +1 -0
- package/dist/provider-contract/sessionExpired.js +44 -0
- package/dist/provider-contract/sessionExpired.js.map +1 -0
- package/dist/provider-contract/types.js +12 -1
- package/dist/provider-contract/types.js.map +1 -1
- package/dist/redaction/knownStrings.js +16 -0
- package/dist/redaction/knownStrings.js.map +1 -1
- package/dist/tool-providers/index.js +5 -1
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/tools/requestEvidence.js +60 -0
- package/dist/tools/requestEvidence.js.map +1 -1
- package/dist/types/adapters/code/agentcore.d.ts +65 -68
- package/dist/types/adapters/code/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/code/agentcoreClient.d.ts +194 -0
- package/dist/types/adapters/code/agentcoreClient.d.ts.map +1 -0
- package/dist/types/adapters/code/agentcoreWire.d.ts +120 -0
- package/dist/types/adapters/code/agentcoreWire.d.ts.map +1 -0
- package/dist/types/adapters/code/fileName.d.ts +44 -0
- package/dist/types/adapters/code/fileName.d.ts.map +1 -0
- package/dist/types/adapters/code/local.d.ts +91 -12
- package/dist/types/adapters/code/local.d.ts.map +1 -1
- package/dist/types/adapters/code/output.d.ts +71 -0
- package/dist/types/adapters/code/output.d.ts.map +1 -0
- package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts +7 -6
- package/dist/types/adapters/mcp/agentcoreRuntime/invoke.d.ts.map +1 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts +32 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/sessionBusy.d.ts.map +1 -1
- package/dist/types/adapters/mcp/agentcoreRuntime/transport.d.ts.map +1 -1
- package/dist/types/core/codeRunnerTool.d.ts +15 -3
- package/dist/types/core/codeRunnerTool.d.ts.map +1 -1
- package/dist/types/doors/providers.d.ts +1 -1
- package/dist/types/doors/providers.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +144 -29
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mcp/callLifetime.d.ts +57 -14
- package/dist/types/mcp/callLifetime.d.ts.map +1 -1
- package/dist/types/mcp/callMarker.d.ts +44 -0
- package/dist/types/mcp/callMarker.d.ts.map +1 -0
- package/dist/types/mcp/index.d.ts +2 -0
- package/dist/types/mcp/index.d.ts.map +1 -1
- package/dist/types/mcp/mcpClient.d.ts.map +1 -1
- package/dist/types/mcp/replay.d.ts +292 -0
- package/dist/types/mcp/replay.d.ts.map +1 -0
- package/dist/types/mcp/replayUnavailable.d.ts +69 -0
- package/dist/types/mcp/replayUnavailable.d.ts.map +1 -0
- package/dist/types/mcp/requestLedger.d.ts +115 -32
- package/dist/types/mcp/requestLedger.d.ts.map +1 -1
- package/dist/types/mcp/seriesEvidence.d.ts +73 -15
- package/dist/types/mcp/seriesEvidence.d.ts.map +1 -1
- package/dist/types/mcp/throttleRetry.d.ts +86 -42
- package/dist/types/mcp/throttleRetry.d.ts.map +1 -1
- package/dist/types/mcp/toolResult.d.ts +6 -0
- package/dist/types/mcp/toolResult.d.ts.map +1 -1
- package/dist/types/mcp/types.d.ts +73 -8
- package/dist/types/mcp/types.d.ts.map +1 -1
- package/dist/types/provider-contract/codeSandbox.d.ts +90 -0
- package/dist/types/provider-contract/codeSandbox.d.ts.map +1 -0
- package/dist/types/provider-contract/sessionExpired.d.ts +32 -0
- package/dist/types/provider-contract/sessionExpired.d.ts.map +1 -0
- package/dist/types/provider-contract/types.d.ts +166 -17
- package/dist/types/provider-contract/types.d.ts.map +1 -1
- package/dist/types/redaction/knownStrings.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/dist/types/tools/requestEvidence.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The one file-name encoder both code adapters stage inputs under.
|
|
4
|
+
*
|
|
5
|
+
* A staged input's name is caller data landing in a filesystem — a local temp
|
|
6
|
+
* directory for `localCodeRunner`, the sandbox's own disk for
|
|
7
|
+
* `agentCoreCodeRunner`. Both turn it into ONE inert segment through this
|
|
8
|
+
* function, so the same name lands under the same file name on either backend
|
|
9
|
+
* and two names never become one file on either.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.safeFileName = void 0;
|
|
13
|
+
const sha256_js_1 = require("../../lib/sha256.js");
|
|
14
|
+
/** Longest file name this adapter will write. Well inside every POSIX
|
|
15
|
+
* `NAME_MAX`, and the cap this adapter has always used. */
|
|
16
|
+
const FILE_NAME_MAX = 120;
|
|
17
|
+
/** Marks a name this adapter had to rewrite. Nothing arm A returns may start
|
|
18
|
+
* with it. */
|
|
19
|
+
const ENCODED_FILE_PREFIX = '_enc_';
|
|
20
|
+
/** Already one inert segment: no separator, no escape-looking bytes. */
|
|
21
|
+
const FILE_NAME_ALREADY_LEGAL = /^[A-Za-z0-9._-]+$/;
|
|
22
|
+
/** `.`, `..`, `...` — a name that is nothing but dots. Not a hop once the
|
|
23
|
+
* separators are gone, but not a name either, so it goes to arm B. */
|
|
24
|
+
const DOTS_ONLY = /^\.+$/;
|
|
25
|
+
/** Legal AND not the escape character — the set {@link encodeFileName} passes
|
|
26
|
+
* through untouched. */
|
|
27
|
+
const FILE_CHAR_PASSES_THROUGH = /[A-Za-z0-9.-]/;
|
|
28
|
+
/**
|
|
29
|
+
* One caller-supplied name → one inert file-name segment, **without ever
|
|
30
|
+
* folding two names into one file**.
|
|
31
|
+
*
|
|
32
|
+
* Separators cannot survive as a parent hop and `a/b` cannot become two
|
|
33
|
+
* segments — the same law `artifacts/scopePath` states for scope tuples,
|
|
34
|
+
* applied to the one other place caller strings become file names in this
|
|
35
|
+
* package. But the old version got there by REPLACING every illegal character
|
|
36
|
+
* with `_`, which meant `a/b.csv` and `a_b.csv` became the same file: the
|
|
37
|
+
* second write clobbered the first's bytes, `stageInputs` answered two manifest
|
|
38
|
+
* entries pointing at one path, and the model's code opened `a/b.csv` and read
|
|
39
|
+
* whatever `a_b.csv` contained. Nothing failed. The computation was simply run
|
|
40
|
+
* against the wrong dataset — which is the worst shape a data bug can take,
|
|
41
|
+
* because the answer still looks like an answer. `.slice(0, 120)` folded the
|
|
42
|
+
* same way for any two names agreeing on their first 120 characters.
|
|
43
|
+
*
|
|
44
|
+
* So this ENCODES instead of sanitising, in two arms whose outputs cannot meet
|
|
45
|
+
* (the shape `safeSessionId` uses in `adapters/hosting/agentcore.ts`):
|
|
46
|
+
*
|
|
47
|
+
* A. already one legal segment, not claiming to be an encoded name, and not
|
|
48
|
+
* dots-only → returned BYTE FOR BYTE. This is what keeps the fix from
|
|
49
|
+
* renaming anything that works today: `dataset.json`, `a_b.json`, every
|
|
50
|
+
* name `codeRunnerTool` derives from a declared argument, all land at
|
|
51
|
+
* exactly the path they landed at before.
|
|
52
|
+
* B. anything else → `_enc_` + an escaped form, where `_` is the escape
|
|
53
|
+
* character (`_` → `__`, any other illegal UTF-16 unit → `_uXXXX`). A
|
|
54
|
+
* decoder is a left inverse of that, which is what makes it injective.
|
|
55
|
+
*
|
|
56
|
+
* Arm A never starts with `_enc_` (excluded by construction) and every arm B
|
|
57
|
+
* output does, so no name from one arm can collide with a name from the other.
|
|
58
|
+
* Both arms produce ASCII with no `/`, no `\` and no NUL, so the path-hop law
|
|
59
|
+
* the old version enforced is unchanged.
|
|
60
|
+
*/
|
|
61
|
+
function safeFileName(raw) {
|
|
62
|
+
if (raw.length <= FILE_NAME_MAX &&
|
|
63
|
+
FILE_NAME_ALREADY_LEGAL.test(raw) &&
|
|
64
|
+
!raw.startsWith(ENCODED_FILE_PREFIX) &&
|
|
65
|
+
!DOTS_ONLY.test(raw)) {
|
|
66
|
+
return raw;
|
|
67
|
+
}
|
|
68
|
+
const encoded = ENCODED_FILE_PREFIX + encodeFileName(raw);
|
|
69
|
+
// Strictly less, so the two shapes below are told apart by LENGTH alone: a
|
|
70
|
+
// digested name is always exactly FILE_NAME_MAX and an escaped one never is.
|
|
71
|
+
if (encoded.length < FILE_NAME_MAX)
|
|
72
|
+
return encoded;
|
|
73
|
+
// Past the cap no mapping can stay injective — there are more names than
|
|
74
|
+
// there are file names — so the tail becomes a digest of the WHOLE raw name.
|
|
75
|
+
// SHA-256 rather than the package's 32-bit FNV-1a: a name reaching this
|
|
76
|
+
// adapter is caller data, and a 32-bit digest is a collision somebody can go
|
|
77
|
+
// and find, which for a file the model then reads as data is the same defect
|
|
78
|
+
// this function exists to close. `lib/sha256.ts` — the library's own,
|
|
79
|
+
// checked against `node:crypto` — so `agentCoreCodeRunner`, which may run
|
|
80
|
+
// where there is no `node:crypto`, encodes a name exactly as the local runner
|
|
81
|
+
// does.
|
|
82
|
+
const digest = (0, sha256_js_1.sha256Hex)(raw).slice(0, 32);
|
|
83
|
+
return `${encoded.slice(0, FILE_NAME_MAX - digest.length - 2)}_z${digest}`;
|
|
84
|
+
}
|
|
85
|
+
exports.safeFileName = safeFileName;
|
|
86
|
+
/** `_` → `__`, anything else illegal → `_uXXXX`. Injective by construction. */
|
|
87
|
+
function encodeFileName(raw) {
|
|
88
|
+
let out = '';
|
|
89
|
+
for (let i = 0; i < raw.length; i++) {
|
|
90
|
+
const ch = raw[i];
|
|
91
|
+
if (ch === '_')
|
|
92
|
+
out += '__';
|
|
93
|
+
else if (FILE_CHAR_PASSES_THROUGH.test(ch))
|
|
94
|
+
out += ch;
|
|
95
|
+
else
|
|
96
|
+
out += `_u${raw.charCodeAt(i).toString(16).padStart(4, '0')}`;
|
|
97
|
+
}
|
|
98
|
+
return out;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=fileName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileName.js","sourceRoot":"","sources":["../../../src/adapters/code/fileName.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,mDAAgD;AAEhD;4DAC4D;AAC5D,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B;eACe;AACf,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAEpC,wEAAwE;AACxE,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD;uEACuE;AACvE,MAAM,SAAS,GAAG,OAAO,CAAC;AAE1B;yBACyB;AACzB,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAgB,YAAY,CAAC,GAAW;IACtC,IACE,GAAG,CAAC,MAAM,IAAI,aAAa;QAC3B,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACpC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAG,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1D,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa;QAAE,OAAO,OAAO,CAAC;IACnD,yEAAyE;IACzE,6EAA6E;IAC7E,wEAAwE;IACxE,6EAA6E;IAC7E,6EAA6E;IAC7E,sEAAsE;IACtE,0EAA0E;IAC1E,8EAA8E;IAC9E,QAAQ;IACR,MAAM,MAAM,GAAG,IAAA,qBAAS,EAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;AAC7E,CAAC;AAxBD,oCAwBC;AAED,+EAA+E;AAC/E,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAW,CAAC;QAC5B,IAAI,EAAE,KAAK,GAAG;YAAE,GAAG,IAAI,IAAI,CAAC;aACvB,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,GAAG,IAAI,EAAE,CAAC;;YACjD,GAAG,IAAI,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|