@copilotkit/runtime-client-gql 1.3.4 → 1.3.5-pre-1-3-4.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/dist/index.mjs CHANGED
@@ -1,13 +1,13 @@
1
1
  import "./chunk-7ECCT6PK.mjs";
2
2
  import {
3
3
  CopilotRuntimeClient
4
- } from "./chunk-PBE4U7X5.mjs";
4
+ } from "./chunk-OGOJ6LVN.mjs";
5
5
  import {
6
6
  convertGqlOutputToMessages,
7
7
  convertMessagesToGqlInput,
8
8
  filterAdjacentAgentStateMessages,
9
9
  filterAgentStateMessages
10
- } from "./chunk-JNC3D4OO.mjs";
10
+ } from "./chunk-IIG2QQK6.mjs";
11
11
  import {
12
12
  ActionExecutionMessage,
13
13
  AgentStateMessage,
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "publishConfig": {
10
10
  "access": "public"
11
11
  },
12
- "version": "1.3.4",
12
+ "version": "1.3.5-pre-1-3-4.0",
13
13
  "sideEffects": false,
14
14
  "main": "./dist/index.js",
15
15
  "module": "./dist/index.mjs",
@@ -51,8 +51,8 @@
51
51
  "untruncate-json": "^0.0.1",
52
52
  "urql": "^4.1.0",
53
53
  "wonka": "^6.3.4",
54
- "@copilotkit/runtime": "1.3.4",
55
- "@copilotkit/shared": "1.3.4"
54
+ "@copilotkit/runtime": "1.3.5-pre-1-3-4.0",
55
+ "@copilotkit/shared": "1.3.5-pre-1-3-4.0"
56
56
  },
57
57
  "keywords": [
58
58
  "copilotkit",
@@ -77,22 +77,17 @@ export function filterAdjacentAgentStateMessages(
77
77
 
78
78
  messages.forEach((message, i) => {
79
79
  // keep all other message types
80
- if (message.__typename !== "AgentStateMessageOutput" || i === messages.length - 1) {
80
+ if (message.__typename !== "AgentStateMessageOutput") {
81
81
  filteredMessages.push(message);
82
82
  } else {
83
- const nextMessage = messages[i + 1];
84
- if (
85
- !(
86
- (
87
- nextMessage.__typename === "AgentStateMessageOutput" &&
88
- nextMessage.agentName === message.agentName &&
89
- nextMessage.nodeName === message.nodeName
90
- )
91
- // not grouping by runId for now
92
- // && nextMessage.runId === message.runId
93
- )
94
- ) {
83
+ const prevAgentStateMessageIndex = filteredMessages.findIndex(
84
+ // TODO: also check runId
85
+ (m) => m.__typename === "AgentStateMessageOutput" && m.agentName === message.agentName,
86
+ );
87
+ if (prevAgentStateMessageIndex === -1) {
95
88
  filteredMessages.push(message);
89
+ } else {
90
+ filteredMessages[prevAgentStateMessageIndex] = message;
96
91
  }
97
92
  }
98
93
  });
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/client/conversion.ts"],"sourcesContent":["import {\n GenerateCopilotResponseMutation,\n MessageInput,\n MessageStatusCode,\n} from \"../graphql/@generated/graphql\";\nimport {\n ActionExecutionMessage,\n AgentStateMessage,\n Message,\n ResultMessage,\n TextMessage,\n} from \"./types\";\n\nimport untruncateJson from \"untruncate-json\";\n\nexport function filterAgentStateMessages(messages: Message[]): Message[] {\n return messages.filter((message) => !(message instanceof AgentStateMessage));\n}\n\nexport function convertMessagesToGqlInput(messages: Message[]): MessageInput[] {\n return messages.map((message) => {\n if (message instanceof TextMessage) {\n return {\n id: message.id,\n createdAt: message.createdAt,\n textMessage: {\n content: message.content,\n role: message.role as any,\n },\n };\n } else if (message instanceof ActionExecutionMessage) {\n return {\n id: message.id,\n createdAt: message.createdAt,\n actionExecutionMessage: {\n name: message.name,\n arguments: JSON.stringify(message.arguments),\n scope: message.scope as any,\n },\n };\n } else if (message instanceof ResultMessage) {\n return {\n id: message.id,\n createdAt: message.createdAt,\n resultMessage: {\n result: message.result,\n actionExecutionId: message.actionExecutionId,\n actionName: message.actionName,\n },\n };\n } else if (message instanceof AgentStateMessage) {\n return {\n id: message.id,\n createdAt: message.createdAt,\n agentStateMessage: {\n threadId: message.threadId,\n role: message.role,\n agentName: message.agentName,\n nodeName: message.nodeName,\n runId: message.runId,\n active: message.active,\n running: message.running,\n state: JSON.stringify(message.state),\n },\n };\n } else {\n throw new Error(\"Unknown message type\");\n }\n });\n}\n\nexport function filterAdjacentAgentStateMessages(\n messages: GenerateCopilotResponseMutation[\"generateCopilotResponse\"][\"messages\"],\n): GenerateCopilotResponseMutation[\"generateCopilotResponse\"][\"messages\"] {\n const filteredMessages: GenerateCopilotResponseMutation[\"generateCopilotResponse\"][\"messages\"] =\n [];\n\n messages.forEach((message, i) => {\n // keep all other message types\n if (message.__typename !== \"AgentStateMessageOutput\" || i === messages.length - 1) {\n filteredMessages.push(message);\n } else {\n const nextMessage = messages[i + 1];\n if (\n !(\n (\n nextMessage.__typename === \"AgentStateMessageOutput\" &&\n nextMessage.agentName === message.agentName &&\n nextMessage.nodeName === message.nodeName\n )\n // not grouping by runId for now\n // && nextMessage.runId === message.runId\n )\n ) {\n filteredMessages.push(message);\n }\n }\n });\n\n return filteredMessages;\n}\n\nexport function convertGqlOutputToMessages(\n messages: GenerateCopilotResponseMutation[\"generateCopilotResponse\"][\"messages\"],\n): Message[] {\n return messages.map((message) => {\n if (message.__typename === \"TextMessageOutput\") {\n return new TextMessage({\n id: message.id,\n role: message.role,\n content: message.content.join(\"\"),\n createdAt: new Date(),\n status: message.status || { code: MessageStatusCode.Pending },\n });\n } else if (message.__typename === \"ActionExecutionMessageOutput\") {\n return new ActionExecutionMessage({\n id: message.id,\n name: message.name,\n arguments: getPartialArguments(message.arguments),\n scope: message.scope,\n createdAt: new Date(),\n status: message.status || { code: MessageStatusCode.Pending },\n });\n } else if (message.__typename === \"ResultMessageOutput\") {\n return new ResultMessage({\n id: message.id,\n result: message.result,\n actionExecutionId: message.actionExecutionId,\n actionName: message.actionName,\n createdAt: new Date(),\n status: message.status || { code: MessageStatusCode.Pending },\n });\n } else if (message.__typename === \"AgentStateMessageOutput\") {\n return new AgentStateMessage({\n id: message.id,\n threadId: message.threadId,\n role: message.role,\n agentName: message.agentName,\n nodeName: message.nodeName,\n runId: message.runId,\n active: message.active,\n running: message.running,\n state: JSON.parse(message.state),\n createdAt: new Date(),\n });\n }\n\n throw new Error(\"Unknown message type\");\n });\n}\n\nfunction getPartialArguments(args: string[]) {\n try {\n return JSON.parse(untruncateJson(args.join(\"\")));\n } catch (e) {\n return {};\n }\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/client/CopilotRuntimeClient.ts","../package.json"],"sourcesContent":["import { Client, cacheExchange, fetchExchange } from \"@urql/core\";\nimport * as packageJson from \"../../package.json\";\n\nimport {\n GenerateCopilotResponseMutation,\n GenerateCopilotResponseMutationVariables,\n} from \"../graphql/@generated/graphql\";\nimport { generateCopilotResponseMutation } from \"../graphql/definitions/mutations\";\nimport { OperationResultSource, OperationResult } from \"urql\";\n\ninterface CopilotRuntimeClientOptions {\n url: string;\n publicApiKey?: string;\n headers?: Record<string, string>;\n credentials?: RequestCredentials;\n}\n\nexport class CopilotRuntimeClient {\n client: Client;\n\n constructor(options: CopilotRuntimeClientOptions) {\n const headers: Record<string, string> = {};\n\n if (options.headers) {\n Object.assign(headers, options.headers);\n }\n\n if (options.publicApiKey) {\n headers[\"x-copilotcloud-public-api-key\"] = options.publicApiKey;\n }\n\n this.client = new Client({\n url: options.url,\n exchanges: [cacheExchange, fetchExchange],\n fetchOptions: {\n headers: {\n ...headers,\n \"X-CopilotKit-Runtime-Client-GQL-Version\": packageJson.version,\n },\n ...(options.credentials ? { credentials: options.credentials } : {}),\n },\n });\n }\n\n generateCopilotResponse({\n data,\n properties,\n signal,\n }: {\n data: GenerateCopilotResponseMutationVariables[\"data\"];\n properties?: GenerateCopilotResponseMutationVariables[\"properties\"];\n signal?: AbortSignal;\n }) {\n const result = this.client.mutation<\n GenerateCopilotResponseMutation,\n GenerateCopilotResponseMutationVariables\n >(\n generateCopilotResponseMutation,\n { data, properties },\n { fetch: (url, opts) => fetch(url, { ...opts, signal }) },\n );\n\n return result;\n }\n\n static asStream<S, T>(source: OperationResultSource<OperationResult<S, { data: T }>>) {\n return new ReadableStream<S>({\n start(controller) {\n source.subscribe(({ data, hasNext }) => {\n controller.enqueue(data);\n if (!hasNext) {\n controller.close();\n }\n });\n },\n });\n }\n}\n","{\n \"name\": \"@copilotkit/runtime-client-gql\",\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.3.4\",\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 },\n \"types\": \"./dist/index.d.ts\",\n \"license\": \"MIT\",\n \"scripts\": {\n \"build\": \"tsup --clean\",\n \"dev\": \"tsup --watch --no-splitting\",\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 \"graphql-codegen\": \"graphql-codegen\",\n \"graphql-codegen:watch\": \"graphql-codegen --watch\",\n \"link:global\": \"pnpm link --global\",\n \"unlink:global\": \"pnpm unlink --global\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.2.0\"\n },\n \"devDependencies\": {\n \"@graphql-codegen/cli\": \"^5.0.2\",\n \"@graphql-codegen/client-preset\": \"^4.2.6\",\n \"@graphql-codegen/introspection\": \"^4.0.3\",\n \"@graphql-codegen/typescript\": \"^4.0.7\",\n \"@graphql-codegen/typescript-operations\": \"^4.2.1\",\n \"@graphql-codegen/typescript-urql\": \"^4.0.0\",\n \"@graphql-codegen/urql-introspection\": \"^3.0.0\",\n \"@graphql-typed-document-node/core\": \"^3.2.0\",\n \"@parcel/watcher\": \"^2.4.1\",\n \"@types/node\": \"^20.12.12\",\n \"esbuild\": \"^0.23.0\",\n \"jest\": \"^29.6.4\",\n \"ts-jest\": \"^29.1.1\",\n \"ts-node\": \"^10.9.2\",\n \"tsup\": \"^6.7.0\",\n \"typescript\": \"^5.4.5\"\n },\n \"dependencies\": {\n \"@copilotkit/runtime\": \"workspace:*\",\n \"@copilotkit/shared\": \"workspace:*\",\n \"@urql/core\": \"^5.0.3\",\n \"class-transformer\": \"^0.5.1\",\n \"class-validator\": \"^0.14.1\",\n \"graphql\": \"^16.8.1\",\n \"untruncate-json\": \"^0.0.1\",\n \"urql\": \"^4.1.0\",\n \"wonka\": \"^6.3.4\"\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"],"mappings":";;;;;AAAA,SAAS,QAAQ,eAAe,qBAAqB;;;ACWnD,cAAW;;;ADMN,IAAM,uBAAN,MAA2B;AAAA,EAGhC,YAAY,SAAsC;AAChD,UAAM,UAAkC,CAAC;AAEzC,QAAI,QAAQ,SAAS;AACnB,aAAO,OAAO,SAAS,QAAQ,OAAO;AAAA,IACxC;AAEA,QAAI,QAAQ,cAAc;AACxB,cAAQ,+BAA+B,IAAI,QAAQ;AAAA,IACrD;AAEA,SAAK,SAAS,IAAI,OAAO;AAAA,MACvB,KAAK,QAAQ;AAAA,MACb,WAAW,CAAC,eAAe,aAAa;AAAA,MACxC,cAAc;AAAA,QACZ,SAAS;AAAA,UACP,GAAG;AAAA,UACH,2CAAuD;AAAA,QACzD;AAAA,QACA,GAAI,QAAQ,cAAc,EAAE,aAAa,QAAQ,YAAY,IAAI,CAAC;AAAA,MACpE;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,wBAAwB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,UAAM,SAAS,KAAK,OAAO;AAAA,MAIzB;AAAA,MACA,EAAE,MAAM,WAAW;AAAA,MACnB,EAAE,OAAO,CAAC,KAAK,SAAS,MAAM,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,EAAE;AAAA,IAC1D;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,SAAe,QAAgE;AACpF,WAAO,IAAI,eAAkB;AAAA,MAC3B,MAAM,YAAY;AAChB,eAAO,UAAU,CAAC,EAAE,MAAM,QAAQ,MAAM;AACtC,qBAAW,QAAQ,IAAI;AACvB,cAAI,CAAC,SAAS;AACZ,uBAAW,MAAM;AAAA,UACnB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}