@gendive/chatllm 0.17.6 → 0.17.7

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.
@@ -6425,6 +6425,7 @@ var MarkdownRenderer = ({
6425
6425
  } else {
6426
6426
  processedContent = processedContent.replace(UNCLOSED_THINKING_TAG_REGEX, "");
6427
6427
  }
6428
+ processedContent = processedContent.replace(/<poll[^>]*>[\s\S]*?<\/poll>/gi, "");
6428
6429
  processedContent = processedContent.replace(UNCLOSED_POLL_TAG_REGEX, "");
6429
6430
  processedContent = processedContent.replace(UNCLOSED_SKILL_TAG_REGEX, "");
6430
6431
  const codeBlocks = [];
@@ -10110,8 +10111,133 @@ var ProjectSettingsModal = ({
10110
10111
  );
10111
10112
  };
10112
10113
 
10113
- // src/react/ChatUI.tsx
10114
+ // src/react/components/DisclaimerModal.tsx
10114
10115
  import { jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
10116
+ var DisclaimerModal = ({ isOpen, onClose }) => {
10117
+ if (!isOpen) return null;
10118
+ return /* @__PURE__ */ jsx20(
10119
+ "div",
10120
+ {
10121
+ className: "chatllm-disclaimer-overlay",
10122
+ style: {
10123
+ position: "fixed",
10124
+ inset: 0,
10125
+ backgroundColor: "rgba(0, 0, 0, 0.3)",
10126
+ display: "flex",
10127
+ alignItems: "center",
10128
+ justifyContent: "center",
10129
+ zIndex: 1e3
10130
+ },
10131
+ onClick: onClose,
10132
+ children: /* @__PURE__ */ jsxs19(
10133
+ "div",
10134
+ {
10135
+ className: "chatllm-disclaimer-modal",
10136
+ style: {
10137
+ backgroundColor: "var(--chatllm-bg, #ffffff)",
10138
+ borderRadius: "16px",
10139
+ width: "100%",
10140
+ maxWidth: "560px",
10141
+ maxHeight: "80vh",
10142
+ margin: "16px",
10143
+ boxShadow: "0 20px 60px rgba(0, 0, 0, 0.15)",
10144
+ display: "flex",
10145
+ flexDirection: "column",
10146
+ overflow: "hidden"
10147
+ },
10148
+ onClick: (e) => e.stopPropagation(),
10149
+ children: [
10150
+ /* @__PURE__ */ jsxs19(
10151
+ "div",
10152
+ {
10153
+ style: {
10154
+ display: "flex",
10155
+ alignItems: "center",
10156
+ justifyContent: "space-between",
10157
+ padding: "20px 24px 16px",
10158
+ borderBottom: "1px solid var(--chatllm-border, #e5e7eb)"
10159
+ },
10160
+ children: [
10161
+ /* @__PURE__ */ jsxs19("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
10162
+ /* @__PURE__ */ jsx20(IconSvg, { name: "error-warning-line", size: 20, color: "var(--chatllm-text-muted, #64748b)" }),
10163
+ /* @__PURE__ */ jsx20(
10164
+ "h2",
10165
+ {
10166
+ style: {
10167
+ margin: 0,
10168
+ fontSize: "16px",
10169
+ fontWeight: 600,
10170
+ color: "var(--chatllm-text, #1e293b)"
10171
+ },
10172
+ children: "AI \uC751\uB2F5\uC5D0 \uB300\uD55C \uC548\uB0B4"
10173
+ }
10174
+ )
10175
+ ] }),
10176
+ /* @__PURE__ */ jsx20(
10177
+ "button",
10178
+ {
10179
+ onClick: onClose,
10180
+ "aria-label": "\uB2EB\uAE30",
10181
+ style: {
10182
+ background: "none",
10183
+ border: "none",
10184
+ cursor: "pointer",
10185
+ padding: "4px",
10186
+ borderRadius: "6px",
10187
+ display: "flex",
10188
+ alignItems: "center",
10189
+ justifyContent: "center"
10190
+ },
10191
+ children: /* @__PURE__ */ jsx20(IconSvg, { name: "close-line", size: 20, color: "var(--chatllm-text-muted, #64748b)" })
10192
+ }
10193
+ )
10194
+ ]
10195
+ }
10196
+ ),
10197
+ /* @__PURE__ */ jsxs19(
10198
+ "div",
10199
+ {
10200
+ className: "chatllm-scrollbar",
10201
+ style: {
10202
+ padding: "20px 24px 24px",
10203
+ overflow: "auto",
10204
+ fontSize: "14px",
10205
+ lineHeight: 1.7,
10206
+ color: "var(--chatllm-text-secondary, #475569)"
10207
+ },
10208
+ children: [
10209
+ /* @__PURE__ */ jsx20("p", { style: { margin: "0 0 14px" }, children: "AI \uCC44\uD305\uC740 \uC0AC\uC6A9\uC790\uB97C \uB3D5\uAE30 \uC704\uD574 \uC124\uACC4\uB418\uC5C8\uC9C0\uB9CC, \uACBD\uC6B0\uC5D0 \uB530\uB77C \uBD80\uC815\uD655\uD558\uAC70\uB098 \uC624\uD574\uC758 \uC18C\uC9C0\uAC00 \uC788\uB294 \uB2F5\uBCC0\uC744 \uC81C\uACF5\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4." }),
10210
+ /* @__PURE__ */ jsx20("p", { style: { margin: "0 0 14px" }, children: "\uC774\uB7EC\uD55C \uD604\uC0C1\uC740 \uD754\uD788 '\uD658\uAC01(hallucination)'\uC774\uB77C\uACE0 \uBD88\uB9AC\uBA70, AI \uCC44\uD305\uACFC \uAC19\uC740 \uCD5C\uC2E0 \uC0DD\uC131\uD615 AI \uAE30\uC220\uC774 \uC544\uC9C1 \uAC00\uC9C0\uACE0 \uC788\uB294 \uD55C\uACC4\uC5D0\uC11C \uBE44\uB86F\uB429\uB2C8\uB2E4. \uC608\uB97C \uB4E4\uC5B4, \uC77C\uBD80 \uC8FC\uC81C\uC5D0 \uB300\uD574\uC11C\uB294 \uCD5C\uC2E0 \uC815\uBCF4\uAE4C\uC9C0 \uD559\uC2B5\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC744 \uC218 \uC788\uC73C\uBA70, \uC2DC\uC0AC\uC801\uC778 \uC774\uC288\uB098 \uBE60\uB974\uAC8C \uBCC0\uD654\uD558\uB294 \uB0B4\uC6A9\uC5D0 \uB300\uD574\uC11C\uB294 \uD63C\uB780\uC2A4\uB7EC\uC6B4 \uB2F5\uBCC0\uC744 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uB610\uD55C, \uC0AC\uC2E4\uC5D0 \uADFC\uAC70\uD558\uC9C0 \uC54A\uC558\uC74C\uC5D0\uB3C4 \uBD88\uAD6C\uD558\uACE0 \uAC89\uBCF4\uAE30\uC5D0\uB294 \uADF8\uB7F4\uB4EF\uD558\uAC70\uB098 \uAD8C\uC704 \uC788\uC5B4 \uBCF4\uC774\uB294 \uC124\uBA85\uC774\uB098 \uC778\uC6A9\uC744 \uC81C\uC2DC\uD558\uB294 \uACBD\uC6B0\uB3C4 \uC788\uC2B5\uB2C8\uB2E4. \uC989, \uB2F5\uBCC0\uC774 \uB9DE\uB294 \uAC83\uCC98\uB7FC \uBCF4\uC774\uB354\uB77C\uB3C4 \uC2E4\uC81C\uB85C\uB294 \uC815\uD655\uD558\uC9C0 \uC54A\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4." }),
10211
+ /* @__PURE__ */ jsx20("p", { style: { margin: "0 0 14px" }, children: "\uB530\uB77C\uC11C AI \uCC44\uD305\uC758 \uB2F5\uBCC0\uC744 \uC808\uB300\uC801\uC778 \uC0AC\uC2E4\uB85C \uBC1B\uC544\uB4E4\uC774\uAE30\uBCF4\uB2E4\uB294 \uCC38\uACE0 \uC790\uB8CC\uB85C \uD65C\uC6A9\uD558\uC2DC\uACE0, \uC911\uC694\uD55C \uD310\uB2E8\uC774\uB098 \uC758\uC0AC\uACB0\uC815\uC5D0 \uC55E\uC11C\uC11C\uB294 \uBC18\uB4DC\uC2DC \uCD94\uAC00\uC801\uC778 \uD655\uC778\uACFC \uAC80\uD1A0\uB97C \uAD8C\uC7A5\uB4DC\uB9BD\uB2C8\uB2E4." }),
10212
+ /* @__PURE__ */ jsx20("p", { style: { margin: "0 0 14px" }, children: "\uC6F9 \uAC80\uC0C9 \uACB0\uACFC\uB97C \uD65C\uC6A9\uD558\uB294 \uACBD\uC6B0\uC5D0\uB3C4, AI \uCC44\uD305\uC774 \uC81C\uC2DC\uD55C \uCD9C\uCC98\uB97C \uC9C1\uC811 \uD655\uC778\uD574 \uBCF4\uC2DC\uB294 \uAC83\uC774 \uC88B\uC2B5\uB2C8\uB2E4. \uC6D0\uBCF8 \uC6F9\uC0AC\uC774\uD2B8\uC5D0\uB294 AI\uC758 \uC694\uC57D\uC774\uB098 \uBD84\uC11D \uACFC\uC815\uC5D0\uC11C \uC0DD\uB7B5\uB41C \uC911\uC694\uD55C \uB9E5\uB77D\uC774\uB098 \uC138\uBD80 \uC815\uBCF4\uAC00 \uD3EC\uD568\uB418\uC5B4 \uC788\uC744 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC6D0\uBB38\uC744 \uD568\uAED8 \uC0B4\uD3B4\uBCF4\uBA74 \uC815\uBCF4\uAC00 \uACFC\uB3C4\uD558\uAC8C \uB2E8\uC21C\uD654\uB418\uAC70\uB098 \uC624\uD574\uB420 \uAC00\uB2A5\uC131\uC744 \uC904\uC774\uB294 \uB370 \uB3C4\uC6C0\uC774 \uB429\uB2C8\uB2E4." }),
10213
+ /* @__PURE__ */ jsxs19("p", { style: { margin: 0 }, children: [
10214
+ "\uB9CC\uC57D \uD2B9\uC815 \uB2F5\uBCC0\uC774 \uCDA9\uBD84\uD788 \uB3C4\uC6C0\uC774 \uB418\uC9C0 \uC54A\uC558\uAC70\uB098 \uAC1C\uC120\uC774 \uD544\uC694\uD558\uB2E4\uACE0 \uB290\uB07C\uC2E0\uB2E4\uBA74, \uC5B8\uC81C\uB4E0\uC9C0 \uC758\uACAC\uC774\uB098 \uC81C\uC548 \uC0AC\uD56D\uC744",
10215
+ " ",
10216
+ /* @__PURE__ */ jsx20(
10217
+ "a",
10218
+ {
10219
+ href: "mailto:info@gendive.ai",
10220
+ style: {
10221
+ color: "var(--chatllm-primary, #4A90E2)",
10222
+ textDecoration: "none"
10223
+ },
10224
+ children: "info@gendive.ai"
10225
+ }
10226
+ ),
10227
+ "\uB85C \uBCF4\uB0B4\uC8FC\uC138\uC694. \uB354 \uB098\uC740 \uC11C\uBE44\uC2A4\uB97C \uC81C\uACF5\uD558\uB294 \uB370 \uD070 \uB3C4\uC6C0\uC774 \uB429\uB2C8\uB2E4."
10228
+ ] })
10229
+ ]
10230
+ }
10231
+ )
10232
+ ]
10233
+ }
10234
+ )
10235
+ }
10236
+ );
10237
+ };
10238
+
10239
+ // src/react/ChatUI.tsx
10240
+ import { jsx as jsx21, jsxs as jsxs20 } from "react/jsx-runtime";
10115
10241
  var DEFAULT_ACTIONS = [];
10116
10242
  var DEFAULT_TEMPLATES = [];
10117
10243
  var DEFAULT_MODELS = [
@@ -10425,6 +10551,7 @@ var ChatUIView = ({
10425
10551
  projectMemory,
10426
10552
  isSessionsLoading
10427
10553
  } = state;
10554
+ const [disclaimerOpen, setDisclaimerOpen] = React15.useState(false);
10428
10555
  const greeting = currentPersonalization.userProfile.nickname ? `\uC548\uB155\uD558\uC138\uC694, ${currentPersonalization.userProfile.nickname}\uB2D8` : "\uC548\uB155\uD558\uC138\uC694";
10429
10556
  const handleTemplateClick = (template) => {
10430
10557
  setInput(template.prompt);
@@ -10467,7 +10594,7 @@ var ChatUIView = ({
10467
10594
  return items;
10468
10595
  }, [projectMemory?.state.entries]);
10469
10596
  const themeClass = theme?.mode === "dark" ? "chatllm-dark" : "";
10470
- return /* @__PURE__ */ jsxs19(
10597
+ return /* @__PURE__ */ jsxs20(
10471
10598
  "div",
10472
10599
  {
10473
10600
  className: `chatllm-root ${themeClass} ${className}`,
@@ -10480,7 +10607,7 @@ var ChatUIView = ({
10480
10607
  position: "relative"
10481
10608
  },
10482
10609
  children: [
10483
- showSidebar && /* @__PURE__ */ jsx20(
10610
+ showSidebar && /* @__PURE__ */ jsx21(
10484
10611
  ChatSidebar,
10485
10612
  {
10486
10613
  sessions,
@@ -10512,7 +10639,7 @@ var ChatUIView = ({
10512
10639
  isLoading: isSessionsLoading
10513
10640
  }
10514
10641
  ),
10515
- /* @__PURE__ */ jsxs19(
10642
+ /* @__PURE__ */ jsxs20(
10516
10643
  "main",
10517
10644
  {
10518
10645
  style: {
@@ -10524,7 +10651,7 @@ var ChatUIView = ({
10524
10651
  minWidth: 0
10525
10652
  },
10526
10653
  children: [
10527
- /* @__PURE__ */ jsx20(
10654
+ /* @__PURE__ */ jsx21(
10528
10655
  ChatHeader,
10529
10656
  {
10530
10657
  title: currentSession?.title || "\uC0C8 \uB300\uD654",
@@ -10538,7 +10665,7 @@ var ChatUIView = ({
10538
10665
  showSettings
10539
10666
  }
10540
10667
  ),
10541
- messages.length === 0 ? /* @__PURE__ */ jsx20(
10668
+ messages.length === 0 ? /* @__PURE__ */ jsx21(
10542
10669
  EmptyState,
10543
10670
  {
10544
10671
  greeting,
@@ -10547,7 +10674,7 @@ var ChatUIView = ({
10547
10674
  actions,
10548
10675
  onActionSelect: handleActionSelect
10549
10676
  }
10550
- ) : /* @__PURE__ */ jsx20(
10677
+ ) : /* @__PURE__ */ jsx21(
10551
10678
  MessageList,
10552
10679
  {
10553
10680
  messages,
@@ -10569,7 +10696,7 @@ var ChatUIView = ({
10569
10696
  onPollSubmit: handlePollSubmit
10570
10697
  }
10571
10698
  ),
10572
- /* @__PURE__ */ jsx20(
10699
+ /* @__PURE__ */ jsx21(
10573
10700
  ChatInput,
10574
10701
  {
10575
10702
  value: input,
@@ -10594,11 +10721,37 @@ var ChatUIView = ({
10594
10721
  onFileAttach: addAttachments,
10595
10722
  onRemoveAttachment: removeAttachment
10596
10723
  }
10724
+ ),
10725
+ /* @__PURE__ */ jsx21(
10726
+ "div",
10727
+ {
10728
+ style: {
10729
+ textAlign: "center",
10730
+ padding: "6px 0 10px",
10731
+ flexShrink: 0
10732
+ },
10733
+ children: /* @__PURE__ */ jsx21(
10734
+ "button",
10735
+ {
10736
+ onClick: () => setDisclaimerOpen(true),
10737
+ style: {
10738
+ background: "none",
10739
+ border: "none",
10740
+ cursor: "pointer",
10741
+ fontSize: "12px",
10742
+ color: "var(--chatllm-text-muted, #94a3b8)",
10743
+ padding: "2px 8px",
10744
+ textDecoration: "none"
10745
+ },
10746
+ children: "AI\uB294 \uC2E4\uC218\uB97C \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4."
10747
+ }
10748
+ )
10749
+ }
10597
10750
  )
10598
10751
  ]
10599
10752
  }
10600
10753
  ),
10601
- showSettings && /* @__PURE__ */ jsx20(
10754
+ showSettings && /* @__PURE__ */ jsx21(
10602
10755
  SettingsModal,
10603
10756
  {
10604
10757
  isOpen: settingsOpen,
@@ -10624,7 +10777,7 @@ var ChatUIView = ({
10624
10777
  currentProjectTitle: currentProject?.title
10625
10778
  }
10626
10779
  ),
10627
- /* @__PURE__ */ jsx20(
10780
+ /* @__PURE__ */ jsx21(
10628
10781
  ProjectSettingsModal,
10629
10782
  {
10630
10783
  isOpen: projectSettingsOpen,
@@ -10635,7 +10788,8 @@ var ChatUIView = ({
10635
10788
  onDeleteFile: deleteProjectFile,
10636
10789
  onDeleteProject: deleteProject
10637
10790
  }
10638
- )
10791
+ ),
10792
+ /* @__PURE__ */ jsx21(DisclaimerModal, { isOpen: disclaimerOpen, onClose: () => setDisclaimerOpen(false) })
10639
10793
  ]
10640
10794
  }
10641
10795
  );
@@ -10736,7 +10890,7 @@ var ChatUIWithHook = ({
10736
10890
  onDeleteProjectFile
10737
10891
  };
10738
10892
  const state = useChatUI(hookOptions);
10739
- return /* @__PURE__ */ jsx20(
10893
+ return /* @__PURE__ */ jsx21(
10740
10894
  ChatUIView,
10741
10895
  {
10742
10896
  state,
@@ -10780,7 +10934,7 @@ var ChatUI = (props) => {
10780
10934
  onApiKeyChange,
10781
10935
  deepResearch
10782
10936
  } = props;
10783
- return /* @__PURE__ */ jsx20(
10937
+ return /* @__PURE__ */ jsx21(
10784
10938
  ChatUIView,
10785
10939
  {
10786
10940
  state: props.chatState,
@@ -10803,7 +10957,7 @@ var ChatUI = (props) => {
10803
10957
  }
10804
10958
  );
10805
10959
  }
10806
- return /* @__PURE__ */ jsx20(ChatUIWithHook, { ...props });
10960
+ return /* @__PURE__ */ jsx21(ChatUIWithHook, { ...props });
10807
10961
  };
10808
10962
 
10809
10963
  // src/react/hooks/useDeepResearch.ts
@@ -11122,7 +11276,7 @@ var useDeepResearch = (options) => {
11122
11276
 
11123
11277
  // src/react/components/MemoryPanel.tsx
11124
11278
  import { useState as useState19 } from "react";
11125
- import { jsx as jsx21, jsxs as jsxs20 } from "react/jsx-runtime";
11279
+ import { jsx as jsx22, jsxs as jsxs21 } from "react/jsx-runtime";
11126
11280
  var categoryLabels = {
11127
11281
  fact: "\uC0AC\uC6A9\uC790 \uC815\uBCF4",
11128
11282
  skill: "\uC804\uBB38 \uBD84\uC57C/\uAE30\uC220",
@@ -11154,7 +11308,7 @@ var MemoryPanel = ({
11154
11308
  });
11155
11309
  };
11156
11310
  if (!isOpen) {
11157
- return /* @__PURE__ */ jsx21(
11311
+ return /* @__PURE__ */ jsx22(
11158
11312
  "button",
11159
11313
  {
11160
11314
  onClick: onToggle,
@@ -11174,11 +11328,11 @@ var MemoryPanel = ({
11174
11328
  justifyContent: "center",
11175
11329
  zIndex: 100
11176
11330
  },
11177
- children: /* @__PURE__ */ jsx21(IconSvg, { name: "robot-line", size: 24, color: "#ffffff" })
11331
+ children: /* @__PURE__ */ jsx22(IconSvg, { name: "robot-line", size: 24, color: "#ffffff" })
11178
11332
  }
11179
11333
  );
11180
11334
  }
11181
- return /* @__PURE__ */ jsxs20(
11335
+ return /* @__PURE__ */ jsxs21(
11182
11336
  "div",
11183
11337
  {
11184
11338
  className: "chatllm-memory-panel",
@@ -11198,7 +11352,7 @@ var MemoryPanel = ({
11198
11352
  zIndex: 100
11199
11353
  },
11200
11354
  children: [
11201
- /* @__PURE__ */ jsxs20(
11355
+ /* @__PURE__ */ jsxs21(
11202
11356
  "div",
11203
11357
  {
11204
11358
  style: {
@@ -11209,8 +11363,8 @@ var MemoryPanel = ({
11209
11363
  borderBottom: "1px solid var(--chatllm-border, #e5e7eb)"
11210
11364
  },
11211
11365
  children: [
11212
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", alignItems: "center", gap: "10px" }, children: [
11213
- /* @__PURE__ */ jsx21(
11366
+ /* @__PURE__ */ jsxs21("div", { style: { display: "flex", alignItems: "center", gap: "10px" }, children: [
11367
+ /* @__PURE__ */ jsx22(
11214
11368
  "div",
11215
11369
  {
11216
11370
  style: {
@@ -11222,19 +11376,19 @@ var MemoryPanel = ({
11222
11376
  alignItems: "center",
11223
11377
  justifyContent: "center"
11224
11378
  },
11225
- children: /* @__PURE__ */ jsx21(IconSvg, { name: "robot-line", size: 18, color: "var(--chatllm-primary, #3b82f6)" })
11379
+ children: /* @__PURE__ */ jsx22(IconSvg, { name: "robot-line", size: 18, color: "var(--chatllm-primary, #3b82f6)" })
11226
11380
  }
11227
11381
  ),
11228
- /* @__PURE__ */ jsxs20("div", { children: [
11229
- /* @__PURE__ */ jsx21("div", { style: { fontSize: "15px", fontWeight: 600, color: "var(--chatllm-text, #1f2937)" }, children: "AI \uBA54\uBAA8\uB9AC" }),
11230
- /* @__PURE__ */ jsxs20("div", { style: { fontSize: "12px", color: "var(--chatllm-text-muted, #9ca3af)" }, children: [
11382
+ /* @__PURE__ */ jsxs21("div", { children: [
11383
+ /* @__PURE__ */ jsx22("div", { style: { fontSize: "15px", fontWeight: 600, color: "var(--chatllm-text, #1f2937)" }, children: "AI \uBA54\uBAA8\uB9AC" }),
11384
+ /* @__PURE__ */ jsxs21("div", { style: { fontSize: "12px", color: "var(--chatllm-text-muted, #9ca3af)" }, children: [
11231
11385
  items.length,
11232
11386
  "\uAC1C \uD56D\uBAA9"
11233
11387
  ] })
11234
11388
  ] })
11235
11389
  ] }),
11236
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", gap: "4px" }, children: [
11237
- onClearAll && items.length > 0 && /* @__PURE__ */ jsx21(
11390
+ /* @__PURE__ */ jsxs21("div", { style: { display: "flex", gap: "4px" }, children: [
11391
+ onClearAll && items.length > 0 && /* @__PURE__ */ jsx22(
11238
11392
  "button",
11239
11393
  {
11240
11394
  onClick: onClearAll,
@@ -11246,10 +11400,10 @@ var MemoryPanel = ({
11246
11400
  cursor: "pointer"
11247
11401
  },
11248
11402
  title: "\uC804\uCCB4 \uC0AD\uC81C",
11249
- children: /* @__PURE__ */ jsx21(IconSvg, { name: "delete-bin-line", size: 18, color: "var(--chatllm-text-muted, #9ca3af)" })
11403
+ children: /* @__PURE__ */ jsx22(IconSvg, { name: "delete-bin-line", size: 18, color: "var(--chatllm-text-muted, #9ca3af)" })
11250
11404
  }
11251
11405
  ),
11252
- /* @__PURE__ */ jsx21(
11406
+ /* @__PURE__ */ jsx22(
11253
11407
  "button",
11254
11408
  {
11255
11409
  onClick: onToggle,
@@ -11260,14 +11414,14 @@ var MemoryPanel = ({
11260
11414
  borderRadius: "8px",
11261
11415
  cursor: "pointer"
11262
11416
  },
11263
- children: /* @__PURE__ */ jsx21(IconSvg, { name: "close-line", size: 18, color: "var(--chatllm-text-muted, #9ca3af)" })
11417
+ children: /* @__PURE__ */ jsx22(IconSvg, { name: "close-line", size: 18, color: "var(--chatllm-text-muted, #9ca3af)" })
11264
11418
  }
11265
11419
  )
11266
11420
  ] })
11267
11421
  ]
11268
11422
  }
11269
11423
  ),
11270
- /* @__PURE__ */ jsx21(
11424
+ /* @__PURE__ */ jsx22(
11271
11425
  "div",
11272
11426
  {
11273
11427
  style: {
@@ -11277,7 +11431,7 @@ var MemoryPanel = ({
11277
11431
  borderBottom: "1px solid var(--chatllm-border-light, #f3f4f6)",
11278
11432
  overflowX: "auto"
11279
11433
  },
11280
- children: ["all", "fact", "skill", "preference"].map((tab) => /* @__PURE__ */ jsx21(
11434
+ children: ["all", "fact", "skill", "preference"].map((tab) => /* @__PURE__ */ jsx22(
11281
11435
  "button",
11282
11436
  {
11283
11437
  onClick: () => setActiveTab(tab),
@@ -11298,8 +11452,8 @@ var MemoryPanel = ({
11298
11452
  ))
11299
11453
  }
11300
11454
  ),
11301
- /* @__PURE__ */ jsxs20("div", { style: { flex: 1, overflow: "auto", padding: "12px" }, children: [
11302
- contextSummary && activeTab === "all" && /* @__PURE__ */ jsxs20(
11455
+ /* @__PURE__ */ jsxs21("div", { style: { flex: 1, overflow: "auto", padding: "12px" }, children: [
11456
+ contextSummary && activeTab === "all" && /* @__PURE__ */ jsxs21(
11303
11457
  "div",
11304
11458
  {
11305
11459
  style: {
@@ -11310,7 +11464,7 @@ var MemoryPanel = ({
11310
11464
  borderLeft: "3px solid var(--chatllm-primary, #3b82f6)"
11311
11465
  },
11312
11466
  children: [
11313
- /* @__PURE__ */ jsxs20(
11467
+ /* @__PURE__ */ jsxs21(
11314
11468
  "div",
11315
11469
  {
11316
11470
  style: {
@@ -11320,12 +11474,12 @@ var MemoryPanel = ({
11320
11474
  marginBottom: "8px"
11321
11475
  },
11322
11476
  children: [
11323
- /* @__PURE__ */ jsx21(IconSvg, { name: "file-text-line", size: 14, color: "var(--chatllm-primary, #3b82f6)" }),
11324
- /* @__PURE__ */ jsx21("span", { style: { fontSize: "12px", fontWeight: 500, color: "var(--chatllm-primary, #3b82f6)" }, children: "\uB300\uD654 \uC694\uC57D" })
11477
+ /* @__PURE__ */ jsx22(IconSvg, { name: "file-text-line", size: 14, color: "var(--chatllm-primary, #3b82f6)" }),
11478
+ /* @__PURE__ */ jsx22("span", { style: { fontSize: "12px", fontWeight: 500, color: "var(--chatllm-primary, #3b82f6)" }, children: "\uB300\uD654 \uC694\uC57D" })
11325
11479
  ]
11326
11480
  }
11327
11481
  ),
11328
- /* @__PURE__ */ jsx21(
11482
+ /* @__PURE__ */ jsx22(
11329
11483
  "p",
11330
11484
  {
11331
11485
  style: {
@@ -11340,7 +11494,7 @@ var MemoryPanel = ({
11340
11494
  ]
11341
11495
  }
11342
11496
  ),
11343
- filteredItems.length === 0 ? /* @__PURE__ */ jsxs20(
11497
+ filteredItems.length === 0 ? /* @__PURE__ */ jsxs21(
11344
11498
  "div",
11345
11499
  {
11346
11500
  style: {
@@ -11349,11 +11503,11 @@ var MemoryPanel = ({
11349
11503
  color: "var(--chatllm-text-muted, #9ca3af)"
11350
11504
  },
11351
11505
  children: [
11352
- /* @__PURE__ */ jsx21(IconSvg, { name: "robot-line", size: 32, color: "var(--chatllm-text-muted, #d1d5db)" }),
11353
- /* @__PURE__ */ jsx21("p", { style: { fontSize: "14px", marginTop: "12px" }, children: "\uC800\uC7A5\uB41C \uBA54\uBAA8\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" })
11506
+ /* @__PURE__ */ jsx22(IconSvg, { name: "robot-line", size: 32, color: "var(--chatllm-text-muted, #d1d5db)" }),
11507
+ /* @__PURE__ */ jsx22("p", { style: { fontSize: "14px", marginTop: "12px" }, children: "\uC800\uC7A5\uB41C \uBA54\uBAA8\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" })
11354
11508
  ]
11355
11509
  }
11356
- ) : /* @__PURE__ */ jsx21("div", { style: { display: "flex", flexDirection: "column", gap: "8px" }, children: filteredItems.map((item) => /* @__PURE__ */ jsxs20(
11510
+ ) : /* @__PURE__ */ jsx22("div", { style: { display: "flex", flexDirection: "column", gap: "8px" }, children: filteredItems.map((item) => /* @__PURE__ */ jsxs21(
11357
11511
  "div",
11358
11512
  {
11359
11513
  style: {
@@ -11366,10 +11520,10 @@ var MemoryPanel = ({
11366
11520
  },
11367
11521
  onClick: () => setExpandedId(expandedId === item.id ? null : item.id),
11368
11522
  children: [
11369
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", alignItems: "flex-start", justifyContent: "space-between" }, children: [
11370
- /* @__PURE__ */ jsxs20("div", { style: { flex: 1, minWidth: 0 }, children: [
11371
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", alignItems: "center", gap: "8px", marginBottom: "4px" }, children: [
11372
- item.category && /* @__PURE__ */ jsx21(
11523
+ /* @__PURE__ */ jsxs21("div", { style: { display: "flex", alignItems: "flex-start", justifyContent: "space-between" }, children: [
11524
+ /* @__PURE__ */ jsxs21("div", { style: { flex: 1, minWidth: 0 }, children: [
11525
+ /* @__PURE__ */ jsxs21("div", { style: { display: "flex", alignItems: "center", gap: "8px", marginBottom: "4px" }, children: [
11526
+ item.category && /* @__PURE__ */ jsx22(
11373
11527
  "span",
11374
11528
  {
11375
11529
  style: {
@@ -11383,9 +11537,9 @@ var MemoryPanel = ({
11383
11537
  children: categoryLabels[item.category]
11384
11538
  }
11385
11539
  ),
11386
- /* @__PURE__ */ jsx21("span", { style: { fontSize: "11px", color: "var(--chatllm-text-muted, #9ca3af)" }, children: formatDate(item.timestamp) })
11540
+ /* @__PURE__ */ jsx22("span", { style: { fontSize: "11px", color: "var(--chatllm-text-muted, #9ca3af)" }, children: formatDate(item.timestamp) })
11387
11541
  ] }),
11388
- /* @__PURE__ */ jsx21(
11542
+ /* @__PURE__ */ jsx22(
11389
11543
  "div",
11390
11544
  {
11391
11545
  style: {
@@ -11397,8 +11551,8 @@ var MemoryPanel = ({
11397
11551
  }
11398
11552
  )
11399
11553
  ] }),
11400
- /* @__PURE__ */ jsxs20("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
11401
- onDelete && /* @__PURE__ */ jsx21(
11554
+ /* @__PURE__ */ jsxs21("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
11555
+ onDelete && /* @__PURE__ */ jsx22(
11402
11556
  "button",
11403
11557
  {
11404
11558
  onClick: (e) => {
@@ -11413,10 +11567,10 @@ var MemoryPanel = ({
11413
11567
  cursor: "pointer",
11414
11568
  opacity: 0.5
11415
11569
  },
11416
- children: /* @__PURE__ */ jsx21(IconSvg, { name: "delete-bin-line", size: 14, color: "var(--chatllm-text-muted, #9ca3af)" })
11570
+ children: /* @__PURE__ */ jsx22(IconSvg, { name: "delete-bin-line", size: 14, color: "var(--chatllm-text-muted, #9ca3af)" })
11417
11571
  }
11418
11572
  ),
11419
- /* @__PURE__ */ jsx21(
11573
+ /* @__PURE__ */ jsx22(
11420
11574
  IconSvg,
11421
11575
  {
11422
11576
  name: expandedId === item.id ? "arrow-up-s-line" : "arrow-down-s-line",
@@ -11426,7 +11580,7 @@ var MemoryPanel = ({
11426
11580
  )
11427
11581
  ] })
11428
11582
  ] }),
11429
- expandedId === item.id && /* @__PURE__ */ jsx21(
11583
+ expandedId === item.id && /* @__PURE__ */ jsx22(
11430
11584
  "div",
11431
11585
  {
11432
11586
  style: {
@@ -11434,7 +11588,7 @@ var MemoryPanel = ({
11434
11588
  paddingTop: "12px",
11435
11589
  borderTop: "1px solid var(--chatllm-border-light, #f3f4f6)"
11436
11590
  },
11437
- children: /* @__PURE__ */ jsx21(
11591
+ children: /* @__PURE__ */ jsx22(
11438
11592
  "p",
11439
11593
  {
11440
11594
  style: {