@gendive/chatllm 0.17.20 → 0.17.21
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/react/index.d.mts +17 -1
- package/dist/react/index.d.ts +17 -1
- package/dist/react/index.js +510 -391
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +510 -391
- package/dist/react/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/react/index.mjs
CHANGED
|
@@ -4638,7 +4638,8 @@ var ChatInput = ({
|
|
|
4638
4638
|
onFileAttach,
|
|
4639
4639
|
onRemoveAttachment,
|
|
4640
4640
|
acceptedFileTypes,
|
|
4641
|
-
onDisclaimerClick
|
|
4641
|
+
onDisclaimerClick,
|
|
4642
|
+
inline = false
|
|
4642
4643
|
}) => {
|
|
4643
4644
|
const [mainMenuOpen, setMainMenuOpen] = React4.useState(false);
|
|
4644
4645
|
const textareaRef = useRef7(null);
|
|
@@ -4727,17 +4728,17 @@ var ChatInput = ({
|
|
|
4727
4728
|
{
|
|
4728
4729
|
className: "chatllm-input-footer",
|
|
4729
4730
|
style: {
|
|
4730
|
-
position: "absolute",
|
|
4731
|
-
bottom: 0,
|
|
4732
|
-
left: 0,
|
|
4733
|
-
right: 0,
|
|
4731
|
+
position: inline ? "relative" : "absolute",
|
|
4732
|
+
bottom: inline ? void 0 : 0,
|
|
4733
|
+
left: inline ? void 0 : 0,
|
|
4734
|
+
right: inline ? void 0 : 0,
|
|
4734
4735
|
display: "flex",
|
|
4735
4736
|
flexDirection: "column",
|
|
4736
4737
|
alignItems: "center",
|
|
4737
|
-
paddingBottom: "16px",
|
|
4738
|
-
paddingTop: "64px",
|
|
4739
|
-
background: "linear-gradient(to top, var(--chatllm-bg) 60%, transparent)",
|
|
4740
|
-
pointerEvents: "none"
|
|
4738
|
+
paddingBottom: inline ? "0px" : "16px",
|
|
4739
|
+
paddingTop: inline ? "0px" : "64px",
|
|
4740
|
+
background: inline ? "transparent" : "linear-gradient(to top, var(--chatllm-bg) 60%, transparent)",
|
|
4741
|
+
pointerEvents: inline ? void 0 : "none"
|
|
4741
4742
|
},
|
|
4742
4743
|
children: /* @__PURE__ */ jsxs4(
|
|
4743
4744
|
"div",
|
|
@@ -5338,7 +5339,7 @@ var ChatInput = ({
|
|
|
5338
5339
|
]
|
|
5339
5340
|
}
|
|
5340
5341
|
),
|
|
5341
|
-
/* @__PURE__ */ jsx5(
|
|
5342
|
+
!inline && /* @__PURE__ */ jsx5(
|
|
5342
5343
|
"p",
|
|
5343
5344
|
{
|
|
5344
5345
|
onClick: onDisclaimerClick,
|
|
@@ -8983,147 +8984,9 @@ var MessageList = ({
|
|
|
8983
8984
|
);
|
|
8984
8985
|
};
|
|
8985
8986
|
|
|
8986
|
-
// src/react/components/EmptyState.tsx
|
|
8987
|
-
import { jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
8988
|
-
var EmptyState = ({
|
|
8989
|
-
greeting,
|
|
8990
|
-
templates = [],
|
|
8991
|
-
onTemplateClick,
|
|
8992
|
-
actions = [],
|
|
8993
|
-
onActionSelect
|
|
8994
|
-
}) => {
|
|
8995
|
-
const getActionIcon = (icon) => {
|
|
8996
|
-
const iconMap = {
|
|
8997
|
-
search: "search-line",
|
|
8998
|
-
image: "image-line",
|
|
8999
|
-
code: "code-s-slash-line",
|
|
9000
|
-
document: "file-text-line"
|
|
9001
|
-
};
|
|
9002
|
-
return iconMap[icon] || "sparkling-line";
|
|
9003
|
-
};
|
|
9004
|
-
const hasContent = actions.length > 0 || templates.length > 0;
|
|
9005
|
-
return /* @__PURE__ */ jsxs16(
|
|
9006
|
-
"div",
|
|
9007
|
-
{
|
|
9008
|
-
className: "chatllm-empty-state",
|
|
9009
|
-
style: {
|
|
9010
|
-
flex: 1,
|
|
9011
|
-
display: "flex",
|
|
9012
|
-
flexDirection: "column",
|
|
9013
|
-
alignItems: "center",
|
|
9014
|
-
justifyContent: hasContent ? "center" : "flex-end",
|
|
9015
|
-
padding: "48px 24px",
|
|
9016
|
-
paddingBottom: hasContent ? "200px" : "32px",
|
|
9017
|
-
textAlign: "center"
|
|
9018
|
-
},
|
|
9019
|
-
children: [
|
|
9020
|
-
/* @__PURE__ */ jsx17(
|
|
9021
|
-
"div",
|
|
9022
|
-
{
|
|
9023
|
-
className: "chatllm-sheet",
|
|
9024
|
-
style: {
|
|
9025
|
-
width: "64px",
|
|
9026
|
-
height: "64px",
|
|
9027
|
-
borderRadius: "16px",
|
|
9028
|
-
display: "flex",
|
|
9029
|
-
alignItems: "center",
|
|
9030
|
-
justifyContent: "center",
|
|
9031
|
-
marginBottom: "32px",
|
|
9032
|
-
color: "var(--chatllm-primary)"
|
|
9033
|
-
},
|
|
9034
|
-
children: /* @__PURE__ */ jsx17(IconSvg, { name: "chat-1-line", size: 40 })
|
|
9035
|
-
}
|
|
9036
|
-
),
|
|
9037
|
-
/* @__PURE__ */ jsx17(
|
|
9038
|
-
"h1",
|
|
9039
|
-
{
|
|
9040
|
-
style: {
|
|
9041
|
-
fontSize: "30px",
|
|
9042
|
-
fontWeight: 700,
|
|
9043
|
-
color: "var(--chatllm-text)",
|
|
9044
|
-
marginBottom: hasContent ? "40px" : "0",
|
|
9045
|
-
lineHeight: 1.3
|
|
9046
|
-
},
|
|
9047
|
-
children: "How can I help you today?"
|
|
9048
|
-
}
|
|
9049
|
-
),
|
|
9050
|
-
(actions.length > 0 || templates.length > 0) && /* @__PURE__ */ jsxs16(
|
|
9051
|
-
"div",
|
|
9052
|
-
{
|
|
9053
|
-
style: {
|
|
9054
|
-
display: "flex",
|
|
9055
|
-
flexWrap: "wrap",
|
|
9056
|
-
justifyContent: "center",
|
|
9057
|
-
gap: "12px",
|
|
9058
|
-
maxWidth: "800px",
|
|
9059
|
-
marginBottom: "48px"
|
|
9060
|
-
},
|
|
9061
|
-
children: [
|
|
9062
|
-
actions.map((action) => /* @__PURE__ */ jsxs16(
|
|
9063
|
-
"button",
|
|
9064
|
-
{
|
|
9065
|
-
onClick: () => onActionSelect?.(action),
|
|
9066
|
-
className: "chatllm-btn-secondary",
|
|
9067
|
-
style: {
|
|
9068
|
-
display: "flex",
|
|
9069
|
-
alignItems: "center",
|
|
9070
|
-
gap: "8px",
|
|
9071
|
-
padding: "12px 20px",
|
|
9072
|
-
fontSize: "14px",
|
|
9073
|
-
fontWeight: 500
|
|
9074
|
-
},
|
|
9075
|
-
children: [
|
|
9076
|
-
/* @__PURE__ */ jsx17(
|
|
9077
|
-
IconSvg,
|
|
9078
|
-
{
|
|
9079
|
-
name: getActionIcon(action.icon),
|
|
9080
|
-
size: 18,
|
|
9081
|
-
color: "var(--chatllm-primary)"
|
|
9082
|
-
}
|
|
9083
|
-
),
|
|
9084
|
-
action.label
|
|
9085
|
-
]
|
|
9086
|
-
},
|
|
9087
|
-
action.id
|
|
9088
|
-
)),
|
|
9089
|
-
templates.slice(0, 4).map((template) => /* @__PURE__ */ jsxs16(
|
|
9090
|
-
"button",
|
|
9091
|
-
{
|
|
9092
|
-
onClick: () => onTemplateClick(template),
|
|
9093
|
-
className: "chatllm-btn-secondary",
|
|
9094
|
-
style: {
|
|
9095
|
-
display: "flex",
|
|
9096
|
-
alignItems: "center",
|
|
9097
|
-
gap: "8px",
|
|
9098
|
-
padding: "12px 20px",
|
|
9099
|
-
fontSize: "14px",
|
|
9100
|
-
fontWeight: 500
|
|
9101
|
-
},
|
|
9102
|
-
children: [
|
|
9103
|
-
/* @__PURE__ */ jsx17(
|
|
9104
|
-
IconSvg,
|
|
9105
|
-
{
|
|
9106
|
-
name: "sparkling-line",
|
|
9107
|
-
size: 18,
|
|
9108
|
-
color: "var(--chatllm-primary)"
|
|
9109
|
-
}
|
|
9110
|
-
),
|
|
9111
|
-
template.title
|
|
9112
|
-
]
|
|
9113
|
-
},
|
|
9114
|
-
template.id
|
|
9115
|
-
))
|
|
9116
|
-
]
|
|
9117
|
-
}
|
|
9118
|
-
)
|
|
9119
|
-
]
|
|
9120
|
-
}
|
|
9121
|
-
);
|
|
9122
|
-
};
|
|
9123
|
-
|
|
9124
8987
|
// src/react/components/SettingsModal.tsx
|
|
9125
8988
|
import { useState as useState16 } from "react";
|
|
9126
|
-
import { jsx as
|
|
8989
|
+
import { jsx as jsx17, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
9127
8990
|
var DEFAULT_PERSONALIZATION2 = {
|
|
9128
8991
|
responseStyle: {
|
|
9129
8992
|
warmth: "medium",
|
|
@@ -9183,7 +9046,7 @@ var SettingsModal = ({
|
|
|
9183
9046
|
setLocalApiKey(value);
|
|
9184
9047
|
onApiKeyChange?.(value);
|
|
9185
9048
|
};
|
|
9186
|
-
return /* @__PURE__ */
|
|
9049
|
+
return /* @__PURE__ */ jsx17(
|
|
9187
9050
|
"div",
|
|
9188
9051
|
{
|
|
9189
9052
|
className: "chatllm-settings-overlay",
|
|
@@ -9197,7 +9060,7 @@ var SettingsModal = ({
|
|
|
9197
9060
|
zIndex: 1e3
|
|
9198
9061
|
},
|
|
9199
9062
|
onClick: onClose,
|
|
9200
|
-
children: /* @__PURE__ */
|
|
9063
|
+
children: /* @__PURE__ */ jsxs16(
|
|
9201
9064
|
"div",
|
|
9202
9065
|
{
|
|
9203
9066
|
className: "chatllm-settings-modal",
|
|
@@ -9215,7 +9078,7 @@ var SettingsModal = ({
|
|
|
9215
9078
|
},
|
|
9216
9079
|
onClick: (e) => e.stopPropagation(),
|
|
9217
9080
|
children: [
|
|
9218
|
-
/* @__PURE__ */
|
|
9081
|
+
/* @__PURE__ */ jsxs16(
|
|
9219
9082
|
"div",
|
|
9220
9083
|
{
|
|
9221
9084
|
style: {
|
|
@@ -9226,7 +9089,7 @@ var SettingsModal = ({
|
|
|
9226
9089
|
flexDirection: "column"
|
|
9227
9090
|
},
|
|
9228
9091
|
children: [
|
|
9229
|
-
/* @__PURE__ */
|
|
9092
|
+
/* @__PURE__ */ jsx17("div", { style: { padding: "16px", borderBottom: "1px solid var(--chatllm-border, #e5e7eb)" }, children: /* @__PURE__ */ jsx17(
|
|
9230
9093
|
"button",
|
|
9231
9094
|
{
|
|
9232
9095
|
onClick: onClose,
|
|
@@ -9240,11 +9103,11 @@ var SettingsModal = ({
|
|
|
9240
9103
|
alignItems: "center",
|
|
9241
9104
|
justifyContent: "center"
|
|
9242
9105
|
},
|
|
9243
|
-
children: /* @__PURE__ */
|
|
9106
|
+
children: /* @__PURE__ */ jsx17(IconSvg, { name: "close-line", size: 20, color: "var(--chatllm-text-muted, #6b7280)" })
|
|
9244
9107
|
}
|
|
9245
9108
|
) }),
|
|
9246
|
-
/* @__PURE__ */
|
|
9247
|
-
/* @__PURE__ */
|
|
9109
|
+
/* @__PURE__ */ jsxs16("nav", { style: { flex: 1, padding: "8px" }, children: [
|
|
9110
|
+
/* @__PURE__ */ jsx17(
|
|
9248
9111
|
TabButton,
|
|
9249
9112
|
{
|
|
9250
9113
|
active: activeTab === "general",
|
|
@@ -9253,7 +9116,7 @@ var SettingsModal = ({
|
|
|
9253
9116
|
label: "\uC77C\uBC18"
|
|
9254
9117
|
}
|
|
9255
9118
|
),
|
|
9256
|
-
/* @__PURE__ */
|
|
9119
|
+
/* @__PURE__ */ jsx17(
|
|
9257
9120
|
TabButton,
|
|
9258
9121
|
{
|
|
9259
9122
|
active: activeTab === "personalization",
|
|
@@ -9262,7 +9125,7 @@ var SettingsModal = ({
|
|
|
9262
9125
|
label: "\uAC1C\uC778 \uB9DE\uCDA4 \uC124\uC815"
|
|
9263
9126
|
}
|
|
9264
9127
|
),
|
|
9265
|
-
showMemoryTab && /* @__PURE__ */
|
|
9128
|
+
showMemoryTab && /* @__PURE__ */ jsx17(
|
|
9266
9129
|
TabButton,
|
|
9267
9130
|
{
|
|
9268
9131
|
active: activeTab === "memory",
|
|
@@ -9271,7 +9134,7 @@ var SettingsModal = ({
|
|
|
9271
9134
|
label: "AI \uBA54\uBAA8\uB9AC"
|
|
9272
9135
|
}
|
|
9273
9136
|
),
|
|
9274
|
-
showMemoryTab && enableProjects && /* @__PURE__ */
|
|
9137
|
+
showMemoryTab && enableProjects && /* @__PURE__ */ jsx17(
|
|
9275
9138
|
TabButton,
|
|
9276
9139
|
{
|
|
9277
9140
|
active: activeTab === "project-memory",
|
|
@@ -9280,7 +9143,7 @@ var SettingsModal = ({
|
|
|
9280
9143
|
label: "\uD504\uB85C\uC81D\uD2B8 \uBA54\uBAA8\uB9AC"
|
|
9281
9144
|
}
|
|
9282
9145
|
),
|
|
9283
|
-
/* @__PURE__ */
|
|
9146
|
+
/* @__PURE__ */ jsx17(
|
|
9284
9147
|
TabButton,
|
|
9285
9148
|
{
|
|
9286
9149
|
active: activeTab === "data",
|
|
@@ -9293,24 +9156,24 @@ var SettingsModal = ({
|
|
|
9293
9156
|
]
|
|
9294
9157
|
}
|
|
9295
9158
|
),
|
|
9296
|
-
/* @__PURE__ */
|
|
9297
|
-
activeTab === "general" && /* @__PURE__ */
|
|
9298
|
-
/* @__PURE__ */
|
|
9299
|
-
/* @__PURE__ */
|
|
9159
|
+
/* @__PURE__ */ jsxs16("div", { style: { flex: 1, overflow: "auto", padding: "24px" }, children: [
|
|
9160
|
+
activeTab === "general" && /* @__PURE__ */ jsxs16("div", { children: [
|
|
9161
|
+
/* @__PURE__ */ jsx17("h2", { style: { fontSize: "20px", fontWeight: 600, marginBottom: "24px", color: "var(--chatllm-text, #1f2937)" }, children: "\uC77C\uBC18" }),
|
|
9162
|
+
/* @__PURE__ */ jsx17(SettingRow, { label: "\uC5B8\uC5B4", children: /* @__PURE__ */ jsxs16(
|
|
9300
9163
|
"select",
|
|
9301
9164
|
{
|
|
9302
9165
|
value: personalization.language,
|
|
9303
9166
|
onChange: (e) => onPersonalizationChange({ ...personalization, language: e.target.value }),
|
|
9304
9167
|
style: selectStyle,
|
|
9305
9168
|
children: [
|
|
9306
|
-
/* @__PURE__ */
|
|
9307
|
-
/* @__PURE__ */
|
|
9308
|
-
/* @__PURE__ */
|
|
9309
|
-
/* @__PURE__ */
|
|
9169
|
+
/* @__PURE__ */ jsx17("option", { value: "auto", children: "\uC790\uB3D9 \uD0D0\uC9C0" }),
|
|
9170
|
+
/* @__PURE__ */ jsx17("option", { value: "ko", children: "\uD55C\uAD6D\uC5B4" }),
|
|
9171
|
+
/* @__PURE__ */ jsx17("option", { value: "en", children: "English" }),
|
|
9172
|
+
/* @__PURE__ */ jsx17("option", { value: "ja", children: "\u65E5\u672C\u8A9E" })
|
|
9310
9173
|
]
|
|
9311
9174
|
}
|
|
9312
9175
|
) }),
|
|
9313
|
-
/* @__PURE__ */
|
|
9176
|
+
/* @__PURE__ */ jsx17(SettingRow, { label: "\uAE30\uBCF8\uAC12\uC73C\uB85C \uCD08\uAE30\uD654", description: "\uBAA8\uB4E0 \uC124\uC815\uC744 \uCD08\uAE30 \uC0C1\uD0DC\uB85C \uB418\uB3CC\uB9BD\uB2C8\uB2E4", children: /* @__PURE__ */ jsx17(
|
|
9314
9177
|
"button",
|
|
9315
9178
|
{
|
|
9316
9179
|
onClick: () => onPersonalizationChange(DEFAULT_PERSONALIZATION2),
|
|
@@ -9318,11 +9181,11 @@ var SettingsModal = ({
|
|
|
9318
9181
|
children: "\uCD08\uAE30\uD654"
|
|
9319
9182
|
}
|
|
9320
9183
|
) }),
|
|
9321
|
-
onApiKeyChange && /* @__PURE__ */
|
|
9322
|
-
/* @__PURE__ */
|
|
9323
|
-
/* @__PURE__ */
|
|
9324
|
-
/* @__PURE__ */
|
|
9325
|
-
/* @__PURE__ */
|
|
9184
|
+
onApiKeyChange && /* @__PURE__ */ jsxs16("div", { style: { marginTop: "32px", paddingTop: "24px", borderTop: "1px solid var(--chatllm-border, #e5e7eb)" }, children: [
|
|
9185
|
+
/* @__PURE__ */ jsx17("h3", { style: { fontSize: "16px", fontWeight: 500, marginBottom: "16px", color: "var(--chatllm-text, #1f2937)" }, children: "API \uC124\uC815" }),
|
|
9186
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
9187
|
+
/* @__PURE__ */ jsx17("label", { style: { display: "block", fontSize: "14px", marginBottom: "8px", color: "var(--chatllm-text, #374151)" }, children: apiKeyLabel }),
|
|
9188
|
+
/* @__PURE__ */ jsx17(
|
|
9326
9189
|
"input",
|
|
9327
9190
|
{
|
|
9328
9191
|
type: "password",
|
|
@@ -9332,18 +9195,18 @@ var SettingsModal = ({
|
|
|
9332
9195
|
style: inputStyle
|
|
9333
9196
|
}
|
|
9334
9197
|
),
|
|
9335
|
-
/* @__PURE__ */
|
|
9198
|
+
/* @__PURE__ */ jsx17("p", { style: { fontSize: "12px", color: "var(--chatllm-text-muted, #9ca3af)", marginTop: "4px" }, children: apiKeyDescription })
|
|
9336
9199
|
] })
|
|
9337
9200
|
] })
|
|
9338
9201
|
] }),
|
|
9339
|
-
activeTab === "personalization" && /* @__PURE__ */
|
|
9340
|
-
/* @__PURE__ */
|
|
9341
|
-
/* @__PURE__ */
|
|
9342
|
-
/* @__PURE__ */
|
|
9343
|
-
/* @__PURE__ */
|
|
9344
|
-
/* @__PURE__ */
|
|
9345
|
-
/* @__PURE__ */
|
|
9346
|
-
/* @__PURE__ */
|
|
9202
|
+
activeTab === "personalization" && /* @__PURE__ */ jsxs16("div", { children: [
|
|
9203
|
+
/* @__PURE__ */ jsx17("h2", { style: { fontSize: "20px", fontWeight: 600, marginBottom: "24px", color: "var(--chatllm-text, #1f2937)" }, children: "\uAC1C\uC778 \uB9DE\uCDA4 \uC124\uC815" }),
|
|
9204
|
+
/* @__PURE__ */ jsxs16("section", { style: { marginBottom: "32px" }, children: [
|
|
9205
|
+
/* @__PURE__ */ jsx17("h3", { style: { fontSize: "14px", fontWeight: 500, color: "var(--chatllm-text-muted, #6b7280)", marginBottom: "16px" }, children: "\uC0AC\uC6A9\uC790 \uD504\uB85C\uD544" }),
|
|
9206
|
+
/* @__PURE__ */ jsxs16("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
9207
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
9208
|
+
/* @__PURE__ */ jsx17("label", { style: labelStyle, children: "\uB2C9\uB124\uC784" }),
|
|
9209
|
+
/* @__PURE__ */ jsx17(
|
|
9347
9210
|
"input",
|
|
9348
9211
|
{
|
|
9349
9212
|
type: "text",
|
|
@@ -9354,9 +9217,9 @@ var SettingsModal = ({
|
|
|
9354
9217
|
}
|
|
9355
9218
|
)
|
|
9356
9219
|
] }),
|
|
9357
|
-
/* @__PURE__ */
|
|
9358
|
-
/* @__PURE__ */
|
|
9359
|
-
/* @__PURE__ */
|
|
9220
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
9221
|
+
/* @__PURE__ */ jsx17("label", { style: labelStyle, children: "\uC9C1\uC5C5" }),
|
|
9222
|
+
/* @__PURE__ */ jsx17(
|
|
9360
9223
|
"input",
|
|
9361
9224
|
{
|
|
9362
9225
|
type: "text",
|
|
@@ -9367,9 +9230,9 @@ var SettingsModal = ({
|
|
|
9367
9230
|
}
|
|
9368
9231
|
)
|
|
9369
9232
|
] }),
|
|
9370
|
-
/* @__PURE__ */
|
|
9371
|
-
/* @__PURE__ */
|
|
9372
|
-
/* @__PURE__ */
|
|
9233
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
9234
|
+
/* @__PURE__ */ jsx17("label", { style: labelStyle, children: "\uCD94\uAC00 \uC815\uBCF4" }),
|
|
9235
|
+
/* @__PURE__ */ jsx17(
|
|
9373
9236
|
"textarea",
|
|
9374
9237
|
{
|
|
9375
9238
|
value: personalization.userProfile.additionalInfo || "",
|
|
@@ -9382,62 +9245,62 @@ var SettingsModal = ({
|
|
|
9382
9245
|
] })
|
|
9383
9246
|
] })
|
|
9384
9247
|
] }),
|
|
9385
|
-
/* @__PURE__ */
|
|
9386
|
-
/* @__PURE__ */
|
|
9387
|
-
/* @__PURE__ */
|
|
9248
|
+
/* @__PURE__ */ jsxs16("section", { children: [
|
|
9249
|
+
/* @__PURE__ */ jsx17("h3", { style: { fontSize: "14px", fontWeight: 500, color: "var(--chatllm-text-muted, #6b7280)", marginBottom: "16px" }, children: "\uC751\uB2F5 \uC2A4\uD0C0\uC77C" }),
|
|
9250
|
+
/* @__PURE__ */ jsx17(SettingRow, { label: "\uB530\uB73B\uD568", children: /* @__PURE__ */ jsxs16(
|
|
9388
9251
|
"select",
|
|
9389
9252
|
{
|
|
9390
9253
|
value: personalization.responseStyle.warmth,
|
|
9391
9254
|
onChange: (e) => updateResponseStyle("warmth", e.target.value),
|
|
9392
9255
|
style: selectStyle,
|
|
9393
9256
|
children: [
|
|
9394
|
-
/* @__PURE__ */
|
|
9395
|
-
/* @__PURE__ */
|
|
9396
|
-
/* @__PURE__ */
|
|
9257
|
+
/* @__PURE__ */ jsx17("option", { value: "high", children: "\uB192\uC74C - \uCE5C\uADFC\uD558\uACE0 \uB530\uB73B\uD558\uAC8C" }),
|
|
9258
|
+
/* @__PURE__ */ jsx17("option", { value: "medium", children: "\uAE30\uBCF8\uAC12" }),
|
|
9259
|
+
/* @__PURE__ */ jsx17("option", { value: "low", children: "\uB0AE\uC74C - \uAC04\uACB0\uD558\uACE0 \uC0AC\uBB34\uC801\uC73C\uB85C" })
|
|
9397
9260
|
]
|
|
9398
9261
|
}
|
|
9399
9262
|
) }),
|
|
9400
|
-
/* @__PURE__ */
|
|
9263
|
+
/* @__PURE__ */ jsx17(SettingRow, { label: "\uC5F4\uC815\uC801", children: /* @__PURE__ */ jsxs16(
|
|
9401
9264
|
"select",
|
|
9402
9265
|
{
|
|
9403
9266
|
value: personalization.responseStyle.enthusiasm,
|
|
9404
9267
|
onChange: (e) => updateResponseStyle("enthusiasm", e.target.value),
|
|
9405
9268
|
style: selectStyle,
|
|
9406
9269
|
children: [
|
|
9407
|
-
/* @__PURE__ */
|
|
9408
|
-
/* @__PURE__ */
|
|
9409
|
-
/* @__PURE__ */
|
|
9270
|
+
/* @__PURE__ */ jsx17("option", { value: "high", children: "\uB192\uC74C - \uC801\uADF9\uC801\uC774\uACE0 \uD65C\uBC1C\uD558\uAC8C" }),
|
|
9271
|
+
/* @__PURE__ */ jsx17("option", { value: "medium", children: "\uAE30\uBCF8\uAC12" }),
|
|
9272
|
+
/* @__PURE__ */ jsx17("option", { value: "low", children: "\uB0AE\uC74C - \uCC28\uBD84\uD558\uACE0 \uC808\uC81C\uC788\uAC8C" })
|
|
9410
9273
|
]
|
|
9411
9274
|
}
|
|
9412
9275
|
) }),
|
|
9413
|
-
/* @__PURE__ */
|
|
9276
|
+
/* @__PURE__ */ jsx17(SettingRow, { label: "\uC774\uBAA8\uC9C0 \uC0AC\uC6A9", children: /* @__PURE__ */ jsxs16(
|
|
9414
9277
|
"select",
|
|
9415
9278
|
{
|
|
9416
9279
|
value: personalization.responseStyle.emojiUsage,
|
|
9417
9280
|
onChange: (e) => updateResponseStyle("emojiUsage", e.target.value),
|
|
9418
9281
|
style: selectStyle,
|
|
9419
9282
|
children: [
|
|
9420
|
-
/* @__PURE__ */
|
|
9421
|
-
/* @__PURE__ */
|
|
9422
|
-
/* @__PURE__ */
|
|
9283
|
+
/* @__PURE__ */ jsx17("option", { value: "high", children: "\uB192\uC74C - \uC790\uC8FC \uC0AC\uC6A9" }),
|
|
9284
|
+
/* @__PURE__ */ jsx17("option", { value: "medium", children: "\uAE30\uBCF8\uAC12" }),
|
|
9285
|
+
/* @__PURE__ */ jsx17("option", { value: "low", children: "\uB0AE\uC74C - \uAC70\uC758 \uC0AC\uC6A9 \uC548 \uD568" })
|
|
9423
9286
|
]
|
|
9424
9287
|
}
|
|
9425
9288
|
) }),
|
|
9426
|
-
/* @__PURE__ */
|
|
9289
|
+
/* @__PURE__ */ jsx17(SettingRow, { label: "\uC751\uB2F5 \uAE38\uC774", children: /* @__PURE__ */ jsxs16(
|
|
9427
9290
|
"select",
|
|
9428
9291
|
{
|
|
9429
9292
|
value: personalization.responseStyle.verbosity,
|
|
9430
9293
|
onChange: (e) => updateResponseStyle("verbosity", e.target.value),
|
|
9431
9294
|
style: selectStyle,
|
|
9432
9295
|
children: [
|
|
9433
|
-
/* @__PURE__ */
|
|
9434
|
-
/* @__PURE__ */
|
|
9435
|
-
/* @__PURE__ */
|
|
9296
|
+
/* @__PURE__ */ jsx17("option", { value: "detailed", children: "\uC0C1\uC138 - \uC790\uC138\uD558\uAC8C \uC124\uBA85" }),
|
|
9297
|
+
/* @__PURE__ */ jsx17("option", { value: "balanced", children: "\uAE30\uBCF8\uAC12" }),
|
|
9298
|
+
/* @__PURE__ */ jsx17("option", { value: "concise", children: "\uAC04\uACB0 - \uD575\uC2EC\uB9CC \uC694\uC57D" })
|
|
9436
9299
|
]
|
|
9437
9300
|
}
|
|
9438
9301
|
) })
|
|
9439
9302
|
] }),
|
|
9440
|
-
onSave && /* @__PURE__ */
|
|
9303
|
+
onSave && /* @__PURE__ */ jsx17("div", { style: { marginTop: "24px", display: "flex", justifyContent: "flex-end" }, children: /* @__PURE__ */ jsx17(
|
|
9441
9304
|
"button",
|
|
9442
9305
|
{
|
|
9443
9306
|
onClick: onSave,
|
|
@@ -9458,7 +9321,7 @@ var SettingsModal = ({
|
|
|
9458
9321
|
}
|
|
9459
9322
|
) })
|
|
9460
9323
|
] }),
|
|
9461
|
-
activeTab === "memory" && showMemoryTab && /* @__PURE__ */
|
|
9324
|
+
activeTab === "memory" && showMemoryTab && /* @__PURE__ */ jsx17(
|
|
9462
9325
|
MemoryTabContent,
|
|
9463
9326
|
{
|
|
9464
9327
|
items: memoryItems,
|
|
@@ -9467,7 +9330,7 @@ var SettingsModal = ({
|
|
|
9467
9330
|
onClearAll: onClearMemory
|
|
9468
9331
|
}
|
|
9469
9332
|
),
|
|
9470
|
-
activeTab === "project-memory" && showMemoryTab && enableProjects && /* @__PURE__ */
|
|
9333
|
+
activeTab === "project-memory" && showMemoryTab && enableProjects && /* @__PURE__ */ jsx17(
|
|
9471
9334
|
MemoryTabContent,
|
|
9472
9335
|
{
|
|
9473
9336
|
items: projectMemoryItems,
|
|
@@ -9478,9 +9341,9 @@ var SettingsModal = ({
|
|
|
9478
9341
|
emptyDescription: "\uB300\uD654\uAC00 \uC9C4\uD589\uB418\uBA74 AI\uAC00 \uD504\uB85C\uC81D\uD2B8 \uB9E5\uB77D\uC744 \uC790\uB3D9\uC73C\uB85C \uD559\uC2B5\uD569\uB2C8\uB2E4"
|
|
9479
9342
|
}
|
|
9480
9343
|
),
|
|
9481
|
-
activeTab === "data" && /* @__PURE__ */
|
|
9482
|
-
/* @__PURE__ */
|
|
9483
|
-
/* @__PURE__ */
|
|
9344
|
+
activeTab === "data" && /* @__PURE__ */ jsxs16("div", { children: [
|
|
9345
|
+
/* @__PURE__ */ jsx17("h2", { style: { fontSize: "20px", fontWeight: 600, marginBottom: "24px", color: "var(--chatllm-text, #1f2937)" }, children: "\uB370\uC774\uD130 \uC81C\uC5B4" }),
|
|
9346
|
+
/* @__PURE__ */ jsx17(SettingRow, { label: "\uBA54\uBAA8\uB9AC \uC0AC\uC6A9", description: "\uB300\uD654 \uCEE8\uD14D\uC2A4\uD2B8\uB97C \uAE30\uC5B5\uD569\uB2C8\uB2E4", children: /* @__PURE__ */ jsx17(
|
|
9484
9347
|
"button",
|
|
9485
9348
|
{
|
|
9486
9349
|
onClick: () => onPersonalizationChange({ ...personalization, useMemory: !personalization.useMemory }),
|
|
@@ -9494,7 +9357,7 @@ var SettingsModal = ({
|
|
|
9494
9357
|
position: "relative",
|
|
9495
9358
|
transition: "background-color 0.2s"
|
|
9496
9359
|
},
|
|
9497
|
-
children: /* @__PURE__ */
|
|
9360
|
+
children: /* @__PURE__ */ jsx17(
|
|
9498
9361
|
"div",
|
|
9499
9362
|
{
|
|
9500
9363
|
style: {
|
|
@@ -9512,7 +9375,7 @@ var SettingsModal = ({
|
|
|
9512
9375
|
)
|
|
9513
9376
|
}
|
|
9514
9377
|
) }),
|
|
9515
|
-
onClearAllData && /* @__PURE__ */
|
|
9378
|
+
onClearAllData && /* @__PURE__ */ jsx17(SettingRow, { label: "\uB300\uD654 \uAE30\uB85D \uC0AD\uC81C", description: "\uBAA8\uB4E0 \uB300\uD654 \uAE30\uB85D\uC744 \uC0AD\uC81C\uD569\uB2C8\uB2E4", children: /* @__PURE__ */ jsx17(
|
|
9516
9379
|
"button",
|
|
9517
9380
|
{
|
|
9518
9381
|
onClick: () => {
|
|
@@ -9532,7 +9395,7 @@ var SettingsModal = ({
|
|
|
9532
9395
|
}
|
|
9533
9396
|
);
|
|
9534
9397
|
};
|
|
9535
|
-
var TabButton = ({ active, onClick, icon, label }) => /* @__PURE__ */
|
|
9398
|
+
var TabButton = ({ active, onClick, icon, label }) => /* @__PURE__ */ jsxs16(
|
|
9536
9399
|
"button",
|
|
9537
9400
|
{
|
|
9538
9401
|
onClick,
|
|
@@ -9553,12 +9416,12 @@ var TabButton = ({ active, onClick, icon, label }) => /* @__PURE__ */ jsxs17(
|
|
|
9553
9416
|
marginBottom: "4px"
|
|
9554
9417
|
},
|
|
9555
9418
|
children: [
|
|
9556
|
-
/* @__PURE__ */
|
|
9419
|
+
/* @__PURE__ */ jsx17(IconSvg, { name: icon, size: 20 }),
|
|
9557
9420
|
label
|
|
9558
9421
|
]
|
|
9559
9422
|
}
|
|
9560
9423
|
);
|
|
9561
|
-
var SettingRow = ({ label, description, children }) => /* @__PURE__ */
|
|
9424
|
+
var SettingRow = ({ label, description, children }) => /* @__PURE__ */ jsxs16(
|
|
9562
9425
|
"div",
|
|
9563
9426
|
{
|
|
9564
9427
|
style: {
|
|
@@ -9569,9 +9432,9 @@ var SettingRow = ({ label, description, children }) => /* @__PURE__ */ jsxs17(
|
|
|
9569
9432
|
borderBottom: "1px solid var(--chatllm-border-light, #f3f4f6)"
|
|
9570
9433
|
},
|
|
9571
9434
|
children: [
|
|
9572
|
-
/* @__PURE__ */
|
|
9573
|
-
/* @__PURE__ */
|
|
9574
|
-
description && /* @__PURE__ */
|
|
9435
|
+
/* @__PURE__ */ jsxs16("div", { children: [
|
|
9436
|
+
/* @__PURE__ */ jsx17("span", { style: { fontSize: "14px", color: "var(--chatllm-text, #374151)" }, children: label }),
|
|
9437
|
+
description && /* @__PURE__ */ jsx17("p", { style: { fontSize: "12px", color: "var(--chatllm-text-muted, #9ca3af)", marginTop: "2px" }, children: description })
|
|
9575
9438
|
] }),
|
|
9576
9439
|
children
|
|
9577
9440
|
]
|
|
@@ -9643,15 +9506,15 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9643
9506
|
minute: "2-digit"
|
|
9644
9507
|
});
|
|
9645
9508
|
};
|
|
9646
|
-
return /* @__PURE__ */
|
|
9647
|
-
/* @__PURE__ */
|
|
9648
|
-
/* @__PURE__ */
|
|
9649
|
-
/* @__PURE__ */
|
|
9509
|
+
return /* @__PURE__ */ jsxs16("div", { children: [
|
|
9510
|
+
/* @__PURE__ */ jsxs16("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: "24px" }, children: [
|
|
9511
|
+
/* @__PURE__ */ jsx17("h2", { style: { fontSize: "20px", fontWeight: 600, color: "var(--chatllm-text, #1f2937)", margin: 0 }, children: title }),
|
|
9512
|
+
/* @__PURE__ */ jsxs16("span", { style: { fontSize: "13px", color: "var(--chatllm-text-muted, #9ca3af)" }, children: [
|
|
9650
9513
|
items.length,
|
|
9651
9514
|
"\uAC1C \uD56D\uBAA9"
|
|
9652
9515
|
] })
|
|
9653
9516
|
] }),
|
|
9654
|
-
/* @__PURE__ */
|
|
9517
|
+
/* @__PURE__ */ jsx17("div", { style: { display: "flex", gap: "6px", marginBottom: "20px", flexWrap: "wrap" }, children: ["all", "fact", "skill", "preference"].map((tab) => /* @__PURE__ */ jsx17(
|
|
9655
9518
|
"button",
|
|
9656
9519
|
{
|
|
9657
9520
|
onClick: () => setActiveFilter(tab),
|
|
@@ -9669,7 +9532,7 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9669
9532
|
},
|
|
9670
9533
|
tab
|
|
9671
9534
|
)) }),
|
|
9672
|
-
contextSummary && activeFilter === "all" && /* @__PURE__ */
|
|
9535
|
+
contextSummary && activeFilter === "all" && /* @__PURE__ */ jsxs16(
|
|
9673
9536
|
"div",
|
|
9674
9537
|
{
|
|
9675
9538
|
style: {
|
|
@@ -9680,19 +9543,19 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9680
9543
|
borderLeft: "3px solid var(--chatllm-primary, #3b82f6)"
|
|
9681
9544
|
},
|
|
9682
9545
|
children: [
|
|
9683
|
-
/* @__PURE__ */
|
|
9684
|
-
/* @__PURE__ */
|
|
9685
|
-
/* @__PURE__ */
|
|
9546
|
+
/* @__PURE__ */ jsxs16("div", { style: { display: "flex", alignItems: "center", gap: "6px", marginBottom: "8px" }, children: [
|
|
9547
|
+
/* @__PURE__ */ jsx17(IconSvg, { name: "file-text-line", size: 14, color: "var(--chatllm-primary, #3b82f6)" }),
|
|
9548
|
+
/* @__PURE__ */ jsx17("span", { style: { fontSize: "12px", fontWeight: 500, color: "var(--chatllm-primary, #3b82f6)" }, children: "\uB300\uD654 \uC694\uC57D" })
|
|
9686
9549
|
] }),
|
|
9687
|
-
/* @__PURE__ */
|
|
9550
|
+
/* @__PURE__ */ jsx17("p", { style: { fontSize: "13px", lineHeight: "1.6", color: "var(--chatllm-text, #374151)", margin: 0 }, children: contextSummary })
|
|
9688
9551
|
]
|
|
9689
9552
|
}
|
|
9690
9553
|
),
|
|
9691
|
-
filteredItems.length === 0 ? /* @__PURE__ */
|
|
9692
|
-
/* @__PURE__ */
|
|
9693
|
-
/* @__PURE__ */
|
|
9694
|
-
/* @__PURE__ */
|
|
9695
|
-
] }) : /* @__PURE__ */
|
|
9554
|
+
filteredItems.length === 0 ? /* @__PURE__ */ jsxs16("div", { style: { padding: "40px 16px", textAlign: "center" }, children: [
|
|
9555
|
+
/* @__PURE__ */ jsx17(IconSvg, { name: "robot-line", size: 40, color: "var(--chatllm-text-muted, #d1d5db)" }),
|
|
9556
|
+
/* @__PURE__ */ jsx17("p", { style: { fontSize: "14px", color: "var(--chatllm-text-muted, #9ca3af)", marginTop: "12px" }, children: emptyMessage }),
|
|
9557
|
+
/* @__PURE__ */ jsx17("p", { style: { fontSize: "12px", color: "var(--chatllm-text-muted, #d1d5db)", marginTop: "4px" }, children: emptyDescription })
|
|
9558
|
+
] }) : /* @__PURE__ */ jsx17("div", { style: { display: "flex", flexDirection: "column", gap: "8px" }, children: filteredItems.map((item) => /* @__PURE__ */ jsxs16(
|
|
9696
9559
|
"div",
|
|
9697
9560
|
{
|
|
9698
9561
|
style: {
|
|
@@ -9705,10 +9568,10 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9705
9568
|
},
|
|
9706
9569
|
onClick: () => setExpandedId(expandedId === item.id ? null : item.id),
|
|
9707
9570
|
children: [
|
|
9708
|
-
/* @__PURE__ */
|
|
9709
|
-
/* @__PURE__ */
|
|
9710
|
-
/* @__PURE__ */
|
|
9711
|
-
item.category && /* @__PURE__ */
|
|
9571
|
+
/* @__PURE__ */ jsxs16("div", { style: { display: "flex", alignItems: "flex-start", justifyContent: "space-between" }, children: [
|
|
9572
|
+
/* @__PURE__ */ jsxs16("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
9573
|
+
/* @__PURE__ */ jsxs16("div", { style: { display: "flex", alignItems: "center", gap: "8px", marginBottom: "4px" }, children: [
|
|
9574
|
+
item.category && /* @__PURE__ */ jsx17(
|
|
9712
9575
|
"span",
|
|
9713
9576
|
{
|
|
9714
9577
|
style: {
|
|
@@ -9722,12 +9585,12 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9722
9585
|
children: memoryCategoryLabels[item.category]
|
|
9723
9586
|
}
|
|
9724
9587
|
),
|
|
9725
|
-
/* @__PURE__ */
|
|
9588
|
+
/* @__PURE__ */ jsx17("span", { style: { fontSize: "11px", color: "var(--chatllm-text-muted, #9ca3af)" }, children: formatDate(item.timestamp) })
|
|
9726
9589
|
] }),
|
|
9727
|
-
/* @__PURE__ */
|
|
9590
|
+
/* @__PURE__ */ jsx17("div", { style: { fontSize: "13px", fontWeight: 500, color: "var(--chatllm-text, #1f2937)" }, children: item.key })
|
|
9728
9591
|
] }),
|
|
9729
|
-
/* @__PURE__ */
|
|
9730
|
-
onDelete && /* @__PURE__ */
|
|
9592
|
+
/* @__PURE__ */ jsxs16("div", { style: { display: "flex", alignItems: "center", gap: "4px" }, children: [
|
|
9593
|
+
onDelete && /* @__PURE__ */ jsx17(
|
|
9731
9594
|
"button",
|
|
9732
9595
|
{
|
|
9733
9596
|
onClick: (e) => {
|
|
@@ -9743,10 +9606,10 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9743
9606
|
opacity: 0.5
|
|
9744
9607
|
},
|
|
9745
9608
|
"aria-label": "\uBA54\uBAA8\uB9AC \uC0AD\uC81C",
|
|
9746
|
-
children: /* @__PURE__ */
|
|
9609
|
+
children: /* @__PURE__ */ jsx17(IconSvg, { name: "delete-bin-line", size: 14, color: "var(--chatllm-text-muted, #9ca3af)" })
|
|
9747
9610
|
}
|
|
9748
9611
|
),
|
|
9749
|
-
/* @__PURE__ */
|
|
9612
|
+
/* @__PURE__ */ jsx17(
|
|
9750
9613
|
IconSvg,
|
|
9751
9614
|
{
|
|
9752
9615
|
name: expandedId === item.id ? "arrow-up-s-line" : "arrow-down-s-line",
|
|
@@ -9756,7 +9619,7 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9756
9619
|
)
|
|
9757
9620
|
] })
|
|
9758
9621
|
] }),
|
|
9759
|
-
expandedId === item.id && /* @__PURE__ */
|
|
9622
|
+
expandedId === item.id && /* @__PURE__ */ jsx17(
|
|
9760
9623
|
"div",
|
|
9761
9624
|
{
|
|
9762
9625
|
style: {
|
|
@@ -9764,7 +9627,7 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9764
9627
|
paddingTop: "12px",
|
|
9765
9628
|
borderTop: "1px solid var(--chatllm-border-light, #f3f4f6)"
|
|
9766
9629
|
},
|
|
9767
|
-
children: /* @__PURE__ */
|
|
9630
|
+
children: /* @__PURE__ */ jsx17(
|
|
9768
9631
|
"p",
|
|
9769
9632
|
{
|
|
9770
9633
|
style: {
|
|
@@ -9783,7 +9646,7 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9783
9646
|
},
|
|
9784
9647
|
item.id
|
|
9785
9648
|
)) }),
|
|
9786
|
-
onClearAll && items.length > 0 && /* @__PURE__ */
|
|
9649
|
+
onClearAll && items.length > 0 && /* @__PURE__ */ jsx17("div", { style: { marginTop: "24px", paddingTop: "16px", borderTop: "1px solid var(--chatllm-border, #e5e7eb)" }, children: /* @__PURE__ */ jsx17(
|
|
9787
9650
|
"button",
|
|
9788
9651
|
{
|
|
9789
9652
|
onClick: () => {
|
|
@@ -9800,7 +9663,7 @@ var MemoryTabContent = ({ items, contextSummary, onDelete, onClearAll, title = "
|
|
|
9800
9663
|
|
|
9801
9664
|
// src/react/components/ProjectSettingsModal.tsx
|
|
9802
9665
|
import { useState as useState17, useEffect as useEffect9 } from "react";
|
|
9803
|
-
import { jsx as
|
|
9666
|
+
import { jsx as jsx18, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
9804
9667
|
var COLOR_PRESETS = [
|
|
9805
9668
|
"#2563eb",
|
|
9806
9669
|
"#7c3aed",
|
|
@@ -9881,7 +9744,7 @@ var ProjectSettingsModal = ({
|
|
|
9881
9744
|
cursor: "pointer",
|
|
9882
9745
|
fontFamily: "inherit"
|
|
9883
9746
|
});
|
|
9884
|
-
return /* @__PURE__ */
|
|
9747
|
+
return /* @__PURE__ */ jsx18(
|
|
9885
9748
|
"div",
|
|
9886
9749
|
{
|
|
9887
9750
|
style: {
|
|
@@ -9896,7 +9759,7 @@ var ProjectSettingsModal = ({
|
|
|
9896
9759
|
onClick: (e) => {
|
|
9897
9760
|
if (e.target === e.currentTarget) onClose();
|
|
9898
9761
|
},
|
|
9899
|
-
children: /* @__PURE__ */
|
|
9762
|
+
children: /* @__PURE__ */ jsxs17(
|
|
9900
9763
|
"div",
|
|
9901
9764
|
{
|
|
9902
9765
|
style: {
|
|
@@ -9910,7 +9773,7 @@ var ProjectSettingsModal = ({
|
|
|
9910
9773
|
overflow: "hidden"
|
|
9911
9774
|
},
|
|
9912
9775
|
children: [
|
|
9913
|
-
/* @__PURE__ */
|
|
9776
|
+
/* @__PURE__ */ jsxs17(
|
|
9914
9777
|
"div",
|
|
9915
9778
|
{
|
|
9916
9779
|
style: {
|
|
@@ -9920,8 +9783,8 @@ var ProjectSettingsModal = ({
|
|
|
9920
9783
|
padding: "20px 24px 0"
|
|
9921
9784
|
},
|
|
9922
9785
|
children: [
|
|
9923
|
-
/* @__PURE__ */
|
|
9924
|
-
/* @__PURE__ */
|
|
9786
|
+
/* @__PURE__ */ jsx18("h2", { style: { fontSize: "16px", fontWeight: 600, margin: 0, color: "var(--chatllm-text, #1a1a1a)" }, children: "\uD504\uB85C\uC81D\uD2B8 \uC124\uC815" }),
|
|
9787
|
+
/* @__PURE__ */ jsx18(
|
|
9925
9788
|
"button",
|
|
9926
9789
|
{
|
|
9927
9790
|
onClick: onClose,
|
|
@@ -9934,13 +9797,13 @@ var ProjectSettingsModal = ({
|
|
|
9934
9797
|
alignItems: "center"
|
|
9935
9798
|
},
|
|
9936
9799
|
"aria-label": "\uB2EB\uAE30",
|
|
9937
|
-
children: /* @__PURE__ */
|
|
9800
|
+
children: /* @__PURE__ */ jsx18(IconSvg, { name: "close-line", size: 20, color: "var(--chatllm-text-muted, #999)" })
|
|
9938
9801
|
}
|
|
9939
9802
|
)
|
|
9940
9803
|
]
|
|
9941
9804
|
}
|
|
9942
9805
|
),
|
|
9943
|
-
/* @__PURE__ */
|
|
9806
|
+
/* @__PURE__ */ jsxs17(
|
|
9944
9807
|
"div",
|
|
9945
9808
|
{
|
|
9946
9809
|
style: {
|
|
@@ -9950,9 +9813,9 @@ var ProjectSettingsModal = ({
|
|
|
9950
9813
|
borderBottom: "1px solid var(--chatllm-border, #e0e0e0)"
|
|
9951
9814
|
},
|
|
9952
9815
|
children: [
|
|
9953
|
-
/* @__PURE__ */
|
|
9954
|
-
/* @__PURE__ */
|
|
9955
|
-
/* @__PURE__ */
|
|
9816
|
+
/* @__PURE__ */ jsx18("button", { onClick: () => setActiveTab("general"), style: tabStyle("general"), children: "\uC77C\uBC18" }),
|
|
9817
|
+
/* @__PURE__ */ jsx18("button", { onClick: () => setActiveTab("instructions"), style: tabStyle("instructions"), children: "\uC9C0\uCE68" }),
|
|
9818
|
+
/* @__PURE__ */ jsxs17("button", { onClick: () => setActiveTab("files"), style: tabStyle("files"), children: [
|
|
9956
9819
|
"\uD30C\uC77C (",
|
|
9957
9820
|
project.files.length,
|
|
9958
9821
|
")"
|
|
@@ -9960,11 +9823,11 @@ var ProjectSettingsModal = ({
|
|
|
9960
9823
|
]
|
|
9961
9824
|
}
|
|
9962
9825
|
),
|
|
9963
|
-
/* @__PURE__ */
|
|
9964
|
-
activeTab === "general" && /* @__PURE__ */
|
|
9965
|
-
/* @__PURE__ */
|
|
9966
|
-
/* @__PURE__ */
|
|
9967
|
-
/* @__PURE__ */
|
|
9826
|
+
/* @__PURE__ */ jsxs17("div", { style: { padding: "24px", overflowY: "auto", flex: 1 }, children: [
|
|
9827
|
+
activeTab === "general" && /* @__PURE__ */ jsxs17("div", { style: { display: "flex", flexDirection: "column", gap: "16px" }, children: [
|
|
9828
|
+
/* @__PURE__ */ jsxs17("div", { children: [
|
|
9829
|
+
/* @__PURE__ */ jsx18("label", { style: { display: "block", fontSize: "13px", fontWeight: 500, marginBottom: "6px", color: "var(--chatllm-text, #1a1a1a)" }, children: "\uD504\uB85C\uC81D\uD2B8 \uC774\uB984" }),
|
|
9830
|
+
/* @__PURE__ */ jsx18(
|
|
9968
9831
|
"input",
|
|
9969
9832
|
{
|
|
9970
9833
|
type: "text",
|
|
@@ -9986,9 +9849,9 @@ var ProjectSettingsModal = ({
|
|
|
9986
9849
|
}
|
|
9987
9850
|
)
|
|
9988
9851
|
] }),
|
|
9989
|
-
/* @__PURE__ */
|
|
9990
|
-
/* @__PURE__ */
|
|
9991
|
-
/* @__PURE__ */
|
|
9852
|
+
/* @__PURE__ */ jsxs17("div", { children: [
|
|
9853
|
+
/* @__PURE__ */ jsx18("label", { style: { display: "block", fontSize: "13px", fontWeight: 500, marginBottom: "6px", color: "var(--chatllm-text, #1a1a1a)" }, children: "\uC124\uBA85" }),
|
|
9854
|
+
/* @__PURE__ */ jsx18(
|
|
9992
9855
|
"textarea",
|
|
9993
9856
|
{
|
|
9994
9857
|
value: description,
|
|
@@ -10009,9 +9872,9 @@ var ProjectSettingsModal = ({
|
|
|
10009
9872
|
}
|
|
10010
9873
|
)
|
|
10011
9874
|
] }),
|
|
10012
|
-
/* @__PURE__ */
|
|
10013
|
-
/* @__PURE__ */
|
|
10014
|
-
/* @__PURE__ */
|
|
9875
|
+
/* @__PURE__ */ jsxs17("div", { children: [
|
|
9876
|
+
/* @__PURE__ */ jsx18("label", { style: { display: "block", fontSize: "13px", fontWeight: 500, marginBottom: "6px", color: "var(--chatllm-text, #1a1a1a)" }, children: "\uC0C9\uC0C1" }),
|
|
9877
|
+
/* @__PURE__ */ jsx18("div", { style: { display: "flex", gap: "8px", flexWrap: "wrap" }, children: COLOR_PRESETS.map((c) => /* @__PURE__ */ jsx18(
|
|
10015
9878
|
"button",
|
|
10016
9879
|
{
|
|
10017
9880
|
onClick: () => setColor(c),
|
|
@@ -10029,8 +9892,8 @@ var ProjectSettingsModal = ({
|
|
|
10029
9892
|
c
|
|
10030
9893
|
)) })
|
|
10031
9894
|
] }),
|
|
10032
|
-
/* @__PURE__ */
|
|
10033
|
-
!isDefaultProject && onDeleteProject && /* @__PURE__ */
|
|
9895
|
+
/* @__PURE__ */ jsxs17("div", { style: { display: "flex", gap: "8px", justifyContent: "flex-end", marginTop: "8px" }, children: [
|
|
9896
|
+
!isDefaultProject && onDeleteProject && /* @__PURE__ */ jsx18(
|
|
10034
9897
|
"button",
|
|
10035
9898
|
{
|
|
10036
9899
|
onClick: () => {
|
|
@@ -10053,7 +9916,7 @@ var ProjectSettingsModal = ({
|
|
|
10053
9916
|
children: "\uD504\uB85C\uC81D\uD2B8 \uC0AD\uC81C"
|
|
10054
9917
|
}
|
|
10055
9918
|
),
|
|
10056
|
-
/* @__PURE__ */
|
|
9919
|
+
/* @__PURE__ */ jsx18(
|
|
10057
9920
|
"button",
|
|
10058
9921
|
{
|
|
10059
9922
|
onClick: handleSaveGeneral,
|
|
@@ -10073,9 +9936,9 @@ var ProjectSettingsModal = ({
|
|
|
10073
9936
|
)
|
|
10074
9937
|
] })
|
|
10075
9938
|
] }),
|
|
10076
|
-
activeTab === "instructions" && /* @__PURE__ */
|
|
10077
|
-
/* @__PURE__ */
|
|
10078
|
-
/* @__PURE__ */
|
|
9939
|
+
activeTab === "instructions" && /* @__PURE__ */ jsxs17("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
9940
|
+
/* @__PURE__ */ jsx18("p", { style: { fontSize: "13px", color: "var(--chatllm-text-muted, #999)", margin: 0 }, children: "\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uBAA8\uB4E0 \uB300\uD654\uC5D0\uC11C AI\uAC00 \uB530\uB77C\uC57C \uD560 \uC9C0\uCE68\uC744 \uC785\uB825\uD558\uC138\uC694." }),
|
|
9941
|
+
/* @__PURE__ */ jsx18(
|
|
10079
9942
|
"textarea",
|
|
10080
9943
|
{
|
|
10081
9944
|
value: instructions,
|
|
@@ -10096,7 +9959,7 @@ var ProjectSettingsModal = ({
|
|
|
10096
9959
|
}
|
|
10097
9960
|
}
|
|
10098
9961
|
),
|
|
10099
|
-
/* @__PURE__ */
|
|
9962
|
+
/* @__PURE__ */ jsx18("div", { style: { display: "flex", justifyContent: "flex-end" }, children: /* @__PURE__ */ jsx18(
|
|
10100
9963
|
"button",
|
|
10101
9964
|
{
|
|
10102
9965
|
onClick: handleSaveInstructions,
|
|
@@ -10115,10 +9978,10 @@ var ProjectSettingsModal = ({
|
|
|
10115
9978
|
}
|
|
10116
9979
|
) })
|
|
10117
9980
|
] }),
|
|
10118
|
-
activeTab === "files" && /* @__PURE__ */
|
|
10119
|
-
/* @__PURE__ */
|
|
10120
|
-
/* @__PURE__ */
|
|
10121
|
-
/* @__PURE__ */
|
|
9981
|
+
activeTab === "files" && /* @__PURE__ */ jsxs17("div", { style: { display: "flex", flexDirection: "column", gap: "12px" }, children: [
|
|
9982
|
+
/* @__PURE__ */ jsxs17("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [
|
|
9983
|
+
/* @__PURE__ */ jsx18("p", { style: { fontSize: "13px", color: "var(--chatllm-text-muted, #999)", margin: 0 }, children: "\uD504\uB85C\uC81D\uD2B8 \uCEE8\uD14D\uC2A4\uD2B8\uB85C \uC0AC\uC6A9\uD560 \uD30C\uC77C\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4." }),
|
|
9984
|
+
/* @__PURE__ */ jsxs17(
|
|
10122
9985
|
"button",
|
|
10123
9986
|
{
|
|
10124
9987
|
onClick: handleFileUpload,
|
|
@@ -10136,13 +9999,13 @@ var ProjectSettingsModal = ({
|
|
|
10136
9999
|
color: "var(--chatllm-text, #1a1a1a)"
|
|
10137
10000
|
},
|
|
10138
10001
|
children: [
|
|
10139
|
-
/* @__PURE__ */
|
|
10002
|
+
/* @__PURE__ */ jsx18(IconSvg, { name: "upload-line", size: 14 }),
|
|
10140
10003
|
"\uC5C5\uB85C\uB4DC"
|
|
10141
10004
|
]
|
|
10142
10005
|
}
|
|
10143
10006
|
)
|
|
10144
10007
|
] }),
|
|
10145
|
-
project.files.length === 0 ? /* @__PURE__ */
|
|
10008
|
+
project.files.length === 0 ? /* @__PURE__ */ jsx18(
|
|
10146
10009
|
"div",
|
|
10147
10010
|
{
|
|
10148
10011
|
style: {
|
|
@@ -10155,7 +10018,7 @@ var ProjectSettingsModal = ({
|
|
|
10155
10018
|
},
|
|
10156
10019
|
children: "\uC544\uC9C1 \uD30C\uC77C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"
|
|
10157
10020
|
}
|
|
10158
|
-
) : /* @__PURE__ */
|
|
10021
|
+
) : /* @__PURE__ */ jsx18("div", { style: { display: "flex", flexDirection: "column", gap: "6px" }, children: project.files.map((file) => /* @__PURE__ */ jsxs17(
|
|
10159
10022
|
"div",
|
|
10160
10023
|
{
|
|
10161
10024
|
style: {
|
|
@@ -10167,10 +10030,10 @@ var ProjectSettingsModal = ({
|
|
|
10167
10030
|
borderRadius: "6px"
|
|
10168
10031
|
},
|
|
10169
10032
|
children: [
|
|
10170
|
-
/* @__PURE__ */
|
|
10171
|
-
/* @__PURE__ */
|
|
10172
|
-
/* @__PURE__ */
|
|
10173
|
-
/* @__PURE__ */
|
|
10033
|
+
/* @__PURE__ */ jsxs17("div", { style: { display: "flex", alignItems: "center", gap: "10px", overflow: "hidden" }, children: [
|
|
10034
|
+
/* @__PURE__ */ jsx18(IconSvg, { name: getFileIcon2(file.type), size: 18, color: "var(--chatllm-text-muted, #999)" }),
|
|
10035
|
+
/* @__PURE__ */ jsxs17("div", { style: { overflow: "hidden" }, children: [
|
|
10036
|
+
/* @__PURE__ */ jsx18(
|
|
10174
10037
|
"div",
|
|
10175
10038
|
{
|
|
10176
10039
|
style: {
|
|
@@ -10184,13 +10047,13 @@ var ProjectSettingsModal = ({
|
|
|
10184
10047
|
children: file.name
|
|
10185
10048
|
}
|
|
10186
10049
|
),
|
|
10187
|
-
/* @__PURE__ */
|
|
10050
|
+
/* @__PURE__ */ jsxs17("div", { style: { fontSize: "11px", color: "var(--chatllm-text-muted, #999)" }, children: [
|
|
10188
10051
|
file.type,
|
|
10189
10052
|
formatSize(file.size) ? ` \xB7 ${formatSize(file.size)}` : ""
|
|
10190
10053
|
] })
|
|
10191
10054
|
] })
|
|
10192
10055
|
] }),
|
|
10193
|
-
/* @__PURE__ */
|
|
10056
|
+
/* @__PURE__ */ jsx18(
|
|
10194
10057
|
"button",
|
|
10195
10058
|
{
|
|
10196
10059
|
onClick: () => onDeleteFile(project.id, file.id),
|
|
@@ -10211,7 +10074,7 @@ var ProjectSettingsModal = ({
|
|
|
10211
10074
|
e.currentTarget.style.opacity = "0.5";
|
|
10212
10075
|
},
|
|
10213
10076
|
"aria-label": `${file.name} \uC0AD\uC81C`,
|
|
10214
|
-
children: /* @__PURE__ */
|
|
10077
|
+
children: /* @__PURE__ */ jsx18(IconSvg, { name: "delete-bin-line", size: 16, color: "#dc2626" })
|
|
10215
10078
|
}
|
|
10216
10079
|
)
|
|
10217
10080
|
]
|
|
@@ -10228,14 +10091,14 @@ var ProjectSettingsModal = ({
|
|
|
10228
10091
|
};
|
|
10229
10092
|
|
|
10230
10093
|
// src/react/components/DisclaimerModal.tsx
|
|
10231
|
-
import { jsx as
|
|
10094
|
+
import { jsx as jsx19, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
10232
10095
|
var highlightStyle = {
|
|
10233
10096
|
color: "var(--chatllm-text, #1e293b)",
|
|
10234
10097
|
fontWeight: 600
|
|
10235
10098
|
};
|
|
10236
10099
|
var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
10237
10100
|
if (!isOpen) return null;
|
|
10238
|
-
return /* @__PURE__ */
|
|
10101
|
+
return /* @__PURE__ */ jsx19(
|
|
10239
10102
|
"div",
|
|
10240
10103
|
{
|
|
10241
10104
|
className: "chatllm-disclaimer-overlay",
|
|
@@ -10249,7 +10112,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10249
10112
|
zIndex: 1e3
|
|
10250
10113
|
},
|
|
10251
10114
|
onClick: onClose,
|
|
10252
|
-
children: /* @__PURE__ */
|
|
10115
|
+
children: /* @__PURE__ */ jsxs18(
|
|
10253
10116
|
"div",
|
|
10254
10117
|
{
|
|
10255
10118
|
className: "chatllm-disclaimer-modal",
|
|
@@ -10267,7 +10130,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10267
10130
|
},
|
|
10268
10131
|
onClick: (e) => e.stopPropagation(),
|
|
10269
10132
|
children: [
|
|
10270
|
-
/* @__PURE__ */
|
|
10133
|
+
/* @__PURE__ */ jsxs18(
|
|
10271
10134
|
"div",
|
|
10272
10135
|
{
|
|
10273
10136
|
style: {
|
|
@@ -10278,9 +10141,9 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10278
10141
|
borderBottom: "1px solid var(--chatllm-border, #e5e7eb)"
|
|
10279
10142
|
},
|
|
10280
10143
|
children: [
|
|
10281
|
-
/* @__PURE__ */
|
|
10282
|
-
/* @__PURE__ */
|
|
10283
|
-
/* @__PURE__ */
|
|
10144
|
+
/* @__PURE__ */ jsxs18("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
10145
|
+
/* @__PURE__ */ jsx19(IconSvg, { name: "error-warning-line", size: 20, color: "var(--chatllm-primary, #4A90E2)" }),
|
|
10146
|
+
/* @__PURE__ */ jsx19(
|
|
10284
10147
|
"h2",
|
|
10285
10148
|
{
|
|
10286
10149
|
style: {
|
|
@@ -10293,7 +10156,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10293
10156
|
}
|
|
10294
10157
|
)
|
|
10295
10158
|
] }),
|
|
10296
|
-
/* @__PURE__ */
|
|
10159
|
+
/* @__PURE__ */ jsx19(
|
|
10297
10160
|
"button",
|
|
10298
10161
|
{
|
|
10299
10162
|
onClick: onClose,
|
|
@@ -10308,13 +10171,13 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10308
10171
|
alignItems: "center",
|
|
10309
10172
|
justifyContent: "center"
|
|
10310
10173
|
},
|
|
10311
|
-
children: /* @__PURE__ */
|
|
10174
|
+
children: /* @__PURE__ */ jsx19(IconSvg, { name: "close-line", size: 20, color: "var(--chatllm-text-muted, #64748b)" })
|
|
10312
10175
|
}
|
|
10313
10176
|
)
|
|
10314
10177
|
]
|
|
10315
10178
|
}
|
|
10316
10179
|
),
|
|
10317
|
-
/* @__PURE__ */
|
|
10180
|
+
/* @__PURE__ */ jsxs18(
|
|
10318
10181
|
"div",
|
|
10319
10182
|
{
|
|
10320
10183
|
className: "chatllm-scrollbar",
|
|
@@ -10326,12 +10189,12 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10326
10189
|
color: "var(--chatllm-text-secondary, #475569)"
|
|
10327
10190
|
},
|
|
10328
10191
|
children: [
|
|
10329
|
-
/* @__PURE__ */
|
|
10192
|
+
/* @__PURE__ */ jsxs18("p", { style: { margin: "0 0 16px" }, children: [
|
|
10330
10193
|
"\uC800\uB294 \uC5EC\uB7EC\uBD84\uC758 \uC9C8\uBB38\uC5D0 ",
|
|
10331
|
-
/* @__PURE__ */
|
|
10194
|
+
/* @__PURE__ */ jsx19("span", { style: highlightStyle, children: "\uCD5C\uC120\uC758 \uB2F5\uBCC0\uC744 \uB4DC\uB9AC\uAE30 \uC704\uD574 \uD56D\uC0C1 \uB178\uB825" }),
|
|
10332
10195
|
"\uD558\uACE0 \uC788\uC5B4\uC694. \uD558\uC9C0\uB9CC \uC194\uC9C1\uD558\uAC8C \uB9D0\uC500\uB4DC\uB9AC\uBA74, \uC800\uB3C4 \uB54C\uB54C\uB85C \uC2E4\uC218\uB97C \uD558\uAC70\uB098 \uC815\uD655\uD558\uC9C0 \uC54A\uC740 \uB2F5\uBCC0\uC744 \uB4DC\uB9B4 \uC218 \uC788\uC2B5\uB2C8\uB2E4."
|
|
10333
10196
|
] }),
|
|
10334
|
-
/* @__PURE__ */
|
|
10197
|
+
/* @__PURE__ */ jsxs18(
|
|
10335
10198
|
"div",
|
|
10336
10199
|
{
|
|
10337
10200
|
style: {
|
|
@@ -10344,33 +10207,33 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10344
10207
|
lineHeight: 1.7
|
|
10345
10208
|
},
|
|
10346
10209
|
children: [
|
|
10347
|
-
/* @__PURE__ */
|
|
10348
|
-
/* @__PURE__ */
|
|
10349
|
-
/* @__PURE__ */
|
|
10350
|
-
/* @__PURE__ */
|
|
10351
|
-
/* @__PURE__ */
|
|
10210
|
+
/* @__PURE__ */ jsx19("p", { style: { margin: "0 0 8px", fontWeight: 600, color: "var(--chatllm-text, #1e293b)" }, children: "\uC81C\uAC00 \uC774\uB7F0 \uC2E4\uC218\uB97C \uD560 \uC218 \uC788\uC5B4\uC694" }),
|
|
10211
|
+
/* @__PURE__ */ jsxs18("ul", { style: { margin: 0, paddingLeft: "18px", display: "flex", flexDirection: "column", gap: "4px" }, children: [
|
|
10212
|
+
/* @__PURE__ */ jsx19("li", { children: "\uCD5C\uC2E0 \uC815\uBCF4\uB97C \uBC18\uC601\uD558\uC9C0 \uBABB\uD55C \uB2F5\uBCC0\uC744 \uB4DC\uB9AC\uB294 \uACBD\uC6B0" }),
|
|
10213
|
+
/* @__PURE__ */ jsx19("li", { children: "\uADF8\uB7F4\uB4EF\uD558\uAC8C \uB4E4\uB9AC\uC9C0\uB9CC \uC2E4\uC81C\uB85C\uB294 \uC815\uD655\uD558\uC9C0 \uC54A\uC740 \uB0B4\uC6A9" }),
|
|
10214
|
+
/* @__PURE__ */ jsx19("li", { children: "\uC2E4\uC81C\uB85C \uC874\uC7AC\uD558\uC9C0 \uC54A\uB294 \uCD9C\uCC98\uB098 \uC778\uC6A9\uC744 \uB9CC\uB4E4\uC5B4\uB0B4\uB294 \uACBD\uC6B0" })
|
|
10352
10215
|
] })
|
|
10353
10216
|
]
|
|
10354
10217
|
}
|
|
10355
10218
|
),
|
|
10356
|
-
/* @__PURE__ */
|
|
10219
|
+
/* @__PURE__ */ jsxs18("p", { style: { margin: "0 0 16px" }, children: [
|
|
10357
10220
|
"\uC774\uB7F0 \uD604\uC0C1\uC744 ",
|
|
10358
|
-
/* @__PURE__ */
|
|
10221
|
+
/* @__PURE__ */ jsx19("span", { style: highlightStyle, children: "'\uD658\uAC01(Hallucination)'" }),
|
|
10359
10222
|
"\uC774\uB77C\uACE0 \uBD80\uB974\uB294\uB370\uC694, \uC544\uC9C1\uC740 \uC800\uC640 \uAC19\uC740 AI\uAC00 \uAC00\uC9C4 \uADFC\uBCF8\uC801\uC778 \uD55C\uACC4\uC608\uC694. \uC81C \uB2F5\uBCC0\uC774 \uC544\uBB34\uB9AC \uC790\uC5F0\uC2A4\uB7EC\uC6CC \uBCF4\uC5EC\uB3C4, ",
|
|
10360
|
-
/* @__PURE__ */
|
|
10223
|
+
/* @__PURE__ */ jsx19("span", { style: highlightStyle, children: "\uD55C \uBC88 \uB354 \uD655\uC778" }),
|
|
10361
10224
|
"\uD574 \uC8FC\uC2DC\uBA74 \uAC10\uC0AC\uD558\uACA0\uC2B5\uB2C8\uB2E4."
|
|
10362
10225
|
] }),
|
|
10363
|
-
/* @__PURE__ */
|
|
10364
|
-
/* @__PURE__ */
|
|
10226
|
+
/* @__PURE__ */ jsxs18("p", { style: { margin: "0 0 16px" }, children: [
|
|
10227
|
+
/* @__PURE__ */ jsx19("span", { style: highlightStyle, children: "\uC81C \uB2F5\uBCC0\uC740 \uCC38\uACE0 \uC790\uB8CC" }),
|
|
10365
10228
|
"\uB85C \uD65C\uC6A9\uD574 \uC8FC\uC2DC\uACE0, \uC911\uC694\uD55C \uD310\uB2E8\uC744 \uB0B4\uB9AC\uC2E4 \uB54C\uB294 \uAF2D \uCD94\uAC00\uB85C \uD655\uC778\uD574 \uC8FC\uC138\uC694. \uC800\uB3C4 \uB354 \uC815\uD655\uD55C \uB2F5\uBCC0\uC744 \uB4DC\uB9AC\uAE30 \uC704\uD574 \uACC4\uC18D \uBC1C\uC804\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4."
|
|
10366
10229
|
] }),
|
|
10367
|
-
/* @__PURE__ */
|
|
10230
|
+
/* @__PURE__ */ jsxs18("p", { style: { margin: "0 0 16px" }, children: [
|
|
10368
10231
|
"\uC81C\uAC00 \uC6F9 \uAC80\uC0C9 \uACB0\uACFC\uB97C \uC54C\uB824\uB4DC\uB9B4 \uB54C\uB3C4,",
|
|
10369
10232
|
" ",
|
|
10370
|
-
/* @__PURE__ */
|
|
10233
|
+
/* @__PURE__ */ jsx19("span", { style: highlightStyle, children: "\uC6D0\uBCF8 \uCD9C\uCC98\uB97C \uC9C1\uC811 \uD655\uC778" }),
|
|
10371
10234
|
"\uD574 \uBCF4\uC2DC\uB294 \uAC78 \uCD94\uCC9C\uB4DC\uB824\uC694. \uC694\uC57D \uACFC\uC815\uC5D0\uC11C \uB193\uCE60 \uC218 \uC788\uB294 \uC911\uC694\uD55C \uB9E5\uB77D\uC774 \uC6D0\uBCF8\uC5D0 \uB2F4\uACA8 \uC788\uC744 \uC218 \uC788\uAC70\uB4E0\uC694."
|
|
10372
10235
|
] }),
|
|
10373
|
-
/* @__PURE__ */
|
|
10236
|
+
/* @__PURE__ */ jsx19(
|
|
10374
10237
|
"div",
|
|
10375
10238
|
{
|
|
10376
10239
|
style: {
|
|
@@ -10381,10 +10244,10 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10381
10244
|
lineHeight: 1.7,
|
|
10382
10245
|
textAlign: "center"
|
|
10383
10246
|
},
|
|
10384
|
-
children: /* @__PURE__ */
|
|
10247
|
+
children: /* @__PURE__ */ jsxs18("p", { style: { margin: 0 }, children: [
|
|
10385
10248
|
"\uC800\uC5D0 \uB300\uD55C \uC758\uACAC\uC774\uB098 \uAC1C\uC120 \uC81C\uC548\uC774 \uC788\uC73C\uC2DC\uB2E4\uBA74",
|
|
10386
10249
|
" ",
|
|
10387
|
-
/* @__PURE__ */
|
|
10250
|
+
/* @__PURE__ */ jsx19(
|
|
10388
10251
|
"a",
|
|
10389
10252
|
{
|
|
10390
10253
|
href: "mailto:info@gendive.ai",
|
|
@@ -10397,7 +10260,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10397
10260
|
}
|
|
10398
10261
|
),
|
|
10399
10262
|
"\uB85C \uC54C\uB824\uC8FC\uC138\uC694.",
|
|
10400
|
-
/* @__PURE__ */
|
|
10263
|
+
/* @__PURE__ */ jsx19("br", {}),
|
|
10401
10264
|
"\uC5EC\uB7EC\uBD84\uC758 \uD53C\uB4DC\uBC31 \uD558\uB098\uD558\uB098\uAC00 \uC81C\uAC00 \uC131\uC7A5\uD558\uB294 \uB370 \uD070 \uD798\uC774 \uB429\uB2C8\uB2E4."
|
|
10402
10265
|
] })
|
|
10403
10266
|
}
|
|
@@ -10413,7 +10276,7 @@ var DisclaimerModal = ({ isOpen, onClose }) => {
|
|
|
10413
10276
|
};
|
|
10414
10277
|
|
|
10415
10278
|
// src/react/ChatUI.tsx
|
|
10416
|
-
import { jsx as
|
|
10279
|
+
import { Fragment as Fragment8, jsx as jsx20, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
10417
10280
|
var DEFAULT_ACTIONS = [];
|
|
10418
10281
|
var DEFAULT_TEMPLATES = [];
|
|
10419
10282
|
var DEFAULT_MODELS = [
|
|
@@ -10456,6 +10319,16 @@ var injectStyles = () => {
|
|
|
10456
10319
|
100% { transform: rotate(360deg); }
|
|
10457
10320
|
}
|
|
10458
10321
|
|
|
10322
|
+
@keyframes chatllm-welcome-exit {
|
|
10323
|
+
from { opacity: 1; transform: translateY(0); }
|
|
10324
|
+
to { opacity: 0; transform: translateY(-16px); }
|
|
10325
|
+
}
|
|
10326
|
+
|
|
10327
|
+
@keyframes chatllm-chat-enter {
|
|
10328
|
+
from { opacity: 0; }
|
|
10329
|
+
to { opacity: 1; }
|
|
10330
|
+
}
|
|
10331
|
+
|
|
10459
10332
|
.chatllm-root {
|
|
10460
10333
|
--chatllm-primary: #4A90E2;
|
|
10461
10334
|
--chatllm-primary-hover: #357ABD;
|
|
@@ -10661,7 +10534,8 @@ var ChatUIView = ({
|
|
|
10661
10534
|
className,
|
|
10662
10535
|
apiKey,
|
|
10663
10536
|
onApiKeyChange,
|
|
10664
|
-
deepResearchEnabled
|
|
10537
|
+
deepResearchEnabled,
|
|
10538
|
+
suggestedPrompts
|
|
10665
10539
|
}) => {
|
|
10666
10540
|
const {
|
|
10667
10541
|
sessions,
|
|
@@ -10729,6 +10603,19 @@ var ChatUIView = ({
|
|
|
10729
10603
|
isSessionsLoading
|
|
10730
10604
|
} = state;
|
|
10731
10605
|
const [disclaimerOpen, setDisclaimerOpen] = React15.useState(false);
|
|
10606
|
+
const [welcomeExiting, setWelcomeExiting] = React15.useState(false);
|
|
10607
|
+
const prevMessageCountRef = React15.useRef(messages.length);
|
|
10608
|
+
React15.useEffect(() => {
|
|
10609
|
+
let timer;
|
|
10610
|
+
if (prevMessageCountRef.current === 0 && messages.length > 0) {
|
|
10611
|
+
setWelcomeExiting(true);
|
|
10612
|
+
timer = setTimeout(() => setWelcomeExiting(false), 400);
|
|
10613
|
+
}
|
|
10614
|
+
prevMessageCountRef.current = messages.length;
|
|
10615
|
+
return () => {
|
|
10616
|
+
if (timer) clearTimeout(timer);
|
|
10617
|
+
};
|
|
10618
|
+
}, [messages.length]);
|
|
10732
10619
|
const greeting = currentPersonalization.userProfile.nickname ? `\uC548\uB155\uD558\uC138\uC694, ${currentPersonalization.userProfile.nickname}\uB2D8` : "\uC548\uB155\uD558\uC138\uC694";
|
|
10733
10620
|
const handleTemplateClick = (template) => {
|
|
10734
10621
|
setInput(template.prompt);
|
|
@@ -10771,7 +10658,7 @@ var ChatUIView = ({
|
|
|
10771
10658
|
return items;
|
|
10772
10659
|
}, [projectMemory?.state.entries]);
|
|
10773
10660
|
const themeClass = theme?.mode === "dark" ? "chatllm-dark" : "";
|
|
10774
|
-
return /* @__PURE__ */
|
|
10661
|
+
return /* @__PURE__ */ jsxs19(
|
|
10775
10662
|
"div",
|
|
10776
10663
|
{
|
|
10777
10664
|
className: `chatllm-root ${themeClass} ${className}`,
|
|
@@ -10784,7 +10671,7 @@ var ChatUIView = ({
|
|
|
10784
10671
|
position: "relative"
|
|
10785
10672
|
},
|
|
10786
10673
|
children: [
|
|
10787
|
-
showSidebar && /* @__PURE__ */
|
|
10674
|
+
showSidebar && /* @__PURE__ */ jsx20(
|
|
10788
10675
|
ChatSidebar,
|
|
10789
10676
|
{
|
|
10790
10677
|
sessions,
|
|
@@ -10816,7 +10703,7 @@ var ChatUIView = ({
|
|
|
10816
10703
|
isLoading: isSessionsLoading
|
|
10817
10704
|
}
|
|
10818
10705
|
),
|
|
10819
|
-
/* @__PURE__ */
|
|
10706
|
+
/* @__PURE__ */ jsxs19(
|
|
10820
10707
|
"main",
|
|
10821
10708
|
{
|
|
10822
10709
|
style: {
|
|
@@ -10828,7 +10715,7 @@ var ChatUIView = ({
|
|
|
10828
10715
|
minWidth: 0
|
|
10829
10716
|
},
|
|
10830
10717
|
children: [
|
|
10831
|
-
/* @__PURE__ */
|
|
10718
|
+
/* @__PURE__ */ jsx20(
|
|
10832
10719
|
ChatHeader,
|
|
10833
10720
|
{
|
|
10834
10721
|
title: currentSession?.title || "\uC0C8 \uB300\uD654",
|
|
@@ -10842,68 +10729,158 @@ var ChatUIView = ({
|
|
|
10842
10729
|
showSettings
|
|
10843
10730
|
}
|
|
10844
10731
|
),
|
|
10845
|
-
messages.length === 0
|
|
10846
|
-
|
|
10847
|
-
{
|
|
10848
|
-
greeting,
|
|
10849
|
-
templates,
|
|
10850
|
-
onTemplateClick: handleTemplateClick,
|
|
10851
|
-
actions,
|
|
10852
|
-
onActionSelect: handleActionSelect
|
|
10853
|
-
}
|
|
10854
|
-
) : /* @__PURE__ */ jsx21(
|
|
10855
|
-
MessageList,
|
|
10732
|
+
(messages.length === 0 || welcomeExiting) && /* @__PURE__ */ jsxs19(
|
|
10733
|
+
"div",
|
|
10856
10734
|
{
|
|
10857
|
-
|
|
10858
|
-
|
|
10859
|
-
|
|
10860
|
-
|
|
10861
|
-
|
|
10862
|
-
|
|
10863
|
-
|
|
10864
|
-
|
|
10865
|
-
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10872
|
-
|
|
10873
|
-
|
|
10735
|
+
style: {
|
|
10736
|
+
...messages.length > 0 ? { position: "absolute", inset: 0, zIndex: 5, background: "var(--chatllm-bg)" } : { flex: 1 },
|
|
10737
|
+
display: "flex",
|
|
10738
|
+
flexDirection: "column",
|
|
10739
|
+
justifyContent: "center",
|
|
10740
|
+
alignItems: "center",
|
|
10741
|
+
padding: "24px",
|
|
10742
|
+
gap: "24px",
|
|
10743
|
+
animation: welcomeExiting ? "chatllm-welcome-exit 0.3s ease forwards" : "none",
|
|
10744
|
+
pointerEvents: welcomeExiting ? "none" : "auto"
|
|
10745
|
+
},
|
|
10746
|
+
children: [
|
|
10747
|
+
/* @__PURE__ */ jsx20(
|
|
10748
|
+
"h1",
|
|
10749
|
+
{
|
|
10750
|
+
style: {
|
|
10751
|
+
fontSize: "26px",
|
|
10752
|
+
fontWeight: 600,
|
|
10753
|
+
color: "var(--chatllm-text)",
|
|
10754
|
+
margin: 0,
|
|
10755
|
+
textAlign: "center",
|
|
10756
|
+
lineHeight: 1.4
|
|
10757
|
+
},
|
|
10758
|
+
children: greeting ? `${greeting} \u273A` : "\u273A \uBB34\uC5C7\uC744 \uC0DD\uAC01\uD574 \uBCFC\uAE4C\uC694?"
|
|
10759
|
+
}
|
|
10760
|
+
),
|
|
10761
|
+
/* @__PURE__ */ jsx20("div", { style: { width: "100%", maxWidth: "680px" }, children: /* @__PURE__ */ jsx20(
|
|
10762
|
+
ChatInput,
|
|
10763
|
+
{
|
|
10764
|
+
value: input,
|
|
10765
|
+
onChange: setInput,
|
|
10766
|
+
onSubmit: handleSubmit,
|
|
10767
|
+
onStop: stopGeneration,
|
|
10768
|
+
isLoading,
|
|
10769
|
+
placeholder: "\uBA54\uC2DC\uC9C0\uB97C \uC785\uB825\uD558\uC138\uC694...",
|
|
10770
|
+
quotedText,
|
|
10771
|
+
onClearQuote: () => setQuotedText(null),
|
|
10772
|
+
selectedAction,
|
|
10773
|
+
onClearAction: () => setSelectedAction(null),
|
|
10774
|
+
onActionSelect: setSelectedAction,
|
|
10775
|
+
actions,
|
|
10776
|
+
onDeepResearch: toggleDeepResearchMode,
|
|
10777
|
+
isDeepResearchMode,
|
|
10778
|
+
deepResearchEnabled,
|
|
10779
|
+
manualSkills,
|
|
10780
|
+
onSkillSelect: executeManualSkill,
|
|
10781
|
+
activeSkillExecution,
|
|
10782
|
+
attachments,
|
|
10783
|
+
onFileAttach: addAttachments,
|
|
10784
|
+
onRemoveAttachment: removeAttachment,
|
|
10785
|
+
onDisclaimerClick: () => setDisclaimerOpen(true),
|
|
10786
|
+
inline: true
|
|
10787
|
+
}
|
|
10788
|
+
) }),
|
|
10789
|
+
suggestedPrompts && suggestedPrompts.length > 0 && /* @__PURE__ */ jsx20(
|
|
10790
|
+
"div",
|
|
10791
|
+
{
|
|
10792
|
+
style: {
|
|
10793
|
+
display: "flex",
|
|
10794
|
+
flexWrap: "wrap",
|
|
10795
|
+
gap: "8px",
|
|
10796
|
+
justifyContent: "center",
|
|
10797
|
+
maxWidth: "680px"
|
|
10798
|
+
},
|
|
10799
|
+
children: suggestedPrompts.map((sp) => /* @__PURE__ */ jsxs19(
|
|
10800
|
+
"button",
|
|
10801
|
+
{
|
|
10802
|
+
onClick: () => setInput(sp.prompt),
|
|
10803
|
+
style: {
|
|
10804
|
+
display: "flex",
|
|
10805
|
+
alignItems: "center",
|
|
10806
|
+
gap: "6px",
|
|
10807
|
+
padding: "8px 16px",
|
|
10808
|
+
borderRadius: "20px",
|
|
10809
|
+
border: "1px solid var(--chatllm-border)",
|
|
10810
|
+
background: "var(--chatllm-content-bg)",
|
|
10811
|
+
color: "var(--chatllm-text-secondary)",
|
|
10812
|
+
fontSize: "13px",
|
|
10813
|
+
fontFamily: "inherit",
|
|
10814
|
+
cursor: "pointer",
|
|
10815
|
+
transition: "all 0.2s"
|
|
10816
|
+
},
|
|
10817
|
+
children: [
|
|
10818
|
+
sp.icon && /* @__PURE__ */ jsx20(IconSvg, { name: sp.icon, size: 16, color: "var(--chatllm-text-muted)" }),
|
|
10819
|
+
sp.label
|
|
10820
|
+
]
|
|
10821
|
+
},
|
|
10822
|
+
sp.id
|
|
10823
|
+
))
|
|
10824
|
+
}
|
|
10825
|
+
)
|
|
10826
|
+
]
|
|
10874
10827
|
}
|
|
10875
10828
|
),
|
|
10876
|
-
/* @__PURE__ */
|
|
10877
|
-
|
|
10878
|
-
|
|
10879
|
-
|
|
10880
|
-
|
|
10881
|
-
|
|
10882
|
-
|
|
10883
|
-
|
|
10884
|
-
|
|
10885
|
-
|
|
10886
|
-
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
|
|
10890
|
-
|
|
10891
|
-
|
|
10892
|
-
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
|
|
10896
|
-
|
|
10897
|
-
|
|
10898
|
-
|
|
10899
|
-
|
|
10900
|
-
|
|
10901
|
-
|
|
10902
|
-
|
|
10829
|
+
messages.length > 0 && /* @__PURE__ */ jsxs19(Fragment8, { children: [
|
|
10830
|
+
/* @__PURE__ */ jsx20(
|
|
10831
|
+
MessageList,
|
|
10832
|
+
{
|
|
10833
|
+
messages,
|
|
10834
|
+
isLoading,
|
|
10835
|
+
onCopy: copyMessage,
|
|
10836
|
+
onEdit: startEdit,
|
|
10837
|
+
onRegenerate: regenerate,
|
|
10838
|
+
onQuote: setQuotedText,
|
|
10839
|
+
onAskOtherModel: (userMessageId, assistantMessageId, targetModel) => askOtherModel(assistantMessageId, targetModel),
|
|
10840
|
+
onSetActiveAlternative: setActiveAlternative,
|
|
10841
|
+
activeAlternatives,
|
|
10842
|
+
models: hookModels,
|
|
10843
|
+
copiedId: copiedMessageId,
|
|
10844
|
+
editingId: editingMessageId,
|
|
10845
|
+
onChoiceClick: handleChoiceClick,
|
|
10846
|
+
showThinking,
|
|
10847
|
+
thinkingDefaultOpen,
|
|
10848
|
+
loadingAlternativeFor,
|
|
10849
|
+
onPollSubmit: handlePollSubmit
|
|
10850
|
+
}
|
|
10851
|
+
),
|
|
10852
|
+
/* @__PURE__ */ jsx20(
|
|
10853
|
+
ChatInput,
|
|
10854
|
+
{
|
|
10855
|
+
value: input,
|
|
10856
|
+
onChange: setInput,
|
|
10857
|
+
onSubmit: handleSubmit,
|
|
10858
|
+
onStop: stopGeneration,
|
|
10859
|
+
isLoading,
|
|
10860
|
+
placeholder: "\uBA54\uC2DC\uC9C0\uB97C \uC785\uB825\uD558\uC138\uC694...",
|
|
10861
|
+
quotedText,
|
|
10862
|
+
onClearQuote: () => setQuotedText(null),
|
|
10863
|
+
selectedAction,
|
|
10864
|
+
onClearAction: () => setSelectedAction(null),
|
|
10865
|
+
onActionSelect: setSelectedAction,
|
|
10866
|
+
actions,
|
|
10867
|
+
onDeepResearch: toggleDeepResearchMode,
|
|
10868
|
+
isDeepResearchMode,
|
|
10869
|
+
deepResearchEnabled,
|
|
10870
|
+
manualSkills,
|
|
10871
|
+
onSkillSelect: executeManualSkill,
|
|
10872
|
+
activeSkillExecution,
|
|
10873
|
+
attachments,
|
|
10874
|
+
onFileAttach: addAttachments,
|
|
10875
|
+
onRemoveAttachment: removeAttachment,
|
|
10876
|
+
onDisclaimerClick: () => setDisclaimerOpen(true)
|
|
10877
|
+
}
|
|
10878
|
+
)
|
|
10879
|
+
] })
|
|
10903
10880
|
]
|
|
10904
10881
|
}
|
|
10905
10882
|
),
|
|
10906
|
-
showSettings && /* @__PURE__ */
|
|
10883
|
+
showSettings && /* @__PURE__ */ jsx20(
|
|
10907
10884
|
SettingsModal,
|
|
10908
10885
|
{
|
|
10909
10886
|
isOpen: settingsOpen,
|
|
@@ -10930,7 +10907,7 @@ var ChatUIView = ({
|
|
|
10930
10907
|
currentProjectTitle: currentProject?.title
|
|
10931
10908
|
}
|
|
10932
10909
|
),
|
|
10933
|
-
/* @__PURE__ */
|
|
10910
|
+
/* @__PURE__ */ jsx20(
|
|
10934
10911
|
ProjectSettingsModal,
|
|
10935
10912
|
{
|
|
10936
10913
|
isOpen: projectSettingsOpen,
|
|
@@ -10942,7 +10919,7 @@ var ChatUIView = ({
|
|
|
10942
10919
|
onDeleteProject: deleteProject
|
|
10943
10920
|
}
|
|
10944
10921
|
),
|
|
10945
|
-
/* @__PURE__ */
|
|
10922
|
+
/* @__PURE__ */ jsx20(DisclaimerModal, { isOpen: disclaimerOpen, onClose: () => setDisclaimerOpen(false) })
|
|
10946
10923
|
]
|
|
10947
10924
|
}
|
|
10948
10925
|
);
|
|
@@ -10951,6 +10928,7 @@ var ChatUIWithHook = ({
|
|
|
10951
10928
|
models = DEFAULT_MODELS,
|
|
10952
10929
|
actions = DEFAULT_ACTIONS,
|
|
10953
10930
|
templates = DEFAULT_TEMPLATES,
|
|
10931
|
+
suggestedPrompts,
|
|
10954
10932
|
personalization,
|
|
10955
10933
|
onPersonalizationChange,
|
|
10956
10934
|
onPersonalizationSave,
|
|
@@ -11044,7 +11022,7 @@ var ChatUIWithHook = ({
|
|
|
11044
11022
|
onDeleteProjectFile
|
|
11045
11023
|
};
|
|
11046
11024
|
const state = useChatUI(hookOptions);
|
|
11047
|
-
return /* @__PURE__ */
|
|
11025
|
+
return /* @__PURE__ */ jsx20(
|
|
11048
11026
|
ChatUIView,
|
|
11049
11027
|
{
|
|
11050
11028
|
state,
|
|
@@ -11064,7 +11042,8 @@ var ChatUIWithHook = ({
|
|
|
11064
11042
|
className,
|
|
11065
11043
|
apiKey,
|
|
11066
11044
|
onApiKeyChange,
|
|
11067
|
-
deepResearchEnabled: !!deepResearch?.onWebSearch
|
|
11045
|
+
deepResearchEnabled: !!deepResearch?.onWebSearch,
|
|
11046
|
+
suggestedPrompts
|
|
11068
11047
|
}
|
|
11069
11048
|
);
|
|
11070
11049
|
};
|
|
@@ -11088,9 +11067,10 @@ var ChatUI = (props) => {
|
|
|
11088
11067
|
className = "",
|
|
11089
11068
|
apiKey,
|
|
11090
11069
|
onApiKeyChange,
|
|
11091
|
-
deepResearch
|
|
11070
|
+
deepResearch,
|
|
11071
|
+
suggestedPrompts: chatStateSuggestedPrompts
|
|
11092
11072
|
} = props;
|
|
11093
|
-
return /* @__PURE__ */
|
|
11073
|
+
return /* @__PURE__ */ jsx20(
|
|
11094
11074
|
ChatUIView,
|
|
11095
11075
|
{
|
|
11096
11076
|
state: props.chatState,
|
|
@@ -11110,11 +11090,12 @@ var ChatUI = (props) => {
|
|
|
11110
11090
|
className,
|
|
11111
11091
|
apiKey,
|
|
11112
11092
|
onApiKeyChange,
|
|
11113
|
-
deepResearchEnabled: !!deepResearch?.onWebSearch
|
|
11093
|
+
deepResearchEnabled: !!deepResearch?.onWebSearch,
|
|
11094
|
+
suggestedPrompts: chatStateSuggestedPrompts
|
|
11114
11095
|
}
|
|
11115
11096
|
);
|
|
11116
11097
|
}
|
|
11117
|
-
return /* @__PURE__ */
|
|
11098
|
+
return /* @__PURE__ */ jsx20(ChatUIWithHook, { ...props });
|
|
11118
11099
|
};
|
|
11119
11100
|
|
|
11120
11101
|
// src/react/hooks/useDeepResearch.ts
|
|
@@ -11431,6 +11412,144 @@ var useDeepResearch = (options) => {
|
|
|
11431
11412
|
};
|
|
11432
11413
|
};
|
|
11433
11414
|
|
|
11415
|
+
// src/react/components/EmptyState.tsx
|
|
11416
|
+
import { jsx as jsx21, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
11417
|
+
var EmptyState = ({
|
|
11418
|
+
greeting,
|
|
11419
|
+
templates = [],
|
|
11420
|
+
onTemplateClick,
|
|
11421
|
+
actions = [],
|
|
11422
|
+
onActionSelect
|
|
11423
|
+
}) => {
|
|
11424
|
+
const getActionIcon = (icon) => {
|
|
11425
|
+
const iconMap = {
|
|
11426
|
+
search: "search-line",
|
|
11427
|
+
image: "image-line",
|
|
11428
|
+
code: "code-s-slash-line",
|
|
11429
|
+
document: "file-text-line"
|
|
11430
|
+
};
|
|
11431
|
+
return iconMap[icon] || "sparkling-line";
|
|
11432
|
+
};
|
|
11433
|
+
const hasContent = actions.length > 0 || templates.length > 0;
|
|
11434
|
+
return /* @__PURE__ */ jsxs20(
|
|
11435
|
+
"div",
|
|
11436
|
+
{
|
|
11437
|
+
className: "chatllm-empty-state",
|
|
11438
|
+
style: {
|
|
11439
|
+
flex: 1,
|
|
11440
|
+
display: "flex",
|
|
11441
|
+
flexDirection: "column",
|
|
11442
|
+
alignItems: "center",
|
|
11443
|
+
justifyContent: hasContent ? "center" : "flex-end",
|
|
11444
|
+
padding: "48px 24px",
|
|
11445
|
+
paddingBottom: hasContent ? "200px" : "32px",
|
|
11446
|
+
textAlign: "center"
|
|
11447
|
+
},
|
|
11448
|
+
children: [
|
|
11449
|
+
/* @__PURE__ */ jsx21(
|
|
11450
|
+
"div",
|
|
11451
|
+
{
|
|
11452
|
+
className: "chatllm-sheet",
|
|
11453
|
+
style: {
|
|
11454
|
+
width: "64px",
|
|
11455
|
+
height: "64px",
|
|
11456
|
+
borderRadius: "16px",
|
|
11457
|
+
display: "flex",
|
|
11458
|
+
alignItems: "center",
|
|
11459
|
+
justifyContent: "center",
|
|
11460
|
+
marginBottom: "32px",
|
|
11461
|
+
color: "var(--chatllm-primary)"
|
|
11462
|
+
},
|
|
11463
|
+
children: /* @__PURE__ */ jsx21(IconSvg, { name: "chat-1-line", size: 40 })
|
|
11464
|
+
}
|
|
11465
|
+
),
|
|
11466
|
+
/* @__PURE__ */ jsx21(
|
|
11467
|
+
"h1",
|
|
11468
|
+
{
|
|
11469
|
+
style: {
|
|
11470
|
+
fontSize: "30px",
|
|
11471
|
+
fontWeight: 700,
|
|
11472
|
+
color: "var(--chatllm-text)",
|
|
11473
|
+
marginBottom: hasContent ? "40px" : "0",
|
|
11474
|
+
lineHeight: 1.3
|
|
11475
|
+
},
|
|
11476
|
+
children: "How can I help you today?"
|
|
11477
|
+
}
|
|
11478
|
+
),
|
|
11479
|
+
(actions.length > 0 || templates.length > 0) && /* @__PURE__ */ jsxs20(
|
|
11480
|
+
"div",
|
|
11481
|
+
{
|
|
11482
|
+
style: {
|
|
11483
|
+
display: "flex",
|
|
11484
|
+
flexWrap: "wrap",
|
|
11485
|
+
justifyContent: "center",
|
|
11486
|
+
gap: "12px",
|
|
11487
|
+
maxWidth: "800px",
|
|
11488
|
+
marginBottom: "48px"
|
|
11489
|
+
},
|
|
11490
|
+
children: [
|
|
11491
|
+
actions.map((action) => /* @__PURE__ */ jsxs20(
|
|
11492
|
+
"button",
|
|
11493
|
+
{
|
|
11494
|
+
onClick: () => onActionSelect?.(action),
|
|
11495
|
+
className: "chatllm-btn-secondary",
|
|
11496
|
+
style: {
|
|
11497
|
+
display: "flex",
|
|
11498
|
+
alignItems: "center",
|
|
11499
|
+
gap: "8px",
|
|
11500
|
+
padding: "12px 20px",
|
|
11501
|
+
fontSize: "14px",
|
|
11502
|
+
fontWeight: 500
|
|
11503
|
+
},
|
|
11504
|
+
children: [
|
|
11505
|
+
/* @__PURE__ */ jsx21(
|
|
11506
|
+
IconSvg,
|
|
11507
|
+
{
|
|
11508
|
+
name: getActionIcon(action.icon),
|
|
11509
|
+
size: 18,
|
|
11510
|
+
color: "var(--chatllm-primary)"
|
|
11511
|
+
}
|
|
11512
|
+
),
|
|
11513
|
+
action.label
|
|
11514
|
+
]
|
|
11515
|
+
},
|
|
11516
|
+
action.id
|
|
11517
|
+
)),
|
|
11518
|
+
templates.slice(0, 4).map((template) => /* @__PURE__ */ jsxs20(
|
|
11519
|
+
"button",
|
|
11520
|
+
{
|
|
11521
|
+
onClick: () => onTemplateClick(template),
|
|
11522
|
+
className: "chatllm-btn-secondary",
|
|
11523
|
+
style: {
|
|
11524
|
+
display: "flex",
|
|
11525
|
+
alignItems: "center",
|
|
11526
|
+
gap: "8px",
|
|
11527
|
+
padding: "12px 20px",
|
|
11528
|
+
fontSize: "14px",
|
|
11529
|
+
fontWeight: 500
|
|
11530
|
+
},
|
|
11531
|
+
children: [
|
|
11532
|
+
/* @__PURE__ */ jsx21(
|
|
11533
|
+
IconSvg,
|
|
11534
|
+
{
|
|
11535
|
+
name: "sparkling-line",
|
|
11536
|
+
size: 18,
|
|
11537
|
+
color: "var(--chatllm-primary)"
|
|
11538
|
+
}
|
|
11539
|
+
),
|
|
11540
|
+
template.title
|
|
11541
|
+
]
|
|
11542
|
+
},
|
|
11543
|
+
template.id
|
|
11544
|
+
))
|
|
11545
|
+
]
|
|
11546
|
+
}
|
|
11547
|
+
)
|
|
11548
|
+
]
|
|
11549
|
+
}
|
|
11550
|
+
);
|
|
11551
|
+
};
|
|
11552
|
+
|
|
11434
11553
|
// src/react/components/MemoryPanel.tsx
|
|
11435
11554
|
import { useState as useState19 } from "react";
|
|
11436
11555
|
import { jsx as jsx22, jsxs as jsxs21 } from "react/jsx-runtime";
|