@cyanheads/mcp-ts-core 0.13.5 → 0.13.7
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 +6 -6
- package/CLAUDE.md +6 -6
- package/README.md +55 -52
- package/biome.json +2 -2
- package/changelog/0.13.x/0.13.6.md +49 -0
- package/changelog/0.13.x/0.13.7.md +77 -0
- package/config/tsconfig.base.json +2 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +42 -11
- package/dist/config/index.js.map +1 -1
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +21 -4
- package/dist/core/app.js.map +1 -1
- package/dist/core/context.d.ts +9 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +4 -13
- package/dist/core/context.js.map +1 -1
- package/dist/core/worker.d.ts.map +1 -1
- package/dist/core/worker.js +7 -1
- package/dist/core/worker.js.map +1 -1
- package/dist/linter/rules/enrichment-rules.d.ts +5 -4
- package/dist/linter/rules/enrichment-rules.d.ts.map +1 -1
- package/dist/linter/rules/enrichment-rules.js +99 -22
- package/dist/linter/rules/enrichment-rules.js.map +1 -1
- package/dist/linter/rules/error-contract-rules.d.ts +46 -10
- package/dist/linter/rules/error-contract-rules.d.ts.map +1 -1
- package/dist/linter/rules/error-contract-rules.js +180 -27
- package/dist/linter/rules/error-contract-rules.js.map +1 -1
- package/dist/linter/rules/format-parity-rules.js +1 -1
- package/dist/linter/rules/format-parity-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 +2 -1
- 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 +2 -1
- package/dist/linter/rules/tool-rules.js.map +1 -1
- package/dist/mcp-server/handlerContext.d.ts +6 -0
- package/dist/mcp-server/handlerContext.d.ts.map +1 -1
- package/dist/mcp-server/handlerContext.js +3 -0
- package/dist/mcp-server/handlerContext.js.map +1 -1
- package/dist/mcp-server/prompts/prompt-registration.d.ts.map +1 -1
- package/dist/mcp-server/prompts/prompt-registration.js +6 -3
- package/dist/mcp-server/prompts/prompt-registration.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +5 -1
- 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 +15 -5
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
- package/dist/storage/core/IStorageProvider.d.ts +5 -2
- package/dist/storage/core/IStorageProvider.d.ts.map +1 -1
- package/dist/storage/core/providerHelpers.d.ts +29 -8
- package/dist/storage/core/providerHelpers.d.ts.map +1 -1
- package/dist/storage/core/providerHelpers.js +49 -11
- package/dist/storage/core/providerHelpers.js.map +1 -1
- package/dist/storage/providers/cloudflare/d1Provider.js +4 -4
- package/dist/storage/providers/cloudflare/d1Provider.js.map +1 -1
- package/dist/storage/providers/cloudflare/kvProvider.d.ts +2 -0
- package/dist/storage/providers/cloudflare/kvProvider.d.ts.map +1 -1
- package/dist/storage/providers/cloudflare/kvProvider.js +11 -9
- package/dist/storage/providers/cloudflare/kvProvider.js.map +1 -1
- package/dist/storage/providers/cloudflare/r2Provider.d.ts.map +1 -1
- package/dist/storage/providers/cloudflare/r2Provider.js +8 -5
- package/dist/storage/providers/cloudflare/r2Provider.js.map +1 -1
- package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts +1 -0
- package/dist/storage/providers/fileSystem/fileSystemProvider.d.ts.map +1 -1
- package/dist/storage/providers/fileSystem/fileSystemProvider.js +10 -8
- package/dist/storage/providers/fileSystem/fileSystemProvider.js.map +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts +5 -0
- package/dist/storage/providers/inMemory/inMemoryProvider.d.ts.map +1 -1
- package/dist/storage/providers/inMemory/inMemoryProvider.js +9 -5
- package/dist/storage/providers/inMemory/inMemoryProvider.js.map +1 -1
- package/dist/storage/providers/supabase/supabaseProvider.d.ts.map +1 -1
- package/dist/storage/providers/supabase/supabaseProvider.js +5 -1
- package/dist/storage/providers/supabase/supabaseProvider.js.map +1 -1
- package/dist/testing/index.d.ts +6 -4
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +6 -4
- package/dist/testing/index.js.map +1 -1
- package/dist/types-global/errors.d.ts +18 -0
- package/dist/types-global/errors.d.ts.map +1 -1
- package/dist/utils/formatting/partialResult.d.ts +28 -2
- package/dist/utils/formatting/partialResult.d.ts.map +1 -1
- package/dist/utils/formatting/partialResult.js +46 -2
- package/dist/utils/formatting/partialResult.js.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.d.ts +8 -2
- package/dist/utils/internal/error-handler/errorHandler.d.ts.map +1 -1
- package/dist/utils/internal/error-handler/errorHandler.js +27 -16
- package/dist/utils/internal/error-handler/errorHandler.js.map +1 -1
- package/dist/utils/internal/error-handler/mappings.d.ts +1 -0
- package/dist/utils/internal/error-handler/mappings.d.ts.map +1 -1
- package/dist/utils/internal/error-handler/mappings.js +1 -0
- package/dist/utils/internal/error-handler/mappings.js.map +1 -1
- package/dist/utils/internal/performance.d.ts +5 -1
- package/dist/utils/internal/performance.d.ts.map +1 -1
- package/dist/utils/internal/performance.js +13 -8
- package/dist/utils/internal/performance.js.map +1 -1
- package/dist/utils/security/sanitization.d.ts +15 -15
- package/dist/utils/security/sanitization.d.ts.map +1 -1
- package/dist/utils/security/sanitization.js +108 -88
- package/dist/utils/security/sanitization.js.map +1 -1
- package/dist/utils/telemetry/instrumentation.d.ts +6 -2
- package/dist/utils/telemetry/instrumentation.d.ts.map +1 -1
- package/dist/utils/telemetry/instrumentation.js +23 -8
- package/dist/utils/telemetry/instrumentation.js.map +1 -1
- package/framework-skills/add-app-tool/SKILL.md +12 -18
- package/framework-skills/add-prompt/SKILL.md +3 -1
- package/framework-skills/add-provider/SKILL.md +14 -4
- package/framework-skills/add-resource/SKILL.md +3 -3
- package/framework-skills/add-service/SKILL.md +5 -2
- package/framework-skills/add-tool/SKILL.md +25 -8
- package/framework-skills/api-canvas/SKILL.md +2 -2
- package/framework-skills/api-config/SKILL.md +4 -3
- package/framework-skills/api-context/SKILL.md +8 -5
- package/framework-skills/api-errors/SKILL.md +25 -5
- package/framework-skills/api-linter/SKILL.md +95 -22
- package/framework-skills/api-telemetry/SKILL.md +9 -4
- package/framework-skills/api-testing/SKILL.md +21 -13
- package/framework-skills/api-utils/SKILL.md +3 -3
- package/framework-skills/api-utils/references/security.md +7 -6
- package/framework-skills/code-simplifier/SKILL.md +31 -18
- package/framework-skills/design-mcp-server/SKILL.md +62 -35
- package/framework-skills/git-wrapup/SKILL.md +16 -10
- package/framework-skills/maintenance/SKILL.md +2 -2
- package/framework-skills/orchestrations/SKILL.md +1 -1
- package/framework-skills/orchestrations/workflows/greenfield-build.md +15 -8
- package/framework-skills/polish-docs-meta/SKILL.md +2 -2
- package/framework-skills/polish-docs-meta/references/package-meta.md +1 -1
- package/framework-skills/polish-docs-meta/references/readme.md +3 -3
- package/framework-skills/release-and-publish/SKILL.md +6 -4
- package/framework-skills/release-pr-review/SKILL.md +18 -1
- package/framework-skills/report-issue-framework/SKILL.md +2 -2
- package/framework-skills/report-issue-local/SKILL.md +3 -3
- package/framework-skills/security-pass/SKILL.md +11 -3
- package/framework-skills/tool-defs-analysis/SKILL.md +3 -3
- package/package.json +16 -37
- package/scripts/lint-mcp.ts +43 -4
- package/templates/.env.example +3 -1
- package/templates/.github/ISSUE_TEMPLATE/feature_request.yml +1 -1
- package/templates/AGENTS.md +3 -3
- package/templates/CLAUDE.md +3 -3
- package/templates/Dockerfile +4 -4
- package/templates/devcheck.config.json +1 -0
- package/templates/package.json +4 -4
- package/templates/src/mcp-server/prompts/definitions/echo.prompt.ts +2 -4
- package/templates/src/mcp-server/resources/definitions/echo-app-ui.app-resource.ts +51 -14
- package/templates/src/mcp-server/resources/definitions/echo.resource.ts +1 -1
- package/templates/src/mcp-server/tools/definitions/echo-app.app-tool.ts +2 -3
- package/templates/src/mcp-server/tools/definitions/echo.tool.ts +8 -2
- package/dist/utils/telemetry/index.d.ts +0 -12
- package/dist/utils/telemetry/index.d.ts.map +0 -1
- package/dist/utils/telemetry/index.js +0 -12
- package/dist/utils/telemetry/index.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { deleteManyViaDelete, getManyViaGet, paginateSortedKeys, } from '../../core/providerHelpers.js';
|
|
1
|
+
import { deleteManyViaDelete, encodeEntries, getManyViaGet, paginateSortedKeys, serializeValue, } from '../../core/providerHelpers.js';
|
|
2
2
|
import { decodeCursor } from '../../core/storageValidation.js';
|
|
3
3
|
import { configurationError, JsonRpcErrorCode, McpError } from '../../../types-global/errors.js';
|
|
4
4
|
import { logger } from '../../../utils/internal/logger.js';
|
|
@@ -84,10 +84,12 @@ export class InMemoryProvider {
|
|
|
84
84
|
logger.debug(`[InMemoryProvider] Key expired and removed: ${key} for tenant: ${tenantId}`, context);
|
|
85
85
|
return Promise.resolve(null);
|
|
86
86
|
}
|
|
87
|
-
return Promise.resolve(entry.
|
|
87
|
+
return Promise.resolve(JSON.parse(entry.json));
|
|
88
88
|
}
|
|
89
89
|
set(tenantId, key, value, context, options) {
|
|
90
90
|
logger.debug(`[InMemoryProvider] Setting key: ${key} for tenant: ${tenantId}`, context);
|
|
91
|
+
// Encode before the capacity sweep, so a rejected value leaves the store untouched.
|
|
92
|
+
const json = serializeValue(key, value);
|
|
91
93
|
const isNew = !this.store.get(tenantId)?.has(key);
|
|
92
94
|
if (isNew) {
|
|
93
95
|
this.ensureCapacity();
|
|
@@ -97,7 +99,7 @@ export class InMemoryProvider {
|
|
|
97
99
|
// Fix: Check for undefined instead of truthy to handle ttl=0 correctly
|
|
98
100
|
const expiresAt = options?.ttl !== undefined ? Date.now() + options.ttl * 1000 : undefined;
|
|
99
101
|
tenantStore.set(key, {
|
|
100
|
-
|
|
102
|
+
json,
|
|
101
103
|
...(expiresAt !== undefined && { expiresAt }),
|
|
102
104
|
});
|
|
103
105
|
if (isNew) {
|
|
@@ -162,6 +164,8 @@ export class InMemoryProvider {
|
|
|
162
164
|
return;
|
|
163
165
|
}
|
|
164
166
|
logger.debug(`[InMemoryProvider] Setting ${entries.size} keys for tenant: ${tenantId}`, context);
|
|
167
|
+
// Encode the whole batch first: one unencodable value rejects it untouched.
|
|
168
|
+
const encoded = encodeEntries(entries);
|
|
165
169
|
// Expired entries must be removed before computing the batch delta. If an
|
|
166
170
|
// expired key is present in this batch, counting it as an overwrite and
|
|
167
171
|
// sweeping it later can undercount additions and exceed maxEntries.
|
|
@@ -176,9 +180,9 @@ export class InMemoryProvider {
|
|
|
176
180
|
this.assertCapacity(newEntryCount);
|
|
177
181
|
tenantStore ??= this.getOrCreateTenantStore(tenantId);
|
|
178
182
|
const expiresAt = options?.ttl !== undefined ? Date.now() + options.ttl * 1000 : undefined;
|
|
179
|
-
for (const [key,
|
|
183
|
+
for (const [key, json] of encoded) {
|
|
180
184
|
tenantStore.set(key, {
|
|
181
|
-
|
|
185
|
+
json,
|
|
182
186
|
...(expiresAt !== undefined && { expiresAt }),
|
|
183
187
|
});
|
|
184
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inMemoryProvider.js","sourceRoot":"","sources":["../../../../src/storage/providers/inMemory/inMemoryProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inMemoryProvider.js","sourceRoot":"","sources":["../../../../src/storage/providers/inMemory/inMemoryProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabaseProvider.d.ts","sourceRoot":"","sources":["../../../../src/storage/providers/supabase/supabaseProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"supabaseProvider.d.ts","sourceRoot":"","sources":["../../../../src/storage/providers/supabase/supabaseProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,oCAAoC,CAAC;AAO5C,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,gDAAgD,CAAC;AAGrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,qBAAa,gBAAiB,YAAW,gBAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAI;IAEjE,OAAO,CAAC,SAAS;IAIX,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAmCtF;IAEK,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Bf;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBrF;IAEK,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC,CA6CrB;IAEK,OAAO,CAAC,CAAC,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAiCzB;IAEK,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAgCf;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB3F;IAEK,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBtE;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { escapeLikePattern } from '../../core/providerHelpers.js';
|
|
1
|
+
import { encodeEntries, escapeLikePattern, serializeValue, } from '../../core/providerHelpers.js';
|
|
2
2
|
import { decodeCursor, encodeCursor } from '../../core/storageValidation.js';
|
|
3
3
|
import { ErrorHandler } from '../../../utils/internal/error-handler/errorHandler.js';
|
|
4
4
|
import { logger } from '../../../utils/internal/logger.js';
|
|
@@ -41,6 +41,8 @@ export class SupabaseProvider {
|
|
|
41
41
|
}
|
|
42
42
|
async set(tenantId, key, value, context, options) {
|
|
43
43
|
return await ErrorHandler.tryCatch(async () => {
|
|
44
|
+
// The shared encoding guard; PostgREST serializes the jsonb body itself.
|
|
45
|
+
serializeValue(key, value);
|
|
44
46
|
// Fix: Check for undefined instead of truthy to handle ttl=0 correctly
|
|
45
47
|
const expires_at = options?.ttl !== undefined
|
|
46
48
|
? new Date(Date.now() + options.ttl * 1000).toISOString()
|
|
@@ -148,6 +150,8 @@ export class SupabaseProvider {
|
|
|
148
150
|
if (entries.size === 0) {
|
|
149
151
|
return;
|
|
150
152
|
}
|
|
153
|
+
// The shared encoding guard, over the whole batch before the upsert.
|
|
154
|
+
encodeEntries(entries);
|
|
151
155
|
// Fix: Check for undefined instead of truthy to handle ttl=0 correctly
|
|
152
156
|
const expires_at = options?.ttl !== undefined
|
|
153
157
|
? new Date(Date.now() + options.ttl * 1000).toISOString()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabaseProvider.js","sourceRoot":"","sources":["../../../../src/storage/providers/supabase/supabaseProvider.ts"],"names":[],"mappings":"AAaA,OAAO,
|
|
1
|
+
{"version":3,"file":"supabaseProvider.js","sourceRoot":"","sources":["../../../../src/storage/providers/supabase/supabaseProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -96,8 +96,9 @@ export declare function createMockLogger(): MockContextLogger;
|
|
|
96
96
|
* Creates a mock Context for testing tool and resource handlers.
|
|
97
97
|
*
|
|
98
98
|
* `ctx.state` runs on a real `StorageService` over an `InMemoryProvider`, so a
|
|
99
|
-
* test sees the same key validation, TTL expiry,
|
|
100
|
-
* server does — an invalid key
|
|
99
|
+
* test sees the same key validation, TTL expiry, pagination, and JSON
|
|
100
|
+
* round-trip of stored values a deployed server does — an invalid key or an
|
|
101
|
+
* unencodable value fails in the test rather than in the field.
|
|
101
102
|
*
|
|
102
103
|
* When `errors` is supplied, the return type narrows to
|
|
103
104
|
* `HandlerContext<ReasonOf<TErrors>>`: the context carries a typed `ctx.fail`
|
|
@@ -270,8 +271,9 @@ export declare function runToolContract<TDefinition extends AnyToolDefinition>(d
|
|
|
270
271
|
* unit-testing services that accept a `StorageService` dependency.
|
|
271
272
|
*
|
|
272
273
|
* Because this uses the production `StorageService` + `InMemoryProvider`, the
|
|
273
|
-
* behavior (tenant isolation, TTL, validation, list pagination
|
|
274
|
-
* you'd see in a running server — no
|
|
274
|
+
* behavior (tenant isolation, TTL, validation, list pagination, values stored
|
|
275
|
+
* and read back as JSON) matches what you'd see in a running server — no
|
|
276
|
+
* hand-rolled fake required.
|
|
275
277
|
*
|
|
276
278
|
* @example
|
|
277
279
|
* ```ts
|
|
@@ -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;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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.js
CHANGED
|
@@ -51,8 +51,9 @@ const DEFAULT_MOCK_TENANT_ID = 'default';
|
|
|
51
51
|
* Creates a mock Context for testing tool and resource handlers.
|
|
52
52
|
*
|
|
53
53
|
* `ctx.state` runs on a real `StorageService` over an `InMemoryProvider`, so a
|
|
54
|
-
* test sees the same key validation, TTL expiry,
|
|
55
|
-
* server does — an invalid key
|
|
54
|
+
* test sees the same key validation, TTL expiry, pagination, and JSON
|
|
55
|
+
* round-trip of stored values a deployed server does — an invalid key or an
|
|
56
|
+
* unencodable value fails in the test rather than in the field.
|
|
56
57
|
*
|
|
57
58
|
* When `errors` is supplied, the return type narrows to
|
|
58
59
|
* `HandlerContext<ReasonOf<TErrors>>`: the context carries a typed `ctx.fail`
|
|
@@ -283,8 +284,9 @@ export async function runToolContract(definition, input, options = {}) {
|
|
|
283
284
|
* unit-testing services that accept a `StorageService` dependency.
|
|
284
285
|
*
|
|
285
286
|
* Because this uses the production `StorageService` + `InMemoryProvider`, the
|
|
286
|
-
* behavior (tenant isolation, TTL, validation, list pagination
|
|
287
|
-
* you'd see in a running server — no
|
|
287
|
+
* behavior (tenant isolation, TTL, validation, list pagination, values stored
|
|
288
|
+
* and read back as JSON) matches what you'd see in a running server — no
|
|
289
|
+
* hand-rolled fake required.
|
|
288
290
|
*
|
|
289
291
|
* @example
|
|
290
292
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,gBAAgB,GAEjB,MAAM,kDAAkD,CAAC;AA6E1D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAA0D,EAAE,CAAC;IAExE,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,IAA8B,EAAE,EAAE;QAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO;QACL,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;QACvB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,CAAC,GAAW,EAAE,MAAc,EAAE,IAA8B,EAAE,EAAE;YACrE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,SAA+D,EAC/D,YAAqB;IAErB,OAAO,iBAAiB,CAAC,SAAS,EAAE,EAAE,EAAE,GAAqB,EAAE,CAAC,YAA6B,CAAC,CAAC;AACjG,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,gFAAgF;AAChF,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEzC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -256,6 +256,24 @@ export interface ErrorContract {
|
|
|
256
256
|
* Omitted, the record is exactly what it is today.
|
|
257
257
|
*/
|
|
258
258
|
severity?: ErrorContractSeverity;
|
|
259
|
+
/**
|
|
260
|
+
* Marks the entry as produced below the handler — a service that throws a
|
|
261
|
+
* factory error carrying `data: { reason }`, rather than a `ctx.fail` the
|
|
262
|
+
* handler body names.
|
|
263
|
+
*
|
|
264
|
+
* **Lint-only metadata.** Nothing at runtime reads it: `ctx.fail` resolves
|
|
265
|
+
* `code` and `retryable`, `ctx.recoveryFor` resolves `recovery`, the tool
|
|
266
|
+
* handler factory resolves `severity`, and the advertised error envelope
|
|
267
|
+
* carries `reason` and `when`. A marked entry is advertised, typed, and
|
|
268
|
+
* thrown exactly as an unmarked one, and stays in the `ctx.fail` /
|
|
269
|
+
* `ctx.recoveryFor` reason union.
|
|
270
|
+
*
|
|
271
|
+
* What it changes is `error-contract-unthrown`, whose scan reads only the
|
|
272
|
+
* handler source: a marked entry is skipped, while every other entry in the
|
|
273
|
+
* same handler keeps being checked. Mark the entries the service produces
|
|
274
|
+
* rather than moving the handler's own throws out of scan range.
|
|
275
|
+
*/
|
|
276
|
+
thrownBy?: 'service';
|
|
259
277
|
/**
|
|
260
278
|
* Human-readable description of when this error occurs. Surfaced to LLMs and
|
|
261
279
|
* UI clients via `tools/list`. Type-level, not per-occurrence — different
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types-global/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,cAAc,CAAC;AAE3E;;;GAGG;AACH,oBAAY,gBAAgB;IAE1B,UAAU,SAAS;IACnB,cAAc,SAAS;IACvB,cAAc,SAAS;IACvB,aAAa,SAAS;IACtB,aAAa,SAAS;IAGtB,kBAAkB,SAAS;IAC3B,QAAQ,SAAS;IACjB,QAAQ,SAAS;IACjB,WAAW,SAAS;IACpB,OAAO,SAAS;IAChB,SAAS,SAAS;IAClB,YAAY,SAAS;IACrB,eAAe,SAAS;IACxB,kBAAkB,SAAS;IAC3B,oBAAoB,SAAS;IAC7B,aAAa,SAAS;IACtB,gBAAgB,SAAS,CAAE,0DAA0D;IACrF,kBAAkB,SAAS,CAAE,4CAA4C;IACzE,YAAY,SAAS;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC;;OAEG;IACH,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IAEvC;;;;OAIG;IACH,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/C;;;;;;OAMG;IACH,YACE,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAyB9B;CACF;AAMD,mFAAmF;AACnF,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAE/C,8CAA8C;AAC9C,eAAO,MAAM,aAAa,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAEvE,+CAA+C;AAC/C,eAAO,MAAM,cAAc,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAExE,wCAAwC;AACxC,eAAO,MAAM,QAAQ,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAElE,yCAAyC;AACzC,eAAO,MAAM,SAAS,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAEnE,6CAA6C;AAC7C,eAAO,MAAM,YAAY,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAEtE,+CAA+C;AAC/C,eAAO,MAAM,eAAe,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAEzE,wCAAwC;AACxC,eAAO,MAAM,QAAQ,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAElE,2CAA2C;AAC3C,eAAO,MAAM,WAAW,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAErE,uCAAuC;AACvC,eAAO,MAAM,OAAO,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAEjE,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,YACpB,MAAM,SACR,SAAS,YACN,mBAAmB,aAC+C,CAAC;AAE/E,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,YACpB,MAAM,SACR,SAAS,YACN,mBAAmB,aAC+C,CAAC;AAE/E,8CAA8C;AAC9C,eAAO,MAAM,aAAa,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAEvE,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,YACpB,MAAM,SACR,SAAS,YACN,mBAAmB,aAC+C,CAAC;AAE/E,6CAA6C;AAC7C,eAAO,MAAM,aAAa,YAAa,MAAM,SAAS,SAAS,YAAY,mBAAmB,aACxB,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,YAClB,MAAM,SACR,SAAS,YACN,mBAAmB,aAC6C,CAAC;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;iBA4BrB,CAAC;AAEJ;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAMxD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types-global/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,26 @@
|
|
|
6
6
|
* @module src/utils/formatting/partialResult
|
|
7
7
|
*/
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
+
/**
|
|
10
|
+
* The two output keys batch partial-success telemetry reads: the array of
|
|
11
|
+
* failed entries and the array of succeeded items.
|
|
12
|
+
*/
|
|
13
|
+
export interface PartialResultKeys {
|
|
14
|
+
failed: string;
|
|
15
|
+
succeeded: string;
|
|
16
|
+
}
|
|
17
|
+
/** The keys read when the output schema names no others: a `{ succeeded, failed }` envelope. */
|
|
18
|
+
export declare const DEFAULT_PARTIAL_RESULT_KEYS: Readonly<PartialResultKeys>;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the keys partial-success telemetry reads from a tool's output shape:
|
|
21
|
+
* the key of each array field {@link partialResultSchema} built, by role, with
|
|
22
|
+
* {@link DEFAULT_PARTIAL_RESULT_KEYS} filling any role no such field claims.
|
|
23
|
+
*
|
|
24
|
+
* Keyed on field instances, so a derivation that rebuilds a field — `.partial()`,
|
|
25
|
+
* `.required()`, re-describing the field itself — falls back to the default key
|
|
26
|
+
* for that role.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolvePartialResultKeys(shape: z.ZodRawShape): PartialResultKeys;
|
|
9
29
|
/**
|
|
10
30
|
* Builds a Zod schema for one entry in a partial-failure list.
|
|
11
31
|
*
|
|
@@ -56,6 +76,11 @@ export declare function failureEntrySchema<TIdKey extends string, TReason extend
|
|
|
56
76
|
* stable reason codes. Wraps `failureEntrySchema` so callers don't have to
|
|
57
77
|
* compose three things.
|
|
58
78
|
*
|
|
79
|
+
* Partial-success telemetry (`mcp.tool.partial_success`, `mcp.tool.batch.*`)
|
|
80
|
+
* reads the two arrays under `succeededKey` and `failedKey`, including after
|
|
81
|
+
* `.extend()`, `.pick()`, `.omit()`, or a `.shape` spread. See
|
|
82
|
+
* {@link resolvePartialResultKeys} for the derivations it does not follow.
|
|
83
|
+
*
|
|
59
84
|
* @example
|
|
60
85
|
* ```ts
|
|
61
86
|
* const ArticleSchema = z.object({ pmid: z.string(), title: z.string() });
|
|
@@ -69,8 +94,9 @@ export declare function failureEntrySchema<TIdKey extends string, TReason extend
|
|
|
69
94
|
* idKey: 'pmid',
|
|
70
95
|
* reason: z.enum(['not_found', 'withdrawn']),
|
|
71
96
|
* }),
|
|
72
|
-
* // → { articles: ArticleSchema[],
|
|
73
|
-
* // unavailable?: [{pmid, reason, detail?}]
|
|
97
|
+
* // → { articles: ArticleSchema[], totalSucceeded: number,
|
|
98
|
+
* // unavailable?: [{pmid, reason, detail?}] }
|
|
99
|
+
* // plus totalFailed?: number with includeTotalFailed: true
|
|
74
100
|
* });
|
|
75
101
|
* ```
|
|
76
102
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partialResult.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/partialResult.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE;IAC5F,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,kBAaS,CAAC;YACC,OAAO;YACP,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gFAKrC;AAED
|
|
1
|
+
{"version":3,"file":"partialResult.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/partialResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,42 @@
|
|
|
6
6
|
* @module src/utils/formatting/partialResult
|
|
7
7
|
*/
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
+
/** The keys read when the output schema names no others: a `{ succeeded, failed }` envelope. */
|
|
10
|
+
export const DEFAULT_PARTIAL_RESULT_KEYS = Object.freeze({
|
|
11
|
+
failed: 'failed',
|
|
12
|
+
succeeded: 'succeeded',
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* The role of each array field {@link partialResultSchema} builds, keyed on the
|
|
16
|
+
* field instance. `.extend()`, `.pick()`, `.omit()`, and a `.shape` spread all
|
|
17
|
+
* reuse field instances, so the role survives them; a side table rather than
|
|
18
|
+
* `.meta()` keeps the advertised JSON Schema unchanged.
|
|
19
|
+
*/
|
|
20
|
+
const partialResultFieldRoles = new WeakMap();
|
|
21
|
+
/**
|
|
22
|
+
* Resolves the keys partial-success telemetry reads from a tool's output shape:
|
|
23
|
+
* the key of each array field {@link partialResultSchema} built, by role, with
|
|
24
|
+
* {@link DEFAULT_PARTIAL_RESULT_KEYS} filling any role no such field claims.
|
|
25
|
+
*
|
|
26
|
+
* Keyed on field instances, so a derivation that rebuilds a field — `.partial()`,
|
|
27
|
+
* `.required()`, re-describing the field itself — falls back to the default key
|
|
28
|
+
* for that role.
|
|
29
|
+
*/
|
|
30
|
+
export function resolvePartialResultKeys(shape) {
|
|
31
|
+
let failed;
|
|
32
|
+
let succeeded;
|
|
33
|
+
for (const [key, field] of Object.entries(shape)) {
|
|
34
|
+
const role = partialResultFieldRoles.get(field);
|
|
35
|
+
if (role === 'failed')
|
|
36
|
+
failed ??= key;
|
|
37
|
+
else if (role === 'succeeded')
|
|
38
|
+
succeeded ??= key;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
failed: failed ?? DEFAULT_PARTIAL_RESULT_KEYS.failed,
|
|
42
|
+
succeeded: succeeded ?? DEFAULT_PARTIAL_RESULT_KEYS.succeeded,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
9
45
|
/**
|
|
10
46
|
* Builds a Zod schema for one entry in a partial-failure list.
|
|
11
47
|
*
|
|
@@ -57,6 +93,11 @@ export function failureEntrySchema(opts) {
|
|
|
57
93
|
* stable reason codes. Wraps `failureEntrySchema` so callers don't have to
|
|
58
94
|
* compose three things.
|
|
59
95
|
*
|
|
96
|
+
* Partial-success telemetry (`mcp.tool.partial_success`, `mcp.tool.batch.*`)
|
|
97
|
+
* reads the two arrays under `succeededKey` and `failedKey`, including after
|
|
98
|
+
* `.extend()`, `.pick()`, `.omit()`, or a `.shape` spread. See
|
|
99
|
+
* {@link resolvePartialResultKeys} for the derivations it does not follow.
|
|
100
|
+
*
|
|
60
101
|
* @example
|
|
61
102
|
* ```ts
|
|
62
103
|
* const ArticleSchema = z.object({ pmid: z.string(), title: z.string() });
|
|
@@ -70,8 +111,9 @@ export function failureEntrySchema(opts) {
|
|
|
70
111
|
* idKey: 'pmid',
|
|
71
112
|
* reason: z.enum(['not_found', 'withdrawn']),
|
|
72
113
|
* }),
|
|
73
|
-
* // → { articles: ArticleSchema[],
|
|
74
|
-
* // unavailable?: [{pmid, reason, detail?}]
|
|
114
|
+
* // → { articles: ArticleSchema[], totalSucceeded: number,
|
|
115
|
+
* // unavailable?: [{pmid, reason, detail?}] }
|
|
116
|
+
* // plus totalFailed?: number with includeTotalFailed: true
|
|
75
117
|
* });
|
|
76
118
|
* ```
|
|
77
119
|
*/
|
|
@@ -94,6 +136,8 @@ export function partialResultSchema(opts) {
|
|
|
94
136
|
.array(failureSchema)
|
|
95
137
|
.optional()
|
|
96
138
|
.describe(`Per-input explanations for inputs that could not be returned. Absent when nothing failed.`);
|
|
139
|
+
partialResultFieldRoles.set(succeededField, 'succeeded');
|
|
140
|
+
partialResultFieldRoles.set(failedField, 'failed');
|
|
97
141
|
const baseShape = {
|
|
98
142
|
[opts.succeededKey]: succeededField,
|
|
99
143
|
totalSucceeded: totalSucceededField,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"partialResult.js","sourceRoot":"","sources":["../../../src/utils/formatting/partialResult.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"partialResult.js","sourceRoot":"","sources":["../../../src/utils/formatting/partialResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ export declare class ErrorHandler {
|
|
|
50
50
|
* Resolution order:
|
|
51
51
|
* 1. `McpError` instances — returns `error.code` directly.
|
|
52
52
|
* 2. SDK `ConnectionClosed` rejections — mapped to `RequestCancelled`, ahead of the pattern ladder.
|
|
53
|
-
* 3. Standard JS error constructor names via `ERROR_TYPE_MAPPINGS` (e.g. `
|
|
53
|
+
* 3. Standard JS error constructor names via `ERROR_TYPE_MAPPINGS` (e.g. `SyntaxError` → `ValidationError`).
|
|
54
54
|
* 4. Provider-specific patterns (AWS, HTTP status codes, Supabase, OpenRouter) — checked before common patterns for specificity.
|
|
55
55
|
* 5. Common message/name patterns (auth, not-found, rate-limit, etc.).
|
|
56
56
|
* 6. `AbortError` name — mapped to `Timeout`.
|
|
@@ -80,7 +80,9 @@ export declare class ErrorHandler {
|
|
|
80
80
|
* 2. Sanitizes `options.input` via `sanitizeInputForLogging` before including in logs.
|
|
81
81
|
* 3. Extracts and consolidates error data, original stack, and the full cause chain.
|
|
82
82
|
* 4. Rebuilds the error as a new `McpError` carrying the consolidated data, preserving the
|
|
83
|
-
* classified code (or delegates to `options.errorMapper`).
|
|
83
|
+
* classified code (or delegates to `options.errorMapper`). That `data` is client-visible
|
|
84
|
+
* once the error is thrown toward a handler, so it carries no stack: `originalStack` and
|
|
85
|
+
* `causeChain` ride the log record only.
|
|
84
86
|
* 5. Logs the result via the global logger with full structured context — at `error` level,
|
|
85
87
|
* or at `info` without a stack for `RequestCancelled`, which is a routine caller disconnect.
|
|
86
88
|
* 6. Returns the processed error, or rethrows it if `options.rethrow` is `true`.
|
|
@@ -175,6 +177,10 @@ export declare class ErrorHandler {
|
|
|
175
177
|
* Use this in service code where you want structured logging and OTel integration without duplicating
|
|
176
178
|
* error-handling boilerplate.
|
|
177
179
|
*
|
|
180
|
+
* The thrown error's `data` reaches the client when a tool or resource handler lets it propagate,
|
|
181
|
+
* so it carries `originalErrorName`, `originalMessage`, `rootCause`, and `options.context`'s canonical
|
|
182
|
+
* fields and `extra`, but no stack; the throw-site stack and cause chain are logged.
|
|
183
|
+
*
|
|
178
184
|
* @template T The expected return type of `fn`.
|
|
179
185
|
* @param fn - The function to execute. May be synchronous or return a `Promise`.
|
|
180
186
|
* @param options - Error handling options passed to `handleError` (`rethrow` is always `true` and cannot be overridden).
|
|
@@ -1 +1 @@
|
|
|
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;AAiBxF,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
|
|
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;AAiBxF,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,OAAc,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,KAAK,CAsK7E;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;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;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"}
|
|
@@ -75,7 +75,7 @@ export class ErrorHandler {
|
|
|
75
75
|
* Resolution order:
|
|
76
76
|
* 1. `McpError` instances — returns `error.code` directly.
|
|
77
77
|
* 2. SDK `ConnectionClosed` rejections — mapped to `RequestCancelled`, ahead of the pattern ladder.
|
|
78
|
-
* 3. Standard JS error constructor names via `ERROR_TYPE_MAPPINGS` (e.g. `
|
|
78
|
+
* 3. Standard JS error constructor names via `ERROR_TYPE_MAPPINGS` (e.g. `SyntaxError` → `ValidationError`).
|
|
79
79
|
* 4. Provider-specific patterns (AWS, HTTP status codes, Supabase, OpenRouter) — checked before common patterns for specificity.
|
|
80
80
|
* 5. Common message/name patterns (auth, not-found, rate-limit, etc.).
|
|
81
81
|
* 6. `AbortError` name — mapped to `Timeout`.
|
|
@@ -146,7 +146,9 @@ export class ErrorHandler {
|
|
|
146
146
|
* 2. Sanitizes `options.input` via `sanitizeInputForLogging` before including in logs.
|
|
147
147
|
* 3. Extracts and consolidates error data, original stack, and the full cause chain.
|
|
148
148
|
* 4. Rebuilds the error as a new `McpError` carrying the consolidated data, preserving the
|
|
149
|
-
* classified code (or delegates to `options.errorMapper`).
|
|
149
|
+
* classified code (or delegates to `options.errorMapper`). That `data` is client-visible
|
|
150
|
+
* once the error is thrown toward a handler, so it carries no stack: `originalStack` and
|
|
151
|
+
* `causeChain` ride the log record only.
|
|
150
152
|
* 5. Logs the result via the global logger with full structured context — at `error` level,
|
|
151
153
|
* or at `info` without a stack for `RequestCancelled`, which is a routine caller disconnect.
|
|
152
154
|
* 6. Returns the processed error, or rethrows it if `options.rethrow` is `true`.
|
|
@@ -215,26 +217,26 @@ export class ErrorHandler {
|
|
|
215
217
|
originalErrorName,
|
|
216
218
|
originalMessage: originalErrorMessage,
|
|
217
219
|
};
|
|
220
|
+
/**
|
|
221
|
+
* Stack-bearing diagnostics go to the log record only, never into the
|
|
222
|
+
* returned error's `data`: `tryCatch` throws that error, and tools and
|
|
223
|
+
* resources forward an `McpError`'s `data` to the client verbatim (#519).
|
|
224
|
+
* A cancellation carries neither — its every node would hold a stack and
|
|
225
|
+
* invite triage to read a caller hanging up as a fault in this server.
|
|
226
|
+
*/
|
|
227
|
+
const diagnostics = {};
|
|
218
228
|
if (originalStack &&
|
|
219
229
|
!isCancellation &&
|
|
220
230
|
!(error instanceof McpError && error.data?.originalStack)) {
|
|
221
|
-
|
|
231
|
+
diagnostics.originalStack = originalStack;
|
|
222
232
|
}
|
|
223
233
|
const cause = error instanceof Error ? error : undefined;
|
|
224
|
-
// Extract cause chain only when the error actually has a cause — and never
|
|
225
|
-
// for a cancellation, whose every node would carry a stack and reintroduce
|
|
226
|
-
// the triage noise the `originalStack` gate above exists to keep out.
|
|
227
234
|
if (!isCancellation && error instanceof Error && error.cause) {
|
|
228
235
|
const causeChain = extractErrorCauseChain(error);
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
name: rootCause.name,
|
|
234
|
-
message: rootCause.message,
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
consolidatedData.causeChain = causeChain;
|
|
236
|
+
const rootCause = causeChain.at(-1);
|
|
237
|
+
if (rootCause) {
|
|
238
|
+
consolidatedData.rootCause = { name: rootCause.name, message: rootCause.message };
|
|
239
|
+
diagnostics.causeChain = causeChain;
|
|
238
240
|
}
|
|
239
241
|
}
|
|
240
242
|
const finalError = errorMapper
|
|
@@ -277,7 +279,12 @@ export class ErrorHandler {
|
|
|
277
279
|
errorCode: loggedErrorCode,
|
|
278
280
|
originalErrorType: originalErrorName,
|
|
279
281
|
finalErrorType: getErrorName(finalError),
|
|
280
|
-
errorData:
|
|
282
|
+
errorData: {
|
|
283
|
+
...(finalError instanceof McpError && finalError.data
|
|
284
|
+
? finalError.data
|
|
285
|
+
: consolidatedData),
|
|
286
|
+
...diagnostics,
|
|
287
|
+
},
|
|
281
288
|
...(includeStack && stack && !isCancellation ? { stack } : {}),
|
|
282
289
|
},
|
|
283
290
|
};
|
|
@@ -413,6 +420,10 @@ export class ErrorHandler {
|
|
|
413
420
|
* Use this in service code where you want structured logging and OTel integration without duplicating
|
|
414
421
|
* error-handling boilerplate.
|
|
415
422
|
*
|
|
423
|
+
* The thrown error's `data` reaches the client when a tool or resource handler lets it propagate,
|
|
424
|
+
* so it carries `originalErrorName`, `originalMessage`, `rootCause`, and `options.context`'s canonical
|
|
425
|
+
* fields and `extra`, but no stack; the throw-site stack and cause chain are logged.
|
|
426
|
+
*
|
|
416
427
|
* @template T The expected return type of `fn`.
|
|
417
428
|
* @param fn - The function to execute. May be synchronous or return a `Promise`.
|
|
418
429
|
* @param options - Error handling options passed to `handleError` (`rethrow` is always `true` and cannot be overridden).
|