UNPKG

@copilotkit/runtime-client-gql

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,694 lines (1,684 loc) • 66.1 kB
(function(global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@urql/core'), require('@copilotkit/shared'), require('untruncate-json')) : typeof define === 'function' && define.amd ? define(['exports', '@urql/core', '@copilotkit/shared', 'untruncate-json'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.CopilotKitRuntimeClientGQL = {}), global.UrqlCore,global.CopilotKitShared,global.untruncateJson)); })(this, function(exports, _urql_core, _copilotkit_shared, untruncate_json) { Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); //#region \0rolldown/runtime.js var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) { key = keys[i]; if (!__hasOwnProp.call(to, key) && key !== except) { __defProp(to, key, { get: ((k) => from[k]).bind(null, key), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } } } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod)); //#endregion untruncate_json = __toESM(untruncate_json); //#region package.json var version = "1.63.2"; //#endregion //#region src/graphql/@generated/graphql.ts /** The availability of the frontend action */ let ActionInputAvailability = /* @__PURE__ */ function(ActionInputAvailability) { ActionInputAvailability["Disabled"] = "disabled"; ActionInputAvailability["Enabled"] = "enabled"; ActionInputAvailability["Remote"] = "remote"; return ActionInputAvailability; }({}); /** The type of Copilot request */ let CopilotRequestType = /* @__PURE__ */ function(CopilotRequestType) { CopilotRequestType["Chat"] = "Chat"; CopilotRequestType["Suggestion"] = "Suggestion"; CopilotRequestType["Task"] = "Task"; CopilotRequestType["TextareaCompletion"] = "TextareaCompletion"; CopilotRequestType["TextareaPopover"] = "TextareaPopover"; return CopilotRequestType; }({}); let FailedResponseStatusReason = /* @__PURE__ */ function(FailedResponseStatusReason) { FailedResponseStatusReason["GuardrailsValidationFailed"] = "GUARDRAILS_VALIDATION_FAILED"; FailedResponseStatusReason["MessageStreamInterrupted"] = "MESSAGE_STREAM_INTERRUPTED"; FailedResponseStatusReason["UnknownError"] = "UNKNOWN_ERROR"; return FailedResponseStatusReason; }({}); /** The role of the message */ let MessageRole = /* @__PURE__ */ function(MessageRole) { MessageRole["Assistant"] = "assistant"; MessageRole["Developer"] = "developer"; MessageRole["System"] = "system"; MessageRole["Tool"] = "tool"; MessageRole["User"] = "user"; return MessageRole; }({}); let MessageStatusCode = /* @__PURE__ */ function(MessageStatusCode) { MessageStatusCode["Failed"] = "Failed"; MessageStatusCode["Pending"] = "Pending"; MessageStatusCode["Success"] = "Success"; return MessageStatusCode; }({}); /** Meta event types */ let MetaEventName = /* @__PURE__ */ function(MetaEventName) { MetaEventName["CopilotKitLangGraphInterruptEvent"] = "CopilotKitLangGraphInterruptEvent"; MetaEventName["LangGraphInterruptEvent"] = "LangGraphInterruptEvent"; return MetaEventName; }({}); let ResponseStatusCode = /* @__PURE__ */ function(ResponseStatusCode) { ResponseStatusCode["Failed"] = "Failed"; ResponseStatusCode["Pending"] = "Pending"; ResponseStatusCode["Success"] = "Success"; return ResponseStatusCode; }({}); const GenerateCopilotResponseDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "mutation", "name": { "kind": "Name", "value": "generateCopilotResponse" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "data" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "GenerateCopilotResponseInput" } } } }, { "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "properties" } }, "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "JSONObject" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "generateCopilotResponse" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "data" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "data" } } }, { "kind": "Argument", "name": { "kind": "Name", "value": "properties" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "properties" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "threadId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "runId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "extensions" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "openaiAssistantAPI" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "runId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "threadId" } }] } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "CopilotResponse" } }, "directives": [{ "kind": "Directive", "name": { "kind": "Name", "value": "defer" } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "status" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "BaseResponseStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "code" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "FailedResponseStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "reason" } }, { "kind": "Field", "name": { "kind": "Name", "value": "details" } }] } }] } }] } }, { "kind": "Field", "name": { "kind": "Name", "value": "messages" }, "directives": [{ "kind": "Directive", "name": { "kind": "Name", "value": "stream" } }], "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "__typename" } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "BaseMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "createdAt" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "BaseMessageOutput" } }, "directives": [{ "kind": "Directive", "name": { "kind": "Name", "value": "defer" } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "status" }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "SuccessMessageStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "code" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "FailedMessageStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "code" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reason" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "PendingMessageStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "code" } }] } } ] } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "TextMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "content" }, "directives": [{ "kind": "Directive", "name": { "kind": "Name", "value": "stream" } }] }, { "kind": "Field", "name": { "kind": "Name", "value": "role" } }, { "kind": "Field", "name": { "kind": "Name", "value": "parentMessageId" } } ] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ImageMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "format" } }, { "kind": "Field", "name": { "kind": "Name", "value": "bytes" } }, { "kind": "Field", "name": { "kind": "Name", "value": "role" } }, { "kind": "Field", "name": { "kind": "Name", "value": "parentMessageId" } } ] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ActionExecutionMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "arguments" }, "directives": [{ "kind": "Directive", "name": { "kind": "Name", "value": "stream" } }] }, { "kind": "Field", "name": { "kind": "Name", "value": "parentMessageId" } } ] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ResultMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "result" } }, { "kind": "Field", "name": { "kind": "Name", "value": "actionExecutionId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "actionName" } } ] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "AgentStateMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "threadId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "state" } }, { "kind": "Field", "name": { "kind": "Name", "value": "running" } }, { "kind": "Field", "name": { "kind": "Name", "value": "agentName" } }, { "kind": "Field", "name": { "kind": "Name", "value": "nodeName" } }, { "kind": "Field", "name": { "kind": "Name", "value": "runId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "active" } }, { "kind": "Field", "name": { "kind": "Name", "value": "role" } } ] } } ] } }, { "kind": "Field", "name": { "kind": "Name", "value": "metaEvents" }, "directives": [{ "kind": "Directive", "name": { "kind": "Name", "value": "stream" } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "LangGraphInterruptEvent" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "type" } }, { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "value" } } ] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "CopilotKitLangGraphInterruptEvent" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "type" } }, { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "data" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "messages" }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "__typename" } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "BaseMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "createdAt" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "BaseMessageOutput" } }, "directives": [{ "kind": "Directive", "name": { "kind": "Name", "value": "defer" } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "status" }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "SuccessMessageStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "code" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "FailedMessageStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "code" } }, { "kind": "Field", "name": { "kind": "Name", "value": "reason" } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "PendingMessageStatus" } }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "code" } }] } } ] } }] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "TextMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "content" } }, { "kind": "Field", "name": { "kind": "Name", "value": "role" } }, { "kind": "Field", "name": { "kind": "Name", "value": "parentMessageId" } } ] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ActionExecutionMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "arguments" } }, { "kind": "Field", "name": { "kind": "Name", "value": "parentMessageId" } } ] } }, { "kind": "InlineFragment", "typeCondition": { "kind": "NamedType", "name": { "kind": "Name", "value": "ResultMessageOutput" } }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "result" } }, { "kind": "Field", "name": { "kind": "Name", "value": "actionExecutionId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "actionName" } } ] } } ] } }, { "kind": "Field", "name": { "kind": "Name", "value": "value" } }] } } ] } }] } } ] } }] } }] }; const AvailableAgentsDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "availableAgents" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "availableAgents" }, "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "agents" }, "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "name" } }, { "kind": "Field", "name": { "kind": "Name", "value": "id" } }, { "kind": "Field", "name": { "kind": "Name", "value": "description" } } ] } }] } }] } }] }; const LoadAgentStateDocument = { "kind": "Document", "definitions": [{ "kind": "OperationDefinition", "operation": "query", "name": { "kind": "Name", "value": "loadAgentState" }, "variableDefinitions": [{ "kind": "VariableDefinition", "variable": { "kind": "Variable", "name": { "kind": "Name", "value": "data" } }, "type": { "kind": "NonNullType", "type": { "kind": "NamedType", "name": { "kind": "Name", "value": "LoadAgentStateInput" } } } }], "selectionSet": { "kind": "SelectionSet", "selections": [{ "kind": "Field", "name": { "kind": "Name", "value": "loadAgentState" }, "arguments": [{ "kind": "Argument", "name": { "kind": "Name", "value": "data" }, "value": { "kind": "Variable", "name": { "kind": "Name", "value": "data" } } }], "selectionSet": { "kind": "SelectionSet", "selections": [ { "kind": "Field", "name": { "kind": "Name", "value": "threadId" } }, { "kind": "Field", "name": { "kind": "Name", "value": "threadExists" } }, { "kind": "Field", "name": { "kind": "Name", "value": "state" } }, { "kind": "Field", "name": { "kind": "Name", "value": "messages" } } ] } }] } }] }; //#endregion //#region src/graphql/@generated/gql.ts const documents = { "\n mutation generateCopilotResponse(\n $data: GenerateCopilotResponseInput!\n $properties: JSONObject\n ) {\n generateCopilotResponse(data: $data, properties: $properties) {\n threadId\n runId\n extensions {\n openaiAssistantAPI {\n runId\n threadId\n }\n }\n ... on CopilotResponse @defer {\n status {\n ... on BaseResponseStatus {\n code\n }\n ... on FailedResponseStatus {\n reason\n details\n }\n }\n }\n messages @stream {\n __typename\n ... on BaseMessageOutput {\n id\n createdAt\n }\n ... on BaseMessageOutput @defer {\n status {\n ... on SuccessMessageStatus {\n code\n }\n ... on FailedMessageStatus {\n code\n reason\n }\n ... on PendingMessageStatus {\n code\n }\n }\n }\n ... on TextMessageOutput {\n content @stream\n role\n parentMessageId\n }\n ... on ImageMessageOutput {\n format\n bytes\n role\n parentMessageId\n }\n ... on ActionExecutionMessageOutput {\n name\n arguments @stream\n parentMessageId\n }\n ... on ResultMessageOutput {\n result\n actionExecutionId\n actionName\n }\n ... on AgentStateMessageOutput {\n threadId\n state\n running\n agentName\n nodeName\n runId\n active\n role\n }\n }\n metaEvents @stream {\n ... on LangGraphInterruptEvent {\n type\n name\n value\n }\n\n ... on CopilotKitLangGraphInterruptEvent {\n type\n name\n data {\n messages {\n __typename\n ... on BaseMessageOutput {\n id\n createdAt\n }\n ... on BaseMessageOutput @defer {\n status {\n ... on SuccessMessageStatus {\n code\n }\n ... on FailedMessageStatus {\n code\n reason\n }\n ... on PendingMessageStatus {\n code\n }\n }\n }\n ... on TextMessageOutput {\n content\n role\n parentMessageId\n }\n ... on ActionExecutionMessageOutput {\n name\n arguments\n parentMessageId\n }\n ... on ResultMessageOutput {\n result\n actionExecutionId\n actionName\n }\n }\n value\n }\n }\n }\n }\n }\n": GenerateCopilotResponseDocument, "\n query availableAgents {\n availableAgents {\n agents {\n name\n id\n description\n }\n }\n }\n": AvailableAgentsDocument, "\n query loadAgentState($data: LoadAgentStateInput!) {\n loadAgentState(data: $data) {\n threadId\n threadExists\n state\n messages\n }\n }\n": LoadAgentStateDocument }; function graphql(source) { var _source; return (_source = documents[source]) !== null && _source !== void 0 ? _source : {}; } //#endregion //#region src/graphql/definitions/mutations.ts const generateCopilotResponseMutation = graphql( /** GraphQL **/ ` mutation generateCopilotResponse( $data: GenerateCopilotResponseInput! $properties: JSONObject ) { generateCopilotResponse(data: $data, properties: $properties) { threadId runId extensions { openaiAssistantAPI { runId threadId } } ... on CopilotResponse @defer { status { ... on BaseResponseStatus { code } ... on FailedResponseStatus { reason details } } } messages @stream { __typename ... on BaseMessageOutput { id createdAt } ... on BaseMessageOutput @defer { status { ... on SuccessMessageStatus { code } ... on FailedMessageStatus { code reason } ... on PendingMessageStatus { code } } } ... on TextMessageOutput { content @stream role parentMessageId } ... on ImageMessageOutput { format bytes role parentMessageId } ... on ActionExecutionMessageOutput { name arguments @stream parentMessageId } ... on ResultMessageOutput { result actionExecutionId actionName } ... on AgentStateMessageOutput { threadId state running agentName nodeName runId active role } } metaEvents @stream { ... on LangGraphInterruptEvent { type name value } ... on CopilotKitLangGraphInterruptEvent { type name data { messages { __typename ... on BaseMessageOutput { id createdAt } ... on BaseMessageOutput @defer { status { ... on SuccessMessageStatus { code } ... on FailedMessageStatus { code reason } ... on PendingMessageStatus { code } } } ... on TextMessageOutput { content role parentMessageId } ... on ActionExecutionMessageOutput { name arguments parentMessageId } ... on ResultMessageOutput { result actionExecutionId actionName } } value } } } } } ` ); //#endregion //#region src/graphql/definitions/queries.ts const getAvailableAgentsQuery = graphql( /** GraphQL **/ ` query availableAgents { availableAgents { agents { name id description } } } ` ); const loadAgentStateQuery = graphql( /** GraphQL **/ ` query loadAgentState($data: LoadAgentStateInput!) { loadAgentState(data: $data) { threadId threadExists state messages } } ` ); //#endregion //#region src/client/CopilotRuntimeClient.ts const KNOWN_ABORT_MESSAGES = ["BodyStreamBuffer was aborted", "signal is aborted without reason"]; const isAbortError = (error) => { if (error === null || typeof error !== "object") return false; const message = error.message; return typeof message === "string" && KNOWN_ABORT_MESSAGES.some((phrase) => message.includes(phrase)); }; const createFetchFn = (signal, handleGQLWarning) => async (...args) => { var _args$; const publicApiKey = (_args$ = args[1]) === null || _args$ === void 0 || (_args$ = _args$.headers) === null || _args$ === void 0 ? void 0 : _args$["x-copilotcloud-public-api-key"]; try { const result = await fetch(args[0], { ...args[1], signal }); const mismatch = publicApiKey ? null : await (0, _copilotkit_shared.getPossibleVersionMismatch)({ runtimeVersion: result.headers.get("X-CopilotKit-Runtime-Version"), runtimeClientGqlVersion: version }); if (result.status !== 200) { if (result.status >= 400 && result.status <= 500) { if (mismatch) throw new _copilotkit_shared.CopilotKitVersionMismatchError(mismatch); throw new _copilotkit_shared.ResolvedCopilotKitError({ status: result.status }); } } if (mismatch && handleGQLWarning) handleGQLWarning(mismatch.message); return result; } catch (error) { if (isAbortError(error)) throw error; if (error instanceof _copilotkit_shared.CopilotKitError) throw error; throw new _copilotkit_shared.CopilotKitLowLevelError({ error, url: args[0] }); } }; var CopilotRuntimeClient = class CopilotRuntimeClient { constructor(options) { const headers = {}; this.handleGQLErrors = options.handleGQLErrors; this.handleGQLWarning = options.handleGQLWarning; if (options.headers) Object.assign(headers, options.headers); if (options.publicApiKey) headers["x-copilotcloud-public-api-key"] = options.publicApiKey; this.client = new _urql_core.Client({ url: options.url, exchanges: [_urql_core.cacheExchange, _urql_core.fetchExchange], fetchOptions: { headers: { ...headers, "X-CopilotKit-Runtime-Client-GQL-Version": version }, ...options.credentials ? { credentials: options.credentials } : {} } }); } generateCopilotResponse({ data, properties, signal }) { const fetchFn = createFetchFn(signal, this.handleGQLWarning); return this.client.mutation(generateCopilotResponseMutation, { data, properties }, { fetch: fetchFn }); } asStream(source) { const handleGQLErrors = this.handleGQLErrors; return new ReadableStream({ start(controller) { source.subscribe(({ data, hasNext, error }) => { if (error) { var _extensions; if (isAbortError(error)) { if (!hasNext) controller.close(); console.warn("Abort error suppressed"); return; } if ((_extensions = error.extensions) === null || _extensions === void 0 ? void 0 : _extensions.visibility) { const syntheticError = { ...error, graphQLErrors: [{ message: error.message, extensions: error.extensions }] }; if (handleGQLErrors) handleGQLErrors(syntheticError); return; } controller.error(error); if (handleGQLErrors) handleGQLErrors(error); } else { controller.enqueue(data); if (!hasNext) controller.close(); } }); } }); } availableAgents() { const fetchFn = createFetchFn(); return this.client.query(getAvailableAgentsQuery, {}, { fetch: fetchFn }); } loadAgentState(data) { const fetchFn = createFetchFn(); const result = this.client.query(loadAgentStateQuery, { data }, { fetch: fetchFn }); result.toPromise().then(({ error }) => { if (error && this.handleGQLErrors) this.handleGQLErrors(error); }).catch(() => {}); return result; } static removeGraphQLTypename(data) { if (Array.isArray(data)) data.forEach((item) => CopilotRuntimeClient.removeGraphQLTypename(item)); else if (typeof data === "object" && data !== null) { delete data.__typename; Object.keys(data).forEach((key) => { if (typeof data[key] === "object" && data[key] !== null) CopilotRuntimeClient.removeGraphQLTypename(data[key]); }); } return data; } }; //#endregion //#region src/client/types.ts var Message = class { constructor(props) { var _props$id, _props$status, _props$createdAt; (_props$id = props.id) !== null && _props$id !== void 0 || (props.id = (0, _copilotkit_shared.randomId)()); (_props$status = props.status) !== null && _props$status !== void 0 || (props.status = { code: MessageStatusCode.Success }); (_props$createdAt = props.createdAt) !== null && _props$createdAt !== void 0 || (props.createdAt = /* @__PURE__ */ new Date()); Object.assign(this, props); } isTextMessage() { return this.type === "TextMessage"; } isActionExecutionMessage() { return this.type === "ActionExecutionMessage"; } isResultMessage() { return this.type === "ResultMessage"; } isAgentStateMessage() { return this.type === "AgentStateMessage"; } isImageMessage() { return this.type === "ImageMessage"; } }; const Role = MessageRole; var TextMessage = class extends Message { constructor(props) { super(props); this.type = "TextMessage"; this.type = "TextMessage"; } }; var ActionExecutionMessage = class extends Message { constructor(props) { super(props); this.type = "ActionExecutionMessage"; } }; var ResultMessage = class extends Message { constructor(props) { super(props); this.type = "ResultMessage"; } static decodeResult(result) { return (0, _copilotkit_shared.parseJson)(result, result); } static encodeResult(result) { if (result === void 0) return ""; else if (typeof result === "string") return result; else return JSON.stringify(result); } }; var AgentStateMessage = class extends Message { constructor(props) { super(props); this.type = "AgentStateMessage"; } }; var ImageMessage = class extends Message { constructor(props) { super(props); this.type = "ImageMessage"; } }; function langGraphInterruptEvent(eventProps) { return { ...eventProps, name: MetaEventName.LangGraphInterruptEvent, type: "MetaEvent" }; } //#endregion //#region src/client/conversion.ts function filterAgentStateMessages(messages) { return messages.filter((message) => !message.isAgentStateMessage()); } function convertMessagesToGqlInput(messages) { return messages.map((message) => { if (message.isTextMessage()) return { id: message.id, createdAt: message.createdAt, textMessage: { content: message.content, role: message.role, parentMessageId: message.parentMessageId } }; else if (message.isActionExecutionMessage()) return { id: message.id, createdAt: message.createdAt, actionExecutionMessage: { name: message.name, arguments: JSON.stringify(message.arguments), parentMessageId: message.parentMessageId } }; else if (message.isResultMessage()) return { id: message.id, createdAt: message.createdAt, resultMessage: { result: message.result, actionExecutionId: message.actionExecutionId, actionName: message.actionName } }; else if (message.isAgentStateMessage()) return { id: message.id, createdAt: message.createdAt, agentStateMessage: { threadId: message.threadId, role: message.role, agentName: message.agentName, nodeName: message.nodeName, runId: message.runId, active: message.active, running: message.running, state: JSON.stringify(message.state) } }; else if (message.isImageMessage()) return { id: message.id, createdAt: message.createdAt, imageMessage: { format: message.format, bytes: message.bytes, role: message.role, parentMessageId: message.parentMessageId } }; else throw new Error("Unknown message type"); }); } function filterAdjacentAgentStateMessages(messages) { const filteredMessages = []; messages.forEach((message, i) => { if (message.__typename !== "AgentStateMessageOutput") filteredMessages.push(message); else { const prevAgentStateMessageIndex = filteredMessages.findIndex((m) => m.__typename === "AgentStateMessageOutput" && m.agentName === message.agentName); if (prevAgentStateMessageIndex === -1) filteredMessages.push(message); else filteredMessages[prevAgentStateMessageIndex] = message; } }); return filteredMessages; } function convertGqlOutputToMessages(messages) { return messages.map((message) => { if (message.__typename === "TextMessageOutput") return new TextMessage({ id: message.id, role: message.role, content: message.content.join(""), parentMessageId: message.parentMessageId, createdAt: /* @__PURE__ */ new Date(), status: message.status || { code: MessageStatusCode.Pending } }); else if (message.__typename === "ActionExecutionMessageOutput") return new ActionExecutionMessage({ id: message.id, name: message.name, arguments: getPartialArguments(message.arguments), parentMessageId: message.parentMessageId, createdAt: /* @__PURE__ */ new Date(), status: message.status || { code: MessageStatusCode.Pending } }); else if (message.__typename === "ResultMessageOutput") return new ResultMessage({ id: message.id, result: message.result, actionExecutionId: message.actionExecutionId, actionName: message.actionName, createdAt: /* @__PURE__ */ new Date(), status: message.status || { code: MessageStatusCode.Pending } }); else if (message.__typename === "AgentStateMessageOutput") return new AgentStateMessage({ id: message.id, threadId: message.threadId, role: message.role, agentName: message.agentName, nodeName: message.nodeName, runId: message.runId, active: message.active, running: message.running, state: (0, _copilotkit_shared.parseJson)(message.state, {}), createdAt: /* @__PURE__ */ new Date() }); else if (message.__typename === "ImageMessageOutput") return new ImageMessage({ id: message.id, format: message.format, bytes: message.bytes, role: message.role, parentMessageId: message.parentMessageId, createdAt: /* @__PURE__ */ new Date(), status: message.status || { code: MessageStatusCode.Pending } }); throw new Error("Unknown message type"); }); } function loadMessagesFromJsonRepresentation(json) { const result = []; for (const item of json) if ("content" in item) result.push(new TextMessage({ id: item.id, role: item.role, content: item.content, parentMessageId: item.parentMessageId, createdAt: item.createdAt || /* @__PURE__ */ new Date(), status: item.status || { code: MessageStatusCode.Success } })); else if ("arguments" in item) result.push(new ActionExecutionMessage({ id: item.id, name: item.name, arguments: item.arguments, parentMessageId: item.parentMessageId, createdAt: item.createdAt || /* @__PURE__ */ new Date(), status: item.status || { code: MessageStatusCode.Success } })); else if ("result" in item) result.push(new ResultMessage({ id