stitchkit 0.41.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/contract/errors-factory.d.ts +88 -15
  3. package/dist/contract/errors-factory.d.ts.map +1 -1
  4. package/dist/contract/errors.d.ts +4 -4
  5. package/dist/contract/errors.d.ts.map +1 -1
  6. package/dist/contract/index.d.ts +1 -1
  7. package/dist/contract/index.d.ts.map +1 -1
  8. package/dist/contract/index.js +2 -2
  9. package/dist/{index-xax049k6.js → index-11x5dts2.js} +44 -13
  10. package/dist/{index-4e1c0hsw.js → index-181aebw8.js} +1 -1
  11. package/dist/{index-dnkefke9.js → index-310bfer5.js} +1 -1
  12. package/dist/{index-sc67e454.js → index-gex6gxhe.js} +7 -4
  13. package/dist/{index-ncqqn1bc.js → index-p9vkwns1.js} +2 -2
  14. package/dist/{index-809wc1tt.js → index-s4qsmgwe.js} +4 -1
  15. package/dist/index.js +2 -2
  16. package/dist/internal/typed.d.ts +8 -0
  17. package/dist/internal/typed.d.ts.map +1 -1
  18. package/dist/node.js +2 -2
  19. package/dist/observability/index.js +1 -1
  20. package/dist/react.js +1 -1
  21. package/dist/server/error-hook.d.ts +8 -4
  22. package/dist/server/error-hook.d.ts.map +1 -1
  23. package/dist/server/index.js +7 -6
  24. package/dist/tools/agent.d.ts +1 -1
  25. package/dist/tools/agent.d.ts.map +1 -1
  26. package/dist/tools/list-names.d.ts +8 -6
  27. package/dist/tools/list-names.d.ts.map +1 -1
  28. package/dist/tools/manifest.d.ts +13 -5
  29. package/dist/tools/manifest.d.ts.map +1 -1
  30. package/dist/tools/mcp-handler.d.ts +5 -4
  31. package/dist/tools/mcp-handler.d.ts.map +1 -1
  32. package/dist/tools/mcp-stdio.d.ts +3 -2
  33. package/dist/tools/mcp-stdio.d.ts.map +1 -1
  34. package/dist/tools/mcp.d.ts +49 -9
  35. package/dist/tools/mcp.d.ts.map +1 -1
  36. package/dist/tools/native-mcp.d.ts +4 -18
  37. package/dist/tools/native-mcp.d.ts.map +1 -1
  38. package/dist/tools/runtime-tool.d.ts +1 -1
  39. package/dist/tools/runtime-tool.d.ts.map +1 -1
  40. package/dist/tools/surface.d.ts +37 -0
  41. package/dist/tools/surface.d.ts.map +1 -0
  42. package/dist/tools/toolkit.d.ts +4 -4
  43. package/dist/tools/toolkit.d.ts.map +1 -1
  44. package/dist/tools/transports.d.ts +11 -9
  45. package/dist/tools/transports.d.ts.map +1 -1
  46. package/dist/tools/view-file.d.ts +3 -3
  47. package/dist/tools.d.ts +5 -5
  48. package/dist/tools.d.ts.map +1 -1
  49. package/dist/tools.js +292 -155
  50. package/llms-full.txt +264 -47
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/tools/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,iBAAiB,EAAE,CAM7E"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/tools/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE3E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,0EAA0E;IAC1E,SAAS,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,CAWjF"}
@@ -1,6 +1,6 @@
1
- import { type McpServerBuildConfig } from './mcp';
1
+ import { type McpServerBuildConfig, type McpSurfaceRegistry } from './mcp';
2
2
  import { type ProtectedResourceConfig } from './oauth-metadata';
3
- export interface McpHandlerConfig<TAuth> extends McpServerBuildConfig<TAuth> {
3
+ export interface McpHttpConfig<TAuth> {
4
4
  /** Resolve an incoming request to an identity. Return `null` → 401. */
5
5
  auth: (req: Request) => TAuth | null | Promise<TAuth | null>;
6
6
  /**
@@ -14,6 +14,7 @@ export interface McpHandlerConfig<TAuth> extends McpServerBuildConfig<TAuth> {
14
14
  * for cross-request progress, server push or resumable SSE sessions. */
15
15
  sessionMode?: McpSessionMode;
16
16
  }
17
+ export type McpHandlerConfig<TAuth, TSurfaces extends McpSurfaceRegistry = McpSurfaceRegistry> = McpServerBuildConfig<TAuth, TSurfaces> & McpHttpConfig<TAuth>;
17
18
  export type McpSessionMode = 'stateful' | 'stateless';
18
19
  /**
19
20
  * Build a Streamable-HTTP MCP request handler (`Request → Response`).
@@ -22,12 +23,12 @@ export type McpSessionMode = 'stateful' | 'stateless';
22
23
  * mode, the SSE event/session stores — so the consuming app never imports the
23
24
  * SDK itself. The app only declares WHAT to expose:
24
25
  * how to authenticate and which contract services. MCP tools come from
25
- * contracts; native multimodal tools attach via `nativeTools`.
26
+ * contracts; multimodal operations are declared as framework `runtimeTools`.
26
27
  *
27
28
  * The server itself is built by the transport-neutral `buildMcpServer` — the
28
29
  * same core used by `createStdioMcpServer`.
29
30
  *
30
31
  * Mount the returned handler in your server's fetch router (e.g. under `/mcp`).
31
32
  */
32
- export declare function createMcpHandler<TAuth>(config: McpHandlerConfig<TAuth>): (req: Request) => Promise<Response>;
33
+ export declare function createMcpHandler<TAuth, const TSurfaces extends McpSurfaceRegistry = McpSurfaceRegistry>(config: McpHandlerConfig<TAuth, TSurfaces>): (req: Request) => Promise<Response>;
33
34
  //# sourceMappingURL=mcp-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handler.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-handler.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,oBAAoB,EAE1B,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,kBAAkB,CAAC;AAqEvF,MAAM,WAAW,gBAAgB,CAAC,KAAK,CAAE,SAAQ,oBAAoB,CAAC,KAAK,CAAC;IAC1E,uEAAuE;IACvE,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC7D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;6EACyE;IACzE,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;AAoBtD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EACpC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC9B,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA2HrC"}
1
+ {"version":3,"file":"mcp-handler.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-handler.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAExB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,uBAAuB,EAAyB,MAAM,kBAAkB,CAAC;AAqEvF,MAAM,WAAW,aAAa,CAAC,KAAK;IAClC,uEAAuE;IACvE,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC7D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;6EACyE;IACzE,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,CAC1B,KAAK,EACL,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,IACvD,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAElE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;AAoBtD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EACL,KAAK,CAAC,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,EAC/D,MAAM,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAyJjF"}
@@ -1,14 +1,15 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { type McpServerBuildConfig } from './mcp';
2
+ import { type McpServerBuildConfig, type McpSurfaceRegistry } from './mcp';
3
3
  /**
4
4
  * Config for a stdio MCP server. Unlike the HTTP handler, a stdio server is a
5
5
  * single process serving one client — identity is resolved ONCE at startup
6
6
  * (from an env var / CLI arg), not per request.
7
7
  */
8
- export interface StdioMcpServerConfig<TAuth> extends McpServerBuildConfig<TAuth> {
8
+ export interface StdioAuthConfig<TAuth> {
9
9
  /** Identity for the single stdio session — a value or a promise of one. */
10
10
  auth: TAuth | Promise<TAuth>;
11
11
  }
12
+ export type StdioMcpServerConfig<TAuth, TSurfaces extends McpSurfaceRegistry = McpSurfaceRegistry> = McpServerBuildConfig<TAuth, TSurfaces> & StdioAuthConfig<TAuth>;
12
13
  /**
13
14
  * Build an MCP server and connect it over stdio — the server runs as a
14
15
  * subprocess of the MCP client, on the client's machine, so it can reach the
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-stdio.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-stdio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,KAAK,CAAE,SAAQ,oBAAoB,CAAC,KAAK,CAAC;IAC9E,2EAA2E;IAC3E,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAC9C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,SAAS,CAAC,CAKpB"}
1
+ {"version":3,"file":"mcp-stdio.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-stdio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAkB,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAE3F;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,2EAA2E;IAC3E,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,oBAAoB,CAC9B,KAAK,EACL,SAAS,SAAS,kBAAkB,GAAG,kBAAkB,IACvD,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAEpE;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAC9C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,SAAS,CAAC,CAKpB"}
@@ -5,7 +5,8 @@ import { type ErrorHintFn, type ToolCallHooks, type ToolLifecycle } from './exec
5
5
  import type { ToolPresentationSchema } from './flatten';
6
6
  import { type McpResourceDef } from './mcp-app';
7
7
  import { type MountableTool, type ToolExtend } from './mount';
8
- import { type NativeMcpRegistrar } from './native-mcp';
8
+ import type { RuntimeToolDefinition } from './runtime-tool';
9
+ import { type ToolSurfaceDefinition } from './surface';
9
10
  /**
10
11
  * What to do when a tool's schema cannot be advertised on the MCP surface — a
11
12
  * union / discriminated-union input (MCP needs an object), or a construct
@@ -59,6 +60,27 @@ export interface McpSurfacePreparationConfig {
59
60
  export declare function prepareMcpSurface(services: ServiceDef | ServiceDef[], config?: McpSurfacePreparationConfig): PreparedMcpSurface;
60
61
  /** Prepare already-resolved tool operations through the canonical MCP schema profile. */
61
62
  export declare function prepareMcpTools(tools: readonly MountableTool[], config?: McpSurfacePreparationConfig): PreparedMcpSurface;
63
+ /** One immutable, framework-managed MCP surface selected as a unit. */
64
+ export interface McpSurfaceDefinition extends ToolSurfaceDefinition {
65
+ services: ServiceDef[];
66
+ }
67
+ /** A finite set of surfaces known when the server/handler is constructed. */
68
+ export type McpSurfaceRegistry = Record<string, McpSurfaceDefinition>;
69
+ /** A runtime definition paired with its already validated MCP descriptor. */
70
+ export interface PreparedRuntimeMcpTool {
71
+ definition: RuntimeToolDefinition;
72
+ descriptor: PreparedMcpTool;
73
+ }
74
+ /** Complete immutable tool descriptors for one fresh MCP server runtime. */
75
+ export interface PreparedMcpServerSurface {
76
+ contractTools: PreparedMcpSurface;
77
+ runtimeTools: readonly PreparedRuntimeMcpTool[];
78
+ }
79
+ /**
80
+ * Prepare contracts and framework runtime tools as one collision-checked unit.
81
+ * No auth, request context, lifecycle, hooks, SDK server or transport is stored.
82
+ */
83
+ export declare function prepareMcpServerSurface(surface: McpSurfaceDefinition, config?: McpSurfacePreparationConfig): PreparedMcpServerSurface;
62
84
  export interface McpMountConfig {
63
85
  context?: Record<string, unknown>;
64
86
  /** Tool-call observability hooks. */
@@ -101,14 +123,12 @@ export declare function mountPreparedMcp(mcpServer: McpServer, prepared: Prepare
101
123
  * resolved. `createMcpHandler` (HTTP) and `createStdioMcpServer` (stdio) each
102
124
  * add their own `auth` on top.
103
125
  */
104
- export interface McpServerBuildConfig<TAuth> {
126
+ export interface McpServerSharedConfig<TAuth> {
105
127
  /** MCP server identity (name + version). */
106
128
  serverInfo: {
107
129
  name: string;
108
130
  version: string;
109
131
  };
110
- /** Contract services exposed as MCP tools — may depend on the identity. */
111
- services: ServiceDef[] | ((auth: TAuth) => ServiceDef[]);
112
132
  /** Context merged into every contract handler (`mountMcp` context). */
113
133
  context?: (auth: TAuth) => Record<string, unknown>;
114
134
  /** Tool-call observability hooks — `afterToolCall` fires for every result
@@ -128,10 +148,9 @@ export interface McpServerBuildConfig<TAuth> {
128
148
  schemaValidation?: McpSchemaValidationConfig;
129
149
  /** Logger for schema-incompatibility warnings — defaults to `console`. */
130
150
  logger?: StitchLogger;
131
- /** Register native multimodal MCP tools for the resolved identity. Use
132
- * `registerTool` for stitchkit lifecycle/hooks; `rawServer` is an explicit
133
- * unprotected SDK escape hatch. */
134
- nativeTools?: (registrar: NativeMcpRegistrar, auth: TAuth) => void;
151
+ /** Explicit unprotected SDK escape hatch. Prefer `runtimeTools`; registrations
152
+ * here do not receive stitchkit validation, lifecycle, context or hooks. */
153
+ rawTools?: (server: McpServer, auth: TAuth) => void;
135
154
  /** MCP Apps UI resources (`ui://…`) served for tools that declare `ui`. */
136
155
  resources?: McpResourceDef[];
137
156
  /** Server instructions — a short (≤2KB) hint to the host on when and how to
@@ -146,13 +165,34 @@ export interface McpServerBuildConfig<TAuth> {
146
165
  /** Report output keys the contract schema removed — → ADR 0037. */
147
166
  onOutputStrip?: (toolName: string, paths: string[]) => void;
148
167
  }
168
+ export interface DirectMcpSurfaceConfig<TAuth> {
169
+ /** Contract services exposed as MCP tools — may depend on the identity. */
170
+ services: ServiceDef[] | ((auth: TAuth) => ServiceDef[]);
171
+ /** Framework-managed runtime tools — may depend on the identity. */
172
+ runtimeTools?: readonly RuntimeToolDefinition[] | ((auth: TAuth) => readonly RuntimeToolDefinition[]);
173
+ surfaces?: never;
174
+ selectSurface?: never;
175
+ }
176
+ export interface FiniteMcpSurfaceConfig<TAuth, TSurfaces extends McpSurfaceRegistry> {
177
+ /** Finite immutable surfaces, all prepared eagerly exactly once. */
178
+ surfaces: TSurfaces;
179
+ /** Select one declared surface for the resolved identity. */
180
+ selectSurface: (auth: TAuth) => Extract<keyof TSurfaces, string>;
181
+ services?: never;
182
+ runtimeTools?: never;
183
+ }
184
+ /**
185
+ * Transport-neutral MCP build config. Use direct services for a static or truly
186
+ * identity-dynamic surface; use `surfaces` for a bounded role/plan registry.
187
+ */
188
+ export type McpServerBuildConfig<TAuth, TSurfaces extends McpSurfaceRegistry = McpSurfaceRegistry> = McpServerSharedConfig<TAuth> & (DirectMcpSurfaceConfig<TAuth> | FiniteMcpSurfaceConfig<TAuth, TSurfaces>);
149
189
  /**
150
190
  * Build an `McpServer` from contract services for a resolved identity.
151
191
  * Transport-agnostic — the shared core behind every MCP transport.
152
192
  */
153
193
  export declare function buildMcpServer<TAuth>(config: McpServerBuildConfig<TAuth>, auth: TAuth): McpServer;
154
194
  /** Build one fresh server from a deterministic surface prepared by its owner. */
155
- export declare function buildMcpServerFromPrepared<TAuth>(config: McpServerBuildConfig<TAuth>, auth: TAuth, prepared: PreparedMcpSurface): McpServer;
195
+ export declare function buildMcpServerFromPrepared<TAuth>(config: McpServerBuildConfig<TAuth>, auth: TAuth, prepared: PreparedMcpServerSurface): McpServer;
156
196
  /**
157
197
  * Register one MCP Apps UI resource on an `McpServer`. The `read` callback's
158
198
  * HTML is served under the resource `uri` with the apps MIME type; any `ui`
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,aAAa,EAGnB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,WAAW,CAAC;AACpE,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AASjF;;;;;;;;GAQG;AACH,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,gFAAgF;AAChF,MAAM,WAAW,yBAAyB;IACxC,0EAA0E;IAC1E,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oEAAoE;IACpE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,gEAAgE;IAChE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,uFAAuF;AACvF,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAOD,2DAA2D;AAC3D,KAAK,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAiFpD,4EAA4E;AAC5E,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,aAAa,CAAC;IACzB,WAAW,EAAE,sBAAsB,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACzB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,eAAe,EAAE,CAAC;AAE5D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAsHD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,EACnC,MAAM,GAAE,2BAAgC,GACvC,kBAAkB,CAIpB;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,MAAM,GAAE,2BAAgC,GACvC,kBAAkB,CAsBpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,qCAAqC;IACrC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,8DAA8D;IAC9D,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAOzE;AAED,wBAAgB,QAAQ,CACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,EACnC,MAAM,GAAE,cAAmB,GAC1B,IAAI,CAQN;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,GAAE,cAAmB,GAC1B,IAAI,CA8DN;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,4CAA4C;IAC5C,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,UAAU,EAAE,CAAC,CAAC;IACzD,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnD;;uEAEmE;IACnE,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;0CAEsC;IACtC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B;;;kEAG8D;IAC9D,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,0EAA0E;IAC1E,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;wCAEoC;IACpC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACnE,2EAA2E;IAC3E,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B;wDACoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAClC,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACnC,IAAI,EAAE,KAAK,GACV,SAAS,CAUX;AAED,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,KAAK,EAC9C,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACnC,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,kBAAkB,GAC3B,SAAS,CAyCX;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAgBlF"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/tools/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,16 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js';
3
- import { z } from 'zod';
4
3
  import { executeToolMethod, type ToolCallHooks, type ToolLifecycle } from './execute';
5
- import type { PreparedMcpSurface } from './mcp';
6
- import { type RuntimeToolDefinitionWithOutput, type RuntimeToolDefinitionWithoutOutput, runtimeToolMountable } from './runtime-tool';
7
- export interface NativeMcpRegistrar {
8
- /** Register through stitchkit validation, lifecycle, context and tool hooks. */
9
- registerTool<TInput extends z.ZodObject, TOutput extends z.ZodType>(definition: RuntimeToolDefinitionWithOutput<TInput, TOutput>): void;
10
- registerTool<TInput extends z.ZodObject>(definition: RuntimeToolDefinitionWithoutOutput<TInput>): void;
11
- /**
12
- * Explicit SDK escape hatch. Registrations made here do not run stitchkit
13
- * validation, lifecycle, per-call context or tool hooks.
14
- */
15
- readonly rawServer: McpServer;
16
- }
4
+ import type { PreparedRuntimeMcpTool } from './mcp';
17
5
  interface NativeMcpRuntimeConfig {
18
6
  context?: Record<string, unknown>;
19
7
  hooks?: ToolCallHooks;
20
8
  lifecycle?: ToolLifecycle;
21
9
  coerceJsonArgs?: boolean;
22
10
  onOutputStrip?: (toolName: string, paths: string[]) => void;
23
- takenNames: Set<string>;
24
- prepare: (tool: ReturnType<typeof runtimeToolMountable>) => PreparedMcpSurface;
25
- formatResult: (result: Awaited<ReturnType<typeof executeToolMethod>>, mode: PreparedMcpSurface[number]['outputMode'], toolName: string) => CallToolResult;
11
+ formatResult: (result: Awaited<ReturnType<typeof executeToolMethod>>, mode: PreparedRuntimeMcpTool['descriptor']['outputMode'], toolName: string) => CallToolResult;
26
12
  }
27
- /** Build the protected registrar for one fresh MCP server/runtime. */
28
- export declare function createNativeMcpRegistrar(server: McpServer, config: NativeMcpRuntimeConfig): NativeMcpRegistrar;
13
+ /** Mount immutable runtime-tool descriptors onto one fresh MCP server/runtime. */
14
+ export declare function mountPreparedRuntimeMcp(server: McpServer, tools: readonly PreparedRuntimeMcpTool[], config: NativeMcpRuntimeConfig): void;
29
15
  export {};
30
16
  //# sourceMappingURL=native-mcp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/native-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,oCAAoC,CAAC;AAC/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,kCAAkC,EACvC,oBAAoB,EAErB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EAAE,OAAO,SAAS,CAAC,CAAC,OAAO,EAChE,UAAU,EAAE,+BAA+B,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3D,IAAI,CAAC;IACR,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC,SAAS,EACrC,UAAU,EAAE,kCAAkC,CAAC,MAAM,CAAC,GACrD,IAAI,CAAC;IACR;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAED,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5D,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,KAAK,kBAAkB,CAAC;IAC/E,YAAY,EAAE,CACZ,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EACrD,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,EAC9C,QAAQ,EAAE,MAAM,KACb,cAAc,CAAC;CACrB;AAMD,sEAAsE;AACtE,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC7B,kBAAkB,CAwFpB"}
1
+ {"version":3,"file":"native-mcp.d.ts","sourceRoot":"","sources":["../../src/tools/native-mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,oCAAoC,CAAC;AAI/F,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAGpD,UAAU,sBAAsB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,CACZ,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,EACrD,IAAI,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,EACxD,QAAQ,EAAE,MAAM,KACb,cAAc,CAAC;CACrB;AAMD,kFAAkF;AAClF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,SAAS,sBAAsB,EAAE,EACxC,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CA4EN"}
@@ -54,5 +54,5 @@ export declare function defineRuntimeTool<TInput extends ZodObject, TOutput exte
54
54
  export declare function defineRuntimeTool<TInput extends ZodObject>(definition: RuntimeToolDefinitionWithoutOutput<TInput>): RuntimeToolDefinitionWithoutOutput<TInput>;
55
55
  export declare function runtimeToolSupports(definition: RuntimeToolDefinition, transport: RuntimeToolTransport): boolean;
56
56
  export declare function runtimeToolIdentity(definition: RuntimeToolDefinition): OperationIdentity;
57
- export declare function runtimeToolMountable(definition: RuntimeToolDefinition): MountableTool;
57
+ export declare function runtimeToolMountable(definition: RuntimeToolDefinition, assertName?: boolean): MountableTool;
58
58
  //# sourceMappingURL=runtime-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-tool.d.ts","sourceRoot":"","sources":["../../src/tools/runtime-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-tool.d.ts","sourceRoot":"","sources":["../../src/tools/runtime-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { Transport } from '../contract';
2
+ import type { ServiceDef } from '../server/types';
3
+ import { type CollectToolsConfig, type MountableTool } from './mount';
4
+ import { type RuntimeToolDefinition } from './runtime-tool';
5
+ export type ToolSurfaceTransport = Exclude<Transport, 'HTTP'>;
6
+ /** Contract and pathless runtime operations that form one tool surface. */
7
+ export interface ToolSurfaceDefinition {
8
+ services?: readonly ServiceDef[];
9
+ runtimeTools?: readonly RuntimeToolDefinition[];
10
+ }
11
+ interface CollectedContractTool {
12
+ kind: 'contract';
13
+ service: string;
14
+ action: string;
15
+ mountable: MountableTool;
16
+ }
17
+ interface CollectedRuntimeTool {
18
+ kind: 'runtime';
19
+ service: string;
20
+ action: string;
21
+ mountable: MountableTool;
22
+ definition: RuntimeToolDefinition;
23
+ }
24
+ export type CollectedToolSurfaceEntry = CollectedContractTool | CollectedRuntimeTool;
25
+ export interface CollectToolSurfaceConfig extends CollectToolsConfig {
26
+ surface: ToolSurfaceDefinition;
27
+ transport: ToolSurfaceTransport;
28
+ /** Diagnostics disable this so they can report a broken surface. Default: true. */
29
+ assertUniqueNames?: boolean;
30
+ }
31
+ /**
32
+ * Resolve contracts and runtime definitions in their real mount order through
33
+ * the same name, exposure and presentation-schema machinery as the mounts.
34
+ */
35
+ export declare function collectToolSurface({ surface, transport, assertUniqueNames, ...collectConfig }: CollectToolSurfaceConfig): CollectedToolSurfaceEntry[];
36
+ export {};
37
+ //# sourceMappingURL=surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../../src/tools/surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,kBAAkB,EAAgB,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpF,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9D,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACjD;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAErF,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,SAAS,EAAE,oBAAoB,CAAC;IAChC,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAQD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,SAAS,EACT,iBAAwB,EACxB,GAAG,aAAa,EACjB,EAAE,wBAAwB,GAAG,yBAAyB,EAAE,CAwCxD"}
@@ -24,14 +24,14 @@ import { type McpHandlerConfig } from './mcp-handler';
24
24
  import { type StdioMcpServerConfig } from './mcp-stdio';
25
25
  import type { ToolExtend } from './mount';
26
26
  /** Re-type a config's static `context` (and `extend`) to the toolkit's `TContext`. */
27
- type WithStaticContext<C, TContext extends Record<string, unknown>> = Omit<C, 'context' | 'extend'> & {
27
+ type WithStaticContext<C, TContext extends Record<string, unknown>> = C extends unknown ? Omit<C, 'context' | 'extend'> & {
28
28
  context?: TContext;
29
29
  extend?: ToolExtend<TContext>;
30
- };
30
+ } : never;
31
31
  /** Re-type a config's `(auth) => context` factory to the toolkit's `TContext`. */
32
- type WithAuthContext<C, TAuth, TContext extends Record<string, unknown>> = Omit<C, 'context'> & {
32
+ type WithAuthContext<C, TAuth, TContext extends Record<string, unknown>> = C extends unknown ? Omit<C, 'context'> & {
33
33
  context?: (auth: TAuth) => TContext;
34
- };
34
+ } : never;
35
35
  /** The context-pinned tool surface returned by `createToolkit`. */
36
36
  export interface Toolkit<TContext extends Record<string, unknown>> {
37
37
  mountMcp(server: McpServer, services: ServiceDef | ServiceDef[], config?: WithStaticContext<McpMountConfig, TContext>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"toolkit.d.ts","sourceRoot":"","sources":["../../src/tools/toolkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,gBAAgB,EAAc,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AAClD,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,OAAO,CAAC;AACf,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,sFAAsF;AACtF,KAAK,iBAAiB,CAAC,CAAC,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CACxE,CAAC,EACD,SAAS,GAAG,QAAQ,CACrB,GAAG;IACF,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B,CAAC;AAEF,kFAAkF;AAClF,KAAK,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAC7E,CAAC,EACD,SAAS,CACV,GAAG;IACF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC;CACrC,CAAC;AAEF,mEAAmE;AACnE,MAAM,WAAW,OAAO,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,QAAQ,CACN,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,EACnC,MAAM,CAAC,EAAE,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,GACnD,IAAI,CAAC;IACR,UAAU,CACR,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,EACnC,MAAM,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACrD,OAAO,CAAC;IACX,cAAc,CAAC,KAAK,EAClB,MAAM,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,EACrE,IAAI,EAAE,KAAK,GACV,SAAS,CAAC;IACb,gBAAgB,CAAC,KAAK,EACpB,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAChE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,oBAAoB,CAAC,KAAK,EACxB,MAAM,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GACpE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtB,SAAS,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAS3F"}
1
+ {"version":3,"file":"toolkit.d.ts","sourceRoot":"","sources":["../../src/tools/toolkit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,gBAAgB,EAAc,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AAClD,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,OAAO,CAAC;AACf,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,sFAAsF;AACtF,KAAK,iBAAiB,CAAC,CAAC,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,GACnF,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B,GACD,KAAK,CAAC;AAEV,kFAAkF;AAClF,KAAK,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,OAAO,GACxF,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC;CACrC,GACD,KAAK,CAAC;AAEV,mEAAmE;AACnE,MAAM,WAAW,OAAO,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,QAAQ,CACN,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,EACnC,MAAM,CAAC,EAAE,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,GACnD,IAAI,CAAC;IACR,UAAU,CACR,QAAQ,EAAE,UAAU,GAAG,UAAU,EAAE,EACnC,MAAM,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GACrD,OAAO,CAAC;IACX,cAAc,CAAC,KAAK,EAClB,MAAM,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,EACrE,IAAI,EAAE,KAAK,GACV,SAAS,CAAC;IACb,gBAAgB,CAAC,KAAK,EACpB,MAAM,EAAE,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAChE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,oBAAoB,CAAC,KAAK,EACxB,MAAM,EAAE,eAAe,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GACpE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtB,SAAS,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAS3F"}
@@ -4,25 +4,27 @@
4
4
  * re-derives the `expose` combinatorics (default-on MCP/AGENT, opt-in CLI,
5
5
  * multipart is HTTP-only). This returns the data; the app formats its own line.
6
6
  *
7
- * Tool counts come from `collectTools` — the exact resolver the mounts use, so
8
- * the summary can't drift from what actually mounts.
7
+ * Tool counts come from the mixed-surface collector the mounts use, so runtime
8
+ * definitions cannot disappear from the boot diagnostic.
9
9
  */
10
10
  import type { Transport } from '../contract';
11
- import type { ServiceDef } from '../server/types';
11
+ import { type ToolSurfaceDefinition } from './surface';
12
12
  /** Operation counts per transport, for one service or the whole fleet. */
13
13
  export type TransportCounts = Record<Transport, number>;
14
14
  /** The result of `summarizeTransports`. */
15
15
  export interface TransportSummary {
16
- /** Number of services summarised. */
17
- services: number;
16
+ /** Number of contract services summarised. */
17
+ contractServices: number;
18
+ /** Number of pathless runtime definitions summarised. */
19
+ runtimeTools: number;
18
20
  /** Operation counts per transport, summed across every service. */
19
21
  totals: TransportCounts;
20
- /** Per-service breakdown, in input order. */
21
- perService: Array<{
22
+ /** Per-source breakdown: contract inputs first, then runtime identity groups. */
23
+ sources: Array<{
24
+ kind: 'contract' | 'runtime';
22
25
  service: string;
23
26
  counts: TransportCounts;
24
27
  }>;
25
28
  }
26
- /** Summarise how the given services are exposed across the four transports. */
27
- export declare function summarizeTransports(services: ServiceDef[]): TransportSummary;
29
+ export declare function summarizeTransports(surface: ToolSurfaceDefinition): TransportSummary;
28
30
  //# sourceMappingURL=transports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../../src/tools/transports.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAExD,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,MAAM,EAAE,eAAe,CAAC;IACxB,6CAA6C;IAC7C,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;CACjE;AAQD,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAqB5E"}
1
+ {"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../../src/tools/transports.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,WAAW,CAAC;AAEnB,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAExD,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,MAAM,EAAE,eAAe,CAAC;IACxB,iFAAiF;IACjF,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,eAAe,CAAC;KACzB,CAAC,CAAC;CACJ;AA2CD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,gBAAgB,CA6BpF"}
@@ -62,9 +62,9 @@ export interface ViewFileOptions {
62
62
  export declare function resolveMedia(pathOrUrl: string, options?: ViewFileOptions): Promise<McpMediaContent[]>;
63
63
  /**
64
64
  * Register the raw native MCP `view_file` tool on an SDK server. From
65
- * `createMcpHandler`, pass `nativeTools: ({ rawServer }) =>
66
- * mountViewFile(rawServer, options)`. Raw registration intentionally bypasses
67
- * stitchkit lifecycle/hooks; use protected `registerTool` + `resolveMedia` when
65
+ * `createMcpHandler`, pass `rawTools: (server) =>
66
+ * mountViewFile(server, options)`. Raw registration intentionally bypasses
67
+ * stitchkit lifecycle/hooks; use a `defineRuntimeTool` + `resolveMedia` when
68
68
  * those guarantees are required. `options` controls the media security boundary.
69
69
  */
70
70
  export declare function mountViewFile(server: McpServer, options?: ViewFileOptions): void;
package/dist/tools.d.ts CHANGED
@@ -9,21 +9,21 @@ export type { AfterToolCallOptions, BeforeToolCallOptions, ErrorHintFn, ToolCall
9
9
  export { flattenToolJsonSchema, type ToolPresentationSchema, } from './tools/flatten';
10
10
  export { createToolInvoker, type ToolInvocationOptions, type ToolInvoker, type ToolInvokerConfig, type ToolInvokerTransport, } from './tools/invoker';
11
11
  export { listToolNames, type ToolNameEntry } from './tools/list-names';
12
- export { buildToolManifest, type ToolManifestEntry } from './tools/manifest';
13
- export { buildMcpServer, type IncompatibleSchemaPolicy, type McpMountConfig, type McpSchemaValidationConfig, type McpServerBuildConfig, mountMcp, mountMcpResource, type ValidateMcpSchemasConfig, validateMcpSchemas, } from './tools/mcp';
12
+ export { buildToolManifest, type ToolManifestConfig, type ToolManifestEntry, } from './tools/manifest';
13
+ export { buildMcpServer, type DirectMcpSurfaceConfig, type FiniteMcpSurfaceConfig, type IncompatibleSchemaPolicy, type McpMountConfig, type McpSchemaValidationConfig, type McpServerBuildConfig, type McpServerSharedConfig, type McpSurfaceDefinition, type McpSurfaceRegistry, mountMcp, mountMcpResource, type ValidateMcpSchemasConfig, validateMcpSchemas, } from './tools/mcp';
14
14
  export { EXT_APPS_BUNDLE_PLACEHOLDER, inlineMcpAppBundle, type McpAppCsp, type McpAppResourceMeta, type McpResourceDef, RESOURCE_MIME_TYPE, } from './tools/mcp-app';
15
- export { createMcpHandler, type McpHandlerConfig, type McpSessionMode, } from './tools/mcp-handler';
16
- export { createStdioMcpServer, type StdioMcpServerConfig } from './tools/mcp-stdio';
15
+ export { createMcpHandler, type McpHandlerConfig, type McpHttpConfig, type McpSessionMode, } from './tools/mcp-handler';
16
+ export { createStdioMcpServer, type StdioAuthConfig, type StdioMcpServerConfig, } from './tools/mcp-stdio';
17
17
  export { type CollectToolsConfig, collectTools, type MountableTool, type ToolExtend, } from './tools/mount';
18
18
  export { type DownloadToolConfig, mountDownload } from './tools/mount-download';
19
19
  export { mountUpload, type UploadToolConfig } from './tools/mount-upload';
20
20
  export { mountWait, type WaitToolConfig } from './tools/mount-wait';
21
- export type { NativeMcpRegistrar } from './tools/native-mcp';
22
21
  export { oauthProtectedResourceRoute, PROTECTED_RESOURCE_PATH, type ProtectedResourceConfig, protectedResourceMetadataUrl, wwwAuthenticateHeader, } from './tools/oauth-metadata';
23
22
  export { type ApplicationType, type AuthCodeData, type AuthRequest, type ClientMetadata, mountOAuthProvider, type OAuthProviderConfig, type RefreshData, type RegisteredClient, } from './tools/oauth-provider';
24
23
  export { findNonPortableFormats, type NonPortableFormat, PORTABLE_JSON_SCHEMA_FORMATS, } from './tools/portable-formats';
25
24
  export { type ImplementRemoteOptions, implementRemote } from './tools/remote';
26
25
  export { defineRuntimeTool, type RuntimeAgentModelOutput, type RuntimeMcpPresentation, type RuntimeToolDefinition, type RuntimeToolDefinitionBase, type RuntimeToolDefinitionWithOutput, type RuntimeToolDefinitionWithoutOutput, type RuntimeToolHandlerContext, type RuntimeToolIdentity, type RuntimeToolOutput, type RuntimeToolPresenters, type RuntimeToolTransport, } from './tools/runtime-tool';
26
+ export type { ToolSurfaceDefinition, ToolSurfaceTransport, } from './tools/surface';
27
27
  export { createToolLogger, type ToolCallRecord, type ToolLoggerConfig, } from './tools/tool-logger';
28
28
  export { createToolkit, type Toolkit } from './tools/toolkit';
29
29
  export { summarizeTransports, type TransportCounts, type TransportSummary, } from './tools/transports';
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,KAAK,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,QAAQ,EACR,gBAAgB,EAChB,KAAK,wBAAwB,EAC7B,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EACL,KAAK,kBAAkB,EACvB,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,uBAAuB,EAC5B,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,sBAAsB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACpC,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,aAAa,EACb,YAAY,EACZ,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}