@bevel-software/platform-mcp-core 0.25.2 → 0.27.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.
Files changed (56) hide show
  1. package/dist/call-guards.d.ts +47 -0
  2. package/dist/call-guards.d.ts.map +1 -0
  3. package/dist/call-guards.js +215 -0
  4. package/dist/call-guards.js.map +1 -0
  5. package/dist/dispatch.d.ts +5 -1
  6. package/dist/dispatch.d.ts.map +1 -1
  7. package/dist/dispatch.js +19 -2
  8. package/dist/dispatch.js.map +1 -1
  9. package/dist/get-has-no-body.d.ts +49 -0
  10. package/dist/get-has-no-body.d.ts.map +1 -0
  11. package/dist/get-has-no-body.js +104 -0
  12. package/dist/get-has-no-body.js.map +1 -0
  13. package/dist/index.d.ts +7 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +7 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/mcp-app.d.ts +118 -0
  18. package/dist/mcp-app.d.ts.map +1 -0
  19. package/dist/mcp-app.js +126 -0
  20. package/dist/mcp-app.js.map +1 -0
  21. package/dist/meta-tools.d.ts +1 -1
  22. package/dist/meta-tools.d.ts.map +1 -1
  23. package/dist/meta-tools.js +28 -6
  24. package/dist/meta-tools.js.map +1 -1
  25. package/dist/proxied-tool.d.ts +33 -3
  26. package/dist/proxied-tool.d.ts.map +1 -1
  27. package/dist/proxied-tool.js +234 -21
  28. package/dist/proxied-tool.js.map +1 -1
  29. package/dist/results.d.ts +20 -1
  30. package/dist/results.d.ts.map +1 -1
  31. package/dist/results.js +117 -3
  32. package/dist/results.js.map +1 -1
  33. package/dist/schema-validity.d.ts +50 -0
  34. package/dist/schema-validity.d.ts.map +1 -0
  35. package/dist/schema-validity.js +254 -0
  36. package/dist/schema-validity.js.map +1 -0
  37. package/dist/tool-interface.d.ts +137 -0
  38. package/dist/tool-interface.d.ts.map +1 -0
  39. package/dist/tool-interface.js +640 -0
  40. package/dist/tool-interface.js.map +1 -0
  41. package/dist/utcp-namespace.d.ts +14 -0
  42. package/dist/utcp-namespace.d.ts.map +1 -1
  43. package/dist/utcp-namespace.js +7 -2
  44. package/dist/utcp-namespace.js.map +1 -1
  45. package/package.json +2 -1
  46. package/src/call-guards.ts +237 -0
  47. package/src/dispatch.ts +18 -1
  48. package/src/get-has-no-body.ts +110 -0
  49. package/src/index.ts +45 -0
  50. package/src/mcp-app.ts +194 -0
  51. package/src/meta-tools.ts +31 -6
  52. package/src/proxied-tool.ts +237 -19
  53. package/src/results.ts +129 -3
  54. package/src/schema-validity.ts +264 -0
  55. package/src/tool-interface.ts +673 -0
  56. package/src/utcp-namespace.ts +7 -2
@@ -1,3 +1,5 @@
1
+ import { withCallExample } from './tool-interface.js';
2
+ import { toolUiMeta } from './mcp-app.js';
1
3
  /**
2
4
  * MCP tool-name grammar (also the Anthropic API's), and a length bound. A
3
5
  * remote MCP server can expose a tool whose flattened name breaks this — too
@@ -52,10 +54,83 @@ export function toListedTool(tool) {
52
54
  }
53
55
  return {
54
56
  name: tool.mcpName,
55
- description: tool.description,
57
+ // Every tool an agent can see opens with the one line that shows how it is
58
+ // called — generated from this tool's own input schema, so the platform's
59
+ // tools, a deployment's and a connected server's all get one and none of
60
+ // them can drift from the shape the tool really takes.
61
+ // From the schema as it is LISTED (sanitized, local `$ref`s inlined), so
62
+ // the example and the interface the client is shown agree.
63
+ description: withCallExample(tool.description, tool.utcpName, inputSchema),
56
64
  inputSchema: inputSchema,
65
+ // The MCP Apps view, when this tool carries one. `_meta` is an open map
66
+ // every client is required to tolerate, so a client without the
67
+ // extension reads the tool exactly as it did before.
68
+ ...(tool.ui ? { _meta: toolUiMeta(tool.ui) } : {}),
57
69
  };
58
70
  }
71
+ /**
72
+ * How deep {@link sanitizeInputSchema} descends before it stops walking and
73
+ * passes the remainder through untouched. Generous on purpose: a real schema
74
+ * costs two levels per nesting (the `properties` keyword, then the field name),
75
+ * and the whole reason for this constant is the call stack, not the schema.
76
+ */
77
+ const MAX_SANITIZE_DEPTH = 200;
78
+ /**
79
+ * How many nodes one schema's `$ref` inlining may produce before a `$ref`
80
+ * stops being expanded.
81
+ *
82
+ * The recursion guard tracks only the pointers on the ACTIVE path, which is
83
+ * what `$ref` recursion means — but it does not make expansion cheap. A
84
+ * schema whose references form a DAG rather than a tree (two `allOf` branches
85
+ * pointing at one `$defs` entry, that entry doing the same) expands its target
86
+ * once per branch, and that doubles per level: a few hundred bytes on the wire
87
+ * can ask `tools/list` for a reply no amount of memory will hold. Past this
88
+ * budget a `$ref` degrades to the same permissive `{}` a recursive one does,
89
+ * which stands at a schema position and leaves the result valid JSON Schema.
90
+ */
91
+ const MAX_INLINED_NODES = 20_000;
92
+ /**
93
+ * The stand-in for a subtree past {@link MAX_SANITIZE_DEPTH}: every plain
94
+ * object becomes `{}`, while arrays and scalars keep their shape. Iterative,
95
+ * because the whole reason for being here is that the recursion has to stop.
96
+ *
97
+ * `{}` is legal exactly where a SCHEMA stands, and an object this deep inside a
98
+ * schema is at a schema position. The positions the old cap destroyed were an
99
+ * `anyOf` LIST, a `required` entry and a `type` STRING — none of them an
100
+ * object, all of them handed back as they came. And because no object survives,
101
+ * nothing past the cap can carry a `$ref` left dangling by the `$defs` block
102
+ * this walk drops, or a `format` the Anthropic validator refuses.
103
+ */
104
+ function stripPastDepth(node) {
105
+ if (!node || typeof node !== 'object')
106
+ return node;
107
+ if (!Array.isArray(node))
108
+ return {};
109
+ const out = [];
110
+ const queue = [{ from: node, to: out }];
111
+ for (let i = 0; i < queue.length; i += 1) {
112
+ const { from, to } = queue[i];
113
+ for (const item of from) {
114
+ if (!item || typeof item !== 'object')
115
+ to.push(item);
116
+ else if (!Array.isArray(item))
117
+ to.push({});
118
+ else {
119
+ const nested = [];
120
+ to.push(nested);
121
+ queue.push({ from: item, to: nested });
122
+ }
123
+ }
124
+ }
125
+ return out;
126
+ }
127
+ /**
128
+ * Keywords whose value is INSTANCE DATA rather than a schema. A schema says
129
+ * what a value may be; these carry values themselves, so nothing in them is a
130
+ * construct for the sanitizer to touch — and nothing in them is a place where
131
+ * `{}` would mean "any value" either.
132
+ */
133
+ const DATA_VALUED_KEYWORDS = new Set(['const', 'default', 'enum', 'examples']);
59
134
  /** JSON-Schema string `format` values the Anthropic tool validator accepts. */
60
135
  const SUPPORTED_SCHEMA_FORMATS = new Set([
61
136
  'date-time',
@@ -77,9 +152,28 @@ const SUPPORTED_SCHEMA_FORMATS = new Set([
77
152
  * - drop non-standard `format` values (OpenAPI's `int32`/`byte`/… — only the
78
153
  * JSON-Schema-standard formats above are accepted; `format` is advisory, so
79
154
  * dropping it doesn't change tool behavior).
80
- * Depth-bounded so a recursive schema degrades to a permissive `{}` node instead
81
- * of hanging or emitting the unsupported recursion; non-local/external refs
82
- * degrade the same way. Exported for direct testing.
155
+ * Everything else is passed through UNCHANGED, and both recursion guards are
156
+ * built so that hitting one cannot change a schema either:
157
+ *
158
+ * - a `$ref` that resolves back onto a schema we are already inlining is
159
+ * recursive, and inlining has no finite answer for it. It degrades to a
160
+ * permissive `{}` — which is legal, because a `$ref` only ever stands where
161
+ * a SCHEMA is expected and `{}` there means "any value". Non-local and
162
+ * unresolvable refs degrade the same way, and so does one past
163
+ * {@link MAX_INLINED_NODES}.
164
+ * - the depth cap keeps the rest of the subtree's shape, replacing only the
165
+ * objects in it with `{}` — see {@link stripPastDepth}. It cannot reach
166
+ * inside instance data, because the walk never descends into a
167
+ * {@link DATA_VALUED_KEYWORDS} value in the first place.
168
+ *
169
+ * That second rule is the fix for three tools AI clients silently dropped. The
170
+ * cap used to return `{}` at WHATEVER position it stopped at, and most
171
+ * positions in a schema are not schema positions: a tool nested deeper than
172
+ * the cap reached clients with `anyOf: {}`, `required: [{}]` or `type: {}` in
173
+ * it. None of those is valid JSON Schema, so the client refused the tool — and
174
+ * said so about a server that had sent a perfectly good schema.
175
+ *
176
+ * Exported for direct testing.
83
177
  */
84
178
  export function sanitizeInputSchema(schema) {
85
179
  const root = schema;
@@ -91,33 +185,143 @@ export function sanitizeInputSchema(schema) {
91
185
  const part = partRaw.replace(/~1/g, '/').replace(/~0/g, '~');
92
186
  if (!node || typeof node !== 'object')
93
187
  return undefined;
188
+ // Own members only: `#/constructor` names nothing, not `Object`.
189
+ if (!Object.prototype.hasOwnProperty.call(node, part))
190
+ return undefined;
94
191
  node = node[part];
95
192
  }
96
193
  return node;
97
194
  };
98
- // `isPropertyMap` marks the value of `properties`/`patternProperties`: its
99
- // keys are the tool's OWN field names, not schema keywords, so a field
100
- // literally named `format`, `$ref` or `definitions` must survive untouched
101
- // (its VALUE is still a schema and is walked as one).
195
+ // The pointers currently being inlined, on THIS path. A `$ref` that points
196
+ // at a schema we are already inside is recursive: JSON Schema says that with
197
+ // the reference, and an inlined copy has no finite form.
198
+ const inlining = new Set();
199
+ // Nodes charged to the expansion budget so far, against MAX_INLINED_NODES.
200
+ let inlined = 0;
201
+ // The size of each referenced target — objects, arrays, their entries and
202
+ // scalars, one count per pointer — stopped early past the budget, since
203
+ // past it the exact number no longer matters.
204
+ const costs = new Map();
205
+ const costOf = (pointer) => {
206
+ const known = costs.get(pointer);
207
+ if (known !== undefined)
208
+ return known;
209
+ // Counted with a bounded frontier: children are pushed one at a time and
210
+ // only while the count is under the cap, so a target wider than the
211
+ // budget costs the cap in work and in memory, never its own width.
212
+ let count = 0;
213
+ const stack = [resolvePointer(pointer)];
214
+ const over = () => count + stack.length > MAX_INLINED_NODES;
215
+ while (stack.length > 0 && !over()) {
216
+ const item = stack.pop();
217
+ count += 1;
218
+ if (!item || typeof item !== 'object')
219
+ continue;
220
+ if (Array.isArray(item)) {
221
+ for (let i = 0; i < item.length && !over(); i += 1)
222
+ stack.push(item[i]);
223
+ }
224
+ else {
225
+ for (const key in item) {
226
+ if (over())
227
+ break;
228
+ if (Object.prototype.hasOwnProperty.call(item, key))
229
+ stack.push(item[key]);
230
+ }
231
+ }
232
+ }
233
+ const cost = over() ? MAX_INLINED_NODES + 1 : count;
234
+ costs.set(pointer, cost);
235
+ return cost;
236
+ };
237
+ // `isPropertyMap` marks the value of `properties`/`patternProperties`, and
238
+ // of `dependentSchemas`/`dependencies`: its keys are the tool's OWN field
239
+ // names, not schema keywords, so a field literally named `format`, `$ref`,
240
+ // `definitions` or `default` must survive untouched (its VALUE is still a
241
+ // schema and is walked as one).
102
242
  const walk = (node, depth, isPropertyMap = false) => {
103
- if (depth > 20)
104
- return {}; // recursion/cycle guard — permissive fallback
105
- if (Array.isArray(node))
106
- return node.map((item) => walk(item, depth + 1));
243
+ // Stack guard, not a schema rule: `$ref` recursion is caught below, so
244
+ // nothing a server legitimately sends reaches this. Stopping must never
245
+ // make a schema INVALID — which is exactly what the old cap did, by
246
+ // returning `{}` at whatever position it had reached.
247
+ if (depth > MAX_SANITIZE_DEPTH)
248
+ return stripPastDepth(node);
107
249
  if (!node || typeof node !== 'object')
108
250
  return node;
251
+ if (Array.isArray(node))
252
+ return node.map((item) => walk(item, depth + 1));
109
253
  const obj = node;
110
- if (!isPropertyMap && typeof obj.$ref === 'string') {
111
- const target = resolvePointer(obj.$ref);
254
+ // `$dynamicRef` is a reference like `$ref` (2020-12's late-bound form):
255
+ // resolved the same way when it is a local pointer, degraded the same way
256
+ // when it is not — never left standing, because the `$defs` block it
257
+ // reaches into is dropped below and a dangling reference is what clients
258
+ // reject. Both at once is legal and both apply, so both are inlined, as
259
+ // the `allOf` they amount to.
260
+ const references = ['$ref', '$dynamicRef']
261
+ .map((keyword) => obj[keyword])
262
+ .filter((value) => typeof value === 'string');
263
+ if (!isPropertyMap && references.length > 0) {
112
264
  // JSON Schema allows siblings next to $ref; keep them, target wins ties.
113
265
  const siblings = { ...obj };
114
266
  delete siblings.$ref;
115
- const resolved = walk(target ?? {}, depth + 1);
116
- return resolved && typeof resolved === 'object' && !Array.isArray(resolved)
117
- ? { ...siblings, ...resolved }
118
- : Object.keys(siblings).length
119
- ? siblings
120
- : resolved ?? {};
267
+ delete siblings.$dynamicRef;
268
+ // Sanitized ONCE, here, because every path below can return them: the
269
+ // siblings are schema keywords in their own right, and an unsupported
270
+ // `format` or a nested `$ref` left in them is precisely what this
271
+ // function exists to keep out of a listing. (`siblings` no longer holds
272
+ // a `$ref`, so this cannot re-enter this branch at this node; deeper
273
+ // ones terminate on `inlining` or on the depth cap.)
274
+ const kept = Object.keys(siblings).length ? walk(siblings, depth + 1) : null;
275
+ // Recursive, or past the expansion budget: `{}` ("any value") is the only
276
+ // finite answer, and a `$ref` stands at a schema position, so `{}` there
277
+ // is valid JSON Schema. The reference itself has to go — the `$defs`
278
+ // block it points into is dropped below, and a dangling `$ref` is what
279
+ // clients reject.
280
+ //
281
+ // The budget is charged AT THE REFERENCE, by the whole size of what it
282
+ // would copy — every object, array, array entry and scalar in the
283
+ // target, counted once per pointer — before a byte of it is copied. A
284
+ // target that does not fit the remaining budget is `{}` whole, never a
285
+ // partial copy: the only thing a copy can cost is what the reference
286
+ // multiplies, and that is the target's full size whatever shapes it is
287
+ // made of (a `required` list of ten thousand names as much as ten
288
+ // thousand properties).
289
+ const resolveOne = (pointer) => {
290
+ if (inlining.has(pointer))
291
+ return {};
292
+ const cost = costOf(pointer);
293
+ if (inlined + cost > MAX_INLINED_NODES)
294
+ return {};
295
+ inlined += cost;
296
+ inlining.add(pointer);
297
+ try {
298
+ return walk(resolvePointer(pointer) ?? {}, depth + 1);
299
+ }
300
+ finally {
301
+ inlining.delete(pointer);
302
+ }
303
+ };
304
+ const asObject = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : {};
305
+ if (references.length === 1) {
306
+ const resolved = resolveOne(references[0]);
307
+ // An object target merges over the siblings; a boolean target is a
308
+ // schema in its own right (`false` rejects everything) and stands
309
+ // alone, or under `allOf` beside siblings; anything else a pointer
310
+ // can land on — a string, a number, an array — is not a schema and
311
+ // becomes `{}`, never the raw value.
312
+ if (typeof resolved === 'boolean') {
313
+ return kept ? { ...kept, allOf: [...(Array.isArray(kept.allOf) ? kept.allOf : []), resolved] } : resolved;
314
+ }
315
+ return { ...(kept ?? {}), ...asObject(resolved) };
316
+ }
317
+ // A boolean target is a schema too (`false` rejects everything) and is
318
+ // kept as it is; anything that is not an object schema is `{}`.
319
+ const targets = references.map((pointer) => {
320
+ const resolved = resolveOne(pointer);
321
+ return typeof resolved === 'boolean' ? resolved : asObject(resolved);
322
+ });
323
+ const allOf = Array.isArray(kept?.allOf) ? kept.allOf : [];
324
+ return { ...(kept ?? {}), allOf: [...allOf, ...targets] };
121
325
  }
122
326
  const out = {};
123
327
  for (const [key, value] of Object.entries(obj)) {
@@ -127,12 +331,21 @@ export function sanitizeInputSchema(schema) {
127
331
  }
128
332
  if (key === '$defs' || key === 'definitions')
129
333
  continue; // inlined above
334
+ // Instance DATA, not a schema: handed back exactly as it came. A `default`
335
+ // or an `enum` entry that happens to carry a key named `format` or `$ref`
336
+ // is a value the tool expects, not a construct to rewrite — and since the
337
+ // walk never descends into one, the depth cap cannot reach inside it
338
+ // either.
339
+ if (DATA_VALUED_KEYWORDS.has(key)) {
340
+ out[key] = value;
341
+ continue;
342
+ }
130
343
  // Drop a non-standard `format` (OpenAPI `int32`/`byte`/…) — the validator
131
344
  // only allows the JSON-Schema-standard set; the annotation is non-load-bearing.
132
345
  if (key === 'format' && (typeof value !== 'string' || !SUPPORTED_SCHEMA_FORMATS.has(value))) {
133
346
  continue;
134
347
  }
135
- out[key] = walk(value, depth + 1, key === 'properties' || key === 'patternProperties');
348
+ out[key] = walk(value, depth + 1, key === 'properties' || key === 'patternProperties' || key === 'dependentSchemas' || key === 'dependencies');
136
349
  }
137
350
  return out;
138
351
  };
@@ -1 +1 @@
1
- {"version":3,"file":"proxied-tool.js","sourceRoot":"","sources":["../src/proxied-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxied-tool.js","sourceRoot":"","sources":["../src/proxied-tool.ts"],"names":[],"mappings":"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"}
package/dist/results.d.ts CHANGED
@@ -42,6 +42,16 @@ export declare function isMcpImageResult(value: unknown): value is McpImageResul
42
42
  * MCP caller sees the tool's real message instead of a bare "status code 500".
43
43
  */
44
44
  export declare function describeToolFailure(err: unknown): string;
45
+ /** The `kind` an answer that was not JSON where JSON was expected carries. */
46
+ export declare const NOT_JSON_KIND = "not-json";
47
+ /**
48
+ * A SUCCESSFUL answer that is a web page rather than JSON, cut to its first
49
+ * {@link NON_JSON_MAX} characters — or `undefined` when the value is not a
50
+ * page. Used by the call guards, which know whether the tool answers over HTTP
51
+ * at all; a markdown file that happens to start with a tag is not a page, and
52
+ * only an http-family tool's bare string body can be one.
53
+ */
54
+ export declare function pageInsteadOfJson(value: string): string | undefined;
45
55
  /**
46
56
  * `message` with the transport's own `status` and body folded INTO it, for a
47
57
  * surface that can only answer with text.
@@ -62,7 +72,16 @@ export declare function describeToolFailure(err: unknown): string;
62
72
  * `proposal` steps of a refused write) still follows it.
63
73
  */
64
74
  export declare function withTransportDetail(message: string, status?: unknown, data?: unknown): string;
65
- export declare function toCallToolResult(value: unknown): CallToolResult;
75
+ export declare function toCallToolResult(value: unknown, options?: {
76
+ /**
77
+ * Also answer a plain-object result as `structuredContent`. Asked for by
78
+ * a tool that carries an MCP App view: the view reads the result's fields
79
+ * from `structuredContent` (it has no other place to read them), while
80
+ * the model keeps reading the text block. Off for every other tool, so no
81
+ * client is handed each result twice.
82
+ */
83
+ structured?: boolean;
84
+ }): CallToolResult;
66
85
  /**
67
86
  * Replace image payloads inside a `call_tool_chain` result with a short note.
68
87
  *
@@ -1 +1 @@
1
- {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,qBAAqB,CAAC;IACnC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAE5F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAoBxE;AAiBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA8CxD;AAgBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CA+B7F;AA4HD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAwD/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAK,GAAG,OAAO,CAyWvE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,GACjB,cAAc,CAMhB"}
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,qBAAqB,CAAC;IACnC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAE5F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAoBxE;AAiBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA8CxD;AAED,8EAA8E;AAC9E,eAAO,MAAM,aAAa,aAAa,CAAC;AAoBxC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGnE;AAkFD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CA+B7F;AA4HD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IACR;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,cAAc,CAuEhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAK,GAAG,OAAO,CAyWvE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,GACjB,cAAc,CAMhB"}
package/dist/results.js CHANGED
@@ -92,7 +92,7 @@ export function describeToolFailure(err) {
92
92
  }
93
93
  }
94
94
  if (typeof data === 'string' && data.length > 0)
95
- return data;
95
+ return nonJsonFailure(err, data) ?? data;
96
96
  // Total, like `safeJsonText`: a thrown value whose own `toString` throws
97
97
  // (e.g. a null-prototype object) must still come back as a description —
98
98
  // this function runs inside catch paths, where a second throw would turn
@@ -104,6 +104,104 @@ export function describeToolFailure(err) {
104
104
  return '(indescribable tool failure)';
105
105
  }
106
106
  }
107
+ /** The `kind` an answer that was not JSON where JSON was expected carries. */
108
+ export const NOT_JSON_KIND = 'not-json';
109
+ /** How much of a non-JSON answer reaches the agent. The rest is a web page, not information. */
110
+ const NON_JSON_MAX = 200;
111
+ /** Collapse every run of whitespace, so a page's indentation doesn't fill the budget. */
112
+ function firstLine(text) {
113
+ const collapsed = text.replace(/\s+/g, ' ').trim();
114
+ return collapsed.length > NON_JSON_MAX ? `${collapsed.slice(0, NON_JSON_MAX - 1)}…` : collapsed;
115
+ }
116
+ function looksLikeJson(text) {
117
+ try {
118
+ JSON.parse(text);
119
+ return true;
120
+ }
121
+ catch {
122
+ return false;
123
+ }
124
+ }
125
+ /**
126
+ * A SUCCESSFUL answer that is a web page rather than JSON, cut to its first
127
+ * {@link NON_JSON_MAX} characters — or `undefined` when the value is not a
128
+ * page. Used by the call guards, which know whether the tool answers over HTTP
129
+ * at all; a markdown file that happens to start with a tag is not a page, and
130
+ * only an http-family tool's bare string body can be one.
131
+ */
132
+ export function pageInsteadOfJson(value) {
133
+ if (!/^\s*<(!doctype|html|\?xml|head|body)\b/i.test(value))
134
+ return undefined;
135
+ return firstLine(value);
136
+ }
137
+ /**
138
+ * The short form of a failure whose body was not JSON: the status, the host
139
+ * that answered, and the first {@link NON_JSON_MAX} characters.
140
+ *
141
+ * A service's edge answers a refused request with its own HTML page, and that
142
+ * page used to reach the agent whole — thousands of characters of markup in
143
+ * place of a reason. The status and the first line of it say everything the
144
+ * agent can act on. A body that IS JSON keeps today's wording: it is the
145
+ * service's own message, however long, and cutting it would lose the reason.
146
+ */
147
+ function nonJsonFailure(err, body) {
148
+ if (looksLikeJson(body))
149
+ return undefined;
150
+ const status = readNumber(err, ['response', 'status']) ?? readNumber(err, ['status']);
151
+ const host = failureHost(err);
152
+ const where = [status === undefined ? '' : String(status), host === undefined ? '' : `from ${host}`]
153
+ .filter((p) => p !== '')
154
+ .join(' ');
155
+ const line = firstLine(body);
156
+ return where === '' ? line : `${where}: ${line}`;
157
+ }
158
+ function readNumber(source, path) {
159
+ let node = source;
160
+ for (const key of path) {
161
+ if (node === null || typeof node !== 'object')
162
+ return undefined;
163
+ try {
164
+ node = node[key];
165
+ }
166
+ catch {
167
+ return undefined;
168
+ }
169
+ }
170
+ return typeof node === 'number' ? node : undefined;
171
+ }
172
+ /** The host that answered, from wherever the transport left the request's URL. */
173
+ function failureHost(err) {
174
+ for (const path of [
175
+ ['response', 'config', 'url'],
176
+ ['config', 'url'],
177
+ ['response', 'url'],
178
+ ['url'],
179
+ ]) {
180
+ let node = err;
181
+ for (const key of path) {
182
+ if (node === null || typeof node !== 'object') {
183
+ node = undefined;
184
+ break;
185
+ }
186
+ try {
187
+ node = node[key];
188
+ }
189
+ catch {
190
+ node = undefined;
191
+ break;
192
+ }
193
+ }
194
+ if (typeof node === 'string' && node.length > 0) {
195
+ try {
196
+ return new URL(node).host;
197
+ }
198
+ catch {
199
+ // not an absolute URL — nothing to name, try the next place
200
+ }
201
+ }
202
+ }
203
+ return undefined;
204
+ }
107
205
  /**
108
206
  * Does `message` already state `status` AS a status code?
109
207
  *
@@ -304,7 +402,7 @@ function noteText(value) {
304
402
  }
305
403
  return undefined;
306
404
  }
307
- export function toCallToolResult(value) {
405
+ export function toCallToolResult(value, options) {
308
406
  // An image sentinel (see McpImageResult): the tool's result IS a picture.
309
407
  // Emit a native image content block so a multimodal client renders it, plus
310
408
  // the note as a text block so the transcript stays self-describing.
@@ -356,7 +454,23 @@ export function toCallToolResult(value) {
356
454
  return value;
357
455
  }
358
456
  const text = typeof value === 'string' ? value : safeJsonText(value ?? null);
359
- return { content: [{ type: 'text', text: text || '(tool produced no output)' }] };
457
+ const result = { content: [{ type: 'text', text: text || '(tool produced no output)' }] };
458
+ if (options?.structured && value !== null && typeof value === 'object' && !Array.isArray(value)) {
459
+ // The JSON-safe reading of the value, the same one the text block carries:
460
+ // the object itself may hold a BigInt, a cycle or a `toJSON` that throws,
461
+ // and the response serializer would fail on it where the text did not. A
462
+ // value with no JSON object reading carries no structured content.
463
+ try {
464
+ const structured = JSON.parse(text);
465
+ if (structured !== null && typeof structured === 'object' && !Array.isArray(structured)) {
466
+ result.structuredContent = structured;
467
+ }
468
+ }
469
+ catch {
470
+ /* text was not JSON: nothing structured to attach */
471
+ }
472
+ }
473
+ return result;
360
474
  }
361
475
  /**
362
476
  * Replace image payloads inside a `call_tool_chain` result with a short note.
@@ -1 +1 @@
1
- {"version":3,"file":"results.js","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"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"}