@usecrow/ui 0.1.23 → 0.1.25
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.cjs +27 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +27 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -73,6 +73,7 @@ function useChat({
|
|
|
73
73
|
apiUrl = "",
|
|
74
74
|
persistAnonymousConversations,
|
|
75
75
|
welcomeMessage,
|
|
76
|
+
selectedModel: initialSelectedModel,
|
|
76
77
|
onVerificationStatus,
|
|
77
78
|
onConversationId,
|
|
78
79
|
onWorkflowEvent,
|
|
@@ -91,9 +92,14 @@ function useChat({
|
|
|
91
92
|
const [isLoading, setIsLoading] = React3.useState(false);
|
|
92
93
|
const [activeToolCalls, setActiveToolCalls] = React3.useState([]);
|
|
93
94
|
const [conversationId, setConversationId] = React3.useState(null);
|
|
94
|
-
const [selectedModel, setSelectedModel] = React3.useState(DEFAULT_MODEL);
|
|
95
|
+
const [selectedModel, setSelectedModel] = React3.useState(initialSelectedModel || DEFAULT_MODEL);
|
|
95
96
|
const abortControllerRef = React3.useRef(null);
|
|
96
97
|
const hasCheckedPersistRef = React3.useRef(false);
|
|
98
|
+
React3.useEffect(() => {
|
|
99
|
+
if (initialSelectedModel) {
|
|
100
|
+
setSelectedModel((prev) => prev !== initialSelectedModel ? initialSelectedModel : prev);
|
|
101
|
+
}
|
|
102
|
+
}, [initialSelectedModel]);
|
|
97
103
|
React3.useEffect(() => {
|
|
98
104
|
if (messages.length === 1 && messages[0].id === "welcome" && !conversationId) {
|
|
99
105
|
setMessages([
|
|
@@ -275,6 +281,15 @@ function useChat({
|
|
|
275
281
|
)
|
|
276
282
|
);
|
|
277
283
|
break;
|
|
284
|
+
case "tool_result_links":
|
|
285
|
+
if (parsed.links && Array.isArray(parsed.links)) {
|
|
286
|
+
setMessages(
|
|
287
|
+
(prev) => prev.map(
|
|
288
|
+
(msg) => msg.id === botMsgId ? { ...msg, links: [...msg.links || [], ...parsed.links] } : msg
|
|
289
|
+
)
|
|
290
|
+
);
|
|
291
|
+
}
|
|
292
|
+
break;
|
|
278
293
|
case "client_tool_call":
|
|
279
294
|
pendingClientTools.push({
|
|
280
295
|
toolName: parsed.tool_name,
|
|
@@ -1119,6 +1134,9 @@ function useWidgetStyles({
|
|
|
1119
1134
|
const [welcomeMessage, setWelcomeMessage] = React3.useState(
|
|
1120
1135
|
styleCache.get(key)?.welcomeMessage ?? void 0
|
|
1121
1136
|
);
|
|
1137
|
+
const [selectedModel, setSelectedModel] = React3.useState(
|
|
1138
|
+
styleCache.get(key)?.model ?? void 0
|
|
1139
|
+
);
|
|
1122
1140
|
const hasFetchedRef = React3.useRef(false);
|
|
1123
1141
|
const fetchStyles = async () => {
|
|
1124
1142
|
if (skip) return;
|
|
@@ -1133,6 +1151,7 @@ function useWidgetStyles({
|
|
|
1133
1151
|
setShowThinking(config.showThinking ?? true);
|
|
1134
1152
|
setPersistAnonymousConversations(config.persistAnonymousConversations ?? true);
|
|
1135
1153
|
setWelcomeMessage(config.welcomeMessage ?? void 0);
|
|
1154
|
+
setSelectedModel(config.model ?? void 0);
|
|
1136
1155
|
} catch (err) {
|
|
1137
1156
|
console.error("[CrowWidget] Failed to fetch styles:", err);
|
|
1138
1157
|
setError(err instanceof Error ? err : new Error(String(err)));
|
|
@@ -1150,6 +1169,7 @@ function useWidgetStyles({
|
|
|
1150
1169
|
setShowThinking(cached.showThinking ?? true);
|
|
1151
1170
|
setPersistAnonymousConversations(cached.persistAnonymousConversations ?? true);
|
|
1152
1171
|
setWelcomeMessage(cached.welcomeMessage ?? void 0);
|
|
1172
|
+
setSelectedModel(cached.model ?? void 0);
|
|
1153
1173
|
setIsLoading(false);
|
|
1154
1174
|
return;
|
|
1155
1175
|
}
|
|
@@ -1166,6 +1186,7 @@ function useWidgetStyles({
|
|
|
1166
1186
|
showThinking,
|
|
1167
1187
|
persistAnonymousConversations,
|
|
1168
1188
|
welcomeMessage,
|
|
1189
|
+
selectedModel,
|
|
1169
1190
|
refetch: fetchStyles
|
|
1170
1191
|
};
|
|
1171
1192
|
}
|
|
@@ -2761,7 +2782,8 @@ function CrowWidget({
|
|
|
2761
2782
|
browserUseEnabled,
|
|
2762
2783
|
showThinking: showThinkingFromAPI,
|
|
2763
2784
|
persistAnonymousConversations,
|
|
2764
|
-
welcomeMessage: welcomeMessageFromAPI
|
|
2785
|
+
welcomeMessage: welcomeMessageFromAPI,
|
|
2786
|
+
selectedModel: selectedModelFromAPI
|
|
2765
2787
|
} = useWidgetStyles({
|
|
2766
2788
|
productId,
|
|
2767
2789
|
apiUrl,
|
|
@@ -2770,6 +2792,7 @@ function CrowWidget({
|
|
|
2770
2792
|
});
|
|
2771
2793
|
const agentName = agentNameProp ?? agentNameFromAPI;
|
|
2772
2794
|
const welcomeMessage = welcomeMessageProp ?? welcomeMessageFromAPI;
|
|
2795
|
+
const selectedModel = selectedModelFromAPI ?? DEFAULT_MODEL;
|
|
2773
2796
|
const showThinking = showThinkingProp ?? showThinkingFromAPI;
|
|
2774
2797
|
const [autoTools, setAutoTools] = React3.useState({});
|
|
2775
2798
|
const cssVars = stylesToCssVars(styles);
|
|
@@ -2792,7 +2815,7 @@ function CrowWidget({
|
|
|
2792
2815
|
productId,
|
|
2793
2816
|
apiUrl,
|
|
2794
2817
|
conversationId: null,
|
|
2795
|
-
selectedModel
|
|
2818
|
+
selectedModel
|
|
2796
2819
|
});
|
|
2797
2820
|
const conversations = useConversations({ productId, apiUrl });
|
|
2798
2821
|
const [shouldRestoreHistory, setShouldRestoreHistory] = React3.useState(false);
|
|
@@ -2802,6 +2825,7 @@ function CrowWidget({
|
|
|
2802
2825
|
apiUrl,
|
|
2803
2826
|
persistAnonymousConversations,
|
|
2804
2827
|
welcomeMessage,
|
|
2828
|
+
selectedModel,
|
|
2805
2829
|
onVerificationStatus: (isVerified) => {
|
|
2806
2830
|
setIsVerifiedUser(isVerified);
|
|
2807
2831
|
},
|