@decocms/runtime 0.25.1 → 0.27.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 (46) hide show
  1. package/dist/bindings/deconfig/index.d.ts +6 -5
  2. package/dist/bindings/deconfig/index.js +4 -4
  3. package/dist/bindings/index.d.ts +1304 -46
  4. package/dist/bindings/index.js +9 -7
  5. package/dist/bindings/index.js.map +1 -1
  6. package/dist/{chunk-F6XZPFWM.js → chunk-3AWMDSOH.js} +20 -51
  7. package/dist/chunk-3AWMDSOH.js.map +1 -0
  8. package/dist/{chunk-QELHWEZH.js → chunk-5EYZ2LVM.js} +8 -5
  9. package/dist/chunk-5EYZ2LVM.js.map +1 -0
  10. package/dist/{chunk-O6IURJAY.js → chunk-GPIGZ6DL.js} +38 -33
  11. package/dist/chunk-GPIGZ6DL.js.map +1 -0
  12. package/dist/{chunk-I2KGAHFY.js → chunk-LCU3FBI3.js} +6 -2
  13. package/dist/chunk-LCU3FBI3.js.map +1 -0
  14. package/dist/drizzle.d.ts +4 -3
  15. package/dist/{index-D8GtUDPS.d.ts → index-COMJ3oN7.d.ts} +4 -3
  16. package/dist/{index-SnnmAI05.d.ts → index-DqyElLzZ.d.ts} +10 -10
  17. package/dist/index.d.ts +4 -3
  18. package/dist/index.js +5 -5
  19. package/dist/mastra.d.ts +4 -3
  20. package/dist/mastra.js +1 -1
  21. package/dist/{mcp-Bv7IAgWX.d.ts → mcp-Dbqp-p04.d.ts} +9 -13
  22. package/dist/mcp-client.d.ts +9 -16
  23. package/dist/mcp-client.js +1 -1
  24. package/dist/proxy.d.ts +3 -2
  25. package/dist/proxy.js +2 -2
  26. package/dist/resources.d.ts +42 -42
  27. package/dist/views.d.ts +12 -12
  28. package/package.json +3 -1
  29. package/src/bindings/binder.ts +37 -34
  30. package/src/bindings/channels.ts +1 -1
  31. package/src/bindings/index.ts +8 -6
  32. package/src/bindings/language-model/ai-sdk.ts +87 -0
  33. package/src/bindings/language-model/index.ts +4 -0
  34. package/src/bindings/language-model/utils.ts +118 -0
  35. package/src/bindings/views.ts +1 -1
  36. package/src/connection.ts +8 -53
  37. package/src/http-client-transport.ts +1 -66
  38. package/src/mastra.ts +4 -0
  39. package/src/mcp-client.ts +22 -2
  40. package/src/mcp.ts +16 -17
  41. package/src/proxy.ts +6 -2
  42. package/dist/chunk-F6XZPFWM.js.map +0 -1
  43. package/dist/chunk-I2KGAHFY.js.map +0 -1
  44. package/dist/chunk-O6IURJAY.js.map +0 -1
  45. package/dist/chunk-QELHWEZH.js.map +0 -1
  46. package/dist/connection-DDtQYrea.d.ts +0 -30
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/state.ts","../src/mastra.ts"],"names":["mastraCreateTool","mastraCreateStep","z","_","bindings","w","base"],"mappings":"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","file":"chunk-LCU3FBI3.js","sourcesContent":["import { AsyncLocalStorage } from \"node:async_hooks\";\nimport { z } from \"zod\";\nimport type { AppContext } from \"./mastra.ts\";\nimport { createTool } from \"./mastra.ts\";\n\nconst asyncLocalStorage = new AsyncLocalStorage<AppContext | undefined>();\n\nexport const State = {\n getStore: () => {\n return asyncLocalStorage.getStore();\n },\n run: <TEnv, R, TArgs extends unknown[]>(\n ctx: AppContext<TEnv>,\n f: (...args: TArgs) => R,\n ...args: TArgs\n ): R => asyncLocalStorage.run(ctx, f, ...args),\n};\n\nexport interface ValidationPayload {\n state: unknown;\n}\n\nexport const createStateValidationTool = (stateSchema?: z.ZodTypeAny) => {\n return createTool({\n id: \"DECO_CHAT_STATE_VALIDATION\",\n description: \"Validate the state of the OAuth flow\",\n inputSchema: z.object({\n state: z.unknown(),\n }),\n outputSchema: z.object({\n valid: z.boolean(),\n }),\n execute: (ctx) => {\n if (!stateSchema) {\n return Promise.resolve({ valid: true });\n }\n const parsed = stateSchema.safeParse(ctx.context.state);\n return Promise.resolve({\n valid: parsed.success,\n reason: parsed.error?.message,\n });\n },\n });\n};\n","/* oxlint-disable no-explicit-any */\n/* oxlint-disable ban-types */\nimport { HttpServerTransport } from \"@deco/mcp/http\";\nimport {\n createTool as mastraCreateTool,\n Tool,\n type ToolAction,\n type ToolExecutionContext,\n type Workflow,\n} from \"@mastra/core\";\nimport { RuntimeContext } from \"@mastra/core/di\";\nimport {\n createWorkflow,\n createStep as mastraCreateStep,\n type DefaultEngineType,\n type ExecuteFunction,\n type Step as MastraStep,\n} from \"@mastra/core/workflows\";\nimport { McpServer } from \"@modelcontextprotocol/sdk/server/mcp.js\";\nimport { z } from \"zod\";\nimport { zodToJsonSchema } from \"zod-to-json-schema\";\nimport type { DefaultEnv } from \"./index.ts\";\nimport {\n ResourceCreateInputSchema,\n ResourceCreateOutputSchema,\n ResourceDeleteInputSchema,\n ResourceDeleteOutputSchema,\n ResourceSearchInputSchema,\n ResourceSearchOutputSchema,\n ResourcesListOutputSchema,\n ResourcesReadInputSchema,\n ResourcesReadOutputSchema,\n ResourceUpdateInputSchema,\n ResourceUpdateOutputSchema,\n} from \"./resources.ts\";\nimport { createStateValidationTool, State } from \"./state.ts\";\nimport { ViewsListOutputSchema } from \"./views.ts\";\nexport { createWorkflow };\n\nexport { cloneStep, cloneWorkflow } from \"@mastra/core/workflows\";\n\nexport const createRuntimeContext = (prev?: RuntimeContext<AppContext>) => {\n const runtimeContext = new RuntimeContext<AppContext>();\n const store = State.getStore();\n if (!store) {\n if (prev) {\n return prev;\n }\n throw new Error(\"Missing context, did you forget to call State.bind?\");\n }\n const { env, ctx, req } = store;\n runtimeContext.set(\"env\", env);\n runtimeContext.set(\"ctx\", ctx);\n runtimeContext.set(\"req\", req);\n return runtimeContext;\n};\n\n/**\n * creates a private tool that always ensure for athentication before being executed\n */\nexport function createPrivateTool<\n TSchemaIn extends z.ZodSchema = z.ZodSchema,\n TSchemaOut extends z.ZodSchema | undefined = undefined,\n TSuspendSchema extends z.ZodSchema = z.ZodSchema,\n TResumeSchema extends z.ZodSchema = z.ZodSchema,\n TContext extends\n ToolExecutionContext<TSchemaIn> = ToolExecutionContext<TSchemaIn>,\n TExecute extends ToolAction<\n TSchemaIn,\n TSchemaOut,\n any,\n any,\n TContext\n >[\"execute\"] = ToolAction<\n TSchemaIn,\n TSchemaOut,\n any,\n any,\n TContext\n >[\"execute\"],\n>(\n opts: ToolAction<\n TSchemaIn,\n TSchemaOut,\n TSuspendSchema,\n TResumeSchema,\n TContext\n > & {\n execute?: TExecute;\n },\n): [TSchemaIn, TSchemaOut, TSuspendSchema, TResumeSchema, TExecute] extends [\n z.ZodSchema,\n z.ZodSchema,\n z.ZodSchema,\n z.ZodSchema,\n Function,\n]\n ? Tool<TSchemaIn, TSchemaOut, TSuspendSchema, TResumeSchema, TContext> & {\n inputSchema: TSchemaIn;\n outputSchema: TSchemaOut;\n execute: (context: TContext) => Promise<any>;\n }\n : Tool<TSchemaIn, TSchemaOut, TSuspendSchema, TResumeSchema, TContext> {\n const execute = opts.execute;\n if (typeof execute === \"function\") {\n opts.execute = ((input, options) => {\n const env = input.runtimeContext.get(\"env\") as DefaultEnv;\n if (env) {\n env.DECO_REQUEST_CONTEXT.ensureAuthenticated();\n }\n return execute(input, options);\n }) as TExecute;\n }\n return createTool(opts);\n}\n\nexport interface StreamableTool<TSchemaIn extends z.ZodSchema = z.ZodSchema> {\n id: string;\n inputSchema: TSchemaIn;\n streamable?: true;\n description?: string;\n execute: (input: ToolExecutionContext<TSchemaIn>) => Promise<Response>;\n}\n\nexport function createStreamableTool<\n TSchemaIn extends z.ZodSchema = z.ZodSchema,\n>(streamableTool: StreamableTool<TSchemaIn>): StreamableTool<TSchemaIn> {\n return {\n ...streamableTool,\n execute: (input: ToolExecutionContext<TSchemaIn>) => {\n const env = input.runtimeContext.get(\"env\") as DefaultEnv;\n if (env) {\n env.DECO_REQUEST_CONTEXT.ensureAuthenticated();\n }\n return streamableTool.execute({\n ...input,\n runtimeContext: createRuntimeContext(input.runtimeContext),\n });\n },\n };\n}\n\nexport function createTool<\n TSchemaIn extends z.ZodSchema | undefined = undefined,\n TSchemaOut extends z.ZodSchema | undefined = undefined,\n TSuspendSchema extends z.ZodSchema = z.ZodSchema,\n TResumeSchema extends z.ZodSchema = z.ZodSchema,\n TContext extends ToolExecutionContext<\n TSchemaIn,\n TSuspendSchema,\n TResumeSchema\n > = ToolExecutionContext<TSchemaIn, TSuspendSchema, TResumeSchema>,\n TExecute extends ToolAction<\n TSchemaIn,\n TSchemaOut,\n TSuspendSchema,\n TResumeSchema,\n TContext\n >[\"execute\"] = ToolAction<\n TSchemaIn,\n TSchemaOut,\n TSuspendSchema,\n TResumeSchema,\n TContext\n >[\"execute\"],\n>(\n opts: ToolAction<\n TSchemaIn,\n TSchemaOut,\n TSuspendSchema,\n TResumeSchema,\n TContext\n > & {\n execute?: TExecute;\n },\n): [TSchemaIn, TSchemaOut, TSuspendSchema, TResumeSchema, TExecute] extends [\n z.ZodSchema,\n z.ZodSchema,\n z.ZodSchema,\n z.ZodSchema,\n Function,\n]\n ? Tool<TSchemaIn, TSchemaOut, TSuspendSchema, TResumeSchema, TContext> & {\n inputSchema: TSchemaIn;\n outputSchema: TSchemaOut;\n execute: (context: TContext) => Promise<any>;\n }\n : Tool<TSchemaIn, TSchemaOut, TSuspendSchema, TResumeSchema, TContext> {\n // @ts-expect-error - TSchemaIn is not a ZodType\n return mastraCreateTool({\n ...opts,\n execute:\n typeof opts?.execute === \"function\"\n ? (((input) => {\n return opts.execute!({\n ...input,\n runtimeContext: createRuntimeContext(input.runtimeContext),\n });\n }) as TExecute)\n : opts.execute,\n });\n}\n\nexport type ExecWithContext<TF extends (...args: any[]) => any> = (\n input: Omit<Parameters<TF>[0], \"runtimeContext\"> & {\n runtimeContext: RuntimeContext<AppContext>;\n },\n) => ReturnType<TF>;\n\nexport interface Step<\n TStepId extends string = string,\n // @ts-expect-error - TState is not a ZodObject\n TState extends z.ZodObject<any> = z.ZodObject<any, z.$strip>,\n TSchemaIn extends z.ZodType<any> = z.ZodType<any>,\n TSchemaOut extends z.ZodType<any> = z.ZodType<any>,\n TResumeSchema extends z.ZodType<any> = z.ZodType<any>,\n TSuspendSchema extends z.ZodType<any> = z.ZodType<any>,\n TEngineType = any,\n> extends Omit<\n MastraStep<\n TStepId,\n TState,\n TSchemaIn,\n TSchemaOut,\n TResumeSchema,\n TSuspendSchema,\n TEngineType\n >,\n \"execute\"\n > {\n execute: ExecWithContext<\n ExecuteFunction<\n z.infer<TState>,\n z.infer<TSchemaIn>,\n z.infer<TSchemaOut>,\n z.infer<TResumeSchema>,\n z.infer<TSuspendSchema>,\n TEngineType\n >\n >;\n}\nexport function createStepFromTool<\n TSchemaIn extends z.ZodType<any>,\n TSchemaOut extends z.ZodType<any>,\n TSuspendSchema extends z.ZodType<any>,\n TResumeSchema extends z.ZodType<any>,\n TContext extends ToolExecutionContext<\n TSchemaIn,\n TSuspendSchema,\n TResumeSchema\n >,\n>(\n tool: Tool<TSchemaIn, TSchemaOut, TSuspendSchema, TResumeSchema, TContext> & {\n inputSchema: TSchemaIn;\n outputSchema: TSchemaOut;\n execute: (context: TContext) => Promise<any>;\n },\n): Step<\n string,\n // @ts-expect-error - TSchemaIn is not a ZodType\n TSchemaIn,\n TSchemaOut,\n z.ZodType<any>,\n z.ZodType<any>,\n DefaultEngineType\n> {\n // @ts-expect-error - TSchemaIn is not a ZodType\n return mastraCreateStep(tool);\n}\n\nexport function createStep<\n TStepId extends string,\n TStepInput extends z.ZodType<any>,\n TStepOutput extends z.ZodType<any>,\n TResumeSchema extends z.ZodType<any>,\n TSuspendSchema extends z.ZodType<any>,\n>(opts: {\n id: TStepId;\n description?: string;\n inputSchema: TStepInput;\n outputSchema: TStepOutput;\n resumeSchema?: TResumeSchema;\n suspendSchema?: TSuspendSchema;\n execute: ExecWithContext<\n // @ts-expect-error - TStepInput is not a ZodObject\n ExecuteFunction<\n z.infer<TStepInput>,\n z.infer<TStepOutput>,\n z.infer<TResumeSchema>,\n z.infer<TSuspendSchema>,\n DefaultEngineType\n >\n >;\n}): Step<\n TStepId,\n // @ts-expect-error - TStepInput is not a ZodObject\n TStepInput,\n TStepOutput,\n TResumeSchema,\n TSuspendSchema,\n DefaultEngineType\n> {\n // @ts-expect-error - TStepInput is not a ZodObject\n return mastraCreateStep({\n ...opts,\n execute: (input) => {\n return opts.execute({\n ...input,\n runtimeContext: createRuntimeContext(input.runtimeContext),\n });\n },\n });\n}\n\nexport interface ViewExport {\n title: string;\n icon: string;\n url: string;\n tools?: string[];\n rules?: string[];\n installBehavior?: \"none\" | \"open\" | \"autoPin\";\n}\n\nexport type Resources<Env = any, TSchema extends z.ZodTypeAny = never> = Array<\n (env: Env & DefaultEnv<TSchema>) => {\n name: string;\n icon: string;\n title: string;\n description?: string;\n tools: {\n read: (args: { uri: string }) => Promise<unknown>;\n search: (args: {\n term: string;\n cursor?: string;\n limit?: number;\n }) => Promise<unknown>;\n create?: (\n args: z.infer<typeof ResourceCreateInputSchema>,\n ) => Promise<unknown>;\n update?: (\n args: z.infer<typeof ResourceUpdateInputSchema>,\n ) => Promise<unknown>;\n delete?: (\n args: z.infer<typeof ResourceDeleteInputSchema>,\n ) => Promise<unknown>;\n };\n views?: {\n list?: { url?: string; tools?: string[]; rules?: string[] };\n detail?: {\n url?: string;\n mimeTypePattern?: string;\n resourceName?: string;\n tools?: string[];\n rules?: string[];\n };\n };\n }\n>;\nexport interface Integration {\n id: string;\n appId: string;\n}\nexport type CreatedTool =\n | ReturnType<typeof createTool>\n | ReturnType<typeof createStreamableTool>;\nexport function isStreamableTool(tool: CreatedTool): tool is StreamableTool {\n return tool && \"streamable\" in tool && tool.streamable === true;\n}\nexport interface CreateMCPServerOptions<\n Env = any,\n TSchema extends z.ZodTypeAny = never,\n> {\n before?: (env: Env & DefaultEnv<TSchema>) => Promise<void> | void;\n oauth?: {\n state?: TSchema;\n scopes?: string[];\n };\n views?: (\n env: Env & DefaultEnv<TSchema>,\n ) => Promise<ViewExport[]> | ViewExport[];\n resources?: Resources<Env, TSchema>;\n tools?:\n | Array<\n (\n env: Env & DefaultEnv<TSchema>,\n ) =>\n | Promise<CreatedTool>\n | CreatedTool\n | CreatedTool[]\n | Promise<CreatedTool[]>\n >\n | ((\n env: Env & DefaultEnv<TSchema>,\n ) => CreatedTool[] | Promise<CreatedTool[]>);\n workflows?: Array<\n (\n env: Env & DefaultEnv<TSchema>,\n ) => // this is a workaround to allow workflows to be thenables\n | Promise<{ workflow: ReturnType<typeof createWorkflow> }>\n | ReturnType<typeof createWorkflow>\n >;\n}\n\nexport type Fetch<TEnv = any> = (\n req: Request,\n env: TEnv,\n ctx: ExecutionContext,\n) => Promise<Response> | Response;\n\nexport interface AppContext<TEnv = any> {\n env: TEnv;\n ctx: { waitUntil: (promise: Promise<any>) => void };\n req?: Request;\n}\n\nconst decoChatOAuthToolsFor = <TSchema extends z.ZodTypeAny = never>({\n state: schema,\n scopes,\n}: CreateMCPServerOptions<any, TSchema>[\"oauth\"] = {}) => {\n const jsonSchema = schema\n ? zodToJsonSchema(schema)\n : { type: \"object\", properties: {} };\n return [\n createTool({\n id: \"DECO_CHAT_OAUTH_START\",\n description: \"OAuth for Deco Chat\",\n inputSchema: z.object({\n returnUrl: z.string(),\n }),\n outputSchema: z.object({\n stateSchema: z.any(),\n scopes: z.array(z.string()).optional(),\n }),\n execute: () => {\n return Promise.resolve({\n stateSchema: jsonSchema,\n scopes,\n });\n },\n }),\n ];\n};\n\nconst createWorkflowTools = <TEnv = any, TSchema extends z.ZodTypeAny = never>(\n workflow: ReturnType<typeof createWorkflow>,\n bindings: TEnv & DefaultEnv<TSchema>,\n) => {\n const startTool = createTool({\n id: `DECO_CHAT_WORKFLOWS_START_${workflow.id}`,\n description: workflow.description ?? `Start workflow ${workflow.id}`,\n inputSchema:\n workflow.inputSchema && \"shape\" in workflow.inputSchema\n ? workflow.inputSchema\n : z.object({}),\n outputSchema: z.object({\n id: z.string(),\n }),\n execute: async (args) => {\n const store = State.getStore();\n const runId =\n store?.req?.headers.get(\"x-deco-chat-run-id\") ?? crypto.randomUUID();\n const workflowDO = bindings.DECO_WORKFLOW_DO.get(\n bindings.DECO_WORKFLOW_DO.idFromName(runId),\n );\n\n using result = await workflowDO.start({\n workflowId: workflow.id,\n args: args.context,\n runId,\n ctx: bindings.DECO_REQUEST_CONTEXT,\n });\n return { id: result.runId };\n },\n });\n\n const cancelTool = createTool({\n id: `DECO_CHAT_WORKFLOWS_CANCEL_${workflow.id}`,\n description: `Cancel ${workflow.description ?? `workflow ${workflow.id}`}`,\n inputSchema: z.object({ runId: z.string() }),\n outputSchema: z.object({ cancelled: z.boolean() }),\n execute: async (args) => {\n const runId = args.context.runId;\n const workflowDO = bindings.DECO_WORKFLOW_DO.get(\n bindings.DECO_WORKFLOW_DO.idFromName(runId),\n );\n\n using _ = await workflowDO.cancel({\n workflowId: workflow.id,\n runId,\n ctx: bindings.DECO_REQUEST_CONTEXT,\n });\n\n return { cancelled: true };\n },\n });\n\n const resumeTool = createTool({\n id: `DECO_CHAT_WORKFLOWS_RESUME_${workflow.id}`,\n description: `Resume ${workflow.description ?? `workflow ${workflow.id}`}`,\n inputSchema: z.object({\n runId: z.string(),\n stepId: z.string(),\n resumeData: z.any(),\n }),\n outputSchema: z.object({ resumed: z.boolean() }),\n execute: async (args) => {\n const runId = args.context.runId;\n const workflowDO = bindings.DECO_WORKFLOW_DO.get(\n bindings.DECO_WORKFLOW_DO.idFromName(runId),\n );\n\n using _ = await workflowDO.resume({\n workflowId: workflow.id,\n runId,\n resumeData: args.context.resumeData,\n stepId: args.context.stepId,\n ctx: bindings.DECO_REQUEST_CONTEXT,\n });\n\n return { resumed: true };\n },\n });\n\n return [startTool, cancelTool, resumeTool];\n};\n\ntype CallTool = (opts: {\n toolCallId: string;\n toolCallInput: any;\n}) => Promise<any>;\n\nexport type MCPServer<TEnv = any, TSchema extends z.ZodTypeAny = never> = {\n fetch: Fetch<TEnv & DefaultEnv<TSchema>>;\n callTool: CallTool;\n};\n\nexport const isWorkflow = (value: any): value is Workflow => {\n return value && !(value instanceof Promise);\n};\n\nexport const createMCPServer = <\n TEnv = any,\n TSchema extends z.ZodTypeAny = never,\n>(\n options: CreateMCPServerOptions<TEnv, TSchema>,\n): MCPServer<TEnv, TSchema> => {\n const createServer = async (bindings: TEnv & DefaultEnv<TSchema>) => {\n await options.before?.(bindings);\n\n const server = new McpServer(\n { name: \"@deco/mcp-api\", version: \"1.0.0\" },\n { capabilities: { tools: {} } },\n );\n\n // Resolve resources first; build resource tools; append later\n const resolvedResources = await Promise.all(\n options.resources?.map((r) => r(bindings)) ?? [],\n );\n const readHandlers = new Map<\n string,\n (a: { uri: string }) => Promise<any>\n >();\n const searchHandlers = new Map<\n string,\n (a: { term: string; cursor?: string; limit?: number }) => Promise<any>\n >();\n const createHandlers = new Map<string, (a: any) => Promise<any>>();\n const updateHandlers = new Map<string, (a: any) => Promise<any>>();\n const deleteHandlers = new Map<string, (a: any) => Promise<any>>();\n for (const r of resolvedResources) {\n if (r?.tools?.read) readHandlers.set(r.name, r.tools.read);\n if (r?.tools?.search) searchHandlers.set(r.name, r.tools.search);\n if (r?.tools?.create) createHandlers.set(r.name, r.tools.create);\n if (r?.tools?.update) updateHandlers.set(r.name, r.tools.update);\n if (r?.tools?.delete) deleteHandlers.set(r.name, r.tools.delete);\n }\n const resourceTools: ReturnType<typeof createTool>[] = [];\n if (resolvedResources.length > 0) {\n resourceTools.push(\n createTool({\n id: \"DECO_CHAT_RESOURCES_READ\",\n description: \"Read a resource by uri (name + uri)\",\n inputSchema: ResourcesReadInputSchema,\n outputSchema: ResourcesReadOutputSchema,\n execute: (input) => {\n // @ts-expect-error - input.name is not a string\n const fn = readHandlers.get(input.name);\n if (!fn) {\n // @ts-expect-error - input.name is not a string\n throw new Error(`READ not implemented for ${input.name}`);\n }\n // @ts-expect-error - input.name is not a string\n return fn({ uri: input.uri });\n },\n }),\n );\n resourceTools.push(\n createTool({\n id: \"DECO_CHAT_RESOURCES_SEARCH\",\n description: \"Search resources (name + term)\",\n inputSchema: ResourceSearchInputSchema,\n outputSchema: ResourceSearchOutputSchema,\n execute: (input) => {\n // @ts-expect-error - input.name is not a string\n const fn = searchHandlers.get(input.name);\n if (!fn) {\n // @ts-expect-error - input.name is not a string\n throw new Error(`SEARCH not implemented for ${input.name}`);\n }\n // @ts-expect-error - input.name is not a string\n const { term, cursor, limit } = input;\n return fn({ term, cursor, limit });\n },\n }),\n );\n resourceTools.push(\n createTool({\n id: \"DECO_CHAT_RESOURCES_CREATE\",\n description: \"Create a resource (name + content)\",\n inputSchema: ResourceCreateInputSchema,\n outputSchema: ResourceCreateOutputSchema,\n execute: (input) => {\n // @ts-expect-error - input.name is not a string\n const fn = createHandlers.get(input.name);\n if (!fn) {\n // @ts-expect-error - input.name is not a string\n throw new Error(`CREATE not implemented for ${input.name}`);\n }\n return fn(input);\n },\n }),\n );\n resourceTools.push(\n createTool({\n id: \"DECO_CHAT_RESOURCES_UPDATE\",\n description: \"Update a resource (name + uri)\",\n inputSchema: ResourceUpdateInputSchema,\n outputSchema: ResourceUpdateOutputSchema,\n execute: (input) => {\n // @ts-expect-error - input.name is not a string\n const fn = updateHandlers.get(input.name);\n if (!fn) {\n // @ts-expect-error - input.name is not a string\n throw new Error(`UPDATE not implemented for ${input.name}`);\n }\n return fn(input);\n },\n }),\n );\n resourceTools.push(\n createTool({\n id: \"DECO_CHAT_RESOURCES_DELETE\",\n description: \"Delete a resource (name + uri)\",\n inputSchema: ResourceDeleteInputSchema,\n outputSchema: ResourceDeleteOutputSchema,\n execute: (input) => {\n // @ts-expect-error - input.name is not a string\n const fn = deleteHandlers.get(input.name);\n if (!fn) {\n // @ts-expect-error - input.name is not a string\n throw new Error(`DELETE not implemented for ${input.name}`);\n }\n return fn(input);\n },\n }),\n );\n resourceTools.push(\n createTool({\n id: \"DECO_CHAT_RESOURCES_LIST\",\n description: \"List resource types\",\n inputSchema: z.object({}),\n outputSchema: ResourcesListOutputSchema,\n execute: () =>\n Promise.resolve({\n resources: resolvedResources.map((r) => ({\n name: r.name,\n icon: r.icon,\n title: r.title,\n description: r.description ?? \"\",\n hasCreate: Boolean(createHandlers.get(r.name)),\n hasUpdate: Boolean(updateHandlers.get(r.name)),\n hasDelete: Boolean(deleteHandlers.get(r.name)),\n })),\n }),\n }),\n );\n }\n\n const toolsFn =\n typeof options.tools === \"function\"\n ? options.tools\n : async (bindings: TEnv & DefaultEnv<TSchema>) => {\n if (typeof options.tools === \"function\") {\n return await options.tools(bindings);\n }\n return await Promise.all(\n options.tools?.flatMap(async (tool) => {\n const toolResult = tool(bindings);\n const awaited = await toolResult;\n if (Array.isArray(awaited)) {\n return awaited;\n }\n return [awaited];\n }) ?? [],\n ).then((t) => t.flat());\n };\n const tools = await toolsFn(bindings);\n\n // since mastra workflows are thenables, we need to await and add as a prop\n const workflows = await Promise.all(\n options.workflows?.map(async (workflow) => {\n const workflowResult = workflow(bindings);\n if (isWorkflow(workflowResult)) {\n return { workflow: workflowResult };\n }\n\n return await workflowResult;\n }) ?? [],\n ).then((w) => w.map((w) => w.workflow));\n\n const workflowTools =\n workflows?.flatMap((workflow) =>\n createWorkflowTools(workflow, bindings),\n ) ?? [];\n\n tools.push(...workflowTools);\n tools.push(...decoChatOAuthToolsFor<TSchema>(options.oauth));\n tools.push(createStateValidationTool(options.oauth?.state));\n\n tools.push(\n createTool({\n id: `DECO_CHAT_VIEWS_LIST`,\n description: \"List views exposed by this MCP\",\n inputSchema: z.any(),\n outputSchema: ViewsListOutputSchema,\n execute: async () => {\n const base = ((await options.views?.(bindings)) ?? []).map((v) => ({\n id: undefined,\n // Stable machine name for routing: UPPERCASE + underscores\n name: v.title.toUpperCase().replace(/[^A-Z0-9]/g, \"_\"),\n title: v.title,\n description: undefined,\n icon: v.icon,\n url: v.url,\n tools: v.tools ?? [],\n rules: v.rules ?? [],\n installBehavior: v.installBehavior ?? \"none\",\n }));\n const resourceViews = resolvedResources\n .map((r) => {\n const listUrl =\n r.views?.list?.url ??\n `internal://resource/list?name=${encodeURIComponent(r.name)}`;\n\n // Default CRUD tool ids for resources\n const defaultListTools: string[] = (() => {\n const base = [\n \"DECO_CHAT_RESOURCES_LIST\",\n \"DECO_CHAT_RESOURCES_READ\",\n \"DECO_CHAT_RESOURCES_SEARCH\",\n ];\n const canCreate = Boolean(createHandlers.get(r.name));\n const canUpdate = Boolean(updateHandlers.get(r.name));\n const canDelete = Boolean(deleteHandlers.get(r.name));\n if (canCreate) base.push(\"DECO_CHAT_RESOURCES_CREATE\");\n if (canUpdate) base.push(\"DECO_CHAT_RESOURCES_UPDATE\");\n if (canDelete) base.push(\"DECO_CHAT_RESOURCES_DELETE\");\n return base;\n })();\n\n const defaultListRules: string[] = [\n `You are viewing the ${\n r.title ?? r.name\n } resources list. Resources are changeable via Resource tools (DECO_CHAT_RESOURCES_*). Use the appropriate tools to read, search, create, update, or delete items; do not fabricate data.`,\n ];\n\n const list = [\n {\n name: `${r.name.toUpperCase()}_LIST`,\n title: `${r.name} List`,\n description: r.description,\n icon: r.icon,\n url: listUrl,\n tools: r.views?.list?.tools ?? defaultListTools,\n rules: r.views?.list?.rules ?? defaultListRules,\n },\n ];\n const detailUrl =\n r.views?.detail?.url ??\n `internal://resource/detail?name=${encodeURIComponent(r.name)}`;\n const detail = [\n {\n name: `${r.name.toUpperCase()}_DETAIL`,\n title: `${r.name} Detail`,\n description: r.description,\n icon: r.icon,\n url: detailUrl,\n mimeTypePattern: r.views?.detail?.mimeTypePattern,\n resourceName: r.views?.detail?.resourceName ?? r.name,\n tools: r.views?.detail?.tools ?? [],\n rules: r.views?.detail?.rules ?? [],\n },\n ];\n return [...list, ...detail];\n })\n .flat();\n\n return { views: [...base, ...resourceViews] };\n },\n }),\n );\n\n for (const tool of tools) {\n server.registerTool(\n tool.id,\n {\n _meta: {\n streamable: isStreamableTool(tool),\n },\n description: tool.description,\n inputSchema:\n tool.inputSchema && \"shape\" in tool.inputSchema\n ? (tool.inputSchema.shape as z.ZodRawShape)\n : z.object({}).shape,\n outputSchema: isStreamableTool(tool)\n ? z.object({ bytes: z.record(z.string(), z.number()) }).shape\n : tool.outputSchema &&\n typeof tool.outputSchema === \"object\" &&\n \"shape\" in tool.outputSchema\n ? (tool.outputSchema.shape as z.ZodRawShape)\n : z.object({}).shape,\n },\n async (args) => {\n let result = await tool.execute!({\n context: args,\n runId: crypto.randomUUID(),\n runtimeContext: createRuntimeContext(),\n });\n\n if (isStreamableTool(tool) && result instanceof Response) {\n result = { bytes: await result.bytes() };\n }\n return {\n structuredContent: result,\n content: [\n {\n type: \"text\",\n text: JSON.stringify(result),\n },\n ],\n };\n },\n );\n }\n\n return { server, tools };\n };\n\n const fetch = async (\n req: Request,\n env: TEnv & DefaultEnv<TSchema>,\n _ctx: ExecutionContext,\n ) => {\n const { server } = await createServer(env);\n const transport = new HttpServerTransport();\n\n await server.connect(transport);\n\n return await transport.handleMessage(req);\n };\n\n const callTool: CallTool = async ({ toolCallId, toolCallInput }) => {\n const currentState = State.getStore();\n if (!currentState) {\n throw new Error(\"Missing state, did you forget to call State.bind?\");\n }\n const env = currentState?.env;\n const { tools } = await createServer(env);\n const tool = tools.find((t) => t.id === toolCallId);\n const execute = tool?.execute;\n if (!execute) {\n throw new Error(\n `Tool ${toolCallId} not found or does not have an execute function`,\n );\n }\n\n return execute({\n context: toolCallInput,\n runId: crypto.randomUUID(),\n runtimeContext: createRuntimeContext(),\n });\n };\n\n return {\n fetch,\n callTool,\n };\n};\n"]}
package/dist/drizzle.d.ts CHANGED
@@ -3,15 +3,16 @@ import * as drizzleOrm from 'drizzle-orm';
3
3
  export { drizzleOrm as orm };
4
4
  import { SqliteRemoteDatabase } from 'drizzle-orm/sqlite-proxy';
5
5
  export * from 'drizzle-orm/sqlite-core';
6
- import { D as DefaultEnv } from './index-D8GtUDPS.js';
6
+ import { D as DefaultEnv } from './index-COMJ3oN7.js';
7
7
  import '@cloudflare/workers-types';
8
8
  import 'zod';
9
9
  import '@mastra/core';
10
10
  import '@mastra/core/di';
11
11
  import '@mastra/core/workflows';
12
12
  import './resources.js';
13
- import './mcp-Bv7IAgWX.js';
14
- import './connection-DDtQYrea.js';
13
+ import './mcp-Dbqp-p04.js';
14
+ import '@decocms/bindings/connection';
15
+ import '@decocms/bindings';
15
16
 
16
17
  declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>({ DECO_WORKSPACE_DB }: Pick<DefaultEnv, "DECO_WORKSPACE_DB">, config?: DrizzleConfig<TSchema>): SqliteRemoteDatabase<TSchema>;
17
18
  /**
@@ -4,8 +4,9 @@ import { ToolExecutionContext, ToolAction, Tool, Workflow as Workflow$1 } from '
4
4
  import { RuntimeContext } from '@mastra/core/di';
5
5
  import { createWorkflow, Step as Step$1, ExecuteFunction, DefaultEngineType } from '@mastra/core/workflows';
6
6
  import { ResourceCreateInputSchema, ResourceUpdateInputSchema, ResourceDeleteInputSchema } from './resources.js';
7
- import { Q as QueryResult } from './mcp-Bv7IAgWX.js';
8
- import { M as MCPConnection } from './connection-DDtQYrea.js';
7
+ import { Q as QueryResult } from './mcp-Dbqp-p04.js';
8
+ import { MCPConnection } from '@decocms/bindings/connection';
9
+ import '@decocms/bindings';
9
10
 
10
11
  declare const createRuntimeContext: (prev?: RuntimeContext<AppContext>) => RuntimeContext<AppContext<any>>;
11
12
  /**
@@ -467,4 +468,4 @@ declare const withRuntime: <TEnv, TSchema extends z.ZodTypeAny = never>(userFns:
467
468
  Workflow: ReturnType<typeof Workflow>;
468
469
  };
469
470
 
470
- export { type AppContext as A, type BindingsObject as B, type CreatedTool as C, type DefaultEnv as D, type ExecWithContext as E, type Fetch as F, type Integration as I, type MCPServer as M, type Resources as R, type StreamableTool as S, type UserDefaultExport as U, type ViewExport as V, type WorkspaceDB as W, createRuntimeContext as a, createStreamableTool as b, createPrivateTool as c, createTool as d, type Step as e, createStepFromTool as f, createStep as g, type CreateMCPServerOptions as h, isStreamableTool as i, isWorkflow as j, createMCPServer as k, WorkersMCPBindings as l, type User as m, type RequestContext as n, UnauthorizedError as o, withRuntime as p, proxyConnectionForId as q, type Contract as r, type Migration as s, type WranglerConfig as t, withBindings as w };
471
+ export { type AppContext as A, type BindingsObject as B, type CreatedTool as C, type DefaultEnv as D, type ExecWithContext as E, type Fetch as F, type Integration as I, type MCPServer as M, type Resources as R, type StreamableTool as S, type UserDefaultExport as U, type ViewExport as V, type WorkspaceDB as W, createStreamableTool as a, createRuntimeContext as b, createPrivateTool as c, createTool as d, type Step as e, createStepFromTool as f, createStep as g, type CreateMCPServerOptions as h, isStreamableTool as i, isWorkflow as j, createMCPServer as k, WorkersMCPBindings as l, type User as m, type RequestContext as n, UnauthorizedError as o, withRuntime as p, proxyConnectionForId as q, type Contract as r, type Migration as s, type WranglerConfig as t, withBindings as w };
@@ -1,8 +1,8 @@
1
1
  import * as _mastra_core from '@mastra/core';
2
+ import { D as DefaultEnv, S as StreamableTool } from './index-COMJ3oN7.js';
2
3
  import * as zod from 'zod';
3
4
  import { z } from 'zod';
4
- import { D as DefaultEnv } from './index-D8GtUDPS.js';
5
- import { M as MCPClientFetchStub } from './mcp-Bv7IAgWX.js';
5
+ import { M as MCPClientFetchStub } from './mcp-Dbqp-p04.js';
6
6
 
7
7
  type BaseResourceDataSchema = z.ZodObject<{
8
8
  name: z.ZodString;
@@ -277,11 +277,11 @@ declare function createResourceBindings<TDataSchema extends BaseResourceDataSche
277
277
  success: z.ZodBoolean;
278
278
  uri: z.ZodString;
279
279
  }, "strip", z.ZodTypeAny, {
280
- success: boolean;
281
280
  uri: string;
282
- }, {
283
281
  success: boolean;
282
+ }, {
284
283
  uri: string;
284
+ success: boolean;
285
285
  }>;
286
286
  readonly opt: true;
287
287
  }, {
@@ -402,12 +402,12 @@ declare const deconfigTools: readonly [{
402
402
  format: z.ZodOptional<z.ZodEnum<["base64", "byteArray", "plainString", "json"]>>;
403
403
  }, "strip", z.ZodTypeAny, {
404
404
  path: string;
405
- branch?: string | undefined;
406
405
  format?: "json" | "base64" | "byteArray" | "plainString" | undefined;
406
+ branch?: string | undefined;
407
407
  }, {
408
408
  path: string;
409
- branch?: string | undefined;
410
409
  format?: "json" | "base64" | "byteArray" | "plainString" | undefined;
410
+ branch?: string | undefined;
411
411
  }>;
412
412
  readonly outputSchema: z.ZodObject<{
413
413
  content: z.ZodAny;
@@ -447,16 +447,16 @@ declare const deconfigTools: readonly [{
447
447
  content: string | number[] | {
448
448
  base64: string;
449
449
  };
450
- branch?: string | undefined;
451
450
  metadata?: Record<string, any> | undefined;
451
+ branch?: string | undefined;
452
452
  expectedCtime?: number | undefined;
453
453
  }, {
454
454
  path: string;
455
455
  content: string | number[] | {
456
456
  base64: string;
457
457
  };
458
- branch?: string | undefined;
459
458
  metadata?: Record<string, any> | undefined;
459
+ branch?: string | undefined;
460
460
  expectedCtime?: number | undefined;
461
461
  }>;
462
462
  readonly outputSchema: z.ZodObject<{
@@ -504,7 +504,7 @@ declare class NotFoundError extends Error {
504
504
  declare class UserInputError extends Error {
505
505
  constructor(message: string);
506
506
  }
507
- declare const createDeconfigResource: <TDataSchema extends BaseResourceDataSchema>(options: DeconfigResourceOptions<TDataSchema>) => _mastra_core.Tool<zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any> | undefined, zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any>, _mastra_core.ToolExecutionContext<zod.ZodType<any, zod.ZodTypeDef, any>, any, any>>[];
507
+ declare const createDeconfigResource: <TDataSchema extends BaseResourceDataSchema>(options: DeconfigResourceOptions<TDataSchema>) => (StreamableTool<zod.ZodType<any, zod.ZodTypeDef, any>> | _mastra_core.Tool<zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any> | undefined, zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any>, _mastra_core.ToolExecutionContext<zod.ZodType<any, zod.ZodTypeDef, any>, any, any>>)[];
508
508
  interface WatchOptions {
509
509
  watcherId?: string;
510
510
  pathFilter: string;
@@ -523,7 +523,7 @@ declare const DeconfigResource: {
523
523
  }>;
524
524
  create: (env: DefaultEnv & {
525
525
  DECONFIG: DeconfigClient;
526
- }) => _mastra_core.Tool<zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any> | undefined, zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any>, _mastra_core.ToolExecutionContext<zod.ZodType<any, zod.ZodTypeDef, any>, any, any>>[];
526
+ }) => (StreamableTool<zod.ZodType<any, zod.ZodTypeDef, any>> | _mastra_core.Tool<zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any> | undefined, zod.ZodType<any, zod.ZodTypeDef, any>, zod.ZodType<any, zod.ZodTypeDef, any>, _mastra_core.ToolExecutionContext<zod.ZodType<any, zod.ZodTypeDef, any>, any, any>>)[];
527
527
  };
528
528
  };
529
529
 
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import '@cloudflare/workers-types';
2
2
  import 'zod';
3
- export { B as BindingsObject, r as Contract, D as DefaultEnv, s as Migration, n as RequestContext, o as UnauthorizedError, m as User, U as UserDefaultExport, l as WorkersMCPBindings, W as WorkspaceDB, t as WranglerConfig, q as proxyConnectionForId, w as withBindings, p as withRuntime } from './index-D8GtUDPS.js';
4
- export { C as CreateStubAPIOptions, T as ToolBinder, c as createMCPFetchStub } from './mcp-Bv7IAgWX.js';
3
+ export { B as BindingsObject, r as Contract, D as DefaultEnv, s as Migration, n as RequestContext, o as UnauthorizedError, m as User, U as UserDefaultExport, l as WorkersMCPBindings, W as WorkspaceDB, t as WranglerConfig, q as proxyConnectionForId, w as withBindings, p as withRuntime } from './index-COMJ3oN7.js';
4
+ export { C as CreateStubAPIOptions, c as createMCPFetchStub } from './mcp-Dbqp-p04.js';
5
+ export { ToolBinder } from '@decocms/bindings';
5
6
  import '@mastra/core';
6
7
  import '@mastra/core/di';
7
8
  import '@mastra/core/workflows';
8
9
  import './resources.js';
9
- import './connection-DDtQYrea.js';
10
+ import '@decocms/bindings/connection';
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import { DeconfigResource, MCPClient } from './chunk-O6IURJAY.js';
2
- export { createMCPFetchStub } from './chunk-O6IURJAY.js';
3
- import './chunk-QELHWEZH.js';
4
- import './chunk-F6XZPFWM.js';
1
+ import { DeconfigResource, MCPClient } from './chunk-GPIGZ6DL.js';
2
+ export { createMCPFetchStub } from './chunk-GPIGZ6DL.js';
3
+ import './chunk-5EYZ2LVM.js';
4
+ import './chunk-3AWMDSOH.js';
5
5
  import { DECO_MCP_CLIENT_HEADER } from './chunk-4XSQKJLU.js';
6
6
  import './chunk-UHR3BLMF.js';
7
- import { createMCPServer, State, isWorkflow } from './chunk-I2KGAHFY.js';
7
+ import { createMCPServer, State, isWorkflow } from './chunk-LCU3FBI3.js';
8
8
  import './chunk-AOFOWQXY.js';
9
9
  import { D1Store } from './chunk-ZPUT6RN6.js';
10
10
  import './chunk-NKUMVYKI.js';
package/dist/mastra.d.ts CHANGED
@@ -2,8 +2,9 @@ import '@mastra/core';
2
2
  import '@mastra/core/di';
3
3
  export { cloneStep, cloneWorkflow, createWorkflow } from '@mastra/core/workflows';
4
4
  import 'zod';
5
- export { A as AppContext, h as CreateMCPServerOptions, C as CreatedTool, E as ExecWithContext, F as Fetch, I as Integration, M as MCPServer, R as Resources, e as Step, S as StreamableTool, V as ViewExport, k as createMCPServer, c as createPrivateTool, a as createRuntimeContext, g as createStep, f as createStepFromTool, b as createStreamableTool, d as createTool, i as isStreamableTool, j as isWorkflow } from './index-D8GtUDPS.js';
5
+ export { A as AppContext, h as CreateMCPServerOptions, C as CreatedTool, E as ExecWithContext, F as Fetch, I as Integration, M as MCPServer, R as Resources, e as Step, S as StreamableTool, V as ViewExport, k as createMCPServer, c as createPrivateTool, b as createRuntimeContext, g as createStep, f as createStepFromTool, a as createStreamableTool, d as createTool, i as isStreamableTool, j as isWorkflow } from './index-COMJ3oN7.js';
6
6
  import './resources.js';
7
7
  import '@cloudflare/workers-types';
8
- import './mcp-Bv7IAgWX.js';
9
- import './connection-DDtQYrea.js';
8
+ import './mcp-Dbqp-p04.js';
9
+ import '@decocms/bindings/connection';
10
+ import '@decocms/bindings';
package/dist/mastra.js CHANGED
@@ -1,4 +1,4 @@
1
- export { cloneStep, cloneWorkflow, createMCPServer, createPrivateTool, createRuntimeContext, createStep, createStepFromTool, createStreamableTool, createTool, createWorkflow, isStreamableTool, isWorkflow } from './chunk-I2KGAHFY.js';
1
+ export { cloneStep, cloneWorkflow, createMCPServer, createPrivateTool, createRuntimeContext, createStep, createStepFromTool, createStreamableTool, createTool, createWorkflow, isStreamableTool, isWorkflow } from './chunk-LCU3FBI3.js';
2
2
  import './chunk-AOFOWQXY.js';
3
3
  import './chunk-NKUMVYKI.js';
4
4
  import './chunk-I7BWSAN6.js';
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { M as MCPConnection } from './connection-DDtQYrea.js';
2
+ import { MCPConnection } from '@decocms/bindings/connection';
3
+ import { ToolBinder } from '@decocms/bindings';
3
4
 
4
5
  declare const QueryResult: z.ZodObject<{
5
6
  meta: z.ZodOptional<z.ZodObject<{
@@ -27,7 +28,7 @@ declare const QueryResult: z.ZodObject<{
27
28
  rows_read?: number | undefined;
28
29
  rows_written?: number | undefined;
29
30
  served_by_primary?: boolean | undefined;
30
- served_by_region?: "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | "OC" | undefined;
31
+ served_by_region?: "OC" | "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | undefined;
31
32
  size_after?: number | undefined;
32
33
  timings?: {
33
34
  sql_duration_ms?: number | undefined;
@@ -40,7 +41,7 @@ declare const QueryResult: z.ZodObject<{
40
41
  rows_read?: number | undefined;
41
42
  rows_written?: number | undefined;
42
43
  served_by_primary?: boolean | undefined;
43
- served_by_region?: "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | "OC" | undefined;
44
+ served_by_region?: "OC" | "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | undefined;
44
45
  size_after?: number | undefined;
45
46
  timings?: {
46
47
  sql_duration_ms?: number | undefined;
@@ -57,7 +58,7 @@ declare const QueryResult: z.ZodObject<{
57
58
  rows_read?: number | undefined;
58
59
  rows_written?: number | undefined;
59
60
  served_by_primary?: boolean | undefined;
60
- served_by_region?: "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | "OC" | undefined;
61
+ served_by_region?: "OC" | "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | undefined;
61
62
  size_after?: number | undefined;
62
63
  timings?: {
63
64
  sql_duration_ms?: number | undefined;
@@ -74,7 +75,7 @@ declare const QueryResult: z.ZodObject<{
74
75
  rows_read?: number | undefined;
75
76
  rows_written?: number | undefined;
76
77
  served_by_primary?: boolean | undefined;
77
- served_by_region?: "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | "OC" | undefined;
78
+ served_by_region?: "OC" | "WNAM" | "ENAM" | "WEUR" | "EEUR" | "APAC" | undefined;
78
79
  size_after?: number | undefined;
79
80
  timings?: {
80
81
  sql_duration_ms?: number | undefined;
@@ -84,14 +85,8 @@ declare const QueryResult: z.ZodObject<{
84
85
  success?: boolean | undefined;
85
86
  }>;
86
87
  type QueryResult = z.infer<typeof QueryResult>;
87
- interface ToolBinder<TName extends string = string, TInput = any, TReturn extends object | null | boolean = object> {
88
- name: TName;
89
- inputSchema: z.ZodType<TInput>;
90
- outputSchema?: z.ZodType<TReturn>;
91
- opt?: true;
92
- }
93
88
  type MCPClientFetchStub<TDefinition extends readonly ToolBinder[]> = {
94
- [K in TDefinition[number] as K["name"]]: K extends ToolBinder<string, infer TInput, infer TReturn> ? (params: TInput, init?: RequestInit) => Promise<Awaited<TReturn>> : never;
89
+ [K in TDefinition[number] as K["name"]]: K["streamable"] extends true ? K extends ToolBinder<string, infer TInput, any, true> ? (params: TInput, init?: RequestInit) => Promise<Response> : never : K extends ToolBinder<string, infer TInput, infer TReturn, any> ? (params: TInput, init?: RequestInit) => Promise<Awaited<TReturn>> : never;
95
90
  };
96
91
  type MCPConnectionProvider = MCPConnection;
97
92
  interface CreateStubAPIOptions {
@@ -100,10 +95,11 @@ interface CreateStubAPIOptions {
100
95
  workspace?: string;
101
96
  token?: string;
102
97
  connection?: MCPConnectionProvider;
98
+ streamable?: Record<string, boolean>;
103
99
  debugId?: () => string;
104
100
  getErrorByStatusCode?: (statusCode: number, message?: string, traceId?: string, errorObject?: unknown) => Error;
105
101
  supportsToolName?: boolean;
106
102
  }
107
103
  declare function createMCPFetchStub<TDefinition extends readonly ToolBinder[]>(options?: CreateStubAPIOptions): MCPClientFetchStub<TDefinition>;
108
104
 
109
- export { type CreateStubAPIOptions as C, type MCPClientFetchStub as M, QueryResult as Q, type ToolBinder as T, createMCPFetchStub as c };
105
+ export { type CreateStubAPIOptions as C, type MCPClientFetchStub as M, QueryResult as Q, createMCPFetchStub as c };
@@ -1,19 +1,8 @@
1
1
  import * as zod from 'zod';
2
2
  import { Client as Client$1, ClientOptions } from '@modelcontextprotocol/sdk/client/index.js';
3
- import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
4
- import { WebSocketClientTransport } from '@modelcontextprotocol/sdk/client/websocket.js';
5
3
  import { RequestOptions } from '@modelcontextprotocol/sdk/shared/protocol.js';
6
- import { JSONRPCMessage, Implementation, ListToolsRequest } from '@modelcontextprotocol/sdk/types.js';
7
- import { M as MCPConnection } from './connection-DDtQYrea.js';
8
- import { StreamableHTTPClientTransport, StreamableHTTPClientTransportOptions } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
9
-
10
- declare class HTTPClientTransport extends StreamableHTTPClientTransport {
11
- constructor(url: URL, opts?: StreamableHTTPClientTransportOptions);
12
- send(message: JSONRPCMessage, options?: {
13
- resumptionToken?: string;
14
- onresumptiontoken?: (token: string) => void;
15
- }): Promise<void>;
16
- }
4
+ import { Implementation, ListToolsRequest } from '@modelcontextprotocol/sdk/types.js';
5
+ import { MCPConnection } from '@decocms/bindings/connection';
17
6
 
18
7
  /**
19
8
  * WARNNING: This is a hack to prevent schema compilation errors.
@@ -227,10 +216,14 @@ declare class Client extends Client$1 {
227
216
  }>, zod.ZodTypeAny, "passthrough">>, "many">;
228
217
  }, zod.ZodTypeAny, "passthrough">>;
229
218
  }
219
+ interface ServerClient {
220
+ client: Client;
221
+ callStreamableTool: (tool: string, args: unknown) => Promise<Response>;
222
+ }
230
223
  declare const createServerClient: (mcpServer: {
231
224
  connection: MCPConnection;
232
225
  name?: string;
233
- }, signal?: AbortSignal, extraHeaders?: Record<string, string>) => Promise<Client>;
234
- declare const createTransport: (connection: MCPConnection, signal?: AbortSignal, extraHeaders?: Record<string, string>) => HTTPClientTransport | WebSocketClientTransport | SSEClientTransport | null;
226
+ }, signal?: AbortSignal, extraHeaders?: Record<string, string>) => Promise<ServerClient>;
227
+ declare const createTransport: (connection: MCPConnection, signal?: AbortSignal, extraHeaders?: Record<string, string>) => any;
235
228
 
236
- export { createServerClient, createTransport };
229
+ export { type ServerClient, createServerClient, createTransport };
@@ -1,4 +1,4 @@
1
- export { createServerClient, createTransport } from './chunk-F6XZPFWM.js';
1
+ export { createServerClient, createTransport } from './chunk-3AWMDSOH.js';
2
2
  import './chunk-I7BWSAN6.js';
3
3
  //# sourceMappingURL=mcp-client.js.map
4
4
  //# sourceMappingURL=mcp-client.js.map
package/dist/proxy.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { C as CreateStubAPIOptions } from './mcp-Bv7IAgWX.js';
1
+ import { C as CreateStubAPIOptions } from './mcp-Dbqp-p04.js';
2
2
  import 'zod';
3
- import './connection-DDtQYrea.js';
3
+ import '@decocms/bindings/connection';
4
+ import '@decocms/bindings';
4
5
 
5
6
  /**
6
7
  * The base fetcher used to fetch the MCP from API.
package/dist/proxy.js CHANGED
@@ -1,5 +1,5 @@
1
- export { createMCPClientProxy } from './chunk-QELHWEZH.js';
2
- import './chunk-F6XZPFWM.js';
1
+ export { createMCPClientProxy } from './chunk-5EYZ2LVM.js';
2
+ import './chunk-3AWMDSOH.js';
3
3
  import './chunk-I7BWSAN6.js';
4
4
  //# sourceMappingURL=proxy.js.map
5
5
  //# sourceMappingURL=proxy.js.map