@copilotkit/runtime-client-gql 1.10.0 → 1.10.1-next.1
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 +20 -0
- package/dist/{chunk-PAQ6AHHC.mjs → chunk-5V6B3OXS.mjs} +2 -2
- package/dist/{chunk-PAQ6AHHC.mjs.map → chunk-5V6B3OXS.mjs.map} +1 -1
- package/dist/{chunk-YNQMTL2P.mjs → chunk-SCACOKQX.mjs} +38 -8
- package/dist/chunk-SCACOKQX.mjs.map +1 -0
- package/dist/{chunk-MTD2RJDJ.mjs → chunk-ZYA32QXZ.mjs} +44 -29
- package/dist/chunk-ZYA32QXZ.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/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/index.mjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +82 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -3
- package/dist/message-conversion/agui-to-gql.js +37 -7
- package/dist/message-conversion/agui-to-gql.js.map +1 -1
- package/dist/message-conversion/agui-to-gql.mjs +2 -2
- package/dist/message-conversion/agui-to-gql.test.js +529 -7
- package/dist/message-conversion/agui-to-gql.test.js.map +1 -1
- package/dist/message-conversion/agui-to-gql.test.mjs +494 -2
- package/dist/message-conversion/agui-to-gql.test.mjs.map +1 -1
- package/dist/message-conversion/gql-to-agui.d.ts +3 -2
- package/dist/message-conversion/gql-to-agui.js +44 -28
- package/dist/message-conversion/gql-to-agui.js.map +1 -1
- package/dist/message-conversion/gql-to-agui.mjs +4 -2
- package/dist/message-conversion/gql-to-agui.test.js +622 -28
- package/dist/message-conversion/gql-to-agui.test.js.map +1 -1
- package/dist/message-conversion/gql-to-agui.test.mjs +583 -2
- package/dist/message-conversion/gql-to-agui.test.mjs.map +1 -1
- package/dist/message-conversion/index.d.ts +1 -1
- package/dist/message-conversion/index.js +81 -35
- package/dist/message-conversion/index.js.map +1 -1
- package/dist/message-conversion/index.mjs +5 -3
- package/dist/message-conversion/roundtrip-conversion.test.js +250 -35
- package/dist/message-conversion/roundtrip-conversion.test.js.map +1 -1
- package/dist/message-conversion/roundtrip-conversion.test.mjs +174 -3
- package/dist/message-conversion/roundtrip-conversion.test.mjs.map +1 -1
- package/package.json +3 -3
- package/src/message-conversion/agui-to-gql.test.ts +566 -0
- package/src/message-conversion/agui-to-gql.ts +56 -9
- package/src/message-conversion/gql-to-agui.test.ts +663 -0
- package/src/message-conversion/gql-to-agui.ts +62 -35
- package/src/message-conversion/roundtrip-conversion.test.ts +228 -0
- package/dist/chunk-MTD2RJDJ.mjs.map +0 -1
- package/dist/chunk-YNQMTL2P.mjs.map +0 -1
package/dist/index.js
CHANGED
|
@@ -58,6 +58,7 @@ __export(src_exports, {
|
|
|
58
58
|
convertMessagesToGqlInput: () => convertMessagesToGqlInput,
|
|
59
59
|
filterAdjacentAgentStateMessages: () => filterAdjacentAgentStateMessages,
|
|
60
60
|
filterAgentStateMessages: () => filterAgentStateMessages,
|
|
61
|
+
gqlActionExecutionMessageToAGUIMessage: () => gqlActionExecutionMessageToAGUIMessage,
|
|
61
62
|
gqlImageMessageToAGUIMessage: () => gqlImageMessageToAGUIMessage,
|
|
62
63
|
gqlResultMessageToAGUIMessage: () => gqlResultMessageToAGUIMessage,
|
|
63
64
|
gqlTextMessageToAGUIMessage: () => gqlTextMessageToAGUIMessage,
|
|
@@ -71,7 +72,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
71
72
|
var import_core = require("@urql/core");
|
|
72
73
|
|
|
73
74
|
// package.json
|
|
74
|
-
var version = "1.10.
|
|
75
|
+
var version = "1.10.1-next.1";
|
|
75
76
|
|
|
76
77
|
// src/graphql/@generated/graphql.ts
|
|
77
78
|
var ActionInputAvailability = /* @__PURE__ */ ((ActionInputAvailability2) => {
|
|
@@ -791,8 +792,14 @@ function aguiToGQL(messages, actions, coAgentStateRenders) {
|
|
|
791
792
|
const actionExecMsg = aguiToolCallToGQLActionExecution(toolCall, message.id);
|
|
792
793
|
if ("generativeUI" in message && message.generativeUI && actions) {
|
|
793
794
|
const actionName = toolCall.function.name;
|
|
794
|
-
|
|
795
|
-
|
|
795
|
+
const specificAction = Object.values(actions).find(
|
|
796
|
+
(action) => action.name === actionName
|
|
797
|
+
);
|
|
798
|
+
const wildcardAction = Object.values(actions).find((action) => action.name === "*");
|
|
799
|
+
if (specificAction) {
|
|
800
|
+
specificAction.render = message.generativeUI;
|
|
801
|
+
} else if (wildcardAction) {
|
|
802
|
+
wildcardAction.render = message.generativeUI;
|
|
796
803
|
}
|
|
797
804
|
}
|
|
798
805
|
gqlMessages.push(actionExecMsg);
|
|
@@ -838,10 +845,20 @@ function aguiToolCallToGQLActionExecution(toolCall, parentMessageId) {
|
|
|
838
845
|
throw new Error(`Unsupported tool call type: ${toolCall.type}`);
|
|
839
846
|
}
|
|
840
847
|
let argumentsObj;
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
848
|
+
if (typeof toolCall.function.arguments === "string") {
|
|
849
|
+
try {
|
|
850
|
+
argumentsObj = JSON.parse(toolCall.function.arguments);
|
|
851
|
+
} catch (error) {
|
|
852
|
+
console.warn(`Failed to parse tool call arguments for ${toolCall.function.name}:`, error);
|
|
853
|
+
argumentsObj = {};
|
|
854
|
+
}
|
|
855
|
+
} else if (typeof toolCall.function.arguments === "object" && toolCall.function.arguments !== null) {
|
|
856
|
+
argumentsObj = toolCall.function.arguments;
|
|
857
|
+
} else {
|
|
858
|
+
console.warn(
|
|
859
|
+
`Invalid tool call arguments type for ${toolCall.function.name}:`,
|
|
860
|
+
typeof toolCall.function.arguments
|
|
861
|
+
);
|
|
845
862
|
argumentsObj = {};
|
|
846
863
|
}
|
|
847
864
|
return new ActionExecutionMessage({
|
|
@@ -859,9 +876,23 @@ function aguiToolMessageToGQLResultMessage(message, toolCallNames) {
|
|
|
859
876
|
throw new Error("Tool message must have a toolCallId");
|
|
860
877
|
}
|
|
861
878
|
const actionName = toolCallNames[message.toolCallId] || "unknown";
|
|
879
|
+
let resultContent;
|
|
880
|
+
const messageContent = message.content || "";
|
|
881
|
+
if (typeof messageContent === "string") {
|
|
882
|
+
resultContent = messageContent;
|
|
883
|
+
} else if (typeof messageContent === "object" && messageContent !== null) {
|
|
884
|
+
try {
|
|
885
|
+
resultContent = JSON.stringify(messageContent);
|
|
886
|
+
} catch (error) {
|
|
887
|
+
console.warn(`Failed to stringify tool result for ${actionName}:`, error);
|
|
888
|
+
resultContent = String(messageContent);
|
|
889
|
+
}
|
|
890
|
+
} else {
|
|
891
|
+
resultContent = String(messageContent);
|
|
892
|
+
}
|
|
862
893
|
return new ResultMessage({
|
|
863
894
|
id: message.id,
|
|
864
|
-
result:
|
|
895
|
+
result: resultContent,
|
|
865
896
|
actionExecutionId: message.toolCallId,
|
|
866
897
|
actionName: message.toolName || actionName
|
|
867
898
|
});
|
|
@@ -940,45 +971,59 @@ function gqlToAGUI(messages, actions, coAgentStateRenders) {
|
|
|
940
971
|
return aguiMessages;
|
|
941
972
|
}
|
|
942
973
|
function gqlActionExecutionMessageToAGUIMessage(message, actions, actionResults) {
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
if (!originalRender)
|
|
947
|
-
return void 0;
|
|
948
|
-
return (props) => {
|
|
949
|
-
var _a;
|
|
950
|
-
const actionResult = actionResults == null ? void 0 : actionResults.get(message.id);
|
|
951
|
-
let status = "inProgress";
|
|
952
|
-
if (actionResult !== void 0) {
|
|
953
|
-
status = "complete";
|
|
954
|
-
} else if (((_a = message.status) == null ? void 0 : _a.code) !== "Pending" /* Pending */) {
|
|
955
|
-
status = "executing";
|
|
956
|
-
}
|
|
957
|
-
const renderProps = {
|
|
958
|
-
status: (props == null ? void 0 : props.status) || status,
|
|
959
|
-
args: message.arguments || {},
|
|
960
|
-
result: (props == null ? void 0 : props.result) || actionResult || void 0,
|
|
961
|
-
respond: (props == null ? void 0 : props.respond) || (() => {
|
|
962
|
-
}),
|
|
963
|
-
messageId: message.id,
|
|
964
|
-
...props
|
|
965
|
-
};
|
|
966
|
-
return originalRender(renderProps);
|
|
967
|
-
};
|
|
968
|
-
};
|
|
974
|
+
const hasSpecificAction = actions && Object.values(actions).some((action2) => action2.name === message.name);
|
|
975
|
+
const hasWildcardAction = actions && Object.values(actions).some((action2) => action2.name === "*");
|
|
976
|
+
if (!actions || !hasSpecificAction && !hasWildcardAction) {
|
|
969
977
|
return {
|
|
970
978
|
id: message.id,
|
|
971
979
|
role: "assistant",
|
|
972
|
-
content: "",
|
|
973
980
|
toolCalls: [actionExecutionMessageToAGUIMessage(message)],
|
|
974
|
-
generativeUI: createRenderWrapper(action.render),
|
|
975
981
|
name: message.name
|
|
976
982
|
};
|
|
977
983
|
}
|
|
984
|
+
const action = Object.values(actions).find((action2) => action2.name === message.name) || Object.values(actions).find((action2) => action2.name === "*");
|
|
985
|
+
const createRenderWrapper = (originalRender) => {
|
|
986
|
+
if (!originalRender)
|
|
987
|
+
return void 0;
|
|
988
|
+
return (props) => {
|
|
989
|
+
var _a;
|
|
990
|
+
let actionResult = actionResults == null ? void 0 : actionResults.get(message.id);
|
|
991
|
+
let status = "inProgress";
|
|
992
|
+
if (actionResult !== void 0) {
|
|
993
|
+
status = "complete";
|
|
994
|
+
} else if (((_a = message.status) == null ? void 0 : _a.code) !== "Pending" /* Pending */) {
|
|
995
|
+
status = "executing";
|
|
996
|
+
}
|
|
997
|
+
if (typeof (props == null ? void 0 : props.result) === "string") {
|
|
998
|
+
try {
|
|
999
|
+
props.result = JSON.parse(props.result);
|
|
1000
|
+
} catch (e) {
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
if (typeof actionResult === "string") {
|
|
1004
|
+
try {
|
|
1005
|
+
actionResult = JSON.parse(actionResult);
|
|
1006
|
+
} catch (e) {
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
const renderProps = {
|
|
1010
|
+
status: (props == null ? void 0 : props.status) || status,
|
|
1011
|
+
args: message.arguments || {},
|
|
1012
|
+
result: (props == null ? void 0 : props.result) || actionResult || void 0,
|
|
1013
|
+
respond: (props == null ? void 0 : props.respond) || (() => {
|
|
1014
|
+
}),
|
|
1015
|
+
messageId: message.id,
|
|
1016
|
+
...props
|
|
1017
|
+
};
|
|
1018
|
+
return originalRender(renderProps);
|
|
1019
|
+
};
|
|
1020
|
+
};
|
|
978
1021
|
return {
|
|
979
1022
|
id: message.id,
|
|
980
1023
|
role: "assistant",
|
|
1024
|
+
content: "",
|
|
981
1025
|
toolCalls: [actionExecutionMessageToAGUIMessage(message)],
|
|
1026
|
+
generativeUI: createRenderWrapper(action.render),
|
|
982
1027
|
name: message.name
|
|
983
1028
|
};
|
|
984
1029
|
}
|
|
@@ -1113,6 +1158,7 @@ function gqlImageMessageToAGUIMessage(message) {
|
|
|
1113
1158
|
convertMessagesToGqlInput,
|
|
1114
1159
|
filterAdjacentAgentStateMessages,
|
|
1115
1160
|
filterAgentStateMessages,
|
|
1161
|
+
gqlActionExecutionMessageToAGUIMessage,
|
|
1116
1162
|
gqlImageMessageToAGUIMessage,
|
|
1117
1163
|
gqlResultMessageToAGUIMessage,
|
|
1118
1164
|
gqlTextMessageToAGUIMessage,
|