UNPKG

@copilotkit/runtime

Version:

<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />

1 lines 4.16 kB
{"version":3,"file":"shared.cjs","names":["createLogger","CopilotResolver","StateResolver"],"sources":["../../../src/lib/integrations/shared.ts"],"sourcesContent":["import { YogaInitialContext } from \"graphql-yoga\";\nimport { buildSchemaSync } from \"type-graphql\";\nimport { CopilotResolver } from \"../../graphql/resolvers/copilot.resolver\";\nimport { CopilotRuntime } from \"../runtime/copilot-runtime\";\nimport { CopilotServiceAdapter } from \"../../service-adapters\";\nimport { CopilotCloudOptions } from \"../cloud\";\nimport { LogLevel, createLogger } from \"../../lib/logger\";\nimport telemetry from \"../telemetry-client\";\nimport { StateResolver } from \"../../graphql/resolvers/state.resolver\";\n\n/**\n * CORS configuration for CopilotKit endpoints.\n */\nexport interface CopilotEndpointCorsConfig {\n /**\n * Allowed origin(s). Can be a string, array of strings, or a function that returns the origin.\n */\n origin:\n | string\n | string[]\n | ((origin: string, c: any) => string | undefined | null);\n /**\n * Whether to include credentials (cookies, authorization headers) in CORS requests.\n * When true, origin cannot be \"*\" - must be an explicit origin.\n */\n credentials?: boolean;\n}\n\nconst logger = createLogger();\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<any>;\n serviceAdapter?: CopilotServiceAdapter;\n endpoint: string;\n baseUrl?: string;\n cloud?: CopilotCloudOptions;\n properties?: CopilotRequestContextProperties;\n logLevel?: LogLevel;\n /**\n * Optional CORS configuration. When not provided, defaults to allowing all origins without credentials.\n * To support HTTP-only cookies, provide cors config with credentials: true and explicit origin.\n */\n cors?: CopilotEndpointCorsConfig;\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};\n\nexport function getCommonConfig(\n options: CreateCopilotRuntimeServerOptions,\n): CommonConfig {\n const logLevel =\n (process.env.LOG_LEVEL as LogLevel) ||\n (options.logLevel as LogLevel) ||\n \"error\";\n const logger = createLogger({\n level: logLevel,\n component: \"getCommonConfig\",\n });\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 ?? \"none\",\n },\n });\n\n return {\n logging: createLogger({ component: \"CopilotKit Runtime\", level: logLevel }),\n };\n}\n"],"mappings":";;;;;;;;;AA4BA,MAAM,SAASA,6BAAc;AA6B7B,SAAgB,YACd,UAEI,EAAE,EACN;AACA,QAAO,MAAM,6BAA6B;CAC1C,MAAM,2CAAyB;EAC7B,WAAW,CAACC,0CAAiBC,qCAAc;EAC3C,gBAAgB,QAAQ;EACzB,CAAC;AACF,QAAO,MAAM,oCAAoC;AACjD,QAAO;;AAOT,SAAgB,gBACd,SACc;CACd,MAAM,WACH,QAAQ,IAAI,aACZ,QAAQ,YACT;AACa,6BAAa;EAC1B,OAAO;EACP,WAAW;EACZ,CAAC;AAEF,KAAI,QAAQ,MACV,kCAAU,sBAAsB;EAC9B,cAAc,QAAQ,MAAM;EAC5B,SAAS,QAAQ,MAAM;EACxB,CAAC;AAGJ,KAAI,QAAQ,YAAY,YACtB,kCAAU,oBAAoB,EAC5B,aAAa,EACX,GAAI,QAAQ,WAAW,aACxB,EACF,CAAC;AAGJ,kCAAU,oBAAoB,EAC5B,SAAS,EACP,gBAAgB,QAAQ,gBAAgB,aAAa,QAAQ,QAC9D,EACF,CAAC;AAEF,QAAO,EACL,SAASF,4BAAa;EAAE,WAAW;EAAsB,OAAO;EAAU,CAAC,EAC5E"}