@axiom-lattice/react-sdk 2.1.54 → 2.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +38 -1
- package/dist/index.d.ts +38 -1
- package/dist/index.js +1232 -1124
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +843 -736
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -3
package/dist/index.mjs
CHANGED
|
@@ -570,6 +570,7 @@ function useChat(threadId, assistantId, options = {}) {
|
|
|
570
570
|
chunkMessageMerger.current.removeMessageById(lastMessage.id);
|
|
571
571
|
const stopResumeStream = client.resumeStream(
|
|
572
572
|
{
|
|
573
|
+
assistantId,
|
|
573
574
|
threadId,
|
|
574
575
|
messageId: lastMessage.id,
|
|
575
576
|
knownContent: "",
|
|
@@ -1189,6 +1190,7 @@ var DEFAULT_CONFIG = {
|
|
|
1189
1190
|
enableSkillSlot: true,
|
|
1190
1191
|
enableAgentSlot: true,
|
|
1191
1192
|
enableMetricsDataSourceSlot: true,
|
|
1193
|
+
enableModelSelector: false,
|
|
1192
1194
|
sidebarMode: "icon",
|
|
1193
1195
|
sidebarDefaultExpanded: true,
|
|
1194
1196
|
sidebarShowToggle: true,
|
|
@@ -1895,6 +1897,7 @@ function AgentThreadProvider({
|
|
|
1895
1897
|
error: null
|
|
1896
1898
|
}));
|
|
1897
1899
|
const resumeStreamOptions = {
|
|
1900
|
+
assistantId: assistantId || clientAssistantId,
|
|
1898
1901
|
threadId,
|
|
1899
1902
|
messageId: targetMessageId,
|
|
1900
1903
|
knownContent: "",
|
|
@@ -8079,7 +8082,7 @@ import {
|
|
|
8079
8082
|
Space as Space28,
|
|
8080
8083
|
Typography as Typography33
|
|
8081
8084
|
} from "antd";
|
|
8082
|
-
import
|
|
8085
|
+
import React41, { useCallback as useCallback26, useContext as useContext10, useEffect as useEffect35, useRef as useRef21, useState as useState53 } from "react";
|
|
8083
8086
|
import { BrainCircuit as BrainCircuit3 } from "lucide-react";
|
|
8084
8087
|
|
|
8085
8088
|
// src/components/GenUI/HITLContainer.tsx
|
|
@@ -18224,6 +18227,95 @@ var MetricsDataSourcePicker = ({
|
|
|
18224
18227
|
] });
|
|
18225
18228
|
};
|
|
18226
18229
|
|
|
18230
|
+
// src/components/Chat/ModelSelector.tsx
|
|
18231
|
+
import { useState as useState50, useEffect as useEffect33, useCallback as useCallback25, useRef as useRef20 } from "react";
|
|
18232
|
+
import { Select as Select6 } from "antd";
|
|
18233
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
18234
|
+
var ModelSelector = ({
|
|
18235
|
+
value,
|
|
18236
|
+
onChange,
|
|
18237
|
+
defaultModelKey = "default",
|
|
18238
|
+
style
|
|
18239
|
+
}) => {
|
|
18240
|
+
const [models, setModels] = useState50([]);
|
|
18241
|
+
const [isLoading, setIsLoading] = useState50(false);
|
|
18242
|
+
const [internalValue, setInternalValue] = useState50(null);
|
|
18243
|
+
const [dropdownOpen, setDropdownOpen] = useState50(false);
|
|
18244
|
+
const [isHovered, setIsHovered] = useState50(false);
|
|
18245
|
+
const hasFetchedRef = useRef20(false);
|
|
18246
|
+
const hasSetDefaultRef = useRef20(false);
|
|
18247
|
+
const { get } = useApi();
|
|
18248
|
+
const selectedModelConfig = value !== void 0 ? value : internalValue;
|
|
18249
|
+
const setSelectedModelConfig = useCallback25((config) => {
|
|
18250
|
+
if (value === void 0) {
|
|
18251
|
+
setInternalValue(config);
|
|
18252
|
+
}
|
|
18253
|
+
onChange?.(config);
|
|
18254
|
+
}, [value, onChange]);
|
|
18255
|
+
const fetchModels = useCallback25(async () => {
|
|
18256
|
+
if (hasFetchedRef.current) return;
|
|
18257
|
+
hasFetchedRef.current = true;
|
|
18258
|
+
setIsLoading(true);
|
|
18259
|
+
try {
|
|
18260
|
+
const response = await get("/api/models");
|
|
18261
|
+
const modelList = response.data || [];
|
|
18262
|
+
setModels(modelList);
|
|
18263
|
+
if (!hasSetDefaultRef.current && !selectedModelConfig && modelList.length > 0) {
|
|
18264
|
+
hasSetDefaultRef.current = true;
|
|
18265
|
+
const defaultModel = modelList.find((m) => m.key === defaultModelKey);
|
|
18266
|
+
if (defaultModel) {
|
|
18267
|
+
setSelectedModelConfig({ modelKey: defaultModel.key });
|
|
18268
|
+
}
|
|
18269
|
+
}
|
|
18270
|
+
} catch (err) {
|
|
18271
|
+
console.error("Failed to fetch models:", err);
|
|
18272
|
+
} finally {
|
|
18273
|
+
setIsLoading(false);
|
|
18274
|
+
}
|
|
18275
|
+
}, [get, defaultModelKey]);
|
|
18276
|
+
useEffect33(() => {
|
|
18277
|
+
fetchModels();
|
|
18278
|
+
}, [fetchModels]);
|
|
18279
|
+
const handleChange = (modelKey) => {
|
|
18280
|
+
setSelectedModelConfig({ modelKey });
|
|
18281
|
+
setDropdownOpen(false);
|
|
18282
|
+
};
|
|
18283
|
+
const currentModel = models.find((m) => m.key === selectedModelConfig?.modelKey);
|
|
18284
|
+
const displayText = currentModel?.displayName || currentModel?.model || "Model";
|
|
18285
|
+
return /* @__PURE__ */ jsx76(
|
|
18286
|
+
"div",
|
|
18287
|
+
{
|
|
18288
|
+
onMouseEnter: () => setIsHovered(true),
|
|
18289
|
+
onMouseLeave: () => setIsHovered(false),
|
|
18290
|
+
style: {
|
|
18291
|
+
display: "inline-block",
|
|
18292
|
+
borderRadius: 8,
|
|
18293
|
+
backgroundColor: isHovered ? "rgba(0, 0, 0, 0.06)" : "transparent",
|
|
18294
|
+
transition: "background-color 0.2s ease"
|
|
18295
|
+
},
|
|
18296
|
+
children: /* @__PURE__ */ jsx76(
|
|
18297
|
+
Select6,
|
|
18298
|
+
{
|
|
18299
|
+
variant: "borderless",
|
|
18300
|
+
value: selectedModelConfig?.modelKey,
|
|
18301
|
+
onChange: handleChange,
|
|
18302
|
+
loading: isLoading,
|
|
18303
|
+
open: dropdownOpen,
|
|
18304
|
+
onDropdownVisibleChange: setDropdownOpen,
|
|
18305
|
+
style: { minWidth: 80, ...style },
|
|
18306
|
+
placeholder: "Model",
|
|
18307
|
+
suffixIcon: null,
|
|
18308
|
+
options: models.map((model) => ({
|
|
18309
|
+
value: model.key,
|
|
18310
|
+
label: model.displayName || model.model
|
|
18311
|
+
})),
|
|
18312
|
+
dropdownMatchSelectWidth: false
|
|
18313
|
+
}
|
|
18314
|
+
)
|
|
18315
|
+
}
|
|
18316
|
+
);
|
|
18317
|
+
};
|
|
18318
|
+
|
|
18227
18319
|
// src/components/Chat/SkillCategoryPrompts.tsx
|
|
18228
18320
|
import {
|
|
18229
18321
|
BulbOutlined,
|
|
@@ -18244,49 +18336,49 @@ import {
|
|
|
18244
18336
|
} from "@ant-design/icons";
|
|
18245
18337
|
import { Prompts } from "@ant-design/x";
|
|
18246
18338
|
import { Space as Space26, Typography as Typography31, Spin as Spin12 } from "antd";
|
|
18247
|
-
import { useEffect as
|
|
18339
|
+
import { useEffect as useEffect34, useState as useState51, useMemo as useMemo17 } from "react";
|
|
18248
18340
|
import { BrainCircuit as BrainCircuit2 } from "lucide-react";
|
|
18249
|
-
import { jsx as
|
|
18341
|
+
import { jsx as jsx77, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
18250
18342
|
var categoryConfig = {
|
|
18251
18343
|
business_analysis: {
|
|
18252
|
-
icon: /* @__PURE__ */
|
|
18344
|
+
icon: /* @__PURE__ */ jsx77(BarChartOutlined, {}),
|
|
18253
18345
|
color: "#1890FF",
|
|
18254
18346
|
label: "Business Analysis"
|
|
18255
18347
|
},
|
|
18256
18348
|
code_generation: {
|
|
18257
|
-
icon: /* @__PURE__ */
|
|
18349
|
+
icon: /* @__PURE__ */ jsx77(CodeOutlined6, {}),
|
|
18258
18350
|
color: "#722ED1",
|
|
18259
18351
|
label: "Code Generation"
|
|
18260
18352
|
},
|
|
18261
18353
|
document_processing: {
|
|
18262
|
-
icon: /* @__PURE__ */
|
|
18354
|
+
icon: /* @__PURE__ */ jsx77(FileTextOutlined9, {}),
|
|
18263
18355
|
color: "#52C41A",
|
|
18264
18356
|
label: "Document Processing"
|
|
18265
18357
|
},
|
|
18266
18358
|
data_analysis: {
|
|
18267
|
-
icon: /* @__PURE__ */
|
|
18359
|
+
icon: /* @__PURE__ */ jsx77(DatabaseOutlined2, {}),
|
|
18268
18360
|
color: "#13C2C2",
|
|
18269
18361
|
label: "Data Analysis"
|
|
18270
18362
|
},
|
|
18271
18363
|
tool_operation: {
|
|
18272
|
-
icon: /* @__PURE__ */
|
|
18364
|
+
icon: /* @__PURE__ */ jsx77(ToolOutlined4, {}),
|
|
18273
18365
|
color: "#FAAD14",
|
|
18274
18366
|
label: "Tool Operations"
|
|
18275
18367
|
},
|
|
18276
18368
|
general: {
|
|
18277
|
-
icon: /* @__PURE__ */
|
|
18369
|
+
icon: /* @__PURE__ */ jsx77(BulbOutlined, {}),
|
|
18278
18370
|
color: "#FFD700",
|
|
18279
18371
|
label: "General Skills"
|
|
18280
18372
|
},
|
|
18281
18373
|
global: {
|
|
18282
|
-
icon: /* @__PURE__ */
|
|
18374
|
+
icon: /* @__PURE__ */ jsx77(GlobalOutlined2, {}),
|
|
18283
18375
|
color: "#EB2F96",
|
|
18284
18376
|
label: "Global Skills"
|
|
18285
18377
|
}
|
|
18286
18378
|
};
|
|
18287
18379
|
var getCategoryConfig = (category) => {
|
|
18288
18380
|
return categoryConfig[category] || {
|
|
18289
|
-
icon: /* @__PURE__ */
|
|
18381
|
+
icon: /* @__PURE__ */ jsx77(TagsOutlined, {}),
|
|
18290
18382
|
color: "#8C8C8C",
|
|
18291
18383
|
label: category
|
|
18292
18384
|
};
|
|
@@ -18314,27 +18406,27 @@ var iconColors = [
|
|
|
18314
18406
|
// Magenta
|
|
18315
18407
|
];
|
|
18316
18408
|
var simpleIcons = [
|
|
18317
|
-
/* @__PURE__ */
|
|
18318
|
-
/* @__PURE__ */
|
|
18319
|
-
/* @__PURE__ */
|
|
18320
|
-
/* @__PURE__ */
|
|
18321
|
-
/* @__PURE__ */
|
|
18322
|
-
/* @__PURE__ */
|
|
18323
|
-
/* @__PURE__ */
|
|
18324
|
-
/* @__PURE__ */
|
|
18325
|
-
/* @__PURE__ */
|
|
18326
|
-
/* @__PURE__ */
|
|
18409
|
+
/* @__PURE__ */ jsx77(BulbOutlined, {}),
|
|
18410
|
+
/* @__PURE__ */ jsx77(RocketOutlined, {}),
|
|
18411
|
+
/* @__PURE__ */ jsx77(WarningOutlined, {}),
|
|
18412
|
+
/* @__PURE__ */ jsx77(CheckCircleOutlined5, {}),
|
|
18413
|
+
/* @__PURE__ */ jsx77(CoffeeOutlined2, {}),
|
|
18414
|
+
/* @__PURE__ */ jsx77(SmileOutlined, {}),
|
|
18415
|
+
/* @__PURE__ */ jsx77(FireOutlined, {}),
|
|
18416
|
+
/* @__PURE__ */ jsx77(BarChartOutlined, {}),
|
|
18417
|
+
/* @__PURE__ */ jsx77(CodeOutlined6, {}),
|
|
18418
|
+
/* @__PURE__ */ jsx77(DatabaseOutlined2, {})
|
|
18327
18419
|
];
|
|
18328
18420
|
var SkillCategoryPrompts = ({
|
|
18329
18421
|
senderRef,
|
|
18330
18422
|
visible = true
|
|
18331
18423
|
}) => {
|
|
18332
|
-
const [skills, setSkills] =
|
|
18333
|
-
const [loading, setLoading] =
|
|
18334
|
-
const [showAll, setShowAll] =
|
|
18424
|
+
const [skills, setSkills] = useState51([]);
|
|
18425
|
+
const [loading, setLoading] = useState51(false);
|
|
18426
|
+
const [showAll, setShowAll] = useState51(false);
|
|
18335
18427
|
const { get } = useApi();
|
|
18336
18428
|
const MAX_SIMPLE_ITEMS = 10;
|
|
18337
|
-
|
|
18429
|
+
useEffect34(() => {
|
|
18338
18430
|
const loadSkills = async () => {
|
|
18339
18431
|
setLoading(true);
|
|
18340
18432
|
try {
|
|
@@ -18372,8 +18464,8 @@ var SkillCategoryPrompts = ({
|
|
|
18372
18464
|
key: `skill_${skill.id}_${Date.now()}`,
|
|
18373
18465
|
props: {
|
|
18374
18466
|
label: /* @__PURE__ */ jsxs50(Space26, { size: 1, children: [
|
|
18375
|
-
/* @__PURE__ */
|
|
18376
|
-
/* @__PURE__ */
|
|
18467
|
+
/* @__PURE__ */ jsx77(BrainCircuit2, { size: 12 }),
|
|
18468
|
+
/* @__PURE__ */ jsx77(Typography31.Text, { children: skill.name })
|
|
18377
18469
|
] }),
|
|
18378
18470
|
value: `[Use Skill:${skill.name}]`
|
|
18379
18471
|
}
|
|
@@ -18389,13 +18481,13 @@ var SkillCategoryPrompts = ({
|
|
|
18389
18481
|
const getSimpleItems = () => {
|
|
18390
18482
|
const items = skills.slice(0, MAX_SIMPLE_ITEMS).map((skill, index) => ({
|
|
18391
18483
|
key: skill.id,
|
|
18392
|
-
icon: /* @__PURE__ */
|
|
18484
|
+
icon: /* @__PURE__ */ jsx77("span", { style: { color: iconColors[index % iconColors.length] }, children: simpleIcons[index % simpleIcons.length] }),
|
|
18393
18485
|
label: skill.name
|
|
18394
18486
|
}));
|
|
18395
18487
|
if (skills.length > MAX_SIMPLE_ITEMS || Object.keys(groupedSkills).length > 1) {
|
|
18396
18488
|
items.push({
|
|
18397
18489
|
key: "more",
|
|
18398
|
-
icon: /* @__PURE__ */
|
|
18490
|
+
icon: /* @__PURE__ */ jsx77(MoreOutlined, { style: { color: "#8C8C8C" } }),
|
|
18399
18491
|
description: "View more skill categories"
|
|
18400
18492
|
});
|
|
18401
18493
|
}
|
|
@@ -18404,7 +18496,7 @@ var SkillCategoryPrompts = ({
|
|
|
18404
18496
|
const getGroupedItems = (skillsList) => {
|
|
18405
18497
|
return skillsList.map((skill) => ({
|
|
18406
18498
|
key: skill.id,
|
|
18407
|
-
icon: /* @__PURE__ */
|
|
18499
|
+
icon: /* @__PURE__ */ jsx77(
|
|
18408
18500
|
BrainCircuit2,
|
|
18409
18501
|
{
|
|
18410
18502
|
size: 16,
|
|
@@ -18421,13 +18513,13 @@ var SkillCategoryPrompts = ({
|
|
|
18421
18513
|
return null;
|
|
18422
18514
|
}
|
|
18423
18515
|
if (loading) {
|
|
18424
|
-
return /* @__PURE__ */
|
|
18516
|
+
return /* @__PURE__ */ jsx77("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ jsx77(Spin12, { size: "large" }) });
|
|
18425
18517
|
}
|
|
18426
18518
|
if (skills.length === 0) {
|
|
18427
18519
|
return null;
|
|
18428
18520
|
}
|
|
18429
18521
|
if (!showAll) {
|
|
18430
|
-
return /* @__PURE__ */
|
|
18522
|
+
return /* @__PURE__ */ jsx77(
|
|
18431
18523
|
"div",
|
|
18432
18524
|
{
|
|
18433
18525
|
style: {
|
|
@@ -18436,7 +18528,7 @@ var SkillCategoryPrompts = ({
|
|
|
18436
18528
|
overflowY: "auto",
|
|
18437
18529
|
overflowX: "hidden"
|
|
18438
18530
|
},
|
|
18439
|
-
children: /* @__PURE__ */
|
|
18531
|
+
children: /* @__PURE__ */ jsx77(
|
|
18440
18532
|
Prompts,
|
|
18441
18533
|
{
|
|
18442
18534
|
title: "\u2728 Quick actions",
|
|
@@ -18463,7 +18555,7 @@ var SkillCategoryPrompts = ({
|
|
|
18463
18555
|
}
|
|
18464
18556
|
);
|
|
18465
18557
|
}
|
|
18466
|
-
return /* @__PURE__ */
|
|
18558
|
+
return /* @__PURE__ */ jsx77(
|
|
18467
18559
|
"div",
|
|
18468
18560
|
{
|
|
18469
18561
|
style: {
|
|
@@ -18474,12 +18566,12 @@ var SkillCategoryPrompts = ({
|
|
|
18474
18566
|
},
|
|
18475
18567
|
children: Object.entries(groupedSkills).map(([category, categorySkills]) => {
|
|
18476
18568
|
const config = getCategoryConfig(category);
|
|
18477
|
-
return /* @__PURE__ */
|
|
18569
|
+
return /* @__PURE__ */ jsx77("div", { style: { marginBottom: 16 }, children: /* @__PURE__ */ jsx77(
|
|
18478
18570
|
Prompts,
|
|
18479
18571
|
{
|
|
18480
18572
|
title: /* @__PURE__ */ jsxs50(Space26, { children: [
|
|
18481
|
-
/* @__PURE__ */
|
|
18482
|
-
/* @__PURE__ */
|
|
18573
|
+
/* @__PURE__ */ jsx77("span", { style: { color: config.color }, children: config.icon }),
|
|
18574
|
+
/* @__PURE__ */ jsx77("span", { children: config.label })
|
|
18483
18575
|
] }),
|
|
18484
18576
|
items: getGroupedItems(categorySkills),
|
|
18485
18577
|
onItemClick: (info) => {
|
|
@@ -18513,12 +18605,12 @@ import {
|
|
|
18513
18605
|
} from "@ant-design/icons";
|
|
18514
18606
|
import { Prompts as Prompts2 } from "@ant-design/x";
|
|
18515
18607
|
import { Space as Space27, Tabs } from "antd";
|
|
18516
|
-
import { useState as
|
|
18517
|
-
import { jsx as
|
|
18608
|
+
import { useState as useState52, useMemo as useMemo18 } from "react";
|
|
18609
|
+
import { jsx as jsx78, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
18518
18610
|
var defaultCategoryIcons = {
|
|
18519
|
-
financial: /* @__PURE__ */
|
|
18520
|
-
sales: /* @__PURE__ */
|
|
18521
|
-
operations: /* @__PURE__ */
|
|
18611
|
+
financial: /* @__PURE__ */ jsx78(DollarOutlined, {}),
|
|
18612
|
+
sales: /* @__PURE__ */ jsx78(LineChartOutlined, {}),
|
|
18613
|
+
operations: /* @__PURE__ */ jsx78(ToolOutlined5, {})
|
|
18522
18614
|
};
|
|
18523
18615
|
var defaultCategoryColors = {
|
|
18524
18616
|
financial: "#52C41A",
|
|
@@ -18732,14 +18824,14 @@ var BusinessAnalysisPrompts = ({
|
|
|
18732
18824
|
simpleModeTitle = "Quick Analysis",
|
|
18733
18825
|
expandModeTitle = "Analysis Categories"
|
|
18734
18826
|
}) => {
|
|
18735
|
-
const [showAll, setShowAll] =
|
|
18827
|
+
const [showAll, setShowAll] = useState52(false);
|
|
18736
18828
|
const { config } = useLatticeChatShellContext();
|
|
18737
18829
|
const analysisData = useMemo18(() => {
|
|
18738
18830
|
const customData = config.quickPromptsData;
|
|
18739
18831
|
if (customData && Array.isArray(customData) && customData.length > 0) {
|
|
18740
18832
|
return customData.map((category) => ({
|
|
18741
18833
|
...category,
|
|
18742
|
-
icon: category.icon || defaultCategoryIcons[category.key] || /* @__PURE__ */
|
|
18834
|
+
icon: category.icon || defaultCategoryIcons[category.key] || /* @__PURE__ */ jsx78(TagsOutlined2, {}),
|
|
18743
18835
|
color: category.color || defaultCategoryColors[category.key] || "#8C8C8C",
|
|
18744
18836
|
items: category.items.map((item) => ({
|
|
18745
18837
|
...item,
|
|
@@ -18750,7 +18842,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18750
18842
|
}
|
|
18751
18843
|
return defaultAnalysisData.map((category) => ({
|
|
18752
18844
|
...category,
|
|
18753
|
-
icon: defaultCategoryIcons[category.key] || /* @__PURE__ */
|
|
18845
|
+
icon: defaultCategoryIcons[category.key] || /* @__PURE__ */ jsx78(TagsOutlined2, {}),
|
|
18754
18846
|
color: defaultCategoryColors[category.key] || "#8C8C8C"
|
|
18755
18847
|
}));
|
|
18756
18848
|
}, [config.quickPromptsData]);
|
|
@@ -18770,13 +18862,13 @@ var BusinessAnalysisPrompts = ({
|
|
|
18770
18862
|
const getSimpleItems = () => {
|
|
18771
18863
|
const items = allItems.slice(0, maxSimpleItems).map((item, index) => ({
|
|
18772
18864
|
key: item.key,
|
|
18773
|
-
icon: /* @__PURE__ */
|
|
18865
|
+
icon: /* @__PURE__ */ jsx78("span", { style: { color: simpleModeColors[index % simpleModeColors.length] }, children: item.icon || /* @__PURE__ */ jsx78(TagsOutlined2, {}) }),
|
|
18774
18866
|
label: item.label
|
|
18775
18867
|
}));
|
|
18776
18868
|
if (allItems.length > maxSimpleItems || analysisData.length > 1) {
|
|
18777
18869
|
items.push({
|
|
18778
18870
|
key: "more",
|
|
18779
|
-
icon: /* @__PURE__ */
|
|
18871
|
+
icon: /* @__PURE__ */ jsx78(MoreOutlined2, { style: { color: "#8C8C8C" } }),
|
|
18780
18872
|
description: "View more analysis options"
|
|
18781
18873
|
});
|
|
18782
18874
|
}
|
|
@@ -18785,7 +18877,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18785
18877
|
const getGroupedItems = (items) => {
|
|
18786
18878
|
return items.map((item) => ({
|
|
18787
18879
|
key: item.key,
|
|
18788
|
-
icon: /* @__PURE__ */
|
|
18880
|
+
icon: /* @__PURE__ */ jsx78("span", { style: { color: "#8C8C8C" }, children: item.icon || /* @__PURE__ */ jsx78(TagsOutlined2, {}) }),
|
|
18789
18881
|
label: item.label,
|
|
18790
18882
|
description: item.description
|
|
18791
18883
|
}));
|
|
@@ -18794,7 +18886,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18794
18886
|
return null;
|
|
18795
18887
|
}
|
|
18796
18888
|
if (!showAll) {
|
|
18797
|
-
return /* @__PURE__ */
|
|
18889
|
+
return /* @__PURE__ */ jsx78(
|
|
18798
18890
|
"div",
|
|
18799
18891
|
{
|
|
18800
18892
|
style: {
|
|
@@ -18802,7 +18894,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18802
18894
|
maxWidth: "800px",
|
|
18803
18895
|
margin: "0 auto"
|
|
18804
18896
|
},
|
|
18805
|
-
children: /* @__PURE__ */
|
|
18897
|
+
children: /* @__PURE__ */ jsx78(
|
|
18806
18898
|
Prompts2,
|
|
18807
18899
|
{
|
|
18808
18900
|
title: simpleModeTitle,
|
|
@@ -18830,7 +18922,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18830
18922
|
}
|
|
18831
18923
|
);
|
|
18832
18924
|
}
|
|
18833
|
-
return /* @__PURE__ */
|
|
18925
|
+
return /* @__PURE__ */ jsx78(
|
|
18834
18926
|
"div",
|
|
18835
18927
|
{
|
|
18836
18928
|
style: {
|
|
@@ -18838,17 +18930,17 @@ var BusinessAnalysisPrompts = ({
|
|
|
18838
18930
|
maxWidth: "800px",
|
|
18839
18931
|
margin: "0 auto"
|
|
18840
18932
|
},
|
|
18841
|
-
children: /* @__PURE__ */
|
|
18933
|
+
children: /* @__PURE__ */ jsx78(
|
|
18842
18934
|
Tabs,
|
|
18843
18935
|
{
|
|
18844
18936
|
defaultActiveKey: analysisData[0]?.key,
|
|
18845
18937
|
items: analysisData.map((category) => ({
|
|
18846
18938
|
key: category.key,
|
|
18847
18939
|
label: /* @__PURE__ */ jsxs51(Space27, { children: [
|
|
18848
|
-
/* @__PURE__ */
|
|
18849
|
-
/* @__PURE__ */
|
|
18940
|
+
/* @__PURE__ */ jsx78("span", { style: { color: category.color }, children: category.icon }),
|
|
18941
|
+
/* @__PURE__ */ jsx78("span", { children: category.title })
|
|
18850
18942
|
] }),
|
|
18851
|
-
children: /* @__PURE__ */
|
|
18943
|
+
children: /* @__PURE__ */ jsx78(
|
|
18852
18944
|
Prompts2,
|
|
18853
18945
|
{
|
|
18854
18946
|
items: getGroupedItems(category.items),
|
|
@@ -18876,7 +18968,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18876
18968
|
};
|
|
18877
18969
|
|
|
18878
18970
|
// src/components/Chat/Chating.tsx
|
|
18879
|
-
import { Fragment as Fragment18, jsx as
|
|
18971
|
+
import { Fragment as Fragment18, jsx as jsx79, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
18880
18972
|
var slotConfig = [];
|
|
18881
18973
|
var Chating = ({
|
|
18882
18974
|
avatar,
|
|
@@ -18892,17 +18984,18 @@ var Chating = ({
|
|
|
18892
18984
|
showSender = true,
|
|
18893
18985
|
showHITL = true,
|
|
18894
18986
|
showRefreshButton = false,
|
|
18987
|
+
showModelSelector,
|
|
18895
18988
|
showEmptyState = true,
|
|
18896
18989
|
emptyStateGreeting,
|
|
18897
18990
|
emptyStateQuestion = "Ready to turn data into insightful charts in seconds?",
|
|
18898
18991
|
welcomePrefix = "Hey"
|
|
18899
18992
|
}) => {
|
|
18900
|
-
const [content, setContent] =
|
|
18901
|
-
const [attachedFiles, setAttachedFiles] =
|
|
18993
|
+
const [content, setContent] = useState53("");
|
|
18994
|
+
const [attachedFiles, setAttachedFiles] = useState53([]);
|
|
18902
18995
|
const { styles } = useStyle();
|
|
18903
|
-
const [headerOpen, setHeaderOpen] =
|
|
18904
|
-
const attachmentsRef =
|
|
18905
|
-
const senderRef =
|
|
18996
|
+
const [headerOpen, setHeaderOpen] = useState53(false);
|
|
18997
|
+
const attachmentsRef = useRef21(null);
|
|
18998
|
+
const senderRef = React41.useRef(null);
|
|
18906
18999
|
const {
|
|
18907
19000
|
assistantId,
|
|
18908
19001
|
threadId,
|
|
@@ -18916,14 +19009,16 @@ var Chating = ({
|
|
|
18916
19009
|
tenantId,
|
|
18917
19010
|
clearError,
|
|
18918
19011
|
threadStatus,
|
|
18919
|
-
pendingMessages
|
|
19012
|
+
pendingMessages,
|
|
19013
|
+
customRunConfig,
|
|
19014
|
+
updateCustomRunConfig
|
|
18920
19015
|
} = useAgentChat();
|
|
18921
19016
|
const isStreaming = isLoading;
|
|
18922
19017
|
const hasPendingMessages = pendingMessages?.length > 0;
|
|
18923
19018
|
const isInputDisabled = interrupts && interrupts.length > 0;
|
|
18924
19019
|
const typingFrames = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
|
|
18925
|
-
const [typingFrameIndex, setTypingFrameIndex] =
|
|
18926
|
-
|
|
19020
|
+
const [typingFrameIndex, setTypingFrameIndex] = useState53(0);
|
|
19021
|
+
useEffect35(() => {
|
|
18927
19022
|
if (!isStreaming) return;
|
|
18928
19023
|
const interval = setInterval(() => {
|
|
18929
19024
|
setTypingFrameIndex((prev) => (prev + 1) % typingFrames.length);
|
|
@@ -18931,9 +19026,16 @@ var Chating = ({
|
|
|
18931
19026
|
return () => clearInterval(interval);
|
|
18932
19027
|
}, [isStreaming]);
|
|
18933
19028
|
const conversationContext = useConversationContext();
|
|
18934
|
-
const [
|
|
18935
|
-
const
|
|
18936
|
-
|
|
19029
|
+
const [modelConfig, setModelConfig] = useState53(null);
|
|
19030
|
+
const handleModelChange = useCallback26((config2) => {
|
|
19031
|
+
setModelConfig(config2);
|
|
19032
|
+
if (config2) {
|
|
19033
|
+
updateCustomRunConfig({ modelConfig: config2 });
|
|
19034
|
+
}
|
|
19035
|
+
}, [updateCustomRunConfig]);
|
|
19036
|
+
const [isEmptyState, setIsEmptyState] = useState53(showEmptyState && messages.length === 0 && !pendingMessages?.length);
|
|
19037
|
+
const [isTransitioning, setIsTransitioning] = useState53(false);
|
|
19038
|
+
useEffect35(() => {
|
|
18937
19039
|
if (!showEmptyState) {
|
|
18938
19040
|
setIsEmptyState(false);
|
|
18939
19041
|
return;
|
|
@@ -18958,9 +19060,9 @@ var Chating = ({
|
|
|
18958
19060
|
const listPathByFolder = workspaceContext?.listPathByFolder ?? (async () => []);
|
|
18959
19061
|
const workspaceId = workspaceContext?.workspaceId ?? null;
|
|
18960
19062
|
const projectId = workspaceContext?.projectId ?? null;
|
|
18961
|
-
const [workspaceFiles, setWorkspaceFiles] =
|
|
18962
|
-
const [suggestionsLoading, setSuggestionsLoading] =
|
|
18963
|
-
const [suggestionsOpen, setSuggestionsOpen] =
|
|
19063
|
+
const [workspaceFiles, setWorkspaceFiles] = useState53([]);
|
|
19064
|
+
const [suggestionsLoading, setSuggestionsLoading] = useState53(false);
|
|
19065
|
+
const [suggestionsOpen, setSuggestionsOpen] = useState53(false);
|
|
18964
19066
|
const getFileIcon3 = (filename) => {
|
|
18965
19067
|
const ext = filename.split(".").pop()?.toLowerCase();
|
|
18966
19068
|
const iconStyle = { fontSize: 16 };
|
|
@@ -18971,30 +19073,30 @@ var Chating = ({
|
|
|
18971
19073
|
case "gif":
|
|
18972
19074
|
case "svg":
|
|
18973
19075
|
case "webp":
|
|
18974
|
-
return /* @__PURE__ */
|
|
19076
|
+
return /* @__PURE__ */ jsx79(FileImageOutlined5, { style: { ...iconStyle, color: "#52c41a" } });
|
|
18975
19077
|
case "pdf":
|
|
18976
|
-
return /* @__PURE__ */
|
|
19078
|
+
return /* @__PURE__ */ jsx79(FilePdfOutlined5, { style: { ...iconStyle, color: "#ff4d4f" } });
|
|
18977
19079
|
case "md":
|
|
18978
19080
|
case "markdown":
|
|
18979
|
-
return /* @__PURE__ */
|
|
19081
|
+
return /* @__PURE__ */ jsx79(FileMarkdownOutlined3, { style: { ...iconStyle, color: "#722ed1" } });
|
|
18980
19082
|
case "zip":
|
|
18981
19083
|
case "rar":
|
|
18982
19084
|
case "7z":
|
|
18983
|
-
return /* @__PURE__ */
|
|
19085
|
+
return /* @__PURE__ */ jsx79(FileZipOutlined3, { style: { ...iconStyle, color: "#faad14" } });
|
|
18984
19086
|
case "xls":
|
|
18985
19087
|
case "xlsx":
|
|
18986
19088
|
case "csv":
|
|
18987
|
-
return /* @__PURE__ */
|
|
19089
|
+
return /* @__PURE__ */ jsx79(FileExcelOutlined3, { style: { ...iconStyle, color: "#52c41a" } });
|
|
18988
19090
|
case "ppt":
|
|
18989
19091
|
case "pptx":
|
|
18990
|
-
return /* @__PURE__ */
|
|
19092
|
+
return /* @__PURE__ */ jsx79(FilePptOutlined2, { style: { ...iconStyle, color: "#fa8c16" } });
|
|
18991
19093
|
case "doc":
|
|
18992
19094
|
case "docx":
|
|
18993
|
-
return /* @__PURE__ */
|
|
19095
|
+
return /* @__PURE__ */ jsx79(FileWordOutlined3, { style: { ...iconStyle, color: "#2f54eb" } });
|
|
18994
19096
|
case "txt":
|
|
18995
|
-
return /* @__PURE__ */
|
|
19097
|
+
return /* @__PURE__ */ jsx79(FileTextOutlined10, { style: { ...iconStyle, color: "#8c8c8c" } });
|
|
18996
19098
|
default:
|
|
18997
|
-
return /* @__PURE__ */
|
|
19099
|
+
return /* @__PURE__ */ jsx79(FileUnknownOutlined5, { style: { ...iconStyle, color: "#bfbfbf" } });
|
|
18998
19100
|
}
|
|
18999
19101
|
};
|
|
19000
19102
|
const loadWorkspaceFiles = async () => {
|
|
@@ -19020,7 +19122,7 @@ var Chating = ({
|
|
|
19020
19122
|
setSuggestionsLoading(false);
|
|
19021
19123
|
}
|
|
19022
19124
|
};
|
|
19023
|
-
|
|
19125
|
+
useEffect35(() => {
|
|
19024
19126
|
regsiterElement("action_show_attachments_uploader", {
|
|
19025
19127
|
card_view: () => null,
|
|
19026
19128
|
action: (data) => {
|
|
@@ -19115,7 +19217,7 @@ var Chating = ({
|
|
|
19115
19217
|
}
|
|
19116
19218
|
return true;
|
|
19117
19219
|
};
|
|
19118
|
-
const senderHeader = /* @__PURE__ */
|
|
19220
|
+
const senderHeader = /* @__PURE__ */ jsx79(
|
|
19119
19221
|
Sender.Header,
|
|
19120
19222
|
{
|
|
19121
19223
|
title: "Attachments",
|
|
@@ -19127,7 +19229,7 @@ var Chating = ({
|
|
|
19127
19229
|
}
|
|
19128
19230
|
},
|
|
19129
19231
|
forceRender: true,
|
|
19130
|
-
children: /* @__PURE__ */
|
|
19232
|
+
children: /* @__PURE__ */ jsx79(
|
|
19131
19233
|
Attachments,
|
|
19132
19234
|
{
|
|
19133
19235
|
ref: attachmentsRef,
|
|
@@ -19151,7 +19253,7 @@ var Chating = ({
|
|
|
19151
19253
|
multiple: true,
|
|
19152
19254
|
maxCount: 10,
|
|
19153
19255
|
placeholder: (type) => ({
|
|
19154
|
-
icon: /* @__PURE__ */
|
|
19256
|
+
icon: /* @__PURE__ */ jsx79(CloudUploadOutlined, {}),
|
|
19155
19257
|
title: "Upload File",
|
|
19156
19258
|
description: attachment_placeholder
|
|
19157
19259
|
})
|
|
@@ -19163,34 +19265,38 @@ var Chating = ({
|
|
|
19163
19265
|
const showSkillSlot = config.enableSkillSlot;
|
|
19164
19266
|
const showAgentSlot = config.enableAgentSlot;
|
|
19165
19267
|
const showMetricsDataSourceSlot = config.enableMetricsDataSourceSlot;
|
|
19268
|
+
const shouldShowModelSelector = showModelSelector !== void 0 ? showModelSelector : config.enableModelSelector;
|
|
19166
19269
|
const senderFooter = (actionNode) => {
|
|
19167
19270
|
const hasSlotButtons = showAgentSlot || showDatabaseSlot || showSkillSlot || showMetricsDataSourceSlot;
|
|
19168
19271
|
return /* @__PURE__ */ jsxs52(Flex5, { justify: "space-between", align: "center", style: { padding: "8px 0" }, children: [
|
|
19169
19272
|
/* @__PURE__ */ jsxs52(Flex5, { align: "center", gap: 8, children: [
|
|
19170
|
-
/* @__PURE__ */
|
|
19273
|
+
/* @__PURE__ */ jsx79(Badge5, { dot: attachedFiles.length > 0 && !headerOpen, children: /* @__PURE__ */ jsx79(
|
|
19171
19274
|
Button37,
|
|
19172
19275
|
{
|
|
19173
19276
|
type: "text",
|
|
19174
|
-
icon: /* @__PURE__ */
|
|
19277
|
+
icon: /* @__PURE__ */ jsx79(PaperClipOutlined, {}),
|
|
19175
19278
|
onClick: () => setHeaderOpen(!headerOpen)
|
|
19176
19279
|
}
|
|
19177
19280
|
) }),
|
|
19178
|
-
/* @__PURE__ */
|
|
19281
|
+
/* @__PURE__ */ jsx79(Divider6, { type: "vertical", style: { margin: 0 } }),
|
|
19179
19282
|
hasSlotButtons && /* @__PURE__ */ jsxs52(Flex5, { align: "center", gap: 8, children: [
|
|
19180
|
-
showAgentSlot && /* @__PURE__ */
|
|
19181
|
-
showDatabaseSlot && /* @__PURE__ */
|
|
19182
|
-
showSkillSlot && /* @__PURE__ */
|
|
19183
|
-
showMetricsDataSourceSlot && /* @__PURE__ */
|
|
19283
|
+
showAgentSlot && /* @__PURE__ */ jsx79(AgentPicker, { senderRef, iconOnly: true }),
|
|
19284
|
+
showDatabaseSlot && /* @__PURE__ */ jsx79(DatabasePicker, { senderRef, iconOnly: true }),
|
|
19285
|
+
showSkillSlot && /* @__PURE__ */ jsx79(SkillPicker, { senderRef, iconOnly: true }),
|
|
19286
|
+
showMetricsDataSourceSlot && /* @__PURE__ */ jsx79(MetricsDataSourcePicker, { senderRef, iconOnly: true })
|
|
19184
19287
|
] })
|
|
19185
19288
|
] }),
|
|
19186
|
-
|
|
19289
|
+
/* @__PURE__ */ jsxs52(Flex5, { align: "center", gap: 8, children: [
|
|
19290
|
+
shouldShowModelSelector && /* @__PURE__ */ jsx79(ModelSelector, { value: modelConfig, onChange: handleModelChange }),
|
|
19291
|
+
actionNode
|
|
19292
|
+
] })
|
|
19187
19293
|
] });
|
|
19188
19294
|
};
|
|
19189
|
-
const refreshButton = /* @__PURE__ */
|
|
19295
|
+
const refreshButton = /* @__PURE__ */ jsx79(
|
|
19190
19296
|
Button37,
|
|
19191
19297
|
{
|
|
19192
19298
|
type: "text",
|
|
19193
|
-
icon: /* @__PURE__ */
|
|
19299
|
+
icon: /* @__PURE__ */ jsx79(ReloadOutlined2, {}),
|
|
19194
19300
|
onClick: () => {
|
|
19195
19301
|
loadMessages();
|
|
19196
19302
|
}
|
|
@@ -19198,10 +19304,10 @@ var Chating = ({
|
|
|
19198
19304
|
);
|
|
19199
19305
|
const headerExtra = [
|
|
19200
19306
|
...showRefreshButton ? [refreshButton] : [],
|
|
19201
|
-
/* @__PURE__ */
|
|
19307
|
+
/* @__PURE__ */ jsx79(ThreadManagementButtons, {}, "thread-buttons")
|
|
19202
19308
|
];
|
|
19203
|
-
const [skills, setSkills] =
|
|
19204
|
-
const [skillsLoading, setSkillsLoading] =
|
|
19309
|
+
const [skills, setSkills] = useState53([]);
|
|
19310
|
+
const [skillsLoading, setSkillsLoading] = useState53(false);
|
|
19205
19311
|
const { get: apiGet } = useApi();
|
|
19206
19312
|
const loadSkills = async () => {
|
|
19207
19313
|
if (skills.length > 0) return;
|
|
@@ -19225,10 +19331,10 @@ var Chating = ({
|
|
|
19225
19331
|
return isEmpty ? "Type / to see available skills, or @ to reference files" : void 0;
|
|
19226
19332
|
};
|
|
19227
19333
|
const renderSender = (isEmpty) => {
|
|
19228
|
-
const [suggestionMode, setSuggestionMode] =
|
|
19334
|
+
const [suggestionMode, setSuggestionMode] = useState53(null);
|
|
19229
19335
|
const suggestionItems = suggestionMode === "skills" ? skills.map((skill) => ({
|
|
19230
19336
|
value: skill.name,
|
|
19231
|
-
icon: /* @__PURE__ */
|
|
19337
|
+
icon: /* @__PURE__ */ jsx79(BrainCircuit3, { size: 14, style: { color: "#722ed1" } }),
|
|
19232
19338
|
label: skill.name,
|
|
19233
19339
|
description: skill.description?.slice(0, 50) + (skill.description?.length > 50 ? "..." : "")
|
|
19234
19340
|
})) : workspaceFiles.map((file) => ({
|
|
@@ -19236,7 +19342,7 @@ var Chating = ({
|
|
|
19236
19342
|
icon: getFileIcon3(file.name || file.path),
|
|
19237
19343
|
label: file.path
|
|
19238
19344
|
}));
|
|
19239
|
-
return /* @__PURE__ */
|
|
19345
|
+
return /* @__PURE__ */ jsx79(
|
|
19240
19346
|
Suggestion,
|
|
19241
19347
|
{
|
|
19242
19348
|
items: suggestionItems,
|
|
@@ -19248,8 +19354,8 @@ var Chating = ({
|
|
|
19248
19354
|
key: `skill_${itemVal}_${Date.now()}`,
|
|
19249
19355
|
props: {
|
|
19250
19356
|
label: /* @__PURE__ */ jsxs52(Space28, { size: 1, children: [
|
|
19251
|
-
/* @__PURE__ */
|
|
19252
|
-
/* @__PURE__ */
|
|
19357
|
+
/* @__PURE__ */ jsx79(BrainCircuit3, { size: 12 }),
|
|
19358
|
+
/* @__PURE__ */ jsx79(Typography33.Text, { children: itemVal })
|
|
19253
19359
|
] }),
|
|
19254
19360
|
value: `[Use Skill:${itemVal}]`
|
|
19255
19361
|
}
|
|
@@ -19268,7 +19374,7 @@ var Chating = ({
|
|
|
19268
19374
|
], "cursor", "@");
|
|
19269
19375
|
}
|
|
19270
19376
|
},
|
|
19271
|
-
children: ({ onTrigger, onKeyDown }) => /* @__PURE__ */
|
|
19377
|
+
children: ({ onTrigger, onKeyDown }) => /* @__PURE__ */ jsx79(
|
|
19272
19378
|
Sender,
|
|
19273
19379
|
{
|
|
19274
19380
|
slotConfig,
|
|
@@ -19317,7 +19423,7 @@ var Chating = ({
|
|
|
19317
19423
|
);
|
|
19318
19424
|
};
|
|
19319
19425
|
return /* @__PURE__ */ jsxs52(Fragment18, { children: [
|
|
19320
|
-
/* @__PURE__ */
|
|
19426
|
+
/* @__PURE__ */ jsx79(
|
|
19321
19427
|
"div",
|
|
19322
19428
|
{
|
|
19323
19429
|
className: styles.fixedHeader,
|
|
@@ -19326,7 +19432,7 @@ var Chating = ({
|
|
|
19326
19432
|
pointerEvents: isEmptyState ? "none" : "auto",
|
|
19327
19433
|
transition: "opacity 0.3s ease"
|
|
19328
19434
|
},
|
|
19329
|
-
children: showHeader && /* @__PURE__ */
|
|
19435
|
+
children: showHeader && /* @__PURE__ */ jsx79(
|
|
19330
19436
|
AgentHeader,
|
|
19331
19437
|
{
|
|
19332
19438
|
name,
|
|
@@ -19355,22 +19461,22 @@ var Chating = ({
|
|
|
19355
19461
|
className: `${styles.emptyStateContainer} ${isTransitioning ? styles.exiting : ""}`,
|
|
19356
19462
|
children: [
|
|
19357
19463
|
/* @__PURE__ */ jsxs52("div", { className: styles.welcomeSection, children: [
|
|
19358
|
-
/* @__PURE__ */
|
|
19464
|
+
/* @__PURE__ */ jsx79("div", { className: styles.greeting, children: emptyStateGreeting ? emptyStateGreeting : /* @__PURE__ */ jsxs52(Fragment18, { children: [
|
|
19359
19465
|
welcomePrefix,
|
|
19360
19466
|
" ",
|
|
19361
|
-
/* @__PURE__ */
|
|
19467
|
+
/* @__PURE__ */ jsx79("span", { className: "user-name", children: displayUserName })
|
|
19362
19468
|
] }) }),
|
|
19363
|
-
/* @__PURE__ */
|
|
19469
|
+
/* @__PURE__ */ jsx79("div", { className: styles.question, children: emptyStateQuestion })
|
|
19364
19470
|
] }),
|
|
19365
|
-
config.enableSkillSlot !== false && /* @__PURE__ */
|
|
19366
|
-
showSender && /* @__PURE__ */
|
|
19471
|
+
config.enableSkillSlot !== false && /* @__PURE__ */ jsx79("div", { className: styles.promptsWrapper, children: /* @__PURE__ */ jsx79(SkillCategoryPrompts, { senderRef, visible: true }) }),
|
|
19472
|
+
showSender && /* @__PURE__ */ jsx79(
|
|
19367
19473
|
"div",
|
|
19368
19474
|
{
|
|
19369
19475
|
className: `${styles.emptyStateSenderWrapper} ${isTransitioning ? styles.transitioning : ""}`,
|
|
19370
19476
|
children: renderSender(true)
|
|
19371
19477
|
}
|
|
19372
19478
|
),
|
|
19373
|
-
showSender && !(interrupts && interrupts.length > 0) && /* @__PURE__ */
|
|
19479
|
+
showSender && !(interrupts && interrupts.length > 0) && /* @__PURE__ */ jsx79("div", { style: { marginTop: 24 }, children: /* @__PURE__ */ jsx79(
|
|
19374
19480
|
BusinessAnalysisPrompts,
|
|
19375
19481
|
{
|
|
19376
19482
|
visible: true,
|
|
@@ -19384,15 +19490,15 @@ var Chating = ({
|
|
|
19384
19490
|
}
|
|
19385
19491
|
),
|
|
19386
19492
|
!isEmptyState && /* @__PURE__ */ jsxs52(Fragment18, { children: [
|
|
19387
|
-
/* @__PURE__ */
|
|
19493
|
+
/* @__PURE__ */ jsx79(
|
|
19388
19494
|
MessageList,
|
|
19389
19495
|
{
|
|
19390
19496
|
messages,
|
|
19391
19497
|
className: `${styles.messages} ${isTransitioning ? styles.entering : ""}`
|
|
19392
19498
|
}
|
|
19393
19499
|
),
|
|
19394
|
-
!isLoading && messages.length > 0 && /* @__PURE__ */
|
|
19395
|
-
error && /* @__PURE__ */
|
|
19500
|
+
!isLoading && messages.length > 0 && /* @__PURE__ */ jsx79(Prompts3, { items: senderPromptsItems, onItemClick: onPromptsItemClick }),
|
|
19501
|
+
error && /* @__PURE__ */ jsx79("div", { style: { padding: "0 16px 8px" }, children: /* @__PURE__ */ jsx79(
|
|
19396
19502
|
Alert7,
|
|
19397
19503
|
{
|
|
19398
19504
|
type: "error",
|
|
@@ -19402,19 +19508,19 @@ var Chating = ({
|
|
|
19402
19508
|
message: `${error.message}`
|
|
19403
19509
|
}
|
|
19404
19510
|
) }),
|
|
19405
|
-
showHITL && /* @__PURE__ */
|
|
19406
|
-
/* @__PURE__ */
|
|
19407
|
-
showSender && /* @__PURE__ */
|
|
19511
|
+
showHITL && /* @__PURE__ */ jsx79(HITLContainer, {}),
|
|
19512
|
+
/* @__PURE__ */ jsx79(PendingMessagesContainer, {}),
|
|
19513
|
+
showSender && /* @__PURE__ */ jsx79("div", { className: `${styles.senderContainer} ${isTransitioning ? styles.entering : ""}`, children: renderSender(false) })
|
|
19408
19514
|
] })
|
|
19409
19515
|
] });
|
|
19410
19516
|
};
|
|
19411
19517
|
|
|
19412
19518
|
// src/components/GenUI/elements/task_detail.tsx
|
|
19413
|
-
import { jsx as
|
|
19519
|
+
import { jsx as jsx80 } from "react/jsx-runtime";
|
|
19414
19520
|
var { Text: Text24 } = Typography34;
|
|
19415
19521
|
var TaskDetail = ({ data, component_key, interactive = true }) => {
|
|
19416
19522
|
const { description, subagent_type, thread_id } = data || {};
|
|
19417
|
-
return /* @__PURE__ */
|
|
19523
|
+
return /* @__PURE__ */ jsx80(
|
|
19418
19524
|
AgentThreadProvider,
|
|
19419
19525
|
{
|
|
19420
19526
|
threadId: thread_id,
|
|
@@ -19424,7 +19530,7 @@ var TaskDetail = ({ data, component_key, interactive = true }) => {
|
|
|
19424
19530
|
enableReturnStateWhenStreamCompleted: true,
|
|
19425
19531
|
enableResumeStream: true
|
|
19426
19532
|
},
|
|
19427
|
-
children: /* @__PURE__ */
|
|
19533
|
+
children: /* @__PURE__ */ jsx80("div", { style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx80(
|
|
19428
19534
|
Chating,
|
|
19429
19535
|
{
|
|
19430
19536
|
showRefreshButton: true,
|
|
@@ -19444,7 +19550,7 @@ import {
|
|
|
19444
19550
|
SearchOutlined
|
|
19445
19551
|
} from "@ant-design/icons";
|
|
19446
19552
|
import { createStyles as createStyles18 } from "antd-style";
|
|
19447
|
-
import { jsx as
|
|
19553
|
+
import { jsx as jsx81, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
19448
19554
|
var { Text: Text25 } = Typography35;
|
|
19449
19555
|
var useStyle9 = createStyles18(({ token, css }) => ({
|
|
19450
19556
|
listContainer: css`
|
|
@@ -19560,16 +19666,16 @@ var InternetSearchCard = ({
|
|
|
19560
19666
|
return null;
|
|
19561
19667
|
}
|
|
19562
19668
|
const header = /* @__PURE__ */ jsxs53(Space29, { children: [
|
|
19563
|
-
/* @__PURE__ */
|
|
19564
|
-
/* @__PURE__ */
|
|
19669
|
+
/* @__PURE__ */ jsx81(Text25, { strong: true, children: "Internet Search" }),
|
|
19670
|
+
/* @__PURE__ */ jsx81(Text25, { title: query, children: query })
|
|
19565
19671
|
] });
|
|
19566
|
-
return /* @__PURE__ */
|
|
19672
|
+
return /* @__PURE__ */ jsx81(
|
|
19567
19673
|
ContentPreviewCollapse,
|
|
19568
19674
|
{
|
|
19569
19675
|
panelKey: toolCallData.id,
|
|
19570
19676
|
header,
|
|
19571
|
-
expandIcon: () => /* @__PURE__ */
|
|
19572
|
-
children: /* @__PURE__ */
|
|
19677
|
+
expandIcon: () => /* @__PURE__ */ jsx81(SearchOutlined, {}),
|
|
19678
|
+
children: /* @__PURE__ */ jsx81(
|
|
19573
19679
|
List11,
|
|
19574
19680
|
{
|
|
19575
19681
|
size: "small",
|
|
@@ -19579,10 +19685,10 @@ var InternetSearchCard = ({
|
|
|
19579
19685
|
const domain = getDomainFromUrl(url);
|
|
19580
19686
|
const iconText = getIconText(domain);
|
|
19581
19687
|
const iconColor = getIconColor(domain);
|
|
19582
|
-
return /* @__PURE__ */
|
|
19583
|
-
/* @__PURE__ */
|
|
19688
|
+
return /* @__PURE__ */ jsx81(List11.Item, { extra: /* @__PURE__ */ jsx81(Text25, { className: styles.source, children: domain }), children: /* @__PURE__ */ jsxs53(Space29, { style: { width: "100%" }, children: [
|
|
19689
|
+
/* @__PURE__ */ jsx81(Avatar7, { style: { background: iconColor }, children: iconText }),
|
|
19584
19690
|
" ",
|
|
19585
|
-
/* @__PURE__ */
|
|
19691
|
+
/* @__PURE__ */ jsx81(
|
|
19586
19692
|
Button38,
|
|
19587
19693
|
{
|
|
19588
19694
|
type: "text",
|
|
@@ -19605,7 +19711,7 @@ var InternetSearchCard = ({
|
|
|
19605
19711
|
};
|
|
19606
19712
|
|
|
19607
19713
|
// src/components/GenUI/elements/schedule_viewer.tsx
|
|
19608
|
-
import { useState as
|
|
19714
|
+
import { useState as useState54, useEffect as useEffect36, useCallback as useCallback27 } from "react";
|
|
19609
19715
|
import {
|
|
19610
19716
|
Tag as Tag15,
|
|
19611
19717
|
Button as Button39,
|
|
@@ -19638,7 +19744,7 @@ import {
|
|
|
19638
19744
|
ScheduledTaskStatus as ScheduledTaskStatus2,
|
|
19639
19745
|
ScheduleExecutionType
|
|
19640
19746
|
} from "@axiom-lattice/client-sdk";
|
|
19641
|
-
import { jsx as
|
|
19747
|
+
import { jsx as jsx82, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
19642
19748
|
dayjs2.extend(relativeTime);
|
|
19643
19749
|
var { Text: Text26, Title: Title5 } = Typography36;
|
|
19644
19750
|
var useStyles7 = createStyles19(({ token, css }) => ({
|
|
@@ -19738,19 +19844,19 @@ var getStatusColor = (status) => {
|
|
|
19738
19844
|
var getStatusIcon2 = (status) => {
|
|
19739
19845
|
switch (status) {
|
|
19740
19846
|
case ScheduledTaskStatus2.PENDING:
|
|
19741
|
-
return /* @__PURE__ */
|
|
19847
|
+
return /* @__PURE__ */ jsx82(ClockCircleOutlined3, {});
|
|
19742
19848
|
case ScheduledTaskStatus2.RUNNING:
|
|
19743
|
-
return /* @__PURE__ */
|
|
19849
|
+
return /* @__PURE__ */ jsx82(SyncOutlined2, { spin: true });
|
|
19744
19850
|
case ScheduledTaskStatus2.COMPLETED:
|
|
19745
|
-
return /* @__PURE__ */
|
|
19851
|
+
return /* @__PURE__ */ jsx82(CheckCircleOutlined6, {});
|
|
19746
19852
|
case ScheduledTaskStatus2.FAILED:
|
|
19747
|
-
return /* @__PURE__ */
|
|
19853
|
+
return /* @__PURE__ */ jsx82(CloseCircleOutlined2, {});
|
|
19748
19854
|
case ScheduledTaskStatus2.CANCELLED:
|
|
19749
|
-
return /* @__PURE__ */
|
|
19855
|
+
return /* @__PURE__ */ jsx82(StopOutlined, {});
|
|
19750
19856
|
case ScheduledTaskStatus2.PAUSED:
|
|
19751
|
-
return /* @__PURE__ */
|
|
19857
|
+
return /* @__PURE__ */ jsx82(PauseCircleOutlined, {});
|
|
19752
19858
|
default:
|
|
19753
|
-
return /* @__PURE__ */
|
|
19859
|
+
return /* @__PURE__ */ jsx82(ClockCircleOutlined3, {});
|
|
19754
19860
|
}
|
|
19755
19861
|
};
|
|
19756
19862
|
var formatTime = (timestamp) => {
|
|
@@ -19765,10 +19871,10 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19765
19871
|
const { styles } = useStyles7();
|
|
19766
19872
|
const { threadId, assistantId, tasks: initialTasks, onRefresh } = data ?? {};
|
|
19767
19873
|
const client = useClient(assistantId || "");
|
|
19768
|
-
const [tasks, setTasks] =
|
|
19769
|
-
const [loading, setLoading] =
|
|
19770
|
-
const [actionLoading, setActionLoading] =
|
|
19771
|
-
const handleRefresh =
|
|
19874
|
+
const [tasks, setTasks] = useState54(initialTasks || []);
|
|
19875
|
+
const [loading, setLoading] = useState54(false);
|
|
19876
|
+
const [actionLoading, setActionLoading] = useState54(null);
|
|
19877
|
+
const handleRefresh = useCallback27(async () => {
|
|
19772
19878
|
if (!threadId) return;
|
|
19773
19879
|
setLoading(true);
|
|
19774
19880
|
try {
|
|
@@ -19782,7 +19888,7 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19782
19888
|
setLoading(false);
|
|
19783
19889
|
}
|
|
19784
19890
|
}, [client, threadId, onRefresh]);
|
|
19785
|
-
const handleCancel =
|
|
19891
|
+
const handleCancel = useCallback27(
|
|
19786
19892
|
async (taskId) => {
|
|
19787
19893
|
setActionLoading(taskId);
|
|
19788
19894
|
try {
|
|
@@ -19798,7 +19904,7 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19798
19904
|
},
|
|
19799
19905
|
[client, handleRefresh]
|
|
19800
19906
|
);
|
|
19801
|
-
const handlePause =
|
|
19907
|
+
const handlePause = useCallback27(
|
|
19802
19908
|
async (taskId) => {
|
|
19803
19909
|
setActionLoading(taskId);
|
|
19804
19910
|
try {
|
|
@@ -19814,7 +19920,7 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19814
19920
|
},
|
|
19815
19921
|
[client, handleRefresh]
|
|
19816
19922
|
);
|
|
19817
|
-
const handleResume =
|
|
19923
|
+
const handleResume = useCallback27(
|
|
19818
19924
|
async (taskId) => {
|
|
19819
19925
|
setActionLoading(taskId);
|
|
19820
19926
|
try {
|
|
@@ -19830,12 +19936,12 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19830
19936
|
},
|
|
19831
19937
|
[client, handleRefresh]
|
|
19832
19938
|
);
|
|
19833
|
-
|
|
19939
|
+
useEffect36(() => {
|
|
19834
19940
|
if (threadId && (!initialTasks || initialTasks.length === 0)) {
|
|
19835
19941
|
handleRefresh();
|
|
19836
19942
|
}
|
|
19837
19943
|
}, [threadId]);
|
|
19838
|
-
|
|
19944
|
+
useEffect36(() => {
|
|
19839
19945
|
if (initialTasks) {
|
|
19840
19946
|
setTasks(initialTasks);
|
|
19841
19947
|
}
|
|
@@ -19846,27 +19952,27 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19846
19952
|
const isPaused = task.status === ScheduledTaskStatus2.PAUSED;
|
|
19847
19953
|
const isCron = task.executionType === ScheduleExecutionType.CRON;
|
|
19848
19954
|
return /* @__PURE__ */ jsxs54(Space30, { className: styles.actions, children: [
|
|
19849
|
-
isPending && isCron && /* @__PURE__ */
|
|
19955
|
+
isPending && isCron && /* @__PURE__ */ jsx82(Tooltip17, { title: "Pause", children: /* @__PURE__ */ jsx82(
|
|
19850
19956
|
Button39,
|
|
19851
19957
|
{
|
|
19852
19958
|
type: "text",
|
|
19853
19959
|
size: "small",
|
|
19854
|
-
icon: /* @__PURE__ */
|
|
19960
|
+
icon: /* @__PURE__ */ jsx82(PauseCircleOutlined, {}),
|
|
19855
19961
|
onClick: () => handlePause(task.taskId),
|
|
19856
19962
|
loading: isLoading
|
|
19857
19963
|
}
|
|
19858
19964
|
) }),
|
|
19859
|
-
isPaused && /* @__PURE__ */
|
|
19965
|
+
isPaused && /* @__PURE__ */ jsx82(Tooltip17, { title: "Resume", children: /* @__PURE__ */ jsx82(
|
|
19860
19966
|
Button39,
|
|
19861
19967
|
{
|
|
19862
19968
|
type: "text",
|
|
19863
19969
|
size: "small",
|
|
19864
|
-
icon: /* @__PURE__ */
|
|
19970
|
+
icon: /* @__PURE__ */ jsx82(PlayCircleOutlined2, {}),
|
|
19865
19971
|
onClick: () => handleResume(task.taskId),
|
|
19866
19972
|
loading: isLoading
|
|
19867
19973
|
}
|
|
19868
19974
|
) }),
|
|
19869
|
-
(isPending || isPaused) && /* @__PURE__ */
|
|
19975
|
+
(isPending || isPaused) && /* @__PURE__ */ jsx82(
|
|
19870
19976
|
Popconfirm4,
|
|
19871
19977
|
{
|
|
19872
19978
|
title: "Cancel this scheduled task?",
|
|
@@ -19874,13 +19980,13 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19874
19980
|
onConfirm: () => handleCancel(task.taskId),
|
|
19875
19981
|
okText: "Yes",
|
|
19876
19982
|
cancelText: "No",
|
|
19877
|
-
children: /* @__PURE__ */
|
|
19983
|
+
children: /* @__PURE__ */ jsx82(Tooltip17, { title: "Cancel", children: /* @__PURE__ */ jsx82(
|
|
19878
19984
|
Button39,
|
|
19879
19985
|
{
|
|
19880
19986
|
type: "text",
|
|
19881
19987
|
size: "small",
|
|
19882
19988
|
danger: true,
|
|
19883
|
-
icon: /* @__PURE__ */
|
|
19989
|
+
icon: /* @__PURE__ */ jsx82(StopOutlined, {}),
|
|
19884
19990
|
loading: isLoading
|
|
19885
19991
|
}
|
|
19886
19992
|
) })
|
|
@@ -19899,36 +20005,36 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19899
20005
|
children: [
|
|
19900
20006
|
/* @__PURE__ */ jsxs54("div", { className: styles.taskHeader, children: [
|
|
19901
20007
|
/* @__PURE__ */ jsxs54("div", { children: [
|
|
19902
|
-
/* @__PURE__ */
|
|
19903
|
-
/* @__PURE__ */
|
|
20008
|
+
/* @__PURE__ */ jsx82("div", { className: styles.taskType, children: task.taskType }),
|
|
20009
|
+
/* @__PURE__ */ jsx82("div", { className: styles.taskId, children: task.taskId })
|
|
19904
20010
|
] }),
|
|
19905
|
-
/* @__PURE__ */
|
|
20011
|
+
/* @__PURE__ */ jsx82(Tag15, { color: getStatusColor(task.status), icon: getStatusIcon2(task.status), children: task.status.toUpperCase() })
|
|
19906
20012
|
] }),
|
|
19907
20013
|
/* @__PURE__ */ jsxs54("div", { className: styles.metaRow, children: [
|
|
19908
|
-
/* @__PURE__ */
|
|
19909
|
-
/* @__PURE__ */
|
|
19910
|
-
/* @__PURE__ */
|
|
20014
|
+
/* @__PURE__ */ jsx82(Tooltip17, { title: "Execution Type", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20015
|
+
/* @__PURE__ */ jsx82(FieldTimeOutlined, {}),
|
|
20016
|
+
/* @__PURE__ */ jsx82("span", { children: task.executionType === ScheduleExecutionType.CRON ? "Recurring" : "One-time" })
|
|
19911
20017
|
] }) }),
|
|
19912
|
-
task.cronExpression && /* @__PURE__ */
|
|
19913
|
-
/* @__PURE__ */
|
|
19914
|
-
/* @__PURE__ */
|
|
20018
|
+
task.cronExpression && /* @__PURE__ */ jsx82(Tooltip17, { title: "Cron Expression", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20019
|
+
/* @__PURE__ */ jsx82(ClockCircleOutlined3, {}),
|
|
20020
|
+
/* @__PURE__ */ jsx82("code", { className: styles.cronExpression, children: task.cronExpression })
|
|
19915
20021
|
] }) }),
|
|
19916
|
-
task.nextRunAt && /* @__PURE__ */
|
|
19917
|
-
/* @__PURE__ */
|
|
20022
|
+
task.nextRunAt && /* @__PURE__ */ jsx82(Tooltip17, { title: `Next run: ${formatTime(task.nextRunAt)}`, children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20023
|
+
/* @__PURE__ */ jsx82(ClockCircleOutlined3, {}),
|
|
19918
20024
|
/* @__PURE__ */ jsxs54("span", { children: [
|
|
19919
20025
|
"Next: ",
|
|
19920
20026
|
getRelativeTime(task.nextRunAt)
|
|
19921
20027
|
] })
|
|
19922
20028
|
] }) }),
|
|
19923
|
-
task.executeAt && !task.cronExpression && /* @__PURE__ */
|
|
19924
|
-
/* @__PURE__ */
|
|
20029
|
+
task.executeAt && !task.cronExpression && /* @__PURE__ */ jsx82(Tooltip17, { title: `Execute at: ${formatTime(task.executeAt)}`, children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20030
|
+
/* @__PURE__ */ jsx82(ClockCircleOutlined3, {}),
|
|
19925
20031
|
/* @__PURE__ */ jsxs54("span", { children: [
|
|
19926
20032
|
"At: ",
|
|
19927
20033
|
getRelativeTime(task.executeAt)
|
|
19928
20034
|
] })
|
|
19929
20035
|
] }) }),
|
|
19930
|
-
task.runCount > 0 && /* @__PURE__ */
|
|
19931
|
-
/* @__PURE__ */
|
|
20036
|
+
task.runCount > 0 && /* @__PURE__ */ jsx82(Tooltip17, { title: "Run count", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20037
|
+
/* @__PURE__ */ jsx82(SyncOutlined2, {}),
|
|
19932
20038
|
/* @__PURE__ */ jsxs54("span", { children: [
|
|
19933
20039
|
"Runs: ",
|
|
19934
20040
|
task.runCount,
|
|
@@ -19936,11 +20042,11 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19936
20042
|
] })
|
|
19937
20043
|
] }) })
|
|
19938
20044
|
] }),
|
|
19939
|
-
task.lastError && /* @__PURE__ */
|
|
19940
|
-
/* @__PURE__ */
|
|
20045
|
+
task.lastError && /* @__PURE__ */ jsx82("div", { style: { marginTop: 8 }, children: /* @__PURE__ */ jsxs54(Text26, { type: "danger", style: { fontSize: 12 }, children: [
|
|
20046
|
+
/* @__PURE__ */ jsx82(ExclamationCircleOutlined, { style: { marginRight: 4 } }),
|
|
19941
20047
|
task.lastError
|
|
19942
20048
|
] }) }),
|
|
19943
|
-
task.metadata && Object.keys(task.metadata).length > 0 && /* @__PURE__ */
|
|
20049
|
+
task.metadata && Object.keys(task.metadata).length > 0 && /* @__PURE__ */ jsx82(
|
|
19944
20050
|
Descriptions,
|
|
19945
20051
|
{
|
|
19946
20052
|
size: "small",
|
|
@@ -19961,34 +20067,34 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19961
20067
|
};
|
|
19962
20068
|
return /* @__PURE__ */ jsxs54("div", { className: styles.container, children: [
|
|
19963
20069
|
/* @__PURE__ */ jsxs54("div", { className: styles.header, children: [
|
|
19964
|
-
/* @__PURE__ */
|
|
19965
|
-
/* @__PURE__ */
|
|
20070
|
+
/* @__PURE__ */ jsx82(Title5, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
|
|
20071
|
+
/* @__PURE__ */ jsx82(Tooltip17, { title: "Refresh", children: /* @__PURE__ */ jsx82(
|
|
19966
20072
|
Button39,
|
|
19967
20073
|
{
|
|
19968
20074
|
type: "text",
|
|
19969
|
-
icon: /* @__PURE__ */
|
|
20075
|
+
icon: /* @__PURE__ */ jsx82(ReloadOutlined3, { spin: loading }),
|
|
19970
20076
|
onClick: handleRefresh,
|
|
19971
20077
|
loading
|
|
19972
20078
|
}
|
|
19973
20079
|
) })
|
|
19974
20080
|
] }),
|
|
19975
20081
|
loading && tasks.length === 0 ? /* @__PURE__ */ jsxs54("div", { className: styles.emptyContainer, children: [
|
|
19976
|
-
/* @__PURE__ */
|
|
19977
|
-
/* @__PURE__ */
|
|
19978
|
-
] }) : tasks.length === 0 ? /* @__PURE__ */
|
|
20082
|
+
/* @__PURE__ */ jsx82(Spin13, { size: "large" }),
|
|
20083
|
+
/* @__PURE__ */ jsx82(Text26, { type: "secondary", style: { marginTop: 16 }, children: "Loading scheduled tasks..." })
|
|
20084
|
+
] }) : tasks.length === 0 ? /* @__PURE__ */ jsx82("div", { className: styles.emptyContainer, children: /* @__PURE__ */ jsx82(
|
|
19979
20085
|
Empty10,
|
|
19980
20086
|
{
|
|
19981
20087
|
image: Empty10.PRESENTED_IMAGE_SIMPLE,
|
|
19982
20088
|
description: "No scheduled tasks for this thread"
|
|
19983
20089
|
}
|
|
19984
|
-
) }) : /* @__PURE__ */
|
|
20090
|
+
) }) : /* @__PURE__ */ jsx82("div", { children: tasks.map(renderTask) })
|
|
19985
20091
|
] });
|
|
19986
20092
|
};
|
|
19987
20093
|
|
|
19988
20094
|
// src/components/GenUI/elements/browser_view_card.tsx
|
|
19989
20095
|
import { Button as Button40, Flex as Flex6, Typography as Typography37 } from "antd";
|
|
19990
20096
|
import { CheckCircleOutlined as CheckCircleOutlined7, InfoCircleOutlined as InfoCircleOutlined5, LoadingOutlined as LoadingOutlined3 } from "@ant-design/icons";
|
|
19991
|
-
import { jsx as
|
|
20097
|
+
import { jsx as jsx83, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
19992
20098
|
var { Text: Text27 } = Typography37;
|
|
19993
20099
|
var BrowserViewer = ({
|
|
19994
20100
|
data,
|
|
@@ -20006,11 +20112,11 @@ var BrowserViewer = ({
|
|
|
20006
20112
|
function getStatusIcon3(status) {
|
|
20007
20113
|
switch (status) {
|
|
20008
20114
|
case "success":
|
|
20009
|
-
return /* @__PURE__ */
|
|
20115
|
+
return /* @__PURE__ */ jsx83(CheckCircleOutlined7, { style: { color: "#52c41a" } });
|
|
20010
20116
|
case "error":
|
|
20011
|
-
return /* @__PURE__ */
|
|
20117
|
+
return /* @__PURE__ */ jsx83(InfoCircleOutlined5, { style: { color: "#ff4d4f" } });
|
|
20012
20118
|
default:
|
|
20013
|
-
return /* @__PURE__ */
|
|
20119
|
+
return /* @__PURE__ */ jsx83(LoadingOutlined3, { style: { color: "#1890ff" } });
|
|
20014
20120
|
}
|
|
20015
20121
|
}
|
|
20016
20122
|
const formatToolName = (name) => {
|
|
@@ -20032,8 +20138,8 @@ var BrowserViewer = ({
|
|
|
20032
20138
|
}
|
|
20033
20139
|
};
|
|
20034
20140
|
const header = /* @__PURE__ */ jsxs55(Flex6, { align: "center", wrap: "wrap", children: [
|
|
20035
|
-
/* @__PURE__ */
|
|
20036
|
-
/* @__PURE__ */
|
|
20141
|
+
/* @__PURE__ */ jsx83(Typography37.Text, { strong: true, children: formatToolName(toolCallData.name) }),
|
|
20142
|
+
/* @__PURE__ */ jsx83(
|
|
20037
20143
|
Typography37.Text,
|
|
20038
20144
|
{
|
|
20039
20145
|
type: "secondary",
|
|
@@ -20055,13 +20161,13 @@ var BrowserViewer = ({
|
|
|
20055
20161
|
}
|
|
20056
20162
|
});
|
|
20057
20163
|
};
|
|
20058
|
-
return /* @__PURE__ */
|
|
20164
|
+
return /* @__PURE__ */ jsx83(
|
|
20059
20165
|
ContentPreviewCollapse,
|
|
20060
20166
|
{
|
|
20061
20167
|
panelKey: toolCallData.id,
|
|
20062
20168
|
header,
|
|
20063
20169
|
expandIcon: () => getStatusIcon3(toolCallData.status),
|
|
20064
|
-
extra: /* @__PURE__ */
|
|
20170
|
+
extra: /* @__PURE__ */ jsx83(
|
|
20065
20171
|
Button40,
|
|
20066
20172
|
{
|
|
20067
20173
|
type: "link",
|
|
@@ -20073,14 +20179,14 @@ var BrowserViewer = ({
|
|
|
20073
20179
|
children: "View Browser"
|
|
20074
20180
|
}
|
|
20075
20181
|
),
|
|
20076
|
-
children: /* @__PURE__ */
|
|
20182
|
+
children: /* @__PURE__ */ jsx83(MDResponse, { content: toolCallData.response || "" })
|
|
20077
20183
|
}
|
|
20078
20184
|
);
|
|
20079
20185
|
};
|
|
20080
20186
|
|
|
20081
20187
|
// src/components/GenUI/elements/execute_code.tsx
|
|
20082
20188
|
import { Button as Button41, Space as Space32, Typography as Typography38 } from "antd";
|
|
20083
|
-
import { jsx as
|
|
20189
|
+
import { jsx as jsx84, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
20084
20190
|
var { Text: Text28 } = Typography38;
|
|
20085
20191
|
var ExecuteCode = ({
|
|
20086
20192
|
data,
|
|
@@ -20093,7 +20199,7 @@ var ExecuteCode = ({
|
|
|
20093
20199
|
if (!toolCallData) {
|
|
20094
20200
|
return null;
|
|
20095
20201
|
}
|
|
20096
|
-
const header = /* @__PURE__ */
|
|
20202
|
+
const header = /* @__PURE__ */ jsx84(Space32, { children: /* @__PURE__ */ jsx84(Text28, { strong: true, children: "Execute Code" }) });
|
|
20097
20203
|
const handleItemClick = (toolCallData2) => {
|
|
20098
20204
|
openSideApp({
|
|
20099
20205
|
component_key: "file_content_diff_view",
|
|
@@ -20113,7 +20219,7 @@ ${code}
|
|
|
20113
20219
|
panelKey: toolCallData.id,
|
|
20114
20220
|
header,
|
|
20115
20221
|
expandIcon: () => getStatusIcon(toolCallData.status),
|
|
20116
|
-
extra: /* @__PURE__ */
|
|
20222
|
+
extra: /* @__PURE__ */ jsx84(
|
|
20117
20223
|
Button41,
|
|
20118
20224
|
{
|
|
20119
20225
|
type: "link",
|
|
@@ -20126,8 +20232,8 @@ ${code}
|
|
|
20126
20232
|
}
|
|
20127
20233
|
),
|
|
20128
20234
|
children: [
|
|
20129
|
-
/* @__PURE__ */
|
|
20130
|
-
toolCallData.response && /* @__PURE__ */
|
|
20235
|
+
/* @__PURE__ */ jsx84(MDResponse, { content }),
|
|
20236
|
+
toolCallData.response && /* @__PURE__ */ jsx84(MDResponse, { content: toolCallData.response || "" })
|
|
20131
20237
|
]
|
|
20132
20238
|
}
|
|
20133
20239
|
);
|
|
@@ -20137,7 +20243,7 @@ ${code}
|
|
|
20137
20243
|
import { Card as Card17, Typography as Typography39, Avatar as Avatar8, Tag as Tag16, List as List13, Space as Space33, Button as Button42, Skeleton as Skeleton2 } from "antd";
|
|
20138
20244
|
import { UserOutlined as UserOutlined5, TeamOutlined as TeamOutlined2 } from "@ant-design/icons";
|
|
20139
20245
|
import { Monitor } from "lucide-react";
|
|
20140
|
-
import { jsx as
|
|
20246
|
+
import { jsx as jsx85, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
20141
20247
|
var { Text: Text29 } = Typography39;
|
|
20142
20248
|
var extractTeamInfo = (response) => {
|
|
20143
20249
|
if (!response) return null;
|
|
@@ -20231,7 +20337,7 @@ var TeamGraph = ({ data }) => {
|
|
|
20231
20337
|
};
|
|
20232
20338
|
const showWorkbench = !!teamId && teammates.length > 0;
|
|
20233
20339
|
if (teammates.length === 0) {
|
|
20234
|
-
return /* @__PURE__ */
|
|
20340
|
+
return /* @__PURE__ */ jsx85(Card17, { style: { width: "100%" }, bodyStyle: { padding: 12 }, children: /* @__PURE__ */ jsx85(Skeleton2, { active: true }) });
|
|
20235
20341
|
}
|
|
20236
20342
|
return /* @__PURE__ */ jsxs57(
|
|
20237
20343
|
Card17,
|
|
@@ -20239,30 +20345,30 @@ var TeamGraph = ({ data }) => {
|
|
|
20239
20345
|
style: { width: "100%" },
|
|
20240
20346
|
bodyStyle: { padding: 12 },
|
|
20241
20347
|
title: /* @__PURE__ */ jsxs57(Space33, { children: [
|
|
20242
|
-
/* @__PURE__ */
|
|
20243
|
-
/* @__PURE__ */
|
|
20348
|
+
/* @__PURE__ */ jsx85(TeamOutlined2, {}),
|
|
20349
|
+
/* @__PURE__ */ jsx85("span", { children: "Team Members" })
|
|
20244
20350
|
] }),
|
|
20245
|
-
extra: showWorkbench ? /* @__PURE__ */
|
|
20351
|
+
extra: showWorkbench ? /* @__PURE__ */ jsx85(
|
|
20246
20352
|
Button42,
|
|
20247
20353
|
{
|
|
20248
20354
|
type: "text",
|
|
20249
|
-
icon: /* @__PURE__ */
|
|
20355
|
+
icon: /* @__PURE__ */ jsx85(Monitor, { size: 16 }),
|
|
20250
20356
|
onClick: handleOpenWorkspace,
|
|
20251
20357
|
children: "Workbench"
|
|
20252
20358
|
}
|
|
20253
20359
|
) : null,
|
|
20254
20360
|
children: [
|
|
20255
|
-
/* @__PURE__ */
|
|
20361
|
+
/* @__PURE__ */ jsx85(
|
|
20256
20362
|
List13,
|
|
20257
20363
|
{
|
|
20258
20364
|
dataSource: teammates,
|
|
20259
20365
|
renderItem: (teammate) => /* @__PURE__ */ jsxs57(List13.Item, { style: { display: "block" }, children: [
|
|
20260
20366
|
/* @__PURE__ */ jsxs57(Space33, { align: "center", size: 12, children: [
|
|
20261
|
-
/* @__PURE__ */
|
|
20367
|
+
/* @__PURE__ */ jsx85(
|
|
20262
20368
|
Avatar8,
|
|
20263
20369
|
{
|
|
20264
20370
|
size: 40,
|
|
20265
|
-
icon: /* @__PURE__ */
|
|
20371
|
+
icon: /* @__PURE__ */ jsx85(UserOutlined5, {}),
|
|
20266
20372
|
src: teammate?.avatar,
|
|
20267
20373
|
style: {
|
|
20268
20374
|
backgroundColor: getBadgeColor3(teammate?.name || ""),
|
|
@@ -20274,8 +20380,8 @@ var TeamGraph = ({ data }) => {
|
|
|
20274
20380
|
}
|
|
20275
20381
|
),
|
|
20276
20382
|
/* @__PURE__ */ jsxs57("div", { style: { flex: 1 }, children: [
|
|
20277
|
-
/* @__PURE__ */
|
|
20278
|
-
/* @__PURE__ */
|
|
20383
|
+
/* @__PURE__ */ jsx85(Text29, { strong: true, style: { display: "block" }, children: teammate?.name || "Unnamed" }),
|
|
20384
|
+
/* @__PURE__ */ jsx85(
|
|
20279
20385
|
Tag16,
|
|
20280
20386
|
{
|
|
20281
20387
|
color: "blue",
|
|
@@ -20285,7 +20391,7 @@ var TeamGraph = ({ data }) => {
|
|
|
20285
20391
|
)
|
|
20286
20392
|
] })
|
|
20287
20393
|
] }),
|
|
20288
|
-
teammate?.description && /* @__PURE__ */
|
|
20394
|
+
teammate?.description && /* @__PURE__ */ jsx85(Text29, { type: "secondary", style: { display: "block", marginTop: 8, fontSize: 12, marginLeft: 52 }, children: teammate.description })
|
|
20289
20395
|
] })
|
|
20290
20396
|
}
|
|
20291
20397
|
),
|
|
@@ -20295,15 +20401,15 @@ var TeamGraph = ({ data }) => {
|
|
|
20295
20401
|
tasks.filter((t) => t.status === "pending").length,
|
|
20296
20402
|
")"
|
|
20297
20403
|
] }),
|
|
20298
|
-
/* @__PURE__ */
|
|
20404
|
+
/* @__PURE__ */ jsx85(
|
|
20299
20405
|
List13,
|
|
20300
20406
|
{
|
|
20301
20407
|
size: "small",
|
|
20302
20408
|
dataSource: tasks.filter((t) => t.status === "pending"),
|
|
20303
|
-
renderItem: (task) => /* @__PURE__ */
|
|
20304
|
-
/* @__PURE__ */
|
|
20305
|
-
/* @__PURE__ */
|
|
20306
|
-
task.description && /* @__PURE__ */
|
|
20409
|
+
renderItem: (task) => /* @__PURE__ */ jsx85(List13.Item, { style: { padding: "8px 0" }, children: /* @__PURE__ */ jsxs57("div", { children: [
|
|
20410
|
+
/* @__PURE__ */ jsx85(Text29, { style: { fontSize: 12, color: "#7A7A7A" }, children: task.id }),
|
|
20411
|
+
/* @__PURE__ */ jsx85(Text29, { strong: true, style: { display: "block", fontSize: 13 }, children: task.title }),
|
|
20412
|
+
task.description && /* @__PURE__ */ jsx85(Text29, { type: "secondary", style: { fontSize: 11 }, children: task.description.length > 100 ? task.description.slice(0, 100) + "..." : task.description })
|
|
20307
20413
|
] }) })
|
|
20308
20414
|
}
|
|
20309
20415
|
)
|
|
@@ -20315,13 +20421,13 @@ var TeamGraph = ({ data }) => {
|
|
|
20315
20421
|
var TeamGraph_default = TeamGraph;
|
|
20316
20422
|
|
|
20317
20423
|
// src/components/GenUI/elements/TeamWorkspace/index.tsx
|
|
20318
|
-
import { useState as
|
|
20424
|
+
import { useState as useState59, useMemo as useMemo23 } from "react";
|
|
20319
20425
|
import { Layout, Spin as Spin14, Button as Button43 } from "antd";
|
|
20320
20426
|
import { RefreshCw } from "lucide-react";
|
|
20321
20427
|
import { createStyles as createStyles28 } from "antd-style";
|
|
20322
20428
|
|
|
20323
20429
|
// src/components/GenUI/elements/TeamWorkspace/TeamWorkspaceMenu.tsx
|
|
20324
|
-
import
|
|
20430
|
+
import React43, { useState as useState55 } from "react";
|
|
20325
20431
|
import {
|
|
20326
20432
|
LayoutDashboard,
|
|
20327
20433
|
Inbox,
|
|
@@ -20333,7 +20439,7 @@ import {
|
|
|
20333
20439
|
} from "lucide-react";
|
|
20334
20440
|
import { Tooltip as Tooltip18, Badge as Badge6 } from "antd";
|
|
20335
20441
|
import { createStyles as createStyles20 } from "antd-style";
|
|
20336
|
-
import { Fragment as Fragment19, jsx as
|
|
20442
|
+
import { Fragment as Fragment19, jsx as jsx86, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
20337
20443
|
var useStyles8 = createStyles20(({ token, css }) => ({
|
|
20338
20444
|
container: css`
|
|
20339
20445
|
display: flex;
|
|
@@ -20476,16 +20582,16 @@ var getMenuIcon = (item) => {
|
|
|
20476
20582
|
if (item.icon) return item.icon;
|
|
20477
20583
|
switch (item.type) {
|
|
20478
20584
|
case "dashboard":
|
|
20479
|
-
return /* @__PURE__ */
|
|
20585
|
+
return /* @__PURE__ */ jsx86(LayoutDashboard, { size: 20 });
|
|
20480
20586
|
case "inbox":
|
|
20481
|
-
return /* @__PURE__ */
|
|
20587
|
+
return /* @__PURE__ */ jsx86(Inbox, { size: 20 });
|
|
20482
20588
|
case "issues":
|
|
20483
|
-
return /* @__PURE__ */
|
|
20589
|
+
return /* @__PURE__ */ jsx86(ClipboardList, { size: 20 });
|
|
20484
20590
|
case "org":
|
|
20485
|
-
return /* @__PURE__ */
|
|
20591
|
+
return /* @__PURE__ */ jsx86(Network, { size: 20 });
|
|
20486
20592
|
case "teammate":
|
|
20487
20593
|
if (item.data) {
|
|
20488
|
-
return /* @__PURE__ */
|
|
20594
|
+
return /* @__PURE__ */ jsx86(
|
|
20489
20595
|
"div",
|
|
20490
20596
|
{
|
|
20491
20597
|
style: {
|
|
@@ -20504,9 +20610,9 @@ var getMenuIcon = (item) => {
|
|
|
20504
20610
|
}
|
|
20505
20611
|
);
|
|
20506
20612
|
}
|
|
20507
|
-
return /* @__PURE__ */
|
|
20613
|
+
return /* @__PURE__ */ jsx86(User2, { size: 20 });
|
|
20508
20614
|
default:
|
|
20509
|
-
return /* @__PURE__ */
|
|
20615
|
+
return /* @__PURE__ */ jsx86(User2, { size: 20 });
|
|
20510
20616
|
}
|
|
20511
20617
|
};
|
|
20512
20618
|
var TeamWorkspaceMenu = ({
|
|
@@ -20515,7 +20621,7 @@ var TeamWorkspaceMenu = ({
|
|
|
20515
20621
|
onItemClick
|
|
20516
20622
|
}) => {
|
|
20517
20623
|
const { styles } = useStyles8();
|
|
20518
|
-
const [isExpanded, setIsExpanded] =
|
|
20624
|
+
const [isExpanded, setIsExpanded] = useState55(false);
|
|
20519
20625
|
const mainItems = items.filter((item) => !item.group);
|
|
20520
20626
|
const teammateItems = items.filter((item) => item.group === "Teammates");
|
|
20521
20627
|
const teamItems = items.filter((item) => item.group === "Team");
|
|
@@ -20526,9 +20632,9 @@ var TeamWorkspaceMenu = ({
|
|
|
20526
20632
|
className: `${styles.menuItem} ${!isExpanded ? styles.menuItemCollapsed : ""} ${activeItem === item.id ? "active" : ""}`,
|
|
20527
20633
|
onClick: () => onItemClick(item),
|
|
20528
20634
|
children: [
|
|
20529
|
-
/* @__PURE__ */
|
|
20530
|
-
isExpanded && /* @__PURE__ */
|
|
20531
|
-
item.badge && /* @__PURE__ */
|
|
20635
|
+
/* @__PURE__ */ jsx86("span", { className: styles.menuIcon, children: getMenuIcon(item) }),
|
|
20636
|
+
isExpanded && /* @__PURE__ */ jsx86("span", { className: styles.menuLabel, children: item.name }),
|
|
20637
|
+
item.badge && /* @__PURE__ */ jsx86(
|
|
20532
20638
|
Badge6,
|
|
20533
20639
|
{
|
|
20534
20640
|
count: item.badge,
|
|
@@ -20541,16 +20647,16 @@ var TeamWorkspaceMenu = ({
|
|
|
20541
20647
|
}
|
|
20542
20648
|
);
|
|
20543
20649
|
if (showTooltip && !isExpanded) {
|
|
20544
|
-
return /* @__PURE__ */
|
|
20650
|
+
return /* @__PURE__ */ jsx86(Tooltip18, { title: item.name, placement: "right", children: content }, item.id);
|
|
20545
20651
|
}
|
|
20546
|
-
return /* @__PURE__ */
|
|
20652
|
+
return /* @__PURE__ */ jsx86(React43.Fragment, { children: content }, item.id);
|
|
20547
20653
|
};
|
|
20548
20654
|
const renderGroup = (groupItems, groupLabel, showDivider) => {
|
|
20549
20655
|
if (groupItems.length === 0) return null;
|
|
20550
20656
|
return /* @__PURE__ */ jsxs58(Fragment19, { children: [
|
|
20551
|
-
showDivider && /* @__PURE__ */
|
|
20657
|
+
showDivider && /* @__PURE__ */ jsx86("div", { className: styles.groupDivider }),
|
|
20552
20658
|
/* @__PURE__ */ jsxs58("div", { className: styles.menuGroup, children: [
|
|
20553
|
-
isExpanded && groupLabel && /* @__PURE__ */
|
|
20659
|
+
isExpanded && groupLabel && /* @__PURE__ */ jsx86("div", { className: styles.groupLabel, children: groupLabel }),
|
|
20554
20660
|
groupItems.map((item) => renderMenuItem(item, true))
|
|
20555
20661
|
] })
|
|
20556
20662
|
] });
|
|
@@ -20560,13 +20666,13 @@ var TeamWorkspaceMenu = ({
|
|
|
20560
20666
|
{
|
|
20561
20667
|
className: `${styles.container} ${isExpanded ? styles.containerExpanded : styles.containerCollapsed}`,
|
|
20562
20668
|
children: [
|
|
20563
|
-
/* @__PURE__ */
|
|
20669
|
+
/* @__PURE__ */ jsx86(
|
|
20564
20670
|
"button",
|
|
20565
20671
|
{
|
|
20566
20672
|
className: styles.toggleButton,
|
|
20567
20673
|
onClick: () => setIsExpanded(!isExpanded),
|
|
20568
20674
|
title: isExpanded ? "Collapse" : "Expand",
|
|
20569
|
-
children: isExpanded ? /* @__PURE__ */
|
|
20675
|
+
children: isExpanded ? /* @__PURE__ */ jsx86(ChevronLeft4, { size: 16 }) : /* @__PURE__ */ jsx86(ChevronRight4, { size: 16 })
|
|
20570
20676
|
}
|
|
20571
20677
|
),
|
|
20572
20678
|
/* @__PURE__ */ jsxs58("div", { className: styles.menuContent, children: [
|
|
@@ -20642,7 +20748,7 @@ function useTeamWorkspaceData(threadId, assistantId) {
|
|
|
20642
20748
|
}
|
|
20643
20749
|
|
|
20644
20750
|
// src/components/GenUI/elements/TeamWorkspace/TeamDashboard.tsx
|
|
20645
|
-
import { jsx as
|
|
20751
|
+
import { jsx as jsx87, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
20646
20752
|
var { Title: Title6, Text: Text30 } = Typography40;
|
|
20647
20753
|
var useStyles9 = createStyles21(({ token, css }) => ({
|
|
20648
20754
|
container: css`
|
|
@@ -20844,15 +20950,15 @@ var StatusIcon = ({
|
|
|
20844
20950
|
}) => {
|
|
20845
20951
|
switch (status) {
|
|
20846
20952
|
case "completed" /* COMPLETED */:
|
|
20847
|
-
return /* @__PURE__ */
|
|
20953
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#22c55e" }, children: /* @__PURE__ */ jsx87(CheckCircle2, { size: 16 }) });
|
|
20848
20954
|
case "in_progress" /* IN_PROGRESS */:
|
|
20849
20955
|
case "claimed" /* CLAIMED */:
|
|
20850
|
-
return /* @__PURE__ */
|
|
20956
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#f59e0b" }, children: /* @__PURE__ */ jsx87(Loader24, { size: 16, className: "animate-spin" }) });
|
|
20851
20957
|
case "failed" /* FAILED */:
|
|
20852
|
-
return /* @__PURE__ */
|
|
20958
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#ef4444" }, children: /* @__PURE__ */ jsx87(AlertCircle, { size: 16 }) });
|
|
20853
20959
|
case "pending" /* PENDING */:
|
|
20854
20960
|
default:
|
|
20855
|
-
return /* @__PURE__ */
|
|
20961
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#6b7280" }, children: /* @__PURE__ */ jsx87(Clock, { size: 16 }) });
|
|
20856
20962
|
}
|
|
20857
20963
|
};
|
|
20858
20964
|
var ActivityItem = ({ activity, styles }) => {
|
|
@@ -20863,7 +20969,7 @@ var ActivityItem = ({ activity, styles }) => {
|
|
|
20863
20969
|
const maxLength = 60;
|
|
20864
20970
|
const displayContent = content.length > maxLength ? content.slice(0, maxLength) + "..." : content;
|
|
20865
20971
|
return /* @__PURE__ */ jsxs59("span", { className: styles.activityText, children: [
|
|
20866
|
-
/* @__PURE__ */
|
|
20972
|
+
/* @__PURE__ */ jsx87("span", { className: styles.activityHighlight, children: activity.from }),
|
|
20867
20973
|
" ",
|
|
20868
20974
|
activity.type === "broadcast" && /* @__PURE__ */ jsxs59("span", { style: { color: "#1890ff", fontWeight: 500 }, children: [
|
|
20869
20975
|
"[broadcast] ",
|
|
@@ -20872,8 +20978,8 @@ var ActivityItem = ({ activity, styles }) => {
|
|
|
20872
20978
|
displayContent
|
|
20873
20979
|
] });
|
|
20874
20980
|
};
|
|
20875
|
-
return /* @__PURE__ */
|
|
20876
|
-
/* @__PURE__ */
|
|
20981
|
+
return /* @__PURE__ */ jsx87("div", { className: styles.listItem, children: /* @__PURE__ */ jsxs59("div", { className: styles.activityItem, children: [
|
|
20982
|
+
/* @__PURE__ */ jsx87(
|
|
20877
20983
|
"div",
|
|
20878
20984
|
{
|
|
20879
20985
|
className: styles.activityAvatar,
|
|
@@ -20881,19 +20987,19 @@ var ActivityItem = ({ activity, styles }) => {
|
|
|
20881
20987
|
children: initials
|
|
20882
20988
|
}
|
|
20883
20989
|
),
|
|
20884
|
-
/* @__PURE__ */
|
|
20885
|
-
/* @__PURE__ */
|
|
20990
|
+
/* @__PURE__ */ jsx87("div", { className: styles.activityContent, children: renderActivityText() }),
|
|
20991
|
+
/* @__PURE__ */ jsx87("span", { className: styles.activityTime, children: formatTime2(activity.timestamp) })
|
|
20886
20992
|
] }) });
|
|
20887
20993
|
};
|
|
20888
20994
|
var TaskItem = ({
|
|
20889
20995
|
task,
|
|
20890
20996
|
styles
|
|
20891
20997
|
}) => {
|
|
20892
|
-
return /* @__PURE__ */
|
|
20893
|
-
/* @__PURE__ */
|
|
20998
|
+
return /* @__PURE__ */ jsx87(Tooltip19, { title: task.title, placement: "topLeft", children: /* @__PURE__ */ jsx87("div", { className: styles.listItem, children: /* @__PURE__ */ jsxs59("div", { className: styles.taskItem, children: [
|
|
20999
|
+
/* @__PURE__ */ jsx87(StatusIcon, { status: task.status, className: styles.taskStatusIcon }),
|
|
20894
21000
|
/* @__PURE__ */ jsxs59("div", { className: styles.taskContent, children: [
|
|
20895
|
-
/* @__PURE__ */
|
|
20896
|
-
task.assignee && /* @__PURE__ */
|
|
21001
|
+
/* @__PURE__ */ jsx87("span", { className: styles.taskTitle, children: task.title }),
|
|
21002
|
+
task.assignee && /* @__PURE__ */ jsx87(Tooltip19, { title: task.assignee, children: /* @__PURE__ */ jsx87(
|
|
20897
21003
|
"div",
|
|
20898
21004
|
{
|
|
20899
21005
|
className: styles.taskAssignee,
|
|
@@ -20902,7 +21008,7 @@ var TaskItem = ({
|
|
|
20902
21008
|
}
|
|
20903
21009
|
) })
|
|
20904
21010
|
] }),
|
|
20905
|
-
/* @__PURE__ */
|
|
21011
|
+
/* @__PURE__ */ jsx87("span", { className: styles.taskTime, children: formatTime2(task.updatedAt) })
|
|
20906
21012
|
] }) }) });
|
|
20907
21013
|
};
|
|
20908
21014
|
var TeamDashboard = ({
|
|
@@ -20914,58 +21020,58 @@ var TeamDashboard = ({
|
|
|
20914
21020
|
const { styles } = useStyles9();
|
|
20915
21021
|
return /* @__PURE__ */ jsxs59("div", { className: styles.container, children: [
|
|
20916
21022
|
/* @__PURE__ */ jsxs59("div", { className: styles.header, children: [
|
|
20917
|
-
/* @__PURE__ */
|
|
20918
|
-
/* @__PURE__ */
|
|
21023
|
+
/* @__PURE__ */ jsx87(Title6, { level: 3, className: styles.title, children: "Team Dashboard" }),
|
|
21024
|
+
/* @__PURE__ */ jsx87(Text30, { className: styles.subtitle, children: team?.teamId ? `Team ID: ${team.teamId} \u2022 ${stats.totalTasks} tasks \u2022 ${stats.totalActivities} activities` : "Overview of team activities and tasks" })
|
|
20919
21025
|
] }),
|
|
20920
21026
|
/* @__PURE__ */ jsxs59(Row2, { gutter: [16, 16], className: styles.statsRow, children: [
|
|
20921
|
-
/* @__PURE__ */
|
|
21027
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20922
21028
|
Statistic,
|
|
20923
21029
|
{
|
|
20924
21030
|
title: "Total Tasks",
|
|
20925
21031
|
value: stats.totalTasks,
|
|
20926
|
-
prefix: /* @__PURE__ */
|
|
21032
|
+
prefix: /* @__PURE__ */ jsx87(FileText, { size: 20 }),
|
|
20927
21033
|
valueStyle: { color: "#1890ff" }
|
|
20928
21034
|
}
|
|
20929
21035
|
) }) }),
|
|
20930
|
-
/* @__PURE__ */
|
|
21036
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20931
21037
|
Statistic,
|
|
20932
21038
|
{
|
|
20933
21039
|
title: "In Progress",
|
|
20934
21040
|
value: stats.inProgressTasks,
|
|
20935
|
-
prefix: /* @__PURE__ */
|
|
21041
|
+
prefix: /* @__PURE__ */ jsx87(Loader24, { size: 20, className: "animate-spin" }),
|
|
20936
21042
|
valueStyle: { color: "#faad14" }
|
|
20937
21043
|
}
|
|
20938
21044
|
) }) }),
|
|
20939
|
-
/* @__PURE__ */
|
|
21045
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20940
21046
|
Statistic,
|
|
20941
21047
|
{
|
|
20942
21048
|
title: "Completed",
|
|
20943
21049
|
value: stats.completedTasks,
|
|
20944
|
-
prefix: /* @__PURE__ */
|
|
21050
|
+
prefix: /* @__PURE__ */ jsx87(CheckCircle2, { size: 20 }),
|
|
20945
21051
|
valueStyle: { color: "#52c41a" }
|
|
20946
21052
|
}
|
|
20947
21053
|
) }) }),
|
|
20948
|
-
/* @__PURE__ */
|
|
21054
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20949
21055
|
Statistic,
|
|
20950
21056
|
{
|
|
20951
21057
|
title: "Activities",
|
|
20952
21058
|
value: stats.totalActivities,
|
|
20953
|
-
prefix: /* @__PURE__ */
|
|
21059
|
+
prefix: /* @__PURE__ */ jsx87(Mail, { size: 20 }),
|
|
20954
21060
|
valueStyle: { color: "#722ed1" }
|
|
20955
21061
|
}
|
|
20956
21062
|
) }) })
|
|
20957
21063
|
] }),
|
|
20958
21064
|
/* @__PURE__ */ jsxs59(Row2, { gutter: [16, 16], className: styles.contentRow, children: [
|
|
20959
|
-
/* @__PURE__ */
|
|
21065
|
+
/* @__PURE__ */ jsx87(Col2, { span: 12, children: /* @__PURE__ */ jsx87(
|
|
20960
21066
|
Card18,
|
|
20961
21067
|
{
|
|
20962
21068
|
title: /* @__PURE__ */ jsxs59("span", { children: [
|
|
20963
|
-
/* @__PURE__ */
|
|
21069
|
+
/* @__PURE__ */ jsx87(Mail, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
|
|
20964
21070
|
"Recent Activities"
|
|
20965
21071
|
] }),
|
|
20966
21072
|
className: styles.sectionCard,
|
|
20967
21073
|
bodyStyle: { padding: 0 },
|
|
20968
|
-
children: /* @__PURE__ */
|
|
21074
|
+
children: /* @__PURE__ */ jsx87("div", { className: styles.compactList, children: recentActivities.length === 0 ? /* @__PURE__ */ jsx87("div", { style: { padding: 24, textAlign: "center", color: "#999" }, children: "No recent activities" }) : recentActivities.map((activity) => /* @__PURE__ */ jsx87(
|
|
20969
21075
|
ActivityItem,
|
|
20970
21076
|
{
|
|
20971
21077
|
activity,
|
|
@@ -20975,16 +21081,16 @@ var TeamDashboard = ({
|
|
|
20975
21081
|
)) })
|
|
20976
21082
|
}
|
|
20977
21083
|
) }),
|
|
20978
|
-
/* @__PURE__ */
|
|
21084
|
+
/* @__PURE__ */ jsx87(Col2, { span: 12, children: /* @__PURE__ */ jsx87(
|
|
20979
21085
|
Card18,
|
|
20980
21086
|
{
|
|
20981
21087
|
title: /* @__PURE__ */ jsxs59("span", { children: [
|
|
20982
|
-
/* @__PURE__ */
|
|
21088
|
+
/* @__PURE__ */ jsx87(Users, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
|
|
20983
21089
|
"Recent Tasks"
|
|
20984
21090
|
] }),
|
|
20985
21091
|
className: styles.sectionCard,
|
|
20986
21092
|
bodyStyle: { padding: 0 },
|
|
20987
|
-
children: /* @__PURE__ */
|
|
21093
|
+
children: /* @__PURE__ */ jsx87("div", { className: styles.compactList, children: recentTasks.length === 0 ? /* @__PURE__ */ jsx87("div", { style: { padding: 24, textAlign: "center", color: "#999" }, children: "No recent tasks" }) : recentTasks.map((task) => /* @__PURE__ */ jsx87(TaskItem, { task, styles }, task.id)) })
|
|
20988
21094
|
}
|
|
20989
21095
|
) })
|
|
20990
21096
|
] })
|
|
@@ -20992,7 +21098,7 @@ var TeamDashboard = ({
|
|
|
20992
21098
|
};
|
|
20993
21099
|
|
|
20994
21100
|
// src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
|
|
20995
|
-
import { useState as
|
|
21101
|
+
import { useState as useState57, useMemo as useMemo20 } from "react";
|
|
20996
21102
|
import { Typography as Typography42, Badge as Badge7, Empty as Empty11, Tooltip as Tooltip20 } from "antd";
|
|
20997
21103
|
import {
|
|
20998
21104
|
CheckCircle2 as CheckCircle23,
|
|
@@ -21007,7 +21113,7 @@ import {
|
|
|
21007
21113
|
import { createStyles as createStyles23 } from "antd-style";
|
|
21008
21114
|
|
|
21009
21115
|
// src/components/GenUI/elements/TeamWorkspace/TaskDetailModal.tsx
|
|
21010
|
-
import { useState as
|
|
21116
|
+
import { useState as useState56 } from "react";
|
|
21011
21117
|
import { Modal as Modal14, Typography as Typography41, Tag as Tag17, Divider as Divider7, Tabs as Tabs2, Timeline } from "antd";
|
|
21012
21118
|
import { createStyles as createStyles22 } from "antd-style";
|
|
21013
21119
|
import {
|
|
@@ -21021,7 +21127,7 @@ import {
|
|
|
21021
21127
|
Activity as Activity4,
|
|
21022
21128
|
GitCommit
|
|
21023
21129
|
} from "lucide-react";
|
|
21024
|
-
import { Fragment as Fragment20, jsx as
|
|
21130
|
+
import { Fragment as Fragment20, jsx as jsx88, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
21025
21131
|
var { Title: Title7, Text: Text31, Paragraph } = Typography41;
|
|
21026
21132
|
var useStyles10 = createStyles22(({ token, css }) => ({
|
|
21027
21133
|
modalContent: css`
|
|
@@ -21257,28 +21363,28 @@ var getStatusConfig2 = (status) => {
|
|
|
21257
21363
|
switch (status) {
|
|
21258
21364
|
case "completed" /* COMPLETED */:
|
|
21259
21365
|
return {
|
|
21260
|
-
icon: /* @__PURE__ */
|
|
21366
|
+
icon: /* @__PURE__ */ jsx88(CheckCircle22, { size: 20 }),
|
|
21261
21367
|
color: "#22c55e",
|
|
21262
21368
|
bgColor: "#f0fdf4",
|
|
21263
21369
|
text: "Completed"
|
|
21264
21370
|
};
|
|
21265
21371
|
case "in_progress" /* IN_PROGRESS */:
|
|
21266
21372
|
return {
|
|
21267
|
-
icon: /* @__PURE__ */
|
|
21373
|
+
icon: /* @__PURE__ */ jsx88(Loader25, { size: 20, className: "animate-spin" }),
|
|
21268
21374
|
color: "#f59e0b",
|
|
21269
21375
|
bgColor: "#fffbeb",
|
|
21270
21376
|
text: "In Progress"
|
|
21271
21377
|
};
|
|
21272
21378
|
case "claimed" /* CLAIMED */:
|
|
21273
21379
|
return {
|
|
21274
|
-
icon: /* @__PURE__ */
|
|
21380
|
+
icon: /* @__PURE__ */ jsx88(Loader25, { size: 20, className: "animate-spin" }),
|
|
21275
21381
|
color: "#f59e0b",
|
|
21276
21382
|
bgColor: "#fffbeb",
|
|
21277
21383
|
text: "Claimed"
|
|
21278
21384
|
};
|
|
21279
21385
|
case "failed" /* FAILED */:
|
|
21280
21386
|
return {
|
|
21281
|
-
icon: /* @__PURE__ */
|
|
21387
|
+
icon: /* @__PURE__ */ jsx88(AlertCircle2, { size: 20 }),
|
|
21282
21388
|
color: "#ef4444",
|
|
21283
21389
|
bgColor: "#fef2f2",
|
|
21284
21390
|
text: "Failed"
|
|
@@ -21286,7 +21392,7 @@ var getStatusConfig2 = (status) => {
|
|
|
21286
21392
|
case "pending" /* PENDING */:
|
|
21287
21393
|
default:
|
|
21288
21394
|
return {
|
|
21289
|
-
icon: /* @__PURE__ */
|
|
21395
|
+
icon: /* @__PURE__ */ jsx88(Clock2, { size: 20 }),
|
|
21290
21396
|
color: "#6b7280",
|
|
21291
21397
|
bgColor: "#f3f4f6",
|
|
21292
21398
|
text: "Pending"
|
|
@@ -21360,10 +21466,10 @@ var CommentsTab = ({ task, styles }) => {
|
|
|
21360
21466
|
time: task.createdAt
|
|
21361
21467
|
});
|
|
21362
21468
|
if (comments.length === 0) {
|
|
21363
|
-
return /* @__PURE__ */
|
|
21469
|
+
return /* @__PURE__ */ jsx88("div", { className: styles.emptyState, children: "No comments yet" });
|
|
21364
21470
|
}
|
|
21365
|
-
return /* @__PURE__ */
|
|
21366
|
-
/* @__PURE__ */
|
|
21471
|
+
return /* @__PURE__ */ jsx88("div", { className: styles.commentsSection, children: comments.map((comment) => /* @__PURE__ */ jsxs60("div", { className: styles.commentItem, children: [
|
|
21472
|
+
/* @__PURE__ */ jsx88(
|
|
21367
21473
|
"div",
|
|
21368
21474
|
{
|
|
21369
21475
|
className: styles.commentAvatar,
|
|
@@ -21373,22 +21479,22 @@ var CommentsTab = ({ task, styles }) => {
|
|
|
21373
21479
|
),
|
|
21374
21480
|
/* @__PURE__ */ jsxs60("div", { className: styles.commentContent, children: [
|
|
21375
21481
|
/* @__PURE__ */ jsxs60("div", { className: styles.commentHeader, children: [
|
|
21376
|
-
/* @__PURE__ */
|
|
21377
|
-
/* @__PURE__ */
|
|
21482
|
+
/* @__PURE__ */ jsx88("span", { className: styles.commentAuthor, children: comment.author }),
|
|
21483
|
+
/* @__PURE__ */ jsx88("span", { className: styles.commentTime, children: formatRelativeTime(comment.time) })
|
|
21378
21484
|
] }),
|
|
21379
21485
|
comment.type === "result" ? /* @__PURE__ */ jsxs60("div", { className: styles.resultComment, children: [
|
|
21380
21486
|
/* @__PURE__ */ jsxs60("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 8 }, children: [
|
|
21381
|
-
/* @__PURE__ */
|
|
21382
|
-
/* @__PURE__ */
|
|
21487
|
+
/* @__PURE__ */ jsx88(CheckCircle22, { size: 16, style: { color: "#22c55e" } }),
|
|
21488
|
+
/* @__PURE__ */ jsx88(Text31, { style: { color: "#22c55e", fontWeight: 600 }, children: "Result" })
|
|
21383
21489
|
] }),
|
|
21384
|
-
/* @__PURE__ */
|
|
21490
|
+
/* @__PURE__ */ jsx88(Paragraph, { style: { margin: 0 }, children: comment.content })
|
|
21385
21491
|
] }) : comment.type === "error" ? /* @__PURE__ */ jsxs60("div", { className: styles.errorComment, children: [
|
|
21386
21492
|
/* @__PURE__ */ jsxs60("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 8 }, children: [
|
|
21387
|
-
/* @__PURE__ */
|
|
21388
|
-
/* @__PURE__ */
|
|
21493
|
+
/* @__PURE__ */ jsx88(AlertCircle2, { size: 16, style: { color: "#ef4444" } }),
|
|
21494
|
+
/* @__PURE__ */ jsx88(Text31, { style: { color: "#ef4444", fontWeight: 600 }, children: "Error" })
|
|
21389
21495
|
] }),
|
|
21390
|
-
/* @__PURE__ */
|
|
21391
|
-
] }) : /* @__PURE__ */
|
|
21496
|
+
/* @__PURE__ */ jsx88(Paragraph, { style: { margin: 0 }, children: comment.content })
|
|
21497
|
+
] }) : /* @__PURE__ */ jsx88("div", { className: styles.commentText, children: comment.content })
|
|
21392
21498
|
] })
|
|
21393
21499
|
] }, comment.id)) });
|
|
21394
21500
|
};
|
|
@@ -21396,10 +21502,10 @@ var ActivityTab = ({ task, styles }) => {
|
|
|
21396
21502
|
const statusConfig = getStatusConfig2(task.status);
|
|
21397
21503
|
const timelineItems = [
|
|
21398
21504
|
{
|
|
21399
|
-
dot: /* @__PURE__ */
|
|
21505
|
+
dot: /* @__PURE__ */ jsx88("div", { className: styles.timelineDot, children: /* @__PURE__ */ jsx88(GitCommit, { size: 16 }) }),
|
|
21400
21506
|
color: statusConfig.color,
|
|
21401
21507
|
children: /* @__PURE__ */ jsxs60("div", { className: styles.timelineContent, children: [
|
|
21402
|
-
/* @__PURE__ */
|
|
21508
|
+
/* @__PURE__ */ jsx88("div", { className: styles.timelineTitle, children: "Status Updated" }),
|
|
21403
21509
|
/* @__PURE__ */ jsxs60("div", { className: styles.timelineTime, children: [
|
|
21404
21510
|
"Changed to ",
|
|
21405
21511
|
statusConfig.text,
|
|
@@ -21409,15 +21515,15 @@ var ActivityTab = ({ task, styles }) => {
|
|
|
21409
21515
|
] })
|
|
21410
21516
|
},
|
|
21411
21517
|
{
|
|
21412
|
-
dot: /* @__PURE__ */
|
|
21518
|
+
dot: /* @__PURE__ */ jsx88("div", { className: styles.timelineDot, children: /* @__PURE__ */ jsx88(Calendar, { size: 16 }) }),
|
|
21413
21519
|
color: "#6b7280",
|
|
21414
21520
|
children: /* @__PURE__ */ jsxs60("div", { className: styles.timelineContent, children: [
|
|
21415
|
-
/* @__PURE__ */
|
|
21416
|
-
/* @__PURE__ */
|
|
21521
|
+
/* @__PURE__ */ jsx88("div", { className: styles.timelineTitle, children: "Task Created" }),
|
|
21522
|
+
/* @__PURE__ */ jsx88("div", { className: styles.timelineTime, children: formatDate(task.createdAt) })
|
|
21417
21523
|
] })
|
|
21418
21524
|
}
|
|
21419
21525
|
];
|
|
21420
|
-
return /* @__PURE__ */
|
|
21526
|
+
return /* @__PURE__ */ jsx88("div", { className: styles.timelineSection, children: /* @__PURE__ */ jsx88(
|
|
21421
21527
|
Timeline,
|
|
21422
21528
|
{
|
|
21423
21529
|
mode: "left",
|
|
@@ -21432,28 +21538,28 @@ var TaskDetailModal = ({
|
|
|
21432
21538
|
onClose
|
|
21433
21539
|
}) => {
|
|
21434
21540
|
const { styles } = useStyles10();
|
|
21435
|
-
const [activeTab, setActiveTab] =
|
|
21541
|
+
const [activeTab, setActiveTab] = useState56("comments");
|
|
21436
21542
|
if (!task) return null;
|
|
21437
21543
|
const statusConfig = getStatusConfig2(task.status);
|
|
21438
21544
|
const tabItems = [
|
|
21439
21545
|
{
|
|
21440
21546
|
key: "comments",
|
|
21441
21547
|
label: /* @__PURE__ */ jsxs60("span", { children: [
|
|
21442
|
-
/* @__PURE__ */
|
|
21548
|
+
/* @__PURE__ */ jsx88(MessageSquare, { size: 14, style: { marginRight: 6 } }),
|
|
21443
21549
|
"Comments"
|
|
21444
21550
|
] }),
|
|
21445
|
-
children: /* @__PURE__ */
|
|
21551
|
+
children: /* @__PURE__ */ jsx88(CommentsTab, { task, styles })
|
|
21446
21552
|
},
|
|
21447
21553
|
{
|
|
21448
21554
|
key: "activity",
|
|
21449
21555
|
label: /* @__PURE__ */ jsxs60("span", { children: [
|
|
21450
|
-
/* @__PURE__ */
|
|
21556
|
+
/* @__PURE__ */ jsx88(Activity4, { size: 14, style: { marginRight: 6 } }),
|
|
21451
21557
|
"Activity"
|
|
21452
21558
|
] }),
|
|
21453
|
-
children: /* @__PURE__ */
|
|
21559
|
+
children: /* @__PURE__ */ jsx88(ActivityTab, { task, styles })
|
|
21454
21560
|
}
|
|
21455
21561
|
];
|
|
21456
|
-
return /* @__PURE__ */
|
|
21562
|
+
return /* @__PURE__ */ jsx88(
|
|
21457
21563
|
Modal14,
|
|
21458
21564
|
{
|
|
21459
21565
|
title: null,
|
|
@@ -21474,7 +21580,7 @@ var TaskDetailModal = ({
|
|
|
21474
21580
|
},
|
|
21475
21581
|
children: /* @__PURE__ */ jsxs60("div", { className: styles.modalContent, children: [
|
|
21476
21582
|
/* @__PURE__ */ jsxs60("div", { className: styles.header, children: [
|
|
21477
|
-
/* @__PURE__ */
|
|
21583
|
+
/* @__PURE__ */ jsx88(
|
|
21478
21584
|
"div",
|
|
21479
21585
|
{
|
|
21480
21586
|
className: styles.statusIcon,
|
|
@@ -21482,13 +21588,13 @@ var TaskDetailModal = ({
|
|
|
21482
21588
|
children: statusConfig.icon
|
|
21483
21589
|
}
|
|
21484
21590
|
),
|
|
21485
|
-
/* @__PURE__ */
|
|
21591
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.taskId, children: task.id })
|
|
21486
21592
|
] }),
|
|
21487
|
-
/* @__PURE__ */
|
|
21488
|
-
task.description && /* @__PURE__ */
|
|
21593
|
+
/* @__PURE__ */ jsx88(Title7, { level: 3, className: styles.title, children: task.title }),
|
|
21594
|
+
task.description && /* @__PURE__ */ jsx88("div", { className: styles.description, children: /* @__PURE__ */ jsx88(Paragraph, { style: { margin: 0 }, children: task.description }) }),
|
|
21489
21595
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaSection, children: [
|
|
21490
21596
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21491
|
-
/* @__PURE__ */
|
|
21597
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Status" }),
|
|
21492
21598
|
/* @__PURE__ */ jsxs60(
|
|
21493
21599
|
"div",
|
|
21494
21600
|
{
|
|
@@ -21499,15 +21605,15 @@ var TaskDetailModal = ({
|
|
|
21499
21605
|
},
|
|
21500
21606
|
children: [
|
|
21501
21607
|
statusConfig.icon,
|
|
21502
|
-
/* @__PURE__ */
|
|
21608
|
+
/* @__PURE__ */ jsx88("span", { children: statusConfig.text })
|
|
21503
21609
|
]
|
|
21504
21610
|
}
|
|
21505
21611
|
)
|
|
21506
21612
|
] }),
|
|
21507
21613
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21508
|
-
/* @__PURE__ */
|
|
21509
|
-
/* @__PURE__ */
|
|
21510
|
-
/* @__PURE__ */
|
|
21614
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Assignee" }),
|
|
21615
|
+
/* @__PURE__ */ jsx88("div", { className: styles.metaValue, children: task.assignee ? /* @__PURE__ */ jsxs60(Fragment20, { children: [
|
|
21616
|
+
/* @__PURE__ */ jsx88(
|
|
21511
21617
|
"div",
|
|
21512
21618
|
{
|
|
21513
21619
|
className: styles.assigneeAvatar,
|
|
@@ -21515,34 +21621,34 @@ var TaskDetailModal = ({
|
|
|
21515
21621
|
children: getInitials3(task.assignee)
|
|
21516
21622
|
}
|
|
21517
21623
|
),
|
|
21518
|
-
/* @__PURE__ */
|
|
21519
|
-
] }) : /* @__PURE__ */
|
|
21624
|
+
/* @__PURE__ */ jsx88("span", { children: task.assignee })
|
|
21625
|
+
] }) : /* @__PURE__ */ jsx88("span", { style: { color: "#999" }, children: "Unassigned" }) })
|
|
21520
21626
|
] }),
|
|
21521
21627
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21522
|
-
/* @__PURE__ */
|
|
21628
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Created" }),
|
|
21523
21629
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaValue, children: [
|
|
21524
|
-
/* @__PURE__ */
|
|
21525
|
-
/* @__PURE__ */
|
|
21630
|
+
/* @__PURE__ */ jsx88(Calendar, { size: 14 }),
|
|
21631
|
+
/* @__PURE__ */ jsx88("span", { children: formatDate(task.createdAt) })
|
|
21526
21632
|
] })
|
|
21527
21633
|
] }),
|
|
21528
21634
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21529
|
-
/* @__PURE__ */
|
|
21635
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Updated" }),
|
|
21530
21636
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaValue, children: [
|
|
21531
|
-
/* @__PURE__ */
|
|
21532
|
-
/* @__PURE__ */
|
|
21637
|
+
/* @__PURE__ */ jsx88(Calendar, { size: 14 }),
|
|
21638
|
+
/* @__PURE__ */ jsx88("span", { children: formatDate(task.updatedAt) })
|
|
21533
21639
|
] })
|
|
21534
21640
|
] })
|
|
21535
21641
|
] }),
|
|
21536
|
-
/* @__PURE__ */
|
|
21642
|
+
/* @__PURE__ */ jsx88(Divider7, {}),
|
|
21537
21643
|
task.dependencies?.length > 0 && /* @__PURE__ */ jsxs60("div", { className: styles.dependenciesSection, children: [
|
|
21538
|
-
/* @__PURE__ */
|
|
21539
|
-
/* @__PURE__ */
|
|
21540
|
-
/* @__PURE__ */
|
|
21644
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.sectionTitle, children: "Dependencies" }),
|
|
21645
|
+
/* @__PURE__ */ jsx88("div", { className: styles.dependencyList, children: task.dependencies.map((dep) => /* @__PURE__ */ jsxs60(Tag17, { className: styles.dependencyTag, children: [
|
|
21646
|
+
/* @__PURE__ */ jsx88(Link, { size: 12 }),
|
|
21541
21647
|
" ",
|
|
21542
21648
|
dep
|
|
21543
21649
|
] }, dep)) })
|
|
21544
21650
|
] }),
|
|
21545
|
-
/* @__PURE__ */
|
|
21651
|
+
/* @__PURE__ */ jsx88("div", { className: styles.tabsContainer, children: /* @__PURE__ */ jsx88(
|
|
21546
21652
|
Tabs2,
|
|
21547
21653
|
{
|
|
21548
21654
|
activeKey: activeTab,
|
|
@@ -21556,7 +21662,7 @@ var TaskDetailModal = ({
|
|
|
21556
21662
|
};
|
|
21557
21663
|
|
|
21558
21664
|
// src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
|
|
21559
|
-
import { jsx as
|
|
21665
|
+
import { jsx as jsx89, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
21560
21666
|
var { Title: Title8, Text: Text32 } = Typography42;
|
|
21561
21667
|
var getInitials4 = (name) => {
|
|
21562
21668
|
return name.split(/[\s_-]/).map((n) => n.charAt(0)).join("").toUpperCase().slice(0, 2);
|
|
@@ -21838,15 +21944,15 @@ var StatusIcon2 = ({
|
|
|
21838
21944
|
}) => {
|
|
21839
21945
|
switch (status) {
|
|
21840
21946
|
case "completed" /* COMPLETED */:
|
|
21841
|
-
return /* @__PURE__ */
|
|
21947
|
+
return /* @__PURE__ */ jsx89(CheckCircle23, { size, style: { color: "#22c55e" } });
|
|
21842
21948
|
case "in_progress" /* IN_PROGRESS */:
|
|
21843
21949
|
case "claimed" /* CLAIMED */:
|
|
21844
|
-
return /* @__PURE__ */
|
|
21950
|
+
return /* @__PURE__ */ jsx89(Loader26, { size, style: { color: "#f59e0b" }, className: "animate-spin" });
|
|
21845
21951
|
case "failed" /* FAILED */:
|
|
21846
|
-
return /* @__PURE__ */
|
|
21952
|
+
return /* @__PURE__ */ jsx89(AlertCircle3, { size, style: { color: "#ef4444" } });
|
|
21847
21953
|
case "pending" /* PENDING */:
|
|
21848
21954
|
default:
|
|
21849
|
-
return /* @__PURE__ */
|
|
21955
|
+
return /* @__PURE__ */ jsx89(Circle, { size, style: { color: "#6b7280" } });
|
|
21850
21956
|
}
|
|
21851
21957
|
};
|
|
21852
21958
|
var formatDate2 = (timestamp) => {
|
|
@@ -21858,7 +21964,7 @@ var formatDate2 = (timestamp) => {
|
|
|
21858
21964
|
});
|
|
21859
21965
|
};
|
|
21860
21966
|
var ListGroupComponent = ({ group, styles, defaultExpanded = true, onTaskClick }) => {
|
|
21861
|
-
const [isExpanded, setIsExpanded] =
|
|
21967
|
+
const [isExpanded, setIsExpanded] = useState57(defaultExpanded);
|
|
21862
21968
|
return /* @__PURE__ */ jsxs61("div", { className: styles.listGroup, children: [
|
|
21863
21969
|
/* @__PURE__ */ jsxs61(
|
|
21864
21970
|
"div",
|
|
@@ -21866,21 +21972,21 @@ var ListGroupComponent = ({ group, styles, defaultExpanded = true, onTaskClick }
|
|
|
21866
21972
|
className: styles.listGroupHeader,
|
|
21867
21973
|
onClick: () => setIsExpanded(!isExpanded),
|
|
21868
21974
|
children: [
|
|
21869
|
-
isExpanded ? /* @__PURE__ */
|
|
21870
|
-
/* @__PURE__ */
|
|
21871
|
-
/* @__PURE__ */
|
|
21975
|
+
isExpanded ? /* @__PURE__ */ jsx89(ChevronDown2, { size: 16 }) : /* @__PURE__ */ jsx89(ChevronRight5, { size: 16 }),
|
|
21976
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listGroupTitle, style: { color: group.color }, children: group.title }),
|
|
21977
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listGroupCount, children: group.tasks.length })
|
|
21872
21978
|
]
|
|
21873
21979
|
}
|
|
21874
21980
|
),
|
|
21875
|
-
isExpanded && /* @__PURE__ */
|
|
21876
|
-
/* @__PURE__ */
|
|
21981
|
+
isExpanded && /* @__PURE__ */ jsx89("div", { className: styles.listGroupContent, children: group.tasks.map((task) => /* @__PURE__ */ jsxs61("div", { className: styles.listItem, onClick: () => onTaskClick(task), children: [
|
|
21982
|
+
/* @__PURE__ */ jsx89("div", { className: styles.listItemIcon, children: /* @__PURE__ */ jsx89(StatusIcon2, { status: task.status }) }),
|
|
21877
21983
|
/* @__PURE__ */ jsxs61("div", { className: styles.listItemContent, children: [
|
|
21878
|
-
/* @__PURE__ */
|
|
21879
|
-
/* @__PURE__ */
|
|
21984
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listItemId, children: task.id }),
|
|
21985
|
+
/* @__PURE__ */ jsx89(Tooltip20, { title: task.title, children: /* @__PURE__ */ jsx89("span", { className: styles.listItemTitle, children: task.title }) })
|
|
21880
21986
|
] }),
|
|
21881
21987
|
/* @__PURE__ */ jsxs61("div", { className: styles.listItemRight, children: [
|
|
21882
|
-
task.assignee ? /* @__PURE__ */
|
|
21883
|
-
/* @__PURE__ */
|
|
21988
|
+
task.assignee ? /* @__PURE__ */ jsx89(Tooltip20, { title: task.assignee, children: /* @__PURE__ */ jsxs61("div", { className: styles.listItemAssignee, children: [
|
|
21989
|
+
/* @__PURE__ */ jsx89(
|
|
21884
21990
|
"div",
|
|
21885
21991
|
{
|
|
21886
21992
|
className: styles.listItemAssigneeAvatar,
|
|
@@ -21888,9 +21994,9 @@ var ListGroupComponent = ({ group, styles, defaultExpanded = true, onTaskClick }
|
|
|
21888
21994
|
children: getInitials4(task.assignee)
|
|
21889
21995
|
}
|
|
21890
21996
|
),
|
|
21891
|
-
/* @__PURE__ */
|
|
21892
|
-
] }) }) : /* @__PURE__ */
|
|
21893
|
-
/* @__PURE__ */
|
|
21997
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listItemAssigneeText, children: task.assignee })
|
|
21998
|
+
] }) }) : /* @__PURE__ */ jsx89("div", { className: styles.listItemAssignee, children: /* @__PURE__ */ jsx89("span", { className: styles.listItemAssigneeText, children: "No assignee" }) }),
|
|
21999
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listItemDate, children: formatDate2(task.updatedAt) })
|
|
21894
22000
|
] })
|
|
21895
22001
|
] }, task.id)) })
|
|
21896
22002
|
] });
|
|
@@ -21901,9 +22007,9 @@ var IssuesView = ({
|
|
|
21901
22007
|
teammates
|
|
21902
22008
|
}) => {
|
|
21903
22009
|
const { styles } = useStyles11();
|
|
21904
|
-
const [viewMode, setViewMode] =
|
|
21905
|
-
const [selectedTask, setSelectedTask] =
|
|
21906
|
-
const [modalVisible, setModalVisible] =
|
|
22010
|
+
const [viewMode, setViewMode] = useState57("list");
|
|
22011
|
+
const [selectedTask, setSelectedTask] = useState57(null);
|
|
22012
|
+
const [modalVisible, setModalVisible] = useState57(false);
|
|
21907
22013
|
const listGroups = useMemo20(() => {
|
|
21908
22014
|
const groups = [
|
|
21909
22015
|
{
|
|
@@ -21969,31 +22075,31 @@ var IssuesView = ({
|
|
|
21969
22075
|
{ id: "completed", title: "Completed", color: "#22C55E" },
|
|
21970
22076
|
{ id: "failed", title: "Failed", color: "#f5222d" }
|
|
21971
22077
|
];
|
|
21972
|
-
return /* @__PURE__ */
|
|
22078
|
+
return /* @__PURE__ */ jsx89("div", { className: styles.kanbanContainer, children: columns.map((column) => {
|
|
21973
22079
|
const columnTasks = tasksByStatus[column.id] || [];
|
|
21974
22080
|
return /* @__PURE__ */ jsxs61("div", { className: styles.kanbanColumn, children: [
|
|
21975
|
-
/* @__PURE__ */
|
|
22081
|
+
/* @__PURE__ */ jsx89(
|
|
21976
22082
|
"div",
|
|
21977
22083
|
{
|
|
21978
22084
|
className: styles.columnHeader,
|
|
21979
22085
|
style: { borderBottomColor: column.color },
|
|
21980
22086
|
children: /* @__PURE__ */ jsxs61("span", { className: styles.columnTitle, children: [
|
|
21981
|
-
/* @__PURE__ */
|
|
22087
|
+
/* @__PURE__ */ jsx89(
|
|
21982
22088
|
Badge7,
|
|
21983
22089
|
{
|
|
21984
22090
|
count: columnTasks.length,
|
|
21985
22091
|
style: { backgroundColor: column.color }
|
|
21986
22092
|
}
|
|
21987
22093
|
),
|
|
21988
|
-
/* @__PURE__ */
|
|
22094
|
+
/* @__PURE__ */ jsx89("span", { style: { marginLeft: 8 }, children: column.title })
|
|
21989
22095
|
] })
|
|
21990
22096
|
}
|
|
21991
22097
|
),
|
|
21992
22098
|
columnTasks.map((task) => /* @__PURE__ */ jsxs61("div", { className: styles.taskCard, children: [
|
|
21993
|
-
/* @__PURE__ */
|
|
22099
|
+
/* @__PURE__ */ jsx89("div", { className: styles.taskTitle, children: task.title }),
|
|
21994
22100
|
/* @__PURE__ */ jsxs61("div", { className: styles.taskMeta, children: [
|
|
21995
|
-
/* @__PURE__ */
|
|
21996
|
-
task.assignee && /* @__PURE__ */
|
|
22101
|
+
/* @__PURE__ */ jsx89(Text32, { type: "secondary", children: task.id }),
|
|
22102
|
+
task.assignee && /* @__PURE__ */ jsx89(Tooltip20, { title: task.assignee, children: /* @__PURE__ */ jsx89(
|
|
21997
22103
|
"div",
|
|
21998
22104
|
{
|
|
21999
22105
|
className: styles.assigneeAvatar,
|
|
@@ -22003,7 +22109,7 @@ var IssuesView = ({
|
|
|
22003
22109
|
) })
|
|
22004
22110
|
] })
|
|
22005
22111
|
] }, task.id)),
|
|
22006
|
-
columnTasks.length === 0 && /* @__PURE__ */
|
|
22112
|
+
columnTasks.length === 0 && /* @__PURE__ */ jsx89(
|
|
22007
22113
|
Empty11,
|
|
22008
22114
|
{
|
|
22009
22115
|
image: Empty11.PRESENTED_IMAGE_SIMPLE,
|
|
@@ -22022,7 +22128,7 @@ var IssuesView = ({
|
|
|
22022
22128
|
setSelectedTask(null);
|
|
22023
22129
|
};
|
|
22024
22130
|
const renderListView = () => /* @__PURE__ */ jsxs61("div", { className: styles.listContainer, children: [
|
|
22025
|
-
listGroups.map((group) => /* @__PURE__ */
|
|
22131
|
+
listGroups.map((group) => /* @__PURE__ */ jsx89(
|
|
22026
22132
|
ListGroupComponent,
|
|
22027
22133
|
{
|
|
22028
22134
|
group,
|
|
@@ -22032,12 +22138,12 @@ var IssuesView = ({
|
|
|
22032
22138
|
},
|
|
22033
22139
|
group.id
|
|
22034
22140
|
)),
|
|
22035
|
-
listGroups.length === 0 && /* @__PURE__ */
|
|
22141
|
+
listGroups.length === 0 && /* @__PURE__ */ jsx89("div", { style: { padding: 48, textAlign: "center" }, children: /* @__PURE__ */ jsx89(Empty11, { description: "No issues found" }) })
|
|
22036
22142
|
] });
|
|
22037
22143
|
return /* @__PURE__ */ jsxs61("div", { className: styles.container, children: [
|
|
22038
22144
|
/* @__PURE__ */ jsxs61("div", { className: styles.header, children: [
|
|
22039
22145
|
/* @__PURE__ */ jsxs61("div", { children: [
|
|
22040
|
-
/* @__PURE__ */
|
|
22146
|
+
/* @__PURE__ */ jsx89(Title8, { level: 3, className: styles.title, children: "Issues" }),
|
|
22041
22147
|
/* @__PURE__ */ jsxs61(Text32, { type: "secondary", children: [
|
|
22042
22148
|
tasks?.length || 0,
|
|
22043
22149
|
" tasks \u2022 Team: ",
|
|
@@ -22045,26 +22151,26 @@ var IssuesView = ({
|
|
|
22045
22151
|
] })
|
|
22046
22152
|
] }),
|
|
22047
22153
|
/* @__PURE__ */ jsxs61("div", { className: styles.viewToggle, children: [
|
|
22048
|
-
/* @__PURE__ */
|
|
22154
|
+
/* @__PURE__ */ jsx89(
|
|
22049
22155
|
"button",
|
|
22050
22156
|
{
|
|
22051
22157
|
className: `${styles.viewToggleButton} ${viewMode === "list" ? "active" : ""}`,
|
|
22052
22158
|
onClick: () => setViewMode("list"),
|
|
22053
|
-
children: /* @__PURE__ */
|
|
22159
|
+
children: /* @__PURE__ */ jsx89(List14, { size: 16 })
|
|
22054
22160
|
}
|
|
22055
22161
|
),
|
|
22056
|
-
/* @__PURE__ */
|
|
22162
|
+
/* @__PURE__ */ jsx89(
|
|
22057
22163
|
"button",
|
|
22058
22164
|
{
|
|
22059
22165
|
className: `${styles.viewToggleButton} ${viewMode === "kanban" ? "active" : ""}`,
|
|
22060
22166
|
onClick: () => setViewMode("kanban"),
|
|
22061
|
-
children: /* @__PURE__ */
|
|
22167
|
+
children: /* @__PURE__ */ jsx89(LayoutGrid2, { size: 16 })
|
|
22062
22168
|
}
|
|
22063
22169
|
)
|
|
22064
22170
|
] })
|
|
22065
22171
|
] }),
|
|
22066
|
-
/* @__PURE__ */
|
|
22067
|
-
/* @__PURE__ */
|
|
22172
|
+
/* @__PURE__ */ jsx89("div", { className: styles.content, children: tasks?.length === 0 ? /* @__PURE__ */ jsx89("div", { className: styles.emptyState, children: /* @__PURE__ */ jsx89(Empty11, { description: "No issues found" }) }) : viewMode === "kanban" ? renderKanbanView() : renderListView() }),
|
|
22173
|
+
/* @__PURE__ */ jsx89(
|
|
22068
22174
|
TaskDetailModal,
|
|
22069
22175
|
{
|
|
22070
22176
|
task: selectedTask,
|
|
@@ -22076,7 +22182,7 @@ var IssuesView = ({
|
|
|
22076
22182
|
};
|
|
22077
22183
|
|
|
22078
22184
|
// src/components/GenUI/elements/TeamWorkspace/TeamOrgCanvas.tsx
|
|
22079
|
-
import
|
|
22185
|
+
import React46, { useMemo as useMemo21 } from "react";
|
|
22080
22186
|
import {
|
|
22081
22187
|
ReactFlow as ReactFlow3,
|
|
22082
22188
|
Background as Background3,
|
|
@@ -22089,7 +22195,7 @@ import {
|
|
|
22089
22195
|
import "@xyflow/react/dist/style.css";
|
|
22090
22196
|
import { Typography as Typography43, Tag as Tag18, Space as Space35 } from "antd";
|
|
22091
22197
|
import { createStyles as createStyles24 } from "antd-style";
|
|
22092
|
-
import { jsx as
|
|
22198
|
+
import { jsx as jsx90, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
22093
22199
|
var { Title: Title9, Text: Text33 } = Typography43;
|
|
22094
22200
|
var useStyles12 = createStyles24(({ token, css }) => ({
|
|
22095
22201
|
container: css`
|
|
@@ -22192,7 +22298,7 @@ var TeamMemberNode = ({ data }) => {
|
|
|
22192
22298
|
const { name, role, description, isLead, taskStats } = data;
|
|
22193
22299
|
return /* @__PURE__ */ jsxs62("div", { className: styles.nodeCard, children: [
|
|
22194
22300
|
/* @__PURE__ */ jsxs62("div", { className: styles.nodeHeader, children: [
|
|
22195
|
-
/* @__PURE__ */
|
|
22301
|
+
/* @__PURE__ */ jsx90(
|
|
22196
22302
|
"div",
|
|
22197
22303
|
{
|
|
22198
22304
|
className: styles.avatar,
|
|
@@ -22206,12 +22312,12 @@ var TeamMemberNode = ({ data }) => {
|
|
|
22206
22312
|
/* @__PURE__ */ jsxs62("div", { children: [
|
|
22207
22313
|
/* @__PURE__ */ jsxs62("div", { className: styles.nodeTitle, children: [
|
|
22208
22314
|
name,
|
|
22209
|
-
isLead && /* @__PURE__ */
|
|
22315
|
+
isLead && /* @__PURE__ */ jsx90(Tag18, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
|
|
22210
22316
|
] }),
|
|
22211
|
-
/* @__PURE__ */
|
|
22317
|
+
/* @__PURE__ */ jsx90("div", { className: styles.nodeRole, children: role })
|
|
22212
22318
|
] })
|
|
22213
22319
|
] }),
|
|
22214
|
-
description && /* @__PURE__ */
|
|
22320
|
+
description && /* @__PURE__ */ jsx90(
|
|
22215
22321
|
Text33,
|
|
22216
22322
|
{
|
|
22217
22323
|
type: "secondary",
|
|
@@ -22317,7 +22423,7 @@ var TeamOrgCanvasInner = ({
|
|
|
22317
22423
|
}, [team, teammates, taskStatsByTeammate]);
|
|
22318
22424
|
const [flowNodes, setNodes, onNodesChange] = useNodesState3(nodes);
|
|
22319
22425
|
const [flowEdges, setEdges, onEdgesChange] = useEdgesState3(edges);
|
|
22320
|
-
|
|
22426
|
+
React46.useEffect(() => {
|
|
22321
22427
|
setNodes(nodes);
|
|
22322
22428
|
setEdges(edges);
|
|
22323
22429
|
setTimeout(() => fitView({ padding: 0.2 }), 100);
|
|
@@ -22327,7 +22433,7 @@ var TeamOrgCanvasInner = ({
|
|
|
22327
22433
|
};
|
|
22328
22434
|
return /* @__PURE__ */ jsxs62("div", { className: styles.container, children: [
|
|
22329
22435
|
/* @__PURE__ */ jsxs62("div", { className: styles.header, children: [
|
|
22330
|
-
/* @__PURE__ */
|
|
22436
|
+
/* @__PURE__ */ jsx90(Title9, { level: 3, className: styles.title, children: "Team Organization" }),
|
|
22331
22437
|
/* @__PURE__ */ jsxs62(Text33, { type: "secondary", children: [
|
|
22332
22438
|
teammates.length + 1,
|
|
22333
22439
|
" members \u2022 ",
|
|
@@ -22347,15 +22453,15 @@ var TeamOrgCanvasInner = ({
|
|
|
22347
22453
|
fitView: true,
|
|
22348
22454
|
attributionPosition: "bottom-right",
|
|
22349
22455
|
children: [
|
|
22350
|
-
/* @__PURE__ */
|
|
22351
|
-
/* @__PURE__ */
|
|
22456
|
+
/* @__PURE__ */ jsx90(Background3, { color: "#eee", gap: 20 }),
|
|
22457
|
+
/* @__PURE__ */ jsx90(Controls3, {})
|
|
22352
22458
|
]
|
|
22353
22459
|
}
|
|
22354
22460
|
),
|
|
22355
|
-
/* @__PURE__ */
|
|
22356
|
-
/* @__PURE__ */
|
|
22461
|
+
/* @__PURE__ */ jsx90("div", { className: styles.legend, children: /* @__PURE__ */ jsxs62(Space35, { direction: "vertical", size: "small", children: [
|
|
22462
|
+
/* @__PURE__ */ jsx90(Text33, { strong: true, style: { fontSize: 12 }, children: "Legend" }),
|
|
22357
22463
|
/* @__PURE__ */ jsxs62(Space35, { size: "small", children: [
|
|
22358
|
-
/* @__PURE__ */
|
|
22464
|
+
/* @__PURE__ */ jsx90(
|
|
22359
22465
|
"div",
|
|
22360
22466
|
{
|
|
22361
22467
|
style: {
|
|
@@ -22367,10 +22473,10 @@ var TeamOrgCanvasInner = ({
|
|
|
22367
22473
|
}
|
|
22368
22474
|
}
|
|
22369
22475
|
),
|
|
22370
|
-
/* @__PURE__ */
|
|
22476
|
+
/* @__PURE__ */ jsx90(Text33, { style: { fontSize: 11 }, children: "Team Lead" })
|
|
22371
22477
|
] }),
|
|
22372
22478
|
/* @__PURE__ */ jsxs62(Space35, { size: "small", children: [
|
|
22373
|
-
/* @__PURE__ */
|
|
22479
|
+
/* @__PURE__ */ jsx90(
|
|
22374
22480
|
"div",
|
|
22375
22481
|
{
|
|
22376
22482
|
style: {
|
|
@@ -22381,19 +22487,19 @@ var TeamOrgCanvasInner = ({
|
|
|
22381
22487
|
}
|
|
22382
22488
|
}
|
|
22383
22489
|
),
|
|
22384
|
-
/* @__PURE__ */
|
|
22490
|
+
/* @__PURE__ */ jsx90(Text33, { style: { fontSize: 11 }, children: "Teammate" })
|
|
22385
22491
|
] }),
|
|
22386
|
-
/* @__PURE__ */
|
|
22492
|
+
/* @__PURE__ */ jsx90("div", { style: { marginTop: 4, fontSize: 10, color: "#666" }, children: "\u2713 Completed \u2022 \u27F3 In Progress \u2022 \u25CB Pending" })
|
|
22387
22493
|
] }) })
|
|
22388
22494
|
] })
|
|
22389
22495
|
] });
|
|
22390
22496
|
};
|
|
22391
|
-
var TeamOrgCanvas = (props) => /* @__PURE__ */
|
|
22497
|
+
var TeamOrgCanvas = (props) => /* @__PURE__ */ jsx90(ReactFlowProvider3, { children: /* @__PURE__ */ jsx90(TeamOrgCanvasInner, { ...props }) });
|
|
22392
22498
|
|
|
22393
22499
|
// src/components/GenUI/elements/TeamWorkspace/TeamMemberChat.tsx
|
|
22394
22500
|
import { Typography as Typography44, Tag as Tag19 } from "antd";
|
|
22395
22501
|
import { createStyles as createStyles25 } from "antd-style";
|
|
22396
|
-
import { jsx as
|
|
22502
|
+
import { jsx as jsx91, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
22397
22503
|
var { Title: Title10, Text: Text34 } = Typography44;
|
|
22398
22504
|
var useStyles13 = createStyles25(({ token, css }) => ({
|
|
22399
22505
|
container: css`
|
|
@@ -22467,7 +22573,7 @@ var TeamMemberChat = ({
|
|
|
22467
22573
|
assistantId
|
|
22468
22574
|
}) => {
|
|
22469
22575
|
const { styles } = useStyles13();
|
|
22470
|
-
return /* @__PURE__ */
|
|
22576
|
+
return /* @__PURE__ */ jsx91(
|
|
22471
22577
|
AgentThreadProvider,
|
|
22472
22578
|
{
|
|
22473
22579
|
threadId,
|
|
@@ -22479,7 +22585,7 @@ var TeamMemberChat = ({
|
|
|
22479
22585
|
},
|
|
22480
22586
|
children: /* @__PURE__ */ jsxs63("div", { className: styles.container, children: [
|
|
22481
22587
|
/* @__PURE__ */ jsxs63("div", { className: styles.header, children: [
|
|
22482
|
-
/* @__PURE__ */
|
|
22588
|
+
/* @__PURE__ */ jsx91(
|
|
22483
22589
|
"div",
|
|
22484
22590
|
{
|
|
22485
22591
|
className: styles.avatar,
|
|
@@ -22488,9 +22594,9 @@ var TeamMemberChat = ({
|
|
|
22488
22594
|
}
|
|
22489
22595
|
),
|
|
22490
22596
|
/* @__PURE__ */ jsxs63("div", { className: styles.headerInfo, children: [
|
|
22491
|
-
/* @__PURE__ */
|
|
22597
|
+
/* @__PURE__ */ jsx91(Title10, { level: 4, className: styles.title, children: teammate.name }),
|
|
22492
22598
|
/* @__PURE__ */ jsxs63("div", { children: [
|
|
22493
|
-
/* @__PURE__ */
|
|
22599
|
+
/* @__PURE__ */ jsx91(Tag19, { color: "blue", children: teammate.role }),
|
|
22494
22600
|
teammate.description && /* @__PURE__ */ jsxs63(Text34, { className: styles.role, children: [
|
|
22495
22601
|
"\u2022 ",
|
|
22496
22602
|
teammate.description
|
|
@@ -22498,7 +22604,7 @@ var TeamMemberChat = ({
|
|
|
22498
22604
|
] })
|
|
22499
22605
|
] })
|
|
22500
22606
|
] }),
|
|
22501
|
-
/* @__PURE__ */
|
|
22607
|
+
/* @__PURE__ */ jsx91("div", { className: styles.chatContainer, children: /* @__PURE__ */ jsx91("div", { className: styles.chatWrapper, children: /* @__PURE__ */ jsx91(
|
|
22502
22608
|
Chating,
|
|
22503
22609
|
{
|
|
22504
22610
|
showRefreshButton: true,
|
|
@@ -22514,7 +22620,7 @@ var TeamMemberChat = ({
|
|
|
22514
22620
|
};
|
|
22515
22621
|
|
|
22516
22622
|
// src/components/GenUI/elements/MailboxPanel.tsx
|
|
22517
|
-
import { useState as
|
|
22623
|
+
import { useState as useState58, useMemo as useMemo22 } from "react";
|
|
22518
22624
|
import { Typography as Typography46, Empty as Empty12 } from "antd";
|
|
22519
22625
|
import { createStyles as createStyles27 } from "antd-style";
|
|
22520
22626
|
import {
|
|
@@ -22528,7 +22634,7 @@ import {
|
|
|
22528
22634
|
import { Modal as Modal15, Typography as Typography45, Tag as Tag20, Divider as Divider8 } from "antd";
|
|
22529
22635
|
import { createStyles as createStyles26 } from "antd-style";
|
|
22530
22636
|
import { Mail as Mail2, Calendar as Calendar2 } from "lucide-react";
|
|
22531
|
-
import { jsx as
|
|
22637
|
+
import { jsx as jsx92, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
22532
22638
|
var { Title: Title11, Text: Text35, Paragraph: Paragraph2 } = Typography45;
|
|
22533
22639
|
var useStyles14 = createStyles26(({ token, css }) => ({
|
|
22534
22640
|
modalContent: css`
|
|
@@ -22665,7 +22771,7 @@ var MailboxDetailModal = ({
|
|
|
22665
22771
|
}) => {
|
|
22666
22772
|
const { styles } = useStyles14();
|
|
22667
22773
|
if (!message19) return null;
|
|
22668
|
-
return /* @__PURE__ */
|
|
22774
|
+
return /* @__PURE__ */ jsx92(
|
|
22669
22775
|
Modal15,
|
|
22670
22776
|
{
|
|
22671
22777
|
title: null,
|
|
@@ -22686,9 +22792,9 @@ var MailboxDetailModal = ({
|
|
|
22686
22792
|
},
|
|
22687
22793
|
children: /* @__PURE__ */ jsxs64("div", { className: styles.modalContent, children: [
|
|
22688
22794
|
/* @__PURE__ */ jsxs64("div", { className: styles.header, children: [
|
|
22689
|
-
/* @__PURE__ */
|
|
22690
|
-
/* @__PURE__ */
|
|
22691
|
-
!message19.read && /* @__PURE__ */
|
|
22795
|
+
/* @__PURE__ */ jsx92("div", { className: styles.messageIcon, children: /* @__PURE__ */ jsx92(Mail2, { size: 20 }) }),
|
|
22796
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.messageId, children: message19.id }),
|
|
22797
|
+
!message19.read && /* @__PURE__ */ jsx92(Tag20, { color: "red", children: "Unread" })
|
|
22692
22798
|
] }),
|
|
22693
22799
|
/* @__PURE__ */ jsxs64(Title11, { level: 4, className: styles.title, children: [
|
|
22694
22800
|
"Message from ",
|
|
@@ -22696,9 +22802,9 @@ var MailboxDetailModal = ({
|
|
|
22696
22802
|
] }),
|
|
22697
22803
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaSection, children: [
|
|
22698
22804
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22699
|
-
/* @__PURE__ */
|
|
22805
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "From" }),
|
|
22700
22806
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
|
|
22701
|
-
/* @__PURE__ */
|
|
22807
|
+
/* @__PURE__ */ jsx92(
|
|
22702
22808
|
"div",
|
|
22703
22809
|
{
|
|
22704
22810
|
className: styles.avatar,
|
|
@@ -22706,13 +22812,13 @@ var MailboxDetailModal = ({
|
|
|
22706
22812
|
children: getInitials7(message19.from)
|
|
22707
22813
|
}
|
|
22708
22814
|
),
|
|
22709
|
-
/* @__PURE__ */
|
|
22815
|
+
/* @__PURE__ */ jsx92("span", { children: message19.from })
|
|
22710
22816
|
] })
|
|
22711
22817
|
] }),
|
|
22712
22818
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22713
|
-
/* @__PURE__ */
|
|
22819
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "To" }),
|
|
22714
22820
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
|
|
22715
|
-
/* @__PURE__ */
|
|
22821
|
+
/* @__PURE__ */ jsx92(
|
|
22716
22822
|
"div",
|
|
22717
22823
|
{
|
|
22718
22824
|
className: styles.avatar,
|
|
@@ -22720,25 +22826,25 @@ var MailboxDetailModal = ({
|
|
|
22720
22826
|
children: getInitials7(message19.to)
|
|
22721
22827
|
}
|
|
22722
22828
|
),
|
|
22723
|
-
/* @__PURE__ */
|
|
22829
|
+
/* @__PURE__ */ jsx92("span", { children: message19.to })
|
|
22724
22830
|
] })
|
|
22725
22831
|
] }),
|
|
22726
22832
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22727
|
-
/* @__PURE__ */
|
|
22833
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "Time" }),
|
|
22728
22834
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
|
|
22729
|
-
/* @__PURE__ */
|
|
22730
|
-
/* @__PURE__ */
|
|
22835
|
+
/* @__PURE__ */ jsx92(Calendar2, { size: 14 }),
|
|
22836
|
+
/* @__PURE__ */ jsx92("span", { children: formatDate3(message19.timestamp) })
|
|
22731
22837
|
] })
|
|
22732
22838
|
] }),
|
|
22733
22839
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22734
|
-
/* @__PURE__ */
|
|
22735
|
-
/* @__PURE__ */
|
|
22840
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "Type" }),
|
|
22841
|
+
/* @__PURE__ */ jsx92("div", { className: styles.metaValue, children: /* @__PURE__ */ jsx92(Tag20, { color: message19.type === "broadcast" ? "blue" : "default", children: message19.type }) })
|
|
22736
22842
|
] })
|
|
22737
22843
|
] }),
|
|
22738
|
-
/* @__PURE__ */
|
|
22844
|
+
/* @__PURE__ */ jsx92(Divider8, {}),
|
|
22739
22845
|
/* @__PURE__ */ jsxs64("div", { className: styles.contentSection, children: [
|
|
22740
|
-
/* @__PURE__ */
|
|
22741
|
-
/* @__PURE__ */
|
|
22846
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.contentLabel, children: "Message Content" }),
|
|
22847
|
+
/* @__PURE__ */ jsx92("div", { className: styles.contentBox, children: /* @__PURE__ */ jsx92(Paragraph2, { className: styles.messageContent, children: message19.content }) })
|
|
22742
22848
|
] })
|
|
22743
22849
|
] })
|
|
22744
22850
|
}
|
|
@@ -22746,7 +22852,7 @@ var MailboxDetailModal = ({
|
|
|
22746
22852
|
};
|
|
22747
22853
|
|
|
22748
22854
|
// src/components/GenUI/elements/MailboxPanel.tsx
|
|
22749
|
-
import { jsx as
|
|
22855
|
+
import { jsx as jsx93, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
22750
22856
|
var { Title: Title12, Text: Text36 } = Typography46;
|
|
22751
22857
|
var useStyles15 = createStyles27(({ token, css }) => ({
|
|
22752
22858
|
container: css`
|
|
@@ -22937,7 +23043,7 @@ var getMessagePreview = (content) => {
|
|
|
22937
23043
|
return firstLine.length > 80 ? firstLine.slice(0, 80) + "..." : firstLine;
|
|
22938
23044
|
};
|
|
22939
23045
|
var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageClick }) => {
|
|
22940
|
-
const [isExpanded, setIsExpanded] =
|
|
23046
|
+
const [isExpanded, setIsExpanded] = useState58(defaultExpanded);
|
|
22941
23047
|
return /* @__PURE__ */ jsxs65("div", { className: styles.listGroup, children: [
|
|
22942
23048
|
/* @__PURE__ */ jsxs65(
|
|
22943
23049
|
"div",
|
|
@@ -22945,8 +23051,8 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22945
23051
|
className: styles.listGroupHeader,
|
|
22946
23052
|
onClick: () => setIsExpanded(!isExpanded),
|
|
22947
23053
|
children: [
|
|
22948
|
-
isExpanded ? /* @__PURE__ */
|
|
22949
|
-
/* @__PURE__ */
|
|
23054
|
+
isExpanded ? /* @__PURE__ */ jsx93(ChevronDown3, { size: 16 }) : /* @__PURE__ */ jsx93(ChevronRight6, { size: 16 }),
|
|
23055
|
+
/* @__PURE__ */ jsx93(
|
|
22950
23056
|
"div",
|
|
22951
23057
|
{
|
|
22952
23058
|
className: styles.listGroupAvatar,
|
|
@@ -22954,7 +23060,7 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22954
23060
|
children: getInitials8(group.sender)
|
|
22955
23061
|
}
|
|
22956
23062
|
),
|
|
22957
|
-
/* @__PURE__ */
|
|
23063
|
+
/* @__PURE__ */ jsx93("span", { className: styles.listGroupTitle, children: group.sender }),
|
|
22958
23064
|
/* @__PURE__ */ jsxs65("span", { className: styles.listGroupCount, children: [
|
|
22959
23065
|
group.messages.length,
|
|
22960
23066
|
" messages",
|
|
@@ -22967,15 +23073,15 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22967
23073
|
]
|
|
22968
23074
|
}
|
|
22969
23075
|
),
|
|
22970
|
-
isExpanded && /* @__PURE__ */
|
|
23076
|
+
isExpanded && /* @__PURE__ */ jsx93("div", { className: styles.listGroupContent, children: group.messages.map((message19) => /* @__PURE__ */ jsxs65(
|
|
22971
23077
|
"div",
|
|
22972
23078
|
{
|
|
22973
23079
|
className: `${styles.listItem} ${!message19.read ? styles.listItemUnread : ""}`,
|
|
22974
23080
|
onClick: () => onMessageClick(message19),
|
|
22975
23081
|
children: [
|
|
22976
|
-
/* @__PURE__ */
|
|
23082
|
+
/* @__PURE__ */ jsx93("div", { className: styles.listItemIcon, children: !message19.read ? /* @__PURE__ */ jsx93("div", { className: styles.unreadBadge }) : /* @__PURE__ */ jsx93(Circle2, { size: 8, style: { color: "#d9d9d9" } }) }),
|
|
22977
23083
|
/* @__PURE__ */ jsxs65("div", { className: styles.listItemContent, children: [
|
|
22978
|
-
/* @__PURE__ */
|
|
23084
|
+
/* @__PURE__ */ jsx93("span", { className: styles.listItemPreview, children: getMessagePreview(message19.content) }),
|
|
22979
23085
|
/* @__PURE__ */ jsxs65("span", { className: styles.listItemMeta, children: [
|
|
22980
23086
|
"To: ",
|
|
22981
23087
|
message19.to,
|
|
@@ -22983,7 +23089,7 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22983
23089
|
message19.type
|
|
22984
23090
|
] })
|
|
22985
23091
|
] }),
|
|
22986
|
-
/* @__PURE__ */
|
|
23092
|
+
/* @__PURE__ */ jsx93("div", { className: styles.listItemRight, children: /* @__PURE__ */ jsx93("span", { className: styles.listItemDate, children: formatDate4(message19.timestamp) }) })
|
|
22987
23093
|
]
|
|
22988
23094
|
},
|
|
22989
23095
|
message19.id
|
|
@@ -22992,8 +23098,8 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22992
23098
|
};
|
|
22993
23099
|
var MailboxPanel = ({ data }) => {
|
|
22994
23100
|
const { styles } = useStyles15();
|
|
22995
|
-
const [selectedMessage, setSelectedMessage] =
|
|
22996
|
-
const [modalVisible, setModalVisible] =
|
|
23101
|
+
const [selectedMessage, setSelectedMessage] = useState58(null);
|
|
23102
|
+
const [modalVisible, setModalVisible] = useState58(false);
|
|
22997
23103
|
const { teamMailbox = [] } = data || {};
|
|
22998
23104
|
const messageGroups = useMemo22(() => {
|
|
22999
23105
|
const groupsMap = /* @__PURE__ */ new Map();
|
|
@@ -23028,9 +23134,9 @@ var MailboxPanel = ({ data }) => {
|
|
|
23028
23134
|
setSelectedMessage(null);
|
|
23029
23135
|
};
|
|
23030
23136
|
return /* @__PURE__ */ jsxs65("div", { className: styles.container, children: [
|
|
23031
|
-
/* @__PURE__ */
|
|
23137
|
+
/* @__PURE__ */ jsx93("div", { className: styles.header, children: /* @__PURE__ */ jsxs65("div", { children: [
|
|
23032
23138
|
/* @__PURE__ */ jsxs65(Title12, { level: 3, className: styles.title, children: [
|
|
23033
|
-
/* @__PURE__ */
|
|
23139
|
+
/* @__PURE__ */ jsx93(Mail3, { size: 20, style: { marginRight: 8, verticalAlign: "middle" } }),
|
|
23034
23140
|
"Mailbox"
|
|
23035
23141
|
] }),
|
|
23036
23142
|
/* @__PURE__ */ jsxs65(Text36, { type: "secondary", children: [
|
|
@@ -23041,7 +23147,7 @@ var MailboxPanel = ({ data }) => {
|
|
|
23041
23147
|
totalUnread > 0 && ` \u2022 ${totalUnread} unread`
|
|
23042
23148
|
] })
|
|
23043
23149
|
] }) }),
|
|
23044
|
-
/* @__PURE__ */
|
|
23150
|
+
/* @__PURE__ */ jsx93("div", { className: styles.content, children: teamMailbox.length === 0 ? /* @__PURE__ */ jsx93("div", { className: styles.emptyState, children: /* @__PURE__ */ jsx93(Empty12, { description: "No messages" }) }) : /* @__PURE__ */ jsx93("div", { className: styles.listContainer, children: messageGroups.map((group) => /* @__PURE__ */ jsx93(
|
|
23045
23151
|
MessageGroupComponent,
|
|
23046
23152
|
{
|
|
23047
23153
|
group,
|
|
@@ -23051,7 +23157,7 @@ var MailboxPanel = ({ data }) => {
|
|
|
23051
23157
|
},
|
|
23052
23158
|
group.sender
|
|
23053
23159
|
)) }) }),
|
|
23054
|
-
/* @__PURE__ */
|
|
23160
|
+
/* @__PURE__ */ jsx93(
|
|
23055
23161
|
MailboxDetailModal,
|
|
23056
23162
|
{
|
|
23057
23163
|
message: selectedMessage,
|
|
@@ -23063,7 +23169,7 @@ var MailboxPanel = ({ data }) => {
|
|
|
23063
23169
|
};
|
|
23064
23170
|
|
|
23065
23171
|
// src/components/GenUI/elements/TeamWorkspace/index.tsx
|
|
23066
|
-
import { jsx as
|
|
23172
|
+
import { jsx as jsx94, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
23067
23173
|
var { Content } = Layout;
|
|
23068
23174
|
var useStyles16 = createStyles28(({ token, css }) => ({
|
|
23069
23175
|
container: css`
|
|
@@ -23123,7 +23229,7 @@ var TeamWorkspace = ({
|
|
|
23123
23229
|
isLoading,
|
|
23124
23230
|
refresh
|
|
23125
23231
|
} = useTeamWorkspaceData(parent_thread_id || null, assistantId);
|
|
23126
|
-
const [activeMenuId, setActiveMenuId] =
|
|
23232
|
+
const [activeMenuId, setActiveMenuId] = useState59("dashboard");
|
|
23127
23233
|
const menuItems = useMemo23(() => {
|
|
23128
23234
|
const items = [
|
|
23129
23235
|
{
|
|
@@ -23166,12 +23272,12 @@ var TeamWorkspace = ({
|
|
|
23166
23272
|
};
|
|
23167
23273
|
const renderContent = () => {
|
|
23168
23274
|
if (isLoading) {
|
|
23169
|
-
return /* @__PURE__ */
|
|
23275
|
+
return /* @__PURE__ */ jsx94("div", { className: styles.loadingContainer, children: /* @__PURE__ */ jsx94(Spin14, { size: "large" }) });
|
|
23170
23276
|
}
|
|
23171
23277
|
const activeItem = menuItems.find((item) => item.id === activeMenuId);
|
|
23172
23278
|
switch (activeItem?.type) {
|
|
23173
23279
|
case "dashboard":
|
|
23174
|
-
return /* @__PURE__ */
|
|
23280
|
+
return /* @__PURE__ */ jsx94(
|
|
23175
23281
|
TeamDashboard,
|
|
23176
23282
|
{
|
|
23177
23283
|
stats,
|
|
@@ -23181,7 +23287,7 @@ var TeamWorkspace = ({
|
|
|
23181
23287
|
}
|
|
23182
23288
|
);
|
|
23183
23289
|
case "inbox":
|
|
23184
|
-
return /* @__PURE__ */
|
|
23290
|
+
return /* @__PURE__ */ jsx94(
|
|
23185
23291
|
MailboxPanel,
|
|
23186
23292
|
{
|
|
23187
23293
|
data: {
|
|
@@ -23195,7 +23301,7 @@ var TeamWorkspace = ({
|
|
|
23195
23301
|
}
|
|
23196
23302
|
);
|
|
23197
23303
|
case "issues":
|
|
23198
|
-
return /* @__PURE__ */
|
|
23304
|
+
return /* @__PURE__ */ jsx94(
|
|
23199
23305
|
IssuesView,
|
|
23200
23306
|
{
|
|
23201
23307
|
tasks,
|
|
@@ -23211,7 +23317,7 @@ var TeamWorkspace = ({
|
|
|
23211
23317
|
activeItem.data.name
|
|
23212
23318
|
);
|
|
23213
23319
|
const assistantId2 = getTeammateAssistantId(teamId, activeItem.data.name);
|
|
23214
|
-
return /* @__PURE__ */
|
|
23320
|
+
return /* @__PURE__ */ jsx94(
|
|
23215
23321
|
TeamMemberChat,
|
|
23216
23322
|
{
|
|
23217
23323
|
teammate: activeItem.data,
|
|
@@ -23222,7 +23328,7 @@ var TeamWorkspace = ({
|
|
|
23222
23328
|
}
|
|
23223
23329
|
return null;
|
|
23224
23330
|
case "org":
|
|
23225
|
-
return /* @__PURE__ */
|
|
23331
|
+
return /* @__PURE__ */ jsx94(
|
|
23226
23332
|
TeamOrgCanvas,
|
|
23227
23333
|
{
|
|
23228
23334
|
team,
|
|
@@ -23235,7 +23341,7 @@ var TeamWorkspace = ({
|
|
|
23235
23341
|
}
|
|
23236
23342
|
};
|
|
23237
23343
|
return /* @__PURE__ */ jsxs66("div", { className: styles.container, children: [
|
|
23238
|
-
/* @__PURE__ */
|
|
23344
|
+
/* @__PURE__ */ jsx94(
|
|
23239
23345
|
TeamWorkspaceMenu,
|
|
23240
23346
|
{
|
|
23241
23347
|
items: menuItems,
|
|
@@ -23244,18 +23350,18 @@ var TeamWorkspace = ({
|
|
|
23244
23350
|
}
|
|
23245
23351
|
),
|
|
23246
23352
|
/* @__PURE__ */ jsxs66(Content, { className: styles.content, children: [
|
|
23247
|
-
/* @__PURE__ */
|
|
23353
|
+
/* @__PURE__ */ jsx94(
|
|
23248
23354
|
Button43,
|
|
23249
23355
|
{
|
|
23250
23356
|
className: styles.refreshButton,
|
|
23251
|
-
icon: /* @__PURE__ */
|
|
23357
|
+
icon: /* @__PURE__ */ jsx94(RefreshCw, { size: 16 }),
|
|
23252
23358
|
onClick: refresh,
|
|
23253
23359
|
loading: isLoading,
|
|
23254
23360
|
type: "text",
|
|
23255
23361
|
children: "Refresh"
|
|
23256
23362
|
}
|
|
23257
23363
|
),
|
|
23258
|
-
/* @__PURE__ */
|
|
23364
|
+
/* @__PURE__ */ jsx94("div", { className: styles.contentInner, children: renderContent() })
|
|
23259
23365
|
] })
|
|
23260
23366
|
] });
|
|
23261
23367
|
};
|
|
@@ -23264,7 +23370,7 @@ var TeamWorkspace = ({
|
|
|
23264
23370
|
import { useMemo as useMemo24 } from "react";
|
|
23265
23371
|
|
|
23266
23372
|
// src/components/GenUI/elements/TaskBoardCard.tsx
|
|
23267
|
-
import { jsx as
|
|
23373
|
+
import { jsx as jsx95, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
23268
23374
|
var useStyle10 = (status, isCompleted) => {
|
|
23269
23375
|
return {
|
|
23270
23376
|
card: {
|
|
@@ -23362,8 +23468,8 @@ var useStyle10 = (status, isCompleted) => {
|
|
|
23362
23468
|
}
|
|
23363
23469
|
};
|
|
23364
23470
|
};
|
|
23365
|
-
var CheckIcon = () => /* @__PURE__ */
|
|
23366
|
-
var CircleIcon = () => /* @__PURE__ */
|
|
23471
|
+
var CheckIcon = () => /* @__PURE__ */ jsx95("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: /* @__PURE__ */ jsx95("polyline", { points: "20 6 9 17 4 12" }) });
|
|
23472
|
+
var CircleIcon = () => /* @__PURE__ */ jsx95("svg", { width: "8", height: "8", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx95("circle", { cx: "12", cy: "12", r: "10" }) });
|
|
23367
23473
|
var TaskBoardCard = ({
|
|
23368
23474
|
task,
|
|
23369
23475
|
allTaskIds,
|
|
@@ -23373,7 +23479,7 @@ var TaskBoardCard = ({
|
|
|
23373
23479
|
const styles = useStyle10(task.status, isCompleted);
|
|
23374
23480
|
const renderDependencyBadges = () => {
|
|
23375
23481
|
if (!task.dependencies || task.dependencies.length === 0) {
|
|
23376
|
-
return /* @__PURE__ */
|
|
23482
|
+
return /* @__PURE__ */ jsx95("span", { style: { ...styles.depLabel, color: "#7A7A7A" }, children: "none" });
|
|
23377
23483
|
}
|
|
23378
23484
|
return task.dependencies.map((depId) => {
|
|
23379
23485
|
const isValidDep = allTaskIds.has(depId);
|
|
@@ -23393,7 +23499,7 @@ var TaskBoardCard = ({
|
|
|
23393
23499
|
marginRight: "4px"
|
|
23394
23500
|
},
|
|
23395
23501
|
children: [
|
|
23396
|
-
/* @__PURE__ */
|
|
23502
|
+
/* @__PURE__ */ jsx95("span", { style: styles.checkIcon, children: isValidDep && isDepCompleted ? /* @__PURE__ */ jsx95(CheckIcon, {}) : isValidDep ? /* @__PURE__ */ jsx95(CircleIcon, {}) : null }),
|
|
23397
23503
|
depId
|
|
23398
23504
|
]
|
|
23399
23505
|
},
|
|
@@ -23403,23 +23509,23 @@ var TaskBoardCard = ({
|
|
|
23403
23509
|
};
|
|
23404
23510
|
return /* @__PURE__ */ jsxs67("div", { style: styles.card, children: [
|
|
23405
23511
|
/* @__PURE__ */ jsxs67("div", { style: styles.header, children: [
|
|
23406
|
-
/* @__PURE__ */
|
|
23512
|
+
/* @__PURE__ */ jsx95("span", { style: styles.taskId, children: task.id }),
|
|
23407
23513
|
task.assignee && /* @__PURE__ */ jsxs67("span", { style: styles.assignee, children: [
|
|
23408
23514
|
"@",
|
|
23409
23515
|
task.assignee
|
|
23410
23516
|
] })
|
|
23411
23517
|
] }),
|
|
23412
|
-
/* @__PURE__ */
|
|
23413
|
-
task.description && /* @__PURE__ */
|
|
23518
|
+
/* @__PURE__ */ jsx95("h3", { style: styles.title, children: task.title }),
|
|
23519
|
+
task.description && /* @__PURE__ */ jsx95("p", { style: styles.description, children: task.description }),
|
|
23414
23520
|
/* @__PURE__ */ jsxs67("div", { style: styles.depRow, children: [
|
|
23415
|
-
/* @__PURE__ */
|
|
23521
|
+
/* @__PURE__ */ jsx95("span", { style: styles.depLabel, children: "Deps:" }),
|
|
23416
23522
|
renderDependencyBadges()
|
|
23417
23523
|
] })
|
|
23418
23524
|
] });
|
|
23419
23525
|
};
|
|
23420
23526
|
|
|
23421
23527
|
// src/components/GenUI/elements/TaskBoard.tsx
|
|
23422
|
-
import { jsx as
|
|
23528
|
+
import { jsx as jsx96, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
23423
23529
|
var COLUMNS = [
|
|
23424
23530
|
{ id: "pending", title: "Pending", color: "#7A7A7A" },
|
|
23425
23531
|
{ id: "in_progress", title: "In Progress", color: "#E42313" },
|
|
@@ -23570,28 +23676,28 @@ var TaskBoard = ({
|
|
|
23570
23676
|
return /* @__PURE__ */ jsxs68("div", { style: styles.container, children: [
|
|
23571
23677
|
/* @__PURE__ */ jsxs68("div", { style: styles.header, children: [
|
|
23572
23678
|
/* @__PURE__ */ jsxs68("div", { style: styles.titleSection, children: [
|
|
23573
|
-
/* @__PURE__ */
|
|
23574
|
-
/* @__PURE__ */
|
|
23679
|
+
/* @__PURE__ */ jsx96("h1", { style: styles.pageTitle, children: "Task Board" }),
|
|
23680
|
+
/* @__PURE__ */ jsx96("p", { style: styles.pageSubtitle, children: "Track team progress and task status" })
|
|
23575
23681
|
] }),
|
|
23576
|
-
/* @__PURE__ */
|
|
23682
|
+
/* @__PURE__ */ jsx96("div", { style: styles.actions, children: /* @__PURE__ */ jsxs68("button", { style: styles.addButton, onClick: handleAddTask, children: [
|
|
23577
23683
|
/* @__PURE__ */ jsxs68("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
23578
|
-
/* @__PURE__ */
|
|
23579
|
-
/* @__PURE__ */
|
|
23684
|
+
/* @__PURE__ */ jsx96("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
23685
|
+
/* @__PURE__ */ jsx96("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
23580
23686
|
] }),
|
|
23581
23687
|
"Add Task"
|
|
23582
23688
|
] }) })
|
|
23583
23689
|
] }),
|
|
23584
|
-
/* @__PURE__ */
|
|
23690
|
+
/* @__PURE__ */ jsx96("div", { style: styles.boardContainer, children: COLUMNS.map((column) => {
|
|
23585
23691
|
const columnTasks = tasksByStatus[column.id] || [];
|
|
23586
23692
|
return /* @__PURE__ */ jsxs68("div", { style: styles.column, children: [
|
|
23587
23693
|
/* @__PURE__ */ jsxs68("div", { style: styles.columnHeader, children: [
|
|
23588
23694
|
/* @__PURE__ */ jsxs68("div", { style: styles.columnTitle, children: [
|
|
23589
|
-
/* @__PURE__ */
|
|
23590
|
-
/* @__PURE__ */
|
|
23695
|
+
/* @__PURE__ */ jsx96("div", { style: { ...styles.statusDot, background: column.color } }),
|
|
23696
|
+
/* @__PURE__ */ jsx96("span", { style: styles.columnLabel, children: column.title })
|
|
23591
23697
|
] }),
|
|
23592
|
-
/* @__PURE__ */
|
|
23698
|
+
/* @__PURE__ */ jsx96("span", { style: styles.columnCount, children: columnTasks.length })
|
|
23593
23699
|
] }),
|
|
23594
|
-
columnTasks.length > 0 ? columnTasks.map((task) => /* @__PURE__ */
|
|
23700
|
+
columnTasks.length > 0 ? columnTasks.map((task) => /* @__PURE__ */ jsx96(
|
|
23595
23701
|
TaskBoardCard,
|
|
23596
23702
|
{
|
|
23597
23703
|
task,
|
|
@@ -23599,15 +23705,15 @@ var TaskBoard = ({
|
|
|
23599
23705
|
getDependencyStatus
|
|
23600
23706
|
},
|
|
23601
23707
|
task.id
|
|
23602
|
-
)) : /* @__PURE__ */
|
|
23708
|
+
)) : /* @__PURE__ */ jsx96("div", { style: styles.emptyColumn, children: "No tasks" })
|
|
23603
23709
|
] }, column.id);
|
|
23604
23710
|
}) })
|
|
23605
23711
|
] });
|
|
23606
23712
|
};
|
|
23607
23713
|
|
|
23608
23714
|
// src/components/GenUI/elements/Mailbox.tsx
|
|
23609
|
-
import { useState as
|
|
23610
|
-
import { jsx as
|
|
23715
|
+
import { useState as useState60, useMemo as useMemo25, useRef as useRef22, useEffect as useEffect37 } from "react";
|
|
23716
|
+
import { jsx as jsx97, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
23611
23717
|
var useStyle12 = () => {
|
|
23612
23718
|
return {
|
|
23613
23719
|
container: {
|
|
@@ -23865,7 +23971,7 @@ var formatTime3 = (date) => {
|
|
|
23865
23971
|
};
|
|
23866
23972
|
var renderMessageWithMentions = (content, mentions, styles) => {
|
|
23867
23973
|
if (mentions.length === 0) {
|
|
23868
|
-
return /* @__PURE__ */
|
|
23974
|
+
return /* @__PURE__ */ jsx97("span", { style: styles.messageText, children: content });
|
|
23869
23975
|
}
|
|
23870
23976
|
const parts = [];
|
|
23871
23977
|
let lastIndex = 0;
|
|
@@ -23887,13 +23993,13 @@ var renderMessageWithMentions = (content, mentions, styles) => {
|
|
|
23887
23993
|
if (lastIndex < content.length) {
|
|
23888
23994
|
parts.push(content.slice(lastIndex));
|
|
23889
23995
|
}
|
|
23890
|
-
return /* @__PURE__ */
|
|
23996
|
+
return /* @__PURE__ */ jsx97("span", { style: styles.messageText, children: parts });
|
|
23891
23997
|
};
|
|
23892
23998
|
var TeamChat = ({ data }) => {
|
|
23893
23999
|
const styles = useStyle12();
|
|
23894
24000
|
const { teamName, currentUser, teammates, messages, onSendMessage } = data || {};
|
|
23895
|
-
const [inputValue, setInputValue] =
|
|
23896
|
-
const messagesEndRef =
|
|
24001
|
+
const [inputValue, setInputValue] = useState60("");
|
|
24002
|
+
const messagesEndRef = useRef22(null);
|
|
23897
24003
|
const sortedMessages = useMemo25(() => {
|
|
23898
24004
|
return [...messages || []].sort(
|
|
23899
24005
|
(a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime()
|
|
@@ -23902,7 +24008,7 @@ var TeamChat = ({ data }) => {
|
|
|
23902
24008
|
const mentions = useMemo25(() => {
|
|
23903
24009
|
return teammates?.map((t) => t.name) || [];
|
|
23904
24010
|
}, [teammates]);
|
|
23905
|
-
|
|
24011
|
+
useEffect37(() => {
|
|
23906
24012
|
messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
23907
24013
|
}, [sortedMessages]);
|
|
23908
24014
|
const handleSend = () => {
|
|
@@ -23921,8 +24027,8 @@ var TeamChat = ({ data }) => {
|
|
|
23921
24027
|
return STATUS_COLORS[status] || STATUS_COLORS.offline;
|
|
23922
24028
|
};
|
|
23923
24029
|
return /* @__PURE__ */ jsxs69("div", { style: styles.container, children: [
|
|
23924
|
-
/* @__PURE__ */
|
|
23925
|
-
/* @__PURE__ */
|
|
24030
|
+
/* @__PURE__ */ jsx97("div", { style: styles.header, children: /* @__PURE__ */ jsxs69("div", { style: styles.titleSection, children: [
|
|
24031
|
+
/* @__PURE__ */ jsx97("h2", { style: styles.teamName, children: teamName || "Team Chat" }),
|
|
23926
24032
|
/* @__PURE__ */ jsxs69("p", { style: styles.teamDesc, children: [
|
|
23927
24033
|
teammates?.length || 0,
|
|
23928
24034
|
" member",
|
|
@@ -23931,16 +24037,16 @@ var TeamChat = ({ data }) => {
|
|
|
23931
24037
|
] }) }),
|
|
23932
24038
|
/* @__PURE__ */ jsxs69("div", { style: styles.mainContainer, children: [
|
|
23933
24039
|
/* @__PURE__ */ jsxs69("div", { style: styles.sidebar, children: [
|
|
23934
|
-
/* @__PURE__ */
|
|
24040
|
+
/* @__PURE__ */ jsx97("div", { style: styles.sidebarHeader, children: /* @__PURE__ */ jsx97("p", { style: styles.sidebarTitle, children: "Team Members" }) }),
|
|
23935
24041
|
teammates?.map((member) => /* @__PURE__ */ jsxs69("div", { style: styles.member, children: [
|
|
23936
|
-
/* @__PURE__ */
|
|
24042
|
+
/* @__PURE__ */ jsx97(
|
|
23937
24043
|
"div",
|
|
23938
24044
|
{
|
|
23939
24045
|
style: {
|
|
23940
24046
|
...styles.avatar,
|
|
23941
24047
|
background: getAvatarColor9(member.name)
|
|
23942
24048
|
},
|
|
23943
|
-
children: /* @__PURE__ */
|
|
24049
|
+
children: /* @__PURE__ */ jsx97("span", { style: styles.avatarText, children: getInitials9(member.name) })
|
|
23944
24050
|
}
|
|
23945
24051
|
),
|
|
23946
24052
|
/* @__PURE__ */ jsxs69("div", { style: styles.memberInfo, children: [
|
|
@@ -23948,9 +24054,9 @@ var TeamChat = ({ data }) => {
|
|
|
23948
24054
|
member.name,
|
|
23949
24055
|
member.name === currentUser && " (You)"
|
|
23950
24056
|
] }),
|
|
23951
|
-
/* @__PURE__ */
|
|
24057
|
+
/* @__PURE__ */ jsx97("p", { style: styles.memberRole, children: member.role })
|
|
23952
24058
|
] }),
|
|
23953
|
-
/* @__PURE__ */
|
|
24059
|
+
/* @__PURE__ */ jsx97(
|
|
23954
24060
|
"div",
|
|
23955
24061
|
{
|
|
23956
24062
|
style: {
|
|
@@ -23973,14 +24079,14 @@ var TeamChat = ({ data }) => {
|
|
|
23973
24079
|
...isSelf ? styles.messageSelf : {}
|
|
23974
24080
|
},
|
|
23975
24081
|
children: [
|
|
23976
|
-
!isSelf && /* @__PURE__ */
|
|
24082
|
+
!isSelf && /* @__PURE__ */ jsx97(
|
|
23977
24083
|
"div",
|
|
23978
24084
|
{
|
|
23979
24085
|
style: {
|
|
23980
24086
|
...styles.avatar,
|
|
23981
24087
|
background: getAvatarColor9(msg.from)
|
|
23982
24088
|
},
|
|
23983
|
-
children: /* @__PURE__ */
|
|
24089
|
+
children: /* @__PURE__ */ jsx97("span", { style: styles.avatarText, children: getInitials9(msg.from) })
|
|
23984
24090
|
}
|
|
23985
24091
|
),
|
|
23986
24092
|
/* @__PURE__ */ jsxs69(
|
|
@@ -23992,7 +24098,7 @@ var TeamChat = ({ data }) => {
|
|
|
23992
24098
|
},
|
|
23993
24099
|
children: [
|
|
23994
24100
|
/* @__PURE__ */ jsxs69("div", { style: styles.messageHeader, children: [
|
|
23995
|
-
/* @__PURE__ */
|
|
24101
|
+
/* @__PURE__ */ jsx97(
|
|
23996
24102
|
"span",
|
|
23997
24103
|
{
|
|
23998
24104
|
style: {
|
|
@@ -24002,7 +24108,7 @@ var TeamChat = ({ data }) => {
|
|
|
24002
24108
|
children: isSelf ? "You" : msg.from
|
|
24003
24109
|
}
|
|
24004
24110
|
),
|
|
24005
|
-
/* @__PURE__ */
|
|
24111
|
+
/* @__PURE__ */ jsx97(
|
|
24006
24112
|
"span",
|
|
24007
24113
|
{
|
|
24008
24114
|
style: {
|
|
@@ -24013,7 +24119,7 @@ var TeamChat = ({ data }) => {
|
|
|
24013
24119
|
}
|
|
24014
24120
|
)
|
|
24015
24121
|
] }),
|
|
24016
|
-
isSelf ? /* @__PURE__ */
|
|
24122
|
+
isSelf ? /* @__PURE__ */ jsx97(
|
|
24017
24123
|
"div",
|
|
24018
24124
|
{
|
|
24019
24125
|
style: {
|
|
@@ -24032,10 +24138,10 @@ var TeamChat = ({ data }) => {
|
|
|
24032
24138
|
msg.id
|
|
24033
24139
|
);
|
|
24034
24140
|
}),
|
|
24035
|
-
/* @__PURE__ */
|
|
24141
|
+
/* @__PURE__ */ jsx97("div", { ref: messagesEndRef })
|
|
24036
24142
|
] }),
|
|
24037
24143
|
/* @__PURE__ */ jsxs69("div", { style: styles.inputArea, children: [
|
|
24038
|
-
/* @__PURE__ */
|
|
24144
|
+
/* @__PURE__ */ jsx97("div", { style: styles.input, children: /* @__PURE__ */ jsx97(
|
|
24039
24145
|
"input",
|
|
24040
24146
|
{
|
|
24041
24147
|
type: "text",
|
|
@@ -24057,12 +24163,12 @@ var TeamChat = ({ data }) => {
|
|
|
24057
24163
|
stroke: "currentColor",
|
|
24058
24164
|
strokeWidth: "2",
|
|
24059
24165
|
children: [
|
|
24060
|
-
/* @__PURE__ */
|
|
24061
|
-
/* @__PURE__ */
|
|
24166
|
+
/* @__PURE__ */ jsx97("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
|
|
24167
|
+
/* @__PURE__ */ jsx97("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
|
|
24062
24168
|
]
|
|
24063
24169
|
}
|
|
24064
24170
|
),
|
|
24065
|
-
/* @__PURE__ */
|
|
24171
|
+
/* @__PURE__ */ jsx97("span", { style: styles.sendText, children: "Send" })
|
|
24066
24172
|
] })
|
|
24067
24173
|
] })
|
|
24068
24174
|
] })
|
|
@@ -24071,12 +24177,12 @@ var TeamChat = ({ data }) => {
|
|
|
24071
24177
|
};
|
|
24072
24178
|
|
|
24073
24179
|
// src/components/GenUI/elements/ShowWidget.tsx
|
|
24074
|
-
import { useCallback as
|
|
24180
|
+
import { useCallback as useCallback29 } from "react";
|
|
24075
24181
|
import { Button as Button44, Typography as Typography47 } from "antd";
|
|
24076
24182
|
import { ExpandOutlined as ExpandOutlined2 } from "@ant-design/icons";
|
|
24077
24183
|
|
|
24078
24184
|
// src/streaming-html/StreamingHTMLRenderer.tsx
|
|
24079
|
-
import
|
|
24185
|
+
import React51, { useEffect as useEffect38, useRef as useRef23, useCallback as useCallback28, useState as useState61 } from "react";
|
|
24080
24186
|
|
|
24081
24187
|
// src/streaming-html/show-widget-css-generator.ts
|
|
24082
24188
|
function generateShowWidgetCSS(tokens) {
|
|
@@ -24757,7 +24863,7 @@ svg { height:100%}
|
|
|
24757
24863
|
}
|
|
24758
24864
|
|
|
24759
24865
|
// src/streaming-html/StreamingHTMLRenderer.tsx
|
|
24760
|
-
import { jsx as
|
|
24866
|
+
import { jsx as jsx98, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
24761
24867
|
var StreamingHTMLRenderer = ({
|
|
24762
24868
|
html,
|
|
24763
24869
|
className = "",
|
|
@@ -24767,22 +24873,22 @@ var StreamingHTMLRenderer = ({
|
|
|
24767
24873
|
title,
|
|
24768
24874
|
loadingMessages
|
|
24769
24875
|
}) => {
|
|
24770
|
-
const iframeRef =
|
|
24771
|
-
const containerRef =
|
|
24772
|
-
const resizeObserverRef =
|
|
24773
|
-
const prevHTMLRef =
|
|
24774
|
-
const isReadyRef =
|
|
24775
|
-
const pendingChunksRef =
|
|
24776
|
-
const isCompleteRef =
|
|
24777
|
-
const isScriptExecuted =
|
|
24778
|
-
const [iframeHeight, setIframeHeight] =
|
|
24779
|
-
const [iframeWidth, setIframeWidth] =
|
|
24780
|
-
const [currentMessageIndex, setCurrentMessageIndex] =
|
|
24781
|
-
const [showLoading, setShowLoading] =
|
|
24782
|
-
|
|
24876
|
+
const iframeRef = useRef23(null);
|
|
24877
|
+
const containerRef = useRef23(null);
|
|
24878
|
+
const resizeObserverRef = useRef23(null);
|
|
24879
|
+
const prevHTMLRef = useRef23("");
|
|
24880
|
+
const isReadyRef = useRef23(false);
|
|
24881
|
+
const pendingChunksRef = useRef23([]);
|
|
24882
|
+
const isCompleteRef = useRef23(isComplete);
|
|
24883
|
+
const isScriptExecuted = useRef23(false);
|
|
24884
|
+
const [iframeHeight, setIframeHeight] = React51.useState(0);
|
|
24885
|
+
const [iframeWidth, setIframeWidth] = React51.useState(void 0);
|
|
24886
|
+
const [currentMessageIndex, setCurrentMessageIndex] = useState61(0);
|
|
24887
|
+
const [showLoading, setShowLoading] = useState61(true);
|
|
24888
|
+
useEffect38(() => {
|
|
24783
24889
|
isCompleteRef.current = isComplete;
|
|
24784
24890
|
}, [isComplete]);
|
|
24785
|
-
|
|
24891
|
+
useEffect38(() => {
|
|
24786
24892
|
if (iframeHeight > 0) {
|
|
24787
24893
|
setShowLoading(false);
|
|
24788
24894
|
return;
|
|
@@ -24807,7 +24913,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24807
24913
|
}, 1500);
|
|
24808
24914
|
return () => clearInterval(interval);
|
|
24809
24915
|
}, [iframeHeight, loadingMessages]);
|
|
24810
|
-
const executeScripts =
|
|
24916
|
+
const executeScripts = useCallback28(() => {
|
|
24811
24917
|
if (isScriptExecuted.current) {
|
|
24812
24918
|
console.log("[StreamingHTMLRenderer] scripts is executed");
|
|
24813
24919
|
return;
|
|
@@ -24834,7 +24940,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24834
24940
|
onError?.(streamingError);
|
|
24835
24941
|
}
|
|
24836
24942
|
}, [onError]);
|
|
24837
|
-
const sendChunk =
|
|
24943
|
+
const sendChunk = useCallback28((chunk) => {
|
|
24838
24944
|
const iframe = iframeRef.current;
|
|
24839
24945
|
if (!iframe || !iframe.contentWindow) {
|
|
24840
24946
|
return;
|
|
@@ -24858,7 +24964,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24858
24964
|
onError?.(streamingError);
|
|
24859
24965
|
}
|
|
24860
24966
|
}, [onError]);
|
|
24861
|
-
|
|
24967
|
+
useEffect38(() => {
|
|
24862
24968
|
const handleMessage = (event) => {
|
|
24863
24969
|
const iframe = iframeRef.current;
|
|
24864
24970
|
if (!iframe || event.source !== iframe.contentWindow) {
|
|
@@ -24911,7 +25017,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24911
25017
|
window.removeEventListener("message", handleMessage);
|
|
24912
25018
|
};
|
|
24913
25019
|
}, [onError, onPrompt, sendChunk, executeScripts]);
|
|
24914
|
-
|
|
25020
|
+
useEffect38(() => {
|
|
24915
25021
|
if (html === prevHTMLRef.current) {
|
|
24916
25022
|
return;
|
|
24917
25023
|
}
|
|
@@ -24922,12 +25028,12 @@ var StreamingHTMLRenderer = ({
|
|
|
24922
25028
|
sendChunk(newChunk);
|
|
24923
25029
|
}
|
|
24924
25030
|
}, [html, sendChunk]);
|
|
24925
|
-
|
|
25031
|
+
useEffect38(() => {
|
|
24926
25032
|
if (isComplete && isReadyRef.current) {
|
|
24927
25033
|
executeScripts();
|
|
24928
25034
|
}
|
|
24929
25035
|
}, [isComplete, executeScripts]);
|
|
24930
|
-
|
|
25036
|
+
useEffect38(() => {
|
|
24931
25037
|
const container = containerRef.current;
|
|
24932
25038
|
if (!container) return;
|
|
24933
25039
|
const antBubble = container.closest(".ant-bubble");
|
|
@@ -24953,7 +25059,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24953
25059
|
resizeObserverRef.current = null;
|
|
24954
25060
|
};
|
|
24955
25061
|
}, []);
|
|
24956
|
-
|
|
25062
|
+
useEffect38(() => {
|
|
24957
25063
|
return () => {
|
|
24958
25064
|
isReadyRef.current = false;
|
|
24959
25065
|
pendingChunksRef.current = [];
|
|
@@ -24986,13 +25092,13 @@ var StreamingHTMLRenderer = ({
|
|
|
24986
25092
|
zIndex: 10
|
|
24987
25093
|
},
|
|
24988
25094
|
children: [
|
|
24989
|
-
/* @__PURE__ */
|
|
25095
|
+
/* @__PURE__ */ jsx98("style", { children: `
|
|
24990
25096
|
@keyframes shimmer {
|
|
24991
25097
|
0% { background-position: -200% 0; }
|
|
24992
25098
|
100% { background-position: 200% 0; }
|
|
24993
25099
|
}
|
|
24994
25100
|
` }),
|
|
24995
|
-
/* @__PURE__ */
|
|
25101
|
+
/* @__PURE__ */ jsx98(
|
|
24996
25102
|
"span",
|
|
24997
25103
|
{
|
|
24998
25104
|
style: {
|
|
@@ -25007,7 +25113,7 @@ var StreamingHTMLRenderer = ({
|
|
|
25007
25113
|
]
|
|
25008
25114
|
}
|
|
25009
25115
|
),
|
|
25010
|
-
/* @__PURE__ */
|
|
25116
|
+
/* @__PURE__ */ jsx98(
|
|
25011
25117
|
"iframe",
|
|
25012
25118
|
{
|
|
25013
25119
|
ref: iframeRef,
|
|
@@ -25030,7 +25136,7 @@ var StreamingHTMLRenderer = ({
|
|
|
25030
25136
|
var StreamingHTMLRenderer_default = StreamingHTMLRenderer;
|
|
25031
25137
|
|
|
25032
25138
|
// src/components/GenUI/elements/ShowWidget.tsx
|
|
25033
|
-
import { jsx as
|
|
25139
|
+
import { jsx as jsx99, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
25034
25140
|
var ShowWidget = ({
|
|
25035
25141
|
data,
|
|
25036
25142
|
component_key,
|
|
@@ -25056,14 +25162,14 @@ var ShowWidget = ({
|
|
|
25056
25162
|
console.warn("Failed to parse tool response:", e);
|
|
25057
25163
|
}
|
|
25058
25164
|
}
|
|
25059
|
-
const sendPrompt =
|
|
25165
|
+
const sendPrompt = useCallback29((text) => {
|
|
25060
25166
|
sendMessage({
|
|
25061
25167
|
input: {
|
|
25062
25168
|
message: text
|
|
25063
25169
|
}
|
|
25064
25170
|
});
|
|
25065
25171
|
}, [sendMessage]);
|
|
25066
|
-
const handleOpenInSideApp =
|
|
25172
|
+
const handleOpenInSideApp = useCallback29(() => {
|
|
25067
25173
|
openSideApp({
|
|
25068
25174
|
component_key: "show_widget",
|
|
25069
25175
|
data: {
|
|
@@ -25090,7 +25196,7 @@ var ShowWidget = ({
|
|
|
25090
25196
|
position: "relative"
|
|
25091
25197
|
},
|
|
25092
25198
|
children: [
|
|
25093
|
-
/* @__PURE__ */
|
|
25199
|
+
/* @__PURE__ */ jsx99(
|
|
25094
25200
|
Typography47.Text,
|
|
25095
25201
|
{
|
|
25096
25202
|
strong: true,
|
|
@@ -25101,12 +25207,12 @@ var ShowWidget = ({
|
|
|
25101
25207
|
children: title || "Widget"
|
|
25102
25208
|
}
|
|
25103
25209
|
),
|
|
25104
|
-
/* @__PURE__ */
|
|
25210
|
+
/* @__PURE__ */ jsx99(
|
|
25105
25211
|
Button44,
|
|
25106
25212
|
{
|
|
25107
25213
|
type: "text",
|
|
25108
25214
|
size: "small",
|
|
25109
|
-
icon: /* @__PURE__ */
|
|
25215
|
+
icon: /* @__PURE__ */ jsx99(ExpandOutlined2, {}),
|
|
25110
25216
|
onClick: handleOpenInSideApp,
|
|
25111
25217
|
style: {
|
|
25112
25218
|
position: "absolute",
|
|
@@ -25118,7 +25224,7 @@ var ShowWidget = ({
|
|
|
25118
25224
|
]
|
|
25119
25225
|
}
|
|
25120
25226
|
),
|
|
25121
|
-
/* @__PURE__ */
|
|
25227
|
+
/* @__PURE__ */ jsx99("div", { style: { position: "relative", flex: 1 }, children: /* @__PURE__ */ jsx99(
|
|
25122
25228
|
StreamingHTMLRenderer_default,
|
|
25123
25229
|
{
|
|
25124
25230
|
html: finalHTML,
|
|
@@ -25132,14 +25238,14 @@ var ShowWidget = ({
|
|
|
25132
25238
|
};
|
|
25133
25239
|
|
|
25134
25240
|
// src/components/GenUI/elements/ShowWidgetApp.tsx
|
|
25135
|
-
import { useCallback as
|
|
25136
|
-
import { jsx as
|
|
25241
|
+
import { useCallback as useCallback30 } from "react";
|
|
25242
|
+
import { jsx as jsx100 } from "react/jsx-runtime";
|
|
25137
25243
|
var ShowWidgetApp = ({
|
|
25138
25244
|
data
|
|
25139
25245
|
}) => {
|
|
25140
25246
|
const { widget_code, title } = data || {};
|
|
25141
25247
|
const { sendMessage } = useAgentChat();
|
|
25142
|
-
const sendPrompt =
|
|
25248
|
+
const sendPrompt = useCallback30(
|
|
25143
25249
|
(text) => {
|
|
25144
25250
|
sendMessage({
|
|
25145
25251
|
input: {
|
|
@@ -25152,7 +25258,7 @@ var ShowWidgetApp = ({
|
|
|
25152
25258
|
if (!widget_code) {
|
|
25153
25259
|
return null;
|
|
25154
25260
|
}
|
|
25155
|
-
return /* @__PURE__ */
|
|
25261
|
+
return /* @__PURE__ */ jsx100("div", { style: { padding: 24 }, children: /* @__PURE__ */ jsx100(
|
|
25156
25262
|
StreamingHTMLRenderer_default,
|
|
25157
25263
|
{
|
|
25158
25264
|
html: widget_code,
|
|
@@ -25266,8 +25372,8 @@ var regsiterElement = (language, ElementMeta) => {
|
|
|
25266
25372
|
// src/components/Chat/SideAppViewBrowser.tsx
|
|
25267
25373
|
import { Dropdown as Dropdown2, Tooltip as Tooltip22 } from "antd";
|
|
25268
25374
|
import { createStyles as createStyles29 } from "antd-style";
|
|
25269
|
-
import { useEffect as
|
|
25270
|
-
import { Fragment as Fragment21, jsx as
|
|
25375
|
+
import { useEffect as useEffect39, useState as useState62 } from "react";
|
|
25376
|
+
import { Fragment as Fragment21, jsx as jsx101, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
25271
25377
|
var useStyle13 = createStyles29(({ token, css }) => {
|
|
25272
25378
|
return {
|
|
25273
25379
|
container: css`
|
|
@@ -25444,15 +25550,15 @@ var useStyle13 = createStyles29(({ token, css }) => {
|
|
|
25444
25550
|
});
|
|
25445
25551
|
var EmptySideAppView = ({ component_key, data }) => {
|
|
25446
25552
|
if (data?.component) {
|
|
25447
|
-
return /* @__PURE__ */
|
|
25553
|
+
return /* @__PURE__ */ jsx101(Fragment21, { children: data.component });
|
|
25448
25554
|
}
|
|
25449
25555
|
return /* @__PURE__ */ jsxs72("div", { children: [
|
|
25450
|
-
/* @__PURE__ */
|
|
25451
|
-
/* @__PURE__ */
|
|
25556
|
+
/* @__PURE__ */ jsx101("p", { children: "Component view not found" }),
|
|
25557
|
+
/* @__PURE__ */ jsx101("pre", { children: JSON.stringify({ component_key, data }, null, 2) })
|
|
25452
25558
|
] });
|
|
25453
25559
|
};
|
|
25454
25560
|
var getTabIcon = (componentKey) => {
|
|
25455
|
-
return /* @__PURE__ */
|
|
25561
|
+
return /* @__PURE__ */ jsx101(AppstoreOutlined, { style: { fontSize: 12, opacity: 0.6 } });
|
|
25456
25562
|
};
|
|
25457
25563
|
var SideAppViewBrowser = ({ region = "side" }) => {
|
|
25458
25564
|
const { styles } = useStyle13();
|
|
@@ -25464,11 +25570,11 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25464
25570
|
} = useChatUIContext();
|
|
25465
25571
|
const selectedCard = region === "side" ? sideAppSelectedCard : contextAppSelectedCard;
|
|
25466
25572
|
const closeApp = region === "side" ? closeSideApp : closeContentApp;
|
|
25467
|
-
const [activeKey, setActiveKey] =
|
|
25573
|
+
const [activeKey, setActiveKey] = useState62(
|
|
25468
25574
|
JSON.stringify(selectedCard)
|
|
25469
25575
|
);
|
|
25470
|
-
const [hoveredTab, setHoveredTab] =
|
|
25471
|
-
const [items, setItems] =
|
|
25576
|
+
const [hoveredTab, setHoveredTab] = useState62(null);
|
|
25577
|
+
const [items, setItems] = useState62([]);
|
|
25472
25578
|
const add = (key, label, children, componentKey) => {
|
|
25473
25579
|
const newPanes = [...items, { label, children, key, componentKey }];
|
|
25474
25580
|
setItems(newPanes);
|
|
@@ -25495,7 +25601,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25495
25601
|
const switchTab = (key) => {
|
|
25496
25602
|
setActiveKey(key);
|
|
25497
25603
|
};
|
|
25498
|
-
|
|
25604
|
+
useEffect39(() => {
|
|
25499
25605
|
if (!selectedCard) return;
|
|
25500
25606
|
const key = JSON.stringify(selectedCard);
|
|
25501
25607
|
if (items.find((item) => item.key === key)) {
|
|
@@ -25510,7 +25616,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25510
25616
|
add(
|
|
25511
25617
|
key,
|
|
25512
25618
|
selectedCard?.message || selectedCard?.data?.message || "Unnamed",
|
|
25513
|
-
/* @__PURE__ */
|
|
25619
|
+
/* @__PURE__ */ jsx101(
|
|
25514
25620
|
SideAppView,
|
|
25515
25621
|
{
|
|
25516
25622
|
component_key: selectedCard?.component_key || "",
|
|
@@ -25535,8 +25641,8 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25535
25641
|
},
|
|
25536
25642
|
children: [
|
|
25537
25643
|
getTabIcon(item.componentKey),
|
|
25538
|
-
/* @__PURE__ */
|
|
25539
|
-
/* @__PURE__ */
|
|
25644
|
+
/* @__PURE__ */ jsx101("span", { style: { flex: 1 }, children: item.label }),
|
|
25645
|
+
/* @__PURE__ */ jsx101(
|
|
25540
25646
|
CloseOutlined2,
|
|
25541
25647
|
{
|
|
25542
25648
|
style: { fontSize: 10, opacity: 0.5 },
|
|
@@ -25553,7 +25659,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25553
25659
|
}));
|
|
25554
25660
|
return /* @__PURE__ */ jsxs72("div", { className: styles.container, children: [
|
|
25555
25661
|
/* @__PURE__ */ jsxs72("div", { className: styles.header, children: [
|
|
25556
|
-
/* @__PURE__ */
|
|
25662
|
+
/* @__PURE__ */ jsx101("div", { className: styles.tabsStrip, children: items.map((item) => /* @__PURE__ */ jsx101(Tooltip22, { title: item.label, placement: "bottom", children: /* @__PURE__ */ jsxs72(
|
|
25557
25663
|
"div",
|
|
25558
25664
|
{
|
|
25559
25665
|
"data-tab-key": item.key,
|
|
@@ -25563,8 +25669,8 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25563
25669
|
onMouseLeave: () => setHoveredTab(null),
|
|
25564
25670
|
children: [
|
|
25565
25671
|
getTabIcon(item.componentKey),
|
|
25566
|
-
/* @__PURE__ */
|
|
25567
|
-
/* @__PURE__ */
|
|
25672
|
+
/* @__PURE__ */ jsx101("span", { className: styles.tabLabel, children: item.label }),
|
|
25673
|
+
/* @__PURE__ */ jsx101(
|
|
25568
25674
|
"span",
|
|
25569
25675
|
{
|
|
25570
25676
|
className: `${styles.closeIndicator} ${hoveredTab === item.key || item.key === activeKey ? "always-visible" : ""}`,
|
|
@@ -25572,39 +25678,39 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25572
25678
|
e.stopPropagation();
|
|
25573
25679
|
remove(item.key);
|
|
25574
25680
|
},
|
|
25575
|
-
children: /* @__PURE__ */
|
|
25681
|
+
children: /* @__PURE__ */ jsx101(CloseOutlined2, { style: { fontSize: 10 } })
|
|
25576
25682
|
}
|
|
25577
25683
|
)
|
|
25578
25684
|
]
|
|
25579
25685
|
}
|
|
25580
25686
|
) }, item.key)) }),
|
|
25581
25687
|
/* @__PURE__ */ jsxs72("div", { className: styles.actions, children: [
|
|
25582
|
-
items.length > 0 && /* @__PURE__ */
|
|
25583
|
-
items.length > 1 && /* @__PURE__ */
|
|
25688
|
+
items.length > 0 && /* @__PURE__ */ jsx101("div", { className: styles.tabCounter, children: items.length }),
|
|
25689
|
+
items.length > 1 && /* @__PURE__ */ jsx101(
|
|
25584
25690
|
Dropdown2,
|
|
25585
25691
|
{
|
|
25586
25692
|
menu: { items: dropdownItems },
|
|
25587
25693
|
placement: "bottomRight",
|
|
25588
25694
|
trigger: ["click"],
|
|
25589
|
-
children: /* @__PURE__ */
|
|
25695
|
+
children: /* @__PURE__ */ jsx101("button", { className: styles.actionBtn, title: "All tabs", children: /* @__PURE__ */ jsx101(MoreOutlined3, {}) })
|
|
25590
25696
|
}
|
|
25591
25697
|
),
|
|
25592
|
-
/* @__PURE__ */
|
|
25698
|
+
/* @__PURE__ */ jsx101(Tooltip22, { title: "Close", children: /* @__PURE__ */ jsx101("button", { className: styles.actionBtn, onClick: closeApp, children: /* @__PURE__ */ jsx101(CloseOutlined2, {}) }) })
|
|
25593
25699
|
] })
|
|
25594
25700
|
] }),
|
|
25595
|
-
/* @__PURE__ */
|
|
25596
|
-
/* @__PURE__ */
|
|
25597
|
-
/* @__PURE__ */
|
|
25701
|
+
/* @__PURE__ */ jsx101("div", { className: styles.content, children: activeItem ? /* @__PURE__ */ jsx101("div", { className: styles.contentWrapper, children: activeItem.children }, activeItem.key) : /* @__PURE__ */ jsxs72("div", { className: styles.emptyState, children: [
|
|
25702
|
+
/* @__PURE__ */ jsx101(AppstoreOutlined, { className: "icon" }),
|
|
25703
|
+
/* @__PURE__ */ jsx101("span", { children: "Select an app to start" })
|
|
25598
25704
|
] }) })
|
|
25599
25705
|
] });
|
|
25600
25706
|
};
|
|
25601
25707
|
|
|
25602
25708
|
// src/components/Chat/ProjectSelector.tsx
|
|
25603
|
-
import { useState as
|
|
25709
|
+
import { useState as useState63, useCallback as useCallback31, useMemo as useMemo26, useRef as useRef24 } from "react";
|
|
25604
25710
|
import { Modal as Modal16, Input as Input12, Button as Button45, message as message15 } from "antd";
|
|
25605
25711
|
import { createStyles as createStyles30 } from "antd-style";
|
|
25606
25712
|
import { Folder, ChevronDown as ChevronDown4, Building2 as Building24 } from "lucide-react";
|
|
25607
|
-
import { Fragment as Fragment22, jsx as
|
|
25713
|
+
import { Fragment as Fragment22, jsx as jsx102, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
25608
25714
|
var PROJECT_NAME_MAX_LENGTH = 50;
|
|
25609
25715
|
var useStyles17 = createStyles30(({ token, css }) => ({
|
|
25610
25716
|
container: css`
|
|
@@ -25834,34 +25940,34 @@ var ProjectSelector = () => {
|
|
|
25834
25940
|
setProject,
|
|
25835
25941
|
createProject
|
|
25836
25942
|
} = useWorkspaceContext();
|
|
25837
|
-
const [isWorkspaceListOpen, setIsWorkspaceListOpen] =
|
|
25838
|
-
const workspaceDropdownRef =
|
|
25839
|
-
const [isProjectListOpen, setIsProjectListOpen] =
|
|
25840
|
-
const [isModalOpen, setIsModalOpen] =
|
|
25841
|
-
const [projectName, setProjectName] =
|
|
25842
|
-
const [validationError, setValidationError] =
|
|
25843
|
-
const [isCreating, setIsCreating] =
|
|
25844
|
-
const projectNameInputRef =
|
|
25943
|
+
const [isWorkspaceListOpen, setIsWorkspaceListOpen] = useState63(false);
|
|
25944
|
+
const workspaceDropdownRef = useRef24(null);
|
|
25945
|
+
const [isProjectListOpen, setIsProjectListOpen] = useState63(false);
|
|
25946
|
+
const [isModalOpen, setIsModalOpen] = useState63(false);
|
|
25947
|
+
const [projectName, setProjectName] = useState63("");
|
|
25948
|
+
const [validationError, setValidationError] = useState63(null);
|
|
25949
|
+
const [isCreating, setIsCreating] = useState63(false);
|
|
25950
|
+
const projectNameInputRef = useRef24(null);
|
|
25845
25951
|
const currentProject = useMemo26(() => {
|
|
25846
25952
|
return projects.find((p) => p.id === projectId);
|
|
25847
25953
|
}, [projects, projectId]);
|
|
25848
25954
|
const currentWorkspace = useMemo26(() => {
|
|
25849
25955
|
return workspaces.find((w) => w.id === workspaceId);
|
|
25850
25956
|
}, [workspaces, workspaceId]);
|
|
25851
|
-
const handleSelectProject =
|
|
25957
|
+
const handleSelectProject = useCallback31((selectedProjectId) => {
|
|
25852
25958
|
setProject(selectedProjectId);
|
|
25853
25959
|
setIsProjectListOpen(false);
|
|
25854
25960
|
}, [setProject]);
|
|
25855
|
-
const handleWorkspaceClick =
|
|
25961
|
+
const handleWorkspaceClick = useCallback31(() => {
|
|
25856
25962
|
setProject(null);
|
|
25857
25963
|
}, [setProject]);
|
|
25858
|
-
const toggleProjectList =
|
|
25964
|
+
const toggleProjectList = useCallback31(() => {
|
|
25859
25965
|
setIsProjectListOpen((prev) => !prev);
|
|
25860
25966
|
}, []);
|
|
25861
|
-
const toggleWorkspaceList =
|
|
25967
|
+
const toggleWorkspaceList = useCallback31(() => {
|
|
25862
25968
|
setIsWorkspaceListOpen((prev) => !prev);
|
|
25863
25969
|
}, []);
|
|
25864
|
-
const validateProjectName =
|
|
25970
|
+
const validateProjectName = useCallback31((name) => {
|
|
25865
25971
|
const trimmed = name.trim();
|
|
25866
25972
|
if (!trimmed) return "Project name is required";
|
|
25867
25973
|
if (trimmed.length > PROJECT_NAME_MAX_LENGTH) {
|
|
@@ -25869,7 +25975,7 @@ var ProjectSelector = () => {
|
|
|
25869
25975
|
}
|
|
25870
25976
|
return null;
|
|
25871
25977
|
}, []);
|
|
25872
|
-
const handleOpenModal =
|
|
25978
|
+
const handleOpenModal = useCallback31((e) => {
|
|
25873
25979
|
e.stopPropagation();
|
|
25874
25980
|
if (!workspaceId) {
|
|
25875
25981
|
message15.warning("Please select a workspace first");
|
|
@@ -25880,7 +25986,7 @@ var ProjectSelector = () => {
|
|
|
25880
25986
|
setIsModalOpen(true);
|
|
25881
25987
|
setTimeout(() => projectNameInputRef.current?.input?.focus(), 100);
|
|
25882
25988
|
}, [workspaceId]);
|
|
25883
|
-
const handleCloseModal =
|
|
25989
|
+
const handleCloseModal = useCallback31(() => {
|
|
25884
25990
|
setIsModalOpen(false);
|
|
25885
25991
|
setProjectName("");
|
|
25886
25992
|
setValidationError(null);
|
|
@@ -25890,7 +25996,7 @@ var ProjectSelector = () => {
|
|
|
25890
25996
|
setProjectName(value);
|
|
25891
25997
|
setValidationError(validateProjectName(value));
|
|
25892
25998
|
};
|
|
25893
|
-
const handleCreateProject =
|
|
25999
|
+
const handleCreateProject = useCallback31(async () => {
|
|
25894
26000
|
if (!workspaceId) return;
|
|
25895
26001
|
const trimmed = projectName.trim();
|
|
25896
26002
|
const error = validateProjectName(trimmed);
|
|
@@ -25923,21 +26029,21 @@ var ProjectSelector = () => {
|
|
|
25923
26029
|
};
|
|
25924
26030
|
const isProjectNameValid = !validateProjectName(projectName.trim());
|
|
25925
26031
|
return /* @__PURE__ */ jsxs73(Fragment22, { children: [
|
|
25926
|
-
/* @__PURE__ */
|
|
25927
|
-
/* @__PURE__ */
|
|
26032
|
+
/* @__PURE__ */ jsx102("div", { className: styles.container, children: /* @__PURE__ */ jsxs73("div", { className: styles.selectorWrapper, children: [
|
|
26033
|
+
/* @__PURE__ */ jsx102("div", { style: { position: "relative" }, ref: workspaceDropdownRef, children: /* @__PURE__ */ jsx102(
|
|
25928
26034
|
"button",
|
|
25929
26035
|
{
|
|
25930
26036
|
className: styles.workspaceButton,
|
|
25931
26037
|
onClick: handleWorkspaceClick,
|
|
25932
26038
|
title: currentWorkspace?.name || "Select Workspace",
|
|
25933
|
-
children: /* @__PURE__ */
|
|
26039
|
+
children: /* @__PURE__ */ jsx102("div", { className: styles.workspaceButtonIcon, children: /* @__PURE__ */ jsx102(Building24, { size: 16 }) })
|
|
25934
26040
|
}
|
|
25935
26041
|
) }),
|
|
25936
|
-
/* @__PURE__ */
|
|
26042
|
+
/* @__PURE__ */ jsx102("span", { className: styles.divider, children: "/" }),
|
|
25937
26043
|
/* @__PURE__ */ jsxs73("div", { className: styles.projectTrigger, onClick: toggleProjectList, children: [
|
|
25938
|
-
/* @__PURE__ */
|
|
25939
|
-
/* @__PURE__ */
|
|
25940
|
-
/* @__PURE__ */
|
|
26044
|
+
/* @__PURE__ */ jsx102("div", { className: styles.projectTriggerIcon, children: /* @__PURE__ */ jsx102(Folder, { size: 16 }) }),
|
|
26045
|
+
/* @__PURE__ */ jsx102("div", { className: styles.projectTriggerInfo, children: /* @__PURE__ */ jsx102("div", { className: styles.projectTriggerName, children: currentProject?.name || "Select Project" }) }),
|
|
26046
|
+
/* @__PURE__ */ jsx102("div", { className: `${styles.projectTriggerArrow} ${isProjectListOpen ? "expanded" : ""}`, children: /* @__PURE__ */ jsx102(ChevronDown4, { size: 14 }) })
|
|
25941
26047
|
] }),
|
|
25942
26048
|
isProjectListOpen && /* @__PURE__ */ jsxs73("div", { className: styles.projectDropdown, children: [
|
|
25943
26049
|
projects.map((project) => /* @__PURE__ */ jsxs73(
|
|
@@ -25946,13 +26052,13 @@ var ProjectSelector = () => {
|
|
|
25946
26052
|
className: `${styles.projectDropdownItem} ${project.id === projectId ? "active" : ""}`,
|
|
25947
26053
|
onClick: () => handleSelectProject(project.id),
|
|
25948
26054
|
children: [
|
|
25949
|
-
/* @__PURE__ */
|
|
25950
|
-
/* @__PURE__ */
|
|
26055
|
+
/* @__PURE__ */ jsx102("div", { className: styles.projectDropdownItemIcon, children: /* @__PURE__ */ jsx102(Folder, { size: 14 }) }),
|
|
26056
|
+
/* @__PURE__ */ jsx102("div", { className: project.id === projectId ? styles.projectDropdownItemNameActive : styles.projectDropdownItemName, children: project.name })
|
|
25951
26057
|
]
|
|
25952
26058
|
},
|
|
25953
26059
|
project.id
|
|
25954
26060
|
)),
|
|
25955
|
-
projects.length === 0 && /* @__PURE__ */
|
|
26061
|
+
projects.length === 0 && /* @__PURE__ */ jsx102("div", { className: styles.emptyState, children: "No projects" })
|
|
25956
26062
|
] })
|
|
25957
26063
|
] }) }),
|
|
25958
26064
|
/* @__PURE__ */ jsxs73(
|
|
@@ -25968,8 +26074,8 @@ var ProjectSelector = () => {
|
|
|
25968
26074
|
keyboard: true,
|
|
25969
26075
|
closable: true,
|
|
25970
26076
|
footer: /* @__PURE__ */ jsxs73("div", { className: styles.modalFooter, children: [
|
|
25971
|
-
/* @__PURE__ */
|
|
25972
|
-
/* @__PURE__ */
|
|
26077
|
+
/* @__PURE__ */ jsx102(Button45, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
|
|
26078
|
+
/* @__PURE__ */ jsx102(
|
|
25973
26079
|
Button45,
|
|
25974
26080
|
{
|
|
25975
26081
|
type: "primary",
|
|
@@ -25981,7 +26087,7 @@ var ProjectSelector = () => {
|
|
|
25981
26087
|
)
|
|
25982
26088
|
] }),
|
|
25983
26089
|
children: [
|
|
25984
|
-
/* @__PURE__ */
|
|
26090
|
+
/* @__PURE__ */ jsx102(
|
|
25985
26091
|
Input12,
|
|
25986
26092
|
{
|
|
25987
26093
|
ref: projectNameInputRef,
|
|
@@ -25993,7 +26099,7 @@ var ProjectSelector = () => {
|
|
|
25993
26099
|
status: validationError ? "error" : void 0
|
|
25994
26100
|
}
|
|
25995
26101
|
),
|
|
25996
|
-
validationError && /* @__PURE__ */
|
|
26102
|
+
validationError && /* @__PURE__ */ jsx102("div", { style: { color: "#ff4d4f", fontSize: "12px", marginTop: "4px" }, children: validationError })
|
|
25997
26103
|
]
|
|
25998
26104
|
}
|
|
25999
26105
|
)
|
|
@@ -26001,13 +26107,13 @@ var ProjectSelector = () => {
|
|
|
26001
26107
|
};
|
|
26002
26108
|
|
|
26003
26109
|
// src/components/Chat/LatticeChat.tsx
|
|
26004
|
-
import { jsx as
|
|
26110
|
+
import { jsx as jsx103, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
26005
26111
|
var LatticeChat = (props) => {
|
|
26006
26112
|
const { assistant_id, thread_id = "", menu, header, ...chatingProps } = props;
|
|
26007
26113
|
const { config } = useLatticeChatShellContext();
|
|
26008
26114
|
const showWorkspaceSelector = config.enableWorkspace;
|
|
26009
|
-
const leftTop = showWorkspaceSelector ? /* @__PURE__ */
|
|
26010
|
-
return /* @__PURE__ */
|
|
26115
|
+
const leftTop = showWorkspaceSelector ? /* @__PURE__ */ jsx103(ProjectSelector, {}) : null;
|
|
26116
|
+
return /* @__PURE__ */ jsx103(
|
|
26011
26117
|
AgentThreadProvider,
|
|
26012
26118
|
{
|
|
26013
26119
|
assistantId: assistant_id,
|
|
@@ -26017,7 +26123,7 @@ var LatticeChat = (props) => {
|
|
|
26017
26123
|
enableReturnStateWhenStreamCompleted: true,
|
|
26018
26124
|
enableResumeStream: true
|
|
26019
26125
|
},
|
|
26020
|
-
children: /* @__PURE__ */
|
|
26126
|
+
children: /* @__PURE__ */ jsx103(ChatUIContextProvider, { children: /* @__PURE__ */ jsxs74(
|
|
26021
26127
|
"div",
|
|
26022
26128
|
{
|
|
26023
26129
|
style: {
|
|
@@ -26028,13 +26134,13 @@ var LatticeChat = (props) => {
|
|
|
26028
26134
|
},
|
|
26029
26135
|
children: [
|
|
26030
26136
|
header,
|
|
26031
|
-
/* @__PURE__ */
|
|
26137
|
+
/* @__PURE__ */ jsx103(
|
|
26032
26138
|
ColumnLayout,
|
|
26033
26139
|
{
|
|
26034
26140
|
menu,
|
|
26035
26141
|
header: leftTop,
|
|
26036
|
-
left: thread_id ? /* @__PURE__ */
|
|
26037
|
-
right: /* @__PURE__ */
|
|
26142
|
+
left: thread_id ? /* @__PURE__ */ jsx103(Chating, { ...chatingProps }) : /* @__PURE__ */ jsx103("div", { children: "Please create a conversation first" }),
|
|
26143
|
+
right: /* @__PURE__ */ jsx103(SideAppViewBrowser, {})
|
|
26038
26144
|
}
|
|
26039
26145
|
)
|
|
26040
26146
|
]
|
|
@@ -26048,7 +26154,7 @@ var LatticeChat = (props) => {
|
|
|
26048
26154
|
import { Conversations } from "@ant-design/x";
|
|
26049
26155
|
import { theme as theme14 } from "antd";
|
|
26050
26156
|
import { useMemo as useMemo27 } from "react";
|
|
26051
|
-
import { jsx as
|
|
26157
|
+
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
26052
26158
|
var AgentConversations = ({
|
|
26053
26159
|
enableThreadCreation = true,
|
|
26054
26160
|
enableThreadList = true
|
|
@@ -26087,7 +26193,7 @@ var AgentConversations = ({
|
|
|
26087
26193
|
const creation = enableThreadCreation ? {
|
|
26088
26194
|
onClick: newChatClick
|
|
26089
26195
|
} : void 0;
|
|
26090
|
-
return /* @__PURE__ */
|
|
26196
|
+
return /* @__PURE__ */ jsx104(
|
|
26091
26197
|
Conversations,
|
|
26092
26198
|
{
|
|
26093
26199
|
creation,
|
|
@@ -26106,7 +26212,7 @@ var AgentConversations = ({
|
|
|
26106
26212
|
import { useContext as useContext11 } from "react";
|
|
26107
26213
|
|
|
26108
26214
|
// src/components/Chat/ChatSidebar.tsx
|
|
26109
|
-
import { useState as
|
|
26215
|
+
import { useState as useState65, useMemo as useMemo29, useCallback as useCallback34 } from "react";
|
|
26110
26216
|
import { Drawer as Drawer2 } from "antd";
|
|
26111
26217
|
import {
|
|
26112
26218
|
History,
|
|
@@ -26117,11 +26223,11 @@ import {
|
|
|
26117
26223
|
} from "lucide-react";
|
|
26118
26224
|
|
|
26119
26225
|
// src/components/Chat/ProjectsMenuContent.tsx
|
|
26120
|
-
import { useState as
|
|
26226
|
+
import { useState as useState64, useEffect as useEffect40, useCallback as useCallback32, useMemo as useMemo28, useRef as useRef25 } from "react";
|
|
26121
26227
|
import { Spin as Spin15, Modal as Modal17, Input as Input13, Button as Button46, message as message16 } from "antd";
|
|
26122
26228
|
import { createStyles as createStyles31 } from "antd-style";
|
|
26123
26229
|
import { Upload } from "lucide-react";
|
|
26124
|
-
import { Fragment as Fragment23, jsx as
|
|
26230
|
+
import { Fragment as Fragment23, jsx as jsx105, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
26125
26231
|
var PROJECT_NAME_MAX_LENGTH2 = 50;
|
|
26126
26232
|
var useStyles18 = createStyles31(({ token, css }) => ({
|
|
26127
26233
|
container: css`
|
|
@@ -26490,22 +26596,22 @@ var ProjectsMenuContent = () => {
|
|
|
26490
26596
|
getFileViewUrl,
|
|
26491
26597
|
uploadFileToFolder
|
|
26492
26598
|
} = useWorkspaceContext();
|
|
26493
|
-
const [folderAssets, setFolderAssets] =
|
|
26494
|
-
const [folderLoading, setFolderLoading] =
|
|
26495
|
-
const [isProjectListOpen, setIsProjectListOpen] =
|
|
26496
|
-
const [uploadingFolder, setUploadingFolder] =
|
|
26497
|
-
const [isModalOpen, setIsModalOpen] =
|
|
26498
|
-
const [projectName, setProjectName] =
|
|
26499
|
-
const [validationError, setValidationError] =
|
|
26500
|
-
const [isCreating, setIsCreating] =
|
|
26501
|
-
const projectNameInputRef =
|
|
26599
|
+
const [folderAssets, setFolderAssets] = useState64({});
|
|
26600
|
+
const [folderLoading, setFolderLoading] = useState64({});
|
|
26601
|
+
const [isProjectListOpen, setIsProjectListOpen] = useState64(false);
|
|
26602
|
+
const [uploadingFolder, setUploadingFolder] = useState64(null);
|
|
26603
|
+
const [isModalOpen, setIsModalOpen] = useState64(false);
|
|
26604
|
+
const [projectName, setProjectName] = useState64("");
|
|
26605
|
+
const [validationError, setValidationError] = useState64(null);
|
|
26606
|
+
const [isCreating, setIsCreating] = useState64(false);
|
|
26607
|
+
const projectNameInputRef = useRef25(null);
|
|
26502
26608
|
const resourceFolders = useMemo28(() => {
|
|
26503
26609
|
return config.resourceFolders && config.resourceFolders.length > 0 ? config.resourceFolders : [{ name: "/", displayName: "Project Assets", allowUpload: true }];
|
|
26504
26610
|
}, [config.resourceFolders]);
|
|
26505
26611
|
const currentProject = useMemo28(() => {
|
|
26506
26612
|
return projects.find((p) => p.id === projectId);
|
|
26507
26613
|
}, [projects, projectId]);
|
|
26508
|
-
const loadAssetsForFolder =
|
|
26614
|
+
const loadAssetsForFolder = useCallback32(async (folder) => {
|
|
26509
26615
|
if (!workspaceId || !projectId) {
|
|
26510
26616
|
setFolderAssets((prev) => ({ ...prev, [folder.name]: [] }));
|
|
26511
26617
|
return;
|
|
@@ -26521,19 +26627,19 @@ var ProjectsMenuContent = () => {
|
|
|
26521
26627
|
setFolderLoading((prev) => ({ ...prev, [folder.name]: false }));
|
|
26522
26628
|
}
|
|
26523
26629
|
}, [workspaceId, projectId, listPathByFolder]);
|
|
26524
|
-
|
|
26630
|
+
useEffect40(() => {
|
|
26525
26631
|
resourceFolders.forEach((folder) => {
|
|
26526
26632
|
loadAssetsForFolder(folder);
|
|
26527
26633
|
});
|
|
26528
26634
|
}, [workspaceId, projectId, loadAssetsForFolder, resourceFolders]);
|
|
26529
|
-
const handleSelectProject =
|
|
26635
|
+
const handleSelectProject = useCallback32((selectedProjectId) => {
|
|
26530
26636
|
setProject(selectedProjectId);
|
|
26531
26637
|
setIsProjectListOpen(false);
|
|
26532
26638
|
}, [setProject]);
|
|
26533
|
-
const toggleProjectList =
|
|
26639
|
+
const toggleProjectList = useCallback32(() => {
|
|
26534
26640
|
setIsProjectListOpen((prev) => !prev);
|
|
26535
26641
|
}, []);
|
|
26536
|
-
const validateProjectName =
|
|
26642
|
+
const validateProjectName = useCallback32((name) => {
|
|
26537
26643
|
const trimmed = name.trim();
|
|
26538
26644
|
if (!trimmed) return "Project name is required";
|
|
26539
26645
|
if (trimmed.length > PROJECT_NAME_MAX_LENGTH2) {
|
|
@@ -26541,7 +26647,7 @@ var ProjectsMenuContent = () => {
|
|
|
26541
26647
|
}
|
|
26542
26648
|
return null;
|
|
26543
26649
|
}, []);
|
|
26544
|
-
const handleOpenModal =
|
|
26650
|
+
const handleOpenModal = useCallback32(() => {
|
|
26545
26651
|
if (!workspaceId) {
|
|
26546
26652
|
message16.warning("Please select a workspace first");
|
|
26547
26653
|
return;
|
|
@@ -26551,7 +26657,7 @@ var ProjectsMenuContent = () => {
|
|
|
26551
26657
|
setIsModalOpen(true);
|
|
26552
26658
|
setTimeout(() => projectNameInputRef.current?.input?.focus(), 100);
|
|
26553
26659
|
}, [workspaceId]);
|
|
26554
|
-
const handleCloseModal =
|
|
26660
|
+
const handleCloseModal = useCallback32(() => {
|
|
26555
26661
|
setIsModalOpen(false);
|
|
26556
26662
|
setProjectName("");
|
|
26557
26663
|
setValidationError(null);
|
|
@@ -26561,7 +26667,7 @@ var ProjectsMenuContent = () => {
|
|
|
26561
26667
|
setProjectName(value);
|
|
26562
26668
|
setValidationError(validateProjectName(value));
|
|
26563
26669
|
};
|
|
26564
|
-
const handleCreateProject =
|
|
26670
|
+
const handleCreateProject = useCallback32(async () => {
|
|
26565
26671
|
if (!workspaceId) return;
|
|
26566
26672
|
const trimmed = projectName.trim();
|
|
26567
26673
|
const error = validateProjectName(trimmed);
|
|
@@ -26656,7 +26762,7 @@ var ProjectsMenuContent = () => {
|
|
|
26656
26762
|
const isLoading = folderLoading[folder.name] || false;
|
|
26657
26763
|
return /* @__PURE__ */ jsxs75("div", { className: styles.section, children: [
|
|
26658
26764
|
/* @__PURE__ */ jsxs75("div", { className: styles.sectionHeader, children: [
|
|
26659
|
-
/* @__PURE__ */
|
|
26765
|
+
/* @__PURE__ */ jsx105(
|
|
26660
26766
|
"span",
|
|
26661
26767
|
{
|
|
26662
26768
|
className: styles.sectionTitle,
|
|
@@ -26665,9 +26771,9 @@ var ProjectsMenuContent = () => {
|
|
|
26665
26771
|
children: folder.displayName || folder.name
|
|
26666
26772
|
}
|
|
26667
26773
|
),
|
|
26668
|
-
/* @__PURE__ */
|
|
26774
|
+
/* @__PURE__ */ jsx105("span", { className: styles.badge, children: assets.length })
|
|
26669
26775
|
] }),
|
|
26670
|
-
isLoading ? /* @__PURE__ */
|
|
26776
|
+
isLoading ? /* @__PURE__ */ jsx105("div", { className: styles.loading, children: /* @__PURE__ */ jsx105(Spin15, { size: "small" }) }) : /* @__PURE__ */ jsxs75("div", { className: styles.assetList, children: [
|
|
26671
26777
|
assets.map((asset) => /* @__PURE__ */ jsxs75(
|
|
26672
26778
|
"div",
|
|
26673
26779
|
{
|
|
@@ -26675,17 +26781,17 @@ var ProjectsMenuContent = () => {
|
|
|
26675
26781
|
onClick: () => handleAssetClick(asset),
|
|
26676
26782
|
title: getFileName(asset.name || asset.path),
|
|
26677
26783
|
children: [
|
|
26678
|
-
/* @__PURE__ */
|
|
26784
|
+
/* @__PURE__ */ jsx105("div", { className: styles.assetIcon, children: getFileIcon2(getFileName(asset.name || asset.path)) }),
|
|
26679
26785
|
/* @__PURE__ */ jsxs75("div", { className: styles.assetInfo, children: [
|
|
26680
|
-
/* @__PURE__ */
|
|
26681
|
-
/* @__PURE__ */
|
|
26786
|
+
/* @__PURE__ */ jsx105("div", { className: styles.assetName, children: getFileName(asset.name || asset.path) }),
|
|
26787
|
+
/* @__PURE__ */ jsx105("div", { className: styles.assetMeta, children: formatDate5(asset.modified_at) })
|
|
26682
26788
|
] })
|
|
26683
26789
|
]
|
|
26684
26790
|
},
|
|
26685
26791
|
asset.path
|
|
26686
26792
|
)),
|
|
26687
|
-
assets.length === 0 && /* @__PURE__ */
|
|
26688
|
-
folder.allowUpload && /* @__PURE__ */
|
|
26793
|
+
assets.length === 0 && /* @__PURE__ */ jsx105("div", { className: styles.emptyState, children: "No files in this folder" }),
|
|
26794
|
+
folder.allowUpload && /* @__PURE__ */ jsx105(
|
|
26689
26795
|
"button",
|
|
26690
26796
|
{
|
|
26691
26797
|
type: "button",
|
|
@@ -26693,11 +26799,11 @@ var ProjectsMenuContent = () => {
|
|
|
26693
26799
|
onClick: () => handleUploadClick(folder.name),
|
|
26694
26800
|
disabled: !workspaceId || !projectId || uploadingFolder === folder.name,
|
|
26695
26801
|
children: uploadingFolder === folder.name ? /* @__PURE__ */ jsxs75(Fragment23, { children: [
|
|
26696
|
-
/* @__PURE__ */
|
|
26697
|
-
/* @__PURE__ */
|
|
26802
|
+
/* @__PURE__ */ jsx105(Spin15, { size: "small" }),
|
|
26803
|
+
/* @__PURE__ */ jsx105("span", { children: "Uploading..." })
|
|
26698
26804
|
] }) : /* @__PURE__ */ jsxs75(Fragment23, { children: [
|
|
26699
|
-
/* @__PURE__ */
|
|
26700
|
-
/* @__PURE__ */
|
|
26805
|
+
/* @__PURE__ */ jsx105(Upload, { size: 14 }),
|
|
26806
|
+
/* @__PURE__ */ jsx105("span", { children: "Upload" })
|
|
26701
26807
|
] })
|
|
26702
26808
|
}
|
|
26703
26809
|
)
|
|
@@ -26717,8 +26823,8 @@ var ProjectsMenuContent = () => {
|
|
|
26717
26823
|
keyboard: true,
|
|
26718
26824
|
closable: true,
|
|
26719
26825
|
footer: /* @__PURE__ */ jsxs75("div", { className: styles.modalFooter, children: [
|
|
26720
|
-
/* @__PURE__ */
|
|
26721
|
-
/* @__PURE__ */
|
|
26826
|
+
/* @__PURE__ */ jsx105(Button46, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
|
|
26827
|
+
/* @__PURE__ */ jsx105(
|
|
26722
26828
|
Button46,
|
|
26723
26829
|
{
|
|
26724
26830
|
type: "primary",
|
|
@@ -26730,8 +26836,8 @@ var ProjectsMenuContent = () => {
|
|
|
26730
26836
|
)
|
|
26731
26837
|
] }),
|
|
26732
26838
|
children: [
|
|
26733
|
-
/* @__PURE__ */
|
|
26734
|
-
/* @__PURE__ */
|
|
26839
|
+
/* @__PURE__ */ jsx105("label", { className: styles.formLabel, htmlFor: "project-name", children: "Project Name" }),
|
|
26840
|
+
/* @__PURE__ */ jsx105(
|
|
26735
26841
|
Input13,
|
|
26736
26842
|
{
|
|
26737
26843
|
id: "project-name",
|
|
@@ -26746,7 +26852,7 @@ var ProjectsMenuContent = () => {
|
|
|
26746
26852
|
disabled: isCreating
|
|
26747
26853
|
}
|
|
26748
26854
|
),
|
|
26749
|
-
validationError && /* @__PURE__ */
|
|
26855
|
+
validationError && /* @__PURE__ */ jsx105("div", { className: styles.formError, role: "alert", children: validationError })
|
|
26750
26856
|
]
|
|
26751
26857
|
}
|
|
26752
26858
|
)
|
|
@@ -26754,11 +26860,11 @@ var ProjectsMenuContent = () => {
|
|
|
26754
26860
|
};
|
|
26755
26861
|
|
|
26756
26862
|
// src/components/Chat/ThreadHistoryMenuContent.tsx
|
|
26757
|
-
import
|
|
26863
|
+
import React58, { useCallback as useCallback33 } from "react";
|
|
26758
26864
|
import { createStyles as createStyles32 } from "antd-style";
|
|
26759
26865
|
import { MessageSquare as MessageSquare2, Trash2 as Trash24 } from "lucide-react";
|
|
26760
26866
|
import { message as message17, Modal as Modal18 } from "antd";
|
|
26761
|
-
import { jsx as
|
|
26867
|
+
import { jsx as jsx106, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
26762
26868
|
var useStyles19 = createStyles32(({ token, css }) => ({
|
|
26763
26869
|
container: css`
|
|
26764
26870
|
padding: 4px;
|
|
@@ -26868,7 +26974,7 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26868
26974
|
deleteThread,
|
|
26869
26975
|
isLoading
|
|
26870
26976
|
} = useConversationContext();
|
|
26871
|
-
const handleDeleteThread =
|
|
26977
|
+
const handleDeleteThread = useCallback33(
|
|
26872
26978
|
async (e, threadIdToDelete) => {
|
|
26873
26979
|
e.stopPropagation();
|
|
26874
26980
|
Modal18.confirm({
|
|
@@ -26889,7 +26995,7 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26889
26995
|
},
|
|
26890
26996
|
[deleteThread]
|
|
26891
26997
|
);
|
|
26892
|
-
const sortedThreads =
|
|
26998
|
+
const sortedThreads = React58.useMemo(() => {
|
|
26893
26999
|
return [...threads].sort((a, b) => {
|
|
26894
27000
|
const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
|
|
26895
27001
|
const dateB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0;
|
|
@@ -26897,30 +27003,30 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26897
27003
|
});
|
|
26898
27004
|
}, [threads]);
|
|
26899
27005
|
if (isLoading) {
|
|
26900
|
-
return /* @__PURE__ */
|
|
27006
|
+
return /* @__PURE__ */ jsx106("div", { className: styles.container, children: /* @__PURE__ */ jsx106("div", { className: styles.loading, children: "Loading conversations..." }) });
|
|
26901
27007
|
}
|
|
26902
|
-
return /* @__PURE__ */
|
|
27008
|
+
return /* @__PURE__ */ jsx106("div", { className: styles.container, children: sortedThreads.length === 0 ? /* @__PURE__ */ jsx106("div", { className: styles.emptyState, children: "No conversations yet" }) : /* @__PURE__ */ jsx106("div", { className: styles.threadList, children: sortedThreads.map((thread) => /* @__PURE__ */ jsxs76(
|
|
26903
27009
|
"div",
|
|
26904
27010
|
{
|
|
26905
27011
|
className: `${styles.threadItem} ${thread.id === threadId ? "active" : ""}`,
|
|
26906
27012
|
onClick: () => selectThread(thread.id),
|
|
26907
27013
|
title: thread.label,
|
|
26908
27014
|
children: [
|
|
26909
|
-
/* @__PURE__ */
|
|
26910
|
-
/* @__PURE__ */
|
|
27015
|
+
/* @__PURE__ */ jsx106("div", { className: styles.threadIcon, children: /* @__PURE__ */ jsx106(MessageSquare2, { size: 14 }) }),
|
|
27016
|
+
/* @__PURE__ */ jsx106(
|
|
26911
27017
|
"div",
|
|
26912
27018
|
{
|
|
26913
27019
|
className: thread.id === threadId ? styles.threadNameActive : styles.threadName,
|
|
26914
27020
|
children: thread.label
|
|
26915
27021
|
}
|
|
26916
27022
|
),
|
|
26917
|
-
/* @__PURE__ */
|
|
27023
|
+
/* @__PURE__ */ jsx106(
|
|
26918
27024
|
"button",
|
|
26919
27025
|
{
|
|
26920
27026
|
className: styles.deleteBtn,
|
|
26921
27027
|
onClick: (e) => handleDeleteThread(e, thread.id),
|
|
26922
27028
|
title: "Delete conversation",
|
|
26923
|
-
children: /* @__PURE__ */
|
|
27029
|
+
children: /* @__PURE__ */ jsx106(Trash24, { size: 12 })
|
|
26924
27030
|
}
|
|
26925
27031
|
)
|
|
26926
27032
|
]
|
|
@@ -26930,7 +27036,7 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26930
27036
|
};
|
|
26931
27037
|
|
|
26932
27038
|
// src/components/Chat/ChatSidebar.tsx
|
|
26933
|
-
import { Fragment as Fragment24, jsx as
|
|
27039
|
+
import { Fragment as Fragment24, jsx as jsx107, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
26934
27040
|
var DRAWER_STYLES2 = {
|
|
26935
27041
|
wrapper: {
|
|
26936
27042
|
background: "transparent",
|
|
@@ -26956,7 +27062,7 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26956
27062
|
builtin: "new-analysis",
|
|
26957
27063
|
type: "action",
|
|
26958
27064
|
name: "New Analysis",
|
|
26959
|
-
icon: /* @__PURE__ */
|
|
27065
|
+
icon: /* @__PURE__ */ jsx107(PlusCircle, { size: 20 }),
|
|
26960
27066
|
order: 0
|
|
26961
27067
|
},
|
|
26962
27068
|
// Second: Thread History (inline drawer)
|
|
@@ -26965,13 +27071,13 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26965
27071
|
builtin: "thread-history",
|
|
26966
27072
|
type: "drawer",
|
|
26967
27073
|
name: "History",
|
|
26968
|
-
icon: /* @__PURE__ */
|
|
27074
|
+
icon: /* @__PURE__ */ jsx107(History, { size: 20 }),
|
|
26969
27075
|
order: 1,
|
|
26970
27076
|
title: "Conversation History",
|
|
26971
27077
|
width: 320,
|
|
26972
27078
|
inline: true,
|
|
26973
27079
|
inlineDefaultExpanded: false,
|
|
26974
|
-
content: /* @__PURE__ */
|
|
27080
|
+
content: /* @__PURE__ */ jsx107(ThreadHistoryMenuContent, {})
|
|
26975
27081
|
},
|
|
26976
27082
|
// Third: Projects (inline drawer)
|
|
26977
27083
|
{
|
|
@@ -26979,13 +27085,13 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26979
27085
|
builtin: "projects",
|
|
26980
27086
|
type: "drawer",
|
|
26981
27087
|
name: "Project Files",
|
|
26982
|
-
icon: /* @__PURE__ */
|
|
27088
|
+
icon: /* @__PURE__ */ jsx107(FolderOpen4, {}),
|
|
26983
27089
|
order: 2,
|
|
26984
27090
|
title: "Project Files",
|
|
26985
27091
|
width: 320,
|
|
26986
27092
|
inline: true,
|
|
26987
27093
|
inlineDefaultExpanded: true,
|
|
26988
|
-
content: /* @__PURE__ */
|
|
27094
|
+
content: /* @__PURE__ */ jsx107(ProjectsMenuContent, {})
|
|
26989
27095
|
},
|
|
26990
27096
|
// Logout action
|
|
26991
27097
|
{
|
|
@@ -26993,7 +27099,7 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26993
27099
|
builtin: "logout",
|
|
26994
27100
|
type: "action",
|
|
26995
27101
|
name: "Logout",
|
|
26996
|
-
icon: /* @__PURE__ */
|
|
27102
|
+
icon: /* @__PURE__ */ jsx107(LogOut4, { size: 20 }),
|
|
26997
27103
|
order: 1e3,
|
|
26998
27104
|
group: "Account"
|
|
26999
27105
|
}
|
|
@@ -27007,7 +27113,7 @@ var ChatSidebar = ({
|
|
|
27007
27113
|
const { sideAppVisible, menuCollapsed, setMenuCollapsed } = useChatUIContext();
|
|
27008
27114
|
const { logout } = useAuth();
|
|
27009
27115
|
const { createThread } = useConversationContext();
|
|
27010
|
-
const [drawerStates, setDrawerStates] =
|
|
27116
|
+
const [drawerStates, setDrawerStates] = useState65({});
|
|
27011
27117
|
const {
|
|
27012
27118
|
sidebarMode,
|
|
27013
27119
|
sidebarShowToggle,
|
|
@@ -27023,7 +27129,7 @@ var ChatSidebar = ({
|
|
|
27023
27129
|
}
|
|
27024
27130
|
return items.sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
|
|
27025
27131
|
}, [customMenuItems]);
|
|
27026
|
-
const handleMenuClick =
|
|
27132
|
+
const handleMenuClick = useCallback34(async (item) => {
|
|
27027
27133
|
if (item.builtin === "settings") {
|
|
27028
27134
|
setSettingsModalOpen(true);
|
|
27029
27135
|
onSettingsClick?.();
|
|
@@ -27048,28 +27154,28 @@ var ChatSidebar = ({
|
|
|
27048
27154
|
}
|
|
27049
27155
|
}
|
|
27050
27156
|
}, [onSettingsClick, setSettingsModalOpen, createThread, logout]);
|
|
27051
|
-
const handleCloseDrawer =
|
|
27157
|
+
const handleCloseDrawer = useCallback34((itemId) => {
|
|
27052
27158
|
setDrawerStates((prev) => ({ ...prev, [itemId]: false }));
|
|
27053
27159
|
}, []);
|
|
27054
|
-
const handleNewAnalysis =
|
|
27160
|
+
const handleNewAnalysis = useCallback34(async () => {
|
|
27055
27161
|
try {
|
|
27056
27162
|
await createThread("New Analysis");
|
|
27057
27163
|
} catch (error) {
|
|
27058
27164
|
console.error("Failed to create new thread:", error);
|
|
27059
27165
|
}
|
|
27060
27166
|
}, [createThread]);
|
|
27061
|
-
const renderDrawerContent =
|
|
27167
|
+
const renderDrawerContent = useCallback34((item) => {
|
|
27062
27168
|
switch (item.builtin) {
|
|
27063
27169
|
case "projects":
|
|
27064
|
-
return /* @__PURE__ */
|
|
27170
|
+
return /* @__PURE__ */ jsx107(ProjectsMenuContent, {});
|
|
27065
27171
|
case "thread-history":
|
|
27066
|
-
return /* @__PURE__ */
|
|
27172
|
+
return /* @__PURE__ */ jsx107(ThreadHistoryMenuContent, {});
|
|
27067
27173
|
default:
|
|
27068
27174
|
return item.content;
|
|
27069
27175
|
}
|
|
27070
27176
|
}, []);
|
|
27071
27177
|
return /* @__PURE__ */ jsxs77(Fragment24, { children: [
|
|
27072
|
-
/* @__PURE__ */
|
|
27178
|
+
/* @__PURE__ */ jsx107(
|
|
27073
27179
|
Menu,
|
|
27074
27180
|
{
|
|
27075
27181
|
items: menuItems,
|
|
@@ -27085,12 +27191,12 @@ var ChatSidebar = ({
|
|
|
27085
27191
|
onCollapsedChange: setMenuCollapsed
|
|
27086
27192
|
}
|
|
27087
27193
|
),
|
|
27088
|
-
menuItems.filter((item) => item.type === "drawer" && !item.inline).map((item) => /* @__PURE__ */
|
|
27194
|
+
menuItems.filter((item) => item.type === "drawer" && !item.inline).map((item) => /* @__PURE__ */ jsx107(
|
|
27089
27195
|
Drawer2,
|
|
27090
27196
|
{
|
|
27091
27197
|
title: /* @__PURE__ */ jsxs77("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%" }, children: [
|
|
27092
|
-
/* @__PURE__ */
|
|
27093
|
-
/* @__PURE__ */
|
|
27198
|
+
/* @__PURE__ */ jsx107("span", { style: { fontSize: 16, fontWeight: 600, textTransform: "uppercase", letterSpacing: 0.5 }, children: item.title || item.name }),
|
|
27199
|
+
/* @__PURE__ */ jsx107(
|
|
27094
27200
|
"button",
|
|
27095
27201
|
{
|
|
27096
27202
|
onClick: () => handleCloseDrawer(item.id),
|
|
@@ -27105,7 +27211,7 @@ var ChatSidebar = ({
|
|
|
27105
27211
|
background: "rgba(255, 255, 255, 0.5)",
|
|
27106
27212
|
cursor: "pointer"
|
|
27107
27213
|
},
|
|
27108
|
-
children: /* @__PURE__ */
|
|
27214
|
+
children: /* @__PURE__ */ jsx107(PanelLeftClose2, { size: 24 })
|
|
27109
27215
|
}
|
|
27110
27216
|
)
|
|
27111
27217
|
] }),
|
|
@@ -27136,7 +27242,7 @@ var ChatSidebar = ({
|
|
|
27136
27242
|
};
|
|
27137
27243
|
|
|
27138
27244
|
// src/components/Chat/LatticeChatView.tsx
|
|
27139
|
-
import { jsx as
|
|
27245
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
27140
27246
|
var LatticeChatView = (props) => {
|
|
27141
27247
|
const shellContext = useContext11(LatticeChatShellContext);
|
|
27142
27248
|
const { showSideMenu, sideMenuItems } = shellContext.config;
|
|
@@ -27145,7 +27251,7 @@ var LatticeChatView = (props) => {
|
|
|
27145
27251
|
const {
|
|
27146
27252
|
config: { baseURL }
|
|
27147
27253
|
} = useLatticeChatShellContext();
|
|
27148
|
-
return assistantId && thread ? /* @__PURE__ */
|
|
27254
|
+
return assistantId && thread ? /* @__PURE__ */ jsx108(
|
|
27149
27255
|
AxiomLatticeProvider,
|
|
27150
27256
|
{
|
|
27151
27257
|
config: {
|
|
@@ -27154,14 +27260,14 @@ var LatticeChatView = (props) => {
|
|
|
27154
27260
|
assistantId,
|
|
27155
27261
|
transport: "sse"
|
|
27156
27262
|
},
|
|
27157
|
-
children: /* @__PURE__ */
|
|
27263
|
+
children: /* @__PURE__ */ jsx108(
|
|
27158
27264
|
LatticeChat,
|
|
27159
27265
|
{
|
|
27160
27266
|
thread_id: thread?.id,
|
|
27161
27267
|
assistant_id: assistantId,
|
|
27162
27268
|
name: currentAssistant?.name,
|
|
27163
27269
|
description: currentAssistant?.description,
|
|
27164
|
-
menu: showSideMenu ? /* @__PURE__ */
|
|
27270
|
+
menu: showSideMenu ? /* @__PURE__ */ jsx108(ChatSidebar, { customMenuItems: sideMenuItems }) : void 0
|
|
27165
27271
|
}
|
|
27166
27272
|
)
|
|
27167
27273
|
}
|
|
@@ -27169,7 +27275,7 @@ var LatticeChatView = (props) => {
|
|
|
27169
27275
|
};
|
|
27170
27276
|
|
|
27171
27277
|
// src/components/Chat/SettingsModal.tsx
|
|
27172
|
-
import { useState as
|
|
27278
|
+
import { useState as useState66, useEffect as useEffect41, useRef as useRef26 } from "react";
|
|
27173
27279
|
import {
|
|
27174
27280
|
Modal as Modal19,
|
|
27175
27281
|
Input as Input14,
|
|
@@ -27178,7 +27284,7 @@ import {
|
|
|
27178
27284
|
notification as notification5,
|
|
27179
27285
|
Typography as Typography48,
|
|
27180
27286
|
Alert as Alert8,
|
|
27181
|
-
Select as
|
|
27287
|
+
Select as Select7,
|
|
27182
27288
|
Switch as Switch3,
|
|
27183
27289
|
Space as Space37,
|
|
27184
27290
|
Tabs as Tabs3
|
|
@@ -27196,7 +27302,7 @@ import {
|
|
|
27196
27302
|
CloudServerOutlined
|
|
27197
27303
|
} from "@ant-design/icons";
|
|
27198
27304
|
import { createStyles as createStyles33 } from "antd-style";
|
|
27199
|
-
import { Fragment as Fragment25, jsx as
|
|
27305
|
+
import { Fragment as Fragment25, jsx as jsx109, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
27200
27306
|
var { Text: Text37, Title: Title13 } = Typography48;
|
|
27201
27307
|
var { TextArea: TextArea8 } = Input14;
|
|
27202
27308
|
var useStyles20 = createStyles33(({ token, css }) => ({
|
|
@@ -27544,12 +27650,12 @@ var SETTINGS_MENU_ITEMS = [
|
|
|
27544
27650
|
{
|
|
27545
27651
|
key: "environment",
|
|
27546
27652
|
label: "Environment Variables",
|
|
27547
|
-
icon: /* @__PURE__ */
|
|
27653
|
+
icon: /* @__PURE__ */ jsx109(EnvironmentOutlined, {})
|
|
27548
27654
|
},
|
|
27549
27655
|
{
|
|
27550
27656
|
key: "models",
|
|
27551
27657
|
label: "Model Configuration",
|
|
27552
|
-
icon: /* @__PURE__ */
|
|
27658
|
+
icon: /* @__PURE__ */ jsx109(ApiOutlined, {})
|
|
27553
27659
|
}
|
|
27554
27660
|
];
|
|
27555
27661
|
var SettingsModal = ({
|
|
@@ -27558,7 +27664,7 @@ var SettingsModal = ({
|
|
|
27558
27664
|
}) => {
|
|
27559
27665
|
const { styles } = useStyles20();
|
|
27560
27666
|
const { config: shellConfig, updateConfigValue } = useLatticeChatShellContext();
|
|
27561
|
-
const [connections, setConnections] =
|
|
27667
|
+
const [connections, setConnections] = useState66(() => {
|
|
27562
27668
|
if (typeof window !== "undefined") {
|
|
27563
27669
|
try {
|
|
27564
27670
|
const stored = localStorage.getItem("lattice_server_connections");
|
|
@@ -27581,21 +27687,21 @@ var SettingsModal = ({
|
|
|
27581
27687
|
}
|
|
27582
27688
|
return [];
|
|
27583
27689
|
});
|
|
27584
|
-
const [serverConfigs, setServerConfigs] =
|
|
27585
|
-
const connectionsRef =
|
|
27586
|
-
|
|
27690
|
+
const [serverConfigs, setServerConfigs] = useState66({});
|
|
27691
|
+
const connectionsRef = useRef26(connections);
|
|
27692
|
+
useEffect41(() => {
|
|
27587
27693
|
connectionsRef.current = connections;
|
|
27588
27694
|
}, [connections]);
|
|
27589
|
-
const [activeTabKey, setActiveTabKey] =
|
|
27695
|
+
const [activeTabKey, setActiveTabKey] = useState66(
|
|
27590
27696
|
connections.length > 0 ? connections[0].id : ""
|
|
27591
27697
|
);
|
|
27592
|
-
const [activeMenu, setActiveMenu] =
|
|
27593
|
-
const [loading, setLoading] =
|
|
27594
|
-
const [showAddServerModal, setShowAddServerModal] =
|
|
27595
|
-
const [newServerUrl, setNewServerUrl] =
|
|
27596
|
-
const [newServerName, setNewServerName] =
|
|
27597
|
-
const [newServerApiKey, setNewServerApiKey] =
|
|
27598
|
-
const [addingServer, setAddingServer] =
|
|
27698
|
+
const [activeMenu, setActiveMenu] = useState66("environment");
|
|
27699
|
+
const [loading, setLoading] = useState66(false);
|
|
27700
|
+
const [showAddServerModal, setShowAddServerModal] = useState66(false);
|
|
27701
|
+
const [newServerUrl, setNewServerUrl] = useState66("");
|
|
27702
|
+
const [newServerName, setNewServerName] = useState66("");
|
|
27703
|
+
const [newServerApiKey, setNewServerApiKey] = useState66("");
|
|
27704
|
+
const [addingServer, setAddingServer] = useState66(false);
|
|
27599
27705
|
const saveConnections = (newConnections) => {
|
|
27600
27706
|
setConnections(newConnections);
|
|
27601
27707
|
if (typeof window !== "undefined") {
|
|
@@ -27785,7 +27891,7 @@ var SettingsModal = ({
|
|
|
27785
27891
|
console.error("Failed to load models configuration:", error);
|
|
27786
27892
|
}
|
|
27787
27893
|
};
|
|
27788
|
-
|
|
27894
|
+
useEffect41(() => {
|
|
27789
27895
|
if (open && activeTabKey) {
|
|
27790
27896
|
initializeServerConfig(activeTabKey);
|
|
27791
27897
|
const connection = connections.find((c) => c.id === activeTabKey);
|
|
@@ -27794,7 +27900,7 @@ var SettingsModal = ({
|
|
|
27794
27900
|
}
|
|
27795
27901
|
}
|
|
27796
27902
|
}, [open, activeTabKey]);
|
|
27797
|
-
|
|
27903
|
+
useEffect41(() => {
|
|
27798
27904
|
if (open && activeTabKey) {
|
|
27799
27905
|
const connection = connections.find((c) => c.id === activeTabKey);
|
|
27800
27906
|
if (connection?.connected) {
|
|
@@ -28006,24 +28112,24 @@ var SettingsModal = ({
|
|
|
28006
28112
|
}));
|
|
28007
28113
|
};
|
|
28008
28114
|
return /* @__PURE__ */ jsxs78("div", { className: styles.formContainer, children: [
|
|
28009
|
-
/* @__PURE__ */
|
|
28115
|
+
/* @__PURE__ */ jsx109(
|
|
28010
28116
|
Alert8,
|
|
28011
28117
|
{
|
|
28012
28118
|
message: "Configuration Effect",
|
|
28013
28119
|
description: /* @__PURE__ */ jsxs78("div", { children: [
|
|
28014
28120
|
/* @__PURE__ */ jsxs78("div", { style: { marginBottom: 8 }, children: [
|
|
28015
|
-
/* @__PURE__ */
|
|
28121
|
+
/* @__PURE__ */ jsx109(
|
|
28016
28122
|
CheckCircleOutlined8,
|
|
28017
28123
|
{
|
|
28018
28124
|
style: { color: "#52c41a", marginRight: 8 }
|
|
28019
28125
|
}
|
|
28020
28126
|
),
|
|
28021
|
-
/* @__PURE__ */
|
|
28127
|
+
/* @__PURE__ */ jsx109("strong", { children: "Immediately effective:" }),
|
|
28022
28128
|
" QUEUE_SERVICE_TYPE, REDIS_URL, REDIS_PASSWORD, QUEUE_NAME"
|
|
28023
28129
|
] }),
|
|
28024
28130
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28025
|
-
/* @__PURE__ */
|
|
28026
|
-
/* @__PURE__ */
|
|
28131
|
+
/* @__PURE__ */ jsx109(ReloadOutlined4, { style: { color: "#faad14", marginRight: 8 } }),
|
|
28132
|
+
/* @__PURE__ */ jsx109("strong", { children: "Requires restart:" }),
|
|
28027
28133
|
" PORT (server must be restarted to change port)"
|
|
28028
28134
|
] })
|
|
28029
28135
|
] }),
|
|
@@ -28032,8 +28138,8 @@ var SettingsModal = ({
|
|
|
28032
28138
|
className: styles.alertCard
|
|
28033
28139
|
}
|
|
28034
28140
|
),
|
|
28035
|
-
/* @__PURE__ */
|
|
28036
|
-
/* @__PURE__ */
|
|
28141
|
+
/* @__PURE__ */ jsx109("div", { style: { marginBottom: 24 }, children: /* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 14, lineHeight: 1.6 }, children: "Configure environment variables in .env format (key=value). One variable per line. Leave password fields empty to keep current values." }) }),
|
|
28142
|
+
/* @__PURE__ */ jsx109(
|
|
28037
28143
|
TextArea8,
|
|
28038
28144
|
{
|
|
28039
28145
|
value: config.envText,
|
|
@@ -28111,7 +28217,7 @@ QUEUE_NAME=tasks`,
|
|
|
28111
28217
|
}
|
|
28112
28218
|
};
|
|
28113
28219
|
return /* @__PURE__ */ jsxs78("div", { className: styles.formContainer, children: [
|
|
28114
|
-
/* @__PURE__ */
|
|
28220
|
+
/* @__PURE__ */ jsx109("div", { style: { marginBottom: 32 }, children: /* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 14, lineHeight: 1.6 }, children: "Configure model lattices. Each model will be registered with the provided key and can be used by agents." }) }),
|
|
28115
28221
|
config.models.map((model, index) => /* @__PURE__ */ jsxs78("div", { className: styles.card, children: [
|
|
28116
28222
|
/* @__PURE__ */ jsxs78(
|
|
28117
28223
|
"div",
|
|
@@ -28143,7 +28249,7 @@ QUEUE_NAME=tasks`,
|
|
|
28143
28249
|
}
|
|
28144
28250
|
)
|
|
28145
28251
|
] }),
|
|
28146
|
-
config.models.length > 1 && /* @__PURE__ */
|
|
28252
|
+
config.models.length > 1 && /* @__PURE__ */ jsx109(
|
|
28147
28253
|
Button47,
|
|
28148
28254
|
{
|
|
28149
28255
|
type: "text",
|
|
@@ -28162,8 +28268,8 @@ QUEUE_NAME=tasks`,
|
|
|
28162
28268
|
),
|
|
28163
28269
|
/* @__PURE__ */ jsxs78(Space37, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
|
|
28164
28270
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28165
|
-
/* @__PURE__ */
|
|
28166
|
-
/* @__PURE__ */
|
|
28271
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Key *" }),
|
|
28272
|
+
/* @__PURE__ */ jsx109(
|
|
28167
28273
|
Input14,
|
|
28168
28274
|
{
|
|
28169
28275
|
placeholder: "e.g., default, gpt-4, claude",
|
|
@@ -28172,12 +28278,12 @@ QUEUE_NAME=tasks`,
|
|
|
28172
28278
|
style: { height: 40 }
|
|
28173
28279
|
}
|
|
28174
28280
|
),
|
|
28175
|
-
/* @__PURE__ */
|
|
28281
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "Unique identifier for this model" })
|
|
28176
28282
|
] }),
|
|
28177
28283
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28178
|
-
/* @__PURE__ */
|
|
28179
|
-
/* @__PURE__ */
|
|
28180
|
-
|
|
28284
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Provider *" }),
|
|
28285
|
+
/* @__PURE__ */ jsx109(
|
|
28286
|
+
Select7,
|
|
28181
28287
|
{
|
|
28182
28288
|
style: { width: "100%", height: 40 },
|
|
28183
28289
|
value: model.provider,
|
|
@@ -28193,8 +28299,8 @@ QUEUE_NAME=tasks`,
|
|
|
28193
28299
|
)
|
|
28194
28300
|
] }),
|
|
28195
28301
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28196
|
-
/* @__PURE__ */
|
|
28197
|
-
/* @__PURE__ */
|
|
28302
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Model Name *" }),
|
|
28303
|
+
/* @__PURE__ */ jsx109(
|
|
28198
28304
|
Input14,
|
|
28199
28305
|
{
|
|
28200
28306
|
placeholder: "e.g., gpt-4, claude-3-opus, kimi-k2-250905",
|
|
@@ -28205,8 +28311,8 @@ QUEUE_NAME=tasks`,
|
|
|
28205
28311
|
)
|
|
28206
28312
|
] }),
|
|
28207
28313
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28208
|
-
/* @__PURE__ */
|
|
28209
|
-
/* @__PURE__ */
|
|
28314
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "API Key" }),
|
|
28315
|
+
/* @__PURE__ */ jsx109(
|
|
28210
28316
|
Input14.Password,
|
|
28211
28317
|
{
|
|
28212
28318
|
placeholder: "Enter your API key",
|
|
@@ -28215,11 +28321,11 @@ QUEUE_NAME=tasks`,
|
|
|
28215
28321
|
style: { height: 40 }
|
|
28216
28322
|
}
|
|
28217
28323
|
),
|
|
28218
|
-
/* @__PURE__ */
|
|
28324
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "API key for the model provider. Leave empty to use environment variable." })
|
|
28219
28325
|
] }),
|
|
28220
28326
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28221
|
-
/* @__PURE__ */
|
|
28222
|
-
/* @__PURE__ */
|
|
28327
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Base URL" }),
|
|
28328
|
+
/* @__PURE__ */ jsx109(
|
|
28223
28329
|
Input14,
|
|
28224
28330
|
{
|
|
28225
28331
|
placeholder: "e.g., https://api.openai.com/v1",
|
|
@@ -28228,22 +28334,22 @@ QUEUE_NAME=tasks`,
|
|
|
28228
28334
|
style: { height: 40 }
|
|
28229
28335
|
}
|
|
28230
28336
|
),
|
|
28231
|
-
/* @__PURE__ */
|
|
28337
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "Optional custom base URL for the API" })
|
|
28232
28338
|
] }),
|
|
28233
|
-
/* @__PURE__ */
|
|
28234
|
-
/* @__PURE__ */
|
|
28339
|
+
/* @__PURE__ */ jsx109("div", { children: /* @__PURE__ */ jsxs78(Space37, { children: [
|
|
28340
|
+
/* @__PURE__ */ jsx109(
|
|
28235
28341
|
Switch3,
|
|
28236
28342
|
{
|
|
28237
28343
|
checked: model.streaming,
|
|
28238
28344
|
onChange: (checked) => handleModelChange(index, "streaming", checked)
|
|
28239
28345
|
}
|
|
28240
28346
|
),
|
|
28241
|
-
/* @__PURE__ */
|
|
28347
|
+
/* @__PURE__ */ jsx109(Text37, { children: "Enable Streaming" })
|
|
28242
28348
|
] }) }),
|
|
28243
28349
|
/* @__PURE__ */ jsxs78("div", { style: { display: "flex", gap: 20 }, children: [
|
|
28244
28350
|
/* @__PURE__ */ jsxs78("div", { style: { flex: 1 }, children: [
|
|
28245
|
-
/* @__PURE__ */
|
|
28246
|
-
/* @__PURE__ */
|
|
28351
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Max Tokens" }),
|
|
28352
|
+
/* @__PURE__ */ jsx109(
|
|
28247
28353
|
Input14,
|
|
28248
28354
|
{
|
|
28249
28355
|
type: "number",
|
|
@@ -28259,8 +28365,8 @@ QUEUE_NAME=tasks`,
|
|
|
28259
28365
|
)
|
|
28260
28366
|
] }),
|
|
28261
28367
|
/* @__PURE__ */ jsxs78("div", { style: { flex: 1 }, children: [
|
|
28262
|
-
/* @__PURE__ */
|
|
28263
|
-
/* @__PURE__ */
|
|
28368
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Temperature" }),
|
|
28369
|
+
/* @__PURE__ */ jsx109(
|
|
28264
28370
|
Input14,
|
|
28265
28371
|
{
|
|
28266
28372
|
type: "number",
|
|
@@ -28279,7 +28385,7 @@ QUEUE_NAME=tasks`,
|
|
|
28279
28385
|
] })
|
|
28280
28386
|
] })
|
|
28281
28387
|
] }, index)),
|
|
28282
|
-
/* @__PURE__ */
|
|
28388
|
+
/* @__PURE__ */ jsx109(
|
|
28283
28389
|
Button47,
|
|
28284
28390
|
{
|
|
28285
28391
|
type: "dashed",
|
|
@@ -28308,7 +28414,7 @@ QUEUE_NAME=tasks`,
|
|
|
28308
28414
|
const currentConnection = connections.find((c) => c.id === activeTabKey);
|
|
28309
28415
|
const renderTabLabel = (connection) => {
|
|
28310
28416
|
return /* @__PURE__ */ jsxs78("div", { style: { display: "flex", alignItems: "center" }, children: [
|
|
28311
|
-
/* @__PURE__ */
|
|
28417
|
+
/* @__PURE__ */ jsx109(
|
|
28312
28418
|
CloudServerOutlined,
|
|
28313
28419
|
{
|
|
28314
28420
|
style: {
|
|
@@ -28317,14 +28423,14 @@ QUEUE_NAME=tasks`,
|
|
|
28317
28423
|
}
|
|
28318
28424
|
}
|
|
28319
28425
|
),
|
|
28320
|
-
/* @__PURE__ */
|
|
28321
|
-
connection.connected && /* @__PURE__ */
|
|
28426
|
+
/* @__PURE__ */ jsx109("span", { children: connection.name }),
|
|
28427
|
+
connection.connected && /* @__PURE__ */ jsx109(
|
|
28322
28428
|
CheckCircleFilled,
|
|
28323
28429
|
{
|
|
28324
28430
|
style: { color: "#52c41a", fontSize: 12, marginLeft: 8 }
|
|
28325
28431
|
}
|
|
28326
28432
|
),
|
|
28327
|
-
connection.error && !connection.connecting && /* @__PURE__ */
|
|
28433
|
+
connection.error && !connection.connecting && /* @__PURE__ */ jsx109(
|
|
28328
28434
|
CloseCircleFilled,
|
|
28329
28435
|
{
|
|
28330
28436
|
style: { color: "#ff4d4f", fontSize: 12, marginLeft: 8 }
|
|
@@ -28335,15 +28441,15 @@ QUEUE_NAME=tasks`,
|
|
|
28335
28441
|
const tabItems = connections.map((connection) => ({
|
|
28336
28442
|
key: connection.id,
|
|
28337
28443
|
label: renderTabLabel(connection),
|
|
28338
|
-
children: /* @__PURE__ */
|
|
28339
|
-
/* @__PURE__ */
|
|
28444
|
+
children: /* @__PURE__ */ jsx109("div", { className: styles.tabContent, children: connection.connected ? /* @__PURE__ */ jsx109(Fragment25, { children: /* @__PURE__ */ jsxs78("div", { style: { display: "flex", height: "100%" }, children: [
|
|
28445
|
+
/* @__PURE__ */ jsx109("div", { className: styles.sidebar, children: SETTINGS_MENU_ITEMS.map((item) => /* @__PURE__ */ jsxs78(
|
|
28340
28446
|
"div",
|
|
28341
28447
|
{
|
|
28342
28448
|
className: `${styles.menuItem} ${activeMenu === item.key ? "active" : ""}`,
|
|
28343
28449
|
onClick: () => setActiveMenu(item.key),
|
|
28344
28450
|
children: [
|
|
28345
|
-
/* @__PURE__ */
|
|
28346
|
-
/* @__PURE__ */
|
|
28451
|
+
/* @__PURE__ */ jsx109("span", { className: styles.menuItemIcon, children: item.icon }),
|
|
28452
|
+
/* @__PURE__ */ jsx109("span", { className: styles.menuItemText, children: item.label })
|
|
28347
28453
|
]
|
|
28348
28454
|
},
|
|
28349
28455
|
item.key
|
|
@@ -28351,19 +28457,19 @@ QUEUE_NAME=tasks`,
|
|
|
28351
28457
|
/* @__PURE__ */ jsxs78("div", { className: styles.content, children: [
|
|
28352
28458
|
/* @__PURE__ */ jsxs78("div", { className: styles.contentHeader, children: [
|
|
28353
28459
|
/* @__PURE__ */ jsxs78("div", { className: styles.contentHeaderLeft, children: [
|
|
28354
|
-
/* @__PURE__ */
|
|
28460
|
+
/* @__PURE__ */ jsx109(Title13, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
|
|
28355
28461
|
/* @__PURE__ */ jsxs78(Text37, { className: styles.contentDescription, children: [
|
|
28356
28462
|
activeMenu === "environment" && "Manage environment variables for the gateway server",
|
|
28357
28463
|
activeMenu === "models" && "Configure and register model lattices for use by agents"
|
|
28358
28464
|
] })
|
|
28359
28465
|
] }),
|
|
28360
28466
|
/* @__PURE__ */ jsxs78("div", { className: styles.contentHeaderRight, children: [
|
|
28361
|
-
/* @__PURE__ */
|
|
28362
|
-
/* @__PURE__ */
|
|
28467
|
+
/* @__PURE__ */ jsx109(Button47, { onClick: onClose, children: "Cancel" }),
|
|
28468
|
+
/* @__PURE__ */ jsx109(
|
|
28363
28469
|
Button47,
|
|
28364
28470
|
{
|
|
28365
28471
|
type: "primary",
|
|
28366
|
-
icon: /* @__PURE__ */
|
|
28472
|
+
icon: /* @__PURE__ */ jsx109(SaveOutlined2, {}),
|
|
28367
28473
|
onClick: handleSave,
|
|
28368
28474
|
loading,
|
|
28369
28475
|
children: "Save Configuration"
|
|
@@ -28371,9 +28477,9 @@ QUEUE_NAME=tasks`,
|
|
|
28371
28477
|
)
|
|
28372
28478
|
] })
|
|
28373
28479
|
] }),
|
|
28374
|
-
/* @__PURE__ */
|
|
28480
|
+
/* @__PURE__ */ jsx109("div", { className: styles.contentBody, children: renderContent(connection.id) })
|
|
28375
28481
|
] })
|
|
28376
|
-
] }) }) : /* @__PURE__ */
|
|
28482
|
+
] }) }) : /* @__PURE__ */ jsx109(
|
|
28377
28483
|
"div",
|
|
28378
28484
|
{
|
|
28379
28485
|
style: {
|
|
@@ -28386,16 +28492,16 @@ QUEUE_NAME=tasks`,
|
|
|
28386
28492
|
padding: 48
|
|
28387
28493
|
},
|
|
28388
28494
|
children: connection.connecting ? /* @__PURE__ */ jsxs78(Fragment25, { children: [
|
|
28389
|
-
/* @__PURE__ */
|
|
28390
|
-
/* @__PURE__ */
|
|
28495
|
+
/* @__PURE__ */ jsx109(LinkOutlined2, { style: { fontSize: 64, color: "#1890ff" }, spin: true }),
|
|
28496
|
+
/* @__PURE__ */ jsx109(Title13, { level: 4, children: "Connecting..." }),
|
|
28391
28497
|
/* @__PURE__ */ jsxs78(Text37, { type: "secondary", style: { textAlign: "center" }, children: [
|
|
28392
28498
|
"Connecting to ",
|
|
28393
28499
|
connection.url
|
|
28394
28500
|
] })
|
|
28395
28501
|
] }) : /* @__PURE__ */ jsxs78(Fragment25, { children: [
|
|
28396
|
-
/* @__PURE__ */
|
|
28397
|
-
/* @__PURE__ */
|
|
28398
|
-
/* @__PURE__ */
|
|
28502
|
+
/* @__PURE__ */ jsx109(LinkOutlined2, { style: { fontSize: 64, color: "#d9d9d9" } }),
|
|
28503
|
+
/* @__PURE__ */ jsx109(Title13, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
|
|
28504
|
+
/* @__PURE__ */ jsx109(
|
|
28399
28505
|
Text37,
|
|
28400
28506
|
{
|
|
28401
28507
|
type: "secondary",
|
|
@@ -28403,11 +28509,11 @@ QUEUE_NAME=tasks`,
|
|
|
28403
28509
|
children: connection.error ? `Failed to connect to ${connection.url}. Please check the server URL and try again.` : `Click "Reconnect" to connect to ${connection.url}`
|
|
28404
28510
|
}
|
|
28405
28511
|
),
|
|
28406
|
-
/* @__PURE__ */
|
|
28512
|
+
/* @__PURE__ */ jsx109(
|
|
28407
28513
|
Button47,
|
|
28408
28514
|
{
|
|
28409
28515
|
type: "primary",
|
|
28410
|
-
icon: /* @__PURE__ */
|
|
28516
|
+
icon: /* @__PURE__ */ jsx109(LinkOutlined2, {}),
|
|
28411
28517
|
onClick: () => checkConnection(connection.id),
|
|
28412
28518
|
loading: connection.connecting,
|
|
28413
28519
|
style: { marginTop: 16 },
|
|
@@ -28420,7 +28526,7 @@ QUEUE_NAME=tasks`,
|
|
|
28420
28526
|
closable: connections.length > 1
|
|
28421
28527
|
}));
|
|
28422
28528
|
return /* @__PURE__ */ jsxs78(Fragment25, { children: [
|
|
28423
|
-
/* @__PURE__ */
|
|
28529
|
+
/* @__PURE__ */ jsx109(
|
|
28424
28530
|
Modal19,
|
|
28425
28531
|
{
|
|
28426
28532
|
open,
|
|
@@ -28429,7 +28535,7 @@ QUEUE_NAME=tasks`,
|
|
|
28429
28535
|
width: "80%",
|
|
28430
28536
|
footer: null,
|
|
28431
28537
|
title: "Settings",
|
|
28432
|
-
children: /* @__PURE__ */
|
|
28538
|
+
children: /* @__PURE__ */ jsx109("div", { children: /* @__PURE__ */ jsx109(
|
|
28433
28539
|
Tabs3,
|
|
28434
28540
|
{
|
|
28435
28541
|
activeKey: activeTabKey,
|
|
@@ -28453,8 +28559,8 @@ QUEUE_NAME=tasks`,
|
|
|
28453
28559
|
padding: "4px 8px"
|
|
28454
28560
|
},
|
|
28455
28561
|
children: [
|
|
28456
|
-
/* @__PURE__ */
|
|
28457
|
-
/* @__PURE__ */
|
|
28562
|
+
/* @__PURE__ */ jsx109(PlusOutlined7, {}),
|
|
28563
|
+
/* @__PURE__ */ jsx109("span", { children: "Add Server" })
|
|
28458
28564
|
]
|
|
28459
28565
|
}
|
|
28460
28566
|
)
|
|
@@ -28462,7 +28568,7 @@ QUEUE_NAME=tasks`,
|
|
|
28462
28568
|
) })
|
|
28463
28569
|
}
|
|
28464
28570
|
),
|
|
28465
|
-
/* @__PURE__ */
|
|
28571
|
+
/* @__PURE__ */ jsx109(
|
|
28466
28572
|
Modal19,
|
|
28467
28573
|
{
|
|
28468
28574
|
title: "Add New Server",
|
|
@@ -28478,8 +28584,8 @@ QUEUE_NAME=tasks`,
|
|
|
28478
28584
|
className: styles.addServerModal,
|
|
28479
28585
|
children: /* @__PURE__ */ jsxs78(Space37, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
|
|
28480
28586
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28481
|
-
/* @__PURE__ */
|
|
28482
|
-
/* @__PURE__ */
|
|
28587
|
+
/* @__PURE__ */ jsx109(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server Name" }),
|
|
28588
|
+
/* @__PURE__ */ jsx109(
|
|
28483
28589
|
Input14,
|
|
28484
28590
|
{
|
|
28485
28591
|
placeholder: "e.g., Production Server",
|
|
@@ -28488,11 +28594,11 @@ QUEUE_NAME=tasks`,
|
|
|
28488
28594
|
onPressEnter: handleAddServer
|
|
28489
28595
|
}
|
|
28490
28596
|
),
|
|
28491
|
-
/* @__PURE__ */
|
|
28597
|
+
/* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: Leave empty to use URL as name" })
|
|
28492
28598
|
] }),
|
|
28493
28599
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28494
|
-
/* @__PURE__ */
|
|
28495
|
-
/* @__PURE__ */
|
|
28600
|
+
/* @__PURE__ */ jsx109(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server URL *" }),
|
|
28601
|
+
/* @__PURE__ */ jsx109(
|
|
28496
28602
|
Input14,
|
|
28497
28603
|
{
|
|
28498
28604
|
placeholder: "e.g., http://localhost:4001",
|
|
@@ -28501,11 +28607,11 @@ QUEUE_NAME=tasks`,
|
|
|
28501
28607
|
onPressEnter: handleAddServer
|
|
28502
28608
|
}
|
|
28503
28609
|
),
|
|
28504
|
-
/* @__PURE__ */
|
|
28610
|
+
/* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Enter the full URL of the gateway server" })
|
|
28505
28611
|
] }),
|
|
28506
28612
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28507
|
-
/* @__PURE__ */
|
|
28508
|
-
/* @__PURE__ */
|
|
28613
|
+
/* @__PURE__ */ jsx109(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "API Key" }),
|
|
28614
|
+
/* @__PURE__ */ jsx109(
|
|
28509
28615
|
Input14.Password,
|
|
28510
28616
|
{
|
|
28511
28617
|
placeholder: "Optional: Enter API key for authentication",
|
|
@@ -28514,7 +28620,7 @@ QUEUE_NAME=tasks`,
|
|
|
28514
28620
|
onPressEnter: handleAddServer
|
|
28515
28621
|
}
|
|
28516
28622
|
),
|
|
28517
|
-
/* @__PURE__ */
|
|
28623
|
+
/* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: API key for server authentication" })
|
|
28518
28624
|
] })
|
|
28519
28625
|
] })
|
|
28520
28626
|
}
|
|
@@ -28523,10 +28629,10 @@ QUEUE_NAME=tasks`,
|
|
|
28523
28629
|
};
|
|
28524
28630
|
|
|
28525
28631
|
// src/components/Chat/AgentServerSetting.tsx
|
|
28526
|
-
import { jsx as
|
|
28632
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
28527
28633
|
var AgentServerSetting = () => {
|
|
28528
28634
|
const { settingsModalOpen, setSettingsModalOpen } = useLatticeChatShellContext();
|
|
28529
|
-
return /* @__PURE__ */
|
|
28635
|
+
return /* @__PURE__ */ jsx110(
|
|
28530
28636
|
SettingsModal,
|
|
28531
28637
|
{
|
|
28532
28638
|
open: settingsModalOpen,
|
|
@@ -28536,24 +28642,24 @@ var AgentServerSetting = () => {
|
|
|
28536
28642
|
};
|
|
28537
28643
|
|
|
28538
28644
|
// src/components/Chat/LatticeChatShell.tsx
|
|
28539
|
-
import { Fragment as Fragment26, jsx as
|
|
28645
|
+
import { Fragment as Fragment26, jsx as jsx111, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
28540
28646
|
var ShellContent = ({
|
|
28541
28647
|
initialAssistantId,
|
|
28542
28648
|
enableWorkspace
|
|
28543
28649
|
}) => {
|
|
28544
28650
|
const { currentTenant } = useAuth();
|
|
28545
|
-
return /* @__PURE__ */
|
|
28546
|
-
/* @__PURE__ */
|
|
28547
|
-
/* @__PURE__ */
|
|
28651
|
+
return /* @__PURE__ */ jsx111(Fragment26, { children: enableWorkspace ? /* @__PURE__ */ jsxs79(WorkspaceContextProvider, { children: [
|
|
28652
|
+
/* @__PURE__ */ jsx111(AssistantContextProvider, { autoLoad: true, initialAssistantId, children: /* @__PURE__ */ jsx111(ConversationContextProvider, { children: /* @__PURE__ */ jsx111(LatticeChatView, {}) }) }),
|
|
28653
|
+
/* @__PURE__ */ jsx111(AgentServerSetting, {})
|
|
28548
28654
|
] }) : /* @__PURE__ */ jsxs79(Fragment26, { children: [
|
|
28549
|
-
/* @__PURE__ */
|
|
28550
|
-
/* @__PURE__ */
|
|
28655
|
+
/* @__PURE__ */ jsx111(AssistantContextProvider, { autoLoad: true, initialAssistantId, children: /* @__PURE__ */ jsx111(ConversationContextProvider, { children: /* @__PURE__ */ jsx111(LatticeChatView, {}) }) }),
|
|
28656
|
+
/* @__PURE__ */ jsx111(AgentServerSetting, {})
|
|
28551
28657
|
] }) });
|
|
28552
28658
|
};
|
|
28553
28659
|
var LatticeChatShell = (props) => {
|
|
28554
28660
|
const { enableAssistantCreation, enableAssistantEditing, enableWorkspace: enableWorkspaceProp, ...restProps } = props;
|
|
28555
28661
|
const enableWorkspace = enableWorkspaceProp ?? restProps.initialConfig?.enableWorkspace ?? false;
|
|
28556
|
-
return /* @__PURE__ */
|
|
28662
|
+
return /* @__PURE__ */ jsx111(
|
|
28557
28663
|
LatticeChatShellContextProvider,
|
|
28558
28664
|
{
|
|
28559
28665
|
initialConfig: {
|
|
@@ -28562,7 +28668,7 @@ var LatticeChatShell = (props) => {
|
|
|
28562
28668
|
enableWorkspace,
|
|
28563
28669
|
...restProps.initialConfig
|
|
28564
28670
|
},
|
|
28565
|
-
children: /* @__PURE__ */
|
|
28671
|
+
children: /* @__PURE__ */ jsx111(
|
|
28566
28672
|
ShellContent,
|
|
28567
28673
|
{
|
|
28568
28674
|
initialAssistantId: restProps.initialConfig?.assistantId,
|
|
@@ -28598,6 +28704,7 @@ export {
|
|
|
28598
28704
|
MDResponse,
|
|
28599
28705
|
MDViewFormItem,
|
|
28600
28706
|
MetricsConfigDrawerContent,
|
|
28707
|
+
ModelSelector,
|
|
28601
28708
|
ProtectedRoute,
|
|
28602
28709
|
RegisterForm,
|
|
28603
28710
|
ScheduleButton,
|