@cyanheads/mcp-ts-core 0.13.9 → 0.13.10
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 +36 -13
- package/CLAUDE.md +36 -13
- package/README.md +9 -9
- package/changelog/0.13.x/0.13.10.md +118 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -1
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +15 -1
- package/dist/core/app.js.map +1 -1
- package/dist/core/context.d.ts +89 -20
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +40 -0
- package/dist/core/context.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/worker.d.ts +6 -0
- package/dist/core/worker.d.ts.map +1 -1
- package/dist/core/worker.js +1 -0
- package/dist/core/worker.js.map +1 -1
- package/dist/linter/rules/error-contract-rules.d.ts +3 -44
- package/dist/linter/rules/error-contract-rules.d.ts.map +1 -1
- package/dist/linter/rules/error-contract-rules.js +8 -144
- package/dist/linter/rules/error-contract-rules.js.map +1 -1
- package/dist/linter/rules/index.d.ts +1 -1
- package/dist/linter/rules/index.d.ts.map +1 -1
- package/dist/linter/rules/index.js +1 -1
- package/dist/linter/rules/index.js.map +1 -1
- package/dist/linter/rules/resource-rules.d.ts.map +1 -1
- package/dist/linter/rules/resource-rules.js +1 -2
- package/dist/linter/rules/resource-rules.js.map +1 -1
- package/dist/linter/rules/tool-rules.d.ts.map +1 -1
- package/dist/linter/rules/tool-rules.js +1 -2
- package/dist/linter/rules/tool-rules.js.map +1 -1
- package/dist/mcp-server/handlerContext.d.ts +26 -13
- package/dist/mcp-server/handlerContext.d.ts.map +1 -1
- package/dist/mcp-server/handlerContext.js +32 -17
- package/dist/mcp-server/handlerContext.js.map +1 -1
- package/dist/mcp-server/inputRequired.d.ts +120 -8
- package/dist/mcp-server/inputRequired.d.ts.map +1 -1
- package/dist/mcp-server/inputRequired.js +177 -12
- package/dist/mcp-server/inputRequired.js.map +1 -1
- package/dist/mcp-server/prompts/prompt-registration.d.ts +10 -2
- package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -1
- package/dist/mcp-server/prompts/prompt-registration.js +49 -11
- package/dist/mcp-server/prompts/prompt-registration.js.map +1 -1
- package/dist/mcp-server/resources/resource-registration.d.ts +4 -2
- package/dist/mcp-server/resources/resource-registration.d.ts.map +1 -1
- package/dist/mcp-server/resources/resource-registration.js +6 -4
- package/dist/mcp-server/resources/resource-registration.js.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts +4 -3
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +42 -14
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
- package/dist/mcp-server/server.d.ts +9 -0
- package/dist/mcp-server/server.d.ts.map +1 -1
- package/dist/mcp-server/server.js +14 -13
- package/dist/mcp-server/server.js.map +1 -1
- package/dist/mcp-server/tools/tool-registration.d.ts +7 -3
- package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
- package/dist/mcp-server/tools/tool-registration.js +9 -5
- package/dist/mcp-server/tools/tool-registration.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +17 -9
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +91 -50
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.js +7 -1
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
- package/dist/testing/index.d.ts +17 -2
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +21 -7
- package/dist/testing/index.js.map +1 -1
- package/dist/types-global/errors.d.ts +18 -15
- package/dist/types-global/errors.d.ts.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.d.ts +5 -4
- package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.js +9 -7
- package/dist/utils/internal/error-handler/errorHandler.js.map +1 -1
- package/dist/utils/internal/error-handler/types.d.ts +3 -1
- package/dist/utils/internal/error-handler/types.d.ts.map +1 -1
- package/dist/utils/internal/performance.d.ts +4 -2
- package/dist/utils/internal/performance.d.ts.map +1 -1
- package/dist/utils/internal/performance.js +8 -6
- package/dist/utils/internal/performance.js.map +1 -1
- package/dist/utils/internal/telemetryMessages.d.ts +0 -1
- package/dist/utils/internal/telemetryMessages.d.ts.map +1 -1
- package/dist/utils/internal/telemetryMessages.js +0 -1
- package/dist/utils/internal/telemetryMessages.js.map +1 -1
- package/dist/utils/telemetry/attributes.d.ts +5 -4
- package/dist/utils/telemetry/attributes.d.ts.map +1 -1
- package/dist/utils/telemetry/attributes.js +5 -4
- package/dist/utils/telemetry/attributes.js.map +1 -1
- package/framework-skills/add-service/SKILL.md +3 -12
- package/framework-skills/add-test/SKILL.md +6 -3
- package/framework-skills/add-tool/SKILL.md +29 -33
- package/framework-skills/api-config/SKILL.md +2 -1
- package/framework-skills/api-context/SKILL.md +155 -40
- package/framework-skills/api-errors/SKILL.md +43 -47
- package/framework-skills/api-linter/SKILL.md +5 -29
- package/framework-skills/api-telemetry/SKILL.md +11 -7
- package/framework-skills/api-testing/SKILL.md +43 -11
- package/framework-skills/api-workers/SKILL.md +3 -1
- package/framework-skills/design-mcp-server/SKILL.md +5 -5
- package/framework-skills/field-test/SKILL.md +2 -2
- package/framework-skills/polish-docs-meta/SKILL.md +2 -2
- package/framework-skills/release-and-publish/SKILL.md +3 -3
- package/framework-skills/release-pr-review/SKILL.md +2 -2
- package/framework-skills/security-pass/SKILL.md +8 -7
- package/package.json +4 -3
- package/scripts/install-otel.ts +84 -0
- package/scripts/lint-packaging.ts +188 -27
- package/templates/.env.example +2 -0
- package/templates/AGENTS.md +5 -4
- package/templates/CLAUDE.md +5 -4
- package/templates/Dockerfile +67 -50
- package/templates/src/mcp-server/tools/definitions/echo.tool.ts +3 -8
|
@@ -21,8 +21,12 @@ export class ToolRegistry {
|
|
|
21
21
|
this.toolDefs = toolDefs;
|
|
22
22
|
this.services = services;
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
25
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Registers all tool definitions with the provided McpServer instance.
|
|
26
|
+
* `capabilities` is the instance's view of what its client declared (#580),
|
|
27
|
+
* which every handler context resolves per request.
|
|
28
|
+
*/
|
|
29
|
+
async registerAll(server, subscriptions, bus, capabilities) {
|
|
26
30
|
// Reset per-server uniqueness tracking — registries are shared across
|
|
27
31
|
// per-request McpServer instances under HTTP serving.
|
|
28
32
|
this.registeredNames.clear();
|
|
@@ -57,7 +61,7 @@ export class ToolRegistry {
|
|
|
57
61
|
// `tools` capability, so a server with every tool disabled still answers
|
|
58
62
|
// `tools/list` with an empty array rather than `-32601`.
|
|
59
63
|
for (const toolDef of tools) {
|
|
60
|
-
await this.registerTool(server, toolDef, notifiers,
|
|
64
|
+
await this.registerTool(server, toolDef, notifiers, capabilities);
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
67
|
/** Throws at startup if a tool with the same name was already registered. */
|
|
@@ -69,7 +73,7 @@ export class ToolRegistry {
|
|
|
69
73
|
this.registeredNames.add(name);
|
|
70
74
|
}
|
|
71
75
|
/** Registers a standard tool definition. */
|
|
72
|
-
async registerTool(server, tool, notifiers,
|
|
76
|
+
async registerTool(server, tool, notifiers, capabilities) {
|
|
73
77
|
const registrationContext = requestContextService.createRequestContext({
|
|
74
78
|
operation: 'ToolRegistry.registerTool',
|
|
75
79
|
additionalContext: { toolName: tool.name },
|
|
@@ -77,7 +81,7 @@ export class ToolRegistry {
|
|
|
77
81
|
logger.debug(`Registering tool: '${tool.name}'`, registrationContext);
|
|
78
82
|
this.assertUniqueName(tool.name);
|
|
79
83
|
await ErrorHandler.tryCatch(() => {
|
|
80
|
-
const handler = createToolHandler(tool, this.services, notifiers,
|
|
84
|
+
const handler = createToolHandler(tool, this.services, notifiers, capabilities);
|
|
81
85
|
const title = tool.title ?? tool.annotations?.title ?? deriveTitleFromName(tool.name);
|
|
82
86
|
// Advertised verbatim; the same schema rejects the same arguments one
|
|
83
87
|
// layer down, where a rejection can carry the framework's structured
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registration.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/tool-registration.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAGlB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAU3E,qGAAqG;AACrG,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SAC1C,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,OAAO,YAAY;IAKJ,QAAQ;IACR,QAAQ;IAL3B,oEAAoE;IACnD,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAErD,YACmB,QAAsB,EACtB,QAAyB;wBADzB,QAAQ;wBACR,QAAQ;IACxB,CAAC;IAEJ
|
|
1
|
+
{"version":3,"file":"tool-registration.js","sourceRoot":"","sources":["../../../src/mcp-server/tools/tool-registration.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAEhF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAGlB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAU3E,qGAAqG;AACrG,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SAC1C,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,OAAO,YAAY;IAKJ,QAAQ;IACR,QAAQ;IAL3B,oEAAoE;IACnD,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAErD,YACmB,QAAsB,EACtB,QAAyB;wBADzB,QAAQ;wBACR,QAAQ;IACxB,CAAC;IAEJ;;;;OAIG;IACI,KAAK,CAAC,WAAW,CACtB,MAAiB,EACjB,aAAqC,EACrC,GAAoB,EACpB,YAAmC;QAEnC,sEAAsE;QACtE,sDAAsD;QACtD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,4EAA4E;QAC5E,0EAA0E;QAC1E,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,SAAS,GAAoB;YACjC,uBAAuB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,EAAE;YAC7D,yBAAyB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE;YACjE,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACzD,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;YACvC,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;SACpB,CAAC;QAEF,MAAM,OAAO,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAwB,EAAE,CAAC;QACtC,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CACV,gDAAgD,GAAG,CAAC,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE,EAC/E,OAAO,CACR,CAAC;gBACF,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,MAAM,WAAW,YAAY,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/E,2EAA2E;QAC3E,yEAAyE;QACzE,yDAAyD;QACzD,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,6EAA6E;IACrE,gBAAgB,CAAC,IAAY;QACnC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,kDAAkD;gBAC5E,oCAAoC,CACvC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,4CAA4C;IACpC,KAAK,CAAC,YAAY,CACxB,MAAiB,EACjB,IAAuB,EACvB,SAA0B,EAC1B,YAAmC;QAEnC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC;YACrE,SAAS,EAAE,2BAA2B;YACtC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;SAC3C,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,IAAI,GAAG,EAAE,mBAAmB,CAAC,CAAC;QAEtE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,YAAY,CAAC,QAAQ,CACzB,GAAG,EAAE;YACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEtF,sEAAsE;YACtE,qEAAqE;YACrE,uEAAuE;YACvE,yDAAyD;YACzD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAiC,CAAC;YAErF,sFAAsF;YACtF,MAAM,CAAC,YAAY,CACjB,IAAI,CAAC,IAAI,EACT;gBACE,KAAK;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW;gBACX,YAAY,EAAE,sBAAsB,CAAC,IAAI,CAAC;gBAC1C,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;aACzC,EACD,OAA0C,CAC3C,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,4BAA4B,EAAE,mBAAmB,CAAC,CAAC;QACpF,CAAC,EACD;YACE,SAAS,EAAE,mBAAmB,IAAI,CAAC,IAAI,EAAE;YACzC,OAAO,EAAE,mBAAmB;YAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;YAChD,QAAQ,EAAE,IAAI;SACf,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -7,7 +7,7 @@ import type { CallToolResult, ContentBlock, InputRequiredResult, ServerContext }
|
|
|
7
7
|
import { ZodError, type ZodObject, type ZodRawShape, z } from 'zod';
|
|
8
8
|
import type { Context } from '../../../core/context.js';
|
|
9
9
|
import { type HandlerServices } from '../../handlerContext.js';
|
|
10
|
-
import { type
|
|
10
|
+
import { type ClientCapabilityView } from '../../inputRequired.js';
|
|
11
11
|
import type { NotifierSources } from '../../notifications.js';
|
|
12
12
|
import { JsonRpcErrorCode } from '../../../types-global/errors.js';
|
|
13
13
|
import { type RequestContext } from '../../../utils/internal/requestContext.js';
|
|
@@ -35,9 +35,9 @@ export declare function renderToolContent(def: AnyToolDefinition, validatedOutpu
|
|
|
35
35
|
* - `structuredContent.error` — read by clients like Claude Code (JSON)
|
|
36
36
|
*
|
|
37
37
|
* The text carries the message, the `data.recovery.hint` when it adds
|
|
38
|
-
* something, and the
|
|
39
|
-
* {@link renderBranchableTerms} renders; the numeric `code` and
|
|
40
|
-
* stay JSON-only.
|
|
38
|
+
* something, and the `reason` / `retryable` / `request` terms
|
|
39
|
+
* {@link renderBranchableTerms} renders, in that order; the numeric `code` and
|
|
40
|
+
* `data.issues` stay JSON-only.
|
|
41
41
|
*
|
|
42
42
|
* The `Recovery:` line is dropped when the message already contains the hint
|
|
43
43
|
* verbatim (#459) — `buildArgumentRecoveryHint` restates a constraint or
|
|
@@ -113,14 +113,22 @@ export declare function parseToolArguments<TDefinition extends AnyToolDefinition
|
|
|
113
113
|
* Builds an error `CallToolResult` from a raw thrown value. Classifies via
|
|
114
114
|
* {@link ErrorHandler.classifyOnly} when the value isn't already an
|
|
115
115
|
* `McpError`. Only propagates data from `McpError` (its declared `data`) or
|
|
116
|
-
* `ZodError` (its `issues`)
|
|
117
|
-
*
|
|
118
|
-
*
|
|
116
|
+
* `ZodError` (its `issues`), so internal classification context never leaks
|
|
117
|
+
* to clients.
|
|
118
|
+
*
|
|
119
|
+
* `requestId`, when given, is set as `data.requestId` on the envelope — after
|
|
120
|
+
* the thrown data, so the framework's value replaces a thrown one, as
|
|
121
|
+
* canonical fields win in log records (#550) — and closes the `content[]`
|
|
122
|
+
* terms line (#576). It is the one request-context field that reaches `data`,
|
|
123
|
+
* added here rather than to the thrown `McpError.data`, so the error the
|
|
124
|
+
* handler threw and the log record's `errorData` stay context-free (#548).
|
|
125
|
+
* `runToolContract` passes none: it has no real request, so a thrown
|
|
126
|
+
* `data.requestId` is dropped rather than rendered as one.
|
|
119
127
|
*
|
|
120
128
|
* Use after invoking {@link ErrorHandler.handleError} for OTel/logging side
|
|
121
129
|
* effects — this helper does not log.
|
|
122
130
|
*/
|
|
123
|
-
export declare function classifyAndBuildToolErrorResult(error: unknown): CallToolResult;
|
|
131
|
+
export declare function classifyAndBuildToolErrorResult(error: unknown, requestId?: string): CallToolResult;
|
|
124
132
|
/**
|
|
125
133
|
* The schema the framework **parses** a successful result against: the declared
|
|
126
134
|
* `output`, extended with the `enrichment` block when one is declared. Strict by
|
|
@@ -197,5 +205,5 @@ export declare function buildToolSuccessResult(def: AnyToolDefinition, ctx: Cont
|
|
|
197
205
|
* - Catches errors and returns `isError: true`, counting one raised before the
|
|
198
206
|
* measured region (the scope check, argument validation) on `mcp.tool.rejections`
|
|
199
207
|
*/
|
|
200
|
-
export declare function createToolHandler(def: AnyToolDefinition, services: HandlerServices, notifiers: NotifierSources,
|
|
208
|
+
export declare function createToolHandler(def: AnyToolDefinition, services: HandlerServices, notifiers: NotifierSources, capabilities?: ClientCapabilityView): (input: Record<string, unknown>, ctx: ServerContext) => Promise<CallToolResult | InputRequiredResult>;
|
|
201
209
|
//# sourceMappingURL=toolHandlerFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolHandlerFactory.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AAGlF,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"toolHandlerFactory.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ZodError, z } from 'zod';
|
|
7
7
|
import { config } from '../../../config/index.js';
|
|
8
|
-
import { readContentStore, readEnrichmentStore } from '../../../core/context.js';
|
|
8
|
+
import { readContentStore, readEnrichmentStore, resolveDeclaredFailure } from '../../../core/context.js';
|
|
9
9
|
import { buildHandlerContext, handlerParentContext, resolveHandlerRequest, } from '../../handlerContext.js';
|
|
10
|
-
import { isInputRequiredSignal } from '../../inputRequired.js';
|
|
10
|
+
import { CLIENT_CAPABILITY_MISSING_REASON, isInputRequiredSignal, sealThrown, } from '../../inputRequired.js';
|
|
11
11
|
import { parseOutputContract } from '../../outputContract.js';
|
|
12
12
|
import { withRequiredScopes } from '../../transports/auth/lib/authUtils.js';
|
|
13
13
|
import { internalError, JsonRpcErrorCode, McpError, } from '../../../types-global/errors.js';
|
|
@@ -62,15 +62,17 @@ function extractRecoveryHint(data) {
|
|
|
62
62
|
/**
|
|
63
63
|
* The compact trailing line carrying the two `data` fields a caller branches
|
|
64
64
|
* on — `reason`, the stable identifier, and `retryable`, whether a retry can
|
|
65
|
-
* succeed (#458)
|
|
66
|
-
*
|
|
67
|
-
*
|
|
65
|
+
* succeed (#458) — then `request <id>`, the `data.requestId` the server's log
|
|
66
|
+
* records carry (#576). All three reach `structuredContent.error.data`;
|
|
67
|
+
* without this line none reaches the text surface, so a model that just failed
|
|
68
|
+
* cannot tell a deterministic rejection from a transient one, and a failure
|
|
69
|
+
* reported from a `content[]`-only client cannot be matched to its log record.
|
|
68
70
|
*
|
|
69
|
-
* Returns `undefined` when `data` carries
|
|
70
|
-
* `
|
|
71
|
-
* numeric `code` and `data.issues` stay JSON-only on purpose:
|
|
72
|
-
* one envelope field a model cannot act on, and the message
|
|
73
|
-
* each issue as a sentence.
|
|
71
|
+
* Returns `undefined` when `data` carries none of them — an `McpError` with no
|
|
72
|
+
* `data` outside a request, as `runToolContract` builds it — leaving the text
|
|
73
|
+
* as it was. The numeric `code` and `data.issues` stay JSON-only on purpose:
|
|
74
|
+
* the code is the one envelope field a model cannot act on, and the message
|
|
75
|
+
* already renders each issue as a sentence.
|
|
74
76
|
*/
|
|
75
77
|
function renderBranchableTerms(data) {
|
|
76
78
|
const terms = [];
|
|
@@ -80,6 +82,9 @@ function renderBranchableTerms(data) {
|
|
|
80
82
|
if (typeof data?.retryable === 'boolean') {
|
|
81
83
|
terms.push(data.retryable ? 'retryable' : 'not retryable');
|
|
82
84
|
}
|
|
85
|
+
if (typeof data?.requestId === 'string' && data.requestId.length > 0) {
|
|
86
|
+
terms.push(`request ${data.requestId}`);
|
|
87
|
+
}
|
|
83
88
|
return terms.length > 0 ? `(${terms.join(' · ')})` : undefined;
|
|
84
89
|
}
|
|
85
90
|
/**
|
|
@@ -89,9 +94,9 @@ function renderBranchableTerms(data) {
|
|
|
89
94
|
* - `structuredContent.error` — read by clients like Claude Code (JSON)
|
|
90
95
|
*
|
|
91
96
|
* The text carries the message, the `data.recovery.hint` when it adds
|
|
92
|
-
* something, and the
|
|
93
|
-
* {@link renderBranchableTerms} renders; the numeric `code` and
|
|
94
|
-
* stay JSON-only.
|
|
97
|
+
* something, and the `reason` / `retryable` / `request` terms
|
|
98
|
+
* {@link renderBranchableTerms} renders, in that order; the numeric `code` and
|
|
99
|
+
* `data.issues` stay JSON-only.
|
|
95
100
|
*
|
|
96
101
|
* The `Recovery:` line is dropped when the message already contains the hint
|
|
97
102
|
* verbatim (#459) — `buildArgumentRecoveryHint` restates a constraint or
|
|
@@ -591,20 +596,36 @@ function accept(def, attempt, parsed, context) {
|
|
|
591
596
|
* Builds an error `CallToolResult` from a raw thrown value. Classifies via
|
|
592
597
|
* {@link ErrorHandler.classifyOnly} when the value isn't already an
|
|
593
598
|
* `McpError`. Only propagates data from `McpError` (its declared `data`) or
|
|
594
|
-
* `ZodError` (its `issues`)
|
|
595
|
-
*
|
|
596
|
-
*
|
|
599
|
+
* `ZodError` (its `issues`), so internal classification context never leaks
|
|
600
|
+
* to clients.
|
|
601
|
+
*
|
|
602
|
+
* `requestId`, when given, is set as `data.requestId` on the envelope — after
|
|
603
|
+
* the thrown data, so the framework's value replaces a thrown one, as
|
|
604
|
+
* canonical fields win in log records (#550) — and closes the `content[]`
|
|
605
|
+
* terms line (#576). It is the one request-context field that reaches `data`,
|
|
606
|
+
* added here rather than to the thrown `McpError.data`, so the error the
|
|
607
|
+
* handler threw and the log record's `errorData` stay context-free (#548).
|
|
608
|
+
* `runToolContract` passes none: it has no real request, so a thrown
|
|
609
|
+
* `data.requestId` is dropped rather than rendered as one.
|
|
597
610
|
*
|
|
598
611
|
* Use after invoking {@link ErrorHandler.handleError} for OTel/logging side
|
|
599
612
|
* effects — this helper does not log.
|
|
600
613
|
*/
|
|
601
|
-
export function classifyAndBuildToolErrorResult(error) {
|
|
614
|
+
export function classifyAndBuildToolErrorResult(error, requestId) {
|
|
615
|
+
const withRequestId = (data) => {
|
|
616
|
+
if (requestId !== undefined)
|
|
617
|
+
return { ...data, requestId };
|
|
618
|
+
if (data?.requestId === undefined)
|
|
619
|
+
return data;
|
|
620
|
+
const { requestId: _thrown, ...rest } = data;
|
|
621
|
+
return Object.keys(rest).length > 0 ? rest : undefined;
|
|
622
|
+
};
|
|
602
623
|
if (error instanceof McpError) {
|
|
603
|
-
return buildToolErrorResult(error.code, error.message, error.data);
|
|
624
|
+
return buildToolErrorResult(error.code, error.message, withRequestId(error.data));
|
|
604
625
|
}
|
|
605
626
|
const { code, message } = ErrorHandler.classifyOnly(error);
|
|
606
627
|
const data = error instanceof ZodError ? { issues: error.issues } : undefined;
|
|
607
|
-
return buildToolErrorResult(code, message, data);
|
|
628
|
+
return buildToolErrorResult(code, message, withRequestId(data));
|
|
608
629
|
}
|
|
609
630
|
// ---------------------------------------------------------------------------
|
|
610
631
|
// Success response shaping — enrichment merge + trailer
|
|
@@ -880,25 +901,37 @@ export function buildToolSuccessResult(def, ctx, domainValidated, domainContent)
|
|
|
880
901
|
// Factory
|
|
881
902
|
// ---------------------------------------------------------------------------
|
|
882
903
|
/**
|
|
883
|
-
* The
|
|
884
|
-
*
|
|
904
|
+
* The two reasons the framework raises itself, both a refusal of the call
|
|
905
|
+
* rather than a fault in this server: `invalid_arguments`, only from the schema
|
|
906
|
+
* gate in {@link parseToolArguments}, and `client_capability_missing`, only
|
|
907
|
+
* from `ctx.requestInput`'s capability gate.
|
|
908
|
+
*/
|
|
909
|
+
const FRAMEWORK_REFUSAL_REASONS = new Set([
|
|
910
|
+
INVALID_ARGUMENTS_REASON,
|
|
911
|
+
CLIENT_CAPABILITY_MISSING_REASON,
|
|
912
|
+
]);
|
|
913
|
+
/**
|
|
914
|
+
* The level the `Error in tool:<name>` record is emitted at, or `undefined` to
|
|
915
|
+
* keep `error`.
|
|
916
|
+
*
|
|
917
|
+
* A severity the matched `errors[]` entry declares wins (#380). Otherwise one
|
|
918
|
+
* of the framework's own refusals ({@link FRAMEWORK_REFUSAL_REASONS}) logs at
|
|
919
|
+
* `notice` (#567): a caller's arguments failing the tool's schema, or a client
|
|
920
|
+
* connection that cannot serve an input request, is routine traffic, and a
|
|
921
|
+
* schema that wrongly rejects valid calls still shows per tool on
|
|
922
|
+
* `mcp.tool.rejections`. Everything else — a plain `Error`, an undeclared
|
|
923
|
+
* reason, an entry with no severity, an auth refusal, an output-contract
|
|
924
|
+
* failure — keeps `error`. A cancellation takes `handleError`'s own `info`
|
|
925
|
+
* path whatever this returns.
|
|
885
926
|
*
|
|
886
|
-
*
|
|
887
|
-
*
|
|
888
|
-
* `ErrorHandler`, which sees neither. Resolution is deliberately narrow: an
|
|
889
|
-
* `McpError` whose `data.reason` names a contract entry that declared a
|
|
890
|
-
* severity. A plain `Error`, a reason thrown below the handler that the
|
|
891
|
-
* contract never declared, and an entry with no severity all fall through to
|
|
892
|
-
* today's behavior. A cancellation is settled earlier — `asRequestCancelled`
|
|
893
|
-
* replaces the thrown value, so no declared reason reaches this point.
|
|
927
|
+
* Resolved here rather than in `ErrorHandler`, which also serves services,
|
|
928
|
+
* prompts, and transports and knows neither the definition nor the schema gate.
|
|
894
929
|
*/
|
|
895
|
-
function
|
|
896
|
-
if (
|
|
897
|
-
return
|
|
898
|
-
const reason =
|
|
899
|
-
|
|
900
|
-
return undefined;
|
|
901
|
-
return def.errors?.find((entry) => entry.reason === reason)?.severity;
|
|
930
|
+
function failureSeverity(entry, failure) {
|
|
931
|
+
if (entry?.severity !== undefined)
|
|
932
|
+
return entry.severity;
|
|
933
|
+
const reason = failure instanceof McpError ? failure.data?.reason : undefined;
|
|
934
|
+
return typeof reason === 'string' && FRAMEWORK_REFUSAL_REASONS.has(reason) ? 'notice' : undefined;
|
|
902
935
|
}
|
|
903
936
|
/**
|
|
904
937
|
* Creates an MCP tool handler from a tool definition.
|
|
@@ -914,14 +947,14 @@ function declaredSeverity(def, error) {
|
|
|
914
947
|
* - Catches errors and returns `isError: true`, counting one raised before the
|
|
915
948
|
* measured region (the scope check, argument validation) on `mcp.tool.rejections`
|
|
916
949
|
*/
|
|
917
|
-
export function createToolHandler(def, services, notifiers,
|
|
950
|
+
export function createToolHandler(def, services, notifiers, capabilities) {
|
|
918
951
|
// The handler's return value carries no marker, so the arrays partial-success
|
|
919
952
|
// telemetry reads are named by the output schema — resolved once here (#524).
|
|
920
953
|
const partialResultKeys = resolvePartialResultKeys(def.output.shape);
|
|
921
954
|
return async (input, serverContext) => {
|
|
922
955
|
const request = resolveHandlerRequest(serverContext, services, notifiers);
|
|
923
956
|
const appContext = requestContextService.createRequestContext({
|
|
924
|
-
parentContext: handlerParentContext(
|
|
957
|
+
parentContext: handlerParentContext(serverContext),
|
|
925
958
|
operation: 'HandleToolRequest',
|
|
926
959
|
additionalContext: { toolName: def.name },
|
|
927
960
|
});
|
|
@@ -951,7 +984,7 @@ export function createToolHandler(def, services, notifiers, inputGate) {
|
|
|
951
984
|
// the handler returned recorded those as successes (#346).
|
|
952
985
|
measured = true;
|
|
953
986
|
return await measureToolExecution(async (spanContext, recordOutput) => {
|
|
954
|
-
const handlerCtx = buildHandlerContext(request, services, spanContext, def.errors,
|
|
987
|
+
const handlerCtx = buildHandlerContext(request, services, spanContext, def.errors, capabilities);
|
|
955
988
|
ctx = handlerCtx;
|
|
956
989
|
try {
|
|
957
990
|
// Handler may return sync or async.
|
|
@@ -968,8 +1001,10 @@ export function createToolHandler(def, services, notifiers, inputGate) {
|
|
|
968
1001
|
catch (error) {
|
|
969
1002
|
// Inside the measurement on purpose: the completion log's
|
|
970
1003
|
// `metrics.errorCode` and the span's error-code attribute are
|
|
971
|
-
// derived from what leaves this callback (#421).
|
|
972
|
-
|
|
1004
|
+
// derived from what leaves this callback (#421). An input-required
|
|
1005
|
+
// signal leaves with its `requestState` sealed when a key is
|
|
1006
|
+
// configured, so a sealing failure is a failed call like any other.
|
|
1007
|
+
throw asRequestCancelled(await sealThrown(error, services.requestState, serverContext), request.signal);
|
|
973
1008
|
}
|
|
974
1009
|
}, { ...appContext, toolName: def.name }, validatedInput, () => {
|
|
975
1010
|
const store = ctx ? readEnrichmentStore(ctx) : undefined;
|
|
@@ -980,22 +1015,28 @@ export function createToolHandler(def, services, notifiers, inputGate) {
|
|
|
980
1015
|
}
|
|
981
1016
|
catch (error) {
|
|
982
1017
|
// `ctx.requestInput(...)` is protocol control flow, not a failure: return
|
|
983
|
-
// the `input_required` result
|
|
984
|
-
//
|
|
985
|
-
// era)
|
|
986
|
-
//
|
|
987
|
-
//
|
|
1018
|
+
// the `input_required` result — its `requestState` already sealed when a
|
|
1019
|
+
// key is configured — with no span, log, or classification. The client
|
|
1020
|
+
// (2026 era) or the SDK's legacy shim (2025 era) fulfils it and
|
|
1021
|
+
// re-invokes this handler. A request this connection cannot serve never
|
|
1022
|
+
// reaches here as a signal — `ctx.requestInput` throws the refusal
|
|
1023
|
+
// instead, and it arrives below as an `McpError`.
|
|
988
1024
|
if (isInputRequiredSignal(error))
|
|
989
1025
|
return error.result;
|
|
990
|
-
|
|
991
|
-
|
|
1026
|
+
// One reason-to-entry lookup: the declared recovery fills a failure that
|
|
1027
|
+
// carries none (#579) and the entry's severity sets the log level (#380,
|
|
1028
|
+
// #567). Filled before `handleError`, so the error record, the envelope,
|
|
1029
|
+
// and the failure-payload record carry the same hint.
|
|
1030
|
+
const { entry, failure } = resolveDeclaredFailure(def.errors, error);
|
|
1031
|
+
const severity = failureSeverity(entry, failure);
|
|
1032
|
+
ErrorHandler.handleError(failure, {
|
|
992
1033
|
operation: `tool:${def.name}`,
|
|
993
1034
|
context: appContext,
|
|
994
1035
|
...(severity !== undefined && { severity }),
|
|
995
1036
|
});
|
|
996
1037
|
if (!measured)
|
|
997
|
-
recordToolRejection(def.name,
|
|
998
|
-
const result = classifyAndBuildToolErrorResult(
|
|
1038
|
+
recordToolRejection(def.name, failure);
|
|
1039
|
+
const result = classifyAndBuildToolErrorResult(failure, appContext.requestId);
|
|
999
1040
|
if (config.logToolFailurePayloads) {
|
|
1000
1041
|
logFailurePayload(services.logger, def.name, appContext, input, result, severity);
|
|
1001
1042
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolHandlerFactory.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toolHandlerFactory.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpErrorHandler.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAU,SAAS,SAAS,MAAM,GAAG,gBAAgB,OAC3E,KAAK,KACP,OAAO,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC,KAClC,OAAO,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"httpErrorHandler.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAKpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAQlF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,GAAU,SAAS,SAAS,MAAM,GAAG,gBAAgB,OAC3E,KAAK,KACP,OAAO,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC,KAClC,OAAO,CAAC,QAAQ,CAoLlB,CAAC"}
|
|
@@ -161,12 +161,18 @@ export const httpErrorHandler = async (err, c) => {
|
|
|
161
161
|
logger.debug('Request body already consumed, cannot extract JSON-RPC ID.', context);
|
|
162
162
|
}
|
|
163
163
|
c.status(status);
|
|
164
|
+
/**
|
|
165
|
+
* `data` carries what a thrown `McpError` declared plus this handler's own
|
|
166
|
+
* `requestId` (#576) — the id its `Client error:` or `Error in httpTransport`
|
|
167
|
+
* record logs, so a failure reported from the client can be matched to it.
|
|
168
|
+
* Set last, so it replaces a thrown `data.requestId`.
|
|
169
|
+
*/
|
|
164
170
|
const errorResponse = {
|
|
165
171
|
jsonrpc: '2.0',
|
|
166
172
|
error: {
|
|
167
173
|
code: errorCode,
|
|
168
174
|
message: classified.message,
|
|
169
|
-
...
|
|
175
|
+
data: { ...originalData, requestId: context.requestId },
|
|
170
176
|
},
|
|
171
177
|
id: requestId,
|
|
172
178
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpErrorHandler.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"httpErrorHandler.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/httpErrorHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `createInMemoryStorage()` for unit-testing services in isolation.
|
|
6
6
|
* @module src/testing/index
|
|
7
7
|
*/
|
|
8
|
-
import type { CallToolResult, ContentBlock, InputRequiredResult, InputResponses } from '@modelcontextprotocol/server';
|
|
8
|
+
import type { CallToolResult, ClientCapabilities, ContentBlock, InputRequiredResult, InputResponses } from '@modelcontextprotocol/server';
|
|
9
9
|
import type { z } from 'zod';
|
|
10
10
|
import type { AuthContext, Context, ContextLogger, HandlerContext, ReasonOf } from '../core/context.js';
|
|
11
11
|
import type { AnyToolDefinition } from '../mcp-server/tools/utils/toolDefinition.js';
|
|
@@ -23,6 +23,13 @@ import type { ErrorContract } from '../types-global/errors.js';
|
|
|
23
23
|
export interface MockContextOptions<TErrors extends readonly ErrorContract[] | undefined = readonly ErrorContract[] | undefined> {
|
|
24
24
|
/** Auth context. */
|
|
25
25
|
auth?: AuthContext;
|
|
26
|
+
/**
|
|
27
|
+
* The capabilities the client declared, exposed as `ctx.clientCapabilities`
|
|
28
|
+
* (`undefined` when omitted). Seeding it also applies the production filter
|
|
29
|
+
* to `inputResponses`: only the response kinds these capabilities cover
|
|
30
|
+
* reach `ctx.inputs`. Omitted, every seeded response reaches it.
|
|
31
|
+
*/
|
|
32
|
+
clientCapabilities?: ClientCapabilities;
|
|
26
33
|
/**
|
|
27
34
|
* Error contract to attach a typed `ctx.fail` against. Pass the definition's
|
|
28
35
|
* own `errors` array (`createMockContext({ errors: myTool.errors })`) so the
|
|
@@ -118,6 +125,10 @@ export declare function createMockLogger(): MockContextLogger;
|
|
|
118
125
|
*
|
|
119
126
|
* // Second round of a multi-round-trip handler
|
|
120
127
|
* const ctx = createMockContext({ inputResponses: { confirm: { action: 'accept', content: { ok: true } } } });
|
|
128
|
+
*
|
|
129
|
+
* // A client that declared only roots: ctx.clientCapabilities is set, and the
|
|
130
|
+
* // elicit response above would be filtered out of ctx.inputs, as in production
|
|
131
|
+
* const ctx = createMockContext({ clientCapabilities: { roots: {} } });
|
|
121
132
|
* ```
|
|
122
133
|
*/
|
|
123
134
|
export declare function createMockContext<const TErrors extends readonly ErrorContract[] | undefined = undefined>(options?: MockContextOptions<TErrors>): HandlerContext<ReasonOf<TErrors>>;
|
|
@@ -262,7 +273,11 @@ export interface RunToolContractOptions {
|
|
|
262
273
|
* The runner validates input and output schemas, invokes the real handler,
|
|
263
274
|
* applies `format()`, enrichment, and collected content, and converts thrown
|
|
264
275
|
* values to the same dual-surface error envelope used by the production tool
|
|
265
|
-
* pipeline
|
|
276
|
+
* pipeline — a declared reason thrown without a `recovery` gets the entry's
|
|
277
|
+
* `recovery` as `data.recovery.hint`, as it does in production. It
|
|
278
|
+
* intentionally skips transport auth and telemetry, and adds no
|
|
279
|
+
* `data.requestId`: there is no real request, so the envelope and its
|
|
280
|
+
* `content[]` terms line stop at `reason` / `retryable`.
|
|
266
281
|
*
|
|
267
282
|
* Arguments that fail the `input` schema are rejected through
|
|
268
283
|
* `parseToolArguments` — the same call the production handler factory makes —
|