@usecrow/ui 0.1.24 → 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 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([
@@ -1128,6 +1134,9 @@ function useWidgetStyles({
1128
1134
  const [welcomeMessage, setWelcomeMessage] = React3.useState(
1129
1135
  styleCache.get(key)?.welcomeMessage ?? void 0
1130
1136
  );
1137
+ const [selectedModel, setSelectedModel] = React3.useState(
1138
+ styleCache.get(key)?.model ?? void 0
1139
+ );
1131
1140
  const hasFetchedRef = React3.useRef(false);
1132
1141
  const fetchStyles = async () => {
1133
1142
  if (skip) return;
@@ -1142,6 +1151,7 @@ function useWidgetStyles({
1142
1151
  setShowThinking(config.showThinking ?? true);
1143
1152
  setPersistAnonymousConversations(config.persistAnonymousConversations ?? true);
1144
1153
  setWelcomeMessage(config.welcomeMessage ?? void 0);
1154
+ setSelectedModel(config.model ?? void 0);
1145
1155
  } catch (err) {
1146
1156
  console.error("[CrowWidget] Failed to fetch styles:", err);
1147
1157
  setError(err instanceof Error ? err : new Error(String(err)));
@@ -1159,6 +1169,7 @@ function useWidgetStyles({
1159
1169
  setShowThinking(cached.showThinking ?? true);
1160
1170
  setPersistAnonymousConversations(cached.persistAnonymousConversations ?? true);
1161
1171
  setWelcomeMessage(cached.welcomeMessage ?? void 0);
1172
+ setSelectedModel(cached.model ?? void 0);
1162
1173
  setIsLoading(false);
1163
1174
  return;
1164
1175
  }
@@ -1175,6 +1186,7 @@ function useWidgetStyles({
1175
1186
  showThinking,
1176
1187
  persistAnonymousConversations,
1177
1188
  welcomeMessage,
1189
+ selectedModel,
1178
1190
  refetch: fetchStyles
1179
1191
  };
1180
1192
  }
@@ -2770,7 +2782,8 @@ function CrowWidget({
2770
2782
  browserUseEnabled,
2771
2783
  showThinking: showThinkingFromAPI,
2772
2784
  persistAnonymousConversations,
2773
- welcomeMessage: welcomeMessageFromAPI
2785
+ welcomeMessage: welcomeMessageFromAPI,
2786
+ selectedModel: selectedModelFromAPI
2774
2787
  } = useWidgetStyles({
2775
2788
  productId,
2776
2789
  apiUrl,
@@ -2779,6 +2792,7 @@ function CrowWidget({
2779
2792
  });
2780
2793
  const agentName = agentNameProp ?? agentNameFromAPI;
2781
2794
  const welcomeMessage = welcomeMessageProp ?? welcomeMessageFromAPI;
2795
+ const selectedModel = selectedModelFromAPI ?? DEFAULT_MODEL;
2782
2796
  const showThinking = showThinkingProp ?? showThinkingFromAPI;
2783
2797
  const [autoTools, setAutoTools] = React3.useState({});
2784
2798
  const cssVars = stylesToCssVars(styles);
@@ -2801,7 +2815,7 @@ function CrowWidget({
2801
2815
  productId,
2802
2816
  apiUrl,
2803
2817
  conversationId: null,
2804
- selectedModel: DEFAULT_MODEL
2818
+ selectedModel
2805
2819
  });
2806
2820
  const conversations = useConversations({ productId, apiUrl });
2807
2821
  const [shouldRestoreHistory, setShouldRestoreHistory] = React3.useState(false);
@@ -2811,6 +2825,7 @@ function CrowWidget({
2811
2825
  apiUrl,
2812
2826
  persistAnonymousConversations,
2813
2827
  welcomeMessage,
2828
+ selectedModel,
2814
2829
  onVerificationStatus: (isVerified) => {
2815
2830
  setIsVerifiedUser(isVerified);
2816
2831
  },