@cyanheads/mcp-ts-core 0.9.13 → 0.9.14
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/CLAUDE.md +6 -3
- package/README.md +30 -41
- package/changelog/0.9.x/0.9.14.md +31 -0
- package/dist/core/context.d.ts +103 -14
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +66 -1
- 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/linter/rules/enrichment-rules.d.ts +32 -0
- package/dist/linter/rules/enrichment-rules.d.ts.map +1 -0
- package/dist/linter/rules/enrichment-rules.js +116 -0
- package/dist/linter/rules/enrichment-rules.js.map +1 -0
- package/dist/linter/rules/index.d.ts +1 -0
- package/dist/linter/rules/index.d.ts.map +1 -1
- package/dist/linter/rules/index.js +1 -0
- package/dist/linter/rules/index.js.map +1 -1
- package/dist/linter/rules/tool-rules.d.ts.map +1 -1
- package/dist/linter/rules/tool-rules.js +4 -0
- package/dist/linter/rules/tool-rules.js.map +1 -1
- package/dist/mcp-server/tools/tool-registration.d.ts.map +1 -1
- package/dist/mcp-server/tools/tool-registration.js +7 -7
- package/dist/mcp-server/tools/tool-registration.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts +41 -7
- package/dist/mcp-server/tools/utils/toolDefinition.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolDefinition.js.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts +23 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.d.ts.map +1 -1
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js +90 -9
- package/dist/mcp-server/tools/utils/toolHandlerFactory.js.map +1 -1
- package/dist/testing/index.d.ts +13 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +21 -1
- package/dist/testing/index.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 +10 -1
- package/dist/utils/internal/performance.js.map +1 -1
- package/dist/utils/telemetry/attributes.d.ts +2 -0
- package/dist/utils/telemetry/attributes.d.ts.map +1 -1
- package/dist/utils/telemetry/attributes.js +2 -0
- package/dist/utils/telemetry/attributes.js.map +1 -1
- package/package.json +1 -1
- package/skills/add-tool/SKILL.md +57 -32
- package/skills/api-context/SKILL.md +65 -2
- package/skills/api-linter/SKILL.md +48 -1
- package/skills/design-mcp-server/SKILL.md +2 -1
- package/skills/orchestrations/SKILL.md +9 -5
- package/skills/report-issue-framework/SKILL.md +8 -3
- package/skills/report-issue-local/SKILL.md +8 -3
- package/templates/src/mcp-server/tools/definitions/echo.tool.ts +10 -0
- package/dist/logs/combined.log +0 -4
- package/dist/logs/error.log +0 -2
- package/dist/logs/interactions.log +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolHandlerFactory.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAE,QAAQ,EAAoC,MAAM,KAAK,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"toolHandlerFactory.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/utils/toolHandlerFactory.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -98,6 +98,19 @@ export declare function createMockLogger(): MockContextLogger;
|
|
|
98
98
|
* ```
|
|
99
99
|
*/
|
|
100
100
|
export declare function createMockContext(options?: MockContextOptions): Context;
|
|
101
|
+
/**
|
|
102
|
+
* Reads the enrichment a handler accumulated via `ctx.enrich(...)` on a mock
|
|
103
|
+
* context, for assertions. Returns the merged field values (empty object when
|
|
104
|
+
* nothing was enriched).
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```ts
|
|
108
|
+
* const ctx = createMockContext();
|
|
109
|
+
* await search.handler(search.input.parse({ query: 'x' }), ctx);
|
|
110
|
+
* expect(getEnrichment(ctx)).toMatchObject({ effectiveQuery: 'x', totalCount: 0 });
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export declare function getEnrichment(ctx: Context): Record<string, unknown>;
|
|
101
114
|
/**
|
|
102
115
|
* Build a real `StorageService` backed by an in-memory provider, suitable for
|
|
103
116
|
* unit-testing services that accept a `StorageService` dependency.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAW,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,aAAa,EAGb,YAAY,EACb,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAW,CAAC,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,aAAa,EAGb,YAAY,EACb,MAAM,mBAAmB,CAAC;AAQ3B,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,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,gCAAgC;IAChC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACxF;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,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,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5F;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6DAA6D;IAC7D,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;AAwGD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAsC3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnE;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,cAAc,CAEvF"}
|
package/dist/testing/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `createInMemoryStorage()` for unit-testing services in isolation.
|
|
6
6
|
* @module src/testing/index
|
|
7
7
|
*/
|
|
8
|
-
import { attachTypedFail } from '../core/context.js';
|
|
8
|
+
import { attachTypedFail, createEnrich, createEnrichmentStore, readEnrichmentStore, stashEnrichmentStore, } from '../core/context.js';
|
|
9
9
|
import { StorageService } from '../storage/core/StorageService.js';
|
|
10
10
|
import { InMemoryProvider, } from '../storage/providers/inMemory/inMemoryProvider.js';
|
|
11
11
|
/**
|
|
@@ -157,6 +157,7 @@ export function createMockContext(options = {}) {
|
|
|
157
157
|
const log = createMockLogger();
|
|
158
158
|
const state = createMockState(options.tenantId);
|
|
159
159
|
const progress = options.progress ? createMockProgress() : undefined;
|
|
160
|
+
const enrichmentStore = createEnrichmentStore();
|
|
160
161
|
const ctx = {
|
|
161
162
|
requestId: options.requestId ?? 'test-request-id',
|
|
162
163
|
timestamp: new Date().toISOString(),
|
|
@@ -174,15 +175,34 @@ export function createMockContext(options = {}) {
|
|
|
174
175
|
notifyToolListChanged: options.notifyToolListChanged,
|
|
175
176
|
progress,
|
|
176
177
|
uri: options.uri,
|
|
178
|
+
enrich: createEnrich(enrichmentStore),
|
|
177
179
|
// No-op resolver for definitions without a contract. `attachTypedFail` below
|
|
178
180
|
// overwrites it with a contract-aware resolver when `options.errors` is set.
|
|
179
181
|
recoveryFor: () => ({}),
|
|
180
182
|
};
|
|
183
|
+
// Stash the enrichment store so `getEnrichment(ctx)` can read what a handler
|
|
184
|
+
// (or the service layer) accumulated via `ctx.enrich(...)` during the test.
|
|
185
|
+
stashEnrichmentStore(ctx, enrichmentStore);
|
|
181
186
|
// Mirror the production handler factory: when a contract is declared, attach
|
|
182
187
|
// a typed `fail` and `recoveryFor` keyed by the contract's reasons. Empty
|
|
183
188
|
// contracts leave the no-op resolver in place.
|
|
184
189
|
return attachTypedFail(ctx, options.errors);
|
|
185
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Reads the enrichment a handler accumulated via `ctx.enrich(...)` on a mock
|
|
193
|
+
* context, for assertions. Returns the merged field values (empty object when
|
|
194
|
+
* nothing was enriched).
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```ts
|
|
198
|
+
* const ctx = createMockContext();
|
|
199
|
+
* await search.handler(search.input.parse({ query: 'x' }), ctx);
|
|
200
|
+
* expect(getEnrichment(ctx)).toMatchObject({ effectiveQuery: 'x', totalCount: 0 });
|
|
201
|
+
* ```
|
|
202
|
+
*/
|
|
203
|
+
export function getEnrichment(ctx) {
|
|
204
|
+
return readEnrichmentStore(ctx)?.values ?? {};
|
|
205
|
+
}
|
|
186
206
|
// ---------------------------------------------------------------------------
|
|
187
207
|
// Storage helpers
|
|
188
208
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,11 +63,15 @@ export declare const nowMs: () => number;
|
|
|
63
63
|
* @param toolLogicFn - Zero-argument async function containing the tool's business logic.
|
|
64
64
|
* @param context - Request context extended with `toolName`; used for span/log correlation.
|
|
65
65
|
* @param inputPayload - The raw input object passed to the tool, serialized to compute byte size.
|
|
66
|
+
* @param successAttributes - Optional thunk evaluated after a successful run; its
|
|
67
|
+
* returned key/value map is set on the span as extra attributes. Lets callers
|
|
68
|
+
* attach post-hoc signals (e.g. `mcp.tool.enriched`) without coupling this
|
|
69
|
+
* function to their domain. Not called on the error path.
|
|
66
70
|
* @returns A promise that resolves with the tool's return value or rejects with the original error.
|
|
67
71
|
*/
|
|
68
72
|
export declare function measureToolExecution<T>(toolLogicFn: () => Promise<T>, context: RequestContext & {
|
|
69
73
|
toolName: string;
|
|
70
|
-
}, inputPayload: unknown): Promise<T>;
|
|
74
|
+
}, inputPayload: unknown, successAttributes?: () => Record<string, boolean | number | string>): Promise<T>;
|
|
71
75
|
/**
|
|
72
76
|
* Wraps a resource handler with observability: OTel span, metric counters/histogram,
|
|
73
77
|
* and a structured log. Mirrors {@link measureToolExecution} but tuned for resource reads.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAO3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AA8DzE,kGAAkG;AAClG,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAcD;;;;;;GAMG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,WAAW,EAAE,OAAO,oBAAoB,CAAC;CAC1C,CAAC,CAID;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,GAAE,OAAO,aAA6B,GAC/C,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,QAAO,MAA0B,CAAC;AAuFpD
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAO3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AA8DzE,kGAAkG;AAClG,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAcD;;;;;;GAMG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,WAAW,EAAE,OAAO,oBAAoB,CAAC;CAC1C,CAAC,CAID;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,GAAE,OAAO,aAA6B,GAC/C,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,QAAO,MAA0B,CAAC;AAuFpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC7B,OAAO,EAAE,cAAc,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,EAC9C,YAAY,EAAE,OAAO,EACrB,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,GAClE,OAAO,CAAC,CAAC,CAAC,CAwHZ;AAoCD;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,eAAe,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACjC,OAAO,EAAE,cAAc,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,EAClD,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,CAAC,CAAC,CA8EZ;AAkDD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,cAAc,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,EAChD,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,CAAC,CAAC,CA8FZ"}
|
|
@@ -203,9 +203,13 @@ const toBytes = (payload) => {
|
|
|
203
203
|
* @param toolLogicFn - Zero-argument async function containing the tool's business logic.
|
|
204
204
|
* @param context - Request context extended with `toolName`; used for span/log correlation.
|
|
205
205
|
* @param inputPayload - The raw input object passed to the tool, serialized to compute byte size.
|
|
206
|
+
* @param successAttributes - Optional thunk evaluated after a successful run; its
|
|
207
|
+
* returned key/value map is set on the span as extra attributes. Lets callers
|
|
208
|
+
* attach post-hoc signals (e.g. `mcp.tool.enriched`) without coupling this
|
|
209
|
+
* function to their domain. Not called on the error path.
|
|
206
210
|
* @returns A promise that resolves with the tool's return value or rejects with the original error.
|
|
207
211
|
*/
|
|
208
|
-
export async function measureToolExecution(toolLogicFn, context, inputPayload) {
|
|
212
|
+
export async function measureToolExecution(toolLogicFn, context, inputPayload, successAttributes) {
|
|
209
213
|
const tracer = trace.getTracer(config.openTelemetry.serviceName, config.openTelemetry.serviceVersion);
|
|
210
214
|
const { toolName } = context;
|
|
211
215
|
return await tracer.startActiveSpan(`tool_execution:${toolName}`, async (span) => {
|
|
@@ -249,6 +253,11 @@ export async function measureToolExecution(toolLogicFn, context, inputPayload) {
|
|
|
249
253
|
if (batchSucceeded !== undefined)
|
|
250
254
|
span.setAttribute(ATTR_MCP_TOOL_BATCH_SUCCEEDED, batchSucceeded);
|
|
251
255
|
}
|
|
256
|
+
if (successAttributes) {
|
|
257
|
+
for (const [key, value] of Object.entries(successAttributes())) {
|
|
258
|
+
span.setAttribute(key, value);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
252
261
|
return result;
|
|
253
262
|
}
|
|
254
263
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/utils/internal/performance.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ export declare const ATTR_MCP_TOOL_ERROR_CODE = "mcp.tool.error_code";
|
|
|
31
31
|
export declare const ATTR_MCP_TOOL_ERROR_CATEGORY = "mcp.tool.error_category";
|
|
32
32
|
/** Whether the tool returned a result containing partial failures (non-empty `failed` array). */
|
|
33
33
|
export declare const ATTR_MCP_TOOL_PARTIAL_SUCCESS = "mcp.tool.partial_success";
|
|
34
|
+
/** Whether the tool populated agent-facing enrichment (`ctx.enrich`) on this call. */
|
|
35
|
+
export declare const ATTR_MCP_TOOL_ENRICHED = "mcp.tool.enriched";
|
|
34
36
|
/** Number of items in the `succeeded` array of a batch tool result. */
|
|
35
37
|
export declare const ATTR_MCP_TOOL_BATCH_SUCCEEDED = "mcp.tool.batch.succeeded_count";
|
|
36
38
|
/** Number of items in the `failed` array of a batch tool result. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/utils/telemetry/attributes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/utils/telemetry/attributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ export const ATTR_MCP_TOOL_ERROR_CODE = 'mcp.tool.error_code';
|
|
|
37
37
|
export const ATTR_MCP_TOOL_ERROR_CATEGORY = 'mcp.tool.error_category';
|
|
38
38
|
/** Whether the tool returned a result containing partial failures (non-empty `failed` array). */
|
|
39
39
|
export const ATTR_MCP_TOOL_PARTIAL_SUCCESS = 'mcp.tool.partial_success';
|
|
40
|
+
/** Whether the tool populated agent-facing enrichment (`ctx.enrich`) on this call. */
|
|
41
|
+
export const ATTR_MCP_TOOL_ENRICHED = 'mcp.tool.enriched';
|
|
40
42
|
/** Number of items in the `succeeded` array of a batch tool result. */
|
|
41
43
|
export const ATTR_MCP_TOOL_BATCH_SUCCEEDED = 'mcp.tool.batch.succeeded_count';
|
|
42
44
|
/** Number of items in the `failed` array of a batch tool result. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/utils/telemetry/attributes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/utils/telemetry/attributes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/mcp-ts-core",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.14",
|
|
4
4
|
"mcpName": "io.github.cyanheads/mcp-ts-core",
|
|
5
5
|
"description": "Agent-native TypeScript framework for building MCP servers. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Bun/Node/Cloudflare Workers.",
|
|
6
6
|
"main": "dist/core/index.js",
|
package/skills/add-tool/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: >
|
|
|
4
4
|
Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
|
|
5
5
|
metadata:
|
|
6
6
|
author: cyanheads
|
|
7
|
-
version: "2.
|
|
7
|
+
version: "2.10"
|
|
8
8
|
audience: external
|
|
9
9
|
type: reference
|
|
10
10
|
---
|
|
@@ -56,6 +56,15 @@ export const {{TOOL_EXPORT}} = tool('{{tool_name}}', {
|
|
|
56
56
|
output: z.object({
|
|
57
57
|
// All fields need .describe(). Only JSON-Schema-serializable Zod types allowed.
|
|
58
58
|
}),
|
|
59
|
+
// Agent-facing context on the success path — empty-result notices, the query as
|
|
60
|
+
// the server parsed it, pagination totals. The counterpart to errors[]: merged
|
|
61
|
+
// into structuredContent AND mirrored into content[] automatically (no format()
|
|
62
|
+
// entry needed, never touched by format-parity). Populate via ctx.enrich(...) in
|
|
63
|
+
// the handler or service layer. Keys must be disjoint from output. Delete if unused.
|
|
64
|
+
enrichment: {
|
|
65
|
+
effectiveQuery: z.string().describe('The query as the server parsed it.'),
|
|
66
|
+
totalCount: z.number().describe('Total matches before any limit was applied.'),
|
|
67
|
+
},
|
|
59
68
|
// auth: ['tool:{{tool_name}}:read'],
|
|
60
69
|
|
|
61
70
|
// Each entry declares a domain-specific failure mode and types
|
|
@@ -75,9 +84,6 @@ export const {{TOOL_EXPORT}} = tool('{{tool_name}}', {
|
|
|
75
84
|
// single source of truth for what flows to the wire — opt in at the throw
|
|
76
85
|
// site by spreading `ctx.recoveryFor('reason')` into the `data` arg.
|
|
77
86
|
errors: [
|
|
78
|
-
{ reason: 'no_match', code: JsonRpcErrorCode.NotFound,
|
|
79
|
-
when: 'No items matched the query.',
|
|
80
|
-
recovery: 'Broaden the query or check the spelling and try again.' },
|
|
81
87
|
{ reason: 'queue_full', code: JsonRpcErrorCode.RateLimited,
|
|
82
88
|
when: 'Local queue at capacity.', retryable: true,
|
|
83
89
|
recovery: 'Wait a few seconds before retrying or reduce batch size.' },
|
|
@@ -89,18 +95,20 @@ export const {{TOOL_EXPORT}} = tool('{{tool_name}}', {
|
|
|
89
95
|
// With an `errors[]` contract: `throw ctx.fail('reason_id', message?, data?)`.
|
|
90
96
|
// Without: throw via factories (`notFound`, `validationError`, …) or plain `Error`.
|
|
91
97
|
const items = await search(input);
|
|
92
|
-
if (items.length === 0) {
|
|
93
|
-
// Dynamic recovery — interpolate runtime context, override the contract default.
|
|
94
|
-
throw ctx.fail('no_match', `No items matched "${input.query}"`, {
|
|
95
|
-
recovery: { hint: `Try a broader query than "${input.query}", or check the spelling.` },
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
98
|
if (queue.full()) {
|
|
99
99
|
// Static recovery — resolve from the contract via ctx.recoveryFor('reason').
|
|
100
100
|
// Single source of truth: the string lives in errors[] above; this spread
|
|
101
101
|
// pulls it onto the wire so format()-only clients see the recovery hint.
|
|
102
102
|
throw ctx.fail('queue_full', undefined, { ...ctx.recoveryFor('queue_full') });
|
|
103
103
|
}
|
|
104
|
+
// Surface what the agent reasons with — echoed query, true total — on BOTH
|
|
105
|
+
// client surfaces, with no format() plumbing. An empty result is a notice,
|
|
106
|
+
// not a throw: reserve ctx.fail for genuine failures (queue full, upstream down).
|
|
107
|
+
ctx.enrich.echo(input.query);
|
|
108
|
+
ctx.enrich.total(items.length);
|
|
109
|
+
if (items.length === 0) {
|
|
110
|
+
ctx.enrich.notice(`No items matched "${input.query}". Try broader terms or check the spelling.`);
|
|
111
|
+
}
|
|
104
112
|
return { items };
|
|
105
113
|
},
|
|
106
114
|
|
|
@@ -206,6 +214,29 @@ The wrapper composes with both standard and task tools, and preserves all origin
|
|
|
206
214
|
|
|
207
215
|
Tool responses are the LLM's only window into what happened. Every response should leave the agent informed about outcome, current state, and what to do next. This applies to success, partial success, empty results, and errors alike.
|
|
208
216
|
|
|
217
|
+
### Agent-facing context belongs in `enrichment`
|
|
218
|
+
|
|
219
|
+
Empty-result notices, the query/filter as the server parsed it, pagination totals — the context an agent *reasons with*, as opposed to the domain payload itself — must reach **both** client surfaces: `structuredContent` (from `output`) and `content[]` (from `format()`). Hand-authored into `format()` text alone, this context reaches `content[]` but is invisible to `structuredContent`-only clients (Claude Code, MCP-SDK API callers).
|
|
220
|
+
|
|
221
|
+
Declare it as an `enrichment` block — the success-path counterpart to `errors[]` — and populate it via `ctx.enrich(...)` (or the kind-tagged helpers `ctx.enrich.notice()` / `.total()` / `.echo()`). The framework merges enrichment into `structuredContent`, advertises `output.extend(enrichment)` as the tool's `outputSchema`, and mirrors it into a `content[]` trailer — both surfaces, no `format()` entry, never touched by `format-parity`. `ctx.enrich` lives on the base `Context` (like `ctx.log`), so the service layer can populate it too.
|
|
222
|
+
|
|
223
|
+
```typescript
|
|
224
|
+
enrichment: {
|
|
225
|
+
effectiveQuery: z.string().describe('The query as the server parsed it.'),
|
|
226
|
+
totalCount: z.number().describe('Total matches before the limit.'),
|
|
227
|
+
notice: z.string().optional().describe('Guidance when nothing matched.'),
|
|
228
|
+
},
|
|
229
|
+
async handler(input, ctx) {
|
|
230
|
+
const res = await search(input.query, input.limit);
|
|
231
|
+
ctx.enrich.echo(res.parsed); // → structuredContent.effectiveQuery + "Query: …" trailer
|
|
232
|
+
ctx.enrich.total(res.total); // → structuredContent.totalCount + "N total" trailer
|
|
233
|
+
if (res.items.length === 0) ctx.enrich.notice(`No matches for "${input.query}".`);
|
|
234
|
+
return { items: res.items }; // enrichment never rides in the domain return
|
|
235
|
+
},
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
A *required* enrichment field the handler never populates fails the effective-output parse — surfacing the bug rather than dropping it silently. Enrichment keys must be disjoint from `output` keys (lint-enforced). The sections below are applications of this rule.
|
|
239
|
+
|
|
209
240
|
### Communicate filtering and exclusions
|
|
210
241
|
|
|
211
242
|
If the tool omitted, truncated, or filtered anything, say what and how to get it back. Silent omission is invisible to the agent — it can't act on what it doesn't know about.
|
|
@@ -258,40 +289,31 @@ Single-item tools don't need this — they either succeed or throw. The partial
|
|
|
258
289
|
|
|
259
290
|
### Empty results need context
|
|
260
291
|
|
|
261
|
-
An empty array with no explanation is a dead end. Echo back the criteria that produced zero results and
|
|
292
|
+
An empty array with no explanation is a dead end. Echo back the criteria that produced zero results and suggest how to broaden. This is the canonical `enrichment` case — a notice is agent-facing context, not domain payload, and an empty result is a notice, **not** a throw:
|
|
262
293
|
|
|
263
294
|
```typescript
|
|
264
|
-
// 1.
|
|
265
|
-
output
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
}),
|
|
295
|
+
// 1. Declare the notice as enrichment — reaches structuredContent AND content[],
|
|
296
|
+
// no output field, no format() entry, no format-parity concern.
|
|
297
|
+
enrichment: {
|
|
298
|
+
notice: z.string().optional()
|
|
299
|
+
.describe('Recovery hint when results are empty — echoes filters and suggests how to broaden.'),
|
|
300
|
+
},
|
|
271
301
|
|
|
272
|
-
// 2. Handler — populate
|
|
302
|
+
// 2. Handler — populate via ctx.enrich.notice() when the result is empty.
|
|
273
303
|
async handler(input, ctx) {
|
|
274
304
|
const results = await search(input);
|
|
275
305
|
if (results.length === 0) {
|
|
276
|
-
|
|
277
|
-
items
|
|
278
|
-
totalCount: 0,
|
|
279
|
-
message: `No items matched status="${input.status}" in project "${input.project}". `
|
|
306
|
+
ctx.enrich.notice(
|
|
307
|
+
`No items matched status="${input.status}" in project "${input.project}". `
|
|
280
308
|
+ `Try a broader status filter or verify the project name.`,
|
|
281
|
-
|
|
309
|
+
);
|
|
282
310
|
}
|
|
283
311
|
return { items: results, totalCount: results.length };
|
|
284
312
|
},
|
|
285
|
-
|
|
286
|
-
// 3. format() — render the recovery hint so content[]-only clients see it too
|
|
287
|
-
format: (result) => {
|
|
288
|
-
const lines = [`**Total:** ${result.totalCount}`];
|
|
289
|
-
if (result.message) lines.push(`\n> ${result.message}`);
|
|
290
|
-
for (const item of result.items) lines.push(`- ${item.name}`);
|
|
291
|
-
return [{ type: 'text', text: lines.join('\n') }];
|
|
292
|
-
},
|
|
293
313
|
```
|
|
294
314
|
|
|
315
|
+
The notice lands in `structuredContent.notice` and renders as a `content[]` blockquote automatically — both surfaces, zero `format()` plumbing.
|
|
316
|
+
|
|
295
317
|
### Mutator response design
|
|
296
318
|
|
|
297
319
|
Mutators (write/update/delete/append/patch verbs, or `destructiveHint: true`) surface raw pre- and post-mutation observable state — not a synthetic verdict. The server can detect anomalies but can't classify them as problems; only the agent knows whether `file shrunk` is intentional truncation or a bug.
|
|
@@ -470,6 +492,8 @@ throw invalidParams(
|
|
|
470
492
|
|
|
471
493
|
Counts, applied filters, truncation notices, and chaining IDs help the agent decide its next action without extra round trips.
|
|
472
494
|
|
|
495
|
+
Counts, applied-filter summaries, and query echo that describe the *result set* (rather than being the result) are textbook `enrichment` — `ctx.enrich.total(n)`, `ctx.enrich.echo(parsedQuery)`, or `ctx.enrich({ appliedFilters })` put them on both client surfaces with no `format()` entry. Reserve domain `output` for the payload itself and post-action state (e.g. `currentStatus` after a write), as below:
|
|
496
|
+
|
|
473
497
|
```typescript
|
|
474
498
|
return {
|
|
475
499
|
commits: formattedCommits,
|
|
@@ -538,6 +562,7 @@ Large payloads burn the agent's context window. Default to curated summaries; of
|
|
|
538
562
|
- [ ] No `console` calls — use `ctx.log` for handler logging
|
|
539
563
|
- [ ] `handler(input, ctx)` is pure — throws on failure, no try/catch (exception: batch tools with per-item isolation use try/catch inside the loop — that's intentional, don't remove it)
|
|
540
564
|
- [ ] `format()` renders every field in the output schema — enforced at lint time via sentinel injection, startup fails with `format-parity` errors otherwise. Different clients forward different surfaces (Claude Code → `structuredContent`, Claude Desktop → `content[]`); both must carry the same data. Primary fix: render the missing field in `format()` (use `z.discriminatedUnion` for list/detail variants). Escape hatch: if the output schema was over-typed for a genuinely dynamic upstream API, relax it (`z.object({}).passthrough()`) rather than maintaining aspirational typing
|
|
565
|
+
- [ ] Agent-facing context (empty-result notices, query/filter echo, pagination totals) declared in an `enrichment` block and populated via `ctx.enrich(...)` — reaches both `structuredContent` and `content[]` automatically, not authored solely in `format()` text. Enrichment keys disjoint from `output` keys
|
|
541
566
|
- [ ] If wrapping external API: output schema and `format()` preserve uncertainty from sparse upstream payloads instead of inventing concrete values
|
|
542
567
|
- [ ] `auth` scopes declared if the tool needs authorization
|
|
543
568
|
- [ ] `errors: [...]` contract declared for the tool's domain-specific failure modes — or block deleted if no domain failures apply (baseline codes bubble freely)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: api-context
|
|
3
3
|
description: >
|
|
4
|
-
Canonical reference for the unified `Context` object passed to every tool and resource handler in `@cyanheads/mcp-ts-core`. Covers the full interface, all sub-APIs (`ctx.log`, `ctx.state`, `ctx.elicit`, `ctx.sample`, `ctx.progress`), and when to use each.
|
|
4
|
+
Canonical reference for the unified `Context` object passed to every tool and resource handler in `@cyanheads/mcp-ts-core`. Covers the full interface, all sub-APIs (`ctx.log`, `ctx.state`, `ctx.elicit`, `ctx.sample`, `ctx.progress`, `ctx.enrich`), and when to use each.
|
|
5
5
|
metadata:
|
|
6
6
|
author: cyanheads
|
|
7
|
-
version: "1.
|
|
7
|
+
version: "1.4"
|
|
8
8
|
audience: external
|
|
9
9
|
type: reference
|
|
10
10
|
---
|
|
@@ -57,6 +57,12 @@ interface Context {
|
|
|
57
57
|
// Raw URI — present only for resource handlers
|
|
58
58
|
readonly uri?: URL;
|
|
59
59
|
|
|
60
|
+
// Agent-facing success-path enrichment — accumulates notices, query echo, totals
|
|
61
|
+
// onto the request; reaches structuredContent + content[]. Always present (no-op
|
|
62
|
+
// when no `enrichment` block), strictly typed on HandlerContext<R, E> against the
|
|
63
|
+
// declared fields. Kind-tagged helpers: enrich.notice / .total / .echo.
|
|
64
|
+
readonly enrich: Enrich;
|
|
65
|
+
|
|
60
66
|
// Opt-in contract resolver — always present (returns {} when no contract is attached
|
|
61
67
|
// or the reason is unknown), strictly typed on HandlerContext<R> against declared reasons.
|
|
62
68
|
recoveryFor(reason: string): { recovery: { hint: string } } | {};
|
|
@@ -520,6 +526,62 @@ The `≥5 words` lint rule on contract `recovery` (validated at lint time) makes
|
|
|
520
526
|
|
|
521
527
|
---
|
|
522
528
|
|
|
529
|
+
## `ctx.enrich`
|
|
530
|
+
|
|
531
|
+
Always present on `Context`. Accumulates agent-facing **success-path** context — empty-result notices, the query/filter as the server parsed it, pagination totals — onto the request. The framework merges it into `structuredContent`, advertises `output.extend(enrichment)` as the tool's `outputSchema`, and mirrors it into a `content[]` trailer. The success-path counterpart to `ctx.fail` / `ctx.recoveryFor`.
|
|
532
|
+
|
|
533
|
+
```ts
|
|
534
|
+
export const search = tool('search', {
|
|
535
|
+
description: 'Search the catalog.',
|
|
536
|
+
input: z.object({ query: z.string().describe('Search terms') }),
|
|
537
|
+
output: z.object({ items: z.array(z.string()).describe('Matching items') }),
|
|
538
|
+
enrichment: {
|
|
539
|
+
effectiveQuery: z.string().describe('Query as the server parsed it'),
|
|
540
|
+
totalCount: z.number().describe('Total matches before the limit'),
|
|
541
|
+
notice: z.string().optional().describe('Guidance when nothing matched'),
|
|
542
|
+
},
|
|
543
|
+
async handler(input, ctx) {
|
|
544
|
+
const res = await runSearch(input.query);
|
|
545
|
+
ctx.enrich.echo(res.parsed); // → effectiveQuery + "Query: …" trailer
|
|
546
|
+
ctx.enrich.total(res.total); // → totalCount + "N total" trailer
|
|
547
|
+
if (res.items.length === 0) ctx.enrich.notice(`No matches for "${input.query}".`);
|
|
548
|
+
return { items: res.items }; // enrichment never rides in the domain return
|
|
549
|
+
},
|
|
550
|
+
});
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
### Signature
|
|
554
|
+
|
|
555
|
+
```ts
|
|
556
|
+
// Loose (always present on Context — works without a block; service-callable):
|
|
557
|
+
ctx.enrich(fields: Record<string, unknown>): void
|
|
558
|
+
|
|
559
|
+
// Strict (HandlerContext<R, E> when the definition declares an enrichment block):
|
|
560
|
+
ctx.enrich(fields: Partial<z.infer<ZodObject<E>>>): void
|
|
561
|
+
|
|
562
|
+
// Kind-tagged field-helpers (always present) — write a conventional key and tag
|
|
563
|
+
// the content[] trailer rendering:
|
|
564
|
+
ctx.enrich.notice(text: string): void // writes `notice` → blockquote
|
|
565
|
+
ctx.enrich.total(count: number): void // writes `totalCount` → "N total"
|
|
566
|
+
ctx.enrich.echo(query: string): void // writes `effectiveQuery` → "Query: …"
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
### Behavior
|
|
570
|
+
|
|
571
|
+
| Aspect | Detail |
|
|
572
|
+
|:-------|:-------|
|
|
573
|
+
| Accumulation | Each call merges its fields onto the request; later calls override earlier keys. |
|
|
574
|
+
| Both surfaces | Merged into `structuredContent` (validated against `output.extend(enrichment)`) and appended to `content[]` as a trailer — even when the tool defines no `format()`. |
|
|
575
|
+
| Domain payload untouched | `content[]` renders the handler's return via `format()` (or the JSON default); enrichment is a separate trailer, never double-rendered. The handler return must NOT carry enrichment fields. |
|
|
576
|
+
| Required-field guard | A required enrichment field never populated fails the effective-output parse — the bug surfaces loudly rather than dropping silently. |
|
|
577
|
+
| No block | Calling `ctx.enrich` on a tool that declared no `enrichment` is a silent no-op (values are stripped by the parse) — the price of service-layer callability. |
|
|
578
|
+
| Service usage | Services accepting `ctx: Context` can call `ctx.enrich(...)`; the value reaches `structuredContent` exactly as if the handler had. |
|
|
579
|
+
| `format-parity` | Enrichment lives outside `output`, so the `format-parity` lint never requires it in `format()`. |
|
|
580
|
+
|
|
581
|
+
See `add-tool`'s **Tool Response Design** and `skills/api-linter` (`enrichment-*` rules) for the full pattern. Test enrichment with `getEnrichment(ctx)` from `@cyanheads/mcp-ts-core/testing`.
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
523
585
|
## Quick reference
|
|
524
586
|
|
|
525
587
|
| Property | Type | Present when |
|
|
@@ -534,6 +596,7 @@ The `≥5 words` lint rule on contract `recovery` (validated at lint time) makes
|
|
|
534
596
|
| `ctx.log` | `ContextLogger` | Always |
|
|
535
597
|
| `ctx.state` | `ContextState` | Always (throws if `tenantId` missing) |
|
|
536
598
|
| `ctx.signal` | `AbortSignal` | Always |
|
|
599
|
+
| `ctx.enrich` | `Enrich` | Always; typed on `HandlerContext<R, E>` when an `enrichment` block is declared |
|
|
537
600
|
| `ctx.elicit` | `function \| undefined` | Client supports elicitation |
|
|
538
601
|
| `ctx.sample` | `function \| undefined` | Client supports sampling |
|
|
539
602
|
| `ctx.notifyResourceListChanged` | `function \| undefined` | Transport supports resource notifications |
|