@namzu/sdk 39.0.0 → 41.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/CHANGELOG.md +328 -0
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +8 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +11 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/connector/index.d.ts +2 -2
- package/dist/connector/index.d.ts.map +1 -1
- package/dist/connector/index.js +1 -1
- package/dist/connector/index.js.map +1 -1
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +112 -10
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/connector/mcp/audio-admission.d.ts +17 -0
- package/dist/connector/mcp/audio-admission.d.ts.map +1 -0
- package/dist/connector/mcp/audio-admission.js +171 -0
- package/dist/connector/mcp/audio-admission.js.map +1 -0
- package/dist/connector/mcp/client.d.ts +252 -1
- package/dist/connector/mcp/client.d.ts.map +1 -1
- package/dist/connector/mcp/client.js +611 -39
- package/dist/connector/mcp/client.js.map +1 -1
- package/dist/connector/mcp/envelope.d.ts +91 -0
- package/dist/connector/mcp/envelope.d.ts.map +1 -0
- package/dist/connector/mcp/envelope.js +173 -0
- package/dist/connector/mcp/envelope.js.map +1 -0
- package/dist/connector/mcp/era.d.ts +130 -0
- package/dist/connector/mcp/era.d.ts.map +1 -0
- package/dist/connector/mcp/era.js +304 -0
- package/dist/connector/mcp/era.js.map +1 -0
- package/dist/connector/mcp/errors.d.ts +106 -0
- package/dist/connector/mcp/errors.d.ts.map +1 -0
- package/dist/connector/mcp/errors.js +154 -0
- package/dist/connector/mcp/errors.js.map +1 -0
- package/dist/connector/mcp/http-sse.d.ts +11 -0
- package/dist/connector/mcp/http-sse.d.ts.map +1 -1
- package/dist/connector/mcp/http-sse.js +21 -6
- package/dist/connector/mcp/http-sse.js.map +1 -1
- package/dist/connector/mcp/index.d.ts +7 -0
- package/dist/connector/mcp/index.d.ts.map +1 -1
- package/dist/connector/mcp/index.js +10 -0
- package/dist/connector/mcp/index.js.map +1 -1
- package/dist/connector/mcp/streamable-http.d.ts +83 -0
- package/dist/connector/mcp/streamable-http.d.ts.map +1 -1
- package/dist/connector/mcp/streamable-http.js +177 -11
- package/dist/connector/mcp/streamable-http.js.map +1 -1
- package/dist/connector/mcp/x-mcp-header.d.ts +56 -0
- package/dist/connector/mcp/x-mcp-header.d.ts.map +1 -0
- package/dist/connector/mcp/x-mcp-header.js +254 -0
- package/dist/connector/mcp/x-mcp-header.js.map +1 -0
- package/dist/constants/mcp/index.d.ts +123 -15
- package/dist/constants/mcp/index.d.ts.map +1 -1
- package/dist/constants/mcp/index.js +135 -16
- package/dist/constants/mcp/index.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +23 -0
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +8 -0
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +12 -0
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts +20 -0
- package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
- package/dist/prompt/coding-agent-doctrine.js +19 -3
- package/dist/prompt/coding-agent-doctrine.js.map +1 -1
- package/dist/prompt/index.d.ts +1 -1
- package/dist/prompt/index.d.ts.map +1 -1
- package/dist/prompt/index.js +1 -1
- package/dist/prompt/index.js.map +1 -1
- package/dist/public-runtime.d.ts +6 -4
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +8 -4
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +11 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +14 -0
- package/dist/public-tools.js.map +1 -1
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +2 -3
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/portable.d.ts +65 -0
- package/dist/registry/tool/portable.d.ts.map +1 -0
- package/dist/registry/tool/portable.js +244 -0
- package/dist/registry/tool/portable.js.map +1 -0
- package/dist/registry/tool/schema.d.ts +32 -5
- package/dist/registry/tool/schema.d.ts.map +1 -1
- package/dist/registry/tool/schema.js +35 -9
- package/dist/registry/tool/schema.js.map +1 -1
- package/dist/registry/toolset/catalog.js +8 -8
- package/dist/registry/toolset/catalog.js.map +1 -1
- package/dist/runtime/jobs/awaited-jobs.d.ts +215 -0
- package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -0
- package/dist/runtime/jobs/awaited-jobs.js +259 -0
- package/dist/runtime/jobs/awaited-jobs.js.map +1 -0
- package/dist/runtime/jobs/registry.d.ts +33 -2
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +37 -0
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +28 -0
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +39 -1
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/file-evidence-context.d.ts.map +1 -1
- package/dist/runtime/query/file-evidence-context.js +159 -43
- package/dist/runtime/query/file-evidence-context.js.map +1 -1
- package/dist/runtime/query/file-evidence-replay.d.ts +260 -0
- package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -0
- package/dist/runtime/query/file-evidence-replay.js +647 -0
- package/dist/runtime/query/file-evidence-replay.js.map +1 -0
- package/dist/runtime/query/file-evidence-seed.d.ts +50 -0
- package/dist/runtime/query/file-evidence-seed.d.ts.map +1 -0
- package/dist/runtime/query/file-evidence-seed.js +100 -0
- package/dist/runtime/query/file-evidence-seed.js.map +1 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +94 -2
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +87 -9
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +193 -28
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +10 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +5 -1
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/plugin-hooks.d.ts +14 -0
- package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
- package/dist/runtime/query/plugin-hooks.js +18 -0
- package/dist/runtime/query/plugin-hooks.js.map +1 -1
- package/dist/runtime/query/repeat-call.d.ts +17 -4
- package/dist/runtime/query/repeat-call.d.ts.map +1 -1
- package/dist/runtime/query/repeat-call.js +26 -19
- package/dist/runtime/query/repeat-call.js.map +1 -1
- package/dist/runtime/query/steering.d.ts +11 -1
- package/dist/runtime/query/steering.d.ts.map +1 -1
- package/dist/runtime/query/steering.js +12 -1
- package/dist/runtime/query/steering.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +2 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +1 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +46 -3
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/scheduler/completion-inbox.d.ts +48 -2
- package/dist/scheduler/completion-inbox.d.ts.map +1 -1
- package/dist/scheduler/completion-inbox.js +102 -10
- package/dist/scheduler/completion-inbox.js.map +1 -1
- package/dist/scheduler/local.d.ts.map +1 -1
- package/dist/scheduler/local.js +8 -0
- package/dist/scheduler/local.js.map +1 -1
- package/dist/store/run/disk.d.ts +35 -1
- package/dist/store/run/disk.d.ts.map +1 -1
- package/dist/store/run/disk.js +100 -0
- package/dist/store/run/disk.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +4 -10
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/edit-apply.d.ts +126 -0
- package/dist/tools/builtins/edit-apply.d.ts.map +1 -0
- package/dist/tools/builtins/edit-apply.js +360 -0
- package/dist/tools/builtins/edit-apply.js.map +1 -0
- package/dist/tools/builtins/edit.d.ts +143 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +37 -219
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/index.d.ts +1 -0
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +9 -3
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/job.js +1 -1
- package/dist/tools/builtins/job.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts +2 -2
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +50 -65
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/read-render.d.ts +56 -0
- package/dist/tools/builtins/read-render.d.ts.map +1 -0
- package/dist/tools/builtins/read-render.js +73 -0
- package/dist/tools/builtins/read-render.js.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts +67 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.js +108 -0
- package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -0
- package/dist/tools/builtins/wait-for-job.d.ts +6 -0
- package/dist/tools/builtins/wait-for-job.d.ts.map +1 -0
- package/dist/tools/builtins/wait-for-job.js +162 -0
- package/dist/tools/builtins/wait-for-job.js.map +1 -0
- package/dist/tools/builtins/write-file.js +5 -0
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +1 -7
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/file-read-tracker.d.ts.map +1 -1
- package/dist/tools/file-read-tracker.js +88 -10
- package/dist/tools/file-read-tracker.js.map +1 -1
- package/dist/types/agent/scheduler.d.ts +20 -0
- package/dist/types/agent/scheduler.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +20 -0
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/connector/mcp.d.ts +205 -0
- package/dist/types/connector/mcp.d.ts.map +1 -1
- package/dist/types/message/index.d.ts +1 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +2 -0
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/run/entity.d.ts +13 -0
- package/dist/types/run/entity.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +56 -0
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/store.d.ts +41 -0
- package/dist/types/run/store.d.ts.map +1 -1
- package/dist/types/sandbox/index.d.ts +83 -15
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/tool/index.d.ts +109 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/utils/env.d.ts +19 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +25 -0
- package/dist/utils/env.js.map +1 -0
- package/package.json +1 -1
- package/src/bridge/a2a/mapper.ts +8 -0
- package/src/bridge/sse/mapper.ts +11 -0
- package/src/connector/index.ts +27 -0
- package/src/connector/mcp/adapter.ts +123 -10
- package/src/connector/mcp/audio-admission.ts +173 -0
- package/src/connector/mcp/client.ts +694 -45
- package/src/connector/mcp/envelope.ts +235 -0
- package/src/connector/mcp/era.ts +400 -0
- package/src/connector/mcp/errors.ts +171 -0
- package/src/connector/mcp/http-sse.ts +23 -6
- package/src/connector/mcp/index.ts +37 -0
- package/src/connector/mcp/streamable-http.ts +199 -11
- package/src/connector/mcp/x-mcp-header.ts +322 -0
- package/src/constants/mcp/index.ts +145 -16
- package/src/manager/agent/lifecycle.ts +29 -0
- package/src/manager/run/persistence.ts +12 -0
- package/src/prompt/coding-agent-doctrine.ts +31 -4
- package/src/prompt/index.ts +1 -0
- package/src/public-runtime.ts +37 -1
- package/src/public-tools.ts +18 -0
- package/src/registry/tool/execute.ts +2 -4
- package/src/registry/tool/portable.ts +264 -0
- package/src/registry/tool/schema.ts +38 -8
- package/src/registry/toolset/catalog.ts +8 -9
- package/src/runtime/jobs/awaited-jobs.ts +271 -0
- package/src/runtime/jobs/registry.ts +50 -0
- package/src/runtime/query/executor.ts +49 -1
- package/src/runtime/query/file-evidence-context.ts +190 -46
- package/src/runtime/query/file-evidence-replay.ts +776 -0
- package/src/runtime/query/file-evidence-seed.ts +126 -0
- package/src/runtime/query/index.ts +104 -2
- package/src/runtime/query/iteration/index.ts +202 -28
- package/src/runtime/query/iteration/phases/context.ts +10 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +4 -0
- package/src/runtime/query/plugin-hooks.ts +20 -0
- package/src/runtime/query/repeat-call.ts +28 -18
- package/src/runtime/query/steering.ts +11 -0
- package/src/runtime/query/tooling.ts +3 -0
- package/src/sandbox/provider/local.ts +45 -2
- package/src/scheduler/completion-inbox.ts +105 -9
- package/src/scheduler/local.ts +8 -0
- package/src/store/run/disk.ts +108 -0
- package/src/tools/builtins/bash.ts +4 -10
- package/src/tools/builtins/edit-apply.ts +456 -0
- package/src/tools/builtins/edit.ts +39 -270
- package/src/tools/builtins/index.ts +9 -3
- package/src/tools/builtins/job.ts +1 -1
- package/src/tools/builtins/read-file.ts +56 -77
- package/src/tools/builtins/read-render.ts +104 -0
- package/src/tools/builtins/wait-for-job-bounds.ts +179 -0
- package/src/tools/builtins/wait-for-job.ts +184 -0
- package/src/tools/builtins/write-file.ts +5 -0
- package/src/tools/coordinator/index.ts +1 -7
- package/src/tools/file-read-tracker.ts +85 -7
- package/src/types/agent/scheduler.ts +21 -0
- package/src/types/agent/task.ts +21 -0
- package/src/types/connector/mcp.ts +205 -1
- package/src/types/message/index.ts +2 -0
- package/src/types/run/entity.ts +14 -0
- package/src/types/run/events.ts +56 -0
- package/src/types/run/store.ts +42 -0
- package/src/types/sandbox/index.ts +84 -15
- package/src/types/tool/index.ts +104 -0
- package/src/utils/env.ts +23 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
3
3
|
import { wrapUntrusted } from '../../tools/untrusted-envelope.js';
|
|
4
|
+
import { admitMcpAudioBatch } from './audio-admission.js';
|
|
5
|
+
import { MCPInputRequiredError, isMissingRequiredClientCapabilityError } from './errors.js';
|
|
4
6
|
import { MCPHttpRedirectError } from './http-redirect.js';
|
|
5
7
|
import { admitMcpImageBatch } from './image-admission.js';
|
|
6
8
|
/** The resource type an MCP server returns to pin facts into working memory. */
|
|
@@ -311,11 +313,20 @@ const MAX_TUPLE_ARITY = 32;
|
|
|
311
313
|
* down every run that offered the toolset. A faithful conversion that cannot
|
|
312
314
|
* be sent is strictly worse than a lossy one that can.
|
|
313
315
|
*
|
|
314
|
-
*
|
|
315
|
-
*
|
|
316
|
-
* `prefixItems
|
|
317
|
-
*
|
|
318
|
-
*
|
|
316
|
+
* NO positional shape is a construct every wire accepts. That was measured the
|
|
317
|
+
* expensive way: `items: [a, b]` is refused by a wire validating against JSON
|
|
318
|
+
* Schema 2020-12, `prefixItems: [a, b]` is unknown to a draft-07 one — which
|
|
319
|
+
* DROPS it silently rather than complaining — and only three of the ten
|
|
320
|
+
* drivers convert between them. So the rendering boundary now collapses every
|
|
321
|
+
* tuple to a uniform array (`registry/tool/portable.ts`), and this function's
|
|
322
|
+
* job changed with it: the tuple it returns is the PARSER, which still refuses
|
|
323
|
+
* a wrongly-typed or wrongly-ordered call, while the positions reach the model
|
|
324
|
+
* as prose in the description — the one channel every wire carries intact.
|
|
325
|
+
*
|
|
326
|
+
* Hence the narrow gate, which still matters: a tuple is a parser strict
|
|
327
|
+
* enough to reject a shorter array, so it is built only where the server
|
|
328
|
+
* itself pinned the arity and closed the tail. Everything else keeps the
|
|
329
|
+
* permissive array. Either way the positional shape is described.
|
|
319
330
|
*
|
|
320
331
|
* The subtlety worth stating, because it inverts the intuition: positional
|
|
321
332
|
* `items`/`prefixItems` does not constrain LENGTH. Without `minItems` the
|
|
@@ -338,7 +349,12 @@ function positionalToZod(positional, schema, depth) {
|
|
|
338
349
|
const members = positional.map((member) => jsonSchemaPropertyToZod(member, depth + 1));
|
|
339
350
|
// Never `.rest()`. It renders a tail schema this wire has not been measured
|
|
340
351
|
// against, and the gate above has already established there is no tail.
|
|
341
|
-
|
|
352
|
+
//
|
|
353
|
+
// Described as well as parsed: the rendering collapses the tuple to a
|
|
354
|
+
// uniform array, so without this sentence the model would be shown "two of
|
|
355
|
+
// string-or-number" for a schema the parser reads as "a string then a
|
|
356
|
+
// number" — and would learn the difference only from a rejected call.
|
|
357
|
+
return z.tuple(members).describe(describePositional(positional));
|
|
342
358
|
}
|
|
343
359
|
/** The positional shape in prose, for the cases a tuple cannot carry. */
|
|
344
360
|
function describePositional(positional) {
|
|
@@ -459,11 +475,59 @@ readOnlyHintTrusted = false) {
|
|
|
459
475
|
},
|
|
460
476
|
};
|
|
461
477
|
}
|
|
478
|
+
// MRTR: a conforming server never sends this, since namzu declares
|
|
479
|
+
// `clientCapabilities: {}` — but a non-conforming one, or a second
|
|
480
|
+
// `input_required` after the one automatic retry `MCPClient`
|
|
481
|
+
// already made, is named here rather than reaching the caller as
|
|
482
|
+
// an unexplained rejection. No side effect is known to have
|
|
483
|
+
// happened on this path (the spec's model is that a call ending
|
|
484
|
+
// in `input_required` has not truly run yet), so a retry — of
|
|
485
|
+
// this tool, or a different approach entirely — is safe.
|
|
486
|
+
if (error instanceof MCPInputRequiredError) {
|
|
487
|
+
const requested = error.inputRequests.map((request) => request.method);
|
|
488
|
+
return frameServerResult({
|
|
489
|
+
success: false,
|
|
490
|
+
output: '',
|
|
491
|
+
error: `MCP tool "${tool.name}" on server "${serverName}" asked for input this client has no way to supply${requested.length > 0 ? ` (${requested.join(', ')})` : ''}.`,
|
|
492
|
+
data: {
|
|
493
|
+
code: 'mcp_tool_input_required',
|
|
494
|
+
server: serverName,
|
|
495
|
+
tool: tool.name,
|
|
496
|
+
requested,
|
|
497
|
+
retrySafety: 'safe',
|
|
498
|
+
},
|
|
499
|
+
}, serverName, tool.name);
|
|
500
|
+
}
|
|
501
|
+
// Same principle, for the other outcome a no-capability host is
|
|
502
|
+
// genuinely likely to see: the server refused before running the
|
|
503
|
+
// tool because this client never declared a capability it needs.
|
|
504
|
+
if (isMissingRequiredClientCapabilityError(error)) {
|
|
505
|
+
const requiredCapabilities = requiredCapabilitiesFrom(error.data);
|
|
506
|
+
return frameServerResult({
|
|
507
|
+
success: false,
|
|
508
|
+
output: '',
|
|
509
|
+
error: `MCP tool "${tool.name}" on server "${serverName}" requires client capabilities this client did not declare${requiredCapabilities.length > 0 ? ` (${requiredCapabilities.join(', ')})` : ''}.`,
|
|
510
|
+
data: {
|
|
511
|
+
code: 'mcp_tool_missing_client_capability',
|
|
512
|
+
server: serverName,
|
|
513
|
+
tool: tool.name,
|
|
514
|
+
requiredCapabilities,
|
|
515
|
+
retrySafety: 'safe',
|
|
516
|
+
},
|
|
517
|
+
}, serverName, tool.name);
|
|
518
|
+
}
|
|
462
519
|
throw error;
|
|
463
520
|
}
|
|
464
521
|
},
|
|
465
522
|
};
|
|
466
523
|
}
|
|
524
|
+
/** Read `-32021`'s `data.requiredCapabilities` defensively — it is a server's own claim, not a validated shape. */
|
|
525
|
+
function requiredCapabilitiesFrom(data) {
|
|
526
|
+
if (typeof data !== 'object' || data === null)
|
|
527
|
+
return [];
|
|
528
|
+
const required = data.requiredCapabilities;
|
|
529
|
+
return Array.isArray(required) ? required.filter((c) => typeof c === 'string') : [];
|
|
530
|
+
}
|
|
467
531
|
export function toolDefinitionToMCPTool(tool) {
|
|
468
532
|
return {
|
|
469
533
|
name: tool.name,
|
|
@@ -536,6 +600,8 @@ export function mcpToolResultToToolResult(result) {
|
|
|
536
600
|
.join('\n');
|
|
537
601
|
const imageBlocks = result.content.filter((block) => block.type === 'image');
|
|
538
602
|
const imagesAdmitted = admitMcpImageBatch(imageBlocks);
|
|
603
|
+
const audioBlocks = result.content.filter((block) => block.type === 'audio');
|
|
604
|
+
const audiosAdmitted = admitMcpAudioBatch(audioBlocks);
|
|
539
605
|
// Non-text blocks used to be filtered out and never seen again: a
|
|
540
606
|
// bridged MCP server returning a chart, a screenshot or a PDF had that
|
|
541
607
|
// content silently discarded, even though `types/connector/mcp.ts`
|
|
@@ -543,6 +609,13 @@ export function mcpToolResultToToolResult(result) {
|
|
|
543
609
|
// as model-visible content when any are present.
|
|
544
610
|
const blocks = [];
|
|
545
611
|
const pins = [];
|
|
612
|
+
// Set only by a block type that has no `ToolResultBlock` shape of its
|
|
613
|
+
// own and is rendered as a plain text pointer instead (`resource_link`
|
|
614
|
+
// today). Without this, a result made up entirely of such pointers
|
|
615
|
+
// would compute `hasRichContent` false — every pushed block LOOKS like
|
|
616
|
+
// ordinary text — and the whole `content` array, the pointer's only
|
|
617
|
+
// carrier, would be dropped by the `hasRichContent` gate below.
|
|
618
|
+
let hasNamedPointer = false;
|
|
546
619
|
for (const block of result.content) {
|
|
547
620
|
if (block.type === 'resource' && block.resource?.mimeType === WORKING_STATE_MIME) {
|
|
548
621
|
// A server pins facts by returning them as a resource of this type:
|
|
@@ -569,14 +642,32 @@ export function mcpToolResultToToolResult(result) {
|
|
|
569
642
|
: {}),
|
|
570
643
|
});
|
|
571
644
|
}
|
|
645
|
+
else if (block.type === 'resource_link') {
|
|
646
|
+
// A resource_link never carries content, admitted or not — it is
|
|
647
|
+
// a pointer the model cannot dereference, so it is named rather
|
|
648
|
+
// than pretended to be present, exactly like a URI-only embedded
|
|
649
|
+
// resource just below.
|
|
650
|
+
blocks.push({
|
|
651
|
+
type: 'text',
|
|
652
|
+
text: `[MCP resource link: ${block.name} (${block.uri})]`,
|
|
653
|
+
});
|
|
654
|
+
hasNamedPointer = true;
|
|
655
|
+
}
|
|
572
656
|
else if (block.type === 'resource' && block.resource?.text) {
|
|
573
657
|
// A resource with inline text is readable content; one that is
|
|
574
|
-
// only a URI is a pointer the model cannot
|
|
575
|
-
// named rather than pretended to be
|
|
658
|
+
// only a URI, or only a `blob`, is a pointer the model cannot
|
|
659
|
+
// dereference, so it is named rather than pretended to be
|
|
660
|
+
// present — here, that means it is left out of `blocks`
|
|
661
|
+
// entirely rather than rendered as fabricated text.
|
|
576
662
|
blocks.push({ type: 'text', text: block.resource.text });
|
|
577
663
|
}
|
|
664
|
+
// `audio` has no `ToolResultBlock` shape of its own today, so it is
|
|
665
|
+
// summarized into `output` below rather than pushed here — the
|
|
666
|
+
// same reasoning that keeps a withheld image out of plain text,
|
|
667
|
+
// applied to a media type this adapter cannot pass through as
|
|
668
|
+
// bytes at all yet.
|
|
578
669
|
}
|
|
579
|
-
const hasRichContent = blocks.some((b) => b.type !== 'text');
|
|
670
|
+
const hasRichContent = hasNamedPointer || blocks.some((b) => b.type !== 'text');
|
|
580
671
|
// A server may answer with a structured payload and skip the
|
|
581
672
|
// compatibility text block. Serializing it is the difference between
|
|
582
673
|
// the model reading the answer and reading nothing at all — the call
|
|
@@ -588,7 +679,18 @@ export function mcpToolResultToToolResult(result) {
|
|
|
588
679
|
const invalidImageNotice = imageBlocks.length > 0 && !imagesAdmitted
|
|
589
680
|
? '[MCP image batch withheld from model input: one or more blocks are not complete supported raster containers matching their declared media types.]'
|
|
590
681
|
: '';
|
|
591
|
-
|
|
682
|
+
// Audio has no `ToolResultBlock` carrier, so an admitted clip is named
|
|
683
|
+
// in `output` by its media type instead of being dumped into `content`
|
|
684
|
+
// as base64 text — the same mistake this adapter already fixed once for
|
|
685
|
+
// screenshots. A withheld batch gets the same notice shape as images.
|
|
686
|
+
const audioNotice = audioBlocks.length === 0
|
|
687
|
+
? ''
|
|
688
|
+
: audiosAdmitted
|
|
689
|
+
? `[MCP audio: ${audioBlocks.map((block) => block.mimeType).join(', ')}]`
|
|
690
|
+
: '[MCP audio batch withheld from model input: one or more blocks are not complete supported audio containers matching their declared media types.]';
|
|
691
|
+
const output = [visibleText, invalidImageNotice, audioNotice]
|
|
692
|
+
.filter((part) => part.length > 0)
|
|
693
|
+
.join('\n');
|
|
592
694
|
return {
|
|
593
695
|
...(pins.length > 0 ? { workingState: pins } : {}),
|
|
594
696
|
success: !result.isError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/connector/mcp/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/connector/mcp/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MCPContentBlock } from '../../types/connector/index.js';
|
|
2
|
+
type MCPAudioBlock = Extract<MCPContentBlock, {
|
|
3
|
+
type: 'audio';
|
|
4
|
+
}>;
|
|
5
|
+
/**
|
|
6
|
+
* Admit an MCP audio batch atomically before any member becomes model input.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors `admitMcpImageBatch`: a remote server controls the declared MIME
|
|
9
|
+
* and bytes, canonical base64 is only an encoding property, and the decoded
|
|
10
|
+
* value must also be a complete, bounded container whose framing agrees
|
|
11
|
+
* with the declared media type. One bad member withholds the complete batch
|
|
12
|
+
* so a model is never shown a partial result while the host retains every
|
|
13
|
+
* raw block for inspection.
|
|
14
|
+
*/
|
|
15
|
+
export declare function admitMcpAudioBatch(audios: readonly MCPAudioBlock[]): boolean;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=audio-admission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-admission.d.ts","sourceRoot":"","sources":["../../../src/connector/mcp/audio-admission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAIrE,KAAK,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AA4JhE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAE5E"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
const MAX_ENCODED_BYTES = 24 * 1024 * 1024;
|
|
2
|
+
const AUDIO_MEDIA_TYPES = new Set(['audio/wav', 'audio/mpeg', 'audio/ogg']);
|
|
3
|
+
function isAudioMediaType(value) {
|
|
4
|
+
return AUDIO_MEDIA_TYPES.has(value);
|
|
5
|
+
}
|
|
6
|
+
function decodeCanonicalBase64(value) {
|
|
7
|
+
if (value.length === 0 || value.length > MAX_ENCODED_BYTES)
|
|
8
|
+
return null;
|
|
9
|
+
if (!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value)) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const decoded = Buffer.from(value, 'base64');
|
|
13
|
+
return decoded.toString('base64') === value ? decoded : null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A canonical RIFF/WAVE container: the size field agrees with the buffer
|
|
17
|
+
* length, and walking its chunks (word-aligned, as RIFF requires) lands
|
|
18
|
+
* exactly on the end of the buffer having seen both a `fmt ` and a `data`
|
|
19
|
+
* chunk. Mirrors the WebP walker in `image-admission.ts`, which is the same
|
|
20
|
+
* RIFF container format wearing a different fourCC.
|
|
21
|
+
*/
|
|
22
|
+
function isWav(bytes) {
|
|
23
|
+
const buffer = Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
24
|
+
if (bytes.length < 12 ||
|
|
25
|
+
buffer.toString('ascii', 0, 4) !== 'RIFF' ||
|
|
26
|
+
buffer.readUInt32LE(4) + 8 !== bytes.length ||
|
|
27
|
+
buffer.toString('ascii', 8, 12) !== 'WAVE') {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
let offset = 12;
|
|
31
|
+
let sawFmt = false;
|
|
32
|
+
let sawData = false;
|
|
33
|
+
while (offset + 8 <= bytes.length) {
|
|
34
|
+
const chunkId = buffer.toString('ascii', offset, offset + 4);
|
|
35
|
+
const chunkSize = buffer.readUInt32LE(offset + 4);
|
|
36
|
+
const dataStart = offset + 8;
|
|
37
|
+
const dataEnd = dataStart + chunkSize;
|
|
38
|
+
if (dataEnd < dataStart || dataEnd > bytes.length)
|
|
39
|
+
return false;
|
|
40
|
+
if (chunkId === 'fmt ') {
|
|
41
|
+
if (chunkSize < 16)
|
|
42
|
+
return false;
|
|
43
|
+
sawFmt = true;
|
|
44
|
+
}
|
|
45
|
+
if (chunkId === 'data')
|
|
46
|
+
sawData = true;
|
|
47
|
+
// RIFF chunks are padded to an even byte count; the pad byte is not
|
|
48
|
+
// counted in chunkSize but is present in the stream.
|
|
49
|
+
offset = dataEnd + (chunkSize % 2);
|
|
50
|
+
}
|
|
51
|
+
return sawFmt && sawData && offset === bytes.length;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A sequence of Ogg pages, each framed by its `OggS` capture pattern and a
|
|
55
|
+
* segment table whose declared sizes account for every byte of payload.
|
|
56
|
+
* Page checksums are not verified — the framing itself, consumed exactly to
|
|
57
|
+
* the end of the buffer, is what this admits or refuses.
|
|
58
|
+
*/
|
|
59
|
+
function isOgg(bytes) {
|
|
60
|
+
const buffer = Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
61
|
+
let offset = 0;
|
|
62
|
+
let sawPage = false;
|
|
63
|
+
while (offset + 27 <= bytes.length) {
|
|
64
|
+
if (buffer.toString('ascii', offset, offset + 4) !== 'OggS')
|
|
65
|
+
return false;
|
|
66
|
+
if (bytes[offset + 4] !== 0)
|
|
67
|
+
return false; // stream_structure_version
|
|
68
|
+
const segmentCount = bytes[offset + 26] ?? 0;
|
|
69
|
+
const segmentTableStart = offset + 27;
|
|
70
|
+
if (segmentTableStart + segmentCount > bytes.length)
|
|
71
|
+
return false;
|
|
72
|
+
let payloadLength = 0;
|
|
73
|
+
for (let i = 0; i < segmentCount; i += 1) {
|
|
74
|
+
payloadLength += bytes[segmentTableStart + i] ?? 0;
|
|
75
|
+
}
|
|
76
|
+
const payloadEnd = segmentTableStart + segmentCount + payloadLength;
|
|
77
|
+
if (payloadEnd > bytes.length)
|
|
78
|
+
return false;
|
|
79
|
+
sawPage = true;
|
|
80
|
+
offset = payloadEnd;
|
|
81
|
+
}
|
|
82
|
+
return sawPage && offset === bytes.length;
|
|
83
|
+
}
|
|
84
|
+
// MPEG-1 Layer III bitrates in kbps, indexed by the header's 4-bit field.
|
|
85
|
+
// Index 0 (free bitrate) and 15 (reserved) are both treated as unsupported.
|
|
86
|
+
const MPEG1_L3_BITRATES = [
|
|
87
|
+
0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 0,
|
|
88
|
+
];
|
|
89
|
+
const MPEG1_SAMPLE_RATES = [44100, 48000, 32000, 0];
|
|
90
|
+
/** Frame length in bytes for an MPEG-1 Layer III frame, or null if the header is malformed/unsupported. */
|
|
91
|
+
function mp3FrameLength(headerByte1, headerByte2) {
|
|
92
|
+
const versionBits = (headerByte1 >> 3) & 0x3;
|
|
93
|
+
const layerBits = (headerByte1 >> 1) & 0x3;
|
|
94
|
+
if (versionBits !== 0x3 || layerBits !== 0x1)
|
|
95
|
+
return null; // MPEG-1, Layer III only
|
|
96
|
+
const bitrateIndex = (headerByte2 >> 4) & 0xf;
|
|
97
|
+
const sampleRateIndex = (headerByte2 >> 2) & 0x3;
|
|
98
|
+
const padding = (headerByte2 >> 1) & 0x1;
|
|
99
|
+
if (bitrateIndex === 0 || bitrateIndex === 0xf || sampleRateIndex === 0x3)
|
|
100
|
+
return null;
|
|
101
|
+
const bitrate = MPEG1_L3_BITRATES[bitrateIndex];
|
|
102
|
+
const sampleRate = MPEG1_SAMPLE_RATES[sampleRateIndex];
|
|
103
|
+
if (!bitrate || !sampleRate)
|
|
104
|
+
return null;
|
|
105
|
+
return Math.floor((144 * bitrate * 1000) / sampleRate) + padding;
|
|
106
|
+
}
|
|
107
|
+
function id3v2TagLength(bytes, buffer) {
|
|
108
|
+
if (bytes.length < 10 || buffer.toString('ascii', 0, 3) !== 'ID3')
|
|
109
|
+
return 0;
|
|
110
|
+
// Synchsafe integer: 7 significant bits per byte, big-endian.
|
|
111
|
+
const size = ((bytes[6] ?? 0) & 0x7f) * 0x200000 +
|
|
112
|
+
((bytes[7] ?? 0) & 0x7f) * 0x4000 +
|
|
113
|
+
((bytes[8] ?? 0) & 0x7f) * 0x80 +
|
|
114
|
+
((bytes[9] ?? 0) & 0x7f);
|
|
115
|
+
return 10 + size;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* MPEG-1 Layer III frames, one after another with no trailing bytes: an
|
|
119
|
+
* optional ID3v2 tag is skipped, then every remaining byte must belong to a
|
|
120
|
+
* syntactically valid frame header whose declared length reaches exactly
|
|
121
|
+
* the next frame (or the end of the buffer). Other MPEG versions and layers
|
|
122
|
+
* are refused rather than approximated.
|
|
123
|
+
*/
|
|
124
|
+
function isMp3(bytes) {
|
|
125
|
+
const buffer = Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
126
|
+
const offsetAfterTag = id3v2TagLength(bytes, buffer);
|
|
127
|
+
if (offsetAfterTag + 4 > bytes.length)
|
|
128
|
+
return false;
|
|
129
|
+
let offset = offsetAfterTag;
|
|
130
|
+
let sawFrame = false;
|
|
131
|
+
while (offset + 4 <= bytes.length) {
|
|
132
|
+
if (bytes[offset] !== 0xff || ((bytes[offset + 1] ?? 0) & 0xe0) !== 0xe0)
|
|
133
|
+
return false;
|
|
134
|
+
const frameLength = mp3FrameLength(bytes[offset + 1] ?? 0, bytes[offset + 2] ?? 0);
|
|
135
|
+
if (frameLength === null || frameLength < 4 || offset + frameLength > bytes.length) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
sawFrame = true;
|
|
139
|
+
offset += frameLength;
|
|
140
|
+
}
|
|
141
|
+
return sawFrame && offset === bytes.length;
|
|
142
|
+
}
|
|
143
|
+
function audioIsAdmitted(block) {
|
|
144
|
+
if (!isAudioMediaType(block.mimeType))
|
|
145
|
+
return false;
|
|
146
|
+
const bytes = decodeCanonicalBase64(block.data);
|
|
147
|
+
if (!bytes)
|
|
148
|
+
return false;
|
|
149
|
+
switch (block.mimeType) {
|
|
150
|
+
case 'audio/wav':
|
|
151
|
+
return isWav(bytes);
|
|
152
|
+
case 'audio/ogg':
|
|
153
|
+
return isOgg(bytes);
|
|
154
|
+
case 'audio/mpeg':
|
|
155
|
+
return isMp3(bytes);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Admit an MCP audio batch atomically before any member becomes model input.
|
|
160
|
+
*
|
|
161
|
+
* Mirrors `admitMcpImageBatch`: a remote server controls the declared MIME
|
|
162
|
+
* and bytes, canonical base64 is only an encoding property, and the decoded
|
|
163
|
+
* value must also be a complete, bounded container whose framing agrees
|
|
164
|
+
* with the declared media type. One bad member withholds the complete batch
|
|
165
|
+
* so a model is never shown a partial result while the host retains every
|
|
166
|
+
* raw block for inspection.
|
|
167
|
+
*/
|
|
168
|
+
export function admitMcpAudioBatch(audios) {
|
|
169
|
+
return audios.length === 0 || audios.every(audioIsAdmitted);
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=audio-admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio-admission.js","sourceRoot":"","sources":["../../../src/connector/mcp/audio-admission.ts"],"names":[],"mappings":"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"}
|