@copilotz/chat-adapter 0.9.46 → 0.9.47
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.js +23 -5
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -122,6 +122,24 @@ var getLlmAttemptId = (event) => {
|
|
|
122
122
|
}
|
|
123
123
|
return null;
|
|
124
124
|
};
|
|
125
|
+
var getRoutingMessageFromMetadata = (metadata) => {
|
|
126
|
+
if (!isRecord(metadata)) return null;
|
|
127
|
+
const routing = isRecord(metadata.routing) ? metadata.routing : null;
|
|
128
|
+
if (!routing) return null;
|
|
129
|
+
if (routing.source !== "model_control" || !["consult", "ask", "handoff"].includes(String(routing.action)) || typeof routing.targetId !== "string" || routing.targetId.trim().length === 0 || typeof routing.message !== "string" || routing.message.trim().length === 0) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
return routing.message.trim();
|
|
133
|
+
};
|
|
134
|
+
var getRoutingMessage = (event) => {
|
|
135
|
+
if (!isRecord(event)) return null;
|
|
136
|
+
return getRoutingMessageFromMetadata(event.metadata);
|
|
137
|
+
};
|
|
138
|
+
var getVisibleLlmResultAnswer = (event) => {
|
|
139
|
+
const payload = getStreamEventPayload(event);
|
|
140
|
+
const answer = isRecord(payload) && typeof payload.answer === "string" ? payload.answer : "";
|
|
141
|
+
return answer.trim().length > 0 ? answer : getRoutingMessage(event) ?? void 0;
|
|
142
|
+
};
|
|
125
143
|
var isTerminalEmptyLlmResultEvent = (event) => {
|
|
126
144
|
if (!isRecord(event) || event.type !== "LLM_RESULT") return false;
|
|
127
145
|
const payload = getStreamEventPayload(event);
|
|
@@ -130,8 +148,7 @@ var isTerminalEmptyLlmResultEvent = (event) => {
|
|
|
130
148
|
if (payload.finishReason === "tool_calls") return false;
|
|
131
149
|
if (hasValues(payload.toolCalls)) return false;
|
|
132
150
|
const metadata = isRecord(event.metadata) ? event.metadata : {};
|
|
133
|
-
|
|
134
|
-
if ((routing.action === "ask" || routing.action === "handoff") && typeof routing.targetId === "string" && routing.targetId.trim().length > 0) return false;
|
|
151
|
+
if (getRoutingMessageFromMetadata(metadata)) return false;
|
|
135
152
|
if (hasValues(metadata.targetQueue)) return false;
|
|
136
153
|
return true;
|
|
137
154
|
};
|
|
@@ -1681,7 +1698,7 @@ var shouldRenderHydratedMessage = (msg) => {
|
|
|
1681
1698
|
return false;
|
|
1682
1699
|
}
|
|
1683
1700
|
const text = expectStringValue(msg.content, "message.content").trim();
|
|
1684
|
-
const hasText = text.length > 0;
|
|
1701
|
+
const hasText = text.length > 0 || getRoutingMessageFromMetadata(meta) !== null;
|
|
1685
1702
|
const hasToolCalls = extractToolCallsFromServerMessage(msg).length > 0;
|
|
1686
1703
|
const hasAttachments = extractAttachments(meta).length > 0;
|
|
1687
1704
|
if (msg.senderType === "tool") {
|
|
@@ -1695,6 +1712,7 @@ var convertServerMessage = (msg, options = {}) => {
|
|
|
1695
1712
|
const metadata = msg.metadata ?? void 0;
|
|
1696
1713
|
const attachments = extractAttachments(metadata);
|
|
1697
1714
|
const messageContent = expectStringValue(msg.content, "message.content");
|
|
1715
|
+
const routingMessage = getRoutingMessageFromMetadata(metadata);
|
|
1698
1716
|
const role = roleBySender[msg.senderType];
|
|
1699
1717
|
const parsedToolCalls = extractToolCallsFromServerMessage(msg);
|
|
1700
1718
|
const shouldRenderToolCalls = msg.senderType !== "tool";
|
|
@@ -1708,7 +1726,7 @@ var convertServerMessage = (msg, options = {}) => {
|
|
|
1708
1726
|
}));
|
|
1709
1727
|
const hasToolCalls = shouldRenderToolCalls && mappedToolCalls.length > 0;
|
|
1710
1728
|
const isToolSender = msg.senderType === "tool";
|
|
1711
|
-
const content = isToolSender ? "" : messageContent;
|
|
1729
|
+
const content = isToolSender ? "" : messageContent.trim().length > 0 ? messageContent : routingMessage ?? "";
|
|
1712
1730
|
const reasoning = typeof msg.reasoning === "string" && msg.reasoning.length > 0 ? msg.reasoning : void 0;
|
|
1713
1731
|
const llmAttemptId = typeof metadata?.[LLM_ATTEMPT_ID_METADATA_KEY] === "string" ? metadata[LLM_ATTEMPT_ID_METADATA_KEY].trim() : "";
|
|
1714
1732
|
const activityItems = [
|
|
@@ -2808,7 +2826,7 @@ function useCopilotz({ userId, userName, userAvatar, assistantName, agentOptions
|
|
|
2808
2826
|
return;
|
|
2809
2827
|
}
|
|
2810
2828
|
if (type === "LLM_RESULT") {
|
|
2811
|
-
const finalAnswer =
|
|
2829
|
+
const finalAnswer = getVisibleLlmResultAnswer(event);
|
|
2812
2830
|
const attemptId = getLlmAttemptId(event) ?? liveRunState.activeAttemptId ?? liveRunState.lastAttemptId;
|
|
2813
2831
|
if (attemptId) {
|
|
2814
2832
|
dispatchLiveRunAction({
|