@copilotkit/runtime-client-gql 1.3.6 → 1.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/{chunk-UTB4B2W3.mjs → chunk-2SX4BZNM.mjs} +20 -1
- package/dist/chunk-2SX4BZNM.mjs.map +1 -0
- package/dist/{chunk-JIXLNXF5.mjs → chunk-3CBXRAFS.mjs} +2 -2
- package/dist/{chunk-JIXLNXF5.mjs.map → chunk-3CBXRAFS.mjs.map} +1 -1
- package/dist/{chunk-IIG2QQK6.mjs → chunk-FG2ZWCDK.mjs} +7 -7
- package/dist/chunk-FG2ZWCDK.mjs.map +1 -0
- package/dist/client/CopilotRuntimeClient.js +1 -1
- package/dist/client/CopilotRuntimeClient.js.map +1 -1
- package/dist/client/CopilotRuntimeClient.mjs +1 -1
- package/dist/client/conversion.js +24 -5
- package/dist/client/conversion.js.map +1 -1
- package/dist/client/conversion.mjs +2 -2
- package/dist/client/index.js +25 -6
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +3 -3
- package/dist/client/types.d.ts +7 -0
- package/dist/client/types.js +19 -0
- package/dist/client/types.js.map +1 -1
- package/dist/client/types.mjs +1 -1
- package/dist/index.js +25 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/package.json +4 -4
- package/src/client/conversion.ts +5 -5
- package/src/client/types.ts +27 -0
- package/dist/chunk-IIG2QQK6.mjs.map +0 -1
- package/dist/chunk-UTB4B2W3.mjs.map +0 -1
package/src/client/conversion.ts
CHANGED
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
import untruncateJson from "untruncate-json";
|
|
15
15
|
|
|
16
16
|
export function filterAgentStateMessages(messages: Message[]): Message[] {
|
|
17
|
-
return messages.filter((message) => !(
|
|
17
|
+
return messages.filter((message) => !message.isAgentStateMessage());
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export function convertMessagesToGqlInput(messages: Message[]): MessageInput[] {
|
|
21
21
|
return messages.map((message) => {
|
|
22
|
-
if (message
|
|
22
|
+
if (message.isTextMessage()) {
|
|
23
23
|
return {
|
|
24
24
|
id: message.id,
|
|
25
25
|
createdAt: message.createdAt,
|
|
@@ -28,7 +28,7 @@ export function convertMessagesToGqlInput(messages: Message[]): MessageInput[] {
|
|
|
28
28
|
role: message.role as any,
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
|
-
} else if (message
|
|
31
|
+
} else if (message.isActionExecutionMessage()) {
|
|
32
32
|
return {
|
|
33
33
|
id: message.id,
|
|
34
34
|
createdAt: message.createdAt,
|
|
@@ -38,7 +38,7 @@ export function convertMessagesToGqlInput(messages: Message[]): MessageInput[] {
|
|
|
38
38
|
scope: message.scope as any,
|
|
39
39
|
},
|
|
40
40
|
};
|
|
41
|
-
} else if (message
|
|
41
|
+
} else if (message.isResultMessage()) {
|
|
42
42
|
return {
|
|
43
43
|
id: message.id,
|
|
44
44
|
createdAt: message.createdAt,
|
|
@@ -48,7 +48,7 @@ export function convertMessagesToGqlInput(messages: Message[]): MessageInput[] {
|
|
|
48
48
|
actionName: message.actionName,
|
|
49
49
|
},
|
|
50
50
|
};
|
|
51
|
-
} else if (message
|
|
51
|
+
} else if (message.isAgentStateMessage()) {
|
|
52
52
|
return {
|
|
53
53
|
id: message.id,
|
|
54
54
|
createdAt: message.createdAt,
|
package/src/client/types.ts
CHANGED
|
@@ -10,7 +10,10 @@ import {
|
|
|
10
10
|
MessageStatusCode,
|
|
11
11
|
} from "../graphql/@generated/graphql";
|
|
12
12
|
|
|
13
|
+
type MessageType = "TextMessage" | "ActionExecutionMessage" | "ResultMessage" | "AgentStateMessage";
|
|
14
|
+
|
|
13
15
|
export class Message {
|
|
16
|
+
type: MessageType;
|
|
14
17
|
id: BaseMessageOutput["id"];
|
|
15
18
|
createdAt: BaseMessageOutput["createdAt"];
|
|
16
19
|
status: MessageStatus;
|
|
@@ -21,6 +24,22 @@ export class Message {
|
|
|
21
24
|
props.createdAt ??= new Date();
|
|
22
25
|
Object.assign(this, props);
|
|
23
26
|
}
|
|
27
|
+
|
|
28
|
+
isTextMessage(): this is TextMessage {
|
|
29
|
+
return this.type === "TextMessage";
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
isActionExecutionMessage(): this is ActionExecutionMessage {
|
|
33
|
+
return this.type === "ActionExecutionMessage";
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
isResultMessage(): this is ResultMessage {
|
|
37
|
+
return this.type === "ResultMessage";
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
isAgentStateMessage(): this is AgentStateMessage {
|
|
41
|
+
return this.type === "AgentStateMessage";
|
|
42
|
+
}
|
|
24
43
|
}
|
|
25
44
|
|
|
26
45
|
// alias Role to MessageRole
|
|
@@ -37,6 +56,7 @@ export class TextMessage extends Message implements TextMessageConstructorOption
|
|
|
37
56
|
|
|
38
57
|
constructor(props: TextMessageConstructorOptions) {
|
|
39
58
|
super(props);
|
|
59
|
+
this.type = "TextMessage";
|
|
40
60
|
}
|
|
41
61
|
}
|
|
42
62
|
|
|
@@ -55,6 +75,7 @@ export class ActionExecutionMessage
|
|
|
55
75
|
|
|
56
76
|
constructor(props: ActionExecutionMessageConstructorOptions) {
|
|
57
77
|
super(props);
|
|
78
|
+
this.type = "ActionExecutionMessage";
|
|
58
79
|
}
|
|
59
80
|
}
|
|
60
81
|
|
|
@@ -67,6 +88,7 @@ export class ResultMessage extends Message implements ResultMessageConstructorOp
|
|
|
67
88
|
|
|
68
89
|
constructor(props: ResultMessageConstructorOptions) {
|
|
69
90
|
super(props);
|
|
91
|
+
this.type = "ResultMessage";
|
|
70
92
|
}
|
|
71
93
|
|
|
72
94
|
static decodeResult(result: string): any {
|
|
@@ -97,4 +119,9 @@ export class AgentStateMessage extends Message implements Omit<AgentStateMessage
|
|
|
97
119
|
nodeName: AgentStateMessageInput["nodeName"];
|
|
98
120
|
runId: AgentStateMessageInput["runId"];
|
|
99
121
|
active: AgentStateMessageInput["active"];
|
|
122
|
+
|
|
123
|
+
constructor(props: any) {
|
|
124
|
+
super(props);
|
|
125
|
+
this.type = "AgentStateMessage";
|
|
126
|
+
}
|
|
100
127
|
}
|
|
@@ -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\") {\n filteredMessages.push(message);\n } else {\n const prevAgentStateMessageIndex = filteredMessages.findIndex(\n // TODO: also check runId\n (m) => m.__typename === \"AgentStateMessageOutput\" && m.agentName === message.agentName,\n );\n if (prevAgentStateMessageIndex === -1) {\n filteredMessages.push(message);\n } else {\n filteredMessages[prevAgentStateMessageIndex] = 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":";;;;;;;;AAaA,OAAO,oBAAoB;AAEpB,SAAS,yBAAyB,UAAgC;AACvE,SAAO,SAAS,OAAO,CAAC,YAAY,EAAE,mBAAmB,kBAAkB;AAC7E;AAEO,SAAS,0BAA0B,UAAqC;AAC7E,SAAO,SAAS,IAAI,CAAC,YAAY;AAC/B,QAAI,mBAAmB,aAAa;AAClC,aAAO;AAAA,QACL,IAAI,QAAQ;AAAA,QACZ,WAAW,QAAQ;AAAA,QACnB,aAAa;AAAA,UACX,SAAS,QAAQ;AAAA,UACjB,MAAM,QAAQ;AAAA,QAChB;AAAA,MACF;AAAA,IACF,WAAW,mBAAmB,wBAAwB;AACpD,aAAO;AAAA,QACL,IAAI,QAAQ;AAAA,QACZ,WAAW,QAAQ;AAAA,QACnB,wBAAwB;AAAA,UACtB,MAAM,QAAQ;AAAA,UACd,WAAW,KAAK,UAAU,QAAQ,SAAS;AAAA,UAC3C,OAAO,QAAQ;AAAA,QACjB;AAAA,MACF;AAAA,IACF,WAAW,mBAAmB,eAAe;AAC3C,aAAO;AAAA,QACL,IAAI,QAAQ;AAAA,QACZ,WAAW,QAAQ;AAAA,QACnB,eAAe;AAAA,UACb,QAAQ,QAAQ;AAAA,UAChB,mBAAmB,QAAQ;AAAA,UAC3B,YAAY,QAAQ;AAAA,QACtB;AAAA,MACF;AAAA,IACF,WAAW,mBAAmB,mBAAmB;AAC/C,aAAO;AAAA,QACL,IAAI,QAAQ;AAAA,QACZ,WAAW,QAAQ;AAAA,QACnB,mBAAmB;AAAA,UACjB,UAAU,QAAQ;AAAA,UAClB,MAAM,QAAQ;AAAA,UACd,WAAW,QAAQ;AAAA,UACnB,UAAU,QAAQ;AAAA,UAClB,OAAO,QAAQ;AAAA,UACf,QAAQ,QAAQ;AAAA,UAChB,SAAS,QAAQ;AAAA,UACjB,OAAO,KAAK,UAAU,QAAQ,KAAK;AAAA,QACrC;AAAA,MACF;AAAA,IACF,OAAO;AACL,YAAM,IAAI,MAAM,sBAAsB;AAAA,IACxC;AAAA,EACF,CAAC;AACH;AAEO,SAAS,iCACd,UACwE;AACxE,QAAM,mBACJ,CAAC;AAEH,WAAS,QAAQ,CAAC,SAAS,MAAM;AAE/B,QAAI,QAAQ,eAAe,2BAA2B;AACpD,uBAAiB,KAAK,OAAO;AAAA,IAC/B,OAAO;AACL,YAAM,6BAA6B,iBAAiB;AAAA;AAAA,QAElD,CAAC,MAAM,EAAE,eAAe,6BAA6B,EAAE,cAAc,QAAQ;AAAA,MAC/E;AACA,UAAI,+BAA+B,IAAI;AACrC,yBAAiB,KAAK,OAAO;AAAA,MAC/B,OAAO;AACL,yBAAiB,0BAA0B,IAAI;AAAA,MACjD;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEO,SAAS,2BACd,UACW;AACX,SAAO,SAAS,IAAI,CAAC,YAAY;AAC/B,QAAI,QAAQ,eAAe,qBAAqB;AAC9C,aAAO,IAAI,YAAY;AAAA,QACrB,IAAI,QAAQ;AAAA,QACZ,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ,QAAQ,KAAK,EAAE;AAAA,QAChC,WAAW,oBAAI,KAAK;AAAA,QACpB,QAAQ,QAAQ,UAAU,EAAE,8BAAgC;AAAA,MAC9D,CAAC;AAAA,IACH,WAAW,QAAQ,eAAe,gCAAgC;AAChE,aAAO,IAAI,uBAAuB;AAAA,QAChC,IAAI,QAAQ;AAAA,QACZ,MAAM,QAAQ;AAAA,QACd,WAAW,oBAAoB,QAAQ,SAAS;AAAA,QAChD,OAAO,QAAQ;AAAA,QACf,WAAW,oBAAI,KAAK;AAAA,QACpB,QAAQ,QAAQ,UAAU,EAAE,8BAAgC;AAAA,MAC9D,CAAC;AAAA,IACH,WAAW,QAAQ,eAAe,uBAAuB;AACvD,aAAO,IAAI,cAAc;AAAA,QACvB,IAAI,QAAQ;AAAA,QACZ,QAAQ,QAAQ;AAAA,QAChB,mBAAmB,QAAQ;AAAA,QAC3B,YAAY,QAAQ;AAAA,QACpB,WAAW,oBAAI,KAAK;AAAA,QACpB,QAAQ,QAAQ,UAAU,EAAE,8BAAgC;AAAA,MAC9D,CAAC;AAAA,IACH,WAAW,QAAQ,eAAe,2BAA2B;AAC3D,aAAO,IAAI,kBAAkB;AAAA,QAC3B,IAAI,QAAQ;AAAA,QACZ,UAAU,QAAQ;AAAA,QAClB,MAAM,QAAQ;AAAA,QACd,WAAW,QAAQ;AAAA,QACnB,UAAU,QAAQ;AAAA,QAClB,OAAO,QAAQ;AAAA,QACf,QAAQ,QAAQ;AAAA,QAChB,SAAS,QAAQ;AAAA,QACjB,OAAO,KAAK,MAAM,QAAQ,KAAK;AAAA,QAC/B,WAAW,oBAAI,KAAK;AAAA,MACtB,CAAC;AAAA,IACH;AAEA,UAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC,CAAC;AACH;AAEA,SAAS,oBAAoB,MAAgB;AAC3C,MAAI;AACF,WAAO,KAAK,MAAM,eAAe,KAAK,KAAK,EAAE,CAAC,CAAC;AAAA,EACjD,SAAS,GAAP;AACA,WAAO,CAAC;AAAA,EACV;AACF;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client/types.ts"],"sourcesContent":["import { randomId } from \"@copilotkit/shared\";\nimport {\n ActionExecutionMessageInput,\n MessageRole,\n MessageStatus,\n ResultMessageInput,\n TextMessageInput,\n BaseMessageOutput,\n AgentStateMessageInput,\n MessageStatusCode,\n} from \"../graphql/@generated/graphql\";\n\nexport class Message {\n id: BaseMessageOutput[\"id\"];\n createdAt: BaseMessageOutput[\"createdAt\"];\n status: MessageStatus;\n\n constructor(props: any) {\n props.id ??= randomId();\n props.status ??= { code: MessageStatusCode.Success };\n props.createdAt ??= new Date();\n Object.assign(this, props);\n }\n}\n\n// alias Role to MessageRole\nexport const Role = MessageRole;\n\n// when constructing any message, the base fields are optional\ntype MessageConstructorOptions = Partial<Message>;\n\ntype TextMessageConstructorOptions = MessageConstructorOptions & TextMessageInput;\n\nexport class TextMessage extends Message implements TextMessageConstructorOptions {\n role: TextMessageInput[\"role\"];\n content: TextMessageInput[\"content\"];\n\n constructor(props: TextMessageConstructorOptions) {\n super(props);\n }\n}\n\ntype ActionExecutionMessageConstructorOptions = MessageConstructorOptions &\n Omit<ActionExecutionMessageInput, \"arguments\"> & {\n arguments: Record<string, any>;\n };\n\nexport class ActionExecutionMessage\n extends Message\n implements Omit<ActionExecutionMessageInput, \"arguments\">\n{\n name: ActionExecutionMessageInput[\"name\"];\n arguments: Record<string, any>;\n scope: ActionExecutionMessageInput[\"scope\"];\n\n constructor(props: ActionExecutionMessageConstructorOptions) {\n super(props);\n }\n}\n\ntype ResultMessageConstructorOptions = MessageConstructorOptions & ResultMessageInput;\n\nexport class ResultMessage extends Message implements ResultMessageConstructorOptions {\n actionExecutionId: ResultMessageInput[\"actionExecutionId\"];\n actionName: ResultMessageInput[\"actionName\"];\n result: ResultMessageInput[\"result\"];\n\n constructor(props: ResultMessageConstructorOptions) {\n super(props);\n }\n\n static decodeResult(result: string): any {\n try {\n return JSON.parse(result);\n } catch (e) {\n return result;\n }\n }\n\n static encodeResult(result: any): string {\n if (result === undefined) {\n return \"\";\n } else if (typeof result === \"string\") {\n return result;\n } else {\n return JSON.stringify(result);\n }\n }\n}\n\nexport class AgentStateMessage extends Message implements Omit<AgentStateMessageInput, \"state\"> {\n agentName: AgentStateMessageInput[\"agentName\"];\n state: any;\n running: AgentStateMessageInput[\"running\"];\n threadId: AgentStateMessageInput[\"threadId\"];\n role: AgentStateMessageInput[\"role\"];\n nodeName: AgentStateMessageInput[\"nodeName\"];\n runId: AgentStateMessageInput[\"runId\"];\n active: AgentStateMessageInput[\"active\"];\n}\n"],"mappings":";;;;;AAAA,SAAS,gBAAgB;AAYlB,IAAM,UAAN,MAAc;AAAA,EAKnB,YAAY,OAAY;AACtB,UAAM,OAAN,MAAM,KAAO,SAAS;AACtB,UAAM,WAAN,MAAM,SAAW,EAAE,8BAAgC;AACnD,UAAM,cAAN,MAAM,YAAc,oBAAI,KAAK;AAC7B,WAAO,OAAO,MAAM,KAAK;AAAA,EAC3B;AACF;AAGO,IAAM,OAAO;AAOb,IAAM,cAAN,cAA0B,QAAiD;AAAA,EAIhF,YAAY,OAAsC;AAChD,UAAM,KAAK;AAAA,EACb;AACF;AAOO,IAAM,yBAAN,cACG,QAEV;AAAA,EAKE,YAAY,OAAiD;AAC3D,UAAM,KAAK;AAAA,EACb;AACF;AAIO,IAAM,gBAAN,cAA4B,QAAmD;AAAA,EAKpF,YAAY,OAAwC;AAClD,UAAM,KAAK;AAAA,EACb;AAAA,EAEA,OAAO,aAAa,QAAqB;AACvC,QAAI;AACF,aAAO,KAAK,MAAM,MAAM;AAAA,IAC1B,SAAS,GAAP;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO,aAAa,QAAqB;AACvC,QAAI,WAAW,QAAW;AACxB,aAAO;AAAA,IACT,WAAW,OAAO,WAAW,UAAU;AACrC,aAAO;AAAA,IACT,OAAO;AACL,aAAO,KAAK,UAAU,MAAM;AAAA,IAC9B;AAAA,EACF;AACF;AAEO,IAAM,oBAAN,cAAgC,QAAyD;AAShG;","names":[]}
|