@copilotkit/runtime 1.50.0-beta.9 → 1.50.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.
- package/CHANGELOG.md +157 -0
- package/dist/chunk-27JKTS6P.mjs +1704 -0
- package/dist/chunk-27JKTS6P.mjs.map +1 -0
- package/dist/{chunk-FMU55SEU.mjs → chunk-2GPTVDTO.mjs} +2 -2
- package/dist/chunk-3AJVKDZX.mjs +3097 -0
- package/dist/chunk-3AJVKDZX.mjs.map +1 -0
- package/dist/{chunk-BJEYMRDD.mjs → chunk-45RCC3ZS.mjs} +2 -2
- package/dist/chunk-4EHJ4XFJ.mjs +25 -0
- package/dist/chunk-4EHJ4XFJ.mjs.map +1 -0
- package/dist/chunk-4IANB4TC.mjs +25 -0
- package/dist/chunk-4IANB4TC.mjs.map +1 -0
- package/dist/{chunk-Z752VE75.mjs → chunk-4KES76K3.mjs} +2 -2
- package/dist/chunk-4OGE3SLW.mjs +3100 -0
- package/dist/chunk-4OGE3SLW.mjs.map +1 -0
- package/dist/chunk-54YJBMCP.mjs +3097 -0
- package/dist/chunk-54YJBMCP.mjs.map +1 -0
- package/dist/chunk-6ER4SZYH.mjs +74 -0
- package/dist/chunk-6ER4SZYH.mjs.map +1 -0
- package/dist/chunk-6TNSLHVR.mjs +74 -0
- package/dist/chunk-6TNSLHVR.mjs.map +1 -0
- package/dist/chunk-7V4BK7TZ.mjs +25 -0
- package/dist/chunk-7V4BK7TZ.mjs.map +1 -0
- package/dist/chunk-7YZIEXD2.mjs +74 -0
- package/dist/chunk-7YZIEXD2.mjs.map +1 -0
- package/dist/chunk-A4XHOAFU.mjs +25 -0
- package/dist/chunk-A4XHOAFU.mjs.map +1 -0
- package/dist/chunk-A555KEAD.mjs +6020 -0
- package/dist/chunk-A555KEAD.mjs.map +1 -0
- package/dist/chunk-AF73TFTX.mjs +74 -0
- package/dist/chunk-AF73TFTX.mjs.map +1 -0
- package/dist/chunk-AQG2SVCA.mjs +25 -0
- package/dist/chunk-AQG2SVCA.mjs.map +1 -0
- package/dist/chunk-BJZHMXND.mjs +74 -0
- package/dist/chunk-BJZHMXND.mjs.map +1 -0
- package/dist/chunk-CB2OJXF6.mjs +25 -0
- package/dist/chunk-CB2OJXF6.mjs.map +1 -0
- package/dist/chunk-CEOMFPJU.mjs +6020 -0
- package/dist/chunk-CEOMFPJU.mjs.map +1 -0
- package/dist/chunk-CZVLR7CC.mjs +175 -0
- package/dist/chunk-CZVLR7CC.mjs.map +1 -0
- package/dist/{chunk-SBCOROE4.mjs → chunk-DCEEHMLJ.mjs} +16 -1
- package/dist/chunk-DCEEHMLJ.mjs.map +1 -0
- package/dist/chunk-DE3CLKUG.mjs +25 -0
- package/dist/chunk-DE3CLKUG.mjs.map +1 -0
- package/dist/chunk-DTPRUTNV.mjs +25 -0
- package/dist/chunk-DTPRUTNV.mjs.map +1 -0
- package/dist/{chunk-TTUAEJLD.mjs → chunk-ERUOA47O.mjs} +11 -2
- package/dist/chunk-ERUOA47O.mjs.map +1 -0
- package/dist/chunk-ESSRC64W.mjs +74 -0
- package/dist/chunk-ESSRC64W.mjs.map +1 -0
- package/dist/chunk-GRAN6K6N.mjs +25 -0
- package/dist/chunk-GRAN6K6N.mjs.map +1 -0
- package/dist/chunk-I27F2UPA.mjs +175 -0
- package/dist/chunk-I27F2UPA.mjs.map +1 -0
- package/dist/chunk-IAZKTOQW.mjs +25 -0
- package/dist/chunk-IAZKTOQW.mjs.map +1 -0
- package/dist/chunk-J6XZ5MFB.mjs +25 -0
- package/dist/chunk-J6XZ5MFB.mjs.map +1 -0
- package/dist/chunk-JJ32MA4C.mjs +73 -0
- package/dist/chunk-JJ32MA4C.mjs.map +1 -0
- package/dist/chunk-JJY4ZTHQ.mjs +25 -0
- package/dist/chunk-JJY4ZTHQ.mjs.map +1 -0
- package/dist/chunk-KEYLBFU2.mjs +3117 -0
- package/dist/chunk-KEYLBFU2.mjs.map +1 -0
- package/dist/chunk-KQ53L4WZ.mjs +3094 -0
- package/dist/chunk-KQ53L4WZ.mjs.map +1 -0
- package/dist/chunk-KTELVQ67.mjs +3098 -0
- package/dist/chunk-KTELVQ67.mjs.map +1 -0
- package/dist/chunk-LPEPX6NH.mjs +25 -0
- package/dist/chunk-LPEPX6NH.mjs.map +1 -0
- package/dist/chunk-MDXE55DK.mjs +3117 -0
- package/dist/chunk-MDXE55DK.mjs.map +1 -0
- package/dist/chunk-MMFUVOXH.mjs +73 -0
- package/dist/chunk-MMFUVOXH.mjs.map +1 -0
- package/dist/chunk-N3Y4U66N.mjs +253 -0
- package/dist/chunk-N3Y4U66N.mjs.map +1 -0
- package/dist/chunk-O7UYB4MH.mjs +25 -0
- package/dist/chunk-O7UYB4MH.mjs.map +1 -0
- package/dist/chunk-OFNVQHNM.mjs +3089 -0
- package/dist/chunk-OFNVQHNM.mjs.map +1 -0
- package/dist/{chunk-DZV4ZIAR.mjs → chunk-OFSV5GET.mjs} +17 -6
- package/dist/chunk-OFSV5GET.mjs.map +1 -0
- package/dist/chunk-OMRST67R.mjs +25 -0
- package/dist/chunk-OMRST67R.mjs.map +1 -0
- package/dist/chunk-PRZHE74A.mjs +25 -0
- package/dist/chunk-PRZHE74A.mjs.map +1 -0
- package/dist/chunk-PTYRVXXP.mjs +80 -0
- package/dist/chunk-PTYRVXXP.mjs.map +1 -0
- package/dist/chunk-R22B5CCO.mjs +25 -0
- package/dist/chunk-R22B5CCO.mjs.map +1 -0
- package/dist/chunk-SHBDMA63.mjs +141 -0
- package/dist/chunk-SHBDMA63.mjs.map +1 -0
- package/dist/chunk-SPVXBPRA.mjs +74 -0
- package/dist/chunk-SPVXBPRA.mjs.map +1 -0
- package/dist/chunk-T72G46ME.mjs +25 -0
- package/dist/chunk-T72G46ME.mjs.map +1 -0
- package/dist/chunk-TGELROPU.mjs +25 -0
- package/dist/chunk-TGELROPU.mjs.map +1 -0
- package/dist/chunk-UNX4IAAD.mjs +25 -0
- package/dist/chunk-UNX4IAAD.mjs.map +1 -0
- package/dist/chunk-V4DHVC7M.mjs +3085 -0
- package/dist/chunk-V4DHVC7M.mjs.map +1 -0
- package/dist/chunk-VVRFOB66.mjs +25 -0
- package/dist/chunk-VVRFOB66.mjs.map +1 -0
- package/dist/chunk-W6NVBYM6.mjs +80 -0
- package/dist/chunk-W6NVBYM6.mjs.map +1 -0
- package/dist/chunk-W7MBACGC.mjs +74 -0
- package/dist/chunk-W7MBACGC.mjs.map +1 -0
- package/dist/chunk-WMD4XZZS.mjs +25 -0
- package/dist/chunk-WMD4XZZS.mjs.map +1 -0
- package/dist/chunk-WX2ZNCRT.mjs +74 -0
- package/dist/chunk-WX2ZNCRT.mjs.map +1 -0
- package/dist/chunk-Y2Z62E2T.mjs +74 -0
- package/dist/chunk-Y2Z62E2T.mjs.map +1 -0
- package/dist/chunk-YO4I6RVI.mjs +25 -0
- package/dist/chunk-YO4I6RVI.mjs.map +1 -0
- package/dist/chunk-Z6Q5IW6I.mjs +3098 -0
- package/dist/chunk-Z6Q5IW6I.mjs.map +1 -0
- package/dist/chunk-Z726O3G2.mjs +25 -0
- package/dist/chunk-Z726O3G2.mjs.map +1 -0
- package/dist/chunk-ZE4SMZZR.mjs +3097 -0
- package/dist/chunk-ZE4SMZZR.mjs.map +1 -0
- package/dist/chunk-ZULZB33C.mjs +73 -0
- package/dist/chunk-ZULZB33C.mjs.map +1 -0
- package/dist/chunk-ZVRGXMY7.mjs +25 -0
- package/dist/chunk-ZVRGXMY7.mjs.map +1 -0
- package/dist/chunk-ZZ35WBYQ.mjs +25 -0
- package/dist/chunk-ZZ35WBYQ.mjs.map +1 -0
- package/dist/graphql/types/converted/index.d.ts +1 -1
- package/dist/graphql/types/converted/index.js +16 -110
- package/dist/graphql/types/converted/index.js.map +1 -1
- package/dist/graphql/types/converted/index.mjs +2 -3
- package/dist/{groq-adapter-50bc6e4a.d.ts → groq-adapter-540da9c3.d.ts} +6 -1
- package/dist/groq-adapter-a6f5e9d2.d.ts +331 -0
- package/dist/groq-adapter-c8aec5c5.d.ts +321 -0
- package/dist/index-96b330da.d.ts +119 -0
- package/dist/index.d.ts +67 -8
- package/dist/index.js +118 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +120 -31
- package/dist/index.mjs.map +1 -1
- package/dist/langserve-0c6100e3.d.ts +257 -0
- package/dist/langserve-978d5790.d.ts +243 -0
- package/dist/{langserve-74a52292.d.ts → langserve-9fc76ce5.d.ts} +1 -0
- package/dist/lib/index.d.ts +5 -59
- package/dist/lib/index.js +3702 -803
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +20 -18
- package/dist/lib/integrations/index.d.ts +15 -9
- package/dist/lib/integrations/index.js +215 -187
- package/dist/lib/integrations/index.js.map +1 -1
- package/dist/lib/integrations/index.mjs +8 -7
- package/dist/lib/integrations/nest/index.d.ts +5 -6
- package/dist/lib/integrations/nest/index.js +197 -175
- package/dist/lib/integrations/nest/index.js.map +1 -1
- package/dist/lib/integrations/nest/index.mjs +6 -5
- package/dist/lib/integrations/node-express/index.d.ts +5 -6
- package/dist/lib/integrations/node-express/index.js +197 -175
- package/dist/lib/integrations/node-express/index.js.map +1 -1
- package/dist/lib/integrations/node-express/index.mjs +6 -5
- package/dist/lib/integrations/node-http/index.d.ts +5 -6
- package/dist/lib/integrations/node-http/index.js +197 -175
- package/dist/lib/integrations/node-http/index.js.map +1 -1
- package/dist/lib/integrations/node-http/index.mjs +5 -4
- package/dist/service-adapters/index.d.ts +7 -11
- package/dist/service-adapters/index.js +8 -21
- package/dist/service-adapters/index.js.map +1 -1
- package/dist/service-adapters/index.mjs +2 -4
- package/dist/shared-0a7346ce.d.ts +466 -0
- package/dist/{shared-f6d43ef8.d.ts → shared-35c6eb04.d.ts} +3 -1
- package/dist/shared-9ed1dc31.d.ts +414 -0
- package/dist/shared-da5708fe.d.ts +449 -0
- package/package.json +14 -20
- package/src/lib/index.ts +7 -6
- package/src/lib/runtime/copilot-runtime.ts +62 -26
- package/src/lib/runtime/telemetry-agent-runner.ts +139 -0
- package/dist/chunk-DZV4ZIAR.mjs.map +0 -1
- package/dist/chunk-SBCOROE4.mjs.map +0 -1
- package/dist/chunk-TTUAEJLD.mjs.map +0 -1
- /package/dist/{chunk-FMU55SEU.mjs.map → chunk-2GPTVDTO.mjs.map} +0 -0
- /package/dist/{chunk-BJEYMRDD.mjs.map → chunk-45RCC3ZS.mjs.map} +0 -0
- /package/dist/{chunk-Z752VE75.mjs.map → chunk-4KES76K3.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/lib/integrations/shared.ts","../src/graphql/resolvers/copilot.resolver.ts","../src/graphql/inputs/generate-copilot-response.input.ts","../src/graphql/inputs/message.input.ts","../src/graphql/inputs/frontend.input.ts","../src/graphql/inputs/action.input.ts","../src/graphql/inputs/cloud.input.ts","../src/graphql/inputs/cloud-guardrails.input.ts","../src/graphql/inputs/forwarded-parameters.input.ts","../src/graphql/inputs/agent-session.input.ts","../src/graphql/inputs/agent-state.input.ts","../src/graphql/inputs/extensions.input.ts","../src/graphql/inputs/meta-event.input.ts","../src/graphql/types/meta-events.type.ts","../src/graphql/types/copilot-response.type.ts","../src/graphql/types/extensions-response.type.ts","../src/graphql/inputs/copilot-context.input.ts","../src/service-adapters/events.ts","../src/lib/telemetry-client.ts","../src/lib/runtime/copilot-runtime.ts","../src/lib/runtime/types.ts","../src/lib/runtime/mcp-tools-utils.ts","../src/lib/runtime/agent-integrations/langgraph.agent.ts","../src/agents/langgraph/events.ts","../src/graphql/types/agents-response.type.ts","../src/lib/logger.ts","../src/graphql/resolvers/state.resolver.ts","../src/graphql/types/load-agent-state-response.type.ts","../src/graphql/inputs/load-agent-state.input.ts","../src/lib/integrations/node-http/index.ts"],"sourcesContent":["{\n \"name\": \"@copilotkit/runtime\",\n \"private\": false,\n \"homepage\": \"https://github.com/CopilotKit/CopilotKit\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/CopilotKit/CopilotKit.git\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"version\": \"1.10.6\",\n \"sideEffects\": false,\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"exports\": {\n \".\": {\n \"import\": \"./dist/index.mjs\",\n \"require\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\"\n },\n \"./v2\": {\n \"import\": \"./dist/v2/index.mjs\",\n \"require\": \"./dist/v2/index.js\",\n \"types\": \"./dist/v2/index.d.ts\"\n }\n },\n \"types\": \"./dist/index.d.ts\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"build\": \"tsup --onSuccess \\\"pnpm run generate-graphql-schema\\\"\",\n \"dev\": \"tsup --watch --onSuccess \\\"pnpm run generate-graphql-schema\\\"\",\n \"test\": \"jest --passWithNoTests\",\n \"check-types\": \"tsc --noEmit\",\n \"clean\": \"rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next && rm -rf __snapshots__\",\n \"generate-graphql-schema\": \"rm -rf __snapshots__ && ts-node ./scripts/generate-gql-schema.ts\",\n \"link:global\": \"pnpm link --global\",\n \"unlink:global\": \"pnpm unlink --global\"\n },\n \"devDependencies\": {\n \"@jest/globals\": \"^29.7.0\",\n \"@swc/core\": \"1.5.28\",\n \"@types/express\": \"^4.17.21\",\n \"@types/jest\": \"^29.5.12\",\n \"@types/node\": \"^18.11.17\",\n \"@whatwg-node/server\": \"^0.9.34\",\n \"eslint\": \"^8.56.0\",\n \"eslint-config-custom\": \"workspace:*\",\n \"jest\": \"^29.6.4\",\n \"nodemon\": \"^3.1.3\",\n \"ts-jest\": \"^29.1.1\",\n \"ts-node\": \"^10.9.2\",\n \"tsconfig\": \"workspace:*\",\n \"tsup\": \"^6.7.0\",\n \"typescript\": \"^5.2.3\",\n \"vitest\": \"^3.2.4\",\n \"zod-to-json-schema\": \"^3.23.5\"\n },\n \"dependencies\": {\n \"@anthropic-ai/sdk\": \"^0.57.0\",\n \"@copilotkit/shared\": \"workspace:*\",\n \"@copilotkitnext/agent\": \"0.0.22-alpha.1\",\n \"@copilotkitnext/runtime\": \"0.0.22-alpha.1\",\n \"@graphql-yoga/plugin-defer-stream\": \"^3.3.1\",\n \"@langchain/aws\": \"^0.1.9\",\n \"@langchain/community\": \"^0.3.29\",\n \"@langchain/core\": \"^0.3.38\",\n \"@langchain/google-gauth\": \"^0.1.0\",\n \"@langchain/langgraph-sdk\": \"^0.0.70\",\n \"@langchain/openai\": \"^0.4.2\",\n \"@scarf/scarf\": \"^1.3.0\",\n \"class-transformer\": \"^0.5.1\",\n \"class-validator\": \"^0.14.1\",\n \"express\": \"^4.19.2\",\n \"graphql\": \"^16.8.1\",\n \"graphql-scalars\": \"^1.23.0\",\n \"graphql-yoga\": \"^5.3.1\",\n \"groq-sdk\": \"^0.5.0\",\n \"hono\": \"^4.10.3\",\n \"langchain\": \"^0.3.3\",\n \"openai\": \"^4.85.1\",\n \"partial-json\": \"^0.1.7\",\n \"pino\": \"^9.2.0\",\n \"pino-pretty\": \"^11.2.1\",\n \"reflect-metadata\": \"^0.2.2\",\n \"rxjs\": \"7.8.1\",\n \"type-graphql\": \"2.0.0-rc.1\",\n \"zod\": \"^3.23.3\"\n },\n \"peerDependencies\": {\n \"@ag-ui/client\": \">=0.0.39\",\n \"@ag-ui/core\": \">=0.0.39\",\n \"@ag-ui/encoder\": \">=0.0.39\",\n \"@ag-ui/langgraph\": \">=0.0.18\",\n \"@ag-ui/proto\": \">=0.0.39\"\n },\n \"keywords\": [\n \"copilotkit\",\n \"copilot\",\n \"react\",\n \"nextjs\",\n \"nodejs\",\n \"ai\",\n \"assistant\",\n \"javascript\",\n \"automation\",\n \"textarea\"\n ]\n}\n","import { YogaInitialContext } from \"graphql-yoga\";\nimport { buildSchemaSync } from \"type-graphql\";\nimport { CopilotResolver } from \"../../graphql/resolvers/copilot.resolver\";\nimport { useDeferStream } from \"@graphql-yoga/plugin-defer-stream\";\nimport { CopilotRuntime } from \"../runtime/copilot-runtime\";\nimport { CopilotServiceAdapter } from \"../../service-adapters\";\nimport { CopilotCloudOptions } from \"../cloud\";\nimport { LogLevel, createLogger } from \"../../lib/logger\";\nimport { createYoga } from \"graphql-yoga\";\nimport telemetry from \"../telemetry-client\";\nimport { StateResolver } from \"../../graphql/resolvers/state.resolver\";\nimport * as packageJson from \"../../../package.json\";\nimport { CopilotKitError, CopilotKitErrorCode } from \"@copilotkit/shared\";\n\nconst logger = createLogger();\n\nexport const addCustomHeaderPlugin = {\n onResponse({ response }) {\n // Set your custom header; adjust the header name and value as needed\n response.headers.set(\"X-CopilotKit-Runtime-Version\", packageJson.version);\n },\n};\n\ntype AnyPrimitive = string | boolean | number | null;\nexport type CopilotRequestContextProperties = Record<\n string,\n AnyPrimitive | Record<string, AnyPrimitive>\n>;\n\nexport type GraphQLContext = YogaInitialContext & {\n _copilotkit: CreateCopilotRuntimeServerOptions;\n properties: CopilotRequestContextProperties;\n logger: typeof logger;\n};\n\nexport interface CreateCopilotRuntimeServerOptions {\n runtime: CopilotRuntime;\n serviceAdapter: CopilotServiceAdapter;\n endpoint: string;\n baseUrl?: string;\n cloud?: CopilotCloudOptions;\n properties?: CopilotRequestContextProperties;\n logLevel?: LogLevel;\n}\n\nexport async function createContext(\n initialContext: YogaInitialContext,\n copilotKitContext: CreateCopilotRuntimeServerOptions,\n contextLogger: typeof logger,\n properties: CopilotRequestContextProperties = {},\n): Promise<Partial<GraphQLContext>> {\n logger.debug({ copilotKitContext }, \"Creating GraphQL context\");\n const ctx: GraphQLContext = {\n ...initialContext,\n _copilotkit: {\n ...copilotKitContext,\n },\n properties: { ...properties },\n logger: contextLogger,\n };\n return ctx;\n}\n\nexport function buildSchema(\n options: {\n emitSchemaFile?: string;\n } = {},\n) {\n logger.debug(\"Building GraphQL schema...\");\n const schema = buildSchemaSync({\n resolvers: [CopilotResolver, StateResolver],\n emitSchemaFile: options.emitSchemaFile,\n });\n logger.debug(\"GraphQL schema built successfully\");\n return schema;\n}\n\nexport type CommonConfig = {\n logging: typeof logger;\n schema: ReturnType<typeof buildSchema>;\n plugins: Parameters<typeof createYoga>[0][\"plugins\"];\n context: (ctx: YogaInitialContext) => Promise<Partial<GraphQLContext>>;\n maskedErrors: {\n maskError: (error: any, message: string, isDev?: boolean) => any;\n };\n};\n\nexport function getCommonConfig(options: CreateCopilotRuntimeServerOptions): CommonConfig {\n const logLevel = (process.env.LOG_LEVEL as LogLevel) || (options.logLevel as LogLevel) || \"error\";\n const logger = createLogger({ level: logLevel, component: \"getCommonConfig\" });\n\n const contextLogger = createLogger({ level: logLevel });\n\n if (options.cloud) {\n telemetry.setCloudConfiguration({\n publicApiKey: options.cloud.publicApiKey,\n baseUrl: options.cloud.baseUrl,\n });\n }\n\n if (options.properties?._copilotkit) {\n telemetry.setGlobalProperties({\n _copilotkit: {\n ...(options.properties._copilotkit as Record<string, any>),\n },\n });\n }\n\n telemetry.setGlobalProperties({\n runtime: {\n serviceAdapter: options.serviceAdapter.constructor.name,\n },\n });\n\n // User error codes that should not be logged as server errors\n const userErrorCodes = [\n CopilotKitErrorCode.AGENT_NOT_FOUND,\n CopilotKitErrorCode.API_NOT_FOUND,\n CopilotKitErrorCode.REMOTE_ENDPOINT_NOT_FOUND,\n CopilotKitErrorCode.CONFIGURATION_ERROR,\n CopilotKitErrorCode.MISSING_PUBLIC_API_KEY_ERROR,\n ];\n\n return {\n logging: createLogger({ component: \"Yoga GraphQL\", level: logLevel }),\n schema: buildSchema(),\n plugins: [useDeferStream(), addCustomHeaderPlugin],\n context: (ctx: YogaInitialContext): Promise<Partial<GraphQLContext>> =>\n createContext(ctx, options, contextLogger, options.properties),\n // Suppress logging for user configuration errors\n maskedErrors: {\n maskError: (error: any, message: string, isDev?: boolean) => {\n // Check if this is a user configuration error (could be wrapped in GraphQLError)\n const originalError = error.originalError || error;\n const extensions = error.extensions;\n const errorCode = extensions?.code;\n\n // Suppress logging for user errors based on error code\n if (errorCode && userErrorCodes.includes(errorCode)) {\n // Log user configuration errors at debug level instead\n console.debug(\"User configuration error:\", error.message);\n return error;\n }\n\n // Check if the original error is a user error\n if (\n originalError instanceof CopilotKitError &&\n userErrorCodes.includes(originalError.code)\n ) {\n // Log user configuration errors at debug level instead\n console.debug(\"User configuration error:\", error.message);\n return error;\n }\n\n // For application errors, log normally and mask if needed\n console.error(\"Application error:\", error);\n return error;\n },\n },\n };\n}\n","import { Arg, Ctx, Mutation, Query, Resolver } from \"type-graphql\";\nimport {\n ReplaySubject,\n Subject,\n Subscription,\n filter,\n finalize,\n firstValueFrom,\n shareReplay,\n skipWhile,\n take,\n takeWhile,\n tap,\n} from \"rxjs\";\nimport { GenerateCopilotResponseInput } from \"../inputs/generate-copilot-response.input\";\nimport { CopilotResponse } from \"../types/copilot-response.type\";\nimport {\n CopilotKitLangGraphInterruptEvent,\n LangGraphInterruptEvent,\n} from \"../types/meta-events.type\";\nimport { ActionInputAvailability, MessageRole } from \"../types/enums\";\nimport { Repeater } from \"graphql-yoga\";\nimport type { CopilotRequestContextProperties, GraphQLContext } from \"../../lib/integrations\";\nimport {\n RuntimeEvent,\n RuntimeEventTypes,\n RuntimeMetaEventName,\n} from \"../../service-adapters/events\";\nimport {\n FailedMessageStatus,\n MessageStatusCode,\n MessageStatusUnion,\n SuccessMessageStatus,\n} from \"../types/message-status.type\";\nimport { ResponseStatusUnion, SuccessResponseStatus } from \"../types/response-status.type\";\nimport { GraphQLJSONObject } from \"graphql-scalars\";\nimport { plainToInstance } from \"class-transformer\";\nimport { GuardrailsResult } from \"../types/guardrails-result.type\";\nimport { GraphQLError } from \"graphql\";\nimport {\n GuardrailsValidationFailureResponse,\n MessageStreamInterruptedResponse,\n UnknownErrorResponse,\n} from \"../../utils\";\nimport {\n ActionExecutionMessage,\n AgentStateMessage,\n Message,\n MessageType,\n ResultMessage,\n TextMessage,\n} from \"../types/converted\";\nimport telemetry from \"../../lib/telemetry-client\";\nimport { randomId } from \"@copilotkit/shared\";\nimport { AgentsResponse } from \"../types/agents-response.type\";\nimport { LangGraphEventTypes } from \"../../agents/langgraph/events\";\nimport {\n CopilotKitError,\n CopilotKitLowLevelError,\n isStructuredCopilotKitError,\n} from \"@copilotkit/shared\";\nimport { CopilotRuntime } from \"../../lib\";\n\nconst invokeGuardrails = async ({\n baseUrl,\n copilotCloudPublicApiKey,\n data,\n onResult,\n onError,\n}: {\n baseUrl: string;\n copilotCloudPublicApiKey: string;\n data: GenerateCopilotResponseInput;\n onResult: (result: GuardrailsResult) => void;\n onError: (err: Error) => void;\n}) => {\n if (\n data.messages.length &&\n data.messages[data.messages.length - 1].textMessage?.role === MessageRole.user\n ) {\n const messages = data.messages\n .filter(\n (m) =>\n m.textMessage !== undefined &&\n (m.textMessage.role === MessageRole.user || m.textMessage.role === MessageRole.assistant),\n )\n .map((m) => ({\n role: m.textMessage!.role,\n content: m.textMessage.content,\n }));\n\n const lastMessage = messages[messages.length - 1];\n const restOfMessages = messages.slice(0, -1);\n\n const body = {\n input: lastMessage.content,\n validTopics: data.cloud.guardrails.inputValidationRules.allowList,\n invalidTopics: data.cloud.guardrails.inputValidationRules.denyList,\n messages: restOfMessages,\n };\n\n const guardrailsResult = await fetch(`${baseUrl}/guardrails/validate`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CopilotCloud-Public-API-Key\": copilotCloudPublicApiKey,\n },\n body: JSON.stringify(body),\n });\n\n if (guardrailsResult.ok) {\n const resultJson: GuardrailsResult = await guardrailsResult.json();\n onResult(resultJson);\n } else {\n onError(await guardrailsResult.json());\n }\n }\n};\n\n@Resolver(() => CopilotResponse)\nexport class CopilotResolver {\n @Query(() => String)\n async hello() {\n return \"Hello World\";\n }\n\n @Query(() => AgentsResponse)\n async availableAgents(@Ctx() ctx: GraphQLContext) {\n let logger = ctx.logger.child({ component: \"CopilotResolver.availableAgents\" });\n\n logger.debug(\"Processing\");\n const agentsWithEndpoints = [];\n\n logger.debug(\"Event source created, creating response\");\n\n return {\n agents: agentsWithEndpoints.map(\n ({ endpoint, ...agentWithoutEndpoint }) => agentWithoutEndpoint,\n ),\n };\n }\n\n @Mutation(() => CopilotResponse)\n async generateCopilotResponse(\n @Ctx() ctx: GraphQLContext,\n @Arg(\"data\") data: GenerateCopilotResponseInput,\n @Arg(\"properties\", () => GraphQLJSONObject, { nullable: true })\n properties?: CopilotRequestContextProperties,\n ) {\n telemetry.capture(\"oss.runtime.copilot_request_created\", {\n \"cloud.guardrails.enabled\": data.cloud?.guardrails !== undefined,\n requestType: data.metadata.requestType,\n \"cloud.api_key_provided\": !!ctx.request.headers.get(\"x-copilotcloud-public-api-key\"),\n ...(ctx.request.headers.get(\"x-copilotcloud-public-api-key\")\n ? {\n \"cloud.public_api_key\": ctx.request.headers.get(\"x-copilotcloud-public-api-key\"),\n }\n : {}),\n ...(ctx._copilotkit.baseUrl\n ? {\n \"cloud.base_url\": ctx._copilotkit.baseUrl,\n }\n : {\n \"cloud.base_url\": \"https://api.cloud.copilotkit.ai\",\n }),\n });\n\n let logger = ctx.logger.child({ component: \"CopilotResolver.generateCopilotResponse\" });\n logger.debug({ data }, \"Generating Copilot response\");\n\n if (properties) {\n logger.debug(\"Properties provided, merging with context properties\");\n ctx.properties = { ...ctx.properties, ...properties };\n }\n\n const copilotRuntime = ctx._copilotkit.runtime as unknown as CopilotRuntime;\n const serviceAdapter = ctx._copilotkit.serviceAdapter;\n\n let copilotCloudPublicApiKey: string | null = null;\n let copilotCloudBaseUrl: string;\n\n // Extract publicApiKey from headers for both cloud and non-cloud requests\n // This enables onTrace functionality regardless of cloud configuration\n const publicApiKeyFromHeaders = ctx.request.headers.get(\"x-copilotcloud-public-api-key\");\n if (publicApiKeyFromHeaders) {\n copilotCloudPublicApiKey = publicApiKeyFromHeaders;\n }\n\n if (data.cloud) {\n logger = logger.child({ cloud: true });\n logger.debug(\"Cloud configuration provided, checking for public API key in headers\");\n\n if (!copilotCloudPublicApiKey) {\n logger.error(\"Public API key not found in headers\");\n\n throw new GraphQLError(\"X-CopilotCloud-Public-API-Key header is required\");\n }\n\n if (process.env.COPILOT_CLOUD_BASE_URL) {\n copilotCloudBaseUrl = process.env.COPILOT_CLOUD_BASE_URL;\n } else if (ctx._copilotkit.cloud?.baseUrl) {\n copilotCloudBaseUrl = ctx._copilotkit.cloud?.baseUrl;\n } else {\n copilotCloudBaseUrl = \"https://api.cloud.copilotkit.ai\";\n }\n\n logger = logger.child({ copilotCloudBaseUrl });\n }\n\n logger.debug(\"Setting up subjects\");\n const responseStatus$ = new ReplaySubject<typeof ResponseStatusUnion>();\n const interruptStreaming$ = new ReplaySubject<{ reason: string; messageId?: string }>();\n const guardrailsResult$ = new ReplaySubject<GuardrailsResult>();\n\n let outputMessages: Message[] = [];\n let resolveOutputMessagesPromise: (messages: Message[]) => void;\n let rejectOutputMessagesPromise: (err: Error) => void;\n\n const outputMessagesPromise = new Promise<Message[]>((resolve, reject) => {\n resolveOutputMessagesPromise = resolve;\n rejectOutputMessagesPromise = reject;\n });\n\n if (copilotCloudPublicApiKey) {\n ctx.properties[\"copilotCloudPublicApiKey\"] = copilotCloudPublicApiKey;\n }\n\n logger.debug(\"Processing\");\n let runtimeResponse;\n\n const {\n eventSource,\n threadId = randomId(),\n runId,\n serverSideActions,\n actionInputsWithoutAgents,\n extensions,\n } = runtimeResponse;\n\n logger.debug(\"Event source created, creating response\");\n // run and process the event stream\n const eventStream = eventSource\n .processRuntimeEvents({\n serverSideActions,\n guardrailsResult$: data.cloud?.guardrails ? guardrailsResult$ : null,\n actionInputsWithoutAgents: actionInputsWithoutAgents.filter(\n // TODO-AGENTS: do not exclude ALL server side actions\n (action) =>\n !serverSideActions.find((serverSideAction) => serverSideAction.name == action.name),\n ),\n threadId,\n })\n .pipe(\n // shareReplay() ensures that later subscribers will see the whole stream instead of\n // just the events that were emitted after the subscriber was added.\n shareReplay(),\n finalize(() => {\n logger.debug(\"Event stream finalized\");\n }),\n );\n\n const response = {\n threadId,\n runId,\n status: firstValueFrom(responseStatus$),\n extensions,\n metaEvents: new Repeater(async (push, stop) => {\n let eventStreamSubscription: Subscription;\n\n eventStreamSubscription = eventStream.subscribe({\n next: async (event) => {\n if (event.type != RuntimeEventTypes.MetaEvent) {\n return;\n }\n switch (event.name) {\n // @ts-ignore\n case LangGraphEventTypes.OnInterrupt:\n push(\n plainToInstance(LangGraphInterruptEvent, {\n // @ts-ignore\n type: event.type,\n // @ts-ignore\n name: RuntimeMetaEventName.LangGraphInterruptEvent,\n // @ts-ignore\n value: event.value,\n }),\n );\n break;\n case RuntimeMetaEventName.LangGraphInterruptEvent:\n push(\n plainToInstance(LangGraphInterruptEvent, {\n type: event.type,\n name: event.name,\n value: event.value,\n }),\n );\n break;\n case RuntimeMetaEventName.CopilotKitLangGraphInterruptEvent:\n push(\n plainToInstance(CopilotKitLangGraphInterruptEvent, {\n type: event.type,\n name: event.name,\n data: {\n value: event.data.value,\n messages: event.data.messages.map((message) => {\n if (\n message.type === \"TextMessage\" ||\n (\"content\" in message && \"role\" in message)\n ) {\n return plainToInstance(TextMessage, {\n id: message.id,\n createdAt: new Date(),\n content: [(message as TextMessage).content],\n role: (message as TextMessage).role,\n status: new SuccessMessageStatus(),\n });\n }\n if (\"arguments\" in message) {\n return plainToInstance(ActionExecutionMessage, {\n name: message.name,\n id: message.id,\n arguments: [JSON.stringify(message.arguments)],\n createdAt: new Date(),\n status: new SuccessMessageStatus(),\n });\n }\n throw new Error(\"Unknown message in metaEvents copilot resolver\");\n }),\n },\n }),\n );\n break;\n }\n },\n error: (err) => {\n // For structured CopilotKit errors, set proper error response status\n if (err?.name?.includes(\"CopilotKit\") || err?.extensions?.visibility) {\n responseStatus$.next(\n new UnknownErrorResponse({\n description: err.message || \"Agent error occurred\",\n }),\n );\n } else {\n responseStatus$.next(\n new UnknownErrorResponse({\n description: `An unknown error has occurred in the event stream`,\n }),\n );\n }\n\n eventStreamSubscription?.unsubscribe();\n stop();\n },\n complete: async () => {\n logger.debug(\"Meta events stream completed\");\n responseStatus$.next(new SuccessResponseStatus());\n eventStreamSubscription?.unsubscribe();\n stop();\n },\n });\n }),\n messages: new Repeater(async (pushMessage, stopStreamingMessages) => {\n logger.debug(\"Messages repeater created\");\n\n if (data.cloud?.guardrails) {\n logger = logger.child({ guardrails: true });\n logger.debug(\"Guardrails is enabled, validating input\");\n\n invokeGuardrails({\n baseUrl: copilotCloudBaseUrl,\n copilotCloudPublicApiKey,\n data,\n onResult: (result) => {\n logger.debug({ status: result.status }, \"Guardrails validation done\");\n guardrailsResult$.next(result);\n\n // Guardrails validation failed\n if (result.status === \"denied\") {\n // send the reason to the client and interrupt streaming\n responseStatus$.next(\n new GuardrailsValidationFailureResponse({ guardrailsReason: result.reason }),\n );\n interruptStreaming$.next({\n reason: `Interrupted due to Guardrails validation failure. Reason: ${result.reason}`,\n });\n\n // resolve messages promise to the middleware\n outputMessages = [\n plainToInstance(TextMessage, {\n id: randomId(),\n createdAt: new Date(),\n content: result.reason,\n role: MessageRole.assistant,\n }),\n ];\n resolveOutputMessagesPromise(outputMessages);\n }\n },\n onError: (err) => {\n logger.error({ err }, \"Error in guardrails validation\");\n responseStatus$.next(\n new UnknownErrorResponse({\n description: `An unknown error has occurred in the guardrails validation`,\n }),\n );\n interruptStreaming$.next({\n reason: `Interrupted due to unknown error in guardrails validation`,\n });\n\n // reject the middleware promise\n rejectOutputMessagesPromise(err);\n },\n });\n }\n\n let eventStreamSubscription: Subscription;\n\n logger.debug(\"Event stream created, subscribing to event stream\");\n\n eventStreamSubscription = eventStream.subscribe({\n next: async (event) => {\n switch (event.type) {\n case RuntimeEventTypes.MetaEvent:\n break;\n ////////////////////////////////\n // TextMessageStart\n ////////////////////////////////\n case RuntimeEventTypes.TextMessageStart:\n // create a sub stream that contains the message content\n const textMessageContentStream = eventStream.pipe(\n // skip until this message start event\n skipWhile((e: RuntimeEvent) => e !== event),\n // take until the message end event\n takeWhile(\n (e: RuntimeEvent) =>\n !(\n e.type === RuntimeEventTypes.TextMessageEnd &&\n (e as any).messageId == event.messageId\n ),\n ),\n // filter out any other message events or message ids\n filter(\n (e: RuntimeEvent) =>\n e.type == RuntimeEventTypes.TextMessageContent &&\n (e as any).messageId == event.messageId,\n ),\n );\n\n // signal when we are done streaming\n const streamingTextStatus = new Subject<typeof MessageStatusUnion>();\n\n const messageId = event.messageId;\n // push the new message\n pushMessage({\n id: messageId,\n parentMessageId: event.parentMessageId,\n status: firstValueFrom(streamingTextStatus),\n createdAt: new Date(),\n role: MessageRole.assistant,\n content: new Repeater(async (pushTextChunk, stopStreamingText) => {\n logger.debug(\"Text message content repeater created\");\n\n const textChunks: string[] = [];\n let textSubscription: Subscription;\n\n interruptStreaming$\n .pipe(\n shareReplay(),\n take(1),\n tap(({ reason, messageId }) => {\n logger.debug({ reason, messageId }, \"Text streaming interrupted\");\n\n streamingTextStatus.next(\n plainToInstance(FailedMessageStatus, { reason }),\n );\n\n responseStatus$.next(new MessageStreamInterruptedResponse({ messageId }));\n stopStreamingText();\n textSubscription?.unsubscribe();\n }),\n )\n .subscribe();\n\n logger.debug(\"Subscribing to text message content stream\");\n\n textSubscription = textMessageContentStream.subscribe({\n next: async (e: RuntimeEvent) => {\n if (e.type == RuntimeEventTypes.TextMessageContent) {\n await pushTextChunk(e.content);\n textChunks.push(e.content);\n }\n },\n error: (err) => {\n logger.error({ err }, \"Error in text message content stream\");\n interruptStreaming$.next({\n reason: \"Error streaming message content\",\n messageId,\n });\n stopStreamingText();\n textSubscription?.unsubscribe();\n },\n complete: () => {\n logger.debug(\"Text message content stream completed\");\n streamingTextStatus.next(new SuccessMessageStatus());\n stopStreamingText();\n textSubscription?.unsubscribe();\n\n outputMessages.push(\n plainToInstance(TextMessage, {\n id: messageId,\n createdAt: new Date(),\n content: textChunks.join(\"\"),\n role: MessageRole.assistant,\n }),\n );\n },\n });\n }),\n });\n break;\n ////////////////////////////////\n // ActionExecutionStart\n ////////////////////////////////\n case RuntimeEventTypes.ActionExecutionStart:\n logger.debug(\"Action execution start event received\");\n const actionExecutionArgumentStream = eventStream.pipe(\n skipWhile((e: RuntimeEvent) => e !== event),\n // take until the action execution end event\n takeWhile(\n (e: RuntimeEvent) =>\n !(\n e.type === RuntimeEventTypes.ActionExecutionEnd &&\n (e as any).actionExecutionId == event.actionExecutionId\n ),\n ),\n // filter out any other action execution events or action execution ids\n filter(\n (e: RuntimeEvent) =>\n e.type == RuntimeEventTypes.ActionExecutionArgs &&\n (e as any).actionExecutionId == event.actionExecutionId,\n ),\n );\n const streamingArgumentsStatus = new Subject<typeof MessageStatusUnion>();\n pushMessage({\n id: event.actionExecutionId,\n parentMessageId: event.parentMessageId,\n status: firstValueFrom(streamingArgumentsStatus),\n createdAt: new Date(),\n name: event.actionName,\n arguments: new Repeater(async (pushArgumentsChunk, stopStreamingArguments) => {\n logger.debug(\"Action execution argument stream created\");\n\n const argumentChunks: string[] = [];\n let actionExecutionArgumentSubscription: Subscription;\n\n actionExecutionArgumentSubscription = actionExecutionArgumentStream.subscribe({\n next: async (e: RuntimeEvent) => {\n if (e.type == RuntimeEventTypes.ActionExecutionArgs) {\n await pushArgumentsChunk(e.args);\n argumentChunks.push(e.args);\n }\n },\n error: (err) => {\n logger.error({ err }, \"Error in action execution argument stream\");\n streamingArgumentsStatus.next(\n plainToInstance(FailedMessageStatus, {\n reason:\n \"An unknown error has occurred in the action execution argument stream\",\n }),\n );\n stopStreamingArguments();\n actionExecutionArgumentSubscription?.unsubscribe();\n },\n complete: () => {\n logger.debug(\"Action execution argument stream completed\");\n streamingArgumentsStatus.next(new SuccessMessageStatus());\n stopStreamingArguments();\n actionExecutionArgumentSubscription?.unsubscribe();\n\n outputMessages.push(\n plainToInstance(ActionExecutionMessage, {\n id: event.actionExecutionId,\n createdAt: new Date(),\n name: event.actionName,\n arguments: argumentChunks.join(\"\"),\n }),\n );\n },\n });\n }),\n });\n break;\n ////////////////////////////////\n // ActionExecutionResult\n ////////////////////////////////\n case RuntimeEventTypes.ActionExecutionResult:\n logger.debug({ result: event.result }, \"Action execution result event received\");\n pushMessage({\n id: \"result-\" + event.actionExecutionId,\n status: new SuccessMessageStatus(),\n createdAt: new Date(),\n actionExecutionId: event.actionExecutionId,\n actionName: event.actionName,\n result: event.result,\n });\n\n outputMessages.push(\n plainToInstance(ResultMessage, {\n id: \"result-\" + event.actionExecutionId,\n createdAt: new Date(),\n actionExecutionId: event.actionExecutionId,\n actionName: event.actionName,\n result: event.result,\n }),\n );\n break;\n ////////////////////////////////\n // AgentStateMessage\n ////////////////////////////////\n case RuntimeEventTypes.AgentStateMessage:\n logger.debug({ event }, \"Agent message event received\");\n pushMessage({\n id: randomId(),\n status: new SuccessMessageStatus(),\n threadId: event.threadId,\n agentName: event.agentName,\n nodeName: event.nodeName,\n runId: event.runId,\n active: event.active,\n state: event.state,\n running: event.running,\n role: MessageRole.assistant,\n createdAt: new Date(),\n });\n outputMessages.push(\n plainToInstance(AgentStateMessage, {\n id: randomId(),\n threadId: event.threadId,\n agentName: event.agentName,\n nodeName: event.nodeName,\n runId: event.runId,\n active: event.active,\n state: event.state,\n running: event.running,\n role: MessageRole.assistant,\n createdAt: new Date(),\n }),\n );\n break;\n }\n },\n error: (err) => {\n // For structured CopilotKit errors, set proper error response status\n if (\n err instanceof CopilotKitError ||\n err instanceof CopilotKitLowLevelError ||\n (err instanceof Error && err.name && err.name.includes(\"CopilotKit\")) ||\n err?.extensions?.visibility\n ) {\n responseStatus$.next(\n new UnknownErrorResponse({\n description: err.message || \"Agent error occurred\",\n // Include original error information for frontend to extract\n originalError: {\n code: err.code || err.extensions?.code,\n statusCode: err.statusCode || err.extensions?.statusCode,\n severity: err.severity || err.extensions?.severity,\n visibility: err.visibility || err.extensions?.visibility,\n originalErrorType: err.originalErrorType || err.extensions?.originalErrorType,\n extensions: err.extensions,\n },\n }),\n );\n eventStreamSubscription?.unsubscribe();\n rejectOutputMessagesPromise(err);\n stopStreamingMessages();\n return;\n }\n\n responseStatus$.next(\n new UnknownErrorResponse({\n description: `An unknown error has occurred in the event stream`,\n }),\n );\n eventStreamSubscription?.unsubscribe();\n stopStreamingMessages();\n\n rejectOutputMessagesPromise(err);\n },\n complete: async () => {\n logger.debug(\"Event stream completed\");\n if (data.cloud?.guardrails) {\n logger.debug(\"Guardrails is enabled, waiting for guardrails result\");\n await firstValueFrom(guardrailsResult$);\n }\n responseStatus$.next(new SuccessResponseStatus());\n eventStreamSubscription?.unsubscribe();\n stopStreamingMessages();\n\n resolveOutputMessagesPromise(outputMessages);\n },\n });\n }),\n };\n\n return response;\n }\n}\n","import { Field, InputType } from \"type-graphql\";\nimport { MessageInput } from \"./message.input\";\nimport { FrontendInput } from \"./frontend.input\";\nimport { CloudInput } from \"./cloud.input\";\nimport { CopilotRequestType } from \"../types/enums\";\nimport { ForwardedParametersInput } from \"./forwarded-parameters.input\";\nimport { AgentSessionInput } from \"./agent-session.input\";\nimport { AgentStateInput } from \"./agent-state.input\";\nimport { ExtensionsInput } from \"./extensions.input\";\nimport { MetaEventInput } from \"./meta-event.input\";\nimport { CopilotContextInput } from \"./copilot-context.input\";\n\n@InputType()\nexport class GenerateCopilotResponseMetadataInput {\n @Field(() => CopilotRequestType, { nullable: true })\n requestType: CopilotRequestType;\n}\n\n@InputType()\nexport class GenerateCopilotResponseInput {\n @Field(() => GenerateCopilotResponseMetadataInput, { nullable: false })\n metadata: GenerateCopilotResponseMetadataInput;\n\n @Field(() => String, { nullable: true })\n threadId?: string;\n\n @Field(() => String, { nullable: true })\n runId?: string;\n\n @Field(() => [MessageInput])\n messages: MessageInput[];\n\n @Field(() => FrontendInput)\n frontend: FrontendInput;\n\n @Field(() => CloudInput, { nullable: true })\n cloud?: CloudInput;\n\n @Field(() => ForwardedParametersInput, { nullable: true })\n forwardedParameters?: ForwardedParametersInput;\n\n @Field(() => AgentSessionInput, { nullable: true })\n agentSession?: AgentSessionInput;\n\n @Field(() => AgentStateInput, { nullable: true })\n agentState?: AgentStateInput;\n\n @Field(() => [AgentStateInput], { nullable: true })\n agentStates?: AgentStateInput[];\n\n @Field(() => ExtensionsInput, { nullable: true })\n extensions?: ExtensionsInput;\n\n @Field(() => [MetaEventInput], { nullable: true })\n metaEvents?: MetaEventInput[];\n\n @Field(() => [CopilotContextInput], { nullable: true })\n context?: CopilotContextInput[];\n}\n","import { Field, InputType } from \"type-graphql\";\nimport { MessageRole } from \"../types/enums\";\nimport { BaseMessageInput } from \"../types/base\";\n\n// GraphQL does not support union types in inputs, so we need to use\n// optional fields for the different subtypes.\n@InputType()\nexport class MessageInput extends BaseMessageInput {\n @Field(() => TextMessageInput, { nullable: true })\n textMessage?: TextMessageInput;\n\n @Field(() => ActionExecutionMessageInput, { nullable: true })\n actionExecutionMessage?: ActionExecutionMessageInput;\n\n @Field(() => ResultMessageInput, { nullable: true })\n resultMessage?: ResultMessageInput;\n\n @Field(() => AgentStateMessageInput, { nullable: true })\n agentStateMessage?: AgentStateMessageInput;\n\n @Field(() => ImageMessageInput, { nullable: true })\n imageMessage?: ImageMessageInput;\n}\n\n@InputType()\nexport class TextMessageInput {\n @Field(() => String)\n content: string;\n\n @Field(() => String, { nullable: true })\n parentMessageId?: string;\n\n @Field(() => MessageRole)\n role: MessageRole;\n}\n\n@InputType()\nexport class ActionExecutionMessageInput {\n @Field(() => String)\n name: string;\n\n @Field(() => String)\n arguments: string;\n\n @Field(() => String, { nullable: true })\n parentMessageId?: string;\n\n @Field(() => String, {\n nullable: true,\n deprecationReason: \"This field will be removed in a future version\",\n })\n scope?: String;\n}\n\n@InputType()\nexport class ResultMessageInput {\n @Field(() => String)\n actionExecutionId: string;\n\n @Field(() => String)\n actionName: string;\n\n @Field(() => String, { nullable: true })\n parentMessageId?: string;\n\n @Field(() => String)\n result: string;\n}\n\n@InputType()\nexport class AgentStateMessageInput {\n @Field(() => String)\n threadId: string;\n\n @Field(() => String)\n agentName: string;\n\n @Field(() => MessageRole)\n role: MessageRole;\n\n @Field(() => String)\n state: string;\n\n @Field(() => Boolean)\n running: boolean;\n\n @Field(() => String)\n nodeName: string;\n\n @Field(() => String)\n runId: string;\n\n @Field(() => Boolean)\n active: boolean;\n}\n\n@InputType()\nexport class ImageMessageInput {\n @Field(() => String)\n format: string;\n\n @Field(() => String)\n bytes: string;\n\n @Field(() => String, { nullable: true })\n parentMessageId?: string;\n\n @Field(() => MessageRole)\n role: MessageRole;\n}\n","import { Field, InputType } from \"type-graphql\";\nimport { ActionInput } from \"./action.input\";\n\n@InputType()\nexport class FrontendInput {\n @Field(() => String, { nullable: true })\n toDeprecate_fullContext?: string;\n\n @Field(() => [ActionInput])\n actions: ActionInput[];\n\n @Field(() => String, { nullable: true })\n url?: string;\n}\n","import { Field, InputType } from \"type-graphql\";\nimport { ActionInputAvailability } from \"../types/enums\";\n@InputType()\nexport class ActionInput {\n @Field(() => String)\n name: string;\n\n @Field(() => String)\n description: string;\n\n @Field(() => String)\n jsonSchema: string;\n\n @Field(() => ActionInputAvailability, { nullable: true })\n available?: ActionInputAvailability;\n}\n","import { Field, InputType } from \"type-graphql\";\nimport { GuardrailsInput } from \"./cloud-guardrails.input\";\n\n@InputType()\nexport class CloudInput {\n @Field(() => GuardrailsInput, { nullable: true })\n guardrails?: GuardrailsInput;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class GuardrailsRuleInput {\n @Field(() => [String], { nullable: true })\n allowList?: string[] = [];\n\n @Field(() => [String], { nullable: true })\n denyList?: string[] = [];\n}\n\n@InputType()\nexport class GuardrailsInput {\n @Field(() => GuardrailsRuleInput, { nullable: false })\n inputValidationRules: GuardrailsRuleInput;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class ForwardedParametersInput {\n @Field(() => String, { nullable: true })\n model?: string;\n\n @Field(() => Number, { nullable: true })\n maxTokens?: number;\n\n @Field(() => [String], { nullable: true })\n stop?: string[];\n\n @Field(() => String, { nullable: true })\n toolChoice?: String;\n\n @Field(() => String, { nullable: true })\n toolChoiceFunctionName?: string;\n\n @Field(() => Number, { nullable: true })\n temperature?: number;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class AgentSessionInput {\n @Field(() => String)\n agentName: string;\n\n @Field(() => String, { nullable: true })\n threadId?: string;\n\n @Field(() => String, { nullable: true })\n nodeName?: string;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class AgentStateInput {\n @Field(() => String)\n agentName: string;\n\n @Field(() => String)\n state: string;\n\n @Field(() => String, { nullable: true })\n config?: string;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n/**\n * The extensions input is used to pass additional information to the copilot runtime, specific to a\n * service adapter or agent framework.\n */\n\n@InputType()\nexport class ExtensionsInput {\n @Field(() => OpenAIApiAssistantAPIInput, { nullable: true })\n openaiAssistantAPI?: OpenAIApiAssistantAPIInput;\n}\n\n@InputType()\nexport class OpenAIApiAssistantAPIInput {\n @Field(() => String, { nullable: true })\n runId?: string;\n\n @Field(() => String, { nullable: true })\n threadId?: string;\n}\n","import { Field, InputType } from \"type-graphql\";\nimport { MetaEventName } from \"../types/meta-events.type\";\nimport { MessageInput } from \"./message.input\";\n\n@InputType()\nexport class MetaEventInput {\n @Field(() => MetaEventName)\n name: MetaEventName;\n\n @Field(() => String)\n value?: string;\n\n @Field(() => String, { nullable: true })\n response?: string;\n\n @Field(() => [MessageInput], { nullable: true })\n messages?: MessageInput[];\n}\n","import { createUnionType, Field, InterfaceType, ObjectType, registerEnumType } from \"type-graphql\";\nimport {\n ActionExecutionMessageOutput,\n AgentStateMessageOutput,\n BaseMessageOutput,\n ResultMessageOutput,\n TextMessageOutput,\n} from \"./copilot-response.type\";\n\nexport enum MetaEventName {\n LangGraphInterruptEvent = \"LangGraphInterruptEvent\",\n CopilotKitLangGraphInterruptEvent = \"CopilotKitLangGraphInterruptEvent\",\n}\n\nregisterEnumType(MetaEventName, {\n name: \"MetaEventName\",\n description: \"Meta event types\",\n});\n\n@InterfaceType({\n resolveType(value) {\n if (value.name === MetaEventName.LangGraphInterruptEvent) {\n return LangGraphInterruptEvent;\n } else if (value.name === MetaEventName.CopilotKitLangGraphInterruptEvent) {\n return CopilotKitLangGraphInterruptEvent;\n }\n return undefined;\n },\n})\n@InterfaceType()\nexport abstract class BaseMetaEvent {\n @Field(() => String)\n type: \"MetaEvent\" = \"MetaEvent\";\n\n @Field(() => MetaEventName)\n name: MetaEventName;\n}\n\n@ObjectType()\nexport class CopilotKitLangGraphInterruptEventData {\n @Field(() => String)\n value: string;\n\n @Field(() => [BaseMessageOutput])\n messages: (typeof BaseMessageOutput)[];\n}\n\n@ObjectType({ implements: BaseMetaEvent })\nexport class LangGraphInterruptEvent {\n @Field(() => MetaEventName)\n name: MetaEventName.LangGraphInterruptEvent = MetaEventName.LangGraphInterruptEvent;\n\n @Field(() => String)\n value: string;\n\n @Field(() => String, { nullable: true })\n response?: string;\n}\n\n@ObjectType({ implements: BaseMetaEvent })\nexport class CopilotKitLangGraphInterruptEvent {\n @Field(() => MetaEventName)\n name: MetaEventName.CopilotKitLangGraphInterruptEvent =\n MetaEventName.CopilotKitLangGraphInterruptEvent;\n\n @Field(() => CopilotKitLangGraphInterruptEventData)\n data: CopilotKitLangGraphInterruptEventData;\n\n @Field(() => String, { nullable: true })\n response?: string;\n}\n","import { Field, InterfaceType, ObjectType } from \"type-graphql\";\nimport { MessageRole } from \"./enums\";\nimport { MessageStatusUnion } from \"./message-status.type\";\nimport { ResponseStatusUnion } from \"./response-status.type\";\nimport { ExtensionsResponse } from \"./extensions-response.type\";\nimport { BaseMetaEvent } from \"./meta-events.type\";\n\n@InterfaceType({\n resolveType(value) {\n if (value.hasOwnProperty(\"content\")) {\n return TextMessageOutput;\n } else if (value.hasOwnProperty(\"name\")) {\n return ActionExecutionMessageOutput;\n } else if (value.hasOwnProperty(\"result\")) {\n return ResultMessageOutput;\n } else if (value.hasOwnProperty(\"state\")) {\n return AgentStateMessageOutput;\n } else if (value.hasOwnProperty(\"format\") && value.hasOwnProperty(\"bytes\")) {\n return ImageMessageOutput;\n }\n return undefined;\n },\n})\nexport abstract class BaseMessageOutput {\n @Field(() => String)\n id: string;\n\n @Field(() => Date)\n createdAt: Date;\n\n @Field(() => MessageStatusUnion)\n status: typeof MessageStatusUnion;\n}\n\n@ObjectType({ implements: BaseMessageOutput })\nexport class TextMessageOutput {\n @Field(() => MessageRole)\n role: MessageRole;\n\n @Field(() => [String])\n content: string[];\n\n @Field(() => String, { nullable: true })\n parentMessageId?: string;\n}\n\n@ObjectType({ implements: BaseMessageOutput })\nexport class ActionExecutionMessageOutput {\n @Field(() => String)\n name: string;\n\n @Field(() => String, {\n nullable: true,\n deprecationReason: \"This field will be removed in a future version\",\n })\n scope?: string;\n\n @Field(() => [String])\n arguments: string[];\n\n @Field(() => String, { nullable: true })\n parentMessageId?: string;\n}\n\n@ObjectType({ implements: BaseMessageOutput })\nexport class ResultMessageOutput {\n @Field(() => String)\n actionExecutionId: string;\n\n @Field(() => String)\n actionName: string;\n\n @Field(() => String)\n result: string;\n}\n\n@ObjectType({ implements: BaseMessageOutput })\nexport class AgentStateMessageOutput {\n @Field(() => String)\n threadId: string;\n\n @Field(() => String)\n agentName: string;\n\n @Field(() => String)\n nodeName: string;\n\n @Field(() => String)\n runId: string;\n\n @Field(() => Boolean)\n active: boolean;\n\n @Field(() => MessageRole)\n role: MessageRole;\n\n @Field(() => String)\n state: string;\n\n @Field(() => Boolean)\n running: boolean;\n}\n\n@ObjectType({ implements: BaseMessageOutput })\nexport class ImageMessageOutput {\n @Field(() => String)\n format: string;\n\n @Field(() => String)\n bytes: string;\n\n @Field(() => MessageRole)\n role: MessageRole;\n\n @Field(() => String, { nullable: true })\n parentMessageId?: string;\n}\n\n@ObjectType()\nexport class CopilotResponse {\n @Field(() => String)\n threadId!: string;\n\n @Field(() => ResponseStatusUnion)\n status: typeof ResponseStatusUnion;\n\n @Field({ nullable: true })\n runId?: string;\n\n @Field(() => [BaseMessageOutput])\n messages: (typeof BaseMessageOutput)[];\n\n @Field(() => ExtensionsResponse, { nullable: true })\n extensions?: ExtensionsResponse;\n\n @Field(() => [BaseMetaEvent], { nullable: true })\n metaEvents?: (typeof BaseMetaEvent)[];\n}\n","import { Field, ObjectType } from \"type-graphql\";\n\n/**\n * The extensions response is used to receive additional information from the copilot runtime, specific to a\n * service adapter or agent framework.\n *\n * Next time a request to the runtime is made, the extensions response will be included in the request as input.\n */\n\n@ObjectType()\nexport class ExtensionsResponse {\n @Field(() => OpenAIApiAssistantAPIResponse, { nullable: true })\n openaiAssistantAPI?: OpenAIApiAssistantAPIResponse;\n}\n\n@ObjectType()\nexport class OpenAIApiAssistantAPIResponse {\n @Field(() => String, { nullable: true })\n runId?: string;\n\n @Field(() => String, { nullable: true })\n threadId?: string;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class CopilotContextInput {\n @Field(() => String)\n description: string;\n\n @Field(() => String)\n value: string;\n}\n","import {\n Action,\n CopilotKitError,\n CopilotKitErrorCode,\n CopilotKitLowLevelError,\n ensureStructuredError,\n randomId,\n Severity,\n} from \"@copilotkit/shared\";\nimport { plainToInstance } from \"class-transformer\";\nimport {\n catchError,\n concat,\n concatMap,\n EMPTY,\n firstValueFrom,\n from,\n of,\n ReplaySubject,\n scan,\n Subject,\n} from \"rxjs\";\nimport { ActionInput } from \"../graphql/inputs/action.input\";\nimport { ActionExecutionMessage, ResultMessage, TextMessage } from \"../graphql/types/converted\";\nimport { GuardrailsResult } from \"../graphql/types/guardrails-result.type\";\nimport { generateHelpfulErrorMessage } from \"../lib/streaming\";\nimport telemetry from \"../lib/telemetry-client\";\nimport { streamLangChainResponse } from \"./langchain/utils\";\n\nexport enum RuntimeEventTypes {\n TextMessageStart = \"TextMessageStart\",\n TextMessageContent = \"TextMessageContent\",\n TextMessageEnd = \"TextMessageEnd\",\n ActionExecutionStart = \"ActionExecutionStart\",\n ActionExecutionArgs = \"ActionExecutionArgs\",\n ActionExecutionEnd = \"ActionExecutionEnd\",\n ActionExecutionResult = \"ActionExecutionResult\",\n AgentStateMessage = \"AgentStateMessage\",\n MetaEvent = \"MetaEvent\",\n RunError = \"RunError\",\n}\n\nexport enum RuntimeMetaEventName {\n LangGraphInterruptEvent = \"LangGraphInterruptEvent\",\n LangGraphInterruptResumeEvent = \"LangGraphInterruptResumeEvent\",\n CopilotKitLangGraphInterruptEvent = \"CopilotKitLangGraphInterruptEvent\",\n}\n\nexport type RunTimeMetaEvent =\n | {\n type: RuntimeEventTypes.MetaEvent;\n name: RuntimeMetaEventName.LangGraphInterruptEvent;\n value: string;\n }\n | {\n type: RuntimeEventTypes.MetaEvent;\n name: RuntimeMetaEventName.CopilotKitLangGraphInterruptEvent;\n data: { value: string; messages: (TextMessage | ActionExecutionMessage | ResultMessage)[] };\n }\n | {\n type: RuntimeEventTypes.MetaEvent;\n name: RuntimeMetaEventName.LangGraphInterruptResumeEvent;\n data: string;\n };\n\nexport type RuntimeErrorEvent = {\n type: RuntimeEventTypes.RunError;\n message: string;\n code?: string;\n};\n\nexport type RuntimeEvent =\n | { type: RuntimeEventTypes.TextMessageStart; messageId: string; parentMessageId?: string }\n | {\n type: RuntimeEventTypes.TextMessageContent;\n messageId: string;\n content: string;\n }\n | { type: RuntimeEventTypes.TextMessageEnd; messageId: string }\n | {\n type: RuntimeEventTypes.ActionExecutionStart;\n actionExecutionId: string;\n actionName: string;\n parentMessageId?: string;\n }\n | { type: RuntimeEventTypes.ActionExecutionArgs; actionExecutionId: string; args: string }\n | { type: RuntimeEventTypes.ActionExecutionEnd; actionExecutionId: string }\n | {\n type: RuntimeEventTypes.ActionExecutionResult;\n actionName: string;\n actionExecutionId: string;\n result: string;\n }\n | {\n type: RuntimeEventTypes.AgentStateMessage;\n threadId: string;\n agentName: string;\n nodeName: string;\n runId: string;\n active: boolean;\n role: string;\n state: string;\n running: boolean;\n }\n | RunTimeMetaEvent\n | RuntimeErrorEvent;\n\ninterface RuntimeEventWithState {\n event: RuntimeEvent | null;\n callActionServerSide: boolean;\n action: Action<any> | null;\n actionExecutionId: string | null;\n args: string;\n actionExecutionParentMessageId: string | null;\n}\n\ntype EventSourceCallback = (eventStream$: RuntimeEventSubject) => Promise<void>;\n\nexport class RuntimeEventSubject extends ReplaySubject<RuntimeEvent> {\n constructor() {\n super();\n }\n\n sendTextMessageStart({\n messageId,\n parentMessageId,\n }: {\n messageId: string;\n parentMessageId?: string;\n }) {\n this.next({ type: RuntimeEventTypes.TextMessageStart, messageId, parentMessageId });\n }\n\n sendTextMessageContent({ messageId, content }: { messageId: string; content: string }) {\n this.next({ type: RuntimeEventTypes.TextMessageContent, content, messageId });\n }\n\n sendTextMessageEnd({ messageId }: { messageId: string }) {\n this.next({ type: RuntimeEventTypes.TextMessageEnd, messageId });\n }\n\n sendTextMessage(messageId: string, content: string) {\n this.sendTextMessageStart({ messageId });\n this.sendTextMessageContent({ messageId, content });\n this.sendTextMessageEnd({ messageId });\n }\n\n sendActionExecutionStart({\n actionExecutionId,\n actionName,\n parentMessageId,\n }: {\n actionExecutionId: string;\n actionName: string;\n parentMessageId?: string;\n }) {\n this.next({\n type: RuntimeEventTypes.ActionExecutionStart,\n actionExecutionId,\n actionName,\n parentMessageId,\n });\n }\n\n sendActionExecutionArgs({\n actionExecutionId,\n args,\n }: {\n actionExecutionId: string;\n args: string;\n }) {\n this.next({ type: RuntimeEventTypes.ActionExecutionArgs, args, actionExecutionId });\n }\n\n sendActionExecutionEnd({ actionExecutionId }: { actionExecutionId: string }) {\n this.next({ type: RuntimeEventTypes.ActionExecutionEnd, actionExecutionId });\n }\n\n sendActionExecution({\n actionExecutionId,\n actionName,\n args,\n parentMessageId,\n }: {\n actionExecutionId: string;\n actionName: string;\n args: string;\n parentMessageId?: string;\n }) {\n this.sendActionExecutionStart({ actionExecutionId, actionName, parentMessageId });\n this.sendActionExecutionArgs({ actionExecutionId, args });\n this.sendActionExecutionEnd({ actionExecutionId });\n }\n\n sendActionExecutionResult({\n actionExecutionId,\n actionName,\n result,\n error,\n }: {\n actionExecutionId: string;\n actionName: string;\n result?: string;\n error?: { code: string; message: string };\n }) {\n this.next({\n type: RuntimeEventTypes.ActionExecutionResult,\n actionName,\n actionExecutionId,\n result: ResultMessage.encodeResult(result, error),\n });\n }\n\n sendAgentStateMessage({\n threadId,\n agentName,\n nodeName,\n runId,\n active,\n role,\n state,\n running,\n }: {\n threadId: string;\n agentName: string;\n nodeName: string;\n runId: string;\n active: boolean;\n role: string;\n state: string;\n running: boolean;\n }) {\n this.next({\n type: RuntimeEventTypes.AgentStateMessage,\n threadId,\n agentName,\n nodeName,\n runId,\n active,\n role,\n state,\n running,\n });\n }\n}\n\nexport class RuntimeEventSource {\n private eventStream$ = new RuntimeEventSubject();\n private callback!: EventSourceCallback;\n private errorHandler?: (error: any, context: any) => Promise<void>;\n private errorContext?: any;\n\n constructor(params?: {\n errorHandler?: (error: any, context: any) => Promise<void>;\n errorContext?: any;\n }) {\n this.errorHandler = params?.errorHandler;\n this.errorContext = params?.errorContext;\n }\n\n async stream(callback: EventSourceCallback): Promise<void> {\n this.callback = callback;\n }\n}\n\nfunction convertStreamingErrorToStructured(error: any): CopilotKitError {\n // Determine a more helpful error message based on context\n let helpfulMessage = generateHelpfulErrorMessage(error, \"event streaming connection\");\n\n // For network-related errors, use CopilotKitLowLevelError to preserve the original error\n if (\n error?.message?.includes(\"fetch failed\") ||\n error?.message?.includes(\"ECONNREFUSED\") ||\n error?.message?.includes(\"ENOTFOUND\") ||\n error?.message?.includes(\"ETIMEDOUT\") ||\n error?.message?.includes(\"terminated\") ||\n error?.cause?.code === \"UND_ERR_SOCKET\" ||\n error?.message?.includes(\"other side closed\") ||\n error?.code === \"UND_ERR_SOCKET\"\n ) {\n return new CopilotKitLowLevelError({\n error: error instanceof Error ? error : new Error(String(error)),\n url: \"event streaming connection\",\n message: helpfulMessage,\n });\n }\n\n // For all other errors, preserve the raw error in a basic CopilotKitError\n return new CopilotKitError({\n message: helpfulMessage,\n code: CopilotKitErrorCode.UNKNOWN,\n severity: Severity.CRITICAL,\n });\n}\n","import { TelemetryClient } from \"@copilotkit/shared\";\nimport { createHash } from \"node:crypto\";\nimport { CopilotRuntime, resolveEndpointType } from \"./runtime/copilot-runtime\";\nimport { RuntimeInstanceCreatedInfo } from \"@copilotkit/shared/src/telemetry/events\";\nimport { CreateCopilotRuntimeServerOptions } from \"./integrations/shared\";\nimport { EndpointType, LangGraphPlatformEndpoint } from \"./runtime/types\";\nconst packageJson = require(\"../../package.json\");\n\nconst telemetryClient = new TelemetryClient({\n packageName: packageJson.name,\n packageVersion: packageJson.version,\n});\n\nexport function getRuntimeInstanceTelemetryInfo(\n options: CreateCopilotRuntimeServerOptions,\n): RuntimeInstanceCreatedInfo {\n const runtime = options.runtime;\n const remoteEndpoints = runtime.params?.remoteEndpoints ?? [];\n const endpointsInfo = remoteEndpoints.reduce(\n (acc, endpoint) => {\n let info = { ...acc };\n\n const endpointType = resolveEndpointType(endpoint);\n if (!info.endpointTypes.includes(endpointType)) {\n info = {\n ...info,\n endpointTypes: [...info.endpointTypes, endpointType],\n };\n }\n\n if (endpointType === EndpointType.LangGraphPlatform) {\n // When type is resolved, recreating a const with casting of type\n const ep = endpoint as LangGraphPlatformEndpoint;\n info = {\n ...info,\n agentsAmount: ep.agents.length,\n hashedKey: ep.langsmithApiKey\n ? createHash(\"sha256\").update(ep.langsmithApiKey).digest(\"hex\")\n : null,\n };\n }\n\n return info;\n },\n { endpointTypes: [], agentsAmount: null, hashedKey: null },\n );\n\n // Get public API key from options.cloud.publicApiKey\n const publicApiKey = options.cloud?.publicApiKey;\n const apiKeyProvided = !!publicApiKey && publicApiKey.trim().length > 0;\n\n return {\n actionsAmount: runtime.params?.actions?.length ?? 0,\n endpointsAmount: remoteEndpoints.length,\n endpointTypes: endpointsInfo.endpointTypes,\n agentsAmount: Object.keys(runtime.instance.agents).length,\n hashedLgcKey: endpointsInfo.hashedKey,\n \"cloud.api_key_provided\": apiKeyProvided,\n ...(apiKeyProvided ? { \"cloud.public_api_key\": publicApiKey } : {}),\n ...(options.cloud?.baseUrl ? { \"cloud.base_url\": options.cloud.baseUrl } : {}),\n } as RuntimeInstanceCreatedInfo;\n}\n\nexport default telemetryClient;\n","/**\n * <Callout type=\"info\">\n * This is the reference for the `CopilotRuntime` class. For more information and example code snippets, please see [Concept: Copilot Runtime](/concepts/copilot-runtime).\n * </Callout>\n *\n * ## Usage\n *\n * ```tsx\n * import { CopilotRuntime } from \"@copilotkit/runtime\";\n *\n * const copilotKit = new CopilotRuntime();\n * ```\n */\n\nimport {\n Action,\n CopilotErrorHandler,\n CopilotKitMisuseError,\n MaybePromise,\n NonEmptyRecord,\n Parameter,\n readBody,\n getZodParameters,\n PartialBy,\n} from \"@copilotkit/shared\";\nimport { type RunAgentInput } from \"@ag-ui/core\";\nimport { aguiToGQL } from \"../../graphql/message-conversion/agui-to-gql\";\nimport { CopilotServiceAdapter, RemoteChainParameters } from \"../../service-adapters\";\nimport {\n CopilotRuntime as CopilotRuntimeVNext,\n CopilotRuntimeOptions,\n CopilotRuntimeOptions as CopilotRuntimeOptionsVNext,\n InMemoryAgentRunner as InMemoryAgentRunnerVNext,\n} from \"@copilotkitnext/runtime\";\n\nimport { MessageInput } from \"../../graphql/inputs/message.input\";\nimport { ActionInput } from \"../../graphql/inputs/action.input\";\nimport { RuntimeEventSource } from \"../../service-adapters/events\";\nimport { Message } from \"../../graphql/types/converted\";\nimport { ForwardedParametersInput } from \"../../graphql/inputs/forwarded-parameters.input\";\n\nimport {\n EndpointType,\n EndpointDefinition,\n CopilotKitEndpoint,\n LangGraphPlatformEndpoint,\n} from \"./types\";\n\nimport { GraphQLContext } from \"../integrations/shared\";\nimport { AgentSessionInput } from \"../../graphql/inputs/agent-session.input\";\nimport { AgentStateInput } from \"../../graphql/inputs/agent-state.input\";\nimport { Agent } from \"../../graphql/types/agents-response.type\";\nimport { ExtensionsInput } from \"../../graphql/inputs/extensions.input\";\nimport { ExtensionsResponse } from \"../../graphql/types/extensions-response.type\";\nimport { MetaEventInput } from \"../../graphql/inputs/meta-event.input\";\nimport {\n CopilotObservabilityConfig,\n LLMRequestData,\n LLMResponseData,\n LLMErrorData,\n} from \"../observability\";\nimport { AbstractAgent } from \"@ag-ui/client\";\n\n// +++ MCP Imports +++\nimport {\n MCPClient,\n MCPEndpointConfig,\n MCPTool,\n extractParametersFromSchema,\n convertMCPToolsToActions,\n generateMcpToolInstructions,\n} from \"./mcp-tools-utils\";\nimport { LangGraphAgent } from \"./agent-integrations/langgraph.agent\";\nimport { BasicAgent, BasicAgentConfiguration } from \"@copilotkitnext/agent\";\n// Define the function type alias here or import if defined elsewhere\ntype CreateMCPClientFunction = (config: MCPEndpointConfig) => Promise<MCPClient>;\n\ntype ActionsConfiguration<T extends Parameter[] | [] = []> =\n | Action<T>[]\n | ((ctx: { properties: any; url?: string }) => Action<T>[]);\n\ninterface OnBeforeRequestOptions {\n threadId?: string;\n runId?: string;\n inputMessages: Message[];\n properties: any;\n url?: string;\n}\n\ntype OnBeforeRequestHandler = (options: OnBeforeRequestOptions) => void | Promise<void>;\n\ninterface OnAfterRequestOptions {\n threadId: string;\n runId?: string;\n inputMessages: Message[];\n outputMessages: Message[];\n properties: any;\n url?: string;\n}\n\ntype OnAfterRequestHandler = (options: OnAfterRequestOptions) => void | Promise<void>;\n\ninterface OnStopGenerationOptions {\n threadId: string;\n runId?: string;\n url?: string;\n agentName?: string;\n lastMessage: MessageInput;\n}\ntype OnStopGenerationHandler = (options: OnStopGenerationOptions) => void | Promise<void>;\n\ninterface Middleware {\n /**\n * A function that is called before the request is processed.\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n onBeforeRequest?: OnBeforeRequestHandler;\n\n /**\n * A function that is called after the request is processed.\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n onAfterRequest?: OnAfterRequestHandler;\n}\n\nexport interface CopilotRuntimeConstructorParams_BASE<T extends Parameter[] | [] = []> {\n /**\n * Middleware to be used by the runtime.\n *\n * ```ts\n * onBeforeRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n *\n * ```ts\n * onAfterRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * outputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n */\n /**\n * @deprecated This middleware hook is deprecated and will be removed in a future version.\n * Use updated middleware integration methods in CopilotRuntimeVNext instead.\n */\n middleware?: Middleware;\n\n /*\n * A list of server side actions that can be executed. Will be ignored when remoteActions are set\n */\n actions?: ActionsConfiguration<T>;\n\n /*\n * Deprecated: Use `remoteEndpoints`.\n */\n remoteActions?: CopilotKitEndpoint[];\n\n /*\n * A list of remote actions that can be executed.\n */\n remoteEndpoints?: EndpointDefinition[];\n\n /*\n * An array of LangServer URLs.\n */\n langserve?: RemoteChainParameters[];\n\n /*\n * A map of agent names to AGUI agents.\n * Example agent config:\n * ```ts\n * import { AbstractAgent } from \"@ag-ui/client\";\n * // ...\n * agents: {\n * \"support\": new CustomerSupportAgent(),\n * \"technical\": new TechnicalAgent()\n * }\n * ```\n */\n agents?: Record<string, AbstractAgent>;\n\n /*\n * Delegates agent state processing to the service adapter.\n *\n * When enabled, individual agent state requests will not be processed by the agent itself.\n * Instead, all processing will be handled by the service adapter.\n */\n delegateAgentProcessingToServiceAdapter?: boolean;\n\n /**\n * Configuration for LLM request/response logging.\n * Requires publicApiKey from CopilotKit component to be set:\n *\n * ```tsx\n * <CopilotKit publicApiKey=\"ck_pub_...\" />\n * ```\n *\n * Example logging config:\n * ```ts\n * logging: {\n * enabled: true, // Enable or disable logging\n * progressive: true, // Set to false for buffered logging\n * logger: {\n * logRequest: (data) => langfuse.trace({ name: \"LLM Request\", input: data }),\n * logResponse: (data) => langfuse.trace({ name: \"LLM Response\", output: data }),\n * logError: (errorData) => langfuse.trace({ name: \"LLM Error\", metadata: errorData }),\n * },\n * }\n * ```\n */\n observability_c?: CopilotObservabilityConfig;\n\n /**\n * Configuration for connecting to Model Context Protocol (MCP) servers.\n * Allows fetching and using tools defined on external MCP-compliant servers.\n * Requires providing the `createMCPClient` function during instantiation.\n * @experimental\n */\n mcpServers?: MCPEndpointConfig[];\n\n /**\n * A function that creates an MCP client instance for a given endpoint configuration.\n * This function is responsible for using the appropriate MCP client library\n * (e.g., `@copilotkit/runtime`, `ai`) to establish a connection.\n * Required if `mcpServers` is provided.\n *\n * ```typescript\n * import { experimental_createMCPClient } from \"ai\"; // Import from vercel ai library\n * // ...\n * const runtime = new CopilotRuntime({\n * mcpServers: [{ endpoint: \"...\" }],\n * async createMCPClient(config) {\n * return await experimental_createMCPClient({\n * transport: {\n * type: \"sse\",\n * url: config.endpoint,\n * headers: config.apiKey\n * ? { Authorization: `Bearer ${config.apiKey}` }\n * : undefined,\n * },\n * });\n * }\n * });\n * ```\n */\n createMCPClient?: CreateMCPClientFunction;\n\n /**\n * Optional error handler for comprehensive debugging and observability.\n *\n * **Requires publicApiKey**: Error handling only works when requests include a valid publicApiKey.\n * This is a premium Copilot Cloud feature.\n *\n * @param errorEvent - Structured error event with rich debugging context\n *\n * @example\n * ```typescript\n * const runtime = new CopilotRuntime({\n * onError: (errorEvent) => {\n * debugDashboard.capture(errorEvent);\n * }\n * });\n * ```\n */\n onError?: CopilotErrorHandler;\n\n onStopGeneration?: OnStopGenerationHandler;\n\n // /** Optional transcription service for audio processing. */\n // transcriptionService?: CopilotRuntimeOptionsVNext[\"transcriptionService\"];\n // /** Optional *before* middleware – callback function or webhook URL. */\n // beforeRequestMiddleware?: CopilotRuntimeOptionsVNext[\"beforeRequestMiddleware\"];\n // /** Optional *after* middleware – callback function or webhook URL. */\n // afterRequestMiddleware?: CopilotRuntimeOptionsVNext[\"afterRequestMiddleware\"];\n}\n\ntype BeforeRequestMiddleware = CopilotRuntimeOptionsVNext[\"beforeRequestMiddleware\"];\ntype AfterRequestMiddleware = CopilotRuntimeOptionsVNext[\"afterRequestMiddleware\"];\ntype BeforeRequestMiddlewareFn = Exclude<BeforeRequestMiddleware, string>;\ntype BeforeRequestMiddlewareFnParameters = Parameters<BeforeRequestMiddlewareFn>;\ntype BeforeRequestMiddlewareFnResult = ReturnType<BeforeRequestMiddlewareFn>;\ntype AfterRequestMiddlewareFn = Exclude<AfterRequestMiddleware, string>;\ntype AfterRequestMiddlewareFnParameters = Parameters<AfterRequestMiddlewareFn>;\n\ninterface CopilotRuntimeConstructorParams<T extends Parameter[] | [] = []>\n extends Omit<CopilotRuntimeConstructorParams_BASE<T>, \"agents\">,\n Omit<CopilotRuntimeOptionsVNext, \"agents\" | \"transcriptionService\"> {\n /**\n * TODO: un-omit `transcriptionService` above once it's supported\n *\n * This satisfies...\n * – the optional constraint in `CopilotRuntimeConstructorParams_BASE`\n * – the `MaybePromise<NonEmptyRecord<T>>` constraint in `CopilotRuntimeOptionsVNext`\n * – the `Record<string, AbstractAgent>` constraint in `both\n */\n agents?: MaybePromise<NonEmptyRecord<Record<string, AbstractAgent>>>;\n}\n\n/**\n * Central runtime object passed to all request handlers.\n */\nexport class CopilotRuntime {\n params?: CopilotRuntimeConstructorParams;\n private observability?: CopilotObservabilityConfig;\n // Cache MCP tools per endpoint to avoid re-fetching repeatedly\n private mcpToolsCache: Map<string, BasicAgentConfiguration[\"tools\"]> = new Map();\n private runtimeArgs: CopilotRuntimeOptions;\n private _instance: CopilotRuntimeVNext;\n\n constructor(\n params?: CopilotRuntimeConstructorParams & PartialBy<CopilotRuntimeOptions, \"agents\">,\n ) {\n const agents = params?.agents ?? {};\n this.runtimeArgs = {\n agents: { ...this.assignEndpointsToAgents(params?.remoteEndpoints ?? []), ...agents },\n runner: params?.runner ?? new InMemoryAgentRunnerVNext(),\n // TODO: add support for transcriptionService from CopilotRuntimeOptionsVNext once it is ready\n // transcriptionService: params?.transcriptionService,\n\n beforeRequestMiddleware: this.createOnBeforeRequestHandler(params).bind(this),\n afterRequestMiddleware: this.createOnAfterRequestHandler(params).bind(this),\n };\n this.params = params;\n this.observability = params?.observability_c;\n }\n\n get instance() {\n if (!this._instance) {\n this._instance = new CopilotRuntimeVNext(this.runtimeArgs);\n }\n\n return this._instance;\n }\n\n private assignEndpointsToAgents(endpoints: CopilotRuntimeConstructorParams[\"remoteEndpoints\"]) {\n return endpoints.reduce((acc, endpoint) => {\n if (resolveEndpointType(endpoint) == EndpointType.LangGraphPlatform) {\n let lgAgents = {};\n const lgEndpoint = endpoint as LangGraphPlatformEndpoint;\n lgEndpoint.agents.forEach((agent) => {\n const graphId = agent.assistantId ?? agent.name;\n lgAgents[graphId] = new LangGraphAgent({\n deploymentUrl: lgEndpoint.deploymentUrl,\n langsmithApiKey: lgEndpoint.langsmithApiKey,\n graphId,\n });\n });\n\n return {\n ...acc,\n ...lgAgents,\n };\n }\n\n return acc;\n }, {});\n }\n\n handleServiceAdapter(serviceAdapter: CopilotServiceAdapter) {\n this.runtimeArgs.agents = Promise.resolve(this.runtimeArgs.agents ?? {}).then(\n async (agents) => {\n let agentsList = agents;\n const isAgentsListEmpty = !Object.keys(agents).length;\n const hasServiceAdapter = Boolean(serviceAdapter);\n const illegalServiceAdapterNames = [\"EmptyAdapter\"];\n const serviceAdapterCanBeUsedForAgent = !illegalServiceAdapterNames.includes(\n serviceAdapter.name,\n );\n\n if (isAgentsListEmpty && (!hasServiceAdapter || !serviceAdapterCanBeUsedForAgent)) {\n throw new CopilotKitMisuseError({\n message:\n \"No default agent provided. Please provide a default agent in the runtime config.\",\n });\n }\n\n if (isAgentsListEmpty) {\n agentsList.default = new BasicAgent({\n model: `${serviceAdapter.provider}/${serviceAdapter.model}`,\n });\n }\n\n if (this.params.actions?.length) {\n const mcpTools = await this.getToolsFromMCP();\n agentsList = this.assignToolsToAgents(agents, [\n ...this.getToolsFromActions(this.params.actions),\n ...mcpTools,\n ]);\n }\n\n return agentsList;\n },\n );\n }\n\n // Receive this.params.action and turn it into the AbstractAgent tools\n private getToolsFromActions(\n actions: ActionsConfiguration<any>,\n ): BasicAgentConfiguration[\"tools\"] {\n // Resolve actions to an array (handle function case)\n const actionsArray =\n typeof actions === \"function\" ? actions({ properties: {}, url: undefined }) : actions;\n\n // Convert each Action to a ToolDefinition\n return actionsArray.map((action) => {\n // Convert JSON schema to Zod schema\n const zodSchema = getZodParameters(action.parameters || []);\n\n return {\n name: action.name,\n description: action.description || \"\",\n parameters: zodSchema,\n };\n });\n }\n\n private assignToolsToAgents(\n agents: Record<string, AbstractAgent>,\n tools: BasicAgentConfiguration[\"tools\"],\n ): Record<string, AbstractAgent> {\n if (!tools?.length) {\n return agents;\n }\n\n const enrichedAgents: Record<string, AbstractAgent> = { ...agents };\n\n for (const [agentId, agent] of Object.entries(enrichedAgents)) {\n const existingConfig = (Reflect.get(agent, \"config\") ?? {}) as BasicAgentConfiguration;\n const existingTools = existingConfig.tools ?? [];\n\n const updatedConfig: BasicAgentConfiguration = {\n ...existingConfig,\n tools: [...existingTools, ...tools],\n };\n\n Reflect.set(agent, \"config\", updatedConfig);\n enrichedAgents[agentId] = agent;\n }\n\n return enrichedAgents;\n }\n\n private createOnBeforeRequestHandler(\n params?: CopilotRuntimeConstructorParams & PartialBy<CopilotRuntimeOptions, \"agents\">,\n ) {\n return async (hookParams: BeforeRequestMiddlewareFnParameters[0]) => {\n // TODO: get public api key and run with expected data\n // if (this.observability?.enabled && this.params.publicApiKey) {\n // this.logObservabilityBeforeRequest()\n // }\n\n // TODO: replace hooksParams top argument type with BeforeRequestMiddlewareParameters when exported\n params?.beforeRequestMiddleware?.(hookParams);\n\n if (params?.middleware?.onBeforeRequest) {\n const { request, runtime, path } = hookParams;\n const body = (await readBody(request)) as RunAgentInput;\n const gqlMessages = (aguiToGQL(body.messages) as Message[]).reduce(\n (acc, msg) => {\n if (\"role\" in msg && msg.role === \"user\") {\n acc.inputMessages.push(msg);\n } else {\n acc.outputMessages.push(msg);\n }\n return acc;\n },\n { inputMessages: [] as Message[], outputMessages: [] as Message[] },\n );\n const { inputMessages, outputMessages } = gqlMessages;\n params.middleware.onBeforeRequest({\n threadId: body.threadId,\n runId: body.runId,\n inputMessages,\n properties: body.forwardedProps,\n url: request.url,\n } satisfies OnBeforeRequestOptions);\n }\n };\n }\n\n private createOnAfterRequestHandler(\n params?: CopilotRuntimeConstructorParams & PartialBy<CopilotRuntimeOptions, \"agents\">,\n ) {\n return async (hookParams: AfterRequestMiddlewareFnParameters[0]) => {\n // TODO: get public api key and run with expected data\n // if (this.observability?.enabled && publicApiKey) {\n // this.logObservabilityAfterRequest()\n // }\n\n // TODO: replace hooksParams top argument type with AfterRequestMiddlewareParameters when exported\n params?.afterRequestMiddleware?.(hookParams);\n\n if (params?.middleware?.onAfterRequest) {\n // TODO: provide old expected params here when available\n // @ts-expect-error -- missing arguments.\n params.middleware.onAfterRequest({});\n }\n };\n }\n\n // Observability Methods\n\n /**\n * Log LLM request if observability is enabled\n */\n private async logObservabilityBeforeRequest(requestData: LLMRequestData): Promise<void> {\n try {\n await this.observability.hooks.handleRequest(requestData);\n } catch (error) {\n console.error(\"Error logging LLM request:\", error);\n }\n }\n\n /**\n * Log final LLM response after request completes\n */\n private logObservabilityAfterRequest(\n outputMessagesPromise: Promise<Message[]>,\n baseData: {\n threadId: string;\n runId?: string;\n model?: string;\n provider?: string;\n agentName?: string;\n nodeName?: string;\n },\n streamedChunks: any[],\n requestStartTime: number,\n publicApiKey?: string,\n ): void {\n try {\n outputMessagesPromise\n .then((outputMessages) => {\n const responseData: LLMResponseData = {\n threadId: baseData.threadId,\n runId: baseData.runId,\n model: baseData.model,\n // Use collected chunks for progressive mode or outputMessages for regular mode\n output: this.observability.progressive ? streamedChunks : outputMessages,\n latency: Date.now() - requestStartTime,\n timestamp: Date.now(),\n provider: baseData.provider,\n isFinalResponse: true,\n agentName: baseData.agentName,\n nodeName: baseData.nodeName,\n };\n\n try {\n this.observability.hooks.handleResponse(responseData);\n } catch (logError) {\n console.error(\"Error logging LLM response:\", logError);\n }\n })\n .catch((error) => {\n console.error(\"Failed to get output messages for logging:\", error);\n });\n } catch (error) {\n console.error(\"Error setting up logging for LLM response:\", error);\n }\n }\n\n // Resolve MCP tools to BasicAgent tool definitions\n // Optionally accepts request-scoped properties to merge request-provided mcpServers\n private async getToolsFromMCP(options?: {\n properties?: Record<string, unknown>;\n }): Promise<BasicAgentConfiguration[\"tools\"]> {\n const runtimeMcpServers = (this.params?.mcpServers ?? []) as MCPEndpointConfig[];\n const createMCPClient = this.params?.createMCPClient as CreateMCPClientFunction | undefined;\n\n // If no runtime config and no request overrides, nothing to do\n const requestMcpServers = ((\n options?.properties as { mcpServers?: MCPEndpointConfig[] } | undefined\n )?.mcpServers ??\n (options?.properties as { mcpEndpoints?: MCPEndpointConfig[] } | undefined)?.mcpEndpoints ??\n []) as MCPEndpointConfig[];\n\n const hasAnyServers =\n (runtimeMcpServers?.length ?? 0) > 0 || (requestMcpServers?.length ?? 0) > 0;\n if (!hasAnyServers) {\n return [];\n }\n\n if (!createMCPClient) {\n // Mirror legacy behavior: when servers are provided without a factory, treat as misconfiguration\n throw new CopilotKitMisuseError({\n message:\n \"MCP Integration Error: `mcpServers` were provided, but the `createMCPClient` function was not passed to the CopilotRuntime constructor. Please provide an implementation for `createMCPClient`.\",\n });\n }\n\n // Merge and dedupe endpoints by URL; request-level overrides take precedence\n const effectiveEndpoints = (() => {\n const byUrl = new Map<string, MCPEndpointConfig>();\n for (const ep of runtimeMcpServers) {\n if (ep?.endpoint) byUrl.set(ep.endpoint, ep);\n }\n for (const ep of requestMcpServers) {\n if (ep?.endpoint) byUrl.set(ep.endpoint, ep);\n }\n return Array.from(byUrl.values());\n })();\n\n const allTools: BasicAgentConfiguration[\"tools\"] = [];\n\n for (const config of effectiveEndpoints) {\n const endpointUrl = config.endpoint;\n // Return cached tool definitions when available\n const cached = this.mcpToolsCache.get(endpointUrl);\n if (cached) {\n allTools.push(...cached);\n continue;\n }\n\n try {\n const client = await createMCPClient(config);\n const toolsMap = await client.tools();\n\n const toolDefs: BasicAgentConfiguration[\"tools\"] = Object.entries(toolsMap).map(\n ([toolName, tool]: [string, MCPTool]) => {\n const params: Parameter[] = extractParametersFromSchema(tool);\n const zodSchema = getZodParameters(params);\n return {\n name: toolName,\n description: tool.description || `MCP tool: ${toolName} (from ${endpointUrl})`,\n parameters: zodSchema,\n };\n },\n );\n\n // Cache per endpoint and add to aggregate\n this.mcpToolsCache.set(endpointUrl, toolDefs);\n allTools.push(...toolDefs);\n } catch (error) {\n console.error(\n `MCP: Failed to fetch tools from endpoint ${endpointUrl}. Skipping. Error:`,\n error,\n );\n // Cache empty to prevent repeated attempts within lifecycle\n this.mcpToolsCache.set(endpointUrl, []);\n }\n }\n\n // Dedupe tools by name while preserving last-in wins (request overrides)\n const dedupedByName = new Map<string, (typeof allTools)[number]>();\n for (const tool of allTools) {\n dedupedByName.set(tool.name, tool);\n }\n\n return Array.from(dedupedByName.values());\n }\n}\n\n// The two functions below are \"factory functions\", meant to create the action objects that adhere to the expected interfaces\nexport function copilotKitEndpoint(config: Omit<CopilotKitEndpoint, \"type\">): CopilotKitEndpoint {\n return {\n ...config,\n type: EndpointType.CopilotKit,\n };\n}\n\nexport function langGraphPlatformEndpoint(\n config: Omit<LangGraphPlatformEndpoint, \"type\">,\n): LangGraphPlatformEndpoint {\n return {\n ...config,\n type: EndpointType.LangGraphPlatform,\n };\n}\n\nexport function resolveEndpointType(endpoint: EndpointDefinition) {\n if (!endpoint.type) {\n if (\"deploymentUrl\" in endpoint && \"agents\" in endpoint) {\n return EndpointType.LangGraphPlatform;\n } else {\n return EndpointType.CopilotKit;\n }\n }\n\n return endpoint.type;\n}\n","import { GraphQLContext } from \"../integrations\";\nimport { ActionInput } from \"../../graphql/inputs/action.input\";\nimport { Message } from \"../../graphql/types/converted\";\nimport { MetaEventInput } from \"../../graphql/inputs/meta-event.input\";\n\nexport interface BaseEndpointDefinition<TActionType extends EndpointType> {\n type?: TActionType;\n}\n\nexport interface CopilotKitEndpoint extends BaseEndpointDefinition<EndpointType.CopilotKit> {\n url: string;\n onBeforeRequest?: ({ ctx }: { ctx: GraphQLContext }) => {\n headers?: Record<string, string> | undefined;\n };\n}\n\nexport interface LangGraphPlatformAgent {\n name: string;\n description: string;\n assistantId?: string;\n}\n\nexport interface LangGraphPlatformEndpoint\n extends BaseEndpointDefinition<EndpointType.LangGraphPlatform> {\n deploymentUrl: string;\n langsmithApiKey?: string | null;\n agents: LangGraphPlatformAgent[];\n}\n\nexport type RemoteActionInfoResponse = {\n actions: any[];\n agents: any[];\n};\n\nexport type RemoteAgentHandlerParams = {\n name: string;\n actionInputsWithoutAgents: ActionInput[];\n threadId?: string;\n nodeName?: string;\n additionalMessages?: Message[];\n metaEvents?: MetaEventInput[];\n};\n\nexport type EndpointDefinition = CopilotKitEndpoint | LangGraphPlatformEndpoint;\n\nexport enum EndpointType {\n CopilotKit = \"copilotKit\",\n LangGraphPlatform = \"langgraph-platform\",\n}\n","import { Action, Parameter } from \"@copilotkit/shared\";\n\n/**\n * Represents a tool provided by an MCP server.\n */\nexport interface MCPTool {\n description?: string;\n /** Schema defining parameters, mirroring the MCP structure. */\n schema?: {\n parameters?: {\n properties?: Record<string, any>;\n required?: string[];\n jsonSchema?: Record<string, any>;\n };\n };\n /** The function to call to execute the tool on the MCP server. */\n execute(params: any): Promise<any>;\n}\n\n/**\n * Defines the contract for *any* MCP client implementation the user might provide.\n */\nexport interface MCPClient {\n /** A method that returns a map of tool names to MCPTool objects available from the connected MCP server. */\n tools(): Promise<Record<string, MCPTool>>;\n /** An optional method for cleanup if the underlying client requires explicit disconnection. */\n close?(): Promise<void>;\n}\n\n/**\n * Configuration for connecting to an MCP endpoint.\n */\nexport interface MCPEndpointConfig {\n endpoint: string;\n apiKey?: string;\n}\n\n/**\n * Extracts CopilotKit-compatible parameters from an MCP tool schema.\n * @param toolOrSchema The schema object from an MCPTool or the full MCPTool object.\n * @returns An array of Parameter objects.\n */\nexport function extractParametersFromSchema(\n toolOrSchema?: MCPTool | MCPTool[\"schema\"],\n): Parameter[] {\n const parameters: Parameter[] = [];\n\n // Handle either full tool object or just schema\n const schema =\n \"schema\" in (toolOrSchema || {})\n ? (toolOrSchema as MCPTool).schema\n : (toolOrSchema as MCPTool[\"schema\"]);\n\n const toolParameters = schema?.parameters?.jsonSchema || schema?.parameters;\n const properties = toolParameters?.properties;\n const requiredParams = new Set(toolParameters?.required || []);\n\n if (!properties) {\n return parameters;\n }\n\n for (const paramName in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, paramName)) {\n const paramDef = properties[paramName];\n\n // Enhanced type extraction with support for complex types\n let type = paramDef.type || \"string\";\n let description = paramDef.description || \"\";\n\n // Handle arrays with items\n if (type === \"array\" && paramDef.items) {\n const itemType = paramDef.items.type || \"object\";\n if (itemType === \"object\" && paramDef.items.properties) {\n // For arrays of objects, describe the structure\n const itemProperties = Object.keys(paramDef.items.properties).join(\", \");\n description =\n description +\n (description ? \" \" : \"\") +\n `Array of objects with properties: ${itemProperties}`;\n } else {\n // For arrays of primitives\n type = `array<${itemType}>`;\n }\n }\n\n // Handle enums\n if (paramDef.enum && Array.isArray(paramDef.enum)) {\n const enumValues = paramDef.enum.join(\" | \");\n description = description + (description ? \" \" : \"\") + `Allowed values: ${enumValues}`;\n }\n\n // Handle objects with properties\n if (type === \"object\" && paramDef.properties) {\n const objectProperties = Object.keys(paramDef.properties).join(\", \");\n description =\n description + (description ? \" \" : \"\") + `Object with properties: ${objectProperties}`;\n }\n\n parameters.push({\n name: paramName,\n type: type,\n description: description,\n required: requiredParams.has(paramName),\n });\n }\n }\n\n return parameters;\n}\n\n/**\n * Converts a map of MCPTools into an array of CopilotKit Actions.\n * @param mcpTools A record mapping tool names to MCPTool objects.\n * @param mcpEndpoint The endpoint URL from which these tools were fetched.\n * @returns An array of Action<any> objects.\n */\nexport function convertMCPToolsToActions(\n mcpTools: Record<string, MCPTool>,\n mcpEndpoint: string,\n): Action<any>[] {\n const actions: Action<any>[] = [];\n\n for (const [toolName, tool] of Object.entries(mcpTools)) {\n const parameters = extractParametersFromSchema(tool);\n\n const handler = async (params: any): Promise<any> => {\n try {\n const result = await tool.execute(params);\n // Ensure the result is a string or stringify it, as required by many LLMs.\n // This might need adjustment depending on how different LLMs handle tool results.\n return typeof result === \"string\" ? result : JSON.stringify(result);\n } catch (error) {\n console.error(\n `Error executing MCP tool '${toolName}' from endpoint ${mcpEndpoint}:`,\n error,\n );\n // Re-throw or format the error for the LLM\n throw new Error(\n `Execution failed for MCP tool '${toolName}': ${\n error instanceof Error ? error.message : String(error)\n }`,\n );\n }\n };\n\n actions.push({\n name: toolName,\n description: tool.description || `MCP tool: ${toolName} (from ${mcpEndpoint})`,\n parameters: parameters,\n handler: handler,\n // Add metadata for easier identification/debugging\n _isMCPTool: true,\n _mcpEndpoint: mcpEndpoint,\n } as Action<any> & { _isMCPTool: boolean; _mcpEndpoint: string }); // Type assertion for metadata\n }\n\n return actions;\n}\n\n/**\n * Generate better instructions for using MCP tools\n * This is used to enhance the system prompt with tool documentation\n */\nexport function generateMcpToolInstructions(toolsMap: Record<string, MCPTool>): string {\n if (!toolsMap || Object.keys(toolsMap).length === 0) {\n return \"\";\n }\n\n const toolEntries = Object.entries(toolsMap);\n\n // Generate documentation for each tool\n const toolsDoc = toolEntries\n .map(([name, tool]) => {\n // Extract schema information if available\n let paramsDoc = \" No parameters required\";\n\n try {\n if (tool.schema && typeof tool.schema === \"object\") {\n const schema = tool.schema as any;\n\n // Extract parameters from JSON Schema - check both schema.parameters.properties and schema.properties\n const toolParameters = schema.parameters?.jsonSchema || schema.parameters;\n const properties = toolParameters?.properties || schema.properties;\n const requiredParams = toolParameters?.required || schema.required || [];\n\n if (properties) {\n // Build parameter documentation from properties with enhanced type information\n const paramsList = Object.entries(properties).map(([paramName, propSchema]) => {\n const propDetails = propSchema as any;\n const requiredMark = requiredParams.includes(paramName) ? \"*\" : \"\";\n let typeInfo = propDetails.type || \"any\";\n let description = propDetails.description ? ` - ${propDetails.description}` : \"\";\n\n // Enhanced type display for complex schemas\n if (typeInfo === \"array\" && propDetails.items) {\n const itemType = propDetails.items.type || \"object\";\n if (itemType === \"object\" && propDetails.items.properties) {\n const itemProps = Object.keys(propDetails.items.properties).join(\", \");\n typeInfo = `array<object>`;\n description =\n description +\n (description ? \" \" : \" - \") +\n `Array of objects with properties: ${itemProps}`;\n } else {\n typeInfo = `array<${itemType}>`;\n }\n }\n\n // Handle enums\n if (propDetails.enum && Array.isArray(propDetails.enum)) {\n const enumValues = propDetails.enum.join(\" | \");\n description =\n description + (description ? \" \" : \" - \") + `Allowed values: ${enumValues}`;\n }\n\n // Handle objects\n if (typeInfo === \"object\" && propDetails.properties) {\n const objectProps = Object.keys(propDetails.properties).join(\", \");\n description =\n description +\n (description ? \" \" : \" - \") +\n `Object with properties: ${objectProps}`;\n }\n\n return ` - ${paramName}${requiredMark} (${typeInfo})${description}`;\n });\n\n if (paramsList.length > 0) {\n paramsDoc = paramsList.join(\"\\n\");\n }\n }\n }\n } catch (e) {\n console.error(`Error parsing schema for tool ${name}:`, e);\n }\n\n return `- ${name}: ${tool.description || \"\"}\n${paramsDoc}`;\n })\n .join(\"\\n\\n\");\n\n return `You have access to the following external tools provided by Model Context Protocol (MCP) servers:\n\n${toolsDoc}\n\nWhen using these tools:\n1. Only provide valid parameters according to their type requirements\n2. Required parameters are marked with *\n3. For array parameters, provide data in the correct array format\n4. For object parameters, include all required nested properties\n5. For enum parameters, use only the allowed values listed\n6. Format API calls correctly with the expected parameter structure\n7. Always check tool responses to determine your next action`;\n}\n","import {\n RunAgentInput,\n EventType,\n CustomEvent,\n TextMessageStartEvent,\n TextMessageContentEvent,\n TextMessageEndEvent,\n ToolCallStartEvent,\n ToolCallArgsEvent,\n ToolCallEndEvent,\n} from \"@ag-ui/client\";\nimport { map } from \"rxjs\";\nimport { LangGraphEventTypes } from \"../../../agents/langgraph/events\";\nimport { RawEvent } from \"@ag-ui/core\";\nimport {\n LangGraphAgent as AGUILangGraphAgent,\n LangGraphHttpAgent,\n type LangGraphAgentConfig,\n ProcessedEvents,\n SchemaKeys,\n type State,\n StateEnrichment,\n} from \"@ag-ui/langgraph\";\nimport { Message as LangGraphMessage } from \"@langchain/langgraph-sdk/dist/types.messages\";\nimport { ThreadState } from \"@langchain/langgraph-sdk\";\n\ninterface CopilotKitStateEnrichment {\n copilotkit: {\n actions: StateEnrichment[\"ag-ui\"][\"tools\"];\n context: StateEnrichment[\"ag-ui\"][\"context\"];\n };\n}\n\nexport interface PredictStateTool {\n tool: string;\n state_key: string;\n tool_argument: string;\n}\n\nexport type TextMessageEvents =\n | TextMessageStartEvent\n | TextMessageContentEvent\n | TextMessageEndEvent;\n\nexport type ToolCallEvents = ToolCallStartEvent | ToolCallArgsEvent | ToolCallEndEvent;\n\nexport enum CustomEventNames {\n CopilotKitManuallyEmitMessage = \"copilotkit_manually_emit_message\",\n CopilotKitManuallyEmitToolCall = \"copilotkit_manually_emit_tool_call\",\n CopilotKitManuallyEmitIntermediateState = \"copilotkit_manually_emit_intermediate_state\",\n CopilotKitExit = \"copilotkit_exit\",\n}\n\nexport class LangGraphAgent extends AGUILangGraphAgent {\n constructor(config: LangGraphAgentConfig) {\n super(config);\n }\n\n // @ts-ignore\n public clone() {\n return new LangGraphAgent(this.config);\n }\n\n dispatchEvent(event: ProcessedEvents) {\n if (event.type === EventType.CUSTOM) {\n // const event = processedEvent as unknown as CustomEvent;\n const customEvent = event as unknown as CustomEvent;\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitMessage) {\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_START,\n role: \"assistant\",\n messageId: customEvent.value.message_id,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_CONTENT,\n messageId: customEvent.value.message_id,\n delta: customEvent.value.message,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TEXT_MESSAGE_END,\n messageId: customEvent.value.message_id,\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitToolCall) {\n this.subscriber.next({\n type: EventType.TOOL_CALL_START,\n toolCallId: customEvent.value.id,\n toolCallName: customEvent.value.name,\n parentMessageId: customEvent.value.id,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TOOL_CALL_ARGS,\n toolCallId: customEvent.value.id,\n delta: customEvent.value.args,\n rawEvent: event,\n });\n this.subscriber.next({\n type: EventType.TOOL_CALL_END,\n toolCallId: customEvent.value.id,\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitManuallyEmitIntermediateState) {\n this.activeRun.manuallyEmittedState = customEvent.value;\n this.dispatchEvent({\n type: EventType.STATE_SNAPSHOT,\n snapshot: this.getStateSnapshot({\n values: this.activeRun.manuallyEmittedState,\n } as ThreadState<State>),\n rawEvent: event,\n });\n return true;\n }\n\n if (customEvent.name === CustomEventNames.CopilotKitExit) {\n this.subscriber.next({\n type: EventType.CUSTOM,\n name: \"Exit\",\n value: true,\n });\n return true;\n }\n }\n\n // Intercept all text message and tool call events and check if should disable\n const rawEvent = (event as ToolCallEvents | TextMessageEvents).rawEvent;\n if (!rawEvent) {\n this.subscriber.next(event);\n return true;\n }\n\n const isMessageEvent =\n event.type === EventType.TEXT_MESSAGE_START ||\n event.type === EventType.TEXT_MESSAGE_CONTENT ||\n event.type === EventType.TEXT_MESSAGE_END;\n const isToolEvent =\n event.type === EventType.TOOL_CALL_START ||\n event.type === EventType.TOOL_CALL_ARGS ||\n event.type === EventType.TOOL_CALL_END;\n if (\"copilotkit:emit-tool-calls\" in (rawEvent.metadata || {})) {\n if (rawEvent.metadata[\"copilotkit:emit-tool-calls\"] === false && isToolEvent) {\n return false;\n }\n }\n if (\"copilotkit:emit-messages\" in (rawEvent.metadata || {})) {\n if (rawEvent.metadata[\"copilotkit:emit-messages\"] === false && isMessageEvent) {\n return false;\n }\n }\n\n this.subscriber.next(event);\n return true;\n }\n\n // @ts-ignore\n run(input: RunAgentInput) {\n return super.run(input).pipe(\n map((processedEvent) => {\n // Turn raw event into emit state snapshot from tool call event\n if (processedEvent.type === EventType.RAW) {\n // Get the LangGraph event from the AGUI event.\n const event = (processedEvent as RawEvent).event ?? (processedEvent as RawEvent).rawEvent;\n\n const eventType = event.event;\n const toolCallData = event.data?.chunk?.tool_call_chunks?.[0];\n const toolCallUsedToPredictState = event.metadata?.[\n \"copilotkit:emit-intermediate-state\"\n ]?.some(\n (predictStateTool: PredictStateTool) => predictStateTool.tool === toolCallData?.name,\n );\n\n if (eventType === LangGraphEventTypes.OnChatModelStream && toolCallUsedToPredictState) {\n return {\n type: EventType.CUSTOM,\n name: \"PredictState\",\n value: event.metadata[\"copilotkit:emit-intermediate-state\"],\n };\n }\n }\n\n return processedEvent;\n }),\n );\n }\n\n langGraphDefaultMergeState(\n state: State,\n messages: LangGraphMessage[],\n input: RunAgentInput,\n ): State<StateEnrichment & CopilotKitStateEnrichment> {\n const aguiMergedState = super.langGraphDefaultMergeState(state, messages, input);\n const { tools: returnedTools, \"ag-ui\": agui } = aguiMergedState;\n // tolerate undefined and de-duplicate by stable key (id | name | key)\n const rawCombinedTools = [\n ...((returnedTools as any[]) ?? []),\n ...((agui?.tools as any[]) ?? []),\n ];\n const combinedTools = Array.from(\n new Map(\n rawCombinedTools.map((t: any) => [t?.id ?? t?.name ?? t?.key ?? JSON.stringify(t), t]),\n ).values(),\n );\n\n return {\n ...aguiMergedState,\n copilotkit: {\n actions: combinedTools,\n context: agui?.context ?? [],\n },\n };\n }\n\n async getSchemaKeys(): Promise<SchemaKeys> {\n const CONSTANT_KEYS = [\"copilotkit\"];\n const schemaKeys = await super.getSchemaKeys();\n return {\n config: schemaKeys.config,\n input: schemaKeys.input ? [...schemaKeys.input, ...CONSTANT_KEYS] : null,\n output: schemaKeys.output ? [...schemaKeys.output, ...CONSTANT_KEYS] : null,\n context: schemaKeys.context ? [...schemaKeys.context, ...CONSTANT_KEYS] : null,\n };\n }\n}\n\nexport { LangGraphHttpAgent };\n","import { ActionExecutionMessage, ResultMessage, TextMessage } from \"../../graphql/types/converted\";\n\nexport enum LangGraphEventTypes {\n OnChainStart = \"on_chain_start\",\n OnChainStream = \"on_chain_stream\",\n OnChainEnd = \"on_chain_end\",\n OnChatModelStart = \"on_chat_model_start\",\n OnChatModelStream = \"on_chat_model_stream\",\n OnChatModelEnd = \"on_chat_model_end\",\n OnToolStart = \"on_tool_start\",\n OnToolEnd = \"on_tool_end\",\n OnCopilotKitStateSync = \"on_copilotkit_state_sync\",\n OnCopilotKitEmitMessage = \"on_copilotkit_emit_message\",\n OnCopilotKitEmitToolCall = \"on_copilotkit_emit_tool_call\",\n OnCustomEvent = \"on_custom_event\",\n OnInterrupt = \"on_interrupt\",\n OnCopilotKitInterrupt = \"on_copilotkit_interrupt\",\n OnCopilotKitError = \"on_copilotkit_error\",\n}\n\nexport enum MetaEventNames {\n LangGraphInterruptEvent = \"LangGraphInterruptEvent\",\n CopilotKitLangGraphInterruptEvent = \"CopilotKitLangGraphInterruptEvent\",\n}\n\nexport enum CustomEventNames {\n CopilotKitManuallyEmitMessage = \"copilotkit_manually_emit_message\",\n CopilotKitManuallyEmitToolCall = \"copilotkit_manually_emit_tool_call\",\n CopilotKitManuallyEmitIntermediateState = \"copilotkit_manually_emit_intermediate_state\",\n CopilotKitExit = \"copilotkit_exit\",\n}\n\ntype LangGraphOnCopilotKitStateSyncEvent = {\n event: LangGraphEventTypes.OnCopilotKitStateSync;\n thread_id: string;\n agent_name: string;\n node_name: string;\n run_id: string;\n active: boolean;\n role: string;\n state: any;\n running: boolean;\n};\n\ntype LangGraphOnChainStartEvent = {\n event: LangGraphEventTypes.OnChainStart;\n run_id: string;\n name: string;\n tags: string[];\n metadata: { thread_id: string };\n data: {\n input: any;\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChainEndEvent = {\n event: LangGraphEventTypes.OnChainEnd;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n };\n data: {\n input: any;\n output: any;\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChatModelStartEvent = {\n event: LangGraphEventTypes.OnChatModelStart;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n ls_provider: string;\n ls_model_name: string;\n ls_model_type: string;\n ls_temperature: number;\n };\n data: {\n input: {\n messages: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string;\n type: string;\n id: string;\n };\n }[][];\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChatModelStreamEvent = {\n event: LangGraphEventTypes.OnChatModelStream;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n ls_provider: string;\n ls_model_name: string;\n ls_model_type: string;\n ls_temperature: number;\n };\n data: {\n chunk: {\n lc: number;\n type: string;\n id: string;\n kwargs: {\n content: string | { text: string; type: string; index: number }[];\n additional_kwargs: {\n tool_calls: {\n index: number;\n id: string;\n function: { arguments: string; name: string };\n type: string;\n }[];\n };\n type: string;\n id: string;\n tool_calls: { name: string; args: {}; id: string; type: string }[];\n tool_call_chunks: {\n name: string;\n args: string;\n id: string;\n index: number;\n type: string;\n }[];\n invalid_tool_calls: any[];\n };\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChatModelEndEvent = {\n event: LangGraphEventTypes.OnChatModelEnd;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n ls_provider: string;\n ls_model_name: string;\n ls_model_type: string;\n ls_temperature: number;\n };\n data: {\n input: any;\n output: {\n generations: {\n text: string;\n generation_info: {\n finish_reason: string;\n model_name: string;\n system_fingerprint: string;\n };\n type: string;\n message: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string;\n additional_kwargs: {\n tool_calls: {\n index: number;\n id: string;\n function: { arguments: string; name: string };\n type: string;\n }[];\n };\n response_metadata: {\n finish_reason: string;\n model_name: string;\n system_fingerprint: string;\n };\n type: string;\n id: string;\n tool_calls: { name: string; args: { query: string }; id: string; type: string }[];\n invalid_tool_calls: any[];\n };\n };\n }[][];\n llm_output: any;\n run: any;\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnChainStreamEvent = {\n event: LangGraphEventTypes.OnChainStream;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step?: number;\n langgraph_node?: string;\n langgraph_triggers?: string[];\n langgraph_task_idx?: number;\n thread_ts?: string;\n };\n data: {\n chunk: {\n messages: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string;\n additional_kwargs?: {\n tool_calls?: {\n index: number;\n id: string;\n function: { arguments: string; name: string };\n type: string;\n }[];\n };\n response_metadata?: {\n finish_reason: string;\n model_name: string;\n system_fingerprint: string;\n };\n type: string;\n id: string;\n tool_calls?: { name: string; args: { query: string }; id: string; type: string }[];\n invalid_tool_calls?: any[];\n };\n }[];\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnToolStartEvent = {\n event: LangGraphEventTypes.OnToolStart;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n };\n data: {\n input: {\n query: string;\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnToolEndEvent = {\n event: LangGraphEventTypes.OnToolEnd;\n name: string;\n run_id: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_task_idx: number;\n thread_ts: string;\n };\n data: {\n input: {\n query: string;\n };\n output: {\n lc: number;\n type: string;\n id: string[];\n kwargs: {\n content: string[];\n type: string;\n name: string;\n tool_call_id: string;\n status: string;\n };\n };\n };\n parent_ids: string[];\n};\n\ntype LangGraphOnCustomEvent = {\n event: LangGraphEventTypes.OnCustomEvent;\n run_id: string;\n name: string;\n tags: string[];\n metadata: {\n thread_id: string;\n langgraph_step: number;\n langgraph_node: string;\n langgraph_triggers: string[];\n langgraph_path: [string, string];\n langgraph_checkpoint_ns: string;\n checkpoint_ns: string;\n };\n data: any;\n parent_ids: string[];\n};\n\ninterface LangGraphInterruptEvent {\n event: LangGraphEventTypes.OnInterrupt;\n value: string;\n}\n\ninterface CopilotKitLangGraphInterruptEvent {\n event: LangGraphEventTypes.OnCopilotKitInterrupt;\n data: { value: string; messages: (TextMessage | ActionExecutionMessage | ResultMessage)[] };\n}\n\ninterface CopilotKitLangGraphErrorEvent {\n event: LangGraphEventTypes.OnCopilotKitError;\n data: {\n error: {\n message: string;\n type: string;\n agent_name: string;\n status_code?: number;\n response_data?: any;\n };\n thread_id: string;\n agent_name: string;\n node_name: string;\n };\n}\n\nexport type LangGraphEvent =\n | LangGraphOnChainStartEvent\n | LangGraphOnChainStreamEvent\n | LangGraphOnChainEndEvent\n | LangGraphOnChatModelStartEvent\n | LangGraphOnChatModelStreamEvent\n | LangGraphOnChatModelEndEvent\n | LangGraphOnToolStartEvent\n | LangGraphOnToolEndEvent\n | LangGraphOnCopilotKitStateSyncEvent\n | LangGraphOnCustomEvent\n | LangGraphInterruptEvent\n | CopilotKitLangGraphInterruptEvent\n | CopilotKitLangGraphErrorEvent;\n","import { Field, ObjectType } from \"type-graphql\";\n\n@ObjectType()\nexport class Agent {\n @Field(() => String)\n id: string;\n\n @Field(() => String)\n name: string;\n\n @Field(() => String)\n description?: string;\n}\n\n@ObjectType()\nexport class AgentsResponse {\n @Field(() => [Agent])\n agents: Agent[];\n}\n","import createPinoLogger from \"pino\";\nimport pretty from \"pino-pretty\";\n\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\";\n\nexport type CopilotRuntimeLogger = ReturnType<typeof createLogger>;\n\nexport function createLogger(options?: { level?: LogLevel; component?: string }) {\n const { level, component } = options || {};\n const stream = pretty({ colorize: true });\n\n const logger = createPinoLogger(\n {\n level: process.env.LOG_LEVEL || level || \"error\",\n redact: {\n paths: [\"pid\", \"hostname\"],\n remove: true,\n },\n },\n stream,\n );\n\n if (component) {\n return logger.child({ component });\n } else {\n return logger;\n }\n}\n","import { Arg, Resolver } from \"type-graphql\";\nimport { Ctx } from \"type-graphql\";\nimport { Query } from \"type-graphql\";\nimport { LoadAgentStateResponse } from \"../types/load-agent-state-response.type\";\nimport type { GraphQLContext } from \"../../lib/integrations\";\nimport { LoadAgentStateInput } from \"../inputs/load-agent-state.input\";\nimport { CopilotKitAgentDiscoveryError } from \"@copilotkit/shared\";\nimport { CopilotRuntime } from \"../../lib\";\n\n@Resolver(() => LoadAgentStateResponse)\nexport class StateResolver {\n @Query(() => LoadAgentStateResponse)\n async loadAgentState(@Ctx() ctx: GraphQLContext, @Arg(\"data\") data: LoadAgentStateInput) {\n const agents = [];\n const hasAgent = agents.some((agent) => agent.name === data.agentName);\n if (!hasAgent) {\n throw new CopilotKitAgentDiscoveryError({\n agentName: data.agentName,\n availableAgents: agents.map((a) => ({ name: a.name, id: a.name })),\n });\n }\n\n const state = {};\n\n return state;\n }\n}\n","import { Field, ObjectType } from \"type-graphql\";\nimport { BaseMessageOutput } from \"./copilot-response.type\";\n\n@ObjectType()\nexport class LoadAgentStateResponse {\n @Field(() => String)\n threadId: string;\n\n @Field(() => Boolean)\n threadExists: boolean;\n\n @Field(() => String)\n state: string;\n\n @Field(() => String)\n messages: string;\n}\n","import { Field, InputType } from \"type-graphql\";\n\n@InputType()\nexport class LoadAgentStateInput {\n @Field(() => String)\n threadId: string;\n\n @Field(() => String)\n agentName: string;\n}\n","import { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\n// @ts-expect-error - createCopilotEndpointSingleRouteExpress is exported. Type issues in imported package.\nimport { createCopilotEndpointSingleRouteExpress } from \"@copilotkitnext/runtime/express\";\n\nexport function copilotRuntimeNodeHttpEndpoint(options: CreateCopilotRuntimeServerOptions) {\n const commonConfig = getCommonConfig(options);\n\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"node-http\",\n },\n });\n\n if (options.properties?._copilotkit) {\n telemetry.setGlobalProperties({\n _copilotkit: options.properties._copilotkit,\n });\n }\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating Node HTTP endpoint\");\n\n const serviceAdapter = options.serviceAdapter;\n options.runtime.handleServiceAdapter(serviceAdapter);\n\n return createCopilotEndpointSingleRouteExpress({\n runtime: options.runtime.instance,\n basePath: options.baseUrl ?? options.endpoint,\n });\n}\n"],"mappings":"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","names":["buildSchemaSync","Arg","Ctx","Mutation","Query","Resolver","ReplaySubject","Subject","filter","finalize","firstValueFrom","shareReplay","skipWhile","take","takeWhile","tap","Field","InputType","Field","InputType","MessageInput","BaseMessageInput","textMessage","actionExecutionMessage","resultMessage","agentStateMessage","imageMessage","Field","TextMessageInput","nullable","ActionExecutionMessageInput","ResultMessageInput","AgentStateMessageInput","ImageMessageInput","InputType","content","parentMessageId","role","String","MessageRole","name","arguments","scope","deprecationReason","actionExecutionId","actionName","result","threadId","agentName","state","running","nodeName","runId","active","Boolean","format","bytes","Field","InputType","Field","InputType","ActionInput","name","description","jsonSchema","available","Field","String","ActionInputAvailability","nullable","InputType","FrontendInput","toDeprecate_fullContext","actions","url","Field","String","nullable","ActionInput","InputType","Field","InputType","Field","InputType","GuardrailsRuleInput","allowList","denyList","Field","String","nullable","InputType","GuardrailsInput","inputValidationRules","CloudInput","guardrails","Field","GuardrailsInput","nullable","InputType","Field","InputType","ForwardedParametersInput","model","maxTokens","stop","toolChoice","toolChoiceFunctionName","temperature","Field","String","nullable","Number","InputType","Field","InputType","AgentSessionInput","agentName","threadId","nodeName","Field","String","nullable","InputType","Field","InputType","AgentStateInput","agentName","state","config","Field","String","nullable","InputType","Field","InputType","ExtensionsInput","openaiAssistantAPI","Field","OpenAIApiAssistantAPIInput","nullable","InputType","runId","threadId","String","Field","InputType","Field","InterfaceType","ObjectType","registerEnumType","Field","InterfaceType","ObjectType","Field","ObjectType","ExtensionsResponse","openaiAssistantAPI","Field","OpenAIApiAssistantAPIResponse","nullable","ObjectType","runId","threadId","String","BaseMessageOutput","id","createdAt","status","Field","String","Date","MessageStatusUnion","InterfaceType","resolveType","value","hasOwnProperty","TextMessageOutput","ActionExecutionMessageOutput","ResultMessageOutput","AgentStateMessageOutput","ImageMessageOutput","undefined","role","content","parentMessageId","MessageRole","nullable","ObjectType","implements","name","scope","arguments","deprecationReason","actionExecutionId","actionName","result","threadId","agentName","nodeName","runId","active","state","running","Boolean","format","bytes","CopilotResponse","messages","extensions","metaEvents","ResponseStatusUnion","ExtensionsResponse","BaseMetaEvent","MetaEventName","registerEnumType","name","description","BaseMetaEvent","type","Field","String","InterfaceType","resolveType","value","LangGraphInterruptEvent","CopilotKitLangGraphInterruptEvent","undefined","CopilotKitLangGraphInterruptEventData","messages","BaseMessageOutput","ObjectType","response","nullable","implements","data","MetaEventInput","name","value","response","messages","Field","MetaEventName","String","nullable","MessageInput","InputType","Field","InputType","CopilotContextInput","description","value","Field","String","InputType","GenerateCopilotResponseMetadataInput","requestType","Field","CopilotRequestType","nullable","InputType","GenerateCopilotResponseInput","metadata","threadId","runId","messages","frontend","cloud","forwardedParameters","agentSession","agentState","agentStates","extensions","metaEvents","context","String","MessageInput","FrontendInput","CloudInput","ForwardedParametersInput","AgentSessionInput","AgentStateInput","ExtensionsInput","MetaEventInput","CopilotContextInput","Repeater","CopilotKitError","CopilotKitErrorCode","CopilotKitLowLevelError","Severity","ReplaySubject","RuntimeEventTypes","RuntimeMetaEventName","GraphQLJSONObject","plainToInstance","GraphQLError","TelemetryClient","createHash","CopilotKitMisuseError","readBody","getZodParameters","CopilotRuntime","CopilotRuntimeVNext","InMemoryAgentRunner","InMemoryAgentRunnerVNext","EndpointType","extractParametersFromSchema","toolOrSchema","parameters","schema","toolParameters","jsonSchema","properties","requiredParams","Set","required","paramName","Object","prototype","hasOwnProperty","call","paramDef","type","description","items","itemType","itemProperties","keys","join","enum","Array","isArray","enumValues","objectProperties","push","name","has","convertMCPToolsToActions","mcpTools","mcpEndpoint","actions","toolName","tool","entries","handler","params","result","execute","JSON","stringify","error","console","Error","message","String","_isMCPTool","_mcpEndpoint","generateMcpToolInstructions","toolsMap","length","toolEntries","toolsDoc","map","paramsDoc","paramsList","propSchema","propDetails","requiredMark","includes","typeInfo","itemProps","objectProps","e","EventType","map","LangGraphEventTypes","MetaEventNames","CustomEventNames","LangGraphAgent","AGUILangGraphAgent","LangGraphHttpAgent","CustomEventNames","LangGraphAgent","AGUILangGraphAgent","constructor","config","clone","dispatchEvent","event","type","EventType","CUSTOM","customEvent","name","subscriber","next","TEXT_MESSAGE_START","role","messageId","value","message_id","rawEvent","TEXT_MESSAGE_CONTENT","delta","message","TEXT_MESSAGE_END","TOOL_CALL_START","toolCallId","id","toolCallName","parentMessageId","TOOL_CALL_ARGS","args","TOOL_CALL_END","activeRun","manuallyEmittedState","STATE_SNAPSHOT","snapshot","getStateSnapshot","values","isMessageEvent","isToolEvent","metadata","run","input","pipe","map","processedEvent","RAW","eventType","toolCallData","data","chunk","tool_call_chunks","toolCallUsedToPredictState","some","predictStateTool","tool","LangGraphEventTypes","OnChatModelStream","langGraphDefaultMergeState","state","messages","aguiMergedState","tools","returnedTools","agui","rawCombinedTools","combinedTools","Array","from","Map","t","key","JSON","stringify","copilotkit","actions","context","getSchemaKeys","CONSTANT_KEYS","schemaKeys","output","BasicAgent","CopilotRuntime","params","observability","mcpToolsCache","Map","runtimeArgs","_instance","constructor","agents","assignEndpointsToAgents","remoteEndpoints","runner","InMemoryAgentRunnerVNext","beforeRequestMiddleware","createOnBeforeRequestHandler","bind","afterRequestMiddleware","createOnAfterRequestHandler","observability_c","instance","CopilotRuntimeVNext","endpoints","reduce","acc","endpoint","resolveEndpointType","EndpointType","LangGraphPlatform","lgAgents","lgEndpoint","forEach","agent","graphId","assistantId","name","LangGraphAgent","deploymentUrl","langsmithApiKey","handleServiceAdapter","serviceAdapter","Promise","resolve","then","agentsList","isAgentsListEmpty","Object","keys","length","hasServiceAdapter","Boolean","illegalServiceAdapterNames","serviceAdapterCanBeUsedForAgent","includes","CopilotKitMisuseError","message","default","BasicAgent","model","provider","actions","mcpTools","getToolsFromMCP","assignToolsToAgents","getToolsFromActions","actionsArray","properties","url","undefined","map","action","zodSchema","getZodParameters","parameters","description","tools","enrichedAgents","agentId","entries","existingConfig","Reflect","get","existingTools","updatedConfig","set","hookParams","middleware","onBeforeRequest","request","runtime","path","body","readBody","gqlMessages","aguiToGQL","messages","msg","role","inputMessages","push","outputMessages","threadId","runId","forwardedProps","onAfterRequest","logObservabilityBeforeRequest","requestData","hooks","handleRequest","error","console","logObservabilityAfterRequest","outputMessagesPromise","baseData","streamedChunks","requestStartTime","publicApiKey","responseData","output","progressive","latency","Date","now","timestamp","isFinalResponse","agentName","nodeName","handleResponse","logError","catch","options","runtimeMcpServers","mcpServers","createMCPClient","requestMcpServers","mcpEndpoints","hasAnyServers","effectiveEndpoints","byUrl","ep","Array","from","values","allTools","config","endpointUrl","cached","client","toolsMap","toolDefs","toolName","tool","extractParametersFromSchema","dedupedByName","copilotKitEndpoint","type","CopilotKit","langGraphPlatformEndpoint","packageJson","require","telemetryClient","TelemetryClient","packageName","name","packageVersion","version","getRuntimeInstanceTelemetryInfo","options","runtime","remoteEndpoints","params","endpointsInfo","reduce","acc","endpoint","info","endpointType","resolveEndpointType","endpointTypes","includes","EndpointType","LangGraphPlatform","ep","agentsAmount","agents","length","hashedKey","langsmithApiKey","createHash","update","digest","publicApiKey","cloud","apiKeyProvided","trim","actionsAmount","actions","endpointsAmount","Object","keys","instance","hashedLgcKey","baseUrl","randomId","Field","ObjectType","Agent","id","name","description","Field","String","ObjectType","AgentsResponse","agents","CopilotKitError","CopilotKitLowLevelError","invokeGuardrails","baseUrl","copilotCloudPublicApiKey","data","onResult","onError","messages","length","textMessage","role","MessageRole","user","filter","m","undefined","assistant","map","content","lastMessage","restOfMessages","slice","body","input","validTopics","cloud","guardrails","inputValidationRules","allowList","invalidTopics","denyList","guardrailsResult","fetch","method","headers","JSON","stringify","ok","resultJson","json","CopilotResolver","hello","availableAgents","ctx","logger","child","component","debug","agentsWithEndpoints","agents","endpoint","agentWithoutEndpoint","generateCopilotResponse","properties","telemetry","capture","requestType","metadata","request","get","_copilotkit","copilotRuntime","runtime","serviceAdapter","copilotCloudBaseUrl","publicApiKeyFromHeaders","error","GraphQLError","process","env","COPILOT_CLOUD_BASE_URL","responseStatus$","ReplaySubject","interruptStreaming$","guardrailsResult$","outputMessages","resolveOutputMessagesPromise","rejectOutputMessagesPromise","outputMessagesPromise","Promise","resolve","reject","runtimeResponse","eventSource","threadId","randomId","runId","serverSideActions","actionInputsWithoutAgents","extensions","eventStream","processRuntimeEvents","action","find","serverSideAction","name","pipe","shareReplay","finalize","response","status","firstValueFrom","metaEvents","Repeater","push","stop","eventStreamSubscription","subscribe","next","event","type","RuntimeEventTypes","MetaEvent","LangGraphEventTypes","OnInterrupt","plainToInstance","LangGraphInterruptEvent","RuntimeMetaEventName","value","CopilotKitLangGraphInterruptEvent","message","TextMessage","id","createdAt","Date","SuccessMessageStatus","ActionExecutionMessage","arguments","Error","err","includes","visibility","UnknownErrorResponse","description","unsubscribe","complete","SuccessResponseStatus","pushMessage","stopStreamingMessages","result","GuardrailsValidationFailureResponse","guardrailsReason","reason","TextMessageStart","textMessageContentStream","skipWhile","e","takeWhile","TextMessageEnd","messageId","TextMessageContent","streamingTextStatus","Subject","parentMessageId","pushTextChunk","stopStreamingText","textChunks","textSubscription","take","tap","FailedMessageStatus","MessageStreamInterruptedResponse","join","ActionExecutionStart","actionExecutionArgumentStream","ActionExecutionEnd","actionExecutionId","ActionExecutionArgs","streamingArgumentsStatus","actionName","pushArgumentsChunk","stopStreamingArguments","argumentChunks","actionExecutionArgumentSubscription","args","ActionExecutionResult","ResultMessage","AgentStateMessage","agentName","nodeName","active","state","running","CopilotKitError","CopilotKitLowLevelError","originalError","code","statusCode","severity","originalErrorType","Query","String","AgentsResponse","Ctx","Mutation","CopilotResponse","Arg","GraphQLJSONObject","nullable","Resolver","useDeferStream","createPinoLogger","pretty","createLogger","options","level","component","stream","pretty","colorize","logger","createPinoLogger","process","env","LOG_LEVEL","redact","paths","remove","child","Arg","Resolver","Ctx","Query","Field","ObjectType","LoadAgentStateResponse","threadId","threadExists","state","messages","Field","String","Boolean","ObjectType","Field","InputType","LoadAgentStateInput","threadId","agentName","Field","String","InputType","CopilotKitAgentDiscoveryError","StateResolver","loadAgentState","ctx","data","agents","hasAgent","some","agent","name","agentName","CopilotKitAgentDiscoveryError","availableAgents","map","a","id","state","Query","LoadAgentStateResponse","Ctx","Arg","Resolver","packageJson","CopilotKitError","CopilotKitErrorCode","logger","createLogger","addCustomHeaderPlugin","onResponse","response","headers","set","version","createContext","initialContext","copilotKitContext","contextLogger","properties","debug","ctx","_copilotkit","buildSchema","options","schema","buildSchemaSync","resolvers","CopilotResolver","StateResolver","emitSchemaFile","getCommonConfig","logLevel","process","env","LOG_LEVEL","level","component","cloud","telemetry","setCloudConfiguration","publicApiKey","baseUrl","setGlobalProperties","runtime","serviceAdapter","constructor","name","userErrorCodes","CopilotKitErrorCode","AGENT_NOT_FOUND","API_NOT_FOUND","REMOTE_ENDPOINT_NOT_FOUND","CONFIGURATION_ERROR","MISSING_PUBLIC_API_KEY_ERROR","logging","plugins","useDeferStream","context","maskedErrors","maskError","error","message","isDev","originalError","extensions","errorCode","code","includes","console","CopilotKitError","createCopilotEndpointSingleRouteExpress","copilotRuntimeNodeHttpEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","properties","_copilotkit","capture","getRuntimeInstanceTelemetryInfo","logger","logging","debug","serviceAdapter","handleServiceAdapter","createCopilotEndpointSingleRouteExpress","instance","basePath","baseUrl","endpoint"]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
copilotRuntimeNodeHttpEndpoint,
|
|
3
3
|
getRuntimeInstanceTelemetryInfo,
|
|
4
4
|
telemetry_client_default
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OFNVQHNM.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__name
|
|
8
8
|
} from "./chunk-FHD4JECV.mjs";
|
|
@@ -22,4 +22,4 @@ __name(copilotRuntimeNodeExpressEndpoint, "copilotRuntimeNodeExpressEndpoint");
|
|
|
22
22
|
export {
|
|
23
23
|
copilotRuntimeNodeExpressEndpoint
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
//# sourceMappingURL=chunk-45RCC3ZS.mjs.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
copilotRuntimeNodeHttpEndpoint,
|
|
3
|
+
getRuntimeInstanceTelemetryInfo,
|
|
4
|
+
telemetry_client_default
|
|
5
|
+
} from "./chunk-3AJVKDZX.mjs";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-FHD4JECV.mjs";
|
|
9
|
+
|
|
10
|
+
// src/lib/integrations/node-express/index.ts
|
|
11
|
+
function copilotRuntimeNodeExpressEndpoint(options) {
|
|
12
|
+
telemetry_client_default.setGlobalProperties({
|
|
13
|
+
runtime: {
|
|
14
|
+
framework: "node-express"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
|
|
18
|
+
return copilotRuntimeNodeHttpEndpoint(options);
|
|
19
|
+
}
|
|
20
|
+
__name(copilotRuntimeNodeExpressEndpoint, "copilotRuntimeNodeExpressEndpoint");
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
copilotRuntimeNodeExpressEndpoint
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=chunk-4EHJ4XFJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/integrations/node-express/index.ts"],"sourcesContent":["import { CreateCopilotRuntimeServerOptions } from \"../shared\";\nimport { copilotRuntimeNodeHttpEndpoint } from \"../node-http\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\n\nexport function copilotRuntimeNodeExpressEndpoint(options: CreateCopilotRuntimeServerOptions) {\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"node-express\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;AAIO,SAASA,kCAAkCC,SAA0C;AAC1FC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgCC,gCAAgCN,OAAAA,CAAAA;AAClF,SAAOO,+BAA+BP,OAAAA;AACxC;AATgBD;","names":["copilotRuntimeNodeExpressEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","getRuntimeInstanceTelemetryInfo","copilotRuntimeNodeHttpEndpoint"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
copilotRuntimeNodeHttpEndpoint,
|
|
3
|
+
getRuntimeInstanceTelemetryInfo,
|
|
4
|
+
telemetry_client_default
|
|
5
|
+
} from "./chunk-V4DHVC7M.mjs";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-FHD4JECV.mjs";
|
|
9
|
+
|
|
10
|
+
// src/lib/integrations/nest/index.ts
|
|
11
|
+
function copilotRuntimeNestEndpoint(options) {
|
|
12
|
+
telemetry_client_default.setGlobalProperties({
|
|
13
|
+
runtime: {
|
|
14
|
+
framework: "nest"
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
telemetry_client_default.capture("oss.runtime.instance_created", getRuntimeInstanceTelemetryInfo(options));
|
|
18
|
+
return copilotRuntimeNodeHttpEndpoint(options);
|
|
19
|
+
}
|
|
20
|
+
__name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
copilotRuntimeNestEndpoint
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=chunk-4IANB4TC.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/integrations/nest/index.ts"],"sourcesContent":["import { CreateCopilotRuntimeServerOptions } from \"../shared\";\nimport { copilotRuntimeNodeHttpEndpoint } from \"../node-http\";\nimport telemetry, { getRuntimeInstanceTelemetryInfo } from \"../../telemetry-client\";\nimport { createCopilotEndpoint } from \"@copilotkitnext/runtime\";\n\nexport function copilotRuntimeNestEndpoint(\n options: CreateCopilotRuntimeServerOptions,\n): ReturnType<typeof createCopilotEndpoint> {\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nest\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", getRuntimeInstanceTelemetryInfo(options));\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;;AAKO,SAASA,2BACdC,SAA0C;AAE1CC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgCC,gCAAgCN,OAAAA,CAAAA;AAClF,SAAOO,+BAA+BP,OAAAA;AACxC;AAXgBD;","names":["copilotRuntimeNestEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","getRuntimeInstanceTelemetryInfo","copilotRuntimeNodeHttpEndpoint"]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
getCommonConfig,
|
|
3
3
|
getRuntimeInstanceTelemetryInfo,
|
|
4
4
|
telemetry_client_default
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KTELVQ67.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__name
|
|
8
8
|
} from "./chunk-FHD4JECV.mjs";
|
|
@@ -71,4 +71,4 @@ export {
|
|
|
71
71
|
config,
|
|
72
72
|
copilotRuntimeNextJSPagesRouterEndpoint
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
74
|
+
//# sourceMappingURL=chunk-4KES76K3.mjs.map
|