@copilotkit/runtime 1.0.3 → 1.0.4
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/.turbo/turbo-build.log +28 -28
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/dist/{chunk-FPVMUZ5S.mjs → chunk-67DNPQCA.mjs} +10 -10
- package/dist/chunk-67DNPQCA.mjs.map +1 -0
- package/dist/{chunk-TTT54UED.mjs → chunk-F7DCXPQ7.mjs} +2 -2
- package/dist/{chunk-GTYL57UF.mjs → chunk-FNDYTEEL.mjs} +2 -2
- package/dist/{chunk-3SJCLGQE.mjs → chunk-JWUHY4RB.mjs} +2 -2
- package/dist/{chunk-L2HCON4L.mjs → chunk-UFAHXJX7.mjs} +3 -3
- package/dist/{chunk-DVDKD6F5.mjs → chunk-URMISMK2.mjs} +8 -8
- package/dist/chunk-URMISMK2.mjs.map +1 -0
- package/dist/{chunk-VIQZS4W6.mjs → chunk-VQM4RIMQ.mjs} +9 -10
- package/dist/chunk-VQM4RIMQ.mjs.map +1 -0
- package/dist/index.js +26 -27
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -7
- package/dist/lib/index.js +26 -27
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +7 -7
- package/dist/lib/integrations/index.js +7 -8
- package/dist/lib/integrations/index.js.map +1 -1
- package/dist/lib/integrations/index.mjs +5 -5
- package/dist/lib/integrations/nest/index.js +7 -8
- package/dist/lib/integrations/nest/index.js.map +1 -1
- package/dist/lib/integrations/nest/index.mjs +3 -3
- package/dist/lib/integrations/node-express/index.js +7 -8
- package/dist/lib/integrations/node-express/index.js.map +1 -1
- package/dist/lib/integrations/node-express/index.mjs +3 -3
- package/dist/lib/integrations/node-http/index.js +7 -8
- package/dist/lib/integrations/node-http/index.js.map +1 -1
- package/dist/lib/integrations/node-http/index.mjs +2 -2
- package/dist/service-adapters/index.js +15 -15
- package/dist/service-adapters/index.js.map +1 -1
- package/dist/service-adapters/index.mjs +2 -2
- package/package.json +4 -5
- package/src/graphql/resolvers/copilot.resolver.ts +6 -6
- package/src/service-adapters/experimental/groq/groq-adapter.ts +3 -3
- package/src/service-adapters/experimental/ollama/ollama-adapter.ts +3 -5
- package/src/service-adapters/google/google-genai-adapter.ts +4 -4
- package/src/service-adapters/langchain/langchain-adapter.ts +2 -2
- package/src/service-adapters/langchain/utils.ts +7 -7
- package/src/service-adapters/openai/openai-adapter.ts +2 -2
- package/dist/chunk-DVDKD6F5.mjs.map +0 -1
- package/dist/chunk-FPVMUZ5S.mjs.map +0 -1
- package/dist/chunk-VIQZS4W6.mjs.map +0 -1
- /package/dist/{chunk-TTT54UED.mjs.map → chunk-F7DCXPQ7.mjs.map} +0 -0
- /package/dist/{chunk-GTYL57UF.mjs.map → chunk-FNDYTEEL.mjs.map} +0 -0
- /package/dist/{chunk-3SJCLGQE.mjs.map → chunk-JWUHY4RB.mjs.map} +0 -0
- /package/dist/{chunk-L2HCON4L.mjs.map → chunk-UFAHXJX7.mjs.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/lib/integrations/node-http/index.ts","../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/types/enums.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/types/copilot-response.type.ts","../src/graphql/types/message-status.type.ts","../src/service-adapters/events.ts","../src/lib/telemetry-client.ts","../src/lib/logger.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.0.4\",\n \"sideEffects\": false,\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.mjs\",\n \"exports\": {\n \".\": \"./dist/index.js\"\n },\n \"types\": \"./dist/index.d.ts\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"build\": \"tsup --clean\",\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\",\n \"generate-graphql-schema\": \"rm -rf __snapshots__ && ts-node ./scripts/generate-gql-schema.ts\"\n },\n \"devDependencies\": {\n \"@swc/core\": \"1.5.28\",\n \"@types/express\": \"^4.17.21\",\n \"@types/jest\": \"^29.5.4\",\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 },\n \"dependencies\": {\n \"@copilotkit/shared\": \"workspace:*\",\n \"@google/generative-ai\": \"^0.11.2\",\n \"@graphql-yoga/plugin-defer-stream\": \"^3.3.1\",\n \"@langchain/community\": \"^0.0.53\",\n \"@langchain/core\": \"^0.1.61\",\n \"@langchain/openai\": \"^0.0.28\",\n \"class-transformer\": \"^0.5.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 \"js-tiktoken\": \"^1.0.8\",\n \"langchain\": \"^0.1.36\",\n \"openai\": \"^4.50.0\",\n \"pino\": \"^9.2.0\",\n \"pino-pretty\": \"^11.2.1\",\n \"reflect-metadata\": \"^0.2.2\",\n \"rxjs\": \"^7.8.1\",\n \"tiktoken\": \"^1.0.15\",\n \"type-graphql\": \"2.0.0-rc.1\",\n \"zod\": \"^3.23.3\"\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 { createYoga } from \"graphql-yoga\";\nimport { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry from \"../../telemetry-client\";\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 telemetry.capture(\"oss.runtime.instance_created\", {});\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating Node HTTP endpoint\");\n\n const yoga = createYoga({\n ...commonConfig,\n graphqlEndpoint: options.endpoint,\n });\n\n return yoga;\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 \"../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\";\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\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],\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};\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 telemetry.setGlobalProperties({\n runtime: {\n serviceAdapter: options.serviceAdapter.constructor.name,\n },\n });\n\n return {\n logging: createLogger({ component: \"Yoga GraphQL\", level: logLevel }),\n schema: buildSchema(),\n plugins: [useDeferStream()],\n context: (ctx: YogaInitialContext): Promise<Partial<GraphQLContext>> =>\n createContext(ctx, options, contextLogger, options.properties),\n };\n}\n","import { Arg, Ctx, Mutation, Query, Resolver } from \"type-graphql\";\nimport {\n ReplaySubject,\n Subject,\n Subscription,\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 { MessageRole } from \"../types/enums\";\nimport { Repeater } from \"graphql-yoga\";\nimport type { CopilotRequestContextProperties, GraphQLContext } from \"../../lib/integrations\";\nimport { RuntimeEvent, RuntimeEventTypes } from \"../../service-adapters/events\";\nimport {\n FailedMessageStatus,\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 { ActionExecutionMessage, Message, ResultMessage, TextMessage } from \"../types/converted\";\nimport telemetry from \"../../lib/telemetry-client\";\nimport { randomId } from \"@copilotkit/shared\";\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 console.log(\"invokeGuardrails.baseUrl\", baseUrl);\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 @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 });\n\n let logger = ctx.logger.child({ component: \"CopilotResolver.generateCopilotResponse\" });\n logger.debug({ data }, \"Generating Copilot response\");\n\n const copilotRuntime = ctx._copilotkit.runtime;\n const serviceAdapter = ctx._copilotkit.serviceAdapter;\n\n if (properties) {\n logger.debug(\"Properties provided, merging with context properties\");\n ctx.properties = { ...ctx.properties, ...properties };\n }\n\n let copilotCloudPublicApiKey: string | null = null;\n let copilotCloudBaseUrl: string;\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 const key = ctx.request.headers.get(\"x-copilotcloud-public-api-key\");\n if (key) {\n logger.debug(\"Public API key found in headers\");\n copilotCloudPublicApiKey = key;\n } else {\n logger.error(\"Public API key not found in headers\");\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 logger.debug(\"Processing\");\n const {\n eventSource,\n threadId = randomId(),\n runId,\n actions,\n } = await copilotRuntime.process({\n serviceAdapter,\n messages: data.messages,\n actions: data.frontend.actions,\n threadId: data.threadId,\n runId: data.runId,\n publicApiKey: undefined,\n properties: ctx.properties || {},\n outputMessagesPromise,\n });\n\n logger.debug(\"Event source created, creating response\");\n\n const response = {\n threadId,\n runId,\n status: firstValueFrom(responseStatus$),\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 // run and process the event stream\n const eventStream = eventSource\n .process({\n serversideActions: actions,\n guardrailsResult$: data.cloud?.guardrails ? guardrailsResult$ : null,\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 logger.debug(\"Event stream created, subscribing to event stream\");\n\n eventStreamSubscription = eventStream.subscribe({\n next: async (event) => {\n switch (event.type) {\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) => e !== event),\n // take until the message end event\n takeWhile((e) => e.type != RuntimeEventTypes.TextMessageEnd),\n );\n\n // signal when we are done streaming\n const streamingTextStatus = new Subject<typeof MessageStatusUnion>();\n\n const messageId = randomId();\n\n // push the new message\n pushMessage({\n id: messageId,\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) => e !== event),\n takeWhile((e) => e.type != RuntimeEventTypes.ActionExecutionEnd),\n );\n const streamingArgumentsStatus = new Subject<typeof MessageStatusUnion>();\n pushMessage({\n id: event.actionExecutionId,\n status: firstValueFrom(streamingArgumentsStatus),\n createdAt: new Date(),\n name: event.actionName,\n scope: event.scope!,\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 scope: event.scope!,\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: randomId(),\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: randomId(),\n createdAt: new Date(),\n actionExecutionId: event.actionExecutionId,\n actionName: event.actionName,\n result: event.result,\n }),\n );\n break;\n }\n },\n error: (err) => {\n logger.error({ err }, \"Error in event stream\");\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\";\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","import { Field, InputType } from \"type-graphql\";\nimport { MessageRole, ActionExecutionScope } from \"../types/enums\";\nimport { BaseMessage } 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 BaseMessage {\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\n@InputType()\nexport class TextMessageInput {\n @Field(() => String)\n content: 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(() => ActionExecutionScope)\n scope: ActionExecutionScope;\n}\n\n@InputType()\nexport class ResultMessageInput {\n @Field(() => String)\n actionExecutionId: string;\n\n @Field(() => String)\n actionName: string;\n\n @Field(() => String)\n result: string;\n}\n","import { registerEnumType } from \"type-graphql\";\n\nexport enum MessageRole {\n user = \"user\",\n assistant = \"assistant\",\n system = \"system\",\n}\n\nexport enum ActionExecutionScope {\n server = \"server\",\n client = \"client\",\n}\n\nexport enum CopilotRequestType {\n Chat = \"Chat\",\n Task = \"Task\",\n TextareaCompletion = \"TextareaCompletion\",\n TextareaPopover = \"TextareaPopover\",\n Suggestion = \"Suggestion\",\n}\n\nregisterEnumType(MessageRole, {\n name: \"MessageRole\",\n description: \"The role of the message\",\n});\n\nregisterEnumType(ActionExecutionScope, {\n name: \"ActionExecutionScope\",\n description: \"The scope of the action\",\n});\n\nregisterEnumType(CopilotRequestType, {\n name: \"CopilotRequestType\",\n description: \"The type of Copilot request\",\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","import { Field, InputType } from \"type-graphql\";\n\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","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, InterfaceType, ObjectType } from \"type-graphql\";\nimport { MessageRole, ActionExecutionScope } from \"./enums\";\nimport { MessageStatusUnion } from \"./message-status.type\";\nimport { ResponseStatusUnion } from \"./response-status.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 }\n return undefined;\n },\n})\nabstract 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\n@ObjectType({ implements: BaseMessageOutput })\nexport class ActionExecutionMessageOutput {\n @Field(() => String)\n name: string;\n\n @Field(() => ActionExecutionScope)\n scope: ActionExecutionScope;\n\n @Field(() => [String])\n arguments: 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()\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","import { Field, ObjectType, createUnionType, registerEnumType } from \"type-graphql\";\n\nexport enum MessageStatusCode {\n Pending = \"pending\",\n Success = \"success\",\n Failed = \"failed\",\n}\n\nregisterEnumType(MessageStatusCode, {\n name: \"MessageStatusCode\",\n});\n\n@ObjectType()\nclass BaseMessageStatus {\n @Field(() => MessageStatusCode)\n code: MessageStatusCode;\n}\n\n@ObjectType()\nexport class PendingMessageStatus extends BaseMessageStatus {\n code: MessageStatusCode = MessageStatusCode.Pending;\n}\n\n@ObjectType()\nexport class SuccessMessageStatus extends BaseMessageStatus {\n code: MessageStatusCode = MessageStatusCode.Success;\n}\n\n@ObjectType()\nexport class FailedMessageStatus extends BaseMessageStatus {\n code: MessageStatusCode = MessageStatusCode.Failed;\n\n @Field(() => String)\n reason: string;\n}\n\nexport const MessageStatusUnion = createUnionType({\n name: \"MessageStatus\",\n types: () => [PendingMessageStatus, SuccessMessageStatus, FailedMessageStatus] as const,\n});\n","import { Action } from \"@copilotkit/shared\";\nimport { of, concat, map, scan, concatMap, ReplaySubject, Subject, firstValueFrom } from \"rxjs\";\nimport { streamLangChainResponse } from \"./langchain/utils\";\nimport { GuardrailsResult } from \"../graphql/types/guardrails-result.type\";\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}\n\ntype FunctionCallScope = \"client\" | \"server\";\n\nexport type RuntimeEvent =\n | { type: RuntimeEventTypes.TextMessageStart; messageId: string }\n | {\n type: RuntimeEventTypes.TextMessageContent;\n content: string;\n }\n | { type: RuntimeEventTypes.TextMessageEnd }\n | {\n type: RuntimeEventTypes.ActionExecutionStart;\n actionExecutionId: string;\n actionName: string;\n scope?: FunctionCallScope;\n }\n | { type: RuntimeEventTypes.ActionExecutionArgs; args: string }\n | { type: RuntimeEventTypes.ActionExecutionEnd }\n | {\n type: RuntimeEventTypes.ActionExecutionResult;\n actionName: string;\n actionExecutionId: string;\n result: string;\n };\n\ninterface RuntimeEventWithState {\n event: RuntimeEvent | null;\n callActionServerSide: boolean;\n action: Action<any> | null;\n actionExecutionId: string | null;\n args: string;\n}\n\ntype EventSourceCallback = (eventStream$: RuntimeEventSubject) => Promise<void>;\n\nexport class RuntimeEventSubject extends ReplaySubject<RuntimeEvent> {\n constructor() {\n super();\n }\n\n sendTextMessageStart(messageId: string) {\n this.next({ type: RuntimeEventTypes.TextMessageStart, messageId });\n }\n\n sendTextMessageContent(content: string) {\n this.next({ type: RuntimeEventTypes.TextMessageContent, content });\n }\n\n sendTextMessageEnd() {\n this.next({ type: RuntimeEventTypes.TextMessageEnd });\n }\n\n sendTextMessage(messageId: string, content: string) {\n this.sendTextMessageStart(messageId);\n this.sendTextMessageContent(content);\n this.sendTextMessageEnd();\n }\n\n sendActionExecutionStart(actionExecutionId: string, actionName: string) {\n this.next({\n type: RuntimeEventTypes.ActionExecutionStart,\n actionExecutionId,\n actionName,\n });\n }\n\n sendActionExecutionArgs(args: string) {\n this.next({ type: RuntimeEventTypes.ActionExecutionArgs, args });\n }\n\n sendActionExecutionEnd() {\n this.next({ type: RuntimeEventTypes.ActionExecutionEnd });\n }\n\n sendActionExecution(actionExecutionId: string, toolName: string, args: string) {\n this.sendActionExecutionStart(actionExecutionId, toolName);\n this.sendActionExecutionArgs(args);\n this.sendActionExecutionEnd();\n }\n\n sendActionExecutionResult(actionExecutionId: string, actionName: string, result: string) {\n this.next({\n type: RuntimeEventTypes.ActionExecutionResult,\n actionName,\n actionExecutionId,\n result,\n });\n }\n}\n\nexport class RuntimeEventSource {\n private eventStream$ = new RuntimeEventSubject();\n private callback!: EventSourceCallback;\n\n async stream(callback: EventSourceCallback): Promise<void> {\n this.callback = callback;\n }\n\n process({\n serversideActions,\n guardrailsResult$,\n }: {\n serversideActions: Action<any>[];\n guardrailsResult$?: Subject<GuardrailsResult>;\n }) {\n this.callback(this.eventStream$).catch((error) => {\n console.error(\"Error in event source callback\", error);\n });\n return this.eventStream$.pipe(\n // mark tools for server side execution\n map((event) => {\n if (event.type === RuntimeEventTypes.ActionExecutionStart) {\n event.scope = serversideActions.find((action) => action.name === event.actionName)\n ? \"server\"\n : \"client\";\n }\n return event;\n }),\n // track state\n scan(\n (acc, event) => {\n if (event.type === RuntimeEventTypes.ActionExecutionStart) {\n acc.callActionServerSide = event.scope === \"server\";\n acc.args = \"\";\n acc.actionExecutionId = event.actionExecutionId;\n if (acc.callActionServerSide) {\n acc.action = serversideActions.find((action) => action.name === event.actionName);\n }\n } else if (event.type === RuntimeEventTypes.ActionExecutionArgs) {\n acc.args += event.args;\n }\n\n acc.event = event;\n return acc;\n },\n {\n event: null,\n callActionServerSide: false,\n args: \"\",\n actionExecutionId: null,\n action: null,\n } as RuntimeEventWithState,\n ),\n concatMap((eventWithState) => {\n if (\n eventWithState.event!.type === RuntimeEventTypes.ActionExecutionEnd &&\n eventWithState.callActionServerSide\n ) {\n const toolCallEventStream$ = new RuntimeEventSubject();\n executeAction(\n toolCallEventStream$,\n guardrailsResult$ ? guardrailsResult$ : null,\n eventWithState.action!,\n eventWithState.args,\n eventWithState.actionExecutionId,\n ).catch((error) => {\n console.error(error);\n });\n return concat(of(eventWithState.event!), toolCallEventStream$);\n } else {\n return of(eventWithState.event!);\n }\n }),\n );\n }\n}\n\nasync function executeAction(\n eventStream$: RuntimeEventSubject,\n guardrailsResult$: Subject<GuardrailsResult> | null,\n action: Action<any>,\n actionArguments: string,\n actionExecutionId: string,\n) {\n if (guardrailsResult$) {\n const { status } = await firstValueFrom(guardrailsResult$);\n\n if (status === \"denied\") {\n eventStream$.complete();\n return;\n }\n }\n\n // Prepare arguments for function calling\n let args: Record<string, any>[] = [];\n if (actionArguments) {\n args = JSON.parse(actionArguments);\n }\n\n // call the function\n const result = await action.handler(args);\n\n await streamLangChainResponse({\n result,\n eventStream$,\n actionExecution: {\n name: action.name,\n id: actionExecutionId,\n },\n });\n}\n","import { TelemetryClient } from \"@copilotkit/shared\";\nconst packageJson = require(\"../../package.json\");\n\nconst telemetryClient = new TelemetryClient({\n packageName: packageJson.name,\n packageVersion: packageJson.version,\n});\n\nexport default telemetryClient;\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"],"mappings":"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","names":["createYoga","buildSchemaSync","Arg","Ctx","Mutation","Query","Resolver","ReplaySubject","Subject","finalize","firstValueFrom","shareReplay","skipWhile","take","takeWhile","tap","Field","InputType","Field","InputType","registerEnumType","MessageRole","ActionExecutionScope","CopilotRequestType","name","description","MessageInput","BaseMessage","textMessage","actionExecutionMessage","resultMessage","Field","TextMessageInput","nullable","ActionExecutionMessageInput","ResultMessageInput","InputType","content","role","String","MessageRole","name","arguments","scope","ActionExecutionScope","actionExecutionId","actionName","result","Field","InputType","Field","InputType","ActionInput","name","description","jsonSchema","Field","String","InputType","FrontendInput","toDeprecate_fullContext","actions","Field","String","nullable","ActionInput","InputType","Field","InputType","Field","InputType","GuardrailsRuleInput","allowList","denyList","Field","String","nullable","InputType","GuardrailsInput","inputValidationRules","CloudInput","guardrails","Field","GuardrailsInput","nullable","InputType","GenerateCopilotResponseMetadataInput","requestType","Field","CopilotRequestType","nullable","InputType","GenerateCopilotResponseInput","metadata","threadId","runId","messages","frontend","cloud","String","MessageInput","FrontendInput","CloudInput","Field","InterfaceType","ObjectType","Field","ObjectType","createUnionType","registerEnumType","MessageStatusCode","registerEnumType","name","BaseMessageStatus","code","Field","ObjectType","PendingMessageStatus","SuccessMessageStatus","FailedMessageStatus","reason","String","MessageStatusUnion","createUnionType","types","BaseMessageOutput","id","createdAt","status","Field","String","Date","MessageStatusUnion","InterfaceType","resolveType","value","hasOwnProperty","TextMessageOutput","ActionExecutionMessageOutput","ResultMessageOutput","undefined","role","content","MessageRole","ObjectType","implements","name","scope","arguments","ActionExecutionScope","actionExecutionId","actionName","result","CopilotResponse","threadId","runId","messages","ResponseStatusUnion","nullable","Repeater","of","concat","map","scan","concatMap","ReplaySubject","firstValueFrom","RuntimeEventTypes","RuntimeEventSubject","ReplaySubject","constructor","sendTextMessageStart","messageId","next","type","sendTextMessageContent","content","sendTextMessageEnd","sendTextMessage","sendActionExecutionStart","actionExecutionId","actionName","sendActionExecutionArgs","args","sendActionExecutionEnd","sendActionExecution","toolName","sendActionExecutionResult","result","RuntimeEventSource","eventStream$","callback","stream","process","serversideActions","guardrailsResult$","catch","error","console","pipe","map","event","scope","find","action","name","scan","acc","callActionServerSide","concatMap","eventWithState","toolCallEventStream$","executeAction","concat","of","actionArguments","status","firstValueFrom","complete","JSON","parse","handler","streamLangChainResponse","actionExecution","id","GraphQLJSONObject","plainToInstance","GraphQLError","TelemetryClient","packageJson","require","telemetryClient","packageName","name","packageVersion","version","randomId","invokeGuardrails","baseUrl","copilotCloudPublicApiKey","data","onResult","onError","console","log","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","generateCopilotResponse","ctx","properties","telemetry","capture","requestType","metadata","logger","child","component","debug","copilotRuntime","_copilotkit","runtime","serviceAdapter","copilotCloudBaseUrl","key","request","get","error","GraphQLError","process","env","COPILOT_CLOUD_BASE_URL","responseStatus$","ReplaySubject","interruptStreaming$","guardrailsResult$","outputMessages","resolveOutputMessagesPromise","rejectOutputMessagesPromise","outputMessagesPromise","Promise","resolve","reject","eventSource","threadId","randomId","runId","actions","frontend","publicApiKey","response","status","firstValueFrom","Repeater","pushMessage","stopStreamingMessages","result","next","GuardrailsValidationFailureResponse","guardrailsReason","reason","plainToInstance","TextMessage","id","createdAt","Date","err","UnknownErrorResponse","description","eventStreamSubscription","eventStream","serversideActions","pipe","shareReplay","finalize","subscribe","event","type","RuntimeEventTypes","TextMessageStart","textMessageContentStream","skipWhile","e","takeWhile","TextMessageEnd","streamingTextStatus","Subject","messageId","pushTextChunk","stopStreamingText","textChunks","textSubscription","take","tap","FailedMessageStatus","MessageStreamInterruptedResponse","unsubscribe","TextMessageContent","push","complete","SuccessMessageStatus","join","ActionExecutionStart","actionExecutionArgumentStream","ActionExecutionEnd","streamingArgumentsStatus","actionExecutionId","name","actionName","scope","arguments","pushArgumentsChunk","stopStreamingArguments","argumentChunks","actionExecutionArgumentSubscription","ActionExecutionArgs","args","ActionExecutionMessage","ActionExecutionResult","ResultMessage","SuccessResponseStatus","Query","String","Mutation","CopilotResponse","Ctx","Arg","GraphQLJSONObject","nullable","Resolver","useDeferStream","createPinoLogger","pretty","createLogger","options","level","component","stream","pretty","colorize","logger","createPinoLogger","process","env","LOG_LEVEL","redact","paths","remove","child","logger","createLogger","createContext","initialContext","copilotKitContext","contextLogger","properties","debug","ctx","_copilotkit","buildSchema","options","schema","buildSchemaSync","resolvers","CopilotResolver","emitSchemaFile","getCommonConfig","logLevel","process","env","LOG_LEVEL","level","component","cloud","telemetry","setCloudConfiguration","publicApiKey","baseUrl","setGlobalProperties","runtime","serviceAdapter","constructor","name","logging","plugins","useDeferStream","context","copilotRuntimeNodeHttpEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","capture","logger","logging","debug","yoga","createYoga","graphqlEndpoint","endpoint"]}
|
package/dist/index.js
CHANGED
|
@@ -44,7 +44,7 @@ var require_package = __commonJS({
|
|
|
44
44
|
publishConfig: {
|
|
45
45
|
access: "public"
|
|
46
46
|
},
|
|
47
|
-
version: "1.0.
|
|
47
|
+
version: "1.0.4",
|
|
48
48
|
sideEffects: false,
|
|
49
49
|
main: "./dist/index.js",
|
|
50
50
|
module: "./dist/index.mjs",
|
|
@@ -92,7 +92,6 @@ var require_package = __commonJS({
|
|
|
92
92
|
"groq-sdk": "^0.5.0",
|
|
93
93
|
"js-tiktoken": "^1.0.8",
|
|
94
94
|
langchain: "^0.1.36",
|
|
95
|
-
nanoid: "3.3.4",
|
|
96
95
|
openai: "^4.50.0",
|
|
97
96
|
pino: "^9.2.0",
|
|
98
97
|
"pino-pretty": "^11.2.1",
|
|
@@ -144,7 +143,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
144
143
|
var import_reflect_metadata = require("reflect-metadata");
|
|
145
144
|
|
|
146
145
|
// src/lib/copilot-runtime.ts
|
|
147
|
-
var
|
|
146
|
+
var import_shared5 = require("@copilotkit/shared");
|
|
148
147
|
|
|
149
148
|
// src/service-adapters/openai/openai-adapter.ts
|
|
150
149
|
var import_openai = __toESM(require("openai"));
|
|
@@ -350,7 +349,7 @@ function convertSystemMessageToAssistantAPI(message) {
|
|
|
350
349
|
__name(convertSystemMessageToAssistantAPI, "convertSystemMessageToAssistantAPI");
|
|
351
350
|
|
|
352
351
|
// src/service-adapters/openai/openai-adapter.ts
|
|
353
|
-
var
|
|
352
|
+
var import_shared = require("@copilotkit/shared");
|
|
354
353
|
var DEFAULT_MODEL = "gpt-4o";
|
|
355
354
|
var OpenAIAdapter = class {
|
|
356
355
|
model = DEFAULT_MODEL;
|
|
@@ -413,7 +412,7 @@ var OpenAIAdapter = class {
|
|
|
413
412
|
eventStream$.complete();
|
|
414
413
|
});
|
|
415
414
|
return {
|
|
416
|
-
threadId: threadId || (0,
|
|
415
|
+
threadId: threadId || (0, import_shared.randomId)()
|
|
417
416
|
};
|
|
418
417
|
}
|
|
419
418
|
};
|
|
@@ -659,7 +658,7 @@ function tryParseJson(str) {
|
|
|
659
658
|
__name(tryParseJson, "tryParseJson");
|
|
660
659
|
|
|
661
660
|
// src/service-adapters/google/google-genai-adapter.ts
|
|
662
|
-
var
|
|
661
|
+
var import_shared2 = require("@copilotkit/shared");
|
|
663
662
|
var GoogleGenerativeAIAdapter = class {
|
|
664
663
|
model;
|
|
665
664
|
constructor(options) {
|
|
@@ -726,7 +725,7 @@ var GoogleGenerativeAIAdapter = class {
|
|
|
726
725
|
}
|
|
727
726
|
if (!isTextMessage) {
|
|
728
727
|
isTextMessage = true;
|
|
729
|
-
eventStream$.sendTextMessageStart((0,
|
|
728
|
+
eventStream$.sendTextMessageStart((0, import_shared2.randomId)());
|
|
730
729
|
}
|
|
731
730
|
eventStream$.sendTextMessageContent(chunkText);
|
|
732
731
|
}
|
|
@@ -736,13 +735,13 @@ var GoogleGenerativeAIAdapter = class {
|
|
|
736
735
|
let calls = (await result.response).functionCalls();
|
|
737
736
|
if (calls) {
|
|
738
737
|
for (let call of calls) {
|
|
739
|
-
eventStream$.sendActionExecution((0,
|
|
738
|
+
eventStream$.sendActionExecution((0, import_shared2.randomId)(), call.name, JSON.stringify(replaceNewlinesInObject(call.args)));
|
|
740
739
|
}
|
|
741
740
|
}
|
|
742
741
|
eventStream$.complete();
|
|
743
742
|
});
|
|
744
743
|
return {
|
|
745
|
-
threadId: request.threadId || (0,
|
|
744
|
+
threadId: request.threadId || (0, import_shared2.randomId)()
|
|
746
745
|
};
|
|
747
746
|
}
|
|
748
747
|
};
|
|
@@ -769,7 +768,7 @@ __name(replaceNewlinesInObject, "replaceNewlinesInObject");
|
|
|
769
768
|
var import_messages = require("@langchain/core/messages");
|
|
770
769
|
var import_tools = require("@langchain/core/tools");
|
|
771
770
|
var import_zod = require("zod");
|
|
772
|
-
var
|
|
771
|
+
var import_shared3 = require("@copilotkit/shared");
|
|
773
772
|
function convertMessageToLangChainMessage(message) {
|
|
774
773
|
if (message instanceof TextMessage) {
|
|
775
774
|
if (message.role == "user") {
|
|
@@ -862,26 +861,26 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
|
|
|
862
861
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
863
862
|
if (typeof result === "string") {
|
|
864
863
|
if (!actionExecution) {
|
|
865
|
-
eventStream$.sendTextMessage((0,
|
|
864
|
+
eventStream$.sendTextMessage((0, import_shared3.randomId)(), result);
|
|
866
865
|
} else {
|
|
867
866
|
eventStream$.sendActionExecutionResult(actionExecution.id, actionExecution.name, result);
|
|
868
867
|
}
|
|
869
868
|
} else if (isAIMessage(result)) {
|
|
870
869
|
maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
|
|
871
870
|
if (result.content) {
|
|
872
|
-
eventStream$.sendTextMessage((0,
|
|
871
|
+
eventStream$.sendTextMessage((0, import_shared3.randomId)(), result.content);
|
|
873
872
|
}
|
|
874
873
|
for (const toolCall of result.tool_calls) {
|
|
875
|
-
eventStream$.sendActionExecution(toolCall.id || (0,
|
|
874
|
+
eventStream$.sendActionExecution(toolCall.id || (0, import_shared3.randomId)(), toolCall.name, JSON.stringify(toolCall.args));
|
|
876
875
|
}
|
|
877
876
|
} else if (isBaseMessageChunk(result)) {
|
|
878
877
|
maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
|
|
879
878
|
if ((_a = result.lc_kwargs) == null ? void 0 : _a.content) {
|
|
880
|
-
eventStream$.sendTextMessage((0,
|
|
879
|
+
eventStream$.sendTextMessage((0, import_shared3.randomId)(), result.content);
|
|
881
880
|
}
|
|
882
881
|
if ((_b = result.lc_kwargs) == null ? void 0 : _b.tool_calls) {
|
|
883
882
|
for (const toolCall of (_c = result.lc_kwargs) == null ? void 0 : _c.tool_calls) {
|
|
884
|
-
eventStream$.sendActionExecution(toolCall.id || (0,
|
|
883
|
+
eventStream$.sendActionExecution(toolCall.id || (0, import_shared3.randomId)(), toolCall.name, JSON.stringify(toolCall.args));
|
|
885
884
|
}
|
|
886
885
|
}
|
|
887
886
|
} else if (result && "getReader" in result) {
|
|
@@ -925,7 +924,7 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
|
|
|
925
924
|
eventStream$.sendActionExecutionStart(toolCallId, toolCallName);
|
|
926
925
|
} else if (content) {
|
|
927
926
|
mode = "message";
|
|
928
|
-
eventStream$.sendTextMessageStart((0,
|
|
927
|
+
eventStream$.sendTextMessageStart((0, import_shared3.randomId)());
|
|
929
928
|
}
|
|
930
929
|
}
|
|
931
930
|
if (mode === "message" && content) {
|
|
@@ -958,7 +957,7 @@ function encodeResult(result) {
|
|
|
958
957
|
__name(encodeResult, "encodeResult");
|
|
959
958
|
|
|
960
959
|
// src/service-adapters/langchain/langchain-adapter.ts
|
|
961
|
-
var
|
|
960
|
+
var import_shared4 = require("@copilotkit/shared");
|
|
962
961
|
var LangChainAdapter = class {
|
|
963
962
|
options;
|
|
964
963
|
/**
|
|
@@ -983,7 +982,7 @@ var LangChainAdapter = class {
|
|
|
983
982
|
});
|
|
984
983
|
});
|
|
985
984
|
return {
|
|
986
|
-
threadId: threadId || (0,
|
|
985
|
+
threadId: threadId || (0, import_shared4.randomId)()
|
|
987
986
|
};
|
|
988
987
|
}
|
|
989
988
|
};
|
|
@@ -1288,7 +1287,7 @@ var CopilotRuntime = class {
|
|
|
1288
1287
|
const serverSideActionsInput = actions.map((action) => ({
|
|
1289
1288
|
name: action.name,
|
|
1290
1289
|
description: action.description,
|
|
1291
|
-
jsonSchema: JSON.stringify((0,
|
|
1290
|
+
jsonSchema: JSON.stringify((0, import_shared5.actionParametersToJsonSchema)(action.parameters))
|
|
1292
1291
|
}));
|
|
1293
1292
|
const actionInputs = flattenToolCallsNoDuplicates([
|
|
1294
1293
|
...serverSideActionsInput,
|
|
@@ -2076,7 +2075,6 @@ CopilotResponse = _ts_decorate10([
|
|
|
2076
2075
|
|
|
2077
2076
|
// src/graphql/resolvers/copilot.resolver.ts
|
|
2078
2077
|
var import_graphql_yoga = require("graphql-yoga");
|
|
2079
|
-
var import_nanoid5 = require("nanoid");
|
|
2080
2078
|
var import_graphql_scalars2 = require("graphql-scalars");
|
|
2081
2079
|
var import_class_transformer2 = require("class-transformer");
|
|
2082
2080
|
var import_graphql = require("graphql");
|
|
@@ -2115,15 +2113,16 @@ var UnknownErrorResponse = class extends FailedResponseStatus {
|
|
|
2115
2113
|
__name(UnknownErrorResponse, "UnknownErrorResponse");
|
|
2116
2114
|
|
|
2117
2115
|
// src/lib/telemetry-client.ts
|
|
2118
|
-
var
|
|
2116
|
+
var import_shared6 = require("@copilotkit/shared");
|
|
2119
2117
|
var packageJson = require_package();
|
|
2120
|
-
var telemetryClient = new
|
|
2118
|
+
var telemetryClient = new import_shared6.TelemetryClient({
|
|
2121
2119
|
packageName: packageJson.name,
|
|
2122
2120
|
packageVersion: packageJson.version
|
|
2123
2121
|
});
|
|
2124
2122
|
var telemetry_client_default = telemetryClient;
|
|
2125
2123
|
|
|
2126
2124
|
// src/graphql/resolvers/copilot.resolver.ts
|
|
2125
|
+
var import_shared7 = require("@copilotkit/shared");
|
|
2127
2126
|
function _ts_decorate11(decorators, target, key, desc) {
|
|
2128
2127
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2129
2128
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
@@ -2241,7 +2240,7 @@ var CopilotResolver = class {
|
|
|
2241
2240
|
rejectOutputMessagesPromise = reject;
|
|
2242
2241
|
});
|
|
2243
2242
|
logger2.debug("Processing");
|
|
2244
|
-
const { eventSource, threadId = (0,
|
|
2243
|
+
const { eventSource, threadId = (0, import_shared7.randomId)(), runId, actions } = await copilotRuntime.process({
|
|
2245
2244
|
serviceAdapter,
|
|
2246
2245
|
messages: data.messages,
|
|
2247
2246
|
actions: data.frontend.actions,
|
|
@@ -2282,7 +2281,7 @@ var CopilotResolver = class {
|
|
|
2282
2281
|
});
|
|
2283
2282
|
outputMessages = [
|
|
2284
2283
|
(0, import_class_transformer2.plainToInstance)(TextMessage, {
|
|
2285
|
-
id: (0,
|
|
2284
|
+
id: (0, import_shared7.randomId)(),
|
|
2286
2285
|
createdAt: /* @__PURE__ */ new Date(),
|
|
2287
2286
|
content: result.reason,
|
|
2288
2287
|
role: MessageRole.assistant
|
|
@@ -2329,7 +2328,7 @@ var CopilotResolver = class {
|
|
|
2329
2328
|
(0, import_rxjs2.takeWhile)((e) => e.type != RuntimeEventTypes.TextMessageEnd)
|
|
2330
2329
|
);
|
|
2331
2330
|
const streamingTextStatus = new import_rxjs2.Subject();
|
|
2332
|
-
const messageId = (0,
|
|
2331
|
+
const messageId = (0, import_shared7.randomId)();
|
|
2333
2332
|
pushMessage({
|
|
2334
2333
|
id: messageId,
|
|
2335
2334
|
status: (0, import_rxjs2.firstValueFrom)(streamingTextStatus),
|
|
@@ -2441,7 +2440,7 @@ var CopilotResolver = class {
|
|
|
2441
2440
|
result: event.result
|
|
2442
2441
|
}, "Action execution result event received");
|
|
2443
2442
|
pushMessage({
|
|
2444
|
-
id: (0,
|
|
2443
|
+
id: (0, import_shared7.randomId)(),
|
|
2445
2444
|
status: new SuccessMessageStatus(),
|
|
2446
2445
|
createdAt: /* @__PURE__ */ new Date(),
|
|
2447
2446
|
actionExecutionId: event.actionExecutionId,
|
|
@@ -2449,7 +2448,7 @@ var CopilotResolver = class {
|
|
|
2449
2448
|
result: event.result
|
|
2450
2449
|
});
|
|
2451
2450
|
outputMessages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
|
|
2452
|
-
id: (0,
|
|
2451
|
+
id: (0, import_shared7.randomId)(),
|
|
2453
2452
|
createdAt: /* @__PURE__ */ new Date(),
|
|
2454
2453
|
actionExecutionId: event.actionExecutionId,
|
|
2455
2454
|
actionName: event.actionName,
|