agentfootprint 9.37.1 → 9.38.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/dist/adapters/code/local.js +15 -0
- package/dist/adapters/code/local.js.map +1 -1
- package/dist/artifacts/placement.js.map +1 -1
- package/dist/artifacts/streaming.js +30 -1
- package/dist/artifacts/streaming.js.map +1 -1
- package/dist/artifacts/types.js.map +1 -1
- package/dist/artifacts/wants.js +62 -5
- package/dist/artifacts/wants.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +30 -4
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/codeRunnerTool.js +48 -2
- package/dist/core/codeRunnerTool.js.map +1 -1
- package/dist/core/tools.js.map +1 -1
- package/dist/esm/adapters/code/local.d.ts +15 -0
- package/dist/esm/adapters/code/local.js +15 -0
- package/dist/esm/adapters/code/local.js.map +1 -1
- package/dist/esm/adapters/types.d.ts +14 -0
- package/dist/esm/artifacts/placement.d.ts +10 -0
- package/dist/esm/artifacts/placement.js.map +1 -1
- package/dist/esm/artifacts/streaming.d.ts +30 -1
- package/dist/esm/artifacts/streaming.js +30 -1
- package/dist/esm/artifacts/streaming.js.map +1 -1
- package/dist/esm/artifacts/types.d.ts +7 -1
- package/dist/esm/artifacts/types.js.map +1 -1
- package/dist/esm/artifacts/wants.d.ts +11 -3
- package/dist/esm/artifacts/wants.js +62 -5
- package/dist/esm/artifacts/wants.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.js +30 -4
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/codeRunnerTool.js +48 -2
- package/dist/esm/core/codeRunnerTool.js.map +1 -1
- package/dist/esm/core/tools.d.ts +7 -0
- package/dist/esm/core/tools.js.map +1 -1
- package/dist/esm/lib/injection-engine/skillGraph.d.ts +7 -1
- package/dist/esm/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/esm/lib/injection-engine/types.d.ts +17 -0
- package/dist/esm/lib/injection-engine/types.js.map +1 -1
- package/dist/lib/injection-engine/skillGraph.js.map +1 -1
- package/dist/lib/injection-engine/types.js.map +1 -1
- package/dist/types/adapters/code/local.d.ts +15 -0
- package/dist/types/adapters/code/local.d.ts.map +1 -1
- package/dist/types/adapters/types.d.ts +14 -0
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/artifacts/placement.d.ts +10 -0
- package/dist/types/artifacts/placement.d.ts.map +1 -1
- package/dist/types/artifacts/streaming.d.ts +30 -1
- package/dist/types/artifacts/streaming.d.ts.map +1 -1
- package/dist/types/artifacts/types.d.ts +7 -1
- package/dist/types/artifacts/types.d.ts.map +1 -1
- package/dist/types/artifacts/wants.d.ts +11 -3
- package/dist/types/artifacts/wants.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/tools.d.ts +7 -0
- package/dist/types/core/tools.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/skillGraph.d.ts +7 -1
- package/dist/types/lib/injection-engine/skillGraph.d.ts.map +1 -1
- package/dist/types/lib/injection-engine/types.d.ts +17 -0
- package/dist/types/lib/injection-engine/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -26,6 +26,21 @@
|
|
|
26
26
|
* • CPU or memory limits beyond the timeout;
|
|
27
27
|
* • any protection from code that deletes something outside `cwd`.
|
|
28
28
|
*
|
|
29
|
+
* ── It stages inputs; it does NOT report outputs (a decision, not a gap) ────
|
|
30
|
+
* `stageInputs` puts declared artifact payloads INTO the session, and the code
|
|
31
|
+
* reads them from the manifest. Nothing comes back the same way: this runner
|
|
32
|
+
* leaves `CodeResult.artifacts` ABSENT — never `[]`, which would claim the code
|
|
33
|
+
* produced nothing — because it has no output location to collect from. The
|
|
34
|
+
* child's working directory is the CALLER'S OWN cwd, so "files the code wrote"
|
|
35
|
+
* is not a set this adapter can identify without guessing which of a developer's
|
|
36
|
+
* files were meant, and a dev-loop runner that quietly uploaded whatever
|
|
37
|
+
* appeared beside your source would be the worse failure. Producing outputs
|
|
38
|
+
* needs three things this adapter does not have yet: a declared output
|
|
39
|
+
* directory the model is told about, a bounded read-back of what landed in it,
|
|
40
|
+
* and a size policy for what is too big to carry in-band. A runner that has
|
|
41
|
+
* them (a managed sandbox that returns file contents) fills the field, and
|
|
42
|
+
* `codeRunnerTool` mints every data-carrying entry with no further wiring.
|
|
43
|
+
*
|
|
29
44
|
* So: a development loop, a trusted-input pipeline, a machine you would be
|
|
30
45
|
* relaxed about a shell script running on. NOT arbitrary model-written code
|
|
31
46
|
* from an untrusted user, on a host with anything on it. For that, run a real
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/adapters/code/local.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../src/adapters/code/local.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/artifacts/placement.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;
|
|
1
|
+
{"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/artifacts/placement.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;AAyBH;;;GAGG;AACH,SAAgB,uBAAuB,CACrC,IAAY,EACZ,SAAwC;IAExC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,0EAA0E;YAC/E,mBAAmB,MAAM,CAAC,KAAK,CAAC,qDAAqD;YACrF,iFAAiF;YACjF,sFAAsF;YACtF,+CAA+C,CAClD,CAAC;IACJ,CAAC;AACH,CAAC;AAfD,0DAeC;AAED;;;yBAGyB;AACzB,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,eAAe,QAAQ,EAAE,CAAC;AACnC,CAAC;AAFD,4CAEC;AAqBD,4EAA4E;AAC5E,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAA8B,CAAC,MAAM,KAAK,IAAI;QAC/C,OAAQ,KAA2B,CAAC,GAAG,KAAK,QAAQ;QACpD,OAAQ,KAA8B,CAAC,MAAM,KAAK,QAAQ,CAC3D,CAAC;AACJ,CAAC;AARD,gDAQC;AAED,qEAAqE;AACrE,SAAgB,gBAAgB,CAC9B,QAAgB,EAChB,IAAkB,EAClB,SAAiB,EACjB,cAAsB;IAEtB,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EACJ,GAAG,QAAQ,aAAa,SAAS,oBAAoB,cAAc,kBAAkB;YACrF,yDAAyD,IAAI,CAAC,GAAG,IAAI;YACrE,IAAI,IAAI,CAAC,IAAI,mEAAmE;YAChF,WAAW,IAAI,CAAC,GAAG,qCAAqC,IAAI,CAAC,IAAI,aAAa;YAC9E,mBAAmB,IAAI,CAAC,GAAG,yDAAyD;YACpF,sCAAsC;KACzC,CAAC;AACJ,CAAC;AApBD,4CAoBC"}
|
|
@@ -32,6 +32,27 @@
|
|
|
32
32
|
* `Readable.toWeb` / `Readable.fromWeb`; that bridge is an ADAPTER detail and
|
|
33
33
|
* never leaks into the port.
|
|
34
34
|
*
|
|
35
|
+
* ── What streaming COSTS, named so it cannot be assumed away ────────────────
|
|
36
|
+
* `get` is the VERIFYING read: when the meta carries a `digest`, the store
|
|
37
|
+
* re-hashes what it holds and throws `ArtifactIntegrityError` rather than hand
|
|
38
|
+
* back bytes that no longer match their ticket. **`getStream` does not, and
|
|
39
|
+
* cannot**: the digest is computed over the WHOLE canonical payload with the
|
|
40
|
+
* one primitive every adapter shares (`crypto.subtle.digest`, one-shot by
|
|
41
|
+
* design and identical in Node and a browser), so verifying a stream would mean
|
|
42
|
+
* buffering the payload — the exact cost the member exists to avoid. Faking it
|
|
43
|
+
* with a second, incremental hashing implementation would be a different
|
|
44
|
+
* promise wearing the same field name.
|
|
45
|
+
*
|
|
46
|
+
* So the trade is STATED rather than silently made, in all three places a
|
|
47
|
+
* caller meets it (the port's `getStream`, the guard below, and this header):
|
|
48
|
+
*
|
|
49
|
+
* • `get(scope, ref)` — integrity verified, payload held whole.
|
|
50
|
+
* • `getStream(scope, ref)` — memory bounded, integrity NOT verified. The
|
|
51
|
+
* `digest` still rides `meta`, so a caller who needs the guarantee on this
|
|
52
|
+
* path can hash what it collected and compare — deliberately the caller's
|
|
53
|
+
* move, because only the caller knows whether it can afford to hold the
|
|
54
|
+
* bytes it just streamed.
|
|
55
|
+
*
|
|
35
56
|
* ── What `ctx.artifacts` does NOT get, and why (a decision, not an omission) ─
|
|
36
57
|
* The tool-facing capability keeps FIVE verbs this phase. A tool receives its
|
|
37
58
|
* artifacts pre-scoped and answers a model; the model cannot hold a stream,
|
|
@@ -56,7 +77,15 @@ function canPutArtifactStream(store) {
|
|
|
56
77
|
return typeof store.putStream === 'function';
|
|
57
78
|
}
|
|
58
79
|
exports.canPutArtifactStream = canPutArtifactStream;
|
|
59
|
-
/**
|
|
80
|
+
/**
|
|
81
|
+
* Can this store hand back a stream? Narrowing type guard.
|
|
82
|
+
*
|
|
83
|
+
* Note what the streamed read does NOT carry: `get` re-verifies a `digest`
|
|
84
|
+
* before returning, `getStream` cannot (see the header) — it bounds memory,
|
|
85
|
+
* not integrity. Branching to `getStream` for a digested artifact is a
|
|
86
|
+
* deliberate trade, and the ticket keeps the digest so a caller who needs the
|
|
87
|
+
* guarantee can make it themselves.
|
|
88
|
+
*/
|
|
60
89
|
function canGetArtifactStream(store) {
|
|
61
90
|
return typeof store.getStream === 'function';
|
|
62
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/artifacts/streaming.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/artifacts/streaming.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;;;AAEH,yCAAsE;AAYtE;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAAC,KAAoB;IACvD,OAAO,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC;AAC/C,CAAC;AAFD,oDAEC;AAED;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAAC,KAAoB;IACvD,OAAO,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC;AAC/C,CAAC;AAFD,oDAEC;AAED,sEAAsE;AACtE,SAAgB,kBAAkB,CAAC,KAAoB;IACrD,OAAO,oBAAoB,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAFD,gDAEC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,aAAa,CACjC,IAAgC,EAChC,OAAe;IAEf,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBACpB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACxD,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AA7BD,sCA6BC;AAED;;8CAE8C;AAC9C,SAAgB,aAAa,CAAC,KAAiB;IAC7C,OAAO,IAAI,cAAc,CAAa;QACpC,KAAK,CAAC,UAAU;YACd,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAPD,sCAOC;AAED,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,OAAe,EAAE,KAAc;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,+BAAoB,CAC5B,GAAG,OAAO,6CAA6C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc;YACxF,wFAAwF;YACxF,qFAAqF,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AATD,8CASC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/artifacts/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/artifacts/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAmPH,wEAAwE;AAExE;;;;;GAKG;AACH,MAAa,qBAAsB,SAAQ,KAAK;IACrC,IAAI,GAAG,wBAAiC,CAAC;IAClD,0CAA0C;IACjC,UAAU,CAAyB;IAE5C,YAAY,UAAkC;QAC5C,KAAK,CACH,uCAAuC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAClF,oFAAoF;YACpF,qFAAqF;YACrF,wFAAwF,CAC3F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAfD,sDAeC;AAED;;;;;GAKG;AACH,MAAa,sBAAuB,SAAQ,KAAK;IACtC,IAAI,GAAG,wBAAiC,CAAC;IACzC,GAAG,CAAc;IAC1B,gCAAgC;IACvB,QAAQ,CAAS;IAC1B,uDAAuD;IAC9C,MAAM,CAAS;IAExB,YAAY,GAAgB,EAAE,QAAgB,EAAE,MAAc;QAC5D,KAAK,CACH,oBAAoB,GAAG,8DAA8D;YACnF,oBAAoB,QAAQ,cAAc,MAAM,mCAAmC;YACnF,sFAAsF;YACtF,+EAA+E;YAC/E,2BAA2B,CAC9B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AArBD,wDAqBC;AAED;;;;GAIG;AACH,MAAa,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,sBAA+B,CAAC;IAEhD,YAAY,MAAc;QACxB,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAPD,oDAOC"}
|
package/dist/artifacts/wants.js
CHANGED
|
@@ -80,6 +80,22 @@ exports.assertToolWants = assertToolWants;
|
|
|
80
80
|
* through to find them. Bounded — a refusal is a lesson, not a catalog. */
|
|
81
81
|
const LIVE_REF_LIST_LIMIT = 10;
|
|
82
82
|
const LIVE_REF_SCAN_LIMIT = 200;
|
|
83
|
+
/**
|
|
84
|
+
* Which arguments this tool's OWN schema marks required — the half of the
|
|
85
|
+
* contract that says whether an omitted ref is a choice or a hole.
|
|
86
|
+
*
|
|
87
|
+
* Read here rather than trusted to the args gate: `toolArgValidation` is an
|
|
88
|
+
* agent-wide dial that an operator may set to `'warn'` or `'off'`, and a
|
|
89
|
+
* `wants` declaration is a promise about DELIVERED DATA, not about schema
|
|
90
|
+
* hygiene. The belt already refuses a non-string ref behind a disabled gate
|
|
91
|
+
* (`'ref STRING'`); omission is the same class of hole and gets the same belt.
|
|
92
|
+
*/
|
|
93
|
+
function requiredArgNames(inputSchema) {
|
|
94
|
+
const required = inputSchema?.required;
|
|
95
|
+
if (!Array.isArray(required))
|
|
96
|
+
return new Set();
|
|
97
|
+
return new Set(required.filter((name) => typeof name === 'string'));
|
|
98
|
+
}
|
|
83
99
|
/** The live refs of `kind` in scope, newest first, bounded — what a refusal
|
|
84
100
|
* names so the model can correct instead of retrying the same dead ref. */
|
|
85
101
|
async function liveRefsOfKind(store, scope, kind) {
|
|
@@ -108,6 +124,18 @@ async function liveRefsOfKind(store, scope, kind) {
|
|
|
108
124
|
function describeLiveRef(meta) {
|
|
109
125
|
return `${meta.ref}${meta.label !== undefined ? ` ('${meta.label}', ${meta.bytes} bytes)` : ` (${meta.bytes} bytes)`}`;
|
|
110
126
|
}
|
|
127
|
+
/** What the model actually put in the argument, named the way a reader would
|
|
128
|
+
* say it — `typeof null` is `'object'`, and a refusal that says "not a
|
|
129
|
+
* object" about a `null` teaches the wrong correction. */
|
|
130
|
+
function describeSpokenValue(spoken) {
|
|
131
|
+
if (spoken === null)
|
|
132
|
+
return 'null';
|
|
133
|
+
if (Array.isArray(spoken))
|
|
134
|
+
return 'an array';
|
|
135
|
+
if (typeof spoken === 'string')
|
|
136
|
+
return 'an empty string';
|
|
137
|
+
return `a ${typeof spoken}`;
|
|
138
|
+
}
|
|
111
139
|
/** The correcting clause: what CAN resolve, or the honest "nothing can". */
|
|
112
140
|
function liveRefsClause(kind, live) {
|
|
113
141
|
if (live.length === 0) {
|
|
@@ -122,8 +150,16 @@ function liveRefsClause(kind, live) {
|
|
|
122
150
|
* Resolve one tool's declared `wants` against the run's scope — the whole
|
|
123
151
|
* Leg-1 law in one place, shared by every dispatch door.
|
|
124
152
|
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
153
|
+
* An ABSENT declared argument is judged by the tool's own schema (9.37.2):
|
|
154
|
+
* `required` there means the tool cannot do its job without the data, so
|
|
155
|
+
* dispatch refuses BY NAME rather than executing a handler that believes its
|
|
156
|
+
* payload was resolved; anything else is optional, and the model choosing not
|
|
157
|
+
* to pass one is legitimate (`ctx.wanted` simply has no entry for it — absent
|
|
158
|
+
* and empty are different facts). Pass the tool's `inputSchema` to have that
|
|
159
|
+
* judged; omit it and every declared argument is treated as optional, which is
|
|
160
|
+
* what a door that genuinely has no schema can honestly say.
|
|
161
|
+
*
|
|
162
|
+
* Per declared argument that is PRESENT in the call args:
|
|
127
163
|
* • a non-string value is refused (`invalid-input`) — the argument is
|
|
128
164
|
* spoken as the ref string, never the bytes;
|
|
129
165
|
* • a ref that does not resolve in scope is refused
|
|
@@ -136,14 +172,35 @@ function liveRefsClause(kind, live) {
|
|
|
136
172
|
* ALL declared args are judged before answering, so one refusal teaches the
|
|
137
173
|
* whole correction rather than one argument per retry loop.
|
|
138
174
|
*/
|
|
139
|
-
async function resolveToolWants(store, scope, toolName, wants, args) {
|
|
175
|
+
async function resolveToolWants(store, scope, toolName, wants, args, inputSchema) {
|
|
140
176
|
const refusals = [];
|
|
141
177
|
const wanted = {};
|
|
142
178
|
const resolvedList = [];
|
|
143
179
|
const nextArgs = { ...args };
|
|
180
|
+
const required = requiredArgNames(inputSchema);
|
|
144
181
|
for (const [argName, kind] of Object.entries(wants)) {
|
|
145
|
-
if (!(argName in args) || args[argName] === undefined)
|
|
182
|
+
if (!(argName in args) || args[argName] === undefined) {
|
|
183
|
+
// Optional: the model chose not to pass one. Nothing to resolve, and
|
|
184
|
+
// nothing to complain about.
|
|
185
|
+
if (!required.has(argName))
|
|
186
|
+
continue;
|
|
187
|
+
// Required: the tool declared it wants '<kind>' HERE and its schema
|
|
188
|
+
// declared the argument mandatory. Executing anyway would hand the
|
|
189
|
+
// handler an argument it believes the framework resolved and did not —
|
|
190
|
+
// accepted-and-silently-wrong, in the one place this feature exists to
|
|
191
|
+
// make impossible.
|
|
192
|
+
const live = await liveRefsOfKind(store, scope, kind);
|
|
193
|
+
refusals.push({
|
|
194
|
+
argName,
|
|
195
|
+
kind,
|
|
196
|
+
reason: 'invalid-input',
|
|
197
|
+
detail: `'${argName}' is required and no value was passed — this tool declares it wants a ` +
|
|
198
|
+
`'${kind}' artifact there, and the framework resolves the ref BEFORE the tool runs, ` +
|
|
199
|
+
`so the tool is never executed without it. Pass the art_… ref as '${argName}'. ` +
|
|
200
|
+
`${liveRefsClause(kind, live)}`,
|
|
201
|
+
});
|
|
146
202
|
continue;
|
|
203
|
+
}
|
|
147
204
|
const spoken = args[argName];
|
|
148
205
|
if (typeof spoken !== 'string' || spoken.trim().length === 0) {
|
|
149
206
|
const live = await liveRefsOfKind(store, scope, kind);
|
|
@@ -152,7 +209,7 @@ async function resolveToolWants(store, scope, toolName, wants, args) {
|
|
|
152
209
|
kind,
|
|
153
210
|
reason: 'invalid-input',
|
|
154
211
|
detail: `'${argName}' must be an artifact ref STRING (an art_… ticket), not ` +
|
|
155
|
-
`${
|
|
212
|
+
`${describeSpokenValue(spoken)} — this tool declares ` +
|
|
156
213
|
`it wants '${kind}' there and the framework resolves the ref for you; never inline ` +
|
|
157
214
|
`the data. ${liveRefsClause(kind, live)}`,
|
|
158
215
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wants.js","sourceRoot":"","sources":["../../src/artifacts/wants.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wants.js","sourceRoot":"","sources":["../../src/artifacts/wants.ts"],"names":[],"mappings":"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"}
|
|
@@ -762,7 +762,14 @@ function buildToolCallsHandler(deps) {
|
|
|
762
762
|
// the existing `artifacts.resolved` (one event per resolved argument);
|
|
763
763
|
// refusals ride `artifacts.refused` with `op: 'dispatch'`, and the tool is
|
|
764
764
|
// NOT executed — the model reads the teaching refusal instead.
|
|
765
|
-
const resolveWantsAtDispatch = async (scope, toolName, wants, args
|
|
765
|
+
const resolveWantsAtDispatch = async (scope, toolName, wants, args,
|
|
766
|
+
/** The tool's OWN schema — the other half of the declaration. `required`
|
|
767
|
+
* there is what makes an omitted ref a hole rather than a choice, and it
|
|
768
|
+
* is read HERE, not left to `toolArgValidation`: that dial is agent-wide
|
|
769
|
+
* and can be turned off, while `wants` is a promise about delivered data
|
|
770
|
+
* (the same reason the non-string belt already runs behind a disabled
|
|
771
|
+
* gate). */
|
|
772
|
+
inputSchema) => {
|
|
766
773
|
const store = deps.artifactStore;
|
|
767
774
|
if (store === undefined) {
|
|
768
775
|
// Statically registered tools are refused at BUILD; this serves the
|
|
@@ -775,7 +782,7 @@ function buildToolCallsHandler(deps) {
|
|
|
775
782
|
});
|
|
776
783
|
return { ok: false, refusal: (0, wants_js_1.wantsNeedsStoreRefusal)(toolName, wants) };
|
|
777
784
|
}
|
|
778
|
-
const verdict = await (0, wants_js_1.resolveToolWants)(store, runScopeOf(scope), toolName, wants, args);
|
|
785
|
+
const verdict = await (0, wants_js_1.resolveToolWants)(store, runScopeOf(scope), toolName, wants, args, inputSchema);
|
|
779
786
|
if (!verdict.ok) {
|
|
780
787
|
for (const refusal of verdict.refusals) {
|
|
781
788
|
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.artifacts.refused', {
|
|
@@ -915,6 +922,25 @@ function buildToolCallsHandler(deps) {
|
|
|
915
922
|
// operator's ref-ing, then the last-resort net (which then measures the
|
|
916
923
|
// ticket). A placed result is a TICKET, not a refusal: the caller's
|
|
917
924
|
// effects/step bookkeeping proceeds exactly as if the payload had landed.
|
|
925
|
+
//
|
|
926
|
+
// ── WHAT ROUTING SEES AFTERWARDS (the coupling, stated at both ends) ───
|
|
927
|
+
// The substitute returned here becomes `resultStr` below, which is the ONE
|
|
928
|
+
// string every downstream reader gets: the `role: 'tool'` history message,
|
|
929
|
+
// `scope.lastToolResult.result`, and each `scope.toolResults[]` entry. Route
|
|
930
|
+
// `when` predicates and `rule` triggers read exactly that string
|
|
931
|
+
// (`InjectionContext.lastToolResult` / `toolResults` — the other end of this
|
|
932
|
+
// comment lives on those fields), so raising or lowering `maxInlineChars`
|
|
933
|
+
// CAN change which edge fires: a predicate matching on payload text stops
|
|
934
|
+
// matching once the payload becomes a ticket, and one matching on
|
|
935
|
+
// `"kind":"tool-result/<tool>"` only ever matches after placement.
|
|
936
|
+
//
|
|
937
|
+
// That is the layering, not an accident. The alternative — predicates
|
|
938
|
+
// reading the pre-placement text while the model reads the ticket — would
|
|
939
|
+
// route on a string that is not in the conversation, and the whole point of
|
|
940
|
+
// reading `lastToolResult` is to react to what the MODEL was told. Keep the
|
|
941
|
+
// two identical: whatever the model reads is what routing judges. (Tool NAME
|
|
942
|
+
// edges — `onToolReturn` — and `onToolStatus` are unaffected either way;
|
|
943
|
+
// neither reads the result text.)
|
|
918
944
|
const placeResults = async (scope, call, values, eligible) => {
|
|
919
945
|
const placement = deps.placement;
|
|
920
946
|
if (placement === undefined || deps.artifactStore === undefined || !eligible)
|
|
@@ -1072,7 +1098,7 @@ function buildToolCallsHandler(deps) {
|
|
|
1072
1098
|
// does not run.
|
|
1073
1099
|
let wantedMeta;
|
|
1074
1100
|
if (tool.wants !== undefined) {
|
|
1075
|
-
const resolution = await resolveWantsAtDispatch(scope, toolName, tool.wants, args);
|
|
1101
|
+
const resolution = await resolveWantsAtDispatch(scope, toolName, tool.wants, args, tool.schema.inputSchema);
|
|
1076
1102
|
if (!resolution.ok)
|
|
1077
1103
|
return { result: resolution.refusal, error: true };
|
|
1078
1104
|
args = resolution.args;
|
|
@@ -1701,7 +1727,7 @@ function buildToolCallsHandler(deps) {
|
|
|
1701
1727
|
let wantedMeta;
|
|
1702
1728
|
let wantsBlocked = false;
|
|
1703
1729
|
if (tool?.wants !== undefined) {
|
|
1704
|
-
const resolution = await resolveWantsAtDispatch(scope, tc.name, tool.wants, callArgs);
|
|
1730
|
+
const resolution = await resolveWantsAtDispatch(scope, tc.name, tool.wants, callArgs, tool.schema.inputSchema);
|
|
1705
1731
|
if (resolution.ok) {
|
|
1706
1732
|
callArgs = resolution.args;
|
|
1707
1733
|
wantedMeta = resolution.wanted;
|