@cyanheads/mcp-ts-core 0.13.1 → 0.13.3
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 +7 -7
- package/CLAUDE.md +7 -7
- package/README.md +2 -2
- package/changelog/0.12.x/0.12.2.md +1 -1
- package/changelog/0.13.x/0.13.2.md +43 -0
- package/changelog/0.13.x/0.13.3.md +44 -0
- package/changelog/0.8.x/0.8.11.md +2 -2
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js +17 -9
- package/dist/mcp-server/resources/utils/resourceHandlerFactory.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +22 -2
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +216 -20
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
- package/dist/mcp-server/transports/http/serverCard.d.ts +23 -0
- package/dist/mcp-server/transports/http/serverCard.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/serverCard.js +7 -0
- package/dist/mcp-server/transports/http/serverCard.js.map +1 -1
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +7 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.d.ts +33 -0
- package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.js +45 -3
- package/dist/utils/internal/error-handler/errorHandler.js.map +1 -1
- package/framework-skills/add-tool/SKILL.md +3 -3
- package/framework-skills/api-errors/SKILL.md +14 -9
- package/framework-skills/api-testing/SKILL.md +3 -1
- package/framework-skills/git-wrapup/SKILL.md +11 -7
- package/framework-skills/orchestrations/SKILL.md +3 -3
- package/framework-skills/polish-docs-meta/SKILL.md +4 -3
- package/framework-skills/release-and-publish/SKILL.md +6 -6
- package/framework-skills/release-pr-review/SKILL.md +16 -23
- package/framework-skills/tool-defs-analysis/SKILL.md +4 -4
- package/package.json +6 -6
- package/scripts/build.ts +28 -6
- package/scripts/clean-mcpb.ts +8 -2
- package/scripts/clean.ts +40 -4
- package/scripts/devcheck.ts +46 -15
- package/scripts/lint-packaging.ts +79 -4
- package/templates/.github/workflows/codeql.yml +39 -0
- package/templates/AGENTS.md +3 -1
- package/templates/CLAUDE.md +3 -1
- package/templates/package.json +2 -2
- package/templates/src/index.ts +4 -3
|
@@ -9,10 +9,11 @@ import { buildHandlerContext, handlerParentContext, resolveHandlerRequest, } fro
|
|
|
9
9
|
import { isInputRequiredSignal } from '../../inputRequired.js';
|
|
10
10
|
import { withRequiredScopes } from '../../transports/auth/lib/authUtils.js';
|
|
11
11
|
import { internalError, JsonRpcErrorCode, McpError } from '../../../types-global/errors.js';
|
|
12
|
-
import { ErrorHandler } from '../../../utils/internal/error-handler/errorHandler.js';
|
|
12
|
+
import { asRequestCancelled, ErrorHandler } from '../../../utils/internal/error-handler/errorHandler.js';
|
|
13
13
|
import { measureToolExecution } from '../../../utils/internal/performance.js';
|
|
14
14
|
import { requestContextService } from '../../../utils/internal/requestContext.js';
|
|
15
15
|
import { ATTR_MCP_TOOL_ENRICHED } from '../../../utils/telemetry/attributes.js';
|
|
16
|
+
import { isZodObjectSchema } from './schemaShape.js';
|
|
16
17
|
// ---------------------------------------------------------------------------
|
|
17
18
|
// Default formatter
|
|
18
19
|
// ---------------------------------------------------------------------------
|
|
@@ -82,21 +83,212 @@ export function buildToolErrorResult(code, message, data) {
|
|
|
82
83
|
},
|
|
83
84
|
};
|
|
84
85
|
}
|
|
86
|
+
/** The framework-owned `data.reason` on every argument rejection (#445). */
|
|
87
|
+
const INVALID_ARGUMENTS_REASON = 'invalid_arguments';
|
|
88
|
+
/** What {@link readArgumentAt} returns when the raw arguments carry no value there. */
|
|
89
|
+
const ABSENT = Symbol('absent');
|
|
90
|
+
/**
|
|
91
|
+
* The value the raw arguments carry at `path`, or {@link ABSENT}.
|
|
92
|
+
*
|
|
93
|
+
* The one resolver behind #378's missing-vs-wrong rendering and #445's
|
|
94
|
+
* missing-required hint, which ask the same question of the same arguments.
|
|
95
|
+
* Zod's `invalid_value` issue names an expected set and nothing else, so an
|
|
96
|
+
* omitted field and a wrong choice are otherwise indistinguishable. Resolving
|
|
97
|
+
* it here keeps the caller's value in-process: only the absent/present bit and
|
|
98
|
+
* the arriving *type* reach a rendered sentence, unlike Zod's `reportInput`
|
|
99
|
+
* option, which would copy every rejected value onto `data.issues`.
|
|
100
|
+
*
|
|
101
|
+
* A key present with an explicit `null` is present — the caller supplied a
|
|
102
|
+
* value, it was the wrong one. A key present with `undefined` is absent, which
|
|
103
|
+
* is how Zod itself reads it.
|
|
104
|
+
*/
|
|
105
|
+
function readArgumentAt(args, path) {
|
|
106
|
+
let cursor = args;
|
|
107
|
+
for (const segment of path) {
|
|
108
|
+
if (cursor === null || typeof cursor !== 'object')
|
|
109
|
+
return ABSENT;
|
|
110
|
+
if (!Object.hasOwn(cursor, segment))
|
|
111
|
+
return ABSENT;
|
|
112
|
+
cursor = cursor[segment];
|
|
113
|
+
}
|
|
114
|
+
return cursor === undefined ? ABSENT : cursor;
|
|
115
|
+
}
|
|
116
|
+
/** The accepted-value half of an `invalid_value` sentence, from the issue's own values. */
|
|
117
|
+
function expectedValuesText(values) {
|
|
118
|
+
const rendered = values.map((value) => JSON.stringify(value)).join('|');
|
|
119
|
+
return values.length === 1 ? `Expected ${rendered}` : `Expected one of ${rendered}`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The union branches worth rendering: every branch except one whose only issue
|
|
123
|
+
* is a single-valued `invalid_value`.
|
|
124
|
+
*
|
|
125
|
+
* That shape is the `z.literal('')` blank-field sentinel of the form-client
|
|
126
|
+
* convention — never the branch that says what would have been accepted. The
|
|
127
|
+
* filter reads issue shape only, never message text, so a one-entry
|
|
128
|
+
* `z.enum([...])` (which Zod reports identically) is filtered too and the
|
|
129
|
+
* caller falls back to the union's own message.
|
|
130
|
+
*/
|
|
131
|
+
function selectUnionBranches(branches) {
|
|
132
|
+
return branches.filter((branch) => {
|
|
133
|
+
const only = branch.length === 1 ? branch[0] : undefined;
|
|
134
|
+
return !(only?.code === 'invalid_value' && only.values.length === 1);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* The readable half of one issue's rendered line.
|
|
139
|
+
*
|
|
140
|
+
* Two rewrites, both keeping `data.issues` and the envelope shape untouched:
|
|
141
|
+
*
|
|
142
|
+
* - **#417** — Zod reports a union whose every branch aborted as one
|
|
143
|
+
* `invalid_union` issue whose own message is the placeholder `Invalid input`;
|
|
144
|
+
* what would have been accepted lives on the nested branch issues. Render the
|
|
145
|
+
* selected branches instead, joined by ` or `. (When exactly one branch
|
|
146
|
+
* matched the base type and failed only a check, Zod returns that branch's
|
|
147
|
+
* issues directly and this never fires.)
|
|
148
|
+
* - **#378** — an `invalid_value` issue (`z.enum`, `z.literal`) names an
|
|
149
|
+
* expected set without naming what arrived, so an omitted field and a wrong
|
|
150
|
+
* choice render identically. When the key is `absent`, say so and keep the
|
|
151
|
+
* expected set, which is the guidance a caller needs to fill the field in on
|
|
152
|
+
* one retry.
|
|
153
|
+
*
|
|
154
|
+
* On a required union field both compose: the branch is selected first, then
|
|
155
|
+
* the absence check decides how that branch's message renders.
|
|
156
|
+
*/
|
|
157
|
+
function renderIssueMessage(issue, absent) {
|
|
158
|
+
if (issue.code === 'invalid_union') {
|
|
159
|
+
const branches = selectUnionBranches(issue.errors);
|
|
160
|
+
if (branches.length === 0)
|
|
161
|
+
return issue.message;
|
|
162
|
+
const rendered = branches.map((branch) => branch.map((branchIssue) => renderIssueMessage(branchIssue, absent)).join(', '));
|
|
163
|
+
return [...new Set(rendered)].join(' or ');
|
|
164
|
+
}
|
|
165
|
+
if (absent && issue.code === 'invalid_value') {
|
|
166
|
+
return `Missing required field. ${expectedValuesText(issue.values)}`;
|
|
167
|
+
}
|
|
168
|
+
return issue.message;
|
|
169
|
+
}
|
|
85
170
|
/**
|
|
86
171
|
* Renders an argument-validation failure the way the MCP SDK renders its own,
|
|
87
172
|
* so the readable diagnostic — the offending key or field, and why it failed —
|
|
88
173
|
* is unchanged for clients that read `content[]` text. The framework owns this
|
|
89
174
|
* rejection (see `deferInputValidation`) purely so it can also carry
|
|
90
175
|
* `structuredContent.error`.
|
|
176
|
+
*
|
|
177
|
+
* `args` are the caller's raw arguments, read only through
|
|
178
|
+
* {@link readArgumentAt}; see {@link renderIssueMessage} for what that decides.
|
|
91
179
|
*/
|
|
92
|
-
export function formatInputValidationMessage(toolName, error) {
|
|
180
|
+
export function formatInputValidationMessage(toolName, error, args) {
|
|
93
181
|
const detail = error.issues
|
|
94
|
-
.map((issue) =>
|
|
95
|
-
|
|
96
|
-
|
|
182
|
+
.map((issue) => {
|
|
183
|
+
const message = renderIssueMessage(issue, readArgumentAt(args, issue.path) === ABSENT);
|
|
184
|
+
return issue.path.length > 0 ? `${issue.path.map(String).join('.')}: ${message}` : message;
|
|
185
|
+
})
|
|
97
186
|
.join(', ');
|
|
98
187
|
return `Input validation error: Invalid arguments for tool ${toolName}: ${detail}`;
|
|
99
188
|
}
|
|
189
|
+
/** `a number`, `an array` — the indefinite article a type name reads with. */
|
|
190
|
+
function withArticle(typeName) {
|
|
191
|
+
return `${/^[aeiou]/.test(typeName) ? 'an' : 'a'} ${typeName}`;
|
|
192
|
+
}
|
|
193
|
+
/** How a raw argument's JS type reads in the wrong-type sentence. */
|
|
194
|
+
function arrivedTypeText(value) {
|
|
195
|
+
if (value === null)
|
|
196
|
+
return 'null';
|
|
197
|
+
return withArticle(Array.isArray(value) ? 'array' : typeof value);
|
|
198
|
+
}
|
|
199
|
+
/** `lat`, `lat and lon`, `lat, lon and alt`. */
|
|
200
|
+
function joinNames(names) {
|
|
201
|
+
if (names.length < 2)
|
|
202
|
+
return names.join('');
|
|
203
|
+
return `${names.slice(0, -1).join(', ')} and ${names.at(-1)}`;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* The root property names a tool advertises, in schema order — the accepted-key
|
|
207
|
+
* list of an unknown-key hint.
|
|
208
|
+
*
|
|
209
|
+
* Empty for a `z.discriminatedUnion()` root: `strictenInput` strictens each
|
|
210
|
+
* variant, so `unrecognized_keys` does fire there, but the issue carries no way
|
|
211
|
+
* to know which variant matched, and the union of every variant's keys would
|
|
212
|
+
* claim the tool accepts a set no single call does.
|
|
213
|
+
*/
|
|
214
|
+
function rootPropertyNames(input) {
|
|
215
|
+
return isZodObjectSchema(input) ? Object.keys(input.shape) : [];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Synthesizes `data.recovery.hint` from the Zod issues, the raw arguments, and
|
|
219
|
+
* the root schema (#445) — so the one failure a weaker model hits most often
|
|
220
|
+
* carries the same next step every handler-thrown error does, instead of
|
|
221
|
+
* costing a round trip for the schema.
|
|
222
|
+
*
|
|
223
|
+
* One sentence per issue, joined into a single hint, except that every missing
|
|
224
|
+
* required field collapses into one `Provide …` sentence at the first of their
|
|
225
|
+
* positions. An issue no bucket claims contributes its rendered message
|
|
226
|
+
* unchanged, which keeps the hint nonempty for any rejection Zod can produce.
|
|
227
|
+
*/
|
|
228
|
+
function buildArgumentRecoveryHint(def, error, args) {
|
|
229
|
+
const sentences = [];
|
|
230
|
+
const missing = [];
|
|
231
|
+
let missingSlot = -1;
|
|
232
|
+
for (const issue of error.issues) {
|
|
233
|
+
const path = issue.path.map(String).join('.');
|
|
234
|
+
const arrived = readArgumentAt(args, issue.path);
|
|
235
|
+
if (issue.code === 'unrecognized_keys') {
|
|
236
|
+
const label = issue.keys.length === 1 ? 'Unknown key' : 'Unknown keys';
|
|
237
|
+
const accepted = rootPropertyNames(def.input);
|
|
238
|
+
sentences.push(accepted.length > 0
|
|
239
|
+
? `${label} ${issue.keys.join(', ')}. This tool accepts: ${accepted.join(', ')}.`
|
|
240
|
+
: `${label} ${issue.keys.join(', ')}.`);
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
if (path.length > 0 && arrived === ABSENT) {
|
|
244
|
+
if (missingSlot < 0) {
|
|
245
|
+
missingSlot = sentences.length;
|
|
246
|
+
sentences.push('');
|
|
247
|
+
}
|
|
248
|
+
missing.push(path);
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
if (issue.code === 'invalid_type') {
|
|
252
|
+
const subject = path.length > 0 ? path : 'the arguments';
|
|
253
|
+
const expected = withArticle(issue.expected);
|
|
254
|
+
sentences.push(arrived === ABSENT
|
|
255
|
+
? `Send ${subject} as ${expected}.`
|
|
256
|
+
: `Send ${subject} as ${expected}, not ${arrivedTypeText(arrived)}.`);
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
sentences.push(renderIssueMessage(issue, false));
|
|
260
|
+
}
|
|
261
|
+
if (missingSlot >= 0)
|
|
262
|
+
sentences[missingSlot] = `Provide ${joinNames(missing)}.`;
|
|
263
|
+
return sentences.join(' ');
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Validates raw tool arguments against the definition's `input` schema, or
|
|
267
|
+
* throws the rejection a client receives on the wire: `InvalidParams`
|
|
268
|
+
* (`-32602`), the message {@link formatInputValidationMessage} renders, the Zod
|
|
269
|
+
* issues as `data.issues`, and — as with any other declared failure —
|
|
270
|
+
* `data.reason` plus a `data.recovery.hint` {@link buildArgumentRecoveryHint}
|
|
271
|
+
* synthesizes (#445). {@link buildToolErrorResult} mirrors that hint into
|
|
272
|
+
* `content[]`, so it reaches format()-only clients with no extra work.
|
|
273
|
+
*
|
|
274
|
+
* The single argument-rejection path. {@link createToolHandler} and the
|
|
275
|
+
* `runToolContract` test helper both route through it, so a test written to
|
|
276
|
+
* the helper pins the code, message, and `content[]` text a deployment
|
|
277
|
+
* actually produces (#416). Anything that classifies a `ZodError` as
|
|
278
|
+
* `ValidationError` — a handler's own validation, the output-schema parse —
|
|
279
|
+
* is a different failure and does not come through here.
|
|
280
|
+
*/
|
|
281
|
+
export function parseToolArguments(def, input) {
|
|
282
|
+
const parsed = def.input.safeParse(input);
|
|
283
|
+
if (!parsed.success) {
|
|
284
|
+
throw new McpError(JsonRpcErrorCode.InvalidParams, formatInputValidationMessage(def.name, parsed.error, input), {
|
|
285
|
+
issues: parsed.error.issues,
|
|
286
|
+
reason: INVALID_ARGUMENTS_REASON,
|
|
287
|
+
recovery: { hint: buildArgumentRecoveryHint(def, parsed.error, input) },
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
return parsed.data;
|
|
291
|
+
}
|
|
100
292
|
/**
|
|
101
293
|
* Builds an error `CallToolResult` from a raw thrown value. Classifies via
|
|
102
294
|
* {@link ErrorHandler.classifyOnly} when the value isn't already an
|
|
@@ -396,11 +588,7 @@ export function createToolHandler(def, services, notifiers) {
|
|
|
396
588
|
// to here (see `deferInputValidation`) so a rejection carries the
|
|
397
589
|
// structured error envelope; the message and `InvalidParams`
|
|
398
590
|
// classification match what the SDK produced before (#377).
|
|
399
|
-
const
|
|
400
|
-
if (!parsedInput.success) {
|
|
401
|
-
throw new McpError(JsonRpcErrorCode.InvalidParams, formatInputValidationMessage(def.name, parsedInput.error), { issues: parsedInput.error.issues });
|
|
402
|
-
}
|
|
403
|
-
const validatedInput = parsedInput.data;
|
|
591
|
+
const validatedInput = parseToolArguments(def, input);
|
|
404
592
|
// Read by the success-attributes thunk below, which the measurement
|
|
405
593
|
// evaluates after the callback settles.
|
|
406
594
|
let ctx;
|
|
@@ -412,16 +600,24 @@ export function createToolHandler(def, services, notifiers) {
|
|
|
412
600
|
return await measureToolExecution(async (spanContext, recordOutput) => {
|
|
413
601
|
const handlerCtx = buildHandlerContext(request, services, spanContext, def.errors);
|
|
414
602
|
ctx = handlerCtx;
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
603
|
+
try {
|
|
604
|
+
// Handler may return sync or async.
|
|
605
|
+
const handlerResult = await def.handler(validatedInput, handlerCtx);
|
|
606
|
+
// The domain value is what `mcp.tool.output_bytes` and
|
|
607
|
+
// partial-success detection measure — not the assembled result this
|
|
608
|
+
// callback returns, which re-renders it into content[].
|
|
609
|
+
recordOutput(handlerResult);
|
|
610
|
+
// Render content[] from the domain payload only (Resolution B), then
|
|
611
|
+
// merge enrichment into structuredContent and append the content[] trailer.
|
|
612
|
+
const validatedResult = def.output.parse(handlerResult);
|
|
613
|
+
return buildToolSuccessResult(def, handlerCtx, validatedResult, renderToolContent(def, validatedResult, handlerCtx));
|
|
614
|
+
}
|
|
615
|
+
catch (error) {
|
|
616
|
+
// Inside the measurement on purpose: the completion log's
|
|
617
|
+
// `metrics.errorCode` and the span's error-code attribute are
|
|
618
|
+
// derived from what leaves this callback (#421).
|
|
619
|
+
throw asRequestCancelled(error, request.signal);
|
|
620
|
+
}
|
|
425
621
|
}, { ...appContext, toolName: def.name }, validatedInput, () => {
|
|
426
622
|
const store = ctx ? readEnrichmentStore(ctx) : undefined;
|
|
427
623
|
return store && Object.keys(store.values).length > 0
|
|
@@ -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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"}
|
|
@@ -12,8 +12,31 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { Context } from 'hono';
|
|
14
14
|
import type { ServerManifest } from '../../../core/serverManifest.js';
|
|
15
|
+
/**
|
|
16
|
+
* Reverse-DNS key carrying the resolved HTTP session posture in the card's
|
|
17
|
+
* `_meta`. Namespaced to this framework because the value is an extension,
|
|
18
|
+
* not a spec field.
|
|
19
|
+
*/
|
|
20
|
+
export declare const SESSION_MODE_META_KEY = "io.github.cyanheads.mcp-ts-core/sessionMode";
|
|
15
21
|
/** Shape of the SEP-1649 Server Card document. */
|
|
16
22
|
export interface ServerCard {
|
|
23
|
+
/**
|
|
24
|
+
* Extension data, keyed by reverse-DNS namespace.
|
|
25
|
+
*
|
|
26
|
+
* Carries {@link SESSION_MODE_META_KEY} — the session mode the server
|
|
27
|
+
* actually runs in, `stateful` or `stateless`, already resolved so `auto`
|
|
28
|
+
* never appears. A client reading only this document can decide whether to
|
|
29
|
+
* hold an `Mcp-Session-Id`.
|
|
30
|
+
*
|
|
31
|
+
* `_meta` because SEP-2127 closes the card's top-level field set
|
|
32
|
+
* (`$schema`, `name`, `version`, `description`, `title?`, `websiteUrl?`,
|
|
33
|
+
* `repository?`, `icons?`, `remotes?`, `_meta?`) and sanctions `_meta` as
|
|
34
|
+
* the one extension point. The SEP's rationale reserves `_meta` against
|
|
35
|
+
* advertising MCP capabilities or negotiated extension support; session
|
|
36
|
+
* posture is neither — it is a property of how this deployment is run,
|
|
37
|
+
* fixed before any client connects.
|
|
38
|
+
*/
|
|
39
|
+
_meta?: Record<string, unknown>;
|
|
17
40
|
/** JSON Schema identifier — hint to validators. */
|
|
18
41
|
$schema?: string;
|
|
19
42
|
authentication: ServerCardAuth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverCard.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE;QACT,oCAAoC;QACpC,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"serverCard.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK/D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AAEnF,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE;QACT,oCAAoC;QACpC,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAyBpF;AA4BD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,OACnD,OAAO,KAAG,QAAQ,CAmB9B"}
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
import { resolvePublicOrigin } from './publicOrigin.js';
|
|
14
14
|
import { logger } from '../../../utils/internal/logger.js';
|
|
15
15
|
import { requestContextService, withExtra } from '../../../utils/internal/requestContext.js';
|
|
16
|
+
/**
|
|
17
|
+
* Reverse-DNS key carrying the resolved HTTP session posture in the card's
|
|
18
|
+
* `_meta`. Namespaced to this framework because the value is an extension,
|
|
19
|
+
* not a spec field.
|
|
20
|
+
*/
|
|
21
|
+
export const SESSION_MODE_META_KEY = 'io.github.cyanheads.mcp-ts-core/sessionMode';
|
|
16
22
|
/**
|
|
17
23
|
* Build the SEP-1649 Server Card from the manifest + request origin.
|
|
18
24
|
* Pure — same inputs produce the same output.
|
|
@@ -37,6 +43,7 @@ export function buildServerCard(manifest, origin) {
|
|
|
37
43
|
...(manifest.extensions && { extensions: manifest.extensions }),
|
|
38
44
|
...(manifest.server.homepage && { documentation: manifest.server.homepage }),
|
|
39
45
|
generated_at: manifest.builtAt,
|
|
46
|
+
_meta: { [SESSION_MODE_META_KEY]: manifest.transport.sessionMode },
|
|
40
47
|
};
|
|
41
48
|
return card;
|
|
42
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverCard.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"serverCard.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -258,6 +258,11 @@ export interface RunToolContractOptions {
|
|
|
258
258
|
* applies `format()`, enrichment, and collected content, and converts thrown
|
|
259
259
|
* values to the same dual-surface error envelope used by the production tool
|
|
260
260
|
* pipeline. It intentionally skips transport auth and telemetry.
|
|
261
|
+
*
|
|
262
|
+
* Arguments that fail the `input` schema are rejected through
|
|
263
|
+
* `parseToolArguments` — the same call the production handler factory makes —
|
|
264
|
+
* so the envelope is `InvalidParams` (`-32602`) with the tool-naming message a
|
|
265
|
+
* client receives, not a `ValidationError` the wire never carries.
|
|
261
266
|
*/
|
|
262
267
|
export declare function runToolContract<TDefinition extends AnyToolDefinition>(definition: TDefinition, input: z.input<TDefinition['input']>, options?: RunToolContractOptions): Promise<CallToolResult>;
|
|
263
268
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EAEP,aAAa,EACb,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAkB3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EAEP,aAAa,EACb,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAkB3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAOpF,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CACjC,OAAO,SAAS,SAAS,aAAa,EAAE,GAAG,SAAS,GAAG,SAAS,aAAa,EAAE,GAAG,SAAS;IAE3F,oBAAoB;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1D,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,2CAA2C;IAC3C,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,sCAAsC;IACtC,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAMD,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,mFAAmF;IACnF,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC9D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,CAiBpD;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,OAAO,SAAS,SAAS,aAAa,EAAE,GAAG,SAAS,GAAG,SAAS,EACtE,OAAO,GAAE,kBAAkB,CAAC,OAAO,CAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAkD9E;AAMD;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK;IACnD,+EAA+E;IAC/E,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACvB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,CAAC,OAAO,SAAS,SAAS,aAAa,EAAE,GAAG,SAAS,GAAG,SAAS,EACtE,OAAO,GAAE,kBAAkB,CAAC,OAAO,CAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAI3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,EAAE,CAE7D;AAMD,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;AAEjF,0DAA0D;AAC1D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;AAEjG,gEAAgE;AAChE,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,KAAK,EAAE,gBAAgB,CAAC;IACxB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;CAClE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,mEAAmE;IACnE,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,4EAA4E;IAC5E,OAAO,IAAI,IAAI,CAAC;IAChB,qDAAqD;IACrD,KAAK,IAAI,IAAI,CAAC;IACd,oEAAoE;IACpE,OAAO,IAAI,IAAI,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,GAAG,MAAM,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC;CACtD;AAcD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAC7B,aAAa,GAAE,SAAS,cAAc,EAAO,EAC7C,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CA2ClB;AAMD,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,WAAW,SAAS,iBAAiB,EACzE,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EACpC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,cAAc,CAEvF;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAW1F"}
|
package/dist/testing/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { attachTypedFail, createContentCollect, createContentStore, createContextState, createEnrich, createEnrichmentStore, readContentStore, readEnrichmentStore, stashContentStore, stashEnrichmentStore, } from '../core/context.js';
|
|
9
9
|
import { contextInputsFrom, createRequestInput, isInputRequiredSignal, } from '../mcp-server/inputRequired.js';
|
|
10
|
-
import { buildToolSuccessResult, classifyAndBuildToolErrorResult, renderToolContent, } from '../mcp-server/tools/utils/toolHandlerFactory.js';
|
|
10
|
+
import { buildToolSuccessResult, classifyAndBuildToolErrorResult, parseToolArguments, renderToolContent, } from '../mcp-server/tools/utils/toolHandlerFactory.js';
|
|
11
11
|
import { StorageService } from '../storage/core/StorageService.js';
|
|
12
12
|
import { InMemoryProvider, } from '../storage/providers/inMemory/inMemoryProvider.js';
|
|
13
13
|
/**
|
|
@@ -254,6 +254,11 @@ export function createFetchMock(initialRoutes = [], options = {}) {
|
|
|
254
254
|
* applies `format()`, enrichment, and collected content, and converts thrown
|
|
255
255
|
* values to the same dual-surface error envelope used by the production tool
|
|
256
256
|
* pipeline. It intentionally skips transport auth and telemetry.
|
|
257
|
+
*
|
|
258
|
+
* Arguments that fail the `input` schema are rejected through
|
|
259
|
+
* `parseToolArguments` — the same call the production handler factory makes —
|
|
260
|
+
* so the envelope is `InvalidParams` (`-32602`) with the tool-naming message a
|
|
261
|
+
* client receives, not a `ValidationError` the wire never carries.
|
|
257
262
|
*/
|
|
258
263
|
export async function runToolContract(definition, input, options = {}) {
|
|
259
264
|
const ctx = createMockContext({
|
|
@@ -261,7 +266,7 @@ export async function runToolContract(definition, input, options = {}) {
|
|
|
261
266
|
...(definition.errors && { errors: definition.errors }),
|
|
262
267
|
});
|
|
263
268
|
try {
|
|
264
|
-
const validatedInput = definition
|
|
269
|
+
const validatedInput = parseToolArguments(definition, input);
|
|
265
270
|
const output = await definition.handler(validatedInput, ctx);
|
|
266
271
|
const validatedOutput = definition.output.parse(output);
|
|
267
272
|
return buildToolSuccessResult(definition, ctx, validatedOutput, renderToolContent(definition, validatedOutput, ctx));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,34 @@ import { JsonRpcErrorCode } from '../../../types-global/errors.js';
|
|
|
7
7
|
import type { ErrorHandlerOptions, ErrorMapping } from './types.js';
|
|
8
8
|
/** Eagerly creates the error classification counter so the series exists from startup. */
|
|
9
9
|
export declare function initErrorMetrics(): void;
|
|
10
|
+
/**
|
|
11
|
+
* The value a handler unwound with, resolved against its request's cancellation.
|
|
12
|
+
*
|
|
13
|
+
* Once the request's signal has fired, the unwind *is* the cancellation,
|
|
14
|
+
* whatever the handler threw on the way out. A `notifications/cancelled`
|
|
15
|
+
* leaves its `reason` string on the signal — or a `DOMException` named
|
|
16
|
+
* `AbortError` when the notification carried none — a service that noticed the
|
|
17
|
+
* abort may raise its own `McpError`, and the SDK aborts with an
|
|
18
|
+
* `SdkError(ConnectionClosed)` when the transport closes. Classifying by the
|
|
19
|
+
* shape of that value reads a routine caller action as a server fault: an
|
|
20
|
+
* `error`-level log with a stack, and `InternalError` or `Timeout` on the
|
|
21
|
+
* completion log, for every cancelled call (#421).
|
|
22
|
+
*
|
|
23
|
+
* So the cancellation outranks the thrown value's own code, `McpError`
|
|
24
|
+
* included. The accepted cost is that an unrelated fault raised after the abort
|
|
25
|
+
* is recorded as a cancellation too; it is bounded, because the SDK writes no
|
|
26
|
+
* response for a request whose signal it aborted, so the client-visible
|
|
27
|
+
* envelope is the same either way.
|
|
28
|
+
*
|
|
29
|
+
* Applied inside the measured region by both handler factories, so the
|
|
30
|
+
* completion log's `metrics.errorCode` and the execution span's error-code
|
|
31
|
+
* attribute carry `-32011` alongside the classified envelope.
|
|
32
|
+
*
|
|
33
|
+
* Returns the value unchanged while the signal is live, for an `input_required`
|
|
34
|
+
* signal (protocol control flow, never a failure), and for an error already
|
|
35
|
+
* carrying `RequestCancelled`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function asRequestCancelled(error: unknown, signal: AbortSignal): unknown;
|
|
10
38
|
/**
|
|
11
39
|
* A utility class providing static methods for comprehensive error handling.
|
|
12
40
|
*/
|
|
@@ -14,6 +42,11 @@ export declare class ErrorHandler {
|
|
|
14
42
|
/**
|
|
15
43
|
* Determines an appropriate `JsonRpcErrorCode` for a given error.
|
|
16
44
|
*
|
|
45
|
+
* Classifies the thrown value alone. A handler unwinding after its request's
|
|
46
|
+
* abort signal fired is settled before this runs — see
|
|
47
|
+
* {@link asRequestCancelled}, which the handler factories apply first and
|
|
48
|
+
* which outranks every step below.
|
|
49
|
+
*
|
|
17
50
|
* Resolution order:
|
|
18
51
|
* 1. `McpError` instances — returns `error.code` directly.
|
|
19
52
|
* 2. SDK `ConnectionClosed` rejections — mapped to `RequestCancelled`, ahead of the pattern ladder.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/errorHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../../../src/utils/internal/error-handler/errorHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAE,gBAAgB,EAA8B,MAAM,0BAA0B,CAAC;AAcxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAapE,0FAA0F;AAC1F,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAI/E;AAED;;GAEG;AAEH,qBAAa,YAAY;IACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,OAAc,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAgDjE;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,OAAc,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,KAAK,CAuJ7E;IAED;;;;;;;;;;OAUG;IACH,OAAc,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG;QAC1C,IAAI,EAAE,gBAAgB,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAeA;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAc,QAAQ,CAAC,CAAC,SAAS,KAAK,EACpC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACxC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,GACxE,CAAC,GAAG,KAAK,CAgBX;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAc,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBjE;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAoB,QAAQ,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACxB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAC5C,OAAO,CAAC,CAAC,CAAC,CAUZ;CACF"}
|