agentfootprint 9.70.0 → 9.72.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/CHANGELOG.md +19859 -0
- package/CLAUDE.md +2 -1
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/ai-instructions/setup.sh +0 -0
- package/bin/agentfootprint-index.mjs +0 -0
- package/bin/agentfootprint-lint-tools.mjs +0 -0
- package/dist/core/Agent.js +49 -6
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +44 -1
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/tools.js +71 -29
- package/dist/core/tools.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +5 -1
- package/dist/esm/core/Agent.js +49 -6
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.d.ts +9 -0
- package/dist/esm/core/agent/stages/callLLM.js +44 -1
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +42 -0
- package/dist/esm/core/tools.d.ts +25 -0
- package/dist/esm/core/tools.js +68 -28
- package/dist/esm/core/tools.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +21 -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/index.d.ts +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/integrity/disposition/lifecycle.d.ts +5 -0
- package/dist/esm/integrity/disposition/lifecycle.js +2 -1
- package/dist/esm/integrity/disposition/lifecycle.js.map +1 -1
- package/dist/esm/integrity/unsupported-argument/check.d.ts +50 -1
- package/dist/esm/integrity/unsupported-argument/check.js +41 -2
- package/dist/esm/integrity/unsupported-argument/check.js.map +1 -1
- package/dist/esm/lib/mcp/index.d.ts +1 -0
- package/dist/esm/lib/mcp/index.js +3 -0
- package/dist/esm/lib/mcp/index.js.map +1 -1
- package/dist/esm/lib/mcp/mcpClient.d.ts +6 -0
- package/dist/esm/lib/mcp/mcpClient.js +14 -0
- package/dist/esm/lib/mcp/mcpClient.js.map +1 -1
- package/dist/esm/lib/mcp/mcpServe.d.ts +8 -0
- package/dist/esm/lib/mcp/mcpServe.js +23 -5
- package/dist/esm/lib/mcp/mcpServe.js.map +1 -1
- package/dist/esm/lib/mcp/mockMcpClient.d.ts +26 -0
- package/dist/esm/lib/mcp/mockMcpClient.js +5 -0
- package/dist/esm/lib/mcp/mockMcpClient.js.map +1 -1
- package/dist/esm/lib/mcp/toolExtras.d.ts +129 -0
- package/dist/esm/lib/mcp/toolExtras.js +198 -0
- package/dist/esm/lib/mcp/toolExtras.js.map +1 -0
- package/dist/esm/lib/mcp/types.d.ts +18 -5
- package/dist/esm/tool-providers/index.d.ts +2 -2
- package/dist/esm/tool-providers/index.js +5 -1
- package/dist/esm/tool-providers/index.js.map +1 -1
- package/dist/events/registry.js +2 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrity/disposition/lifecycle.js +2 -1
- package/dist/integrity/disposition/lifecycle.js.map +1 -1
- package/dist/integrity/unsupported-argument/check.js +41 -2
- package/dist/integrity/unsupported-argument/check.js.map +1 -1
- package/dist/lib/mcp/index.js +5 -1
- package/dist/lib/mcp/index.js.map +1 -1
- package/dist/lib/mcp/mcpClient.js +14 -0
- package/dist/lib/mcp/mcpClient.js.map +1 -1
- package/dist/lib/mcp/mcpServe.js +23 -5
- package/dist/lib/mcp/mcpServe.js.map +1 -1
- package/dist/lib/mcp/mockMcpClient.js +5 -0
- package/dist/lib/mcp/mockMcpClient.js.map +1 -1
- package/dist/lib/mcp/toolExtras.js +204 -0
- package/dist/lib/mcp/toolExtras.js.map +1 -0
- package/dist/tool-providers/index.js +5 -1
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/types/core/Agent.d.ts +5 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts +9 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +42 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/tools.d.ts +25 -0
- package/dist/types/core/tools.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +21 -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/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/integrity/disposition/lifecycle.d.ts +5 -0
- package/dist/types/integrity/disposition/lifecycle.d.ts.map +1 -1
- package/dist/types/integrity/unsupported-argument/check.d.ts +50 -1
- package/dist/types/integrity/unsupported-argument/check.d.ts.map +1 -1
- package/dist/types/lib/mcp/index.d.ts +1 -0
- package/dist/types/lib/mcp/index.d.ts.map +1 -1
- package/dist/types/lib/mcp/mcpClient.d.ts +6 -0
- package/dist/types/lib/mcp/mcpClient.d.ts.map +1 -1
- package/dist/types/lib/mcp/mcpServe.d.ts +8 -0
- package/dist/types/lib/mcp/mcpServe.d.ts.map +1 -1
- package/dist/types/lib/mcp/mockMcpClient.d.ts +26 -0
- package/dist/types/lib/mcp/mockMcpClient.d.ts.map +1 -1
- package/dist/types/lib/mcp/toolExtras.d.ts +130 -0
- package/dist/types/lib/mcp/toolExtras.d.ts.map +1 -0
- package/dist/types/lib/mcp/types.d.ts +18 -5
- package/dist/types/lib/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 +3 -2
|
@@ -45,6 +45,16 @@
|
|
|
45
45
|
* - DECLARED VOCABULARY PASSES. A value the tool's own `inputSchema` lists in
|
|
46
46
|
* an `enum` was served BY THE SCHEMA — the model read it off the tool
|
|
47
47
|
* definition, not out of its own prose.
|
|
48
|
+
* - EXTERNAL GROUNDS PASS, and file the source that excused them (9.72.0).
|
|
49
|
+
* An app may hand the corpus values the RUN never served but the APP
|
|
50
|
+
* verified itself — the driving case: a person clicked a row in a data
|
|
51
|
+
* panel, the app checked the clicked cells against the artifact the panel
|
|
52
|
+
* renders, and an identifier the model takes from that verified selection
|
|
53
|
+
* is not fabricated. HONESTY NOTE, because this is an assertion door: the
|
|
54
|
+
* library records what the app asserts — verifying the assertion (against
|
|
55
|
+
* the artifact, the click, whatever the app's ground truth is) is the
|
|
56
|
+
* app's duty, and the `source` label travels with every excusal so a
|
|
57
|
+
* reader can audit the chain instead of trusting it.
|
|
48
58
|
* Two states remain, and they file DIFFERENT messages because they call for
|
|
49
59
|
* different fixes: grounded only in the model's own prose (re-fetch the real
|
|
50
60
|
* ground), and grounded nowhere in the window at all (nothing served it).
|
|
@@ -68,12 +78,51 @@ export interface ArgumentChoice {
|
|
|
68
78
|
*/
|
|
69
79
|
readonly declaredEnums?: ReadonlySet<string>;
|
|
70
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* One value the APP verified against ground the run itself never observed
|
|
83
|
+
* (9.72.0). `value` is the verified text; `source` is the app's short label
|
|
84
|
+
* for where it came from (e.g. `'viewer-selection'`) — the audit handle that
|
|
85
|
+
* travels onto the record whenever this entry excuses an argument.
|
|
86
|
+
*/
|
|
87
|
+
export interface ExternalGround {
|
|
88
|
+
readonly value: string;
|
|
89
|
+
readonly source: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* One argument value an external ground excused — the audit trail of an app
|
|
93
|
+
* assertion. Filed alongside the findings so the record can say WHICH source
|
|
94
|
+
* grounded a value, not merely that no finding was raised.
|
|
95
|
+
*/
|
|
96
|
+
export interface ExternalGrounding {
|
|
97
|
+
readonly toolName: string;
|
|
98
|
+
readonly toolCallId: string;
|
|
99
|
+
/** Dot-path of the argument leaf the ground excused. */
|
|
100
|
+
readonly path: string;
|
|
101
|
+
readonly value: string;
|
|
102
|
+
/** The app's label from the {@link ExternalGround} entry that matched. */
|
|
103
|
+
readonly source: string;
|
|
104
|
+
}
|
|
71
105
|
/** The frame the model chose from, split by whether it can GROUND anything. */
|
|
72
106
|
export interface ChoiceCorpus {
|
|
73
107
|
/** System prompt, user messages, tool results — everything the RUN served. */
|
|
74
108
|
readonly grounded: readonly string[];
|
|
75
109
|
/** The model's own earlier turns. Never ground: this is what the defect is made of. */
|
|
76
110
|
readonly assistant: readonly string[];
|
|
111
|
+
/**
|
|
112
|
+
* App-asserted grounds the run did not serve (9.72.0). DECLARED, never
|
|
113
|
+
* ambient — the caller composes this from a provider the app registered;
|
|
114
|
+
* absent or empty, the check is byte-identical to what it always was. The
|
|
115
|
+
* library records what the app asserts here; verifying the assertion is
|
|
116
|
+
* the app's duty, and each entry's `source` label is kept on the excusal
|
|
117
|
+
* record so the chain stays auditable.
|
|
118
|
+
*/
|
|
119
|
+
readonly external?: readonly ExternalGround[];
|
|
120
|
+
}
|
|
121
|
+
/** What the choice-seam check found — the findings AND the excusals. */
|
|
122
|
+
export interface UnsupportedArguments {
|
|
123
|
+
readonly findings: readonly ContextError[];
|
|
124
|
+
/** Values an app-asserted external ground excused, with their sources. */
|
|
125
|
+
readonly externalGroundings: readonly ExternalGrounding[];
|
|
77
126
|
}
|
|
78
127
|
/**
|
|
79
128
|
* Best-effort: every string an `enum` array declares anywhere in a tool's
|
|
@@ -92,4 +141,4 @@ export declare function declaredEnumValuesOf(schema: unknown): ReadonlySet<strin
|
|
|
92
141
|
* what the run served and what the model itself wrote.
|
|
93
142
|
* @param epoch the run iteration, stamped on every witness.
|
|
94
143
|
*/
|
|
95
|
-
export declare function unsupportedArgumentsOf(calls: readonly ArgumentChoice[], corpus: ChoiceCorpus, epoch: number):
|
|
144
|
+
export declare function unsupportedArgumentsOf(calls: readonly ArgumentChoice[], corpus: ChoiceCorpus, epoch: number): UnsupportedArguments;
|
|
@@ -45,6 +45,16 @@
|
|
|
45
45
|
* - DECLARED VOCABULARY PASSES. A value the tool's own `inputSchema` lists in
|
|
46
46
|
* an `enum` was served BY THE SCHEMA — the model read it off the tool
|
|
47
47
|
* definition, not out of its own prose.
|
|
48
|
+
* - EXTERNAL GROUNDS PASS, and file the source that excused them (9.72.0).
|
|
49
|
+
* An app may hand the corpus values the RUN never served but the APP
|
|
50
|
+
* verified itself — the driving case: a person clicked a row in a data
|
|
51
|
+
* panel, the app checked the clicked cells against the artifact the panel
|
|
52
|
+
* renders, and an identifier the model takes from that verified selection
|
|
53
|
+
* is not fabricated. HONESTY NOTE, because this is an assertion door: the
|
|
54
|
+
* library records what the app asserts — verifying the assertion (against
|
|
55
|
+
* the artifact, the click, whatever the app's ground truth is) is the
|
|
56
|
+
* app's duty, and the `source` label travels with every excusal so a
|
|
57
|
+
* reader can audit the chain instead of trusting it.
|
|
48
58
|
* Two states remain, and they file DIFFERENT messages because they call for
|
|
49
59
|
* different fixes: grounded only in the model's own prose (re-fetch the real
|
|
50
60
|
* ground), and grounded nowhere in the window at all (nothing served it).
|
|
@@ -118,10 +128,23 @@ export function declaredEnumValuesOf(schema) {
|
|
|
118
128
|
*/
|
|
119
129
|
export function unsupportedArgumentsOf(calls, corpus, epoch) {
|
|
120
130
|
const findings = [];
|
|
131
|
+
const externalGroundings = [];
|
|
121
132
|
if (calls.length === 0)
|
|
122
|
-
return findings;
|
|
133
|
+
return { findings, externalGroundings };
|
|
123
134
|
const served = corpus.grounded.map((text) => text.toLowerCase());
|
|
124
135
|
const written = corpus.assistant.map((text) => text.toLowerCase());
|
|
136
|
+
// The external entries, lowered once and kept only when both halves are
|
|
137
|
+
// usable: a non-empty value (nothing could match a blank) and a non-empty
|
|
138
|
+
// source (the audit handle this door exists to carry). Garbage never
|
|
139
|
+
// throws — an unusable entry simply grounds nothing.
|
|
140
|
+
const external = (Array.isArray(corpus.external) ? corpus.external : [])
|
|
141
|
+
.filter((e) => e !== null &&
|
|
142
|
+
typeof e === 'object' &&
|
|
143
|
+
typeof e.value === 'string' &&
|
|
144
|
+
e.value.trim().length > 0 &&
|
|
145
|
+
typeof e.source === 'string' &&
|
|
146
|
+
e.source.trim().length > 0)
|
|
147
|
+
.map((e) => ({ lowered: e.value.toLowerCase(), source: e.source }));
|
|
125
148
|
const frame = `frame this call was assembled from: ${String(served.length)} served string(s) ` +
|
|
126
149
|
`(system prompt, user messages, tool results) and ${String(written.length)} assistant turn(s)`;
|
|
127
150
|
for (const call of calls) {
|
|
@@ -140,6 +163,22 @@ export function unsupportedArgumentsOf(calls, corpus, epoch) {
|
|
|
140
163
|
continue;
|
|
141
164
|
if (served.some((text) => text.includes(needle)))
|
|
142
165
|
continue;
|
|
166
|
+
// The external-ground fence (9.72.0), consulted only after the run's own
|
|
167
|
+
// corpus failed to ground the value — a value the run served needs no
|
|
168
|
+
// excuse, so an excusal on the record always means "the app's assertion
|
|
169
|
+
// is the ONLY thing standing between this value and a finding". Same
|
|
170
|
+
// substring leniency as the served fence, same direction of safety.
|
|
171
|
+
const excusedBy = external.find((e) => e.lowered.includes(needle));
|
|
172
|
+
if (excusedBy !== undefined) {
|
|
173
|
+
externalGroundings.push({
|
|
174
|
+
toolName: call.toolName,
|
|
175
|
+
toolCallId: call.toolCallId,
|
|
176
|
+
path: leaf.path,
|
|
177
|
+
value: leaf.value,
|
|
178
|
+
source: excusedBy.source,
|
|
179
|
+
});
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
143
182
|
const selfReferenced = written.some((text) => text.includes(needle));
|
|
144
183
|
const witnesses = [
|
|
145
184
|
{
|
|
@@ -185,6 +224,6 @@ export function unsupportedArgumentsOf(calls, corpus, epoch) {
|
|
|
185
224
|
});
|
|
186
225
|
}
|
|
187
226
|
}
|
|
188
|
-
return findings;
|
|
227
|
+
return { findings, externalGroundings };
|
|
189
228
|
}
|
|
190
229
|
//# sourceMappingURL=check.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../src/integrity/unsupported-argument/check.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../src/integrity/unsupported-argument/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { mcpClient } from './mcpClient.js';
|
|
8
8
|
export { mcpServe } from './mcpServe.js';
|
|
9
|
+
export { MCP_TOOL_EXTRAS_KEY, type McpToolExtras } from './toolExtras.js';
|
|
9
10
|
export { mockMcpClient, type MockMcpClientOptions, type MockMcpTool } from './mockMcpClient.js';
|
|
10
11
|
export { gatewayTransport, GatewayAuthorizationRequiredError, type GatewayTransportOptions, } from './gatewayTransport.js';
|
|
11
12
|
export type { RetryOnThrottle, ThrottleRetryInfo, ThrottleRetryOptions } from './throttleRetry.js';
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export { mcpClient } from './mcpClient.js';
|
|
8
8
|
export { mcpServe } from './mcpServe.js';
|
|
9
|
+
// The declaration bag both directions speak (9.71.0) — one namespaced `_meta`
|
|
10
|
+
// key, and the shape a non-agentfootprint server writes to be understood.
|
|
11
|
+
export { MCP_TOOL_EXTRAS_KEY } from './toolExtras.js';
|
|
9
12
|
export { mockMcpClient } from './mockMcpClient.js';
|
|
10
13
|
export { gatewayTransport, GatewayAuthorizationRequiredError, } from './gatewayTransport.js';
|
|
11
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAA+C,MAAM,oBAAoB,CAAC;AAChG,OAAO,EACL,gBAAgB,EAChB,iCAAiC,GAElC,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,8EAA8E;AAC9E,0EAA0E;AAC1E,OAAO,EAAE,mBAAmB,EAAsB,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAA+C,MAAM,oBAAoB,CAAC;AAChG,OAAO,EACL,gBAAgB,EAChB,iCAAiC,GAElC,MAAM,uBAAuB,CAAC"}
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
* Role: Layer-3 integration. Sits next to `defineTool` — same
|
|
23
23
|
* shape, different source. Once tools land on the agent,
|
|
24
24
|
* the rest of the library doesn't know they came from MCP.
|
|
25
|
+
* Since 9.71.0 that is true of DECLARATIONS too: a server's
|
|
26
|
+
* `_meta` bag becomes `argumentsFrom` / `resultKind` / `owner`
|
|
27
|
+
* / `resultClass` / `resultCeiling` on the registered `Tool`,
|
|
28
|
+
* so the integrity checks, the placement mint and the identity
|
|
29
|
+
* joins arm for a remote tool exactly as for a local one. The
|
|
30
|
+
* reading NEVER throws — see `toolExtras.ts`.
|
|
25
31
|
*
|
|
26
32
|
* Emits: N/A — wrapped tools emit the standard
|
|
27
33
|
* `agentfootprint.stream.tool_start` / `tool_end` events
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
* Role: Layer-3 integration. Sits next to `defineTool` — same
|
|
23
23
|
* shape, different source. Once tools land on the agent,
|
|
24
24
|
* the rest of the library doesn't know they came from MCP.
|
|
25
|
+
* Since 9.71.0 that is true of DECLARATIONS too: a server's
|
|
26
|
+
* `_meta` bag becomes `argumentsFrom` / `resultKind` / `owner`
|
|
27
|
+
* / `resultClass` / `resultCeiling` on the registered `Tool`,
|
|
28
|
+
* so the integrity checks, the placement mint and the identity
|
|
29
|
+
* joins arm for a remote tool exactly as for a local one. The
|
|
30
|
+
* reading NEVER throws — see `toolExtras.ts`.
|
|
25
31
|
*
|
|
26
32
|
* Emits: N/A — wrapped tools emit the standard
|
|
27
33
|
* `agentfootprint.stream.tool_start` / `tool_end` events
|
|
@@ -33,6 +39,7 @@
|
|
|
33
39
|
* loads only when a consumer actually constructs a client. Tests
|
|
34
40
|
* inject `_client` and skip the import path entirely.
|
|
35
41
|
*/
|
|
42
|
+
import { readToolExtras } from './toolExtras.js';
|
|
36
43
|
import { createVendingFetch } from './gatewayTransport.js';
|
|
37
44
|
import { retryingFetch } from './throttleRetry.js';
|
|
38
45
|
import { lazyRequire } from '../lazyRequire.js';
|
|
@@ -185,6 +192,13 @@ function wrapMcpTool(serverName, sdk, mcp, signal) {
|
|
|
185
192
|
// bare tool name cannot tell two servers' identically-named tools apart;
|
|
186
193
|
// this is the fact that lets it. See `Tool.source`.
|
|
187
194
|
source: serverName,
|
|
195
|
+
// The DECLARATIONS the server sent in MCP's `_meta` bag (9.71.0) — read
|
|
196
|
+
// defensively, per field, by the same rules `defineTool` enforces, and
|
|
197
|
+
// NEVER throwing: a malformed field is warned about once and dropped, and
|
|
198
|
+
// this tool still registers. That is what keeps one bad tool from killing
|
|
199
|
+
// a forty-tool bulk register. A server that sent no bag adds no keys here,
|
|
200
|
+
// so the Tool is byte-identical to one built before this existed.
|
|
201
|
+
...readToolExtras(mcp._meta, { server: serverName, tool: mcp.name }),
|
|
188
202
|
execute: async (args) => {
|
|
189
203
|
// The agent passes args as `unknown` per Tool contract. MCP
|
|
190
204
|
// expects a JSON object — non-object inputs become `{}` rather
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpClient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"mcpClient.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,14 @@
|
|
|
43
43
|
* - `needs` (declare-and-push credentials) needs a provider; without
|
|
44
44
|
* one the tool would run with `ctx.credential` undefined.
|
|
45
45
|
*
|
|
46
|
+
* ── Declarations travel; execution does not (9.71.0) ─────────────────
|
|
47
|
+
* A served tool's DECLARATIONS — `argumentsFrom`, `resultKind`, `owner`,
|
|
48
|
+
* `resultClass`, `resultCeiling` — are written into MCP's own `_meta` bag
|
|
49
|
+
* under one namespaced key, so an agentfootprint client arms the checks and
|
|
50
|
+
* rails that read them exactly as it would for a local `defineTool`. The
|
|
51
|
+
* execution-side fields never go: see `toolExtras.ts` for the bar and the
|
|
52
|
+
* reasoning. A tool declaring none of the five lists exactly as before.
|
|
53
|
+
*
|
|
46
54
|
* ── Schemas ──────────────────────────────────────────────────────────
|
|
47
55
|
* Tools already carry JSON Schema in `schema.inputSchema`, and MCP's
|
|
48
56
|
* `tools/list` wants JSON Schema, so the mapping is the identity
|
|
@@ -43,6 +43,14 @@
|
|
|
43
43
|
* - `needs` (declare-and-push credentials) needs a provider; without
|
|
44
44
|
* one the tool would run with `ctx.credential` undefined.
|
|
45
45
|
*
|
|
46
|
+
* ── Declarations travel; execution does not (9.71.0) ─────────────────
|
|
47
|
+
* A served tool's DECLARATIONS — `argumentsFrom`, `resultKind`, `owner`,
|
|
48
|
+
* `resultClass`, `resultCeiling` — are written into MCP's own `_meta` bag
|
|
49
|
+
* under one namespaced key, so an agentfootprint client arms the checks and
|
|
50
|
+
* rails that read them exactly as it would for a local `defineTool`. The
|
|
51
|
+
* execution-side fields never go: see `toolExtras.ts` for the bar and the
|
|
52
|
+
* reasoning. A tool declaring none of the five lists exactly as before.
|
|
53
|
+
*
|
|
46
54
|
* ── Schemas ──────────────────────────────────────────────────────────
|
|
47
55
|
* Tools already carry JSON Schema in `schema.inputSchema`, and MCP's
|
|
48
56
|
* `tools/list` wants JSON Schema, so the mapping is the identity
|
|
@@ -56,6 +64,7 @@ import { unconfiguredCredentialProvider } from '../../identity/types.js';
|
|
|
56
64
|
import { unconfiguredArtifacts } from '../../artifacts/capability.js';
|
|
57
65
|
import { wantsNeedsStoreRefusal } from '../../artifacts/wants.js';
|
|
58
66
|
import { lazyRequire } from '../lazyRequire.js';
|
|
67
|
+
import { MCP_TOOL_EXTRAS_KEY, toolExtrasOf } from './toolExtras.js';
|
|
59
68
|
import { runToolChain, runToolAfterChain } from '../../core/agent/middleware/runChain.js';
|
|
60
69
|
const DEFAULT_SERVER_NAME = 'agentfootprint';
|
|
61
70
|
const DEFAULT_SERVER_VERSION = '0.0.0';
|
|
@@ -75,11 +84,20 @@ export async function mcpServe(tools, opts = {}) {
|
|
|
75
84
|
const version = opts.version ?? DEFAULT_SERVER_VERSION;
|
|
76
85
|
const byName = validateServableTools(tools, name, opts.credentials);
|
|
77
86
|
const credentials = opts.credentials ?? unconfiguredCredentialProvider();
|
|
78
|
-
const listing = tools.map((t) =>
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
const listing = tools.map((t) => {
|
|
88
|
+
// The declaration half of the tool, in MCP's own extensibility bag
|
|
89
|
+
// (9.71.0). Absent fields stay absent and a tool that declares NOTHING
|
|
90
|
+
// gets no `_meta` key at all, so a server whose tools carry no
|
|
91
|
+
// declarations lists exactly the bytes it always did. See toolExtras.ts
|
|
92
|
+
// for the inclusion bar and for why `needs` / `checkIn` never travel.
|
|
93
|
+
const extras = toolExtrasOf(t);
|
|
94
|
+
return {
|
|
95
|
+
name: t.schema.name,
|
|
96
|
+
...(t.schema.description !== undefined && { description: t.schema.description }),
|
|
97
|
+
inputSchema: t.schema.inputSchema ?? { type: 'object', properties: {} },
|
|
98
|
+
...(extras !== undefined && { _meta: { [MCP_TOOL_EXTRAS_KEY]: extras } }),
|
|
99
|
+
};
|
|
100
|
+
});
|
|
83
101
|
// Order matters: the server is resolved FIRST so that a missing SDK is
|
|
84
102
|
// reported by the message that tells you how to install it, rather than
|
|
85
103
|
// by the narrower one about a single submodule.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpServe.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpServe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcpServe.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mcpServe.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,32 @@ export interface MockMcpTool {
|
|
|
40
40
|
* registry verbatim — same as a real MCP server's `listTools()`.
|
|
41
41
|
*/
|
|
42
42
|
readonly inputSchema: Readonly<Record<string, unknown>>;
|
|
43
|
+
/**
|
|
44
|
+
* MCP's extensibility bag, exactly as a real server would send it (9.71.0).
|
|
45
|
+
*
|
|
46
|
+
* agentfootprint's tool DECLARATIONS — `argumentsFrom`, `resultKind`,
|
|
47
|
+
* `owner`, `resultClass`, `resultCeiling` — ride under the `agentfootprint`
|
|
48
|
+
* key here, and this mock reads them through the SAME defensive reader
|
|
49
|
+
* `mcpClient` uses. So a rail armed by a remotely-declared tool can be
|
|
50
|
+
* developed and tested before the real server exists, and so can the
|
|
51
|
+
* unhappy path: put a malformed declaration in and watch the field get
|
|
52
|
+
* dropped, the warning name the rule, and the tool register anyway.
|
|
53
|
+
*
|
|
54
|
+
* ```ts
|
|
55
|
+
* mockMcpClient({
|
|
56
|
+
* name: 'fleet-mcp',
|
|
57
|
+
* tools: [{
|
|
58
|
+
* name: 'backup_status',
|
|
59
|
+
* inputSchema: { type: 'object', properties: { machine: { type: 'string' } } },
|
|
60
|
+
* _meta: { agentfootprint: { argumentsFrom: ['fleet_report'] } },
|
|
61
|
+
* }],
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* Omitted → the registered `Tool` carries no declarations, exactly as
|
|
66
|
+
* before this existed.
|
|
67
|
+
*/
|
|
68
|
+
readonly _meta?: Readonly<Record<string, unknown>>;
|
|
43
69
|
/**
|
|
44
70
|
* Async handler that runs when the agent calls this tool. Receives
|
|
45
71
|
* the args the LLM produced; returns the string result the agent
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
* — stable, documented, and the right level of abstraction for
|
|
29
29
|
* mock-first development.
|
|
30
30
|
*/
|
|
31
|
+
import { readToolExtras } from './toolExtras.js';
|
|
31
32
|
/**
|
|
32
33
|
* Build an in-memory `McpClient`. Useful when you want to develop
|
|
33
34
|
* against MCP semantics without spawning subprocesses, hitting the
|
|
@@ -77,6 +78,10 @@ function wrapMockTool(serverName, toolMap, mcp) {
|
|
|
77
78
|
// governs by server name has to be testable against the mock, or the swap
|
|
78
79
|
// from mock to real server changes what the policy sees.
|
|
79
80
|
source: serverName,
|
|
81
|
+
// …and the same declarations, through the same reader (9.71.0). A rail
|
|
82
|
+
// that arms on a remotely-declared `argumentsFrom` must arm here too, or
|
|
83
|
+
// the mock proves nothing about the server it stands in for.
|
|
84
|
+
...readToolExtras(mcp._meta, { server: serverName, tool: mcp.name }),
|
|
80
85
|
execute: async (args) => {
|
|
81
86
|
const argsObj = args !== null && typeof args === 'object' && !Array.isArray(args)
|
|
82
87
|
? args
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockMcpClient.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mockMcpClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;
|
|
1
|
+
{"version":3,"file":"mockMcpClient.js","sourceRoot":"","sources":["../../../../src/lib/mcp/mockMcpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toolExtras — agentfootprint's own tool DECLARATIONS, carried over MCP.
|
|
3
|
+
*
|
|
4
|
+
* A `Tool` is two different things at once. Half of it is EXECUTION — the
|
|
5
|
+
* handler, the credential it needs, the human it wants to check in with. The
|
|
6
|
+
* other half is DECLARATION — flat, inert facts about the tool that no code
|
|
7
|
+
* runs and every consumer-side rail READS: where its arguments come from, what
|
|
8
|
+
* kind of artifact its result is, who owns it, what class of answer it gives,
|
|
9
|
+
* how big a result is too big.
|
|
10
|
+
*
|
|
11
|
+
* Over MCP only the execution half used to cross. A tool served by `mcpServe`
|
|
12
|
+
* arrived at a client as a name, a description and an input schema, so every
|
|
13
|
+
* rail that reads a declaration went quiet for it: the dangling-reference and
|
|
14
|
+
* unsupported-argument checks never armed, placement minted
|
|
15
|
+
* `tool-result/<name>` that no `wants` could spend, and the identity joins had
|
|
16
|
+
* no subject. An MCP server could be somebody's whole tool catalogue and still
|
|
17
|
+
* be a second-class citizen of every check this library ships.
|
|
18
|
+
*
|
|
19
|
+
* ── The carrier ─────────────────────────────────────────────────────────
|
|
20
|
+
* MCP's own extensibility bag: `Tool._meta`, under ONE namespaced key
|
|
21
|
+
* ({@link MCP_TOOL_EXTRAS_KEY}). `_meta` is declared on the spec's `Tool`
|
|
22
|
+
* object (`@modelcontextprotocol/sdk` types it as
|
|
23
|
+
* `z.record(z.string(), z.unknown()).optional()` on `ToolSchema`), so it
|
|
24
|
+
* survives the SDK's own `tools/list` validation in both directions and needs
|
|
25
|
+
* no new protocol, no side channel and no version negotiation. A server that
|
|
26
|
+
* has never heard of agentfootprint sends no bag; a client that has never
|
|
27
|
+
* heard of it ignores the key.
|
|
28
|
+
*
|
|
29
|
+
* ── What may travel, and the bar ────────────────────────────────────────
|
|
30
|
+
* **A declaration a consumer-side check or rail reads; nothing that governs
|
|
31
|
+
* execution.** The five fields below pass it. `needs` (credentials), `checkIn`
|
|
32
|
+
* (human consent) and the session hooks do NOT and never will: they govern how
|
|
33
|
+
* a tool RUNS, and the tool runs on the server. Sending them would tell a
|
|
34
|
+
* client to hold a gate that the only executor of the tool has already held,
|
|
35
|
+
* or — worse — that nobody is holding at all. `mcpServe` already refuses to
|
|
36
|
+
* serve a `checkIn` tool for exactly that reason; this list is the same law,
|
|
37
|
+
* stated on the way out.
|
|
38
|
+
*
|
|
39
|
+
* ── The asymmetry that matters ──────────────────────────────────────────
|
|
40
|
+
* SERVING validates nothing new: the tool was built by `defineTool`, which
|
|
41
|
+
* already refused every malformed declaration at definition time.
|
|
42
|
+
*
|
|
43
|
+
* INGEST validates everything and THROWS NOTHING. A bag comes from a server
|
|
44
|
+
* this process does not control, and one server's typo must not take down a
|
|
45
|
+
* bulk register of forty tools. So each field is judged by the SAME rule
|
|
46
|
+
* `defineTool` enforces (literally the same exported assert), and a field that
|
|
47
|
+
* fails is warned about once — naming the server, the tool, the field and the
|
|
48
|
+
* rule — and DROPPED. The tool still registers, without that one declaration.
|
|
49
|
+
* That is the honest outcome: the rail it would have armed stays unarmed, and
|
|
50
|
+
* the developer is told which rail and why.
|
|
51
|
+
*/
|
|
52
|
+
import { type Tool, type ToolOwner, type ToolResultCeiling } from '../../core/tools.js';
|
|
53
|
+
import type { ToolResultClass } from '../semantics/types.js';
|
|
54
|
+
/**
|
|
55
|
+
* The single `_meta` key every agentfootprint declaration travels under.
|
|
56
|
+
*
|
|
57
|
+
* Namespaced so it can never collide with another vendor's `_meta` entry, and
|
|
58
|
+
* a CONSTANT so there is exactly one spelling in the codebase — the
|
|
59
|
+
* `branchSegment.ts` precedent upstream: one owner of the grammar, and nobody
|
|
60
|
+
* else may write the string.
|
|
61
|
+
*/
|
|
62
|
+
export declare const MCP_TOOL_EXTRAS_KEY = "agentfootprint";
|
|
63
|
+
/**
|
|
64
|
+
* The declarations that cross an MCP boundary — the plain-data half of a
|
|
65
|
+
* `Tool`, in the shape the receiving side puts straight back onto a `Tool`.
|
|
66
|
+
*
|
|
67
|
+
* Every field is optional and ABSENT MEANS ABSENT: a tool that declares
|
|
68
|
+
* nothing sends no bag at all, and a tool that declares two sends two keys,
|
|
69
|
+
* never five with three empty placeholders. "Said nothing" and "said empty"
|
|
70
|
+
* are different statements everywhere else in this library, and they are
|
|
71
|
+
* different here.
|
|
72
|
+
*
|
|
73
|
+
* @see MCP_TOOL_EXTRAS_KEY for the `_meta` key it rides under.
|
|
74
|
+
*/
|
|
75
|
+
export interface McpToolExtras {
|
|
76
|
+
/** Where this tool's arguments come from — see {@link Tool.argumentsFrom}.
|
|
77
|
+
* Arms the dangling-reference and unsupported-argument checks. */
|
|
78
|
+
readonly argumentsFrom?: readonly string[];
|
|
79
|
+
/** The artifact kind a PLACED result is minted under — see
|
|
80
|
+
* {@link Tool.resultKind}. What makes a placed result spendable by `wants`. */
|
|
81
|
+
readonly resultKind?: string;
|
|
82
|
+
/** The identity edge integrity checks join on — see {@link Tool.owner}. */
|
|
83
|
+
readonly owner?: ToolOwner;
|
|
84
|
+
/** The declared class of this tool's results — see {@link Tool.resultClass}. */
|
|
85
|
+
readonly resultClass?: ToolResultClass;
|
|
86
|
+
/** The author's refusing ceiling on this tool's result — see
|
|
87
|
+
* {@link Tool.resultCeiling}. */
|
|
88
|
+
readonly resultCeiling?: ToolResultCeiling;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The declarations on `tool`, ready to be written into an MCP `_meta` bag —
|
|
92
|
+
* or `undefined` when the tool declares none, so `mcpServe` can leave `_meta`
|
|
93
|
+
* off the listing entirely rather than sending an empty object.
|
|
94
|
+
*
|
|
95
|
+
* Copied verbatim, never inferred or defaulted. This is the SERVE side, and
|
|
96
|
+
* the values were already vetted by `defineTool`.
|
|
97
|
+
*/
|
|
98
|
+
export declare function toolExtrasOf(tool: Tool): McpToolExtras | undefined;
|
|
99
|
+
/** Where a rejected declaration came from, for the warning that names it. */
|
|
100
|
+
export interface McpToolExtrasOrigin {
|
|
101
|
+
/** The client's logical name — `mcpClient({ name })`. */
|
|
102
|
+
readonly server: string;
|
|
103
|
+
/** The tool the bag was attached to. */
|
|
104
|
+
readonly tool: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Read an MCP `Tool._meta` bag into declarations a `Tool` can carry.
|
|
108
|
+
*
|
|
109
|
+
* **Never throws.** Everything here is somebody else's data:
|
|
110
|
+
*
|
|
111
|
+
* - no `_meta`, no `agentfootprint` key, or a non-object under it → `{}`,
|
|
112
|
+
* and the ingest is byte-identical to every release before this existed;
|
|
113
|
+
* - a field the receiving side does not know → ignored in silence (a NEWER
|
|
114
|
+
* server talking to an OLDER client is not an error, and warning about it
|
|
115
|
+
* would make every upgrade noisy at the wrong end);
|
|
116
|
+
* - a field this library DOES know but cannot honour → warned once and
|
|
117
|
+
* dropped, and the rest of the bag still lands.
|
|
118
|
+
*
|
|
119
|
+
* The rule each field is judged by is the exported assert `defineTool` itself
|
|
120
|
+
* calls, so a declaration that would have been refused at definition time is
|
|
121
|
+
* refused here too, with the same sentence.
|
|
122
|
+
*/
|
|
123
|
+
export declare function readToolExtras(meta: unknown, origin: McpToolExtrasOrigin): McpToolExtras;
|
|
124
|
+
/**
|
|
125
|
+
* Forget every warning issued so far.
|
|
126
|
+
* @internal test seam — the ledger is process-wide and warn-ONCE, so a test
|
|
127
|
+
* proving the warning fires must be able to start from silence.
|
|
128
|
+
*/
|
|
129
|
+
export declare function _resetToolExtrasWarnings(): void;
|