@gendive/chatllm 0.17.21 → 0.17.23

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.
@@ -1257,7 +1257,7 @@ var useProject = (options) => {
1257
1257
  }
1258
1258
  };
1259
1259
  loadProjects();
1260
- }, [useExternalStorage, onLoadProjects, onError, storageKey]);
1260
+ }, [enabled, useExternalStorage, onLoadProjects, onError, storageKey]);
1261
1261
  const createProject = (0, import_react4.useCallback)(
1262
1262
  async (data) => {
1263
1263
  const now = Date.now();
@@ -1499,11 +1499,6 @@ var parsePollFromContent = (content) => {
1499
1499
  allowOther,
1500
1500
  required: false
1501
1501
  };
1502
- console.log("[pollParser] Parsed poll:", {
1503
- question: pollQuestion.question,
1504
- optionsCount: pollQuestion.options.length,
1505
- options: pollQuestion.options.map((o) => o.label)
1506
- });
1507
1502
  polls.push(pollQuestion);
1508
1503
  }
1509
1504
  cleanContent = cleanContent.replace(match[0], "");
@@ -1511,7 +1506,6 @@ var parsePollFromContent = (content) => {
1511
1506
  if (polls.length === 0) {
1512
1507
  return { pollBlock: null, cleanContent: content };
1513
1508
  }
1514
- console.log("[pollParser] Total polls parsed:", polls.length, polls.map((p) => p.question));
1515
1509
  cleanContent = cleanContent.replace(/\n{3,}/g, "\n\n");
1516
1510
  return {
1517
1511
  pollBlock: {
@@ -1796,7 +1790,8 @@ var useChatUI = (options) => {
1796
1790
  }),
1797
1791
  [globalMemoryConfig, storageKey]
1798
1792
  );
1799
- const globalMemory = useGlobalMemoryEnabled ? useGlobalMemory(memoryOptions) : null;
1793
+ const globalMemoryRaw = useGlobalMemory(memoryOptions);
1794
+ const globalMemory = useGlobalMemoryEnabled ? globalMemoryRaw : null;
1800
1795
  const stableToolCall = (0, import_react5.useCallback)(
1801
1796
  (name, params) => onToolCallRef.current(name, params),
1802
1797
  []
@@ -2415,7 +2410,7 @@ ${finalContent}`;
2415
2410
  ...userContentParts && { contentParts: userContentParts }
2416
2411
  };
2417
2412
  const capturedSessionId = sessionId;
2418
- const currentSession2 = sessions.find((s) => s.id === capturedSessionId);
2413
+ const currentSession2 = sessionsRef.current.find((s) => s.id === capturedSessionId);
2419
2414
  const existingMessages = currentSession2?.messages || [];
2420
2415
  const isFirstMessage = !existingMessages.length;
2421
2416
  const contextSummary = currentSession2?.compressionState?.contextSummary || currentSession2?.contextSummary;
@@ -2432,6 +2427,9 @@ ${finalContent}`;
2432
2427
  setInput("");
2433
2428
  setQuotedText(null);
2434
2429
  setSelectedAction(null);
2430
+ attachments.forEach((a) => {
2431
+ if (a.previewUrl) URL.revokeObjectURL(a.previewUrl);
2432
+ });
2435
2433
  setAttachments([]);
2436
2434
  setSessions(
2437
2435
  (prev) => prev.map((s) => {
@@ -3843,7 +3841,7 @@ var ProjectSelector = ({
3843
3841
  width: "8px",
3844
3842
  height: "8px",
3845
3843
  borderRadius: "50%",
3846
- backgroundColor: currentProject?.color || "var(--chatllm-primary, #2563eb)",
3844
+ backgroundColor: currentProject?.color || "var(--chatllm-primary, #3584FA)",
3847
3845
  flexShrink: 0
3848
3846
  }
3849
3847
  }
@@ -3929,7 +3927,7 @@ var ProjectSelector = ({
3929
3927
  width: "8px",
3930
3928
  height: "8px",
3931
3929
  borderRadius: "50%",
3932
- backgroundColor: project.color || "var(--chatllm-primary, #2563eb)",
3930
+ backgroundColor: project.color || "var(--chatllm-primary, #3584FA)",
3933
3931
  flexShrink: 0
3934
3932
  }
3935
3933
  }
@@ -4003,8 +4001,8 @@ var ProjectSelector = ({
4003
4001
  e.currentTarget.style.backgroundColor = "transparent";
4004
4002
  },
4005
4003
  children: [
4006
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(IconSvg, { name: "add-line", size: 16, color: "var(--chatllm-primary, #2563eb)" }),
4007
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { style: { fontSize: "13px", fontWeight: 500, color: "var(--chatllm-primary, #2563eb)" }, children: "\uC0C8 \uD504\uB85C\uC81D\uD2B8" })
4004
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(IconSvg, { name: "add-line", size: 16, color: "var(--chatllm-primary, #3584FA)" }),
4005
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { style: { fontSize: "13px", fontWeight: 500, color: "var(--chatllm-primary, #3584FA)" }, children: "\uC0C8 \uD504\uB85C\uC81D\uD2B8" })
4008
4006
  ]
4009
4007
  }
4010
4008
  )
@@ -4497,13 +4495,13 @@ var ChatHeader = ({
4497
4495
  transition: "all 0.2s"
4498
4496
  },
4499
4497
  onMouseOver: (e) => {
4500
- e.currentTarget.style.borderColor = "var(--chatllm-primary, #3b82f6)";
4498
+ e.currentTarget.style.borderColor = "var(--chatllm-primary, #3584FA)";
4501
4499
  },
4502
4500
  onMouseOut: (e) => {
4503
4501
  e.currentTarget.style.borderColor = "var(--chatllm-border, #e5e7eb)";
4504
4502
  },
4505
4503
  children: [
4506
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(IconSvg, { name: "robot-line", size: 16, color: "var(--chatllm-primary, #3b82f6)" }),
4504
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(IconSvg, { name: "robot-line", size: 16, color: "var(--chatllm-primary, #3584FA)" }),
4507
4505
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { style: { fontSize: "14px", fontWeight: 500, color: "var(--chatllm-text, #1f2937)" }, children: currentModel?.name || model }),
4508
4506
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
4509
4507
  IconSvg,
@@ -4600,7 +4598,7 @@ var ChatHeader = ({
4600
4598
  width: "28px",
4601
4599
  height: "28px",
4602
4600
  borderRadius: "6px",
4603
- backgroundColor: m.id === model ? "var(--chatllm-primary, #3b82f6)" : "var(--chatllm-bg-secondary, #f3f4f6)",
4601
+ backgroundColor: m.id === model ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-bg-secondary, #f3f4f6)",
4604
4602
  display: "flex",
4605
4603
  alignItems: "center",
4606
4604
  justifyContent: "center"
@@ -4634,7 +4632,7 @@ var ChatHeader = ({
4634
4632
  {
4635
4633
  name: "check-line",
4636
4634
  size: 16,
4637
- color: "var(--chatllm-primary, #3b82f6)",
4635
+ color: "var(--chatllm-primary, #3584FA)",
4638
4636
  className: "ml-auto"
4639
4637
  }
4640
4638
  )
@@ -5786,7 +5784,7 @@ var parseInlineElements = (text, key, sources) => {
5786
5784
  target: "_blank",
5787
5785
  rel: "noopener noreferrer",
5788
5786
  style: {
5789
- color: "var(--chatllm-link, #3b82f6)",
5787
+ color: "var(--chatllm-link, #3584FA)",
5790
5788
  textDecoration: "none"
5791
5789
  },
5792
5790
  children: match[1]
@@ -5815,7 +5813,7 @@ var parseInlineElements = (text, key, sources) => {
5815
5813
  height: "18px",
5816
5814
  borderRadius: "50%",
5817
5815
  backgroundColor: "var(--chatllm-primary-light, #dbeafe)",
5818
- color: "var(--chatllm-primary, #3b82f6)",
5816
+ color: "var(--chatllm-primary, #3584FA)",
5819
5817
  fontSize: "11px",
5820
5818
  fontWeight: 600,
5821
5819
  textDecoration: "none",
@@ -5957,7 +5955,7 @@ var ThinkingSpinner = () => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
5957
5955
  width: "12px",
5958
5956
  height: "12px",
5959
5957
  border: "2px solid var(--chatllm-border, #e5e7eb)",
5960
- borderTopColor: "var(--chatllm-primary, #3b82f6)",
5958
+ borderTopColor: "var(--chatllm-primary, #3584FA)",
5961
5959
  borderRadius: "50%",
5962
5960
  animation: "chatllm-spin 0.8s linear infinite"
5963
5961
  }
@@ -6398,7 +6396,7 @@ var ChoiceButtons = ({ choices, title, onChoiceClick }) => {
6398
6396
  width: "28px",
6399
6397
  height: "28px",
6400
6398
  borderRadius: "50%",
6401
- backgroundColor: hoveredIndex === index ? "var(--chatllm-primary, #3b82f6)" : "var(--chatllm-bg-tertiary, #f3f4f6)",
6399
+ backgroundColor: hoveredIndex === index ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-bg-tertiary, #f3f4f6)",
6402
6400
  color: hoveredIndex === index ? "#ffffff" : "var(--chatllm-text, #374151)",
6403
6401
  fontSize: "14px",
6404
6402
  fontWeight: 600,
@@ -6608,7 +6606,7 @@ var MarkdownRenderer = ({
6608
6606
  style: {
6609
6607
  margin: "12px 0",
6610
6608
  padding: "12px 16px",
6611
- borderLeft: "4px solid var(--chatllm-primary, #3b82f6)",
6609
+ borderLeft: "4px solid var(--chatllm-primary, #3584FA)",
6612
6610
  backgroundColor: "var(--chatllm-bg-secondary, #f9fafb)",
6613
6611
  borderRadius: "0 8px 8px 0",
6614
6612
  color: "var(--chatllm-text, #374151)"
@@ -6668,7 +6666,7 @@ var MarkdownRenderer = ({
6668
6666
  width: "18px",
6669
6667
  height: "18px",
6670
6668
  borderRadius: "50%",
6671
- border: "2px solid var(--chatllm-primary, #4A90E2)",
6669
+ border: "2px solid var(--chatllm-primary, #3584FA)",
6672
6670
  borderTopColor: "transparent",
6673
6671
  animation: "chatllm-spin 0.8s linear infinite"
6674
6672
  }
@@ -6838,7 +6836,7 @@ var MarkdownRenderer = ({
6838
6836
  flushBlockquote();
6839
6837
  flushTable();
6840
6838
  return elements;
6841
- }, [content, onChoiceClick, sources]);
6839
+ }, [content, onChoiceClick, sources, showThinking, thinkingDefaultOpen]);
6842
6840
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
6843
6841
  "div",
6844
6842
  {
@@ -7236,7 +7234,10 @@ var PollCard = ({
7236
7234
  (0, import_react13.useEffect)(() => {
7237
7235
  if (typeof window === "undefined") return;
7238
7236
  const handleKeyDown = (e) => {
7239
- if (e.key === "Escape") handleSkip();
7237
+ if (e.key !== "Escape") return;
7238
+ const modalOpen = document.querySelector(".chatllm-settings-overlay, .chatllm-disclaimer-overlay, .chatllm-project-settings-overlay");
7239
+ if (modalOpen) return;
7240
+ handleSkip();
7240
7241
  };
7241
7242
  window.addEventListener("keydown", handleKeyDown);
7242
7243
  return () => window.removeEventListener("keydown", handleKeyDown);
@@ -7311,11 +7312,11 @@ var PollCard = ({
7311
7312
  padding: "12px 16px",
7312
7313
  backgroundColor: isActive ? "var(--chatllm-content-bg, #fff)" : "transparent",
7313
7314
  border: "none",
7314
- borderBottom: isActive ? "2px solid var(--chatllm-primary, #4A90E2)" : "2px solid transparent",
7315
+ borderBottom: isActive ? "2px solid var(--chatllm-primary, #3584FA)" : "2px solid transparent",
7315
7316
  cursor: "pointer",
7316
7317
  fontSize: "13px",
7317
7318
  fontWeight: isActive ? 600 : 500,
7318
- color: isActive ? "var(--chatllm-primary, #4A90E2)" : "var(--chatllm-text-muted, #64748b)",
7319
+ color: isActive ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-text-muted, #64748b)",
7319
7320
  display: "flex",
7320
7321
  alignItems: "center",
7321
7322
  justifyContent: "center",
@@ -7382,8 +7383,8 @@ var PollCard = ({
7382
7383
  alignItems: "flex-start",
7383
7384
  gap: "12px",
7384
7385
  padding: "12px 14px",
7385
- backgroundColor: isSelected ? "var(--chatllm-primary-light, rgba(74, 144, 226, 0.08))" : "transparent",
7386
- border: isSelected ? "1px solid var(--chatllm-primary, #4A90E2)" : "1px solid var(--chatllm-border, #e5e7eb)",
7386
+ backgroundColor: isSelected ? "var(--chatllm-primary-light, rgba(53, 132, 250, 0.08))" : "transparent",
7387
+ border: isSelected ? "1px solid var(--chatllm-primary, #3584FA)" : "1px solid var(--chatllm-border, #e5e7eb)",
7387
7388
  borderRadius: "8px",
7388
7389
  cursor: "pointer",
7389
7390
  textAlign: "left",
@@ -7400,8 +7401,8 @@ var PollCard = ({
7400
7401
  width: "20px",
7401
7402
  height: "20px",
7402
7403
  borderRadius: currentQuestion.multiSelect ? "4px" : "50%",
7403
- border: `2px solid ${isSelected ? "var(--chatllm-primary, #4A90E2)" : "var(--chatllm-border, #d1d5db)"}`,
7404
- backgroundColor: isSelected ? "var(--chatllm-primary, #4A90E2)" : "transparent",
7404
+ border: `2px solid ${isSelected ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-border, #d1d5db)"}`,
7405
+ backgroundColor: isSelected ? "var(--chatllm-primary, #3584FA)" : "transparent",
7405
7406
  display: "flex",
7406
7407
  alignItems: "center",
7407
7408
  justifyContent: "center",
@@ -7456,8 +7457,8 @@ var PollCard = ({
7456
7457
  alignItems: "center",
7457
7458
  gap: "12px",
7458
7459
  padding: "12px 14px",
7459
- backgroundColor: otherSelected[currentQuestion.id] ? "var(--chatllm-primary-light, rgba(74, 144, 226, 0.08))" : "transparent",
7460
- border: otherSelected[currentQuestion.id] ? "1px solid var(--chatllm-primary, #4A90E2)" : "1px solid var(--chatllm-border, #e5e7eb)",
7460
+ backgroundColor: otherSelected[currentQuestion.id] ? "var(--chatllm-primary-light, rgba(53, 132, 250, 0.08))" : "transparent",
7461
+ border: otherSelected[currentQuestion.id] ? "1px solid var(--chatllm-primary, #3584FA)" : "1px solid var(--chatllm-border, #e5e7eb)",
7461
7462
  borderRadius: "8px",
7462
7463
  cursor: "pointer",
7463
7464
  textAlign: "left",
@@ -7473,8 +7474,8 @@ var PollCard = ({
7473
7474
  width: "20px",
7474
7475
  height: "20px",
7475
7476
  borderRadius: currentQuestion.multiSelect ? "4px" : "50%",
7476
- border: `2px solid ${otherSelected[currentQuestion.id] ? "var(--chatllm-primary, #4A90E2)" : "var(--chatllm-border, #d1d5db)"}`,
7477
- backgroundColor: otherSelected[currentQuestion.id] ? "var(--chatllm-primary, #4A90E2)" : "transparent",
7477
+ border: `2px solid ${otherSelected[currentQuestion.id] ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-border, #d1d5db)"}`,
7478
+ backgroundColor: otherSelected[currentQuestion.id] ? "var(--chatllm-primary, #3584FA)" : "transparent",
7478
7479
  display: "flex",
7479
7480
  alignItems: "center",
7480
7481
  justifyContent: "center",
@@ -7549,7 +7550,7 @@ var PollCard = ({
7549
7550
  disabled: !currentHasSelection,
7550
7551
  style: {
7551
7552
  padding: "8px 20px",
7552
- backgroundColor: currentHasSelection ? "var(--chatllm-primary, #4A90E2)" : "var(--chatllm-bg-disabled, #e5e7eb)",
7553
+ backgroundColor: currentHasSelection ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-bg-disabled, #e5e7eb)",
7553
7554
  border: "none",
7554
7555
  borderRadius: "6px",
7555
7556
  color: currentHasSelection ? "#fff" : "var(--chatllm-text-muted, #94a3b8)",
@@ -7614,7 +7615,7 @@ var SkillProgressUI = ({
7614
7615
  marginTop: "8px",
7615
7616
  backgroundColor: isError ? "rgba(239, 68, 68, 0.08)" : "var(--chatllm-primary-light)",
7616
7617
  borderRadius: "12px",
7617
- border: `1px solid ${isError ? "rgba(239, 68, 68, 0.2)" : "rgba(74, 144, 226, 0.15)"}`
7618
+ border: `1px solid ${isError ? "rgba(239, 68, 68, 0.2)" : "rgba(53, 132, 250, 0.15)"}`
7618
7619
  },
7619
7620
  children: [
7620
7621
  isExecuting && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
@@ -7852,13 +7853,13 @@ var FileContentCard = ({ part }) => {
7852
7853
  width: "36px",
7853
7854
  height: "36px",
7854
7855
  borderRadius: "8px",
7855
- backgroundColor: "var(--chatllm-primary-light, rgba(74, 144, 226, 0.1))",
7856
+ backgroundColor: "var(--chatllm-primary-light, rgba(53, 132, 250, 0.1))",
7856
7857
  display: "flex",
7857
7858
  alignItems: "center",
7858
7859
  justifyContent: "center",
7859
7860
  flexShrink: 0
7860
7861
  },
7861
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconSvg, { name: getFileIcon(part.mimeType), size: 18, color: "var(--chatllm-primary, #4A90E2)" })
7862
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(IconSvg, { name: getFileIcon(part.mimeType), size: 18, color: "var(--chatllm-primary, #3584FA)" })
7862
7863
  }
7863
7864
  ),
7864
7865
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -7970,7 +7971,7 @@ var ToolStatusCard = ({
7970
7971
  width: 14,
7971
7972
  height: 14,
7972
7973
  borderRadius: "50%",
7973
- border: "2px solid var(--chatllm-primary, #4A90E2)",
7974
+ border: "2px solid var(--chatllm-primary, #3584FA)",
7974
7975
  borderTopColor: "transparent",
7975
7976
  animation: "chatllm-spin 1s linear infinite",
7976
7977
  flexShrink: 0
@@ -8208,13 +8209,6 @@ var MessageBubble = ({
8208
8209
  const displayContent = isAssistant && relevantAlternatives && relevantAlternatives.length > 0 && relevantActiveIndex > 0 ? relevantAlternatives[relevantActiveIndex - 1]?.content || message.content : message.content;
8209
8210
  const displayModel = isAssistant && relevantAlternatives && relevantAlternatives.length > 0 && relevantActiveIndex > 0 ? relevantAlternatives[relevantActiveIndex - 1]?.model : message.model;
8210
8211
  const displaySources = isAssistant && relevantAlternatives && relevantAlternatives.length > 0 && relevantActiveIndex > 0 ? relevantAlternatives[relevantActiveIndex - 1]?.sources : message.sources;
8211
- const handleMouseUp = () => {
8212
- if (!onQuote) return;
8213
- const selection = typeof window !== "undefined" ? window.getSelection() : null;
8214
- const text = selection?.toString().trim();
8215
- if (text && text.length > 0) {
8216
- }
8217
- };
8218
8212
  if (isUser) {
8219
8213
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
8220
8214
  "div",
@@ -8228,7 +8222,6 @@ var MessageBubble = ({
8228
8222
  },
8229
8223
  onMouseEnter: () => setShowActions(true),
8230
8224
  onMouseLeave: () => setShowActions(false),
8231
- onMouseUp: handleMouseUp,
8232
8225
  children: [
8233
8226
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
8234
8227
  "div",
@@ -8349,7 +8342,6 @@ var MessageBubble = ({
8349
8342
  },
8350
8343
  onMouseEnter: () => setShowActions(true),
8351
8344
  onMouseLeave: () => setShowActions(false),
8352
- onMouseUp: handleMouseUp,
8353
8345
  children: [
8354
8346
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
8355
8347
  "div",
@@ -8452,7 +8444,7 @@ var MessageBubble = ({
8452
8444
  ]
8453
8445
  }
8454
8446
  ),
8455
- message.contentParts?.length && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { wordBreak: "break-word" }, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
8447
+ !!message.contentParts?.length && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { style: { wordBreak: "break-word" }, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
8456
8448
  ContentPartRenderer,
8457
8449
  {
8458
8450
  parts: message.contentParts,
@@ -8646,7 +8638,7 @@ var MessageBubble = ({
8646
8638
  backgroundColor: "var(--chatllm-primary-light, #eff6ff)",
8647
8639
  borderRadius: "8px",
8648
8640
  fontSize: "13px",
8649
- color: "var(--chatllm-primary, #2563eb)"
8641
+ color: "var(--chatllm-primary, #3584FA)"
8650
8642
  },
8651
8643
  children: [
8652
8644
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { style: { display: "flex", gap: "4px", alignItems: "center" }, children: [
@@ -9089,6 +9081,9 @@ var SettingsModal = ({
9089
9081
  }) => {
9090
9082
  const [activeTab, setActiveTab] = (0, import_react18.useState)("general");
9091
9083
  const [localApiKey, setLocalApiKey] = (0, import_react18.useState)(apiKey);
9084
+ (0, import_react18.useEffect)(() => {
9085
+ setLocalApiKey(apiKey);
9086
+ }, [apiKey]);
9092
9087
  if (!isOpen) return null;
9093
9088
  const updateResponseStyle = (key, value) => {
9094
9089
  onPersonalizationChange({
@@ -9372,7 +9367,7 @@ var SettingsModal = ({
9372
9367
  onClick: onSave,
9373
9368
  style: {
9374
9369
  padding: "10px 24px",
9375
- backgroundColor: "var(--chatllm-primary, #4A90E2)",
9370
+ backgroundColor: "var(--chatllm-primary, #3584FA)",
9376
9371
  color: "#fff",
9377
9372
  border: "none",
9378
9373
  borderRadius: "8px",
@@ -9417,7 +9412,7 @@ var SettingsModal = ({
9417
9412
  width: "48px",
9418
9413
  height: "28px",
9419
9414
  borderRadius: "14px",
9420
- backgroundColor: personalization.useMemory ? "var(--chatllm-primary, #3b82f6)" : "var(--chatllm-text-muted, #d1d5db)",
9415
+ backgroundColor: personalization.useMemory ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-text-muted, #d1d5db)",
9421
9416
  border: "none",
9422
9417
  cursor: "pointer",
9423
9418
  position: "relative",
@@ -9475,7 +9470,7 @@ var TabButton = ({ active, onClick, icon, label }) => /* @__PURE__ */ (0, import
9475
9470
  border: "none",
9476
9471
  backgroundColor: active ? "var(--chatllm-bg, #ffffff)" : "transparent",
9477
9472
  boxShadow: active ? "0 1px 3px rgba(0, 0, 0, 0.08)" : "none",
9478
- color: active ? "var(--chatllm-primary, #3b82f6)" : "var(--chatllm-text-muted, #6b7280)",
9473
+ color: active ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-text-muted, #6b7280)",
9479
9474
  fontSize: "14px",
9480
9475
  cursor: "pointer",
9481
9476
  textAlign: "left",
@@ -9589,8 +9584,8 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
9589
9584
  fontSize: "13px",
9590
9585
  fontWeight: activeFilter === tab ? 500 : 400,
9591
9586
  backgroundColor: activeFilter === tab ? "var(--chatllm-primary-light, #dbeafe)" : "var(--chatllm-bg-secondary, #f9fafb)",
9592
- color: activeFilter === tab ? "var(--chatllm-primary, #3b82f6)" : "var(--chatllm-text-muted, #6b7280)",
9593
- border: "1px solid " + (activeFilter === tab ? "var(--chatllm-primary, #3b82f6)" : "var(--chatllm-border, #e5e7eb)"),
9587
+ color: activeFilter === tab ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-text-muted, #6b7280)",
9588
+ border: "1px solid " + (activeFilter === tab ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-border, #e5e7eb)"),
9594
9589
  borderRadius: "8px",
9595
9590
  cursor: "pointer"
9596
9591
  },
@@ -9606,12 +9601,12 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
9606
9601
  marginBottom: "16px",
9607
9602
  backgroundColor: "var(--chatllm-bg-secondary, #f9fafb)",
9608
9603
  borderRadius: "10px",
9609
- borderLeft: "3px solid var(--chatllm-primary, #3b82f6)"
9604
+ borderLeft: "3px solid var(--chatllm-primary, #3584FA)"
9610
9605
  },
9611
9606
  children: [
9612
9607
  /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "6px", marginBottom: "8px" }, children: [
9613
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(IconSvg, { name: "file-text-line", size: 14, color: "var(--chatllm-primary, #3b82f6)" }),
9614
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { fontSize: "12px", fontWeight: 500, color: "var(--chatllm-primary, #3b82f6)" }, children: "\uB300\uD654 \uC694\uC57D" })
9608
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(IconSvg, { name: "file-text-line", size: 14, color: "var(--chatllm-primary, #3584FA)" }),
9609
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { style: { fontSize: "12px", fontWeight: 500, color: "var(--chatllm-primary, #3584FA)" }, children: "\uB300\uD654 \uC694\uC57D" })
9615
9610
  ] }),
9616
9611
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { style: { fontSize: "13px", lineHeight: "1.6", color: "var(--chatllm-text, #374151)", margin: 0 }, children: contextSummary })
9617
9612
  ]
@@ -9731,7 +9726,7 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
9731
9726
  var import_react19 = require("react");
9732
9727
  var import_jsx_runtime18 = require("react/jsx-runtime");
9733
9728
  var COLOR_PRESETS = [
9734
- "#2563eb",
9729
+ "#3584FA",
9735
9730
  "#7c3aed",
9736
9731
  "#db2777",
9737
9732
  "#dc2626",
@@ -9753,13 +9748,13 @@ var ProjectSettingsModal = ({
9753
9748
  const [title, setTitle] = (0, import_react19.useState)("");
9754
9749
  const [description, setDescription] = (0, import_react19.useState)("");
9755
9750
  const [instructions, setInstructions] = (0, import_react19.useState)("");
9756
- const [color, setColor] = (0, import_react19.useState)("#2563eb");
9751
+ const [color, setColor] = (0, import_react19.useState)("#3584FA");
9757
9752
  (0, import_react19.useEffect)(() => {
9758
9753
  if (project) {
9759
9754
  setTitle(project.title);
9760
9755
  setDescription(project.description || "");
9761
9756
  setInstructions(project.instructions || "");
9762
- setColor(project.color || "#2563eb");
9757
+ setColor(project.color || "#3584FA");
9763
9758
  }
9764
9759
  }, [project]);
9765
9760
  if (!isOpen || !project) return null;
@@ -9802,8 +9797,8 @@ var ProjectSettingsModal = ({
9802
9797
  padding: "8px 16px",
9803
9798
  fontSize: "13px",
9804
9799
  fontWeight: activeTab === tab ? 600 : 400,
9805
- color: activeTab === tab ? "var(--chatllm-primary, #2563eb)" : "var(--chatllm-text-muted, #999)",
9806
- borderBottom: activeTab === tab ? "2px solid var(--chatllm-primary, #2563eb)" : "2px solid transparent",
9800
+ color: activeTab === tab ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-text-muted, #999)",
9801
+ borderBottom: activeTab === tab ? "2px solid var(--chatllm-primary, #3584FA)" : "2px solid transparent",
9807
9802
  background: "none",
9808
9803
  border: "none",
9809
9804
  borderBottomStyle: "solid",
@@ -9990,7 +9985,7 @@ var ProjectSettingsModal = ({
9990
9985
  padding: "8px 20px",
9991
9986
  borderRadius: "6px",
9992
9987
  border: "none",
9993
- backgroundColor: "var(--chatllm-primary, #2563eb)",
9988
+ backgroundColor: "var(--chatllm-primary, #3584FA)",
9994
9989
  color: "#fff",
9995
9990
  fontSize: "13px",
9996
9991
  fontWeight: 500,
@@ -10033,7 +10028,7 @@ var ProjectSettingsModal = ({
10033
10028
  padding: "8px 20px",
10034
10029
  borderRadius: "6px",
10035
10030
  border: "none",
10036
- backgroundColor: "var(--chatllm-primary, #2563eb)",
10031
+ backgroundColor: "var(--chatllm-primary, #3584FA)",
10037
10032
  color: "#fff",
10038
10033
  fontSize: "13px",
10039
10034
  fontWeight: 500,
@@ -10208,7 +10203,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
10208
10203
  },
10209
10204
  children: [
10210
10205
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
10211
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconSvg, { name: "error-warning-line", size: 20, color: "var(--chatllm-primary, #4A90E2)" }),
10206
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconSvg, { name: "error-warning-line", size: 20, color: "var(--chatllm-primary, #3584FA)" }),
10212
10207
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
10213
10208
  "h2",
10214
10209
  {
@@ -10267,7 +10262,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
10267
10262
  padding: "14px 16px",
10268
10263
  backgroundColor: "var(--chatllm-primary-light, #eff6ff)",
10269
10264
  borderRadius: "10px",
10270
- borderLeft: "3px solid var(--chatllm-primary, #4A90E2)",
10265
+ borderLeft: "3px solid var(--chatllm-primary, #3584FA)",
10271
10266
  marginBottom: "16px",
10272
10267
  fontSize: "13px",
10273
10268
  lineHeight: 1.7
@@ -10318,7 +10313,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
10318
10313
  {
10319
10314
  href: "mailto:info@gendive.ai",
10320
10315
  style: {
10321
- color: "var(--chatllm-primary, #4A90E2)",
10316
+ color: "var(--chatllm-primary, #3584FA)",
10322
10317
  textDecoration: "none",
10323
10318
  fontWeight: 600
10324
10319
  },
@@ -10396,9 +10391,9 @@ var injectStyles = () => {
10396
10391
  }
10397
10392
 
10398
10393
  .chatllm-root {
10399
- --chatllm-primary: #4A90E2;
10400
- --chatllm-primary-hover: #357ABD;
10401
- --chatllm-primary-light: rgba(74, 144, 226, 0.1);
10394
+ --chatllm-primary: #3584FA;
10395
+ --chatllm-primary-hover: #2D70D5;
10396
+ --chatllm-primary-light: rgba(53, 132, 250, 0.1);
10402
10397
  --chatllm-bg: #F5F5F5;
10403
10398
  --chatllm-bg-secondary: #F5F5F5;
10404
10399
  --chatllm-bg-tertiary: #EDEDED;
@@ -10423,9 +10418,9 @@ var injectStyles = () => {
10423
10418
  }
10424
10419
 
10425
10420
  .chatllm-root.chatllm-dark {
10426
- --chatllm-primary: #60a5fa;
10427
- --chatllm-primary-hover: #3b82f6;
10428
- --chatllm-primary-light: rgba(96, 165, 250, 0.15);
10421
+ --chatllm-primary: #3584FA;
10422
+ --chatllm-primary-hover: #2D70D5;
10423
+ --chatllm-primary-light: rgba(53, 132, 250, 0.15);
10429
10424
  --chatllm-bg: #0f172a;
10430
10425
  --chatllm-bg-secondary: #1e293b;
10431
10426
  --chatllm-bg-tertiary: #334155;
@@ -10490,8 +10485,8 @@ var injectStyles = () => {
10490
10485
  }
10491
10486
 
10492
10487
  .chatllm-input-container:focus-within {
10493
- border-color: rgba(74, 144, 226, 0.3);
10494
- box-shadow: var(--chatllm-shadow-input), 0 0 0 4px rgba(74, 144, 226, 0.05);
10488
+ border-color: rgba(53, 132, 250, 0.3);
10489
+ box-shadow: var(--chatllm-shadow-input), 0 0 0 4px rgba(53, 132, 250, 0.05);
10495
10490
  }
10496
10491
 
10497
10492
  .chatllm-dot-bounce {
@@ -10554,7 +10549,7 @@ var injectStyles = () => {
10554
10549
  border-radius: var(--chatllm-radius);
10555
10550
  font-weight: 600;
10556
10551
  transition: all 0.2s ease;
10557
- box-shadow: 0 2px 8px rgba(74, 144, 226, 0.25);
10552
+ box-shadow: 0 2px 8px rgba(53, 132, 250, 0.25);
10558
10553
  }
10559
10554
 
10560
10555
  .chatllm-btn-primary:hover {
@@ -10577,7 +10572,7 @@ var injectStyles = () => {
10577
10572
 
10578
10573
  .chatllm-btn-secondary:hover {
10579
10574
  background: var(--chatllm-bg-hover);
10580
- border-color: rgba(74, 144, 226, 0.3);
10575
+ border-color: rgba(53, 132, 250, 0.3);
10581
10576
  }
10582
10577
  `;
10583
10578
  document.head.appendChild(style);
@@ -11661,9 +11656,9 @@ var MemoryPanel = ({
11661
11656
  width: "48px",
11662
11657
  height: "48px",
11663
11658
  borderRadius: "50%",
11664
- backgroundColor: "var(--chatllm-primary, #3b82f6)",
11659
+ backgroundColor: "var(--chatllm-primary, #3584FA)",
11665
11660
  border: "none",
11666
- boxShadow: "0 4px 12px rgba(59, 130, 246, 0.3)",
11661
+ boxShadow: "0 4px 12px rgba(53, 132, 250, 0.3)",
11667
11662
  cursor: "pointer",
11668
11663
  display: "flex",
11669
11664
  alignItems: "center",
@@ -11718,7 +11713,7 @@ var MemoryPanel = ({
11718
11713
  alignItems: "center",
11719
11714
  justifyContent: "center"
11720
11715
  },
11721
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(IconSvg, { name: "robot-line", size: 18, color: "var(--chatllm-primary, #3b82f6)" })
11716
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(IconSvg, { name: "robot-line", size: 18, color: "var(--chatllm-primary, #3584FA)" })
11722
11717
  }
11723
11718
  ),
11724
11719
  /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
@@ -11782,7 +11777,7 @@ var MemoryPanel = ({
11782
11777
  fontSize: "13px",
11783
11778
  fontWeight: activeTab === tab ? 500 : 400,
11784
11779
  backgroundColor: activeTab === tab ? "var(--chatllm-primary-light, #dbeafe)" : "transparent",
11785
- color: activeTab === tab ? "var(--chatllm-primary, #3b82f6)" : "var(--chatllm-text-muted, #6b7280)",
11780
+ color: activeTab === tab ? "var(--chatllm-primary, #3584FA)" : "var(--chatllm-text-muted, #6b7280)",
11786
11781
  border: "none",
11787
11782
  borderRadius: "6px",
11788
11783
  cursor: "pointer",
@@ -11803,7 +11798,7 @@ var MemoryPanel = ({
11803
11798
  marginBottom: "12px",
11804
11799
  backgroundColor: "var(--chatllm-bg-secondary, #f9fafb)",
11805
11800
  borderRadius: "10px",
11806
- borderLeft: "3px solid var(--chatllm-primary, #3b82f6)"
11801
+ borderLeft: "3px solid var(--chatllm-primary, #3584FA)"
11807
11802
  },
11808
11803
  children: [
11809
11804
  /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
@@ -11816,8 +11811,8 @@ var MemoryPanel = ({
11816
11811
  marginBottom: "8px"
11817
11812
  },
11818
11813
  children: [
11819
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(IconSvg, { name: "file-text-line", size: 14, color: "var(--chatllm-primary, #3b82f6)" }),
11820
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { style: { fontSize: "12px", fontWeight: 500, color: "var(--chatllm-primary, #3b82f6)" }, children: "\uB300\uD654 \uC694\uC57D" })
11814
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(IconSvg, { name: "file-text-line", size: 14, color: "var(--chatllm-primary, #3584FA)" }),
11815
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { style: { fontSize: "12px", fontWeight: 500, color: "var(--chatllm-primary, #3584FA)" }, children: "\uB300\uD654 \uC694\uC57D" })
11821
11816
  ]
11822
11817
  }
11823
11818
  ),