@axiom-lattice/react-sdk 2.1.53 → 2.1.55
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 +39 -1
- package/dist/index.d.ts +39 -1
- package/dist/index.js +1240 -1129
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +851 -741
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -3
package/dist/index.mjs
CHANGED
|
@@ -1189,6 +1189,7 @@ var DEFAULT_CONFIG = {
|
|
|
1189
1189
|
enableSkillSlot: true,
|
|
1190
1190
|
enableAgentSlot: true,
|
|
1191
1191
|
enableMetricsDataSourceSlot: true,
|
|
1192
|
+
enableModelSelector: false,
|
|
1192
1193
|
sidebarMode: "icon",
|
|
1193
1194
|
sidebarDefaultExpanded: true,
|
|
1194
1195
|
sidebarShowToggle: true,
|
|
@@ -8079,7 +8080,7 @@ import {
|
|
|
8079
8080
|
Space as Space28,
|
|
8080
8081
|
Typography as Typography33
|
|
8081
8082
|
} from "antd";
|
|
8082
|
-
import
|
|
8083
|
+
import React41, { useCallback as useCallback26, useContext as useContext10, useEffect as useEffect35, useRef as useRef21, useState as useState53 } from "react";
|
|
8083
8084
|
import { BrainCircuit as BrainCircuit3 } from "lucide-react";
|
|
8084
8085
|
|
|
8085
8086
|
// src/components/GenUI/HITLContainer.tsx
|
|
@@ -18224,6 +18225,95 @@ var MetricsDataSourcePicker = ({
|
|
|
18224
18225
|
] });
|
|
18225
18226
|
};
|
|
18226
18227
|
|
|
18228
|
+
// src/components/Chat/ModelSelector.tsx
|
|
18229
|
+
import { useState as useState50, useEffect as useEffect33, useCallback as useCallback25, useRef as useRef20 } from "react";
|
|
18230
|
+
import { Select as Select6 } from "antd";
|
|
18231
|
+
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
18232
|
+
var ModelSelector = ({
|
|
18233
|
+
value,
|
|
18234
|
+
onChange,
|
|
18235
|
+
defaultModelKey = "default",
|
|
18236
|
+
style
|
|
18237
|
+
}) => {
|
|
18238
|
+
const [models, setModels] = useState50([]);
|
|
18239
|
+
const [isLoading, setIsLoading] = useState50(false);
|
|
18240
|
+
const [internalValue, setInternalValue] = useState50(null);
|
|
18241
|
+
const [dropdownOpen, setDropdownOpen] = useState50(false);
|
|
18242
|
+
const [isHovered, setIsHovered] = useState50(false);
|
|
18243
|
+
const hasFetchedRef = useRef20(false);
|
|
18244
|
+
const hasSetDefaultRef = useRef20(false);
|
|
18245
|
+
const { get } = useApi();
|
|
18246
|
+
const selectedModelConfig = value !== void 0 ? value : internalValue;
|
|
18247
|
+
const setSelectedModelConfig = useCallback25((config) => {
|
|
18248
|
+
if (value === void 0) {
|
|
18249
|
+
setInternalValue(config);
|
|
18250
|
+
}
|
|
18251
|
+
onChange?.(config);
|
|
18252
|
+
}, [value, onChange]);
|
|
18253
|
+
const fetchModels = useCallback25(async () => {
|
|
18254
|
+
if (hasFetchedRef.current) return;
|
|
18255
|
+
hasFetchedRef.current = true;
|
|
18256
|
+
setIsLoading(true);
|
|
18257
|
+
try {
|
|
18258
|
+
const response = await get("/api/models");
|
|
18259
|
+
const modelList = response.data || [];
|
|
18260
|
+
setModels(modelList);
|
|
18261
|
+
if (!hasSetDefaultRef.current && !selectedModelConfig && modelList.length > 0) {
|
|
18262
|
+
hasSetDefaultRef.current = true;
|
|
18263
|
+
const defaultModel = modelList.find((m) => m.key === defaultModelKey);
|
|
18264
|
+
if (defaultModel) {
|
|
18265
|
+
setSelectedModelConfig({ modelKey: defaultModel.key });
|
|
18266
|
+
}
|
|
18267
|
+
}
|
|
18268
|
+
} catch (err) {
|
|
18269
|
+
console.error("Failed to fetch models:", err);
|
|
18270
|
+
} finally {
|
|
18271
|
+
setIsLoading(false);
|
|
18272
|
+
}
|
|
18273
|
+
}, [get, defaultModelKey]);
|
|
18274
|
+
useEffect33(() => {
|
|
18275
|
+
fetchModels();
|
|
18276
|
+
}, [fetchModels]);
|
|
18277
|
+
const handleChange = (modelKey) => {
|
|
18278
|
+
setSelectedModelConfig({ modelKey });
|
|
18279
|
+
setDropdownOpen(false);
|
|
18280
|
+
};
|
|
18281
|
+
const currentModel = models.find((m) => m.key === selectedModelConfig?.modelKey);
|
|
18282
|
+
const displayText = currentModel?.displayName || currentModel?.model || "Model";
|
|
18283
|
+
return /* @__PURE__ */ jsx76(
|
|
18284
|
+
"div",
|
|
18285
|
+
{
|
|
18286
|
+
onMouseEnter: () => setIsHovered(true),
|
|
18287
|
+
onMouseLeave: () => setIsHovered(false),
|
|
18288
|
+
style: {
|
|
18289
|
+
display: "inline-block",
|
|
18290
|
+
borderRadius: 8,
|
|
18291
|
+
backgroundColor: isHovered ? "rgba(0, 0, 0, 0.06)" : "transparent",
|
|
18292
|
+
transition: "background-color 0.2s ease"
|
|
18293
|
+
},
|
|
18294
|
+
children: /* @__PURE__ */ jsx76(
|
|
18295
|
+
Select6,
|
|
18296
|
+
{
|
|
18297
|
+
variant: "borderless",
|
|
18298
|
+
value: selectedModelConfig?.modelKey,
|
|
18299
|
+
onChange: handleChange,
|
|
18300
|
+
loading: isLoading,
|
|
18301
|
+
open: dropdownOpen,
|
|
18302
|
+
onDropdownVisibleChange: setDropdownOpen,
|
|
18303
|
+
style: { minWidth: 80, ...style },
|
|
18304
|
+
placeholder: "Model",
|
|
18305
|
+
suffixIcon: null,
|
|
18306
|
+
options: models.map((model) => ({
|
|
18307
|
+
value: model.key,
|
|
18308
|
+
label: model.displayName || model.model
|
|
18309
|
+
})),
|
|
18310
|
+
dropdownMatchSelectWidth: false
|
|
18311
|
+
}
|
|
18312
|
+
)
|
|
18313
|
+
}
|
|
18314
|
+
);
|
|
18315
|
+
};
|
|
18316
|
+
|
|
18227
18317
|
// src/components/Chat/SkillCategoryPrompts.tsx
|
|
18228
18318
|
import {
|
|
18229
18319
|
BulbOutlined,
|
|
@@ -18244,49 +18334,49 @@ import {
|
|
|
18244
18334
|
} from "@ant-design/icons";
|
|
18245
18335
|
import { Prompts } from "@ant-design/x";
|
|
18246
18336
|
import { Space as Space26, Typography as Typography31, Spin as Spin12 } from "antd";
|
|
18247
|
-
import { useEffect as
|
|
18337
|
+
import { useEffect as useEffect34, useState as useState51, useMemo as useMemo17 } from "react";
|
|
18248
18338
|
import { BrainCircuit as BrainCircuit2 } from "lucide-react";
|
|
18249
|
-
import { jsx as
|
|
18339
|
+
import { jsx as jsx77, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
18250
18340
|
var categoryConfig = {
|
|
18251
18341
|
business_analysis: {
|
|
18252
|
-
icon: /* @__PURE__ */
|
|
18342
|
+
icon: /* @__PURE__ */ jsx77(BarChartOutlined, {}),
|
|
18253
18343
|
color: "#1890FF",
|
|
18254
18344
|
label: "Business Analysis"
|
|
18255
18345
|
},
|
|
18256
18346
|
code_generation: {
|
|
18257
|
-
icon: /* @__PURE__ */
|
|
18347
|
+
icon: /* @__PURE__ */ jsx77(CodeOutlined6, {}),
|
|
18258
18348
|
color: "#722ED1",
|
|
18259
18349
|
label: "Code Generation"
|
|
18260
18350
|
},
|
|
18261
18351
|
document_processing: {
|
|
18262
|
-
icon: /* @__PURE__ */
|
|
18352
|
+
icon: /* @__PURE__ */ jsx77(FileTextOutlined9, {}),
|
|
18263
18353
|
color: "#52C41A",
|
|
18264
18354
|
label: "Document Processing"
|
|
18265
18355
|
},
|
|
18266
18356
|
data_analysis: {
|
|
18267
|
-
icon: /* @__PURE__ */
|
|
18357
|
+
icon: /* @__PURE__ */ jsx77(DatabaseOutlined2, {}),
|
|
18268
18358
|
color: "#13C2C2",
|
|
18269
18359
|
label: "Data Analysis"
|
|
18270
18360
|
},
|
|
18271
18361
|
tool_operation: {
|
|
18272
|
-
icon: /* @__PURE__ */
|
|
18362
|
+
icon: /* @__PURE__ */ jsx77(ToolOutlined4, {}),
|
|
18273
18363
|
color: "#FAAD14",
|
|
18274
18364
|
label: "Tool Operations"
|
|
18275
18365
|
},
|
|
18276
18366
|
general: {
|
|
18277
|
-
icon: /* @__PURE__ */
|
|
18367
|
+
icon: /* @__PURE__ */ jsx77(BulbOutlined, {}),
|
|
18278
18368
|
color: "#FFD700",
|
|
18279
18369
|
label: "General Skills"
|
|
18280
18370
|
},
|
|
18281
18371
|
global: {
|
|
18282
|
-
icon: /* @__PURE__ */
|
|
18372
|
+
icon: /* @__PURE__ */ jsx77(GlobalOutlined2, {}),
|
|
18283
18373
|
color: "#EB2F96",
|
|
18284
18374
|
label: "Global Skills"
|
|
18285
18375
|
}
|
|
18286
18376
|
};
|
|
18287
18377
|
var getCategoryConfig = (category) => {
|
|
18288
18378
|
return categoryConfig[category] || {
|
|
18289
|
-
icon: /* @__PURE__ */
|
|
18379
|
+
icon: /* @__PURE__ */ jsx77(TagsOutlined, {}),
|
|
18290
18380
|
color: "#8C8C8C",
|
|
18291
18381
|
label: category
|
|
18292
18382
|
};
|
|
@@ -18314,27 +18404,27 @@ var iconColors = [
|
|
|
18314
18404
|
// Magenta
|
|
18315
18405
|
];
|
|
18316
18406
|
var simpleIcons = [
|
|
18317
|
-
/* @__PURE__ */
|
|
18318
|
-
/* @__PURE__ */
|
|
18319
|
-
/* @__PURE__ */
|
|
18320
|
-
/* @__PURE__ */
|
|
18321
|
-
/* @__PURE__ */
|
|
18322
|
-
/* @__PURE__ */
|
|
18323
|
-
/* @__PURE__ */
|
|
18324
|
-
/* @__PURE__ */
|
|
18325
|
-
/* @__PURE__ */
|
|
18326
|
-
/* @__PURE__ */
|
|
18407
|
+
/* @__PURE__ */ jsx77(BulbOutlined, {}),
|
|
18408
|
+
/* @__PURE__ */ jsx77(RocketOutlined, {}),
|
|
18409
|
+
/* @__PURE__ */ jsx77(WarningOutlined, {}),
|
|
18410
|
+
/* @__PURE__ */ jsx77(CheckCircleOutlined5, {}),
|
|
18411
|
+
/* @__PURE__ */ jsx77(CoffeeOutlined2, {}),
|
|
18412
|
+
/* @__PURE__ */ jsx77(SmileOutlined, {}),
|
|
18413
|
+
/* @__PURE__ */ jsx77(FireOutlined, {}),
|
|
18414
|
+
/* @__PURE__ */ jsx77(BarChartOutlined, {}),
|
|
18415
|
+
/* @__PURE__ */ jsx77(CodeOutlined6, {}),
|
|
18416
|
+
/* @__PURE__ */ jsx77(DatabaseOutlined2, {})
|
|
18327
18417
|
];
|
|
18328
18418
|
var SkillCategoryPrompts = ({
|
|
18329
18419
|
senderRef,
|
|
18330
18420
|
visible = true
|
|
18331
18421
|
}) => {
|
|
18332
|
-
const [skills, setSkills] =
|
|
18333
|
-
const [loading, setLoading] =
|
|
18334
|
-
const [showAll, setShowAll] =
|
|
18422
|
+
const [skills, setSkills] = useState51([]);
|
|
18423
|
+
const [loading, setLoading] = useState51(false);
|
|
18424
|
+
const [showAll, setShowAll] = useState51(false);
|
|
18335
18425
|
const { get } = useApi();
|
|
18336
18426
|
const MAX_SIMPLE_ITEMS = 10;
|
|
18337
|
-
|
|
18427
|
+
useEffect34(() => {
|
|
18338
18428
|
const loadSkills = async () => {
|
|
18339
18429
|
setLoading(true);
|
|
18340
18430
|
try {
|
|
@@ -18372,8 +18462,8 @@ var SkillCategoryPrompts = ({
|
|
|
18372
18462
|
key: `skill_${skill.id}_${Date.now()}`,
|
|
18373
18463
|
props: {
|
|
18374
18464
|
label: /* @__PURE__ */ jsxs50(Space26, { size: 1, children: [
|
|
18375
|
-
/* @__PURE__ */
|
|
18376
|
-
/* @__PURE__ */
|
|
18465
|
+
/* @__PURE__ */ jsx77(BrainCircuit2, { size: 12 }),
|
|
18466
|
+
/* @__PURE__ */ jsx77(Typography31.Text, { children: skill.name })
|
|
18377
18467
|
] }),
|
|
18378
18468
|
value: `[Use Skill:${skill.name}]`
|
|
18379
18469
|
}
|
|
@@ -18389,13 +18479,13 @@ var SkillCategoryPrompts = ({
|
|
|
18389
18479
|
const getSimpleItems = () => {
|
|
18390
18480
|
const items = skills.slice(0, MAX_SIMPLE_ITEMS).map((skill, index) => ({
|
|
18391
18481
|
key: skill.id,
|
|
18392
|
-
icon: /* @__PURE__ */
|
|
18482
|
+
icon: /* @__PURE__ */ jsx77("span", { style: { color: iconColors[index % iconColors.length] }, children: simpleIcons[index % simpleIcons.length] }),
|
|
18393
18483
|
label: skill.name
|
|
18394
18484
|
}));
|
|
18395
18485
|
if (skills.length > MAX_SIMPLE_ITEMS || Object.keys(groupedSkills).length > 1) {
|
|
18396
18486
|
items.push({
|
|
18397
18487
|
key: "more",
|
|
18398
|
-
icon: /* @__PURE__ */
|
|
18488
|
+
icon: /* @__PURE__ */ jsx77(MoreOutlined, { style: { color: "#8C8C8C" } }),
|
|
18399
18489
|
description: "View more skill categories"
|
|
18400
18490
|
});
|
|
18401
18491
|
}
|
|
@@ -18404,7 +18494,7 @@ var SkillCategoryPrompts = ({
|
|
|
18404
18494
|
const getGroupedItems = (skillsList) => {
|
|
18405
18495
|
return skillsList.map((skill) => ({
|
|
18406
18496
|
key: skill.id,
|
|
18407
|
-
icon: /* @__PURE__ */
|
|
18497
|
+
icon: /* @__PURE__ */ jsx77(
|
|
18408
18498
|
BrainCircuit2,
|
|
18409
18499
|
{
|
|
18410
18500
|
size: 16,
|
|
@@ -18421,13 +18511,13 @@ var SkillCategoryPrompts = ({
|
|
|
18421
18511
|
return null;
|
|
18422
18512
|
}
|
|
18423
18513
|
if (loading) {
|
|
18424
|
-
return /* @__PURE__ */
|
|
18514
|
+
return /* @__PURE__ */ jsx77("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ jsx77(Spin12, { size: "large" }) });
|
|
18425
18515
|
}
|
|
18426
18516
|
if (skills.length === 0) {
|
|
18427
18517
|
return null;
|
|
18428
18518
|
}
|
|
18429
18519
|
if (!showAll) {
|
|
18430
|
-
return /* @__PURE__ */
|
|
18520
|
+
return /* @__PURE__ */ jsx77(
|
|
18431
18521
|
"div",
|
|
18432
18522
|
{
|
|
18433
18523
|
style: {
|
|
@@ -18436,7 +18526,7 @@ var SkillCategoryPrompts = ({
|
|
|
18436
18526
|
overflowY: "auto",
|
|
18437
18527
|
overflowX: "hidden"
|
|
18438
18528
|
},
|
|
18439
|
-
children: /* @__PURE__ */
|
|
18529
|
+
children: /* @__PURE__ */ jsx77(
|
|
18440
18530
|
Prompts,
|
|
18441
18531
|
{
|
|
18442
18532
|
title: "\u2728 Quick actions",
|
|
@@ -18463,7 +18553,7 @@ var SkillCategoryPrompts = ({
|
|
|
18463
18553
|
}
|
|
18464
18554
|
);
|
|
18465
18555
|
}
|
|
18466
|
-
return /* @__PURE__ */
|
|
18556
|
+
return /* @__PURE__ */ jsx77(
|
|
18467
18557
|
"div",
|
|
18468
18558
|
{
|
|
18469
18559
|
style: {
|
|
@@ -18474,12 +18564,12 @@ var SkillCategoryPrompts = ({
|
|
|
18474
18564
|
},
|
|
18475
18565
|
children: Object.entries(groupedSkills).map(([category, categorySkills]) => {
|
|
18476
18566
|
const config = getCategoryConfig(category);
|
|
18477
|
-
return /* @__PURE__ */
|
|
18567
|
+
return /* @__PURE__ */ jsx77("div", { style: { marginBottom: 16 }, children: /* @__PURE__ */ jsx77(
|
|
18478
18568
|
Prompts,
|
|
18479
18569
|
{
|
|
18480
18570
|
title: /* @__PURE__ */ jsxs50(Space26, { children: [
|
|
18481
|
-
/* @__PURE__ */
|
|
18482
|
-
/* @__PURE__ */
|
|
18571
|
+
/* @__PURE__ */ jsx77("span", { style: { color: config.color }, children: config.icon }),
|
|
18572
|
+
/* @__PURE__ */ jsx77("span", { children: config.label })
|
|
18483
18573
|
] }),
|
|
18484
18574
|
items: getGroupedItems(categorySkills),
|
|
18485
18575
|
onItemClick: (info) => {
|
|
@@ -18513,12 +18603,12 @@ import {
|
|
|
18513
18603
|
} from "@ant-design/icons";
|
|
18514
18604
|
import { Prompts as Prompts2 } from "@ant-design/x";
|
|
18515
18605
|
import { Space as Space27, Tabs } from "antd";
|
|
18516
|
-
import { useState as
|
|
18517
|
-
import { jsx as
|
|
18606
|
+
import { useState as useState52, useMemo as useMemo18 } from "react";
|
|
18607
|
+
import { jsx as jsx78, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
18518
18608
|
var defaultCategoryIcons = {
|
|
18519
|
-
financial: /* @__PURE__ */
|
|
18520
|
-
sales: /* @__PURE__ */
|
|
18521
|
-
operations: /* @__PURE__ */
|
|
18609
|
+
financial: /* @__PURE__ */ jsx78(DollarOutlined, {}),
|
|
18610
|
+
sales: /* @__PURE__ */ jsx78(LineChartOutlined, {}),
|
|
18611
|
+
operations: /* @__PURE__ */ jsx78(ToolOutlined5, {})
|
|
18522
18612
|
};
|
|
18523
18613
|
var defaultCategoryColors = {
|
|
18524
18614
|
financial: "#52C41A",
|
|
@@ -18732,14 +18822,14 @@ var BusinessAnalysisPrompts = ({
|
|
|
18732
18822
|
simpleModeTitle = "Quick Analysis",
|
|
18733
18823
|
expandModeTitle = "Analysis Categories"
|
|
18734
18824
|
}) => {
|
|
18735
|
-
const [showAll, setShowAll] =
|
|
18825
|
+
const [showAll, setShowAll] = useState52(false);
|
|
18736
18826
|
const { config } = useLatticeChatShellContext();
|
|
18737
18827
|
const analysisData = useMemo18(() => {
|
|
18738
18828
|
const customData = config.quickPromptsData;
|
|
18739
18829
|
if (customData && Array.isArray(customData) && customData.length > 0) {
|
|
18740
18830
|
return customData.map((category) => ({
|
|
18741
18831
|
...category,
|
|
18742
|
-
icon: category.icon || defaultCategoryIcons[category.key] || /* @__PURE__ */
|
|
18832
|
+
icon: category.icon || defaultCategoryIcons[category.key] || /* @__PURE__ */ jsx78(TagsOutlined2, {}),
|
|
18743
18833
|
color: category.color || defaultCategoryColors[category.key] || "#8C8C8C",
|
|
18744
18834
|
items: category.items.map((item) => ({
|
|
18745
18835
|
...item,
|
|
@@ -18750,7 +18840,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18750
18840
|
}
|
|
18751
18841
|
return defaultAnalysisData.map((category) => ({
|
|
18752
18842
|
...category,
|
|
18753
|
-
icon: defaultCategoryIcons[category.key] || /* @__PURE__ */
|
|
18843
|
+
icon: defaultCategoryIcons[category.key] || /* @__PURE__ */ jsx78(TagsOutlined2, {}),
|
|
18754
18844
|
color: defaultCategoryColors[category.key] || "#8C8C8C"
|
|
18755
18845
|
}));
|
|
18756
18846
|
}, [config.quickPromptsData]);
|
|
@@ -18770,13 +18860,13 @@ var BusinessAnalysisPrompts = ({
|
|
|
18770
18860
|
const getSimpleItems = () => {
|
|
18771
18861
|
const items = allItems.slice(0, maxSimpleItems).map((item, index) => ({
|
|
18772
18862
|
key: item.key,
|
|
18773
|
-
icon: /* @__PURE__ */
|
|
18863
|
+
icon: /* @__PURE__ */ jsx78("span", { style: { color: simpleModeColors[index % simpleModeColors.length] }, children: item.icon || /* @__PURE__ */ jsx78(TagsOutlined2, {}) }),
|
|
18774
18864
|
label: item.label
|
|
18775
18865
|
}));
|
|
18776
18866
|
if (allItems.length > maxSimpleItems || analysisData.length > 1) {
|
|
18777
18867
|
items.push({
|
|
18778
18868
|
key: "more",
|
|
18779
|
-
icon: /* @__PURE__ */
|
|
18869
|
+
icon: /* @__PURE__ */ jsx78(MoreOutlined2, { style: { color: "#8C8C8C" } }),
|
|
18780
18870
|
description: "View more analysis options"
|
|
18781
18871
|
});
|
|
18782
18872
|
}
|
|
@@ -18785,7 +18875,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18785
18875
|
const getGroupedItems = (items) => {
|
|
18786
18876
|
return items.map((item) => ({
|
|
18787
18877
|
key: item.key,
|
|
18788
|
-
icon: /* @__PURE__ */
|
|
18878
|
+
icon: /* @__PURE__ */ jsx78("span", { style: { color: "#8C8C8C" }, children: item.icon || /* @__PURE__ */ jsx78(TagsOutlined2, {}) }),
|
|
18789
18879
|
label: item.label,
|
|
18790
18880
|
description: item.description
|
|
18791
18881
|
}));
|
|
@@ -18794,7 +18884,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18794
18884
|
return null;
|
|
18795
18885
|
}
|
|
18796
18886
|
if (!showAll) {
|
|
18797
|
-
return /* @__PURE__ */
|
|
18887
|
+
return /* @__PURE__ */ jsx78(
|
|
18798
18888
|
"div",
|
|
18799
18889
|
{
|
|
18800
18890
|
style: {
|
|
@@ -18802,7 +18892,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18802
18892
|
maxWidth: "800px",
|
|
18803
18893
|
margin: "0 auto"
|
|
18804
18894
|
},
|
|
18805
|
-
children: /* @__PURE__ */
|
|
18895
|
+
children: /* @__PURE__ */ jsx78(
|
|
18806
18896
|
Prompts2,
|
|
18807
18897
|
{
|
|
18808
18898
|
title: simpleModeTitle,
|
|
@@ -18830,7 +18920,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18830
18920
|
}
|
|
18831
18921
|
);
|
|
18832
18922
|
}
|
|
18833
|
-
return /* @__PURE__ */
|
|
18923
|
+
return /* @__PURE__ */ jsx78(
|
|
18834
18924
|
"div",
|
|
18835
18925
|
{
|
|
18836
18926
|
style: {
|
|
@@ -18838,17 +18928,17 @@ var BusinessAnalysisPrompts = ({
|
|
|
18838
18928
|
maxWidth: "800px",
|
|
18839
18929
|
margin: "0 auto"
|
|
18840
18930
|
},
|
|
18841
|
-
children: /* @__PURE__ */
|
|
18931
|
+
children: /* @__PURE__ */ jsx78(
|
|
18842
18932
|
Tabs,
|
|
18843
18933
|
{
|
|
18844
18934
|
defaultActiveKey: analysisData[0]?.key,
|
|
18845
18935
|
items: analysisData.map((category) => ({
|
|
18846
18936
|
key: category.key,
|
|
18847
18937
|
label: /* @__PURE__ */ jsxs51(Space27, { children: [
|
|
18848
|
-
/* @__PURE__ */
|
|
18849
|
-
/* @__PURE__ */
|
|
18938
|
+
/* @__PURE__ */ jsx78("span", { style: { color: category.color }, children: category.icon }),
|
|
18939
|
+
/* @__PURE__ */ jsx78("span", { children: category.title })
|
|
18850
18940
|
] }),
|
|
18851
|
-
children: /* @__PURE__ */
|
|
18941
|
+
children: /* @__PURE__ */ jsx78(
|
|
18852
18942
|
Prompts2,
|
|
18853
18943
|
{
|
|
18854
18944
|
items: getGroupedItems(category.items),
|
|
@@ -18876,7 +18966,7 @@ var BusinessAnalysisPrompts = ({
|
|
|
18876
18966
|
};
|
|
18877
18967
|
|
|
18878
18968
|
// src/components/Chat/Chating.tsx
|
|
18879
|
-
import { Fragment as Fragment18, jsx as
|
|
18969
|
+
import { Fragment as Fragment18, jsx as jsx79, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
18880
18970
|
var slotConfig = [];
|
|
18881
18971
|
var Chating = ({
|
|
18882
18972
|
avatar,
|
|
@@ -18892,16 +18982,18 @@ var Chating = ({
|
|
|
18892
18982
|
showSender = true,
|
|
18893
18983
|
showHITL = true,
|
|
18894
18984
|
showRefreshButton = false,
|
|
18985
|
+
showModelSelector,
|
|
18986
|
+
showEmptyState = true,
|
|
18895
18987
|
emptyStateGreeting,
|
|
18896
18988
|
emptyStateQuestion = "Ready to turn data into insightful charts in seconds?",
|
|
18897
18989
|
welcomePrefix = "Hey"
|
|
18898
18990
|
}) => {
|
|
18899
|
-
const [content, setContent] =
|
|
18900
|
-
const [attachedFiles, setAttachedFiles] =
|
|
18991
|
+
const [content, setContent] = useState53("");
|
|
18992
|
+
const [attachedFiles, setAttachedFiles] = useState53([]);
|
|
18901
18993
|
const { styles } = useStyle();
|
|
18902
|
-
const [headerOpen, setHeaderOpen] =
|
|
18903
|
-
const attachmentsRef =
|
|
18904
|
-
const senderRef =
|
|
18994
|
+
const [headerOpen, setHeaderOpen] = useState53(false);
|
|
18995
|
+
const attachmentsRef = useRef21(null);
|
|
18996
|
+
const senderRef = React41.useRef(null);
|
|
18905
18997
|
const {
|
|
18906
18998
|
assistantId,
|
|
18907
18999
|
threadId,
|
|
@@ -18915,14 +19007,16 @@ var Chating = ({
|
|
|
18915
19007
|
tenantId,
|
|
18916
19008
|
clearError,
|
|
18917
19009
|
threadStatus,
|
|
18918
|
-
pendingMessages
|
|
19010
|
+
pendingMessages,
|
|
19011
|
+
customRunConfig,
|
|
19012
|
+
updateCustomRunConfig
|
|
18919
19013
|
} = useAgentChat();
|
|
18920
19014
|
const isStreaming = isLoading;
|
|
18921
19015
|
const hasPendingMessages = pendingMessages?.length > 0;
|
|
18922
19016
|
const isInputDisabled = interrupts && interrupts.length > 0;
|
|
18923
19017
|
const typingFrames = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
|
|
18924
|
-
const [typingFrameIndex, setTypingFrameIndex] =
|
|
18925
|
-
|
|
19018
|
+
const [typingFrameIndex, setTypingFrameIndex] = useState53(0);
|
|
19019
|
+
useEffect35(() => {
|
|
18926
19020
|
if (!isStreaming) return;
|
|
18927
19021
|
const interval = setInterval(() => {
|
|
18928
19022
|
setTypingFrameIndex((prev) => (prev + 1) % typingFrames.length);
|
|
@@ -18930,9 +19024,20 @@ var Chating = ({
|
|
|
18930
19024
|
return () => clearInterval(interval);
|
|
18931
19025
|
}, [isStreaming]);
|
|
18932
19026
|
const conversationContext = useConversationContext();
|
|
18933
|
-
const [
|
|
18934
|
-
const
|
|
18935
|
-
|
|
19027
|
+
const [modelConfig, setModelConfig] = useState53(null);
|
|
19028
|
+
const handleModelChange = useCallback26((config2) => {
|
|
19029
|
+
setModelConfig(config2);
|
|
19030
|
+
if (config2) {
|
|
19031
|
+
updateCustomRunConfig({ modelConfig: config2 });
|
|
19032
|
+
}
|
|
19033
|
+
}, [updateCustomRunConfig]);
|
|
19034
|
+
const [isEmptyState, setIsEmptyState] = useState53(showEmptyState && messages.length === 0 && !pendingMessages?.length);
|
|
19035
|
+
const [isTransitioning, setIsTransitioning] = useState53(false);
|
|
19036
|
+
useEffect35(() => {
|
|
19037
|
+
if (!showEmptyState) {
|
|
19038
|
+
setIsEmptyState(false);
|
|
19039
|
+
return;
|
|
19040
|
+
}
|
|
18936
19041
|
const isEmpty = messages.length === 0 && !pendingMessages?.length;
|
|
18937
19042
|
if (!isEmpty && isEmptyState) {
|
|
18938
19043
|
setIsTransitioning(true);
|
|
@@ -18943,7 +19048,7 @@ var Chating = ({
|
|
|
18943
19048
|
} else if (isEmpty && !isEmptyState) {
|
|
18944
19049
|
setIsEmptyState(true);
|
|
18945
19050
|
}
|
|
18946
|
-
}, [messages.length, pendingMessages?.length, isEmptyState]);
|
|
19051
|
+
}, [messages.length, pendingMessages?.length, isEmptyState, showEmptyState]);
|
|
18947
19052
|
const { config } = useLatticeChatShellContext();
|
|
18948
19053
|
const { baseURL } = config;
|
|
18949
19054
|
const user = useAuthOptional()?.user;
|
|
@@ -18953,9 +19058,9 @@ var Chating = ({
|
|
|
18953
19058
|
const listPathByFolder = workspaceContext?.listPathByFolder ?? (async () => []);
|
|
18954
19059
|
const workspaceId = workspaceContext?.workspaceId ?? null;
|
|
18955
19060
|
const projectId = workspaceContext?.projectId ?? null;
|
|
18956
|
-
const [workspaceFiles, setWorkspaceFiles] =
|
|
18957
|
-
const [suggestionsLoading, setSuggestionsLoading] =
|
|
18958
|
-
const [suggestionsOpen, setSuggestionsOpen] =
|
|
19061
|
+
const [workspaceFiles, setWorkspaceFiles] = useState53([]);
|
|
19062
|
+
const [suggestionsLoading, setSuggestionsLoading] = useState53(false);
|
|
19063
|
+
const [suggestionsOpen, setSuggestionsOpen] = useState53(false);
|
|
18959
19064
|
const getFileIcon3 = (filename) => {
|
|
18960
19065
|
const ext = filename.split(".").pop()?.toLowerCase();
|
|
18961
19066
|
const iconStyle = { fontSize: 16 };
|
|
@@ -18966,30 +19071,30 @@ var Chating = ({
|
|
|
18966
19071
|
case "gif":
|
|
18967
19072
|
case "svg":
|
|
18968
19073
|
case "webp":
|
|
18969
|
-
return /* @__PURE__ */
|
|
19074
|
+
return /* @__PURE__ */ jsx79(FileImageOutlined5, { style: { ...iconStyle, color: "#52c41a" } });
|
|
18970
19075
|
case "pdf":
|
|
18971
|
-
return /* @__PURE__ */
|
|
19076
|
+
return /* @__PURE__ */ jsx79(FilePdfOutlined5, { style: { ...iconStyle, color: "#ff4d4f" } });
|
|
18972
19077
|
case "md":
|
|
18973
19078
|
case "markdown":
|
|
18974
|
-
return /* @__PURE__ */
|
|
19079
|
+
return /* @__PURE__ */ jsx79(FileMarkdownOutlined3, { style: { ...iconStyle, color: "#722ed1" } });
|
|
18975
19080
|
case "zip":
|
|
18976
19081
|
case "rar":
|
|
18977
19082
|
case "7z":
|
|
18978
|
-
return /* @__PURE__ */
|
|
19083
|
+
return /* @__PURE__ */ jsx79(FileZipOutlined3, { style: { ...iconStyle, color: "#faad14" } });
|
|
18979
19084
|
case "xls":
|
|
18980
19085
|
case "xlsx":
|
|
18981
19086
|
case "csv":
|
|
18982
|
-
return /* @__PURE__ */
|
|
19087
|
+
return /* @__PURE__ */ jsx79(FileExcelOutlined3, { style: { ...iconStyle, color: "#52c41a" } });
|
|
18983
19088
|
case "ppt":
|
|
18984
19089
|
case "pptx":
|
|
18985
|
-
return /* @__PURE__ */
|
|
19090
|
+
return /* @__PURE__ */ jsx79(FilePptOutlined2, { style: { ...iconStyle, color: "#fa8c16" } });
|
|
18986
19091
|
case "doc":
|
|
18987
19092
|
case "docx":
|
|
18988
|
-
return /* @__PURE__ */
|
|
19093
|
+
return /* @__PURE__ */ jsx79(FileWordOutlined3, { style: { ...iconStyle, color: "#2f54eb" } });
|
|
18989
19094
|
case "txt":
|
|
18990
|
-
return /* @__PURE__ */
|
|
19095
|
+
return /* @__PURE__ */ jsx79(FileTextOutlined10, { style: { ...iconStyle, color: "#8c8c8c" } });
|
|
18991
19096
|
default:
|
|
18992
|
-
return /* @__PURE__ */
|
|
19097
|
+
return /* @__PURE__ */ jsx79(FileUnknownOutlined5, { style: { ...iconStyle, color: "#bfbfbf" } });
|
|
18993
19098
|
}
|
|
18994
19099
|
};
|
|
18995
19100
|
const loadWorkspaceFiles = async () => {
|
|
@@ -19015,7 +19120,7 @@ var Chating = ({
|
|
|
19015
19120
|
setSuggestionsLoading(false);
|
|
19016
19121
|
}
|
|
19017
19122
|
};
|
|
19018
|
-
|
|
19123
|
+
useEffect35(() => {
|
|
19019
19124
|
regsiterElement("action_show_attachments_uploader", {
|
|
19020
19125
|
card_view: () => null,
|
|
19021
19126
|
action: (data) => {
|
|
@@ -19110,7 +19215,7 @@ var Chating = ({
|
|
|
19110
19215
|
}
|
|
19111
19216
|
return true;
|
|
19112
19217
|
};
|
|
19113
|
-
const senderHeader = /* @__PURE__ */
|
|
19218
|
+
const senderHeader = /* @__PURE__ */ jsx79(
|
|
19114
19219
|
Sender.Header,
|
|
19115
19220
|
{
|
|
19116
19221
|
title: "Attachments",
|
|
@@ -19122,7 +19227,7 @@ var Chating = ({
|
|
|
19122
19227
|
}
|
|
19123
19228
|
},
|
|
19124
19229
|
forceRender: true,
|
|
19125
|
-
children: /* @__PURE__ */
|
|
19230
|
+
children: /* @__PURE__ */ jsx79(
|
|
19126
19231
|
Attachments,
|
|
19127
19232
|
{
|
|
19128
19233
|
ref: attachmentsRef,
|
|
@@ -19146,7 +19251,7 @@ var Chating = ({
|
|
|
19146
19251
|
multiple: true,
|
|
19147
19252
|
maxCount: 10,
|
|
19148
19253
|
placeholder: (type) => ({
|
|
19149
|
-
icon: /* @__PURE__ */
|
|
19254
|
+
icon: /* @__PURE__ */ jsx79(CloudUploadOutlined, {}),
|
|
19150
19255
|
title: "Upload File",
|
|
19151
19256
|
description: attachment_placeholder
|
|
19152
19257
|
})
|
|
@@ -19154,38 +19259,42 @@ var Chating = ({
|
|
|
19154
19259
|
)
|
|
19155
19260
|
}
|
|
19156
19261
|
);
|
|
19157
|
-
const showDatabaseSlot = config.enableDatabaseSlot
|
|
19158
|
-
const showSkillSlot = config.enableSkillSlot
|
|
19159
|
-
const showAgentSlot = config.enableAgentSlot
|
|
19160
|
-
const showMetricsDataSourceSlot = config.enableMetricsDataSourceSlot
|
|
19262
|
+
const showDatabaseSlot = config.enableDatabaseSlot;
|
|
19263
|
+
const showSkillSlot = config.enableSkillSlot;
|
|
19264
|
+
const showAgentSlot = config.enableAgentSlot;
|
|
19265
|
+
const showMetricsDataSourceSlot = config.enableMetricsDataSourceSlot;
|
|
19266
|
+
const shouldShowModelSelector = showModelSelector !== void 0 ? showModelSelector : config.enableModelSelector;
|
|
19161
19267
|
const senderFooter = (actionNode) => {
|
|
19162
19268
|
const hasSlotButtons = showAgentSlot || showDatabaseSlot || showSkillSlot || showMetricsDataSourceSlot;
|
|
19163
19269
|
return /* @__PURE__ */ jsxs52(Flex5, { justify: "space-between", align: "center", style: { padding: "8px 0" }, children: [
|
|
19164
19270
|
/* @__PURE__ */ jsxs52(Flex5, { align: "center", gap: 8, children: [
|
|
19165
|
-
/* @__PURE__ */
|
|
19271
|
+
/* @__PURE__ */ jsx79(Badge5, { dot: attachedFiles.length > 0 && !headerOpen, children: /* @__PURE__ */ jsx79(
|
|
19166
19272
|
Button37,
|
|
19167
19273
|
{
|
|
19168
19274
|
type: "text",
|
|
19169
|
-
icon: /* @__PURE__ */
|
|
19275
|
+
icon: /* @__PURE__ */ jsx79(PaperClipOutlined, {}),
|
|
19170
19276
|
onClick: () => setHeaderOpen(!headerOpen)
|
|
19171
19277
|
}
|
|
19172
19278
|
) }),
|
|
19173
|
-
/* @__PURE__ */
|
|
19279
|
+
/* @__PURE__ */ jsx79(Divider6, { type: "vertical", style: { margin: 0 } }),
|
|
19174
19280
|
hasSlotButtons && /* @__PURE__ */ jsxs52(Flex5, { align: "center", gap: 8, children: [
|
|
19175
|
-
showAgentSlot && /* @__PURE__ */
|
|
19176
|
-
showDatabaseSlot && /* @__PURE__ */
|
|
19177
|
-
showSkillSlot && /* @__PURE__ */
|
|
19178
|
-
showMetricsDataSourceSlot && /* @__PURE__ */
|
|
19281
|
+
showAgentSlot && /* @__PURE__ */ jsx79(AgentPicker, { senderRef, iconOnly: true }),
|
|
19282
|
+
showDatabaseSlot && /* @__PURE__ */ jsx79(DatabasePicker, { senderRef, iconOnly: true }),
|
|
19283
|
+
showSkillSlot && /* @__PURE__ */ jsx79(SkillPicker, { senderRef, iconOnly: true }),
|
|
19284
|
+
showMetricsDataSourceSlot && /* @__PURE__ */ jsx79(MetricsDataSourcePicker, { senderRef, iconOnly: true })
|
|
19179
19285
|
] })
|
|
19180
19286
|
] }),
|
|
19181
|
-
|
|
19287
|
+
/* @__PURE__ */ jsxs52(Flex5, { align: "center", gap: 8, children: [
|
|
19288
|
+
shouldShowModelSelector && /* @__PURE__ */ jsx79(ModelSelector, { value: modelConfig, onChange: handleModelChange }),
|
|
19289
|
+
actionNode
|
|
19290
|
+
] })
|
|
19182
19291
|
] });
|
|
19183
19292
|
};
|
|
19184
|
-
const refreshButton = /* @__PURE__ */
|
|
19293
|
+
const refreshButton = /* @__PURE__ */ jsx79(
|
|
19185
19294
|
Button37,
|
|
19186
19295
|
{
|
|
19187
19296
|
type: "text",
|
|
19188
|
-
icon: /* @__PURE__ */
|
|
19297
|
+
icon: /* @__PURE__ */ jsx79(ReloadOutlined2, {}),
|
|
19189
19298
|
onClick: () => {
|
|
19190
19299
|
loadMessages();
|
|
19191
19300
|
}
|
|
@@ -19193,10 +19302,10 @@ var Chating = ({
|
|
|
19193
19302
|
);
|
|
19194
19303
|
const headerExtra = [
|
|
19195
19304
|
...showRefreshButton ? [refreshButton] : [],
|
|
19196
|
-
/* @__PURE__ */
|
|
19305
|
+
/* @__PURE__ */ jsx79(ThreadManagementButtons, {}, "thread-buttons")
|
|
19197
19306
|
];
|
|
19198
|
-
const [skills, setSkills] =
|
|
19199
|
-
const [skillsLoading, setSkillsLoading] =
|
|
19307
|
+
const [skills, setSkills] = useState53([]);
|
|
19308
|
+
const [skillsLoading, setSkillsLoading] = useState53(false);
|
|
19200
19309
|
const { get: apiGet } = useApi();
|
|
19201
19310
|
const loadSkills = async () => {
|
|
19202
19311
|
if (skills.length > 0) return;
|
|
@@ -19220,10 +19329,10 @@ var Chating = ({
|
|
|
19220
19329
|
return isEmpty ? "Type / to see available skills, or @ to reference files" : void 0;
|
|
19221
19330
|
};
|
|
19222
19331
|
const renderSender = (isEmpty) => {
|
|
19223
|
-
const [suggestionMode, setSuggestionMode] =
|
|
19332
|
+
const [suggestionMode, setSuggestionMode] = useState53(null);
|
|
19224
19333
|
const suggestionItems = suggestionMode === "skills" ? skills.map((skill) => ({
|
|
19225
19334
|
value: skill.name,
|
|
19226
|
-
icon: /* @__PURE__ */
|
|
19335
|
+
icon: /* @__PURE__ */ jsx79(BrainCircuit3, { size: 14, style: { color: "#722ed1" } }),
|
|
19227
19336
|
label: skill.name,
|
|
19228
19337
|
description: skill.description?.slice(0, 50) + (skill.description?.length > 50 ? "..." : "")
|
|
19229
19338
|
})) : workspaceFiles.map((file) => ({
|
|
@@ -19231,7 +19340,7 @@ var Chating = ({
|
|
|
19231
19340
|
icon: getFileIcon3(file.name || file.path),
|
|
19232
19341
|
label: file.path
|
|
19233
19342
|
}));
|
|
19234
|
-
return /* @__PURE__ */
|
|
19343
|
+
return /* @__PURE__ */ jsx79(
|
|
19235
19344
|
Suggestion,
|
|
19236
19345
|
{
|
|
19237
19346
|
items: suggestionItems,
|
|
@@ -19243,8 +19352,8 @@ var Chating = ({
|
|
|
19243
19352
|
key: `skill_${itemVal}_${Date.now()}`,
|
|
19244
19353
|
props: {
|
|
19245
19354
|
label: /* @__PURE__ */ jsxs52(Space28, { size: 1, children: [
|
|
19246
|
-
/* @__PURE__ */
|
|
19247
|
-
/* @__PURE__ */
|
|
19355
|
+
/* @__PURE__ */ jsx79(BrainCircuit3, { size: 12 }),
|
|
19356
|
+
/* @__PURE__ */ jsx79(Typography33.Text, { children: itemVal })
|
|
19248
19357
|
] }),
|
|
19249
19358
|
value: `[Use Skill:${itemVal}]`
|
|
19250
19359
|
}
|
|
@@ -19263,7 +19372,7 @@ var Chating = ({
|
|
|
19263
19372
|
], "cursor", "@");
|
|
19264
19373
|
}
|
|
19265
19374
|
},
|
|
19266
|
-
children: ({ onTrigger, onKeyDown }) => /* @__PURE__ */
|
|
19375
|
+
children: ({ onTrigger, onKeyDown }) => /* @__PURE__ */ jsx79(
|
|
19267
19376
|
Sender,
|
|
19268
19377
|
{
|
|
19269
19378
|
slotConfig,
|
|
@@ -19312,7 +19421,7 @@ var Chating = ({
|
|
|
19312
19421
|
);
|
|
19313
19422
|
};
|
|
19314
19423
|
return /* @__PURE__ */ jsxs52(Fragment18, { children: [
|
|
19315
|
-
/* @__PURE__ */
|
|
19424
|
+
/* @__PURE__ */ jsx79(
|
|
19316
19425
|
"div",
|
|
19317
19426
|
{
|
|
19318
19427
|
className: styles.fixedHeader,
|
|
@@ -19321,7 +19430,7 @@ var Chating = ({
|
|
|
19321
19430
|
pointerEvents: isEmptyState ? "none" : "auto",
|
|
19322
19431
|
transition: "opacity 0.3s ease"
|
|
19323
19432
|
},
|
|
19324
|
-
children: showHeader && /* @__PURE__ */
|
|
19433
|
+
children: showHeader && /* @__PURE__ */ jsx79(
|
|
19325
19434
|
AgentHeader,
|
|
19326
19435
|
{
|
|
19327
19436
|
name,
|
|
@@ -19350,22 +19459,22 @@ var Chating = ({
|
|
|
19350
19459
|
className: `${styles.emptyStateContainer} ${isTransitioning ? styles.exiting : ""}`,
|
|
19351
19460
|
children: [
|
|
19352
19461
|
/* @__PURE__ */ jsxs52("div", { className: styles.welcomeSection, children: [
|
|
19353
|
-
/* @__PURE__ */
|
|
19462
|
+
/* @__PURE__ */ jsx79("div", { className: styles.greeting, children: emptyStateGreeting ? emptyStateGreeting : /* @__PURE__ */ jsxs52(Fragment18, { children: [
|
|
19354
19463
|
welcomePrefix,
|
|
19355
19464
|
" ",
|
|
19356
|
-
/* @__PURE__ */
|
|
19465
|
+
/* @__PURE__ */ jsx79("span", { className: "user-name", children: displayUserName })
|
|
19357
19466
|
] }) }),
|
|
19358
|
-
/* @__PURE__ */
|
|
19467
|
+
/* @__PURE__ */ jsx79("div", { className: styles.question, children: emptyStateQuestion })
|
|
19359
19468
|
] }),
|
|
19360
|
-
config.enableSkillSlot !== false && /* @__PURE__ */
|
|
19361
|
-
showSender && /* @__PURE__ */
|
|
19469
|
+
config.enableSkillSlot !== false && /* @__PURE__ */ jsx79("div", { className: styles.promptsWrapper, children: /* @__PURE__ */ jsx79(SkillCategoryPrompts, { senderRef, visible: true }) }),
|
|
19470
|
+
showSender && /* @__PURE__ */ jsx79(
|
|
19362
19471
|
"div",
|
|
19363
19472
|
{
|
|
19364
19473
|
className: `${styles.emptyStateSenderWrapper} ${isTransitioning ? styles.transitioning : ""}`,
|
|
19365
19474
|
children: renderSender(true)
|
|
19366
19475
|
}
|
|
19367
19476
|
),
|
|
19368
|
-
showSender && !(interrupts && interrupts.length > 0) && /* @__PURE__ */
|
|
19477
|
+
showSender && !(interrupts && interrupts.length > 0) && /* @__PURE__ */ jsx79("div", { style: { marginTop: 24 }, children: /* @__PURE__ */ jsx79(
|
|
19369
19478
|
BusinessAnalysisPrompts,
|
|
19370
19479
|
{
|
|
19371
19480
|
visible: true,
|
|
@@ -19379,15 +19488,15 @@ var Chating = ({
|
|
|
19379
19488
|
}
|
|
19380
19489
|
),
|
|
19381
19490
|
!isEmptyState && /* @__PURE__ */ jsxs52(Fragment18, { children: [
|
|
19382
|
-
/* @__PURE__ */
|
|
19491
|
+
/* @__PURE__ */ jsx79(
|
|
19383
19492
|
MessageList,
|
|
19384
19493
|
{
|
|
19385
19494
|
messages,
|
|
19386
19495
|
className: `${styles.messages} ${isTransitioning ? styles.entering : ""}`
|
|
19387
19496
|
}
|
|
19388
19497
|
),
|
|
19389
|
-
!isLoading && messages.length > 0 && /* @__PURE__ */
|
|
19390
|
-
error && /* @__PURE__ */
|
|
19498
|
+
!isLoading && messages.length > 0 && /* @__PURE__ */ jsx79(Prompts3, { items: senderPromptsItems, onItemClick: onPromptsItemClick }),
|
|
19499
|
+
error && /* @__PURE__ */ jsx79("div", { style: { padding: "0 16px 8px" }, children: /* @__PURE__ */ jsx79(
|
|
19391
19500
|
Alert7,
|
|
19392
19501
|
{
|
|
19393
19502
|
type: "error",
|
|
@@ -19397,19 +19506,19 @@ var Chating = ({
|
|
|
19397
19506
|
message: `${error.message}`
|
|
19398
19507
|
}
|
|
19399
19508
|
) }),
|
|
19400
|
-
showHITL && /* @__PURE__ */
|
|
19401
|
-
/* @__PURE__ */
|
|
19402
|
-
showSender && /* @__PURE__ */
|
|
19509
|
+
showHITL && /* @__PURE__ */ jsx79(HITLContainer, {}),
|
|
19510
|
+
/* @__PURE__ */ jsx79(PendingMessagesContainer, {}),
|
|
19511
|
+
showSender && /* @__PURE__ */ jsx79("div", { className: `${styles.senderContainer} ${isTransitioning ? styles.entering : ""}`, children: renderSender(false) })
|
|
19403
19512
|
] })
|
|
19404
19513
|
] });
|
|
19405
19514
|
};
|
|
19406
19515
|
|
|
19407
19516
|
// src/components/GenUI/elements/task_detail.tsx
|
|
19408
|
-
import { jsx as
|
|
19517
|
+
import { jsx as jsx80 } from "react/jsx-runtime";
|
|
19409
19518
|
var { Text: Text24 } = Typography34;
|
|
19410
19519
|
var TaskDetail = ({ data, component_key, interactive = true }) => {
|
|
19411
19520
|
const { description, subagent_type, thread_id } = data || {};
|
|
19412
|
-
return /* @__PURE__ */
|
|
19521
|
+
return /* @__PURE__ */ jsx80(
|
|
19413
19522
|
AgentThreadProvider,
|
|
19414
19523
|
{
|
|
19415
19524
|
threadId: thread_id,
|
|
@@ -19419,7 +19528,7 @@ var TaskDetail = ({ data, component_key, interactive = true }) => {
|
|
|
19419
19528
|
enableReturnStateWhenStreamCompleted: true,
|
|
19420
19529
|
enableResumeStream: true
|
|
19421
19530
|
},
|
|
19422
|
-
children: /* @__PURE__ */
|
|
19531
|
+
children: /* @__PURE__ */ jsx80("div", { style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx80(
|
|
19423
19532
|
Chating,
|
|
19424
19533
|
{
|
|
19425
19534
|
showRefreshButton: true,
|
|
@@ -19439,7 +19548,7 @@ import {
|
|
|
19439
19548
|
SearchOutlined
|
|
19440
19549
|
} from "@ant-design/icons";
|
|
19441
19550
|
import { createStyles as createStyles18 } from "antd-style";
|
|
19442
|
-
import { jsx as
|
|
19551
|
+
import { jsx as jsx81, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
19443
19552
|
var { Text: Text25 } = Typography35;
|
|
19444
19553
|
var useStyle9 = createStyles18(({ token, css }) => ({
|
|
19445
19554
|
listContainer: css`
|
|
@@ -19555,16 +19664,16 @@ var InternetSearchCard = ({
|
|
|
19555
19664
|
return null;
|
|
19556
19665
|
}
|
|
19557
19666
|
const header = /* @__PURE__ */ jsxs53(Space29, { children: [
|
|
19558
|
-
/* @__PURE__ */
|
|
19559
|
-
/* @__PURE__ */
|
|
19667
|
+
/* @__PURE__ */ jsx81(Text25, { strong: true, children: "Internet Search" }),
|
|
19668
|
+
/* @__PURE__ */ jsx81(Text25, { title: query, children: query })
|
|
19560
19669
|
] });
|
|
19561
|
-
return /* @__PURE__ */
|
|
19670
|
+
return /* @__PURE__ */ jsx81(
|
|
19562
19671
|
ContentPreviewCollapse,
|
|
19563
19672
|
{
|
|
19564
19673
|
panelKey: toolCallData.id,
|
|
19565
19674
|
header,
|
|
19566
|
-
expandIcon: () => /* @__PURE__ */
|
|
19567
|
-
children: /* @__PURE__ */
|
|
19675
|
+
expandIcon: () => /* @__PURE__ */ jsx81(SearchOutlined, {}),
|
|
19676
|
+
children: /* @__PURE__ */ jsx81(
|
|
19568
19677
|
List11,
|
|
19569
19678
|
{
|
|
19570
19679
|
size: "small",
|
|
@@ -19574,10 +19683,10 @@ var InternetSearchCard = ({
|
|
|
19574
19683
|
const domain = getDomainFromUrl(url);
|
|
19575
19684
|
const iconText = getIconText(domain);
|
|
19576
19685
|
const iconColor = getIconColor(domain);
|
|
19577
|
-
return /* @__PURE__ */
|
|
19578
|
-
/* @__PURE__ */
|
|
19686
|
+
return /* @__PURE__ */ jsx81(List11.Item, { extra: /* @__PURE__ */ jsx81(Text25, { className: styles.source, children: domain }), children: /* @__PURE__ */ jsxs53(Space29, { style: { width: "100%" }, children: [
|
|
19687
|
+
/* @__PURE__ */ jsx81(Avatar7, { style: { background: iconColor }, children: iconText }),
|
|
19579
19688
|
" ",
|
|
19580
|
-
/* @__PURE__ */
|
|
19689
|
+
/* @__PURE__ */ jsx81(
|
|
19581
19690
|
Button38,
|
|
19582
19691
|
{
|
|
19583
19692
|
type: "text",
|
|
@@ -19600,7 +19709,7 @@ var InternetSearchCard = ({
|
|
|
19600
19709
|
};
|
|
19601
19710
|
|
|
19602
19711
|
// src/components/GenUI/elements/schedule_viewer.tsx
|
|
19603
|
-
import { useState as
|
|
19712
|
+
import { useState as useState54, useEffect as useEffect36, useCallback as useCallback27 } from "react";
|
|
19604
19713
|
import {
|
|
19605
19714
|
Tag as Tag15,
|
|
19606
19715
|
Button as Button39,
|
|
@@ -19633,7 +19742,7 @@ import {
|
|
|
19633
19742
|
ScheduledTaskStatus as ScheduledTaskStatus2,
|
|
19634
19743
|
ScheduleExecutionType
|
|
19635
19744
|
} from "@axiom-lattice/client-sdk";
|
|
19636
|
-
import { jsx as
|
|
19745
|
+
import { jsx as jsx82, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
19637
19746
|
dayjs2.extend(relativeTime);
|
|
19638
19747
|
var { Text: Text26, Title: Title5 } = Typography36;
|
|
19639
19748
|
var useStyles7 = createStyles19(({ token, css }) => ({
|
|
@@ -19733,19 +19842,19 @@ var getStatusColor = (status) => {
|
|
|
19733
19842
|
var getStatusIcon2 = (status) => {
|
|
19734
19843
|
switch (status) {
|
|
19735
19844
|
case ScheduledTaskStatus2.PENDING:
|
|
19736
|
-
return /* @__PURE__ */
|
|
19845
|
+
return /* @__PURE__ */ jsx82(ClockCircleOutlined3, {});
|
|
19737
19846
|
case ScheduledTaskStatus2.RUNNING:
|
|
19738
|
-
return /* @__PURE__ */
|
|
19847
|
+
return /* @__PURE__ */ jsx82(SyncOutlined2, { spin: true });
|
|
19739
19848
|
case ScheduledTaskStatus2.COMPLETED:
|
|
19740
|
-
return /* @__PURE__ */
|
|
19849
|
+
return /* @__PURE__ */ jsx82(CheckCircleOutlined6, {});
|
|
19741
19850
|
case ScheduledTaskStatus2.FAILED:
|
|
19742
|
-
return /* @__PURE__ */
|
|
19851
|
+
return /* @__PURE__ */ jsx82(CloseCircleOutlined2, {});
|
|
19743
19852
|
case ScheduledTaskStatus2.CANCELLED:
|
|
19744
|
-
return /* @__PURE__ */
|
|
19853
|
+
return /* @__PURE__ */ jsx82(StopOutlined, {});
|
|
19745
19854
|
case ScheduledTaskStatus2.PAUSED:
|
|
19746
|
-
return /* @__PURE__ */
|
|
19855
|
+
return /* @__PURE__ */ jsx82(PauseCircleOutlined, {});
|
|
19747
19856
|
default:
|
|
19748
|
-
return /* @__PURE__ */
|
|
19857
|
+
return /* @__PURE__ */ jsx82(ClockCircleOutlined3, {});
|
|
19749
19858
|
}
|
|
19750
19859
|
};
|
|
19751
19860
|
var formatTime = (timestamp) => {
|
|
@@ -19760,10 +19869,10 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19760
19869
|
const { styles } = useStyles7();
|
|
19761
19870
|
const { threadId, assistantId, tasks: initialTasks, onRefresh } = data ?? {};
|
|
19762
19871
|
const client = useClient(assistantId || "");
|
|
19763
|
-
const [tasks, setTasks] =
|
|
19764
|
-
const [loading, setLoading] =
|
|
19765
|
-
const [actionLoading, setActionLoading] =
|
|
19766
|
-
const handleRefresh =
|
|
19872
|
+
const [tasks, setTasks] = useState54(initialTasks || []);
|
|
19873
|
+
const [loading, setLoading] = useState54(false);
|
|
19874
|
+
const [actionLoading, setActionLoading] = useState54(null);
|
|
19875
|
+
const handleRefresh = useCallback27(async () => {
|
|
19767
19876
|
if (!threadId) return;
|
|
19768
19877
|
setLoading(true);
|
|
19769
19878
|
try {
|
|
@@ -19777,7 +19886,7 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19777
19886
|
setLoading(false);
|
|
19778
19887
|
}
|
|
19779
19888
|
}, [client, threadId, onRefresh]);
|
|
19780
|
-
const handleCancel =
|
|
19889
|
+
const handleCancel = useCallback27(
|
|
19781
19890
|
async (taskId) => {
|
|
19782
19891
|
setActionLoading(taskId);
|
|
19783
19892
|
try {
|
|
@@ -19793,7 +19902,7 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19793
19902
|
},
|
|
19794
19903
|
[client, handleRefresh]
|
|
19795
19904
|
);
|
|
19796
|
-
const handlePause =
|
|
19905
|
+
const handlePause = useCallback27(
|
|
19797
19906
|
async (taskId) => {
|
|
19798
19907
|
setActionLoading(taskId);
|
|
19799
19908
|
try {
|
|
@@ -19809,7 +19918,7 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19809
19918
|
},
|
|
19810
19919
|
[client, handleRefresh]
|
|
19811
19920
|
);
|
|
19812
|
-
const handleResume =
|
|
19921
|
+
const handleResume = useCallback27(
|
|
19813
19922
|
async (taskId) => {
|
|
19814
19923
|
setActionLoading(taskId);
|
|
19815
19924
|
try {
|
|
@@ -19825,12 +19934,12 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19825
19934
|
},
|
|
19826
19935
|
[client, handleRefresh]
|
|
19827
19936
|
);
|
|
19828
|
-
|
|
19937
|
+
useEffect36(() => {
|
|
19829
19938
|
if (threadId && (!initialTasks || initialTasks.length === 0)) {
|
|
19830
19939
|
handleRefresh();
|
|
19831
19940
|
}
|
|
19832
19941
|
}, [threadId]);
|
|
19833
|
-
|
|
19942
|
+
useEffect36(() => {
|
|
19834
19943
|
if (initialTasks) {
|
|
19835
19944
|
setTasks(initialTasks);
|
|
19836
19945
|
}
|
|
@@ -19841,27 +19950,27 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19841
19950
|
const isPaused = task.status === ScheduledTaskStatus2.PAUSED;
|
|
19842
19951
|
const isCron = task.executionType === ScheduleExecutionType.CRON;
|
|
19843
19952
|
return /* @__PURE__ */ jsxs54(Space30, { className: styles.actions, children: [
|
|
19844
|
-
isPending && isCron && /* @__PURE__ */
|
|
19953
|
+
isPending && isCron && /* @__PURE__ */ jsx82(Tooltip17, { title: "Pause", children: /* @__PURE__ */ jsx82(
|
|
19845
19954
|
Button39,
|
|
19846
19955
|
{
|
|
19847
19956
|
type: "text",
|
|
19848
19957
|
size: "small",
|
|
19849
|
-
icon: /* @__PURE__ */
|
|
19958
|
+
icon: /* @__PURE__ */ jsx82(PauseCircleOutlined, {}),
|
|
19850
19959
|
onClick: () => handlePause(task.taskId),
|
|
19851
19960
|
loading: isLoading
|
|
19852
19961
|
}
|
|
19853
19962
|
) }),
|
|
19854
|
-
isPaused && /* @__PURE__ */
|
|
19963
|
+
isPaused && /* @__PURE__ */ jsx82(Tooltip17, { title: "Resume", children: /* @__PURE__ */ jsx82(
|
|
19855
19964
|
Button39,
|
|
19856
19965
|
{
|
|
19857
19966
|
type: "text",
|
|
19858
19967
|
size: "small",
|
|
19859
|
-
icon: /* @__PURE__ */
|
|
19968
|
+
icon: /* @__PURE__ */ jsx82(PlayCircleOutlined2, {}),
|
|
19860
19969
|
onClick: () => handleResume(task.taskId),
|
|
19861
19970
|
loading: isLoading
|
|
19862
19971
|
}
|
|
19863
19972
|
) }),
|
|
19864
|
-
(isPending || isPaused) && /* @__PURE__ */
|
|
19973
|
+
(isPending || isPaused) && /* @__PURE__ */ jsx82(
|
|
19865
19974
|
Popconfirm4,
|
|
19866
19975
|
{
|
|
19867
19976
|
title: "Cancel this scheduled task?",
|
|
@@ -19869,13 +19978,13 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19869
19978
|
onConfirm: () => handleCancel(task.taskId),
|
|
19870
19979
|
okText: "Yes",
|
|
19871
19980
|
cancelText: "No",
|
|
19872
|
-
children: /* @__PURE__ */
|
|
19981
|
+
children: /* @__PURE__ */ jsx82(Tooltip17, { title: "Cancel", children: /* @__PURE__ */ jsx82(
|
|
19873
19982
|
Button39,
|
|
19874
19983
|
{
|
|
19875
19984
|
type: "text",
|
|
19876
19985
|
size: "small",
|
|
19877
19986
|
danger: true,
|
|
19878
|
-
icon: /* @__PURE__ */
|
|
19987
|
+
icon: /* @__PURE__ */ jsx82(StopOutlined, {}),
|
|
19879
19988
|
loading: isLoading
|
|
19880
19989
|
}
|
|
19881
19990
|
) })
|
|
@@ -19894,36 +20003,36 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19894
20003
|
children: [
|
|
19895
20004
|
/* @__PURE__ */ jsxs54("div", { className: styles.taskHeader, children: [
|
|
19896
20005
|
/* @__PURE__ */ jsxs54("div", { children: [
|
|
19897
|
-
/* @__PURE__ */
|
|
19898
|
-
/* @__PURE__ */
|
|
20006
|
+
/* @__PURE__ */ jsx82("div", { className: styles.taskType, children: task.taskType }),
|
|
20007
|
+
/* @__PURE__ */ jsx82("div", { className: styles.taskId, children: task.taskId })
|
|
19899
20008
|
] }),
|
|
19900
|
-
/* @__PURE__ */
|
|
20009
|
+
/* @__PURE__ */ jsx82(Tag15, { color: getStatusColor(task.status), icon: getStatusIcon2(task.status), children: task.status.toUpperCase() })
|
|
19901
20010
|
] }),
|
|
19902
20011
|
/* @__PURE__ */ jsxs54("div", { className: styles.metaRow, children: [
|
|
19903
|
-
/* @__PURE__ */
|
|
19904
|
-
/* @__PURE__ */
|
|
19905
|
-
/* @__PURE__ */
|
|
20012
|
+
/* @__PURE__ */ jsx82(Tooltip17, { title: "Execution Type", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20013
|
+
/* @__PURE__ */ jsx82(FieldTimeOutlined, {}),
|
|
20014
|
+
/* @__PURE__ */ jsx82("span", { children: task.executionType === ScheduleExecutionType.CRON ? "Recurring" : "One-time" })
|
|
19906
20015
|
] }) }),
|
|
19907
|
-
task.cronExpression && /* @__PURE__ */
|
|
19908
|
-
/* @__PURE__ */
|
|
19909
|
-
/* @__PURE__ */
|
|
20016
|
+
task.cronExpression && /* @__PURE__ */ jsx82(Tooltip17, { title: "Cron Expression", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20017
|
+
/* @__PURE__ */ jsx82(ClockCircleOutlined3, {}),
|
|
20018
|
+
/* @__PURE__ */ jsx82("code", { className: styles.cronExpression, children: task.cronExpression })
|
|
19910
20019
|
] }) }),
|
|
19911
|
-
task.nextRunAt && /* @__PURE__ */
|
|
19912
|
-
/* @__PURE__ */
|
|
20020
|
+
task.nextRunAt && /* @__PURE__ */ jsx82(Tooltip17, { title: `Next run: ${formatTime(task.nextRunAt)}`, children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20021
|
+
/* @__PURE__ */ jsx82(ClockCircleOutlined3, {}),
|
|
19913
20022
|
/* @__PURE__ */ jsxs54("span", { children: [
|
|
19914
20023
|
"Next: ",
|
|
19915
20024
|
getRelativeTime(task.nextRunAt)
|
|
19916
20025
|
] })
|
|
19917
20026
|
] }) }),
|
|
19918
|
-
task.executeAt && !task.cronExpression && /* @__PURE__ */
|
|
19919
|
-
/* @__PURE__ */
|
|
20027
|
+
task.executeAt && !task.cronExpression && /* @__PURE__ */ jsx82(Tooltip17, { title: `Execute at: ${formatTime(task.executeAt)}`, children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20028
|
+
/* @__PURE__ */ jsx82(ClockCircleOutlined3, {}),
|
|
19920
20029
|
/* @__PURE__ */ jsxs54("span", { children: [
|
|
19921
20030
|
"At: ",
|
|
19922
20031
|
getRelativeTime(task.executeAt)
|
|
19923
20032
|
] })
|
|
19924
20033
|
] }) }),
|
|
19925
|
-
task.runCount > 0 && /* @__PURE__ */
|
|
19926
|
-
/* @__PURE__ */
|
|
20034
|
+
task.runCount > 0 && /* @__PURE__ */ jsx82(Tooltip17, { title: "Run count", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
|
|
20035
|
+
/* @__PURE__ */ jsx82(SyncOutlined2, {}),
|
|
19927
20036
|
/* @__PURE__ */ jsxs54("span", { children: [
|
|
19928
20037
|
"Runs: ",
|
|
19929
20038
|
task.runCount,
|
|
@@ -19931,11 +20040,11 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19931
20040
|
] })
|
|
19932
20041
|
] }) })
|
|
19933
20042
|
] }),
|
|
19934
|
-
task.lastError && /* @__PURE__ */
|
|
19935
|
-
/* @__PURE__ */
|
|
20043
|
+
task.lastError && /* @__PURE__ */ jsx82("div", { style: { marginTop: 8 }, children: /* @__PURE__ */ jsxs54(Text26, { type: "danger", style: { fontSize: 12 }, children: [
|
|
20044
|
+
/* @__PURE__ */ jsx82(ExclamationCircleOutlined, { style: { marginRight: 4 } }),
|
|
19936
20045
|
task.lastError
|
|
19937
20046
|
] }) }),
|
|
19938
|
-
task.metadata && Object.keys(task.metadata).length > 0 && /* @__PURE__ */
|
|
20047
|
+
task.metadata && Object.keys(task.metadata).length > 0 && /* @__PURE__ */ jsx82(
|
|
19939
20048
|
Descriptions,
|
|
19940
20049
|
{
|
|
19941
20050
|
size: "small",
|
|
@@ -19956,34 +20065,34 @@ var ScheduleViewer = ({ data }) => {
|
|
|
19956
20065
|
};
|
|
19957
20066
|
return /* @__PURE__ */ jsxs54("div", { className: styles.container, children: [
|
|
19958
20067
|
/* @__PURE__ */ jsxs54("div", { className: styles.header, children: [
|
|
19959
|
-
/* @__PURE__ */
|
|
19960
|
-
/* @__PURE__ */
|
|
20068
|
+
/* @__PURE__ */ jsx82(Title5, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
|
|
20069
|
+
/* @__PURE__ */ jsx82(Tooltip17, { title: "Refresh", children: /* @__PURE__ */ jsx82(
|
|
19961
20070
|
Button39,
|
|
19962
20071
|
{
|
|
19963
20072
|
type: "text",
|
|
19964
|
-
icon: /* @__PURE__ */
|
|
20073
|
+
icon: /* @__PURE__ */ jsx82(ReloadOutlined3, { spin: loading }),
|
|
19965
20074
|
onClick: handleRefresh,
|
|
19966
20075
|
loading
|
|
19967
20076
|
}
|
|
19968
20077
|
) })
|
|
19969
20078
|
] }),
|
|
19970
20079
|
loading && tasks.length === 0 ? /* @__PURE__ */ jsxs54("div", { className: styles.emptyContainer, children: [
|
|
19971
|
-
/* @__PURE__ */
|
|
19972
|
-
/* @__PURE__ */
|
|
19973
|
-
] }) : tasks.length === 0 ? /* @__PURE__ */
|
|
20080
|
+
/* @__PURE__ */ jsx82(Spin13, { size: "large" }),
|
|
20081
|
+
/* @__PURE__ */ jsx82(Text26, { type: "secondary", style: { marginTop: 16 }, children: "Loading scheduled tasks..." })
|
|
20082
|
+
] }) : tasks.length === 0 ? /* @__PURE__ */ jsx82("div", { className: styles.emptyContainer, children: /* @__PURE__ */ jsx82(
|
|
19974
20083
|
Empty10,
|
|
19975
20084
|
{
|
|
19976
20085
|
image: Empty10.PRESENTED_IMAGE_SIMPLE,
|
|
19977
20086
|
description: "No scheduled tasks for this thread"
|
|
19978
20087
|
}
|
|
19979
|
-
) }) : /* @__PURE__ */
|
|
20088
|
+
) }) : /* @__PURE__ */ jsx82("div", { children: tasks.map(renderTask) })
|
|
19980
20089
|
] });
|
|
19981
20090
|
};
|
|
19982
20091
|
|
|
19983
20092
|
// src/components/GenUI/elements/browser_view_card.tsx
|
|
19984
20093
|
import { Button as Button40, Flex as Flex6, Typography as Typography37 } from "antd";
|
|
19985
20094
|
import { CheckCircleOutlined as CheckCircleOutlined7, InfoCircleOutlined as InfoCircleOutlined5, LoadingOutlined as LoadingOutlined3 } from "@ant-design/icons";
|
|
19986
|
-
import { jsx as
|
|
20095
|
+
import { jsx as jsx83, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
19987
20096
|
var { Text: Text27 } = Typography37;
|
|
19988
20097
|
var BrowserViewer = ({
|
|
19989
20098
|
data,
|
|
@@ -20001,11 +20110,11 @@ var BrowserViewer = ({
|
|
|
20001
20110
|
function getStatusIcon3(status) {
|
|
20002
20111
|
switch (status) {
|
|
20003
20112
|
case "success":
|
|
20004
|
-
return /* @__PURE__ */
|
|
20113
|
+
return /* @__PURE__ */ jsx83(CheckCircleOutlined7, { style: { color: "#52c41a" } });
|
|
20005
20114
|
case "error":
|
|
20006
|
-
return /* @__PURE__ */
|
|
20115
|
+
return /* @__PURE__ */ jsx83(InfoCircleOutlined5, { style: { color: "#ff4d4f" } });
|
|
20007
20116
|
default:
|
|
20008
|
-
return /* @__PURE__ */
|
|
20117
|
+
return /* @__PURE__ */ jsx83(LoadingOutlined3, { style: { color: "#1890ff" } });
|
|
20009
20118
|
}
|
|
20010
20119
|
}
|
|
20011
20120
|
const formatToolName = (name) => {
|
|
@@ -20027,8 +20136,8 @@ var BrowserViewer = ({
|
|
|
20027
20136
|
}
|
|
20028
20137
|
};
|
|
20029
20138
|
const header = /* @__PURE__ */ jsxs55(Flex6, { align: "center", wrap: "wrap", children: [
|
|
20030
|
-
/* @__PURE__ */
|
|
20031
|
-
/* @__PURE__ */
|
|
20139
|
+
/* @__PURE__ */ jsx83(Typography37.Text, { strong: true, children: formatToolName(toolCallData.name) }),
|
|
20140
|
+
/* @__PURE__ */ jsx83(
|
|
20032
20141
|
Typography37.Text,
|
|
20033
20142
|
{
|
|
20034
20143
|
type: "secondary",
|
|
@@ -20050,13 +20159,13 @@ var BrowserViewer = ({
|
|
|
20050
20159
|
}
|
|
20051
20160
|
});
|
|
20052
20161
|
};
|
|
20053
|
-
return /* @__PURE__ */
|
|
20162
|
+
return /* @__PURE__ */ jsx83(
|
|
20054
20163
|
ContentPreviewCollapse,
|
|
20055
20164
|
{
|
|
20056
20165
|
panelKey: toolCallData.id,
|
|
20057
20166
|
header,
|
|
20058
20167
|
expandIcon: () => getStatusIcon3(toolCallData.status),
|
|
20059
|
-
extra: /* @__PURE__ */
|
|
20168
|
+
extra: /* @__PURE__ */ jsx83(
|
|
20060
20169
|
Button40,
|
|
20061
20170
|
{
|
|
20062
20171
|
type: "link",
|
|
@@ -20068,14 +20177,14 @@ var BrowserViewer = ({
|
|
|
20068
20177
|
children: "View Browser"
|
|
20069
20178
|
}
|
|
20070
20179
|
),
|
|
20071
|
-
children: /* @__PURE__ */
|
|
20180
|
+
children: /* @__PURE__ */ jsx83(MDResponse, { content: toolCallData.response || "" })
|
|
20072
20181
|
}
|
|
20073
20182
|
);
|
|
20074
20183
|
};
|
|
20075
20184
|
|
|
20076
20185
|
// src/components/GenUI/elements/execute_code.tsx
|
|
20077
20186
|
import { Button as Button41, Space as Space32, Typography as Typography38 } from "antd";
|
|
20078
|
-
import { jsx as
|
|
20187
|
+
import { jsx as jsx84, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
20079
20188
|
var { Text: Text28 } = Typography38;
|
|
20080
20189
|
var ExecuteCode = ({
|
|
20081
20190
|
data,
|
|
@@ -20088,7 +20197,7 @@ var ExecuteCode = ({
|
|
|
20088
20197
|
if (!toolCallData) {
|
|
20089
20198
|
return null;
|
|
20090
20199
|
}
|
|
20091
|
-
const header = /* @__PURE__ */
|
|
20200
|
+
const header = /* @__PURE__ */ jsx84(Space32, { children: /* @__PURE__ */ jsx84(Text28, { strong: true, children: "Execute Code" }) });
|
|
20092
20201
|
const handleItemClick = (toolCallData2) => {
|
|
20093
20202
|
openSideApp({
|
|
20094
20203
|
component_key: "file_content_diff_view",
|
|
@@ -20108,7 +20217,7 @@ ${code}
|
|
|
20108
20217
|
panelKey: toolCallData.id,
|
|
20109
20218
|
header,
|
|
20110
20219
|
expandIcon: () => getStatusIcon(toolCallData.status),
|
|
20111
|
-
extra: /* @__PURE__ */
|
|
20220
|
+
extra: /* @__PURE__ */ jsx84(
|
|
20112
20221
|
Button41,
|
|
20113
20222
|
{
|
|
20114
20223
|
type: "link",
|
|
@@ -20121,8 +20230,8 @@ ${code}
|
|
|
20121
20230
|
}
|
|
20122
20231
|
),
|
|
20123
20232
|
children: [
|
|
20124
|
-
/* @__PURE__ */
|
|
20125
|
-
toolCallData.response && /* @__PURE__ */
|
|
20233
|
+
/* @__PURE__ */ jsx84(MDResponse, { content }),
|
|
20234
|
+
toolCallData.response && /* @__PURE__ */ jsx84(MDResponse, { content: toolCallData.response || "" })
|
|
20126
20235
|
]
|
|
20127
20236
|
}
|
|
20128
20237
|
);
|
|
@@ -20132,7 +20241,7 @@ ${code}
|
|
|
20132
20241
|
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";
|
|
20133
20242
|
import { UserOutlined as UserOutlined5, TeamOutlined as TeamOutlined2 } from "@ant-design/icons";
|
|
20134
20243
|
import { Monitor } from "lucide-react";
|
|
20135
|
-
import { jsx as
|
|
20244
|
+
import { jsx as jsx85, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
20136
20245
|
var { Text: Text29 } = Typography39;
|
|
20137
20246
|
var extractTeamInfo = (response) => {
|
|
20138
20247
|
if (!response) return null;
|
|
@@ -20226,7 +20335,7 @@ var TeamGraph = ({ data }) => {
|
|
|
20226
20335
|
};
|
|
20227
20336
|
const showWorkbench = !!teamId && teammates.length > 0;
|
|
20228
20337
|
if (teammates.length === 0) {
|
|
20229
|
-
return /* @__PURE__ */
|
|
20338
|
+
return /* @__PURE__ */ jsx85(Card17, { style: { width: "100%" }, bodyStyle: { padding: 12 }, children: /* @__PURE__ */ jsx85(Skeleton2, { active: true }) });
|
|
20230
20339
|
}
|
|
20231
20340
|
return /* @__PURE__ */ jsxs57(
|
|
20232
20341
|
Card17,
|
|
@@ -20234,30 +20343,30 @@ var TeamGraph = ({ data }) => {
|
|
|
20234
20343
|
style: { width: "100%" },
|
|
20235
20344
|
bodyStyle: { padding: 12 },
|
|
20236
20345
|
title: /* @__PURE__ */ jsxs57(Space33, { children: [
|
|
20237
|
-
/* @__PURE__ */
|
|
20238
|
-
/* @__PURE__ */
|
|
20346
|
+
/* @__PURE__ */ jsx85(TeamOutlined2, {}),
|
|
20347
|
+
/* @__PURE__ */ jsx85("span", { children: "Team Members" })
|
|
20239
20348
|
] }),
|
|
20240
|
-
extra: showWorkbench ? /* @__PURE__ */
|
|
20349
|
+
extra: showWorkbench ? /* @__PURE__ */ jsx85(
|
|
20241
20350
|
Button42,
|
|
20242
20351
|
{
|
|
20243
20352
|
type: "text",
|
|
20244
|
-
icon: /* @__PURE__ */
|
|
20353
|
+
icon: /* @__PURE__ */ jsx85(Monitor, { size: 16 }),
|
|
20245
20354
|
onClick: handleOpenWorkspace,
|
|
20246
20355
|
children: "Workbench"
|
|
20247
20356
|
}
|
|
20248
20357
|
) : null,
|
|
20249
20358
|
children: [
|
|
20250
|
-
/* @__PURE__ */
|
|
20359
|
+
/* @__PURE__ */ jsx85(
|
|
20251
20360
|
List13,
|
|
20252
20361
|
{
|
|
20253
20362
|
dataSource: teammates,
|
|
20254
20363
|
renderItem: (teammate) => /* @__PURE__ */ jsxs57(List13.Item, { style: { display: "block" }, children: [
|
|
20255
20364
|
/* @__PURE__ */ jsxs57(Space33, { align: "center", size: 12, children: [
|
|
20256
|
-
/* @__PURE__ */
|
|
20365
|
+
/* @__PURE__ */ jsx85(
|
|
20257
20366
|
Avatar8,
|
|
20258
20367
|
{
|
|
20259
20368
|
size: 40,
|
|
20260
|
-
icon: /* @__PURE__ */
|
|
20369
|
+
icon: /* @__PURE__ */ jsx85(UserOutlined5, {}),
|
|
20261
20370
|
src: teammate?.avatar,
|
|
20262
20371
|
style: {
|
|
20263
20372
|
backgroundColor: getBadgeColor3(teammate?.name || ""),
|
|
@@ -20269,8 +20378,8 @@ var TeamGraph = ({ data }) => {
|
|
|
20269
20378
|
}
|
|
20270
20379
|
),
|
|
20271
20380
|
/* @__PURE__ */ jsxs57("div", { style: { flex: 1 }, children: [
|
|
20272
|
-
/* @__PURE__ */
|
|
20273
|
-
/* @__PURE__ */
|
|
20381
|
+
/* @__PURE__ */ jsx85(Text29, { strong: true, style: { display: "block" }, children: teammate?.name || "Unnamed" }),
|
|
20382
|
+
/* @__PURE__ */ jsx85(
|
|
20274
20383
|
Tag16,
|
|
20275
20384
|
{
|
|
20276
20385
|
color: "blue",
|
|
@@ -20280,7 +20389,7 @@ var TeamGraph = ({ data }) => {
|
|
|
20280
20389
|
)
|
|
20281
20390
|
] })
|
|
20282
20391
|
] }),
|
|
20283
|
-
teammate?.description && /* @__PURE__ */
|
|
20392
|
+
teammate?.description && /* @__PURE__ */ jsx85(Text29, { type: "secondary", style: { display: "block", marginTop: 8, fontSize: 12, marginLeft: 52 }, children: teammate.description })
|
|
20284
20393
|
] })
|
|
20285
20394
|
}
|
|
20286
20395
|
),
|
|
@@ -20290,15 +20399,15 @@ var TeamGraph = ({ data }) => {
|
|
|
20290
20399
|
tasks.filter((t) => t.status === "pending").length,
|
|
20291
20400
|
")"
|
|
20292
20401
|
] }),
|
|
20293
|
-
/* @__PURE__ */
|
|
20402
|
+
/* @__PURE__ */ jsx85(
|
|
20294
20403
|
List13,
|
|
20295
20404
|
{
|
|
20296
20405
|
size: "small",
|
|
20297
20406
|
dataSource: tasks.filter((t) => t.status === "pending"),
|
|
20298
|
-
renderItem: (task) => /* @__PURE__ */
|
|
20299
|
-
/* @__PURE__ */
|
|
20300
|
-
/* @__PURE__ */
|
|
20301
|
-
task.description && /* @__PURE__ */
|
|
20407
|
+
renderItem: (task) => /* @__PURE__ */ jsx85(List13.Item, { style: { padding: "8px 0" }, children: /* @__PURE__ */ jsxs57("div", { children: [
|
|
20408
|
+
/* @__PURE__ */ jsx85(Text29, { style: { fontSize: 12, color: "#7A7A7A" }, children: task.id }),
|
|
20409
|
+
/* @__PURE__ */ jsx85(Text29, { strong: true, style: { display: "block", fontSize: 13 }, children: task.title }),
|
|
20410
|
+
task.description && /* @__PURE__ */ jsx85(Text29, { type: "secondary", style: { fontSize: 11 }, children: task.description.length > 100 ? task.description.slice(0, 100) + "..." : task.description })
|
|
20302
20411
|
] }) })
|
|
20303
20412
|
}
|
|
20304
20413
|
)
|
|
@@ -20310,13 +20419,13 @@ var TeamGraph = ({ data }) => {
|
|
|
20310
20419
|
var TeamGraph_default = TeamGraph;
|
|
20311
20420
|
|
|
20312
20421
|
// src/components/GenUI/elements/TeamWorkspace/index.tsx
|
|
20313
|
-
import { useState as
|
|
20422
|
+
import { useState as useState59, useMemo as useMemo23 } from "react";
|
|
20314
20423
|
import { Layout, Spin as Spin14, Button as Button43 } from "antd";
|
|
20315
20424
|
import { RefreshCw } from "lucide-react";
|
|
20316
20425
|
import { createStyles as createStyles28 } from "antd-style";
|
|
20317
20426
|
|
|
20318
20427
|
// src/components/GenUI/elements/TeamWorkspace/TeamWorkspaceMenu.tsx
|
|
20319
|
-
import
|
|
20428
|
+
import React43, { useState as useState55 } from "react";
|
|
20320
20429
|
import {
|
|
20321
20430
|
LayoutDashboard,
|
|
20322
20431
|
Inbox,
|
|
@@ -20328,7 +20437,7 @@ import {
|
|
|
20328
20437
|
} from "lucide-react";
|
|
20329
20438
|
import { Tooltip as Tooltip18, Badge as Badge6 } from "antd";
|
|
20330
20439
|
import { createStyles as createStyles20 } from "antd-style";
|
|
20331
|
-
import { Fragment as Fragment19, jsx as
|
|
20440
|
+
import { Fragment as Fragment19, jsx as jsx86, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
20332
20441
|
var useStyles8 = createStyles20(({ token, css }) => ({
|
|
20333
20442
|
container: css`
|
|
20334
20443
|
display: flex;
|
|
@@ -20471,16 +20580,16 @@ var getMenuIcon = (item) => {
|
|
|
20471
20580
|
if (item.icon) return item.icon;
|
|
20472
20581
|
switch (item.type) {
|
|
20473
20582
|
case "dashboard":
|
|
20474
|
-
return /* @__PURE__ */
|
|
20583
|
+
return /* @__PURE__ */ jsx86(LayoutDashboard, { size: 20 });
|
|
20475
20584
|
case "inbox":
|
|
20476
|
-
return /* @__PURE__ */
|
|
20585
|
+
return /* @__PURE__ */ jsx86(Inbox, { size: 20 });
|
|
20477
20586
|
case "issues":
|
|
20478
|
-
return /* @__PURE__ */
|
|
20587
|
+
return /* @__PURE__ */ jsx86(ClipboardList, { size: 20 });
|
|
20479
20588
|
case "org":
|
|
20480
|
-
return /* @__PURE__ */
|
|
20589
|
+
return /* @__PURE__ */ jsx86(Network, { size: 20 });
|
|
20481
20590
|
case "teammate":
|
|
20482
20591
|
if (item.data) {
|
|
20483
|
-
return /* @__PURE__ */
|
|
20592
|
+
return /* @__PURE__ */ jsx86(
|
|
20484
20593
|
"div",
|
|
20485
20594
|
{
|
|
20486
20595
|
style: {
|
|
@@ -20499,9 +20608,9 @@ var getMenuIcon = (item) => {
|
|
|
20499
20608
|
}
|
|
20500
20609
|
);
|
|
20501
20610
|
}
|
|
20502
|
-
return /* @__PURE__ */
|
|
20611
|
+
return /* @__PURE__ */ jsx86(User2, { size: 20 });
|
|
20503
20612
|
default:
|
|
20504
|
-
return /* @__PURE__ */
|
|
20613
|
+
return /* @__PURE__ */ jsx86(User2, { size: 20 });
|
|
20505
20614
|
}
|
|
20506
20615
|
};
|
|
20507
20616
|
var TeamWorkspaceMenu = ({
|
|
@@ -20510,7 +20619,7 @@ var TeamWorkspaceMenu = ({
|
|
|
20510
20619
|
onItemClick
|
|
20511
20620
|
}) => {
|
|
20512
20621
|
const { styles } = useStyles8();
|
|
20513
|
-
const [isExpanded, setIsExpanded] =
|
|
20622
|
+
const [isExpanded, setIsExpanded] = useState55(false);
|
|
20514
20623
|
const mainItems = items.filter((item) => !item.group);
|
|
20515
20624
|
const teammateItems = items.filter((item) => item.group === "Teammates");
|
|
20516
20625
|
const teamItems = items.filter((item) => item.group === "Team");
|
|
@@ -20521,9 +20630,9 @@ var TeamWorkspaceMenu = ({
|
|
|
20521
20630
|
className: `${styles.menuItem} ${!isExpanded ? styles.menuItemCollapsed : ""} ${activeItem === item.id ? "active" : ""}`,
|
|
20522
20631
|
onClick: () => onItemClick(item),
|
|
20523
20632
|
children: [
|
|
20524
|
-
/* @__PURE__ */
|
|
20525
|
-
isExpanded && /* @__PURE__ */
|
|
20526
|
-
item.badge && /* @__PURE__ */
|
|
20633
|
+
/* @__PURE__ */ jsx86("span", { className: styles.menuIcon, children: getMenuIcon(item) }),
|
|
20634
|
+
isExpanded && /* @__PURE__ */ jsx86("span", { className: styles.menuLabel, children: item.name }),
|
|
20635
|
+
item.badge && /* @__PURE__ */ jsx86(
|
|
20527
20636
|
Badge6,
|
|
20528
20637
|
{
|
|
20529
20638
|
count: item.badge,
|
|
@@ -20536,16 +20645,16 @@ var TeamWorkspaceMenu = ({
|
|
|
20536
20645
|
}
|
|
20537
20646
|
);
|
|
20538
20647
|
if (showTooltip && !isExpanded) {
|
|
20539
|
-
return /* @__PURE__ */
|
|
20648
|
+
return /* @__PURE__ */ jsx86(Tooltip18, { title: item.name, placement: "right", children: content }, item.id);
|
|
20540
20649
|
}
|
|
20541
|
-
return /* @__PURE__ */
|
|
20650
|
+
return /* @__PURE__ */ jsx86(React43.Fragment, { children: content }, item.id);
|
|
20542
20651
|
};
|
|
20543
20652
|
const renderGroup = (groupItems, groupLabel, showDivider) => {
|
|
20544
20653
|
if (groupItems.length === 0) return null;
|
|
20545
20654
|
return /* @__PURE__ */ jsxs58(Fragment19, { children: [
|
|
20546
|
-
showDivider && /* @__PURE__ */
|
|
20655
|
+
showDivider && /* @__PURE__ */ jsx86("div", { className: styles.groupDivider }),
|
|
20547
20656
|
/* @__PURE__ */ jsxs58("div", { className: styles.menuGroup, children: [
|
|
20548
|
-
isExpanded && groupLabel && /* @__PURE__ */
|
|
20657
|
+
isExpanded && groupLabel && /* @__PURE__ */ jsx86("div", { className: styles.groupLabel, children: groupLabel }),
|
|
20549
20658
|
groupItems.map((item) => renderMenuItem(item, true))
|
|
20550
20659
|
] })
|
|
20551
20660
|
] });
|
|
@@ -20555,13 +20664,13 @@ var TeamWorkspaceMenu = ({
|
|
|
20555
20664
|
{
|
|
20556
20665
|
className: `${styles.container} ${isExpanded ? styles.containerExpanded : styles.containerCollapsed}`,
|
|
20557
20666
|
children: [
|
|
20558
|
-
/* @__PURE__ */
|
|
20667
|
+
/* @__PURE__ */ jsx86(
|
|
20559
20668
|
"button",
|
|
20560
20669
|
{
|
|
20561
20670
|
className: styles.toggleButton,
|
|
20562
20671
|
onClick: () => setIsExpanded(!isExpanded),
|
|
20563
20672
|
title: isExpanded ? "Collapse" : "Expand",
|
|
20564
|
-
children: isExpanded ? /* @__PURE__ */
|
|
20673
|
+
children: isExpanded ? /* @__PURE__ */ jsx86(ChevronLeft4, { size: 16 }) : /* @__PURE__ */ jsx86(ChevronRight4, { size: 16 })
|
|
20565
20674
|
}
|
|
20566
20675
|
),
|
|
20567
20676
|
/* @__PURE__ */ jsxs58("div", { className: styles.menuContent, children: [
|
|
@@ -20637,7 +20746,7 @@ function useTeamWorkspaceData(threadId, assistantId) {
|
|
|
20637
20746
|
}
|
|
20638
20747
|
|
|
20639
20748
|
// src/components/GenUI/elements/TeamWorkspace/TeamDashboard.tsx
|
|
20640
|
-
import { jsx as
|
|
20749
|
+
import { jsx as jsx87, jsxs as jsxs59 } from "react/jsx-runtime";
|
|
20641
20750
|
var { Title: Title6, Text: Text30 } = Typography40;
|
|
20642
20751
|
var useStyles9 = createStyles21(({ token, css }) => ({
|
|
20643
20752
|
container: css`
|
|
@@ -20839,15 +20948,15 @@ var StatusIcon = ({
|
|
|
20839
20948
|
}) => {
|
|
20840
20949
|
switch (status) {
|
|
20841
20950
|
case "completed" /* COMPLETED */:
|
|
20842
|
-
return /* @__PURE__ */
|
|
20951
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#22c55e" }, children: /* @__PURE__ */ jsx87(CheckCircle2, { size: 16 }) });
|
|
20843
20952
|
case "in_progress" /* IN_PROGRESS */:
|
|
20844
20953
|
case "claimed" /* CLAIMED */:
|
|
20845
|
-
return /* @__PURE__ */
|
|
20954
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#f59e0b" }, children: /* @__PURE__ */ jsx87(Loader24, { size: 16, className: "animate-spin" }) });
|
|
20846
20955
|
case "failed" /* FAILED */:
|
|
20847
|
-
return /* @__PURE__ */
|
|
20956
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#ef4444" }, children: /* @__PURE__ */ jsx87(AlertCircle, { size: 16 }) });
|
|
20848
20957
|
case "pending" /* PENDING */:
|
|
20849
20958
|
default:
|
|
20850
|
-
return /* @__PURE__ */
|
|
20959
|
+
return /* @__PURE__ */ jsx87("div", { className, style: { color: "#6b7280" }, children: /* @__PURE__ */ jsx87(Clock, { size: 16 }) });
|
|
20851
20960
|
}
|
|
20852
20961
|
};
|
|
20853
20962
|
var ActivityItem = ({ activity, styles }) => {
|
|
@@ -20858,7 +20967,7 @@ var ActivityItem = ({ activity, styles }) => {
|
|
|
20858
20967
|
const maxLength = 60;
|
|
20859
20968
|
const displayContent = content.length > maxLength ? content.slice(0, maxLength) + "..." : content;
|
|
20860
20969
|
return /* @__PURE__ */ jsxs59("span", { className: styles.activityText, children: [
|
|
20861
|
-
/* @__PURE__ */
|
|
20970
|
+
/* @__PURE__ */ jsx87("span", { className: styles.activityHighlight, children: activity.from }),
|
|
20862
20971
|
" ",
|
|
20863
20972
|
activity.type === "broadcast" && /* @__PURE__ */ jsxs59("span", { style: { color: "#1890ff", fontWeight: 500 }, children: [
|
|
20864
20973
|
"[broadcast] ",
|
|
@@ -20867,8 +20976,8 @@ var ActivityItem = ({ activity, styles }) => {
|
|
|
20867
20976
|
displayContent
|
|
20868
20977
|
] });
|
|
20869
20978
|
};
|
|
20870
|
-
return /* @__PURE__ */
|
|
20871
|
-
/* @__PURE__ */
|
|
20979
|
+
return /* @__PURE__ */ jsx87("div", { className: styles.listItem, children: /* @__PURE__ */ jsxs59("div", { className: styles.activityItem, children: [
|
|
20980
|
+
/* @__PURE__ */ jsx87(
|
|
20872
20981
|
"div",
|
|
20873
20982
|
{
|
|
20874
20983
|
className: styles.activityAvatar,
|
|
@@ -20876,19 +20985,19 @@ var ActivityItem = ({ activity, styles }) => {
|
|
|
20876
20985
|
children: initials
|
|
20877
20986
|
}
|
|
20878
20987
|
),
|
|
20879
|
-
/* @__PURE__ */
|
|
20880
|
-
/* @__PURE__ */
|
|
20988
|
+
/* @__PURE__ */ jsx87("div", { className: styles.activityContent, children: renderActivityText() }),
|
|
20989
|
+
/* @__PURE__ */ jsx87("span", { className: styles.activityTime, children: formatTime2(activity.timestamp) })
|
|
20881
20990
|
] }) });
|
|
20882
20991
|
};
|
|
20883
20992
|
var TaskItem = ({
|
|
20884
20993
|
task,
|
|
20885
20994
|
styles
|
|
20886
20995
|
}) => {
|
|
20887
|
-
return /* @__PURE__ */
|
|
20888
|
-
/* @__PURE__ */
|
|
20996
|
+
return /* @__PURE__ */ jsx87(Tooltip19, { title: task.title, placement: "topLeft", children: /* @__PURE__ */ jsx87("div", { className: styles.listItem, children: /* @__PURE__ */ jsxs59("div", { className: styles.taskItem, children: [
|
|
20997
|
+
/* @__PURE__ */ jsx87(StatusIcon, { status: task.status, className: styles.taskStatusIcon }),
|
|
20889
20998
|
/* @__PURE__ */ jsxs59("div", { className: styles.taskContent, children: [
|
|
20890
|
-
/* @__PURE__ */
|
|
20891
|
-
task.assignee && /* @__PURE__ */
|
|
20999
|
+
/* @__PURE__ */ jsx87("span", { className: styles.taskTitle, children: task.title }),
|
|
21000
|
+
task.assignee && /* @__PURE__ */ jsx87(Tooltip19, { title: task.assignee, children: /* @__PURE__ */ jsx87(
|
|
20892
21001
|
"div",
|
|
20893
21002
|
{
|
|
20894
21003
|
className: styles.taskAssignee,
|
|
@@ -20897,7 +21006,7 @@ var TaskItem = ({
|
|
|
20897
21006
|
}
|
|
20898
21007
|
) })
|
|
20899
21008
|
] }),
|
|
20900
|
-
/* @__PURE__ */
|
|
21009
|
+
/* @__PURE__ */ jsx87("span", { className: styles.taskTime, children: formatTime2(task.updatedAt) })
|
|
20901
21010
|
] }) }) });
|
|
20902
21011
|
};
|
|
20903
21012
|
var TeamDashboard = ({
|
|
@@ -20909,58 +21018,58 @@ var TeamDashboard = ({
|
|
|
20909
21018
|
const { styles } = useStyles9();
|
|
20910
21019
|
return /* @__PURE__ */ jsxs59("div", { className: styles.container, children: [
|
|
20911
21020
|
/* @__PURE__ */ jsxs59("div", { className: styles.header, children: [
|
|
20912
|
-
/* @__PURE__ */
|
|
20913
|
-
/* @__PURE__ */
|
|
21021
|
+
/* @__PURE__ */ jsx87(Title6, { level: 3, className: styles.title, children: "Team Dashboard" }),
|
|
21022
|
+
/* @__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" })
|
|
20914
21023
|
] }),
|
|
20915
21024
|
/* @__PURE__ */ jsxs59(Row2, { gutter: [16, 16], className: styles.statsRow, children: [
|
|
20916
|
-
/* @__PURE__ */
|
|
21025
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20917
21026
|
Statistic,
|
|
20918
21027
|
{
|
|
20919
21028
|
title: "Total Tasks",
|
|
20920
21029
|
value: stats.totalTasks,
|
|
20921
|
-
prefix: /* @__PURE__ */
|
|
21030
|
+
prefix: /* @__PURE__ */ jsx87(FileText, { size: 20 }),
|
|
20922
21031
|
valueStyle: { color: "#1890ff" }
|
|
20923
21032
|
}
|
|
20924
21033
|
) }) }),
|
|
20925
|
-
/* @__PURE__ */
|
|
21034
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20926
21035
|
Statistic,
|
|
20927
21036
|
{
|
|
20928
21037
|
title: "In Progress",
|
|
20929
21038
|
value: stats.inProgressTasks,
|
|
20930
|
-
prefix: /* @__PURE__ */
|
|
21039
|
+
prefix: /* @__PURE__ */ jsx87(Loader24, { size: 20, className: "animate-spin" }),
|
|
20931
21040
|
valueStyle: { color: "#faad14" }
|
|
20932
21041
|
}
|
|
20933
21042
|
) }) }),
|
|
20934
|
-
/* @__PURE__ */
|
|
21043
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20935
21044
|
Statistic,
|
|
20936
21045
|
{
|
|
20937
21046
|
title: "Completed",
|
|
20938
21047
|
value: stats.completedTasks,
|
|
20939
|
-
prefix: /* @__PURE__ */
|
|
21048
|
+
prefix: /* @__PURE__ */ jsx87(CheckCircle2, { size: 20 }),
|
|
20940
21049
|
valueStyle: { color: "#52c41a" }
|
|
20941
21050
|
}
|
|
20942
21051
|
) }) }),
|
|
20943
|
-
/* @__PURE__ */
|
|
21052
|
+
/* @__PURE__ */ jsx87(Col2, { span: 6, children: /* @__PURE__ */ jsx87(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx87(
|
|
20944
21053
|
Statistic,
|
|
20945
21054
|
{
|
|
20946
21055
|
title: "Activities",
|
|
20947
21056
|
value: stats.totalActivities,
|
|
20948
|
-
prefix: /* @__PURE__ */
|
|
21057
|
+
prefix: /* @__PURE__ */ jsx87(Mail, { size: 20 }),
|
|
20949
21058
|
valueStyle: { color: "#722ed1" }
|
|
20950
21059
|
}
|
|
20951
21060
|
) }) })
|
|
20952
21061
|
] }),
|
|
20953
21062
|
/* @__PURE__ */ jsxs59(Row2, { gutter: [16, 16], className: styles.contentRow, children: [
|
|
20954
|
-
/* @__PURE__ */
|
|
21063
|
+
/* @__PURE__ */ jsx87(Col2, { span: 12, children: /* @__PURE__ */ jsx87(
|
|
20955
21064
|
Card18,
|
|
20956
21065
|
{
|
|
20957
21066
|
title: /* @__PURE__ */ jsxs59("span", { children: [
|
|
20958
|
-
/* @__PURE__ */
|
|
21067
|
+
/* @__PURE__ */ jsx87(Mail, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
|
|
20959
21068
|
"Recent Activities"
|
|
20960
21069
|
] }),
|
|
20961
21070
|
className: styles.sectionCard,
|
|
20962
21071
|
bodyStyle: { padding: 0 },
|
|
20963
|
-
children: /* @__PURE__ */
|
|
21072
|
+
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(
|
|
20964
21073
|
ActivityItem,
|
|
20965
21074
|
{
|
|
20966
21075
|
activity,
|
|
@@ -20970,16 +21079,16 @@ var TeamDashboard = ({
|
|
|
20970
21079
|
)) })
|
|
20971
21080
|
}
|
|
20972
21081
|
) }),
|
|
20973
|
-
/* @__PURE__ */
|
|
21082
|
+
/* @__PURE__ */ jsx87(Col2, { span: 12, children: /* @__PURE__ */ jsx87(
|
|
20974
21083
|
Card18,
|
|
20975
21084
|
{
|
|
20976
21085
|
title: /* @__PURE__ */ jsxs59("span", { children: [
|
|
20977
|
-
/* @__PURE__ */
|
|
21086
|
+
/* @__PURE__ */ jsx87(Users, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
|
|
20978
21087
|
"Recent Tasks"
|
|
20979
21088
|
] }),
|
|
20980
21089
|
className: styles.sectionCard,
|
|
20981
21090
|
bodyStyle: { padding: 0 },
|
|
20982
|
-
children: /* @__PURE__ */
|
|
21091
|
+
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)) })
|
|
20983
21092
|
}
|
|
20984
21093
|
) })
|
|
20985
21094
|
] })
|
|
@@ -20987,7 +21096,7 @@ var TeamDashboard = ({
|
|
|
20987
21096
|
};
|
|
20988
21097
|
|
|
20989
21098
|
// src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
|
|
20990
|
-
import { useState as
|
|
21099
|
+
import { useState as useState57, useMemo as useMemo20 } from "react";
|
|
20991
21100
|
import { Typography as Typography42, Badge as Badge7, Empty as Empty11, Tooltip as Tooltip20 } from "antd";
|
|
20992
21101
|
import {
|
|
20993
21102
|
CheckCircle2 as CheckCircle23,
|
|
@@ -21002,7 +21111,7 @@ import {
|
|
|
21002
21111
|
import { createStyles as createStyles23 } from "antd-style";
|
|
21003
21112
|
|
|
21004
21113
|
// src/components/GenUI/elements/TeamWorkspace/TaskDetailModal.tsx
|
|
21005
|
-
import { useState as
|
|
21114
|
+
import { useState as useState56 } from "react";
|
|
21006
21115
|
import { Modal as Modal14, Typography as Typography41, Tag as Tag17, Divider as Divider7, Tabs as Tabs2, Timeline } from "antd";
|
|
21007
21116
|
import { createStyles as createStyles22 } from "antd-style";
|
|
21008
21117
|
import {
|
|
@@ -21016,7 +21125,7 @@ import {
|
|
|
21016
21125
|
Activity as Activity4,
|
|
21017
21126
|
GitCommit
|
|
21018
21127
|
} from "lucide-react";
|
|
21019
|
-
import { Fragment as Fragment20, jsx as
|
|
21128
|
+
import { Fragment as Fragment20, jsx as jsx88, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
21020
21129
|
var { Title: Title7, Text: Text31, Paragraph } = Typography41;
|
|
21021
21130
|
var useStyles10 = createStyles22(({ token, css }) => ({
|
|
21022
21131
|
modalContent: css`
|
|
@@ -21252,28 +21361,28 @@ var getStatusConfig2 = (status) => {
|
|
|
21252
21361
|
switch (status) {
|
|
21253
21362
|
case "completed" /* COMPLETED */:
|
|
21254
21363
|
return {
|
|
21255
|
-
icon: /* @__PURE__ */
|
|
21364
|
+
icon: /* @__PURE__ */ jsx88(CheckCircle22, { size: 20 }),
|
|
21256
21365
|
color: "#22c55e",
|
|
21257
21366
|
bgColor: "#f0fdf4",
|
|
21258
21367
|
text: "Completed"
|
|
21259
21368
|
};
|
|
21260
21369
|
case "in_progress" /* IN_PROGRESS */:
|
|
21261
21370
|
return {
|
|
21262
|
-
icon: /* @__PURE__ */
|
|
21371
|
+
icon: /* @__PURE__ */ jsx88(Loader25, { size: 20, className: "animate-spin" }),
|
|
21263
21372
|
color: "#f59e0b",
|
|
21264
21373
|
bgColor: "#fffbeb",
|
|
21265
21374
|
text: "In Progress"
|
|
21266
21375
|
};
|
|
21267
21376
|
case "claimed" /* CLAIMED */:
|
|
21268
21377
|
return {
|
|
21269
|
-
icon: /* @__PURE__ */
|
|
21378
|
+
icon: /* @__PURE__ */ jsx88(Loader25, { size: 20, className: "animate-spin" }),
|
|
21270
21379
|
color: "#f59e0b",
|
|
21271
21380
|
bgColor: "#fffbeb",
|
|
21272
21381
|
text: "Claimed"
|
|
21273
21382
|
};
|
|
21274
21383
|
case "failed" /* FAILED */:
|
|
21275
21384
|
return {
|
|
21276
|
-
icon: /* @__PURE__ */
|
|
21385
|
+
icon: /* @__PURE__ */ jsx88(AlertCircle2, { size: 20 }),
|
|
21277
21386
|
color: "#ef4444",
|
|
21278
21387
|
bgColor: "#fef2f2",
|
|
21279
21388
|
text: "Failed"
|
|
@@ -21281,7 +21390,7 @@ var getStatusConfig2 = (status) => {
|
|
|
21281
21390
|
case "pending" /* PENDING */:
|
|
21282
21391
|
default:
|
|
21283
21392
|
return {
|
|
21284
|
-
icon: /* @__PURE__ */
|
|
21393
|
+
icon: /* @__PURE__ */ jsx88(Clock2, { size: 20 }),
|
|
21285
21394
|
color: "#6b7280",
|
|
21286
21395
|
bgColor: "#f3f4f6",
|
|
21287
21396
|
text: "Pending"
|
|
@@ -21355,10 +21464,10 @@ var CommentsTab = ({ task, styles }) => {
|
|
|
21355
21464
|
time: task.createdAt
|
|
21356
21465
|
});
|
|
21357
21466
|
if (comments.length === 0) {
|
|
21358
|
-
return /* @__PURE__ */
|
|
21467
|
+
return /* @__PURE__ */ jsx88("div", { className: styles.emptyState, children: "No comments yet" });
|
|
21359
21468
|
}
|
|
21360
|
-
return /* @__PURE__ */
|
|
21361
|
-
/* @__PURE__ */
|
|
21469
|
+
return /* @__PURE__ */ jsx88("div", { className: styles.commentsSection, children: comments.map((comment) => /* @__PURE__ */ jsxs60("div", { className: styles.commentItem, children: [
|
|
21470
|
+
/* @__PURE__ */ jsx88(
|
|
21362
21471
|
"div",
|
|
21363
21472
|
{
|
|
21364
21473
|
className: styles.commentAvatar,
|
|
@@ -21368,22 +21477,22 @@ var CommentsTab = ({ task, styles }) => {
|
|
|
21368
21477
|
),
|
|
21369
21478
|
/* @__PURE__ */ jsxs60("div", { className: styles.commentContent, children: [
|
|
21370
21479
|
/* @__PURE__ */ jsxs60("div", { className: styles.commentHeader, children: [
|
|
21371
|
-
/* @__PURE__ */
|
|
21372
|
-
/* @__PURE__ */
|
|
21480
|
+
/* @__PURE__ */ jsx88("span", { className: styles.commentAuthor, children: comment.author }),
|
|
21481
|
+
/* @__PURE__ */ jsx88("span", { className: styles.commentTime, children: formatRelativeTime(comment.time) })
|
|
21373
21482
|
] }),
|
|
21374
21483
|
comment.type === "result" ? /* @__PURE__ */ jsxs60("div", { className: styles.resultComment, children: [
|
|
21375
21484
|
/* @__PURE__ */ jsxs60("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 8 }, children: [
|
|
21376
|
-
/* @__PURE__ */
|
|
21377
|
-
/* @__PURE__ */
|
|
21485
|
+
/* @__PURE__ */ jsx88(CheckCircle22, { size: 16, style: { color: "#22c55e" } }),
|
|
21486
|
+
/* @__PURE__ */ jsx88(Text31, { style: { color: "#22c55e", fontWeight: 600 }, children: "Result" })
|
|
21378
21487
|
] }),
|
|
21379
|
-
/* @__PURE__ */
|
|
21488
|
+
/* @__PURE__ */ jsx88(Paragraph, { style: { margin: 0 }, children: comment.content })
|
|
21380
21489
|
] }) : comment.type === "error" ? /* @__PURE__ */ jsxs60("div", { className: styles.errorComment, children: [
|
|
21381
21490
|
/* @__PURE__ */ jsxs60("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 8 }, children: [
|
|
21382
|
-
/* @__PURE__ */
|
|
21383
|
-
/* @__PURE__ */
|
|
21491
|
+
/* @__PURE__ */ jsx88(AlertCircle2, { size: 16, style: { color: "#ef4444" } }),
|
|
21492
|
+
/* @__PURE__ */ jsx88(Text31, { style: { color: "#ef4444", fontWeight: 600 }, children: "Error" })
|
|
21384
21493
|
] }),
|
|
21385
|
-
/* @__PURE__ */
|
|
21386
|
-
] }) : /* @__PURE__ */
|
|
21494
|
+
/* @__PURE__ */ jsx88(Paragraph, { style: { margin: 0 }, children: comment.content })
|
|
21495
|
+
] }) : /* @__PURE__ */ jsx88("div", { className: styles.commentText, children: comment.content })
|
|
21387
21496
|
] })
|
|
21388
21497
|
] }, comment.id)) });
|
|
21389
21498
|
};
|
|
@@ -21391,10 +21500,10 @@ var ActivityTab = ({ task, styles }) => {
|
|
|
21391
21500
|
const statusConfig = getStatusConfig2(task.status);
|
|
21392
21501
|
const timelineItems = [
|
|
21393
21502
|
{
|
|
21394
|
-
dot: /* @__PURE__ */
|
|
21503
|
+
dot: /* @__PURE__ */ jsx88("div", { className: styles.timelineDot, children: /* @__PURE__ */ jsx88(GitCommit, { size: 16 }) }),
|
|
21395
21504
|
color: statusConfig.color,
|
|
21396
21505
|
children: /* @__PURE__ */ jsxs60("div", { className: styles.timelineContent, children: [
|
|
21397
|
-
/* @__PURE__ */
|
|
21506
|
+
/* @__PURE__ */ jsx88("div", { className: styles.timelineTitle, children: "Status Updated" }),
|
|
21398
21507
|
/* @__PURE__ */ jsxs60("div", { className: styles.timelineTime, children: [
|
|
21399
21508
|
"Changed to ",
|
|
21400
21509
|
statusConfig.text,
|
|
@@ -21404,15 +21513,15 @@ var ActivityTab = ({ task, styles }) => {
|
|
|
21404
21513
|
] })
|
|
21405
21514
|
},
|
|
21406
21515
|
{
|
|
21407
|
-
dot: /* @__PURE__ */
|
|
21516
|
+
dot: /* @__PURE__ */ jsx88("div", { className: styles.timelineDot, children: /* @__PURE__ */ jsx88(Calendar, { size: 16 }) }),
|
|
21408
21517
|
color: "#6b7280",
|
|
21409
21518
|
children: /* @__PURE__ */ jsxs60("div", { className: styles.timelineContent, children: [
|
|
21410
|
-
/* @__PURE__ */
|
|
21411
|
-
/* @__PURE__ */
|
|
21519
|
+
/* @__PURE__ */ jsx88("div", { className: styles.timelineTitle, children: "Task Created" }),
|
|
21520
|
+
/* @__PURE__ */ jsx88("div", { className: styles.timelineTime, children: formatDate(task.createdAt) })
|
|
21412
21521
|
] })
|
|
21413
21522
|
}
|
|
21414
21523
|
];
|
|
21415
|
-
return /* @__PURE__ */
|
|
21524
|
+
return /* @__PURE__ */ jsx88("div", { className: styles.timelineSection, children: /* @__PURE__ */ jsx88(
|
|
21416
21525
|
Timeline,
|
|
21417
21526
|
{
|
|
21418
21527
|
mode: "left",
|
|
@@ -21427,28 +21536,28 @@ var TaskDetailModal = ({
|
|
|
21427
21536
|
onClose
|
|
21428
21537
|
}) => {
|
|
21429
21538
|
const { styles } = useStyles10();
|
|
21430
|
-
const [activeTab, setActiveTab] =
|
|
21539
|
+
const [activeTab, setActiveTab] = useState56("comments");
|
|
21431
21540
|
if (!task) return null;
|
|
21432
21541
|
const statusConfig = getStatusConfig2(task.status);
|
|
21433
21542
|
const tabItems = [
|
|
21434
21543
|
{
|
|
21435
21544
|
key: "comments",
|
|
21436
21545
|
label: /* @__PURE__ */ jsxs60("span", { children: [
|
|
21437
|
-
/* @__PURE__ */
|
|
21546
|
+
/* @__PURE__ */ jsx88(MessageSquare, { size: 14, style: { marginRight: 6 } }),
|
|
21438
21547
|
"Comments"
|
|
21439
21548
|
] }),
|
|
21440
|
-
children: /* @__PURE__ */
|
|
21549
|
+
children: /* @__PURE__ */ jsx88(CommentsTab, { task, styles })
|
|
21441
21550
|
},
|
|
21442
21551
|
{
|
|
21443
21552
|
key: "activity",
|
|
21444
21553
|
label: /* @__PURE__ */ jsxs60("span", { children: [
|
|
21445
|
-
/* @__PURE__ */
|
|
21554
|
+
/* @__PURE__ */ jsx88(Activity4, { size: 14, style: { marginRight: 6 } }),
|
|
21446
21555
|
"Activity"
|
|
21447
21556
|
] }),
|
|
21448
|
-
children: /* @__PURE__ */
|
|
21557
|
+
children: /* @__PURE__ */ jsx88(ActivityTab, { task, styles })
|
|
21449
21558
|
}
|
|
21450
21559
|
];
|
|
21451
|
-
return /* @__PURE__ */
|
|
21560
|
+
return /* @__PURE__ */ jsx88(
|
|
21452
21561
|
Modal14,
|
|
21453
21562
|
{
|
|
21454
21563
|
title: null,
|
|
@@ -21469,7 +21578,7 @@ var TaskDetailModal = ({
|
|
|
21469
21578
|
},
|
|
21470
21579
|
children: /* @__PURE__ */ jsxs60("div", { className: styles.modalContent, children: [
|
|
21471
21580
|
/* @__PURE__ */ jsxs60("div", { className: styles.header, children: [
|
|
21472
|
-
/* @__PURE__ */
|
|
21581
|
+
/* @__PURE__ */ jsx88(
|
|
21473
21582
|
"div",
|
|
21474
21583
|
{
|
|
21475
21584
|
className: styles.statusIcon,
|
|
@@ -21477,13 +21586,13 @@ var TaskDetailModal = ({
|
|
|
21477
21586
|
children: statusConfig.icon
|
|
21478
21587
|
}
|
|
21479
21588
|
),
|
|
21480
|
-
/* @__PURE__ */
|
|
21589
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.taskId, children: task.id })
|
|
21481
21590
|
] }),
|
|
21482
|
-
/* @__PURE__ */
|
|
21483
|
-
task.description && /* @__PURE__ */
|
|
21591
|
+
/* @__PURE__ */ jsx88(Title7, { level: 3, className: styles.title, children: task.title }),
|
|
21592
|
+
task.description && /* @__PURE__ */ jsx88("div", { className: styles.description, children: /* @__PURE__ */ jsx88(Paragraph, { style: { margin: 0 }, children: task.description }) }),
|
|
21484
21593
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaSection, children: [
|
|
21485
21594
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21486
|
-
/* @__PURE__ */
|
|
21595
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Status" }),
|
|
21487
21596
|
/* @__PURE__ */ jsxs60(
|
|
21488
21597
|
"div",
|
|
21489
21598
|
{
|
|
@@ -21494,15 +21603,15 @@ var TaskDetailModal = ({
|
|
|
21494
21603
|
},
|
|
21495
21604
|
children: [
|
|
21496
21605
|
statusConfig.icon,
|
|
21497
|
-
/* @__PURE__ */
|
|
21606
|
+
/* @__PURE__ */ jsx88("span", { children: statusConfig.text })
|
|
21498
21607
|
]
|
|
21499
21608
|
}
|
|
21500
21609
|
)
|
|
21501
21610
|
] }),
|
|
21502
21611
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21503
|
-
/* @__PURE__ */
|
|
21504
|
-
/* @__PURE__ */
|
|
21505
|
-
/* @__PURE__ */
|
|
21612
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Assignee" }),
|
|
21613
|
+
/* @__PURE__ */ jsx88("div", { className: styles.metaValue, children: task.assignee ? /* @__PURE__ */ jsxs60(Fragment20, { children: [
|
|
21614
|
+
/* @__PURE__ */ jsx88(
|
|
21506
21615
|
"div",
|
|
21507
21616
|
{
|
|
21508
21617
|
className: styles.assigneeAvatar,
|
|
@@ -21510,34 +21619,34 @@ var TaskDetailModal = ({
|
|
|
21510
21619
|
children: getInitials3(task.assignee)
|
|
21511
21620
|
}
|
|
21512
21621
|
),
|
|
21513
|
-
/* @__PURE__ */
|
|
21514
|
-
] }) : /* @__PURE__ */
|
|
21622
|
+
/* @__PURE__ */ jsx88("span", { children: task.assignee })
|
|
21623
|
+
] }) : /* @__PURE__ */ jsx88("span", { style: { color: "#999" }, children: "Unassigned" }) })
|
|
21515
21624
|
] }),
|
|
21516
21625
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21517
|
-
/* @__PURE__ */
|
|
21626
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Created" }),
|
|
21518
21627
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaValue, children: [
|
|
21519
|
-
/* @__PURE__ */
|
|
21520
|
-
/* @__PURE__ */
|
|
21628
|
+
/* @__PURE__ */ jsx88(Calendar, { size: 14 }),
|
|
21629
|
+
/* @__PURE__ */ jsx88("span", { children: formatDate(task.createdAt) })
|
|
21521
21630
|
] })
|
|
21522
21631
|
] }),
|
|
21523
21632
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaItem, children: [
|
|
21524
|
-
/* @__PURE__ */
|
|
21633
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Updated" }),
|
|
21525
21634
|
/* @__PURE__ */ jsxs60("div", { className: styles.metaValue, children: [
|
|
21526
|
-
/* @__PURE__ */
|
|
21527
|
-
/* @__PURE__ */
|
|
21635
|
+
/* @__PURE__ */ jsx88(Calendar, { size: 14 }),
|
|
21636
|
+
/* @__PURE__ */ jsx88("span", { children: formatDate(task.updatedAt) })
|
|
21528
21637
|
] })
|
|
21529
21638
|
] })
|
|
21530
21639
|
] }),
|
|
21531
|
-
/* @__PURE__ */
|
|
21640
|
+
/* @__PURE__ */ jsx88(Divider7, {}),
|
|
21532
21641
|
task.dependencies?.length > 0 && /* @__PURE__ */ jsxs60("div", { className: styles.dependenciesSection, children: [
|
|
21533
|
-
/* @__PURE__ */
|
|
21534
|
-
/* @__PURE__ */
|
|
21535
|
-
/* @__PURE__ */
|
|
21642
|
+
/* @__PURE__ */ jsx88(Text31, { className: styles.sectionTitle, children: "Dependencies" }),
|
|
21643
|
+
/* @__PURE__ */ jsx88("div", { className: styles.dependencyList, children: task.dependencies.map((dep) => /* @__PURE__ */ jsxs60(Tag17, { className: styles.dependencyTag, children: [
|
|
21644
|
+
/* @__PURE__ */ jsx88(Link, { size: 12 }),
|
|
21536
21645
|
" ",
|
|
21537
21646
|
dep
|
|
21538
21647
|
] }, dep)) })
|
|
21539
21648
|
] }),
|
|
21540
|
-
/* @__PURE__ */
|
|
21649
|
+
/* @__PURE__ */ jsx88("div", { className: styles.tabsContainer, children: /* @__PURE__ */ jsx88(
|
|
21541
21650
|
Tabs2,
|
|
21542
21651
|
{
|
|
21543
21652
|
activeKey: activeTab,
|
|
@@ -21551,7 +21660,7 @@ var TaskDetailModal = ({
|
|
|
21551
21660
|
};
|
|
21552
21661
|
|
|
21553
21662
|
// src/components/GenUI/elements/TeamWorkspace/IssuesView.tsx
|
|
21554
|
-
import { jsx as
|
|
21663
|
+
import { jsx as jsx89, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
21555
21664
|
var { Title: Title8, Text: Text32 } = Typography42;
|
|
21556
21665
|
var getInitials4 = (name) => {
|
|
21557
21666
|
return name.split(/[\s_-]/).map((n) => n.charAt(0)).join("").toUpperCase().slice(0, 2);
|
|
@@ -21833,15 +21942,15 @@ var StatusIcon2 = ({
|
|
|
21833
21942
|
}) => {
|
|
21834
21943
|
switch (status) {
|
|
21835
21944
|
case "completed" /* COMPLETED */:
|
|
21836
|
-
return /* @__PURE__ */
|
|
21945
|
+
return /* @__PURE__ */ jsx89(CheckCircle23, { size, style: { color: "#22c55e" } });
|
|
21837
21946
|
case "in_progress" /* IN_PROGRESS */:
|
|
21838
21947
|
case "claimed" /* CLAIMED */:
|
|
21839
|
-
return /* @__PURE__ */
|
|
21948
|
+
return /* @__PURE__ */ jsx89(Loader26, { size, style: { color: "#f59e0b" }, className: "animate-spin" });
|
|
21840
21949
|
case "failed" /* FAILED */:
|
|
21841
|
-
return /* @__PURE__ */
|
|
21950
|
+
return /* @__PURE__ */ jsx89(AlertCircle3, { size, style: { color: "#ef4444" } });
|
|
21842
21951
|
case "pending" /* PENDING */:
|
|
21843
21952
|
default:
|
|
21844
|
-
return /* @__PURE__ */
|
|
21953
|
+
return /* @__PURE__ */ jsx89(Circle, { size, style: { color: "#6b7280" } });
|
|
21845
21954
|
}
|
|
21846
21955
|
};
|
|
21847
21956
|
var formatDate2 = (timestamp) => {
|
|
@@ -21853,7 +21962,7 @@ var formatDate2 = (timestamp) => {
|
|
|
21853
21962
|
});
|
|
21854
21963
|
};
|
|
21855
21964
|
var ListGroupComponent = ({ group, styles, defaultExpanded = true, onTaskClick }) => {
|
|
21856
|
-
const [isExpanded, setIsExpanded] =
|
|
21965
|
+
const [isExpanded, setIsExpanded] = useState57(defaultExpanded);
|
|
21857
21966
|
return /* @__PURE__ */ jsxs61("div", { className: styles.listGroup, children: [
|
|
21858
21967
|
/* @__PURE__ */ jsxs61(
|
|
21859
21968
|
"div",
|
|
@@ -21861,21 +21970,21 @@ var ListGroupComponent = ({ group, styles, defaultExpanded = true, onTaskClick }
|
|
|
21861
21970
|
className: styles.listGroupHeader,
|
|
21862
21971
|
onClick: () => setIsExpanded(!isExpanded),
|
|
21863
21972
|
children: [
|
|
21864
|
-
isExpanded ? /* @__PURE__ */
|
|
21865
|
-
/* @__PURE__ */
|
|
21866
|
-
/* @__PURE__ */
|
|
21973
|
+
isExpanded ? /* @__PURE__ */ jsx89(ChevronDown2, { size: 16 }) : /* @__PURE__ */ jsx89(ChevronRight5, { size: 16 }),
|
|
21974
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listGroupTitle, style: { color: group.color }, children: group.title }),
|
|
21975
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listGroupCount, children: group.tasks.length })
|
|
21867
21976
|
]
|
|
21868
21977
|
}
|
|
21869
21978
|
),
|
|
21870
|
-
isExpanded && /* @__PURE__ */
|
|
21871
|
-
/* @__PURE__ */
|
|
21979
|
+
isExpanded && /* @__PURE__ */ jsx89("div", { className: styles.listGroupContent, children: group.tasks.map((task) => /* @__PURE__ */ jsxs61("div", { className: styles.listItem, onClick: () => onTaskClick(task), children: [
|
|
21980
|
+
/* @__PURE__ */ jsx89("div", { className: styles.listItemIcon, children: /* @__PURE__ */ jsx89(StatusIcon2, { status: task.status }) }),
|
|
21872
21981
|
/* @__PURE__ */ jsxs61("div", { className: styles.listItemContent, children: [
|
|
21873
|
-
/* @__PURE__ */
|
|
21874
|
-
/* @__PURE__ */
|
|
21982
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listItemId, children: task.id }),
|
|
21983
|
+
/* @__PURE__ */ jsx89(Tooltip20, { title: task.title, children: /* @__PURE__ */ jsx89("span", { className: styles.listItemTitle, children: task.title }) })
|
|
21875
21984
|
] }),
|
|
21876
21985
|
/* @__PURE__ */ jsxs61("div", { className: styles.listItemRight, children: [
|
|
21877
|
-
task.assignee ? /* @__PURE__ */
|
|
21878
|
-
/* @__PURE__ */
|
|
21986
|
+
task.assignee ? /* @__PURE__ */ jsx89(Tooltip20, { title: task.assignee, children: /* @__PURE__ */ jsxs61("div", { className: styles.listItemAssignee, children: [
|
|
21987
|
+
/* @__PURE__ */ jsx89(
|
|
21879
21988
|
"div",
|
|
21880
21989
|
{
|
|
21881
21990
|
className: styles.listItemAssigneeAvatar,
|
|
@@ -21883,9 +21992,9 @@ var ListGroupComponent = ({ group, styles, defaultExpanded = true, onTaskClick }
|
|
|
21883
21992
|
children: getInitials4(task.assignee)
|
|
21884
21993
|
}
|
|
21885
21994
|
),
|
|
21886
|
-
/* @__PURE__ */
|
|
21887
|
-
] }) }) : /* @__PURE__ */
|
|
21888
|
-
/* @__PURE__ */
|
|
21995
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listItemAssigneeText, children: task.assignee })
|
|
21996
|
+
] }) }) : /* @__PURE__ */ jsx89("div", { className: styles.listItemAssignee, children: /* @__PURE__ */ jsx89("span", { className: styles.listItemAssigneeText, children: "No assignee" }) }),
|
|
21997
|
+
/* @__PURE__ */ jsx89("span", { className: styles.listItemDate, children: formatDate2(task.updatedAt) })
|
|
21889
21998
|
] })
|
|
21890
21999
|
] }, task.id)) })
|
|
21891
22000
|
] });
|
|
@@ -21896,9 +22005,9 @@ var IssuesView = ({
|
|
|
21896
22005
|
teammates
|
|
21897
22006
|
}) => {
|
|
21898
22007
|
const { styles } = useStyles11();
|
|
21899
|
-
const [viewMode, setViewMode] =
|
|
21900
|
-
const [selectedTask, setSelectedTask] =
|
|
21901
|
-
const [modalVisible, setModalVisible] =
|
|
22008
|
+
const [viewMode, setViewMode] = useState57("list");
|
|
22009
|
+
const [selectedTask, setSelectedTask] = useState57(null);
|
|
22010
|
+
const [modalVisible, setModalVisible] = useState57(false);
|
|
21902
22011
|
const listGroups = useMemo20(() => {
|
|
21903
22012
|
const groups = [
|
|
21904
22013
|
{
|
|
@@ -21964,31 +22073,31 @@ var IssuesView = ({
|
|
|
21964
22073
|
{ id: "completed", title: "Completed", color: "#22C55E" },
|
|
21965
22074
|
{ id: "failed", title: "Failed", color: "#f5222d" }
|
|
21966
22075
|
];
|
|
21967
|
-
return /* @__PURE__ */
|
|
22076
|
+
return /* @__PURE__ */ jsx89("div", { className: styles.kanbanContainer, children: columns.map((column) => {
|
|
21968
22077
|
const columnTasks = tasksByStatus[column.id] || [];
|
|
21969
22078
|
return /* @__PURE__ */ jsxs61("div", { className: styles.kanbanColumn, children: [
|
|
21970
|
-
/* @__PURE__ */
|
|
22079
|
+
/* @__PURE__ */ jsx89(
|
|
21971
22080
|
"div",
|
|
21972
22081
|
{
|
|
21973
22082
|
className: styles.columnHeader,
|
|
21974
22083
|
style: { borderBottomColor: column.color },
|
|
21975
22084
|
children: /* @__PURE__ */ jsxs61("span", { className: styles.columnTitle, children: [
|
|
21976
|
-
/* @__PURE__ */
|
|
22085
|
+
/* @__PURE__ */ jsx89(
|
|
21977
22086
|
Badge7,
|
|
21978
22087
|
{
|
|
21979
22088
|
count: columnTasks.length,
|
|
21980
22089
|
style: { backgroundColor: column.color }
|
|
21981
22090
|
}
|
|
21982
22091
|
),
|
|
21983
|
-
/* @__PURE__ */
|
|
22092
|
+
/* @__PURE__ */ jsx89("span", { style: { marginLeft: 8 }, children: column.title })
|
|
21984
22093
|
] })
|
|
21985
22094
|
}
|
|
21986
22095
|
),
|
|
21987
22096
|
columnTasks.map((task) => /* @__PURE__ */ jsxs61("div", { className: styles.taskCard, children: [
|
|
21988
|
-
/* @__PURE__ */
|
|
22097
|
+
/* @__PURE__ */ jsx89("div", { className: styles.taskTitle, children: task.title }),
|
|
21989
22098
|
/* @__PURE__ */ jsxs61("div", { className: styles.taskMeta, children: [
|
|
21990
|
-
/* @__PURE__ */
|
|
21991
|
-
task.assignee && /* @__PURE__ */
|
|
22099
|
+
/* @__PURE__ */ jsx89(Text32, { type: "secondary", children: task.id }),
|
|
22100
|
+
task.assignee && /* @__PURE__ */ jsx89(Tooltip20, { title: task.assignee, children: /* @__PURE__ */ jsx89(
|
|
21992
22101
|
"div",
|
|
21993
22102
|
{
|
|
21994
22103
|
className: styles.assigneeAvatar,
|
|
@@ -21998,7 +22107,7 @@ var IssuesView = ({
|
|
|
21998
22107
|
) })
|
|
21999
22108
|
] })
|
|
22000
22109
|
] }, task.id)),
|
|
22001
|
-
columnTasks.length === 0 && /* @__PURE__ */
|
|
22110
|
+
columnTasks.length === 0 && /* @__PURE__ */ jsx89(
|
|
22002
22111
|
Empty11,
|
|
22003
22112
|
{
|
|
22004
22113
|
image: Empty11.PRESENTED_IMAGE_SIMPLE,
|
|
@@ -22017,7 +22126,7 @@ var IssuesView = ({
|
|
|
22017
22126
|
setSelectedTask(null);
|
|
22018
22127
|
};
|
|
22019
22128
|
const renderListView = () => /* @__PURE__ */ jsxs61("div", { className: styles.listContainer, children: [
|
|
22020
|
-
listGroups.map((group) => /* @__PURE__ */
|
|
22129
|
+
listGroups.map((group) => /* @__PURE__ */ jsx89(
|
|
22021
22130
|
ListGroupComponent,
|
|
22022
22131
|
{
|
|
22023
22132
|
group,
|
|
@@ -22027,12 +22136,12 @@ var IssuesView = ({
|
|
|
22027
22136
|
},
|
|
22028
22137
|
group.id
|
|
22029
22138
|
)),
|
|
22030
|
-
listGroups.length === 0 && /* @__PURE__ */
|
|
22139
|
+
listGroups.length === 0 && /* @__PURE__ */ jsx89("div", { style: { padding: 48, textAlign: "center" }, children: /* @__PURE__ */ jsx89(Empty11, { description: "No issues found" }) })
|
|
22031
22140
|
] });
|
|
22032
22141
|
return /* @__PURE__ */ jsxs61("div", { className: styles.container, children: [
|
|
22033
22142
|
/* @__PURE__ */ jsxs61("div", { className: styles.header, children: [
|
|
22034
22143
|
/* @__PURE__ */ jsxs61("div", { children: [
|
|
22035
|
-
/* @__PURE__ */
|
|
22144
|
+
/* @__PURE__ */ jsx89(Title8, { level: 3, className: styles.title, children: "Issues" }),
|
|
22036
22145
|
/* @__PURE__ */ jsxs61(Text32, { type: "secondary", children: [
|
|
22037
22146
|
tasks?.length || 0,
|
|
22038
22147
|
" tasks \u2022 Team: ",
|
|
@@ -22040,26 +22149,26 @@ var IssuesView = ({
|
|
|
22040
22149
|
] })
|
|
22041
22150
|
] }),
|
|
22042
22151
|
/* @__PURE__ */ jsxs61("div", { className: styles.viewToggle, children: [
|
|
22043
|
-
/* @__PURE__ */
|
|
22152
|
+
/* @__PURE__ */ jsx89(
|
|
22044
22153
|
"button",
|
|
22045
22154
|
{
|
|
22046
22155
|
className: `${styles.viewToggleButton} ${viewMode === "list" ? "active" : ""}`,
|
|
22047
22156
|
onClick: () => setViewMode("list"),
|
|
22048
|
-
children: /* @__PURE__ */
|
|
22157
|
+
children: /* @__PURE__ */ jsx89(List14, { size: 16 })
|
|
22049
22158
|
}
|
|
22050
22159
|
),
|
|
22051
|
-
/* @__PURE__ */
|
|
22160
|
+
/* @__PURE__ */ jsx89(
|
|
22052
22161
|
"button",
|
|
22053
22162
|
{
|
|
22054
22163
|
className: `${styles.viewToggleButton} ${viewMode === "kanban" ? "active" : ""}`,
|
|
22055
22164
|
onClick: () => setViewMode("kanban"),
|
|
22056
|
-
children: /* @__PURE__ */
|
|
22165
|
+
children: /* @__PURE__ */ jsx89(LayoutGrid2, { size: 16 })
|
|
22057
22166
|
}
|
|
22058
22167
|
)
|
|
22059
22168
|
] })
|
|
22060
22169
|
] }),
|
|
22061
|
-
/* @__PURE__ */
|
|
22062
|
-
/* @__PURE__ */
|
|
22170
|
+
/* @__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() }),
|
|
22171
|
+
/* @__PURE__ */ jsx89(
|
|
22063
22172
|
TaskDetailModal,
|
|
22064
22173
|
{
|
|
22065
22174
|
task: selectedTask,
|
|
@@ -22071,7 +22180,7 @@ var IssuesView = ({
|
|
|
22071
22180
|
};
|
|
22072
22181
|
|
|
22073
22182
|
// src/components/GenUI/elements/TeamWorkspace/TeamOrgCanvas.tsx
|
|
22074
|
-
import
|
|
22183
|
+
import React46, { useMemo as useMemo21 } from "react";
|
|
22075
22184
|
import {
|
|
22076
22185
|
ReactFlow as ReactFlow3,
|
|
22077
22186
|
Background as Background3,
|
|
@@ -22084,7 +22193,7 @@ import {
|
|
|
22084
22193
|
import "@xyflow/react/dist/style.css";
|
|
22085
22194
|
import { Typography as Typography43, Tag as Tag18, Space as Space35 } from "antd";
|
|
22086
22195
|
import { createStyles as createStyles24 } from "antd-style";
|
|
22087
|
-
import { jsx as
|
|
22196
|
+
import { jsx as jsx90, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
22088
22197
|
var { Title: Title9, Text: Text33 } = Typography43;
|
|
22089
22198
|
var useStyles12 = createStyles24(({ token, css }) => ({
|
|
22090
22199
|
container: css`
|
|
@@ -22187,7 +22296,7 @@ var TeamMemberNode = ({ data }) => {
|
|
|
22187
22296
|
const { name, role, description, isLead, taskStats } = data;
|
|
22188
22297
|
return /* @__PURE__ */ jsxs62("div", { className: styles.nodeCard, children: [
|
|
22189
22298
|
/* @__PURE__ */ jsxs62("div", { className: styles.nodeHeader, children: [
|
|
22190
|
-
/* @__PURE__ */
|
|
22299
|
+
/* @__PURE__ */ jsx90(
|
|
22191
22300
|
"div",
|
|
22192
22301
|
{
|
|
22193
22302
|
className: styles.avatar,
|
|
@@ -22201,12 +22310,12 @@ var TeamMemberNode = ({ data }) => {
|
|
|
22201
22310
|
/* @__PURE__ */ jsxs62("div", { children: [
|
|
22202
22311
|
/* @__PURE__ */ jsxs62("div", { className: styles.nodeTitle, children: [
|
|
22203
22312
|
name,
|
|
22204
|
-
isLead && /* @__PURE__ */
|
|
22313
|
+
isLead && /* @__PURE__ */ jsx90(Tag18, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
|
|
22205
22314
|
] }),
|
|
22206
|
-
/* @__PURE__ */
|
|
22315
|
+
/* @__PURE__ */ jsx90("div", { className: styles.nodeRole, children: role })
|
|
22207
22316
|
] })
|
|
22208
22317
|
] }),
|
|
22209
|
-
description && /* @__PURE__ */
|
|
22318
|
+
description && /* @__PURE__ */ jsx90(
|
|
22210
22319
|
Text33,
|
|
22211
22320
|
{
|
|
22212
22321
|
type: "secondary",
|
|
@@ -22312,7 +22421,7 @@ var TeamOrgCanvasInner = ({
|
|
|
22312
22421
|
}, [team, teammates, taskStatsByTeammate]);
|
|
22313
22422
|
const [flowNodes, setNodes, onNodesChange] = useNodesState3(nodes);
|
|
22314
22423
|
const [flowEdges, setEdges, onEdgesChange] = useEdgesState3(edges);
|
|
22315
|
-
|
|
22424
|
+
React46.useEffect(() => {
|
|
22316
22425
|
setNodes(nodes);
|
|
22317
22426
|
setEdges(edges);
|
|
22318
22427
|
setTimeout(() => fitView({ padding: 0.2 }), 100);
|
|
@@ -22322,7 +22431,7 @@ var TeamOrgCanvasInner = ({
|
|
|
22322
22431
|
};
|
|
22323
22432
|
return /* @__PURE__ */ jsxs62("div", { className: styles.container, children: [
|
|
22324
22433
|
/* @__PURE__ */ jsxs62("div", { className: styles.header, children: [
|
|
22325
|
-
/* @__PURE__ */
|
|
22434
|
+
/* @__PURE__ */ jsx90(Title9, { level: 3, className: styles.title, children: "Team Organization" }),
|
|
22326
22435
|
/* @__PURE__ */ jsxs62(Text33, { type: "secondary", children: [
|
|
22327
22436
|
teammates.length + 1,
|
|
22328
22437
|
" members \u2022 ",
|
|
@@ -22342,15 +22451,15 @@ var TeamOrgCanvasInner = ({
|
|
|
22342
22451
|
fitView: true,
|
|
22343
22452
|
attributionPosition: "bottom-right",
|
|
22344
22453
|
children: [
|
|
22345
|
-
/* @__PURE__ */
|
|
22346
|
-
/* @__PURE__ */
|
|
22454
|
+
/* @__PURE__ */ jsx90(Background3, { color: "#eee", gap: 20 }),
|
|
22455
|
+
/* @__PURE__ */ jsx90(Controls3, {})
|
|
22347
22456
|
]
|
|
22348
22457
|
}
|
|
22349
22458
|
),
|
|
22350
|
-
/* @__PURE__ */
|
|
22351
|
-
/* @__PURE__ */
|
|
22459
|
+
/* @__PURE__ */ jsx90("div", { className: styles.legend, children: /* @__PURE__ */ jsxs62(Space35, { direction: "vertical", size: "small", children: [
|
|
22460
|
+
/* @__PURE__ */ jsx90(Text33, { strong: true, style: { fontSize: 12 }, children: "Legend" }),
|
|
22352
22461
|
/* @__PURE__ */ jsxs62(Space35, { size: "small", children: [
|
|
22353
|
-
/* @__PURE__ */
|
|
22462
|
+
/* @__PURE__ */ jsx90(
|
|
22354
22463
|
"div",
|
|
22355
22464
|
{
|
|
22356
22465
|
style: {
|
|
@@ -22362,10 +22471,10 @@ var TeamOrgCanvasInner = ({
|
|
|
22362
22471
|
}
|
|
22363
22472
|
}
|
|
22364
22473
|
),
|
|
22365
|
-
/* @__PURE__ */
|
|
22474
|
+
/* @__PURE__ */ jsx90(Text33, { style: { fontSize: 11 }, children: "Team Lead" })
|
|
22366
22475
|
] }),
|
|
22367
22476
|
/* @__PURE__ */ jsxs62(Space35, { size: "small", children: [
|
|
22368
|
-
/* @__PURE__ */
|
|
22477
|
+
/* @__PURE__ */ jsx90(
|
|
22369
22478
|
"div",
|
|
22370
22479
|
{
|
|
22371
22480
|
style: {
|
|
@@ -22376,19 +22485,19 @@ var TeamOrgCanvasInner = ({
|
|
|
22376
22485
|
}
|
|
22377
22486
|
}
|
|
22378
22487
|
),
|
|
22379
|
-
/* @__PURE__ */
|
|
22488
|
+
/* @__PURE__ */ jsx90(Text33, { style: { fontSize: 11 }, children: "Teammate" })
|
|
22380
22489
|
] }),
|
|
22381
|
-
/* @__PURE__ */
|
|
22490
|
+
/* @__PURE__ */ jsx90("div", { style: { marginTop: 4, fontSize: 10, color: "#666" }, children: "\u2713 Completed \u2022 \u27F3 In Progress \u2022 \u25CB Pending" })
|
|
22382
22491
|
] }) })
|
|
22383
22492
|
] })
|
|
22384
22493
|
] });
|
|
22385
22494
|
};
|
|
22386
|
-
var TeamOrgCanvas = (props) => /* @__PURE__ */
|
|
22495
|
+
var TeamOrgCanvas = (props) => /* @__PURE__ */ jsx90(ReactFlowProvider3, { children: /* @__PURE__ */ jsx90(TeamOrgCanvasInner, { ...props }) });
|
|
22387
22496
|
|
|
22388
22497
|
// src/components/GenUI/elements/TeamWorkspace/TeamMemberChat.tsx
|
|
22389
22498
|
import { Typography as Typography44, Tag as Tag19 } from "antd";
|
|
22390
22499
|
import { createStyles as createStyles25 } from "antd-style";
|
|
22391
|
-
import { jsx as
|
|
22500
|
+
import { jsx as jsx91, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
22392
22501
|
var { Title: Title10, Text: Text34 } = Typography44;
|
|
22393
22502
|
var useStyles13 = createStyles25(({ token, css }) => ({
|
|
22394
22503
|
container: css`
|
|
@@ -22462,7 +22571,7 @@ var TeamMemberChat = ({
|
|
|
22462
22571
|
assistantId
|
|
22463
22572
|
}) => {
|
|
22464
22573
|
const { styles } = useStyles13();
|
|
22465
|
-
return /* @__PURE__ */
|
|
22574
|
+
return /* @__PURE__ */ jsx91(
|
|
22466
22575
|
AgentThreadProvider,
|
|
22467
22576
|
{
|
|
22468
22577
|
threadId,
|
|
@@ -22474,7 +22583,7 @@ var TeamMemberChat = ({
|
|
|
22474
22583
|
},
|
|
22475
22584
|
children: /* @__PURE__ */ jsxs63("div", { className: styles.container, children: [
|
|
22476
22585
|
/* @__PURE__ */ jsxs63("div", { className: styles.header, children: [
|
|
22477
|
-
/* @__PURE__ */
|
|
22586
|
+
/* @__PURE__ */ jsx91(
|
|
22478
22587
|
"div",
|
|
22479
22588
|
{
|
|
22480
22589
|
className: styles.avatar,
|
|
@@ -22483,9 +22592,9 @@ var TeamMemberChat = ({
|
|
|
22483
22592
|
}
|
|
22484
22593
|
),
|
|
22485
22594
|
/* @__PURE__ */ jsxs63("div", { className: styles.headerInfo, children: [
|
|
22486
|
-
/* @__PURE__ */
|
|
22595
|
+
/* @__PURE__ */ jsx91(Title10, { level: 4, className: styles.title, children: teammate.name }),
|
|
22487
22596
|
/* @__PURE__ */ jsxs63("div", { children: [
|
|
22488
|
-
/* @__PURE__ */
|
|
22597
|
+
/* @__PURE__ */ jsx91(Tag19, { color: "blue", children: teammate.role }),
|
|
22489
22598
|
teammate.description && /* @__PURE__ */ jsxs63(Text34, { className: styles.role, children: [
|
|
22490
22599
|
"\u2022 ",
|
|
22491
22600
|
teammate.description
|
|
@@ -22493,7 +22602,7 @@ var TeamMemberChat = ({
|
|
|
22493
22602
|
] })
|
|
22494
22603
|
] })
|
|
22495
22604
|
] }),
|
|
22496
|
-
/* @__PURE__ */
|
|
22605
|
+
/* @__PURE__ */ jsx91("div", { className: styles.chatContainer, children: /* @__PURE__ */ jsx91("div", { className: styles.chatWrapper, children: /* @__PURE__ */ jsx91(
|
|
22497
22606
|
Chating,
|
|
22498
22607
|
{
|
|
22499
22608
|
showRefreshButton: true,
|
|
@@ -22509,7 +22618,7 @@ var TeamMemberChat = ({
|
|
|
22509
22618
|
};
|
|
22510
22619
|
|
|
22511
22620
|
// src/components/GenUI/elements/MailboxPanel.tsx
|
|
22512
|
-
import { useState as
|
|
22621
|
+
import { useState as useState58, useMemo as useMemo22 } from "react";
|
|
22513
22622
|
import { Typography as Typography46, Empty as Empty12 } from "antd";
|
|
22514
22623
|
import { createStyles as createStyles27 } from "antd-style";
|
|
22515
22624
|
import {
|
|
@@ -22523,7 +22632,7 @@ import {
|
|
|
22523
22632
|
import { Modal as Modal15, Typography as Typography45, Tag as Tag20, Divider as Divider8 } from "antd";
|
|
22524
22633
|
import { createStyles as createStyles26 } from "antd-style";
|
|
22525
22634
|
import { Mail as Mail2, Calendar as Calendar2 } from "lucide-react";
|
|
22526
|
-
import { jsx as
|
|
22635
|
+
import { jsx as jsx92, jsxs as jsxs64 } from "react/jsx-runtime";
|
|
22527
22636
|
var { Title: Title11, Text: Text35, Paragraph: Paragraph2 } = Typography45;
|
|
22528
22637
|
var useStyles14 = createStyles26(({ token, css }) => ({
|
|
22529
22638
|
modalContent: css`
|
|
@@ -22660,7 +22769,7 @@ var MailboxDetailModal = ({
|
|
|
22660
22769
|
}) => {
|
|
22661
22770
|
const { styles } = useStyles14();
|
|
22662
22771
|
if (!message19) return null;
|
|
22663
|
-
return /* @__PURE__ */
|
|
22772
|
+
return /* @__PURE__ */ jsx92(
|
|
22664
22773
|
Modal15,
|
|
22665
22774
|
{
|
|
22666
22775
|
title: null,
|
|
@@ -22681,9 +22790,9 @@ var MailboxDetailModal = ({
|
|
|
22681
22790
|
},
|
|
22682
22791
|
children: /* @__PURE__ */ jsxs64("div", { className: styles.modalContent, children: [
|
|
22683
22792
|
/* @__PURE__ */ jsxs64("div", { className: styles.header, children: [
|
|
22684
|
-
/* @__PURE__ */
|
|
22685
|
-
/* @__PURE__ */
|
|
22686
|
-
!message19.read && /* @__PURE__ */
|
|
22793
|
+
/* @__PURE__ */ jsx92("div", { className: styles.messageIcon, children: /* @__PURE__ */ jsx92(Mail2, { size: 20 }) }),
|
|
22794
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.messageId, children: message19.id }),
|
|
22795
|
+
!message19.read && /* @__PURE__ */ jsx92(Tag20, { color: "red", children: "Unread" })
|
|
22687
22796
|
] }),
|
|
22688
22797
|
/* @__PURE__ */ jsxs64(Title11, { level: 4, className: styles.title, children: [
|
|
22689
22798
|
"Message from ",
|
|
@@ -22691,9 +22800,9 @@ var MailboxDetailModal = ({
|
|
|
22691
22800
|
] }),
|
|
22692
22801
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaSection, children: [
|
|
22693
22802
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22694
|
-
/* @__PURE__ */
|
|
22803
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "From" }),
|
|
22695
22804
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
|
|
22696
|
-
/* @__PURE__ */
|
|
22805
|
+
/* @__PURE__ */ jsx92(
|
|
22697
22806
|
"div",
|
|
22698
22807
|
{
|
|
22699
22808
|
className: styles.avatar,
|
|
@@ -22701,13 +22810,13 @@ var MailboxDetailModal = ({
|
|
|
22701
22810
|
children: getInitials7(message19.from)
|
|
22702
22811
|
}
|
|
22703
22812
|
),
|
|
22704
|
-
/* @__PURE__ */
|
|
22813
|
+
/* @__PURE__ */ jsx92("span", { children: message19.from })
|
|
22705
22814
|
] })
|
|
22706
22815
|
] }),
|
|
22707
22816
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22708
|
-
/* @__PURE__ */
|
|
22817
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "To" }),
|
|
22709
22818
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
|
|
22710
|
-
/* @__PURE__ */
|
|
22819
|
+
/* @__PURE__ */ jsx92(
|
|
22711
22820
|
"div",
|
|
22712
22821
|
{
|
|
22713
22822
|
className: styles.avatar,
|
|
@@ -22715,25 +22824,25 @@ var MailboxDetailModal = ({
|
|
|
22715
22824
|
children: getInitials7(message19.to)
|
|
22716
22825
|
}
|
|
22717
22826
|
),
|
|
22718
|
-
/* @__PURE__ */
|
|
22827
|
+
/* @__PURE__ */ jsx92("span", { children: message19.to })
|
|
22719
22828
|
] })
|
|
22720
22829
|
] }),
|
|
22721
22830
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22722
|
-
/* @__PURE__ */
|
|
22831
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "Time" }),
|
|
22723
22832
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
|
|
22724
|
-
/* @__PURE__ */
|
|
22725
|
-
/* @__PURE__ */
|
|
22833
|
+
/* @__PURE__ */ jsx92(Calendar2, { size: 14 }),
|
|
22834
|
+
/* @__PURE__ */ jsx92("span", { children: formatDate3(message19.timestamp) })
|
|
22726
22835
|
] })
|
|
22727
22836
|
] }),
|
|
22728
22837
|
/* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
|
|
22729
|
-
/* @__PURE__ */
|
|
22730
|
-
/* @__PURE__ */
|
|
22838
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "Type" }),
|
|
22839
|
+
/* @__PURE__ */ jsx92("div", { className: styles.metaValue, children: /* @__PURE__ */ jsx92(Tag20, { color: message19.type === "broadcast" ? "blue" : "default", children: message19.type }) })
|
|
22731
22840
|
] })
|
|
22732
22841
|
] }),
|
|
22733
|
-
/* @__PURE__ */
|
|
22842
|
+
/* @__PURE__ */ jsx92(Divider8, {}),
|
|
22734
22843
|
/* @__PURE__ */ jsxs64("div", { className: styles.contentSection, children: [
|
|
22735
|
-
/* @__PURE__ */
|
|
22736
|
-
/* @__PURE__ */
|
|
22844
|
+
/* @__PURE__ */ jsx92(Text35, { className: styles.contentLabel, children: "Message Content" }),
|
|
22845
|
+
/* @__PURE__ */ jsx92("div", { className: styles.contentBox, children: /* @__PURE__ */ jsx92(Paragraph2, { className: styles.messageContent, children: message19.content }) })
|
|
22737
22846
|
] })
|
|
22738
22847
|
] })
|
|
22739
22848
|
}
|
|
@@ -22741,7 +22850,7 @@ var MailboxDetailModal = ({
|
|
|
22741
22850
|
};
|
|
22742
22851
|
|
|
22743
22852
|
// src/components/GenUI/elements/MailboxPanel.tsx
|
|
22744
|
-
import { jsx as
|
|
22853
|
+
import { jsx as jsx93, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
22745
22854
|
var { Title: Title12, Text: Text36 } = Typography46;
|
|
22746
22855
|
var useStyles15 = createStyles27(({ token, css }) => ({
|
|
22747
22856
|
container: css`
|
|
@@ -22932,7 +23041,7 @@ var getMessagePreview = (content) => {
|
|
|
22932
23041
|
return firstLine.length > 80 ? firstLine.slice(0, 80) + "..." : firstLine;
|
|
22933
23042
|
};
|
|
22934
23043
|
var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageClick }) => {
|
|
22935
|
-
const [isExpanded, setIsExpanded] =
|
|
23044
|
+
const [isExpanded, setIsExpanded] = useState58(defaultExpanded);
|
|
22936
23045
|
return /* @__PURE__ */ jsxs65("div", { className: styles.listGroup, children: [
|
|
22937
23046
|
/* @__PURE__ */ jsxs65(
|
|
22938
23047
|
"div",
|
|
@@ -22940,8 +23049,8 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22940
23049
|
className: styles.listGroupHeader,
|
|
22941
23050
|
onClick: () => setIsExpanded(!isExpanded),
|
|
22942
23051
|
children: [
|
|
22943
|
-
isExpanded ? /* @__PURE__ */
|
|
22944
|
-
/* @__PURE__ */
|
|
23052
|
+
isExpanded ? /* @__PURE__ */ jsx93(ChevronDown3, { size: 16 }) : /* @__PURE__ */ jsx93(ChevronRight6, { size: 16 }),
|
|
23053
|
+
/* @__PURE__ */ jsx93(
|
|
22945
23054
|
"div",
|
|
22946
23055
|
{
|
|
22947
23056
|
className: styles.listGroupAvatar,
|
|
@@ -22949,7 +23058,7 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22949
23058
|
children: getInitials8(group.sender)
|
|
22950
23059
|
}
|
|
22951
23060
|
),
|
|
22952
|
-
/* @__PURE__ */
|
|
23061
|
+
/* @__PURE__ */ jsx93("span", { className: styles.listGroupTitle, children: group.sender }),
|
|
22953
23062
|
/* @__PURE__ */ jsxs65("span", { className: styles.listGroupCount, children: [
|
|
22954
23063
|
group.messages.length,
|
|
22955
23064
|
" messages",
|
|
@@ -22962,15 +23071,15 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22962
23071
|
]
|
|
22963
23072
|
}
|
|
22964
23073
|
),
|
|
22965
|
-
isExpanded && /* @__PURE__ */
|
|
23074
|
+
isExpanded && /* @__PURE__ */ jsx93("div", { className: styles.listGroupContent, children: group.messages.map((message19) => /* @__PURE__ */ jsxs65(
|
|
22966
23075
|
"div",
|
|
22967
23076
|
{
|
|
22968
23077
|
className: `${styles.listItem} ${!message19.read ? styles.listItemUnread : ""}`,
|
|
22969
23078
|
onClick: () => onMessageClick(message19),
|
|
22970
23079
|
children: [
|
|
22971
|
-
/* @__PURE__ */
|
|
23080
|
+
/* @__PURE__ */ jsx93("div", { className: styles.listItemIcon, children: !message19.read ? /* @__PURE__ */ jsx93("div", { className: styles.unreadBadge }) : /* @__PURE__ */ jsx93(Circle2, { size: 8, style: { color: "#d9d9d9" } }) }),
|
|
22972
23081
|
/* @__PURE__ */ jsxs65("div", { className: styles.listItemContent, children: [
|
|
22973
|
-
/* @__PURE__ */
|
|
23082
|
+
/* @__PURE__ */ jsx93("span", { className: styles.listItemPreview, children: getMessagePreview(message19.content) }),
|
|
22974
23083
|
/* @__PURE__ */ jsxs65("span", { className: styles.listItemMeta, children: [
|
|
22975
23084
|
"To: ",
|
|
22976
23085
|
message19.to,
|
|
@@ -22978,7 +23087,7 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22978
23087
|
message19.type
|
|
22979
23088
|
] })
|
|
22980
23089
|
] }),
|
|
22981
|
-
/* @__PURE__ */
|
|
23090
|
+
/* @__PURE__ */ jsx93("div", { className: styles.listItemRight, children: /* @__PURE__ */ jsx93("span", { className: styles.listItemDate, children: formatDate4(message19.timestamp) }) })
|
|
22982
23091
|
]
|
|
22983
23092
|
},
|
|
22984
23093
|
message19.id
|
|
@@ -22987,8 +23096,8 @@ var MessageGroupComponent = ({ group, styles, defaultExpanded = true, onMessageC
|
|
|
22987
23096
|
};
|
|
22988
23097
|
var MailboxPanel = ({ data }) => {
|
|
22989
23098
|
const { styles } = useStyles15();
|
|
22990
|
-
const [selectedMessage, setSelectedMessage] =
|
|
22991
|
-
const [modalVisible, setModalVisible] =
|
|
23099
|
+
const [selectedMessage, setSelectedMessage] = useState58(null);
|
|
23100
|
+
const [modalVisible, setModalVisible] = useState58(false);
|
|
22992
23101
|
const { teamMailbox = [] } = data || {};
|
|
22993
23102
|
const messageGroups = useMemo22(() => {
|
|
22994
23103
|
const groupsMap = /* @__PURE__ */ new Map();
|
|
@@ -23023,9 +23132,9 @@ var MailboxPanel = ({ data }) => {
|
|
|
23023
23132
|
setSelectedMessage(null);
|
|
23024
23133
|
};
|
|
23025
23134
|
return /* @__PURE__ */ jsxs65("div", { className: styles.container, children: [
|
|
23026
|
-
/* @__PURE__ */
|
|
23135
|
+
/* @__PURE__ */ jsx93("div", { className: styles.header, children: /* @__PURE__ */ jsxs65("div", { children: [
|
|
23027
23136
|
/* @__PURE__ */ jsxs65(Title12, { level: 3, className: styles.title, children: [
|
|
23028
|
-
/* @__PURE__ */
|
|
23137
|
+
/* @__PURE__ */ jsx93(Mail3, { size: 20, style: { marginRight: 8, verticalAlign: "middle" } }),
|
|
23029
23138
|
"Mailbox"
|
|
23030
23139
|
] }),
|
|
23031
23140
|
/* @__PURE__ */ jsxs65(Text36, { type: "secondary", children: [
|
|
@@ -23036,7 +23145,7 @@ var MailboxPanel = ({ data }) => {
|
|
|
23036
23145
|
totalUnread > 0 && ` \u2022 ${totalUnread} unread`
|
|
23037
23146
|
] })
|
|
23038
23147
|
] }) }),
|
|
23039
|
-
/* @__PURE__ */
|
|
23148
|
+
/* @__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(
|
|
23040
23149
|
MessageGroupComponent,
|
|
23041
23150
|
{
|
|
23042
23151
|
group,
|
|
@@ -23046,7 +23155,7 @@ var MailboxPanel = ({ data }) => {
|
|
|
23046
23155
|
},
|
|
23047
23156
|
group.sender
|
|
23048
23157
|
)) }) }),
|
|
23049
|
-
/* @__PURE__ */
|
|
23158
|
+
/* @__PURE__ */ jsx93(
|
|
23050
23159
|
MailboxDetailModal,
|
|
23051
23160
|
{
|
|
23052
23161
|
message: selectedMessage,
|
|
@@ -23058,7 +23167,7 @@ var MailboxPanel = ({ data }) => {
|
|
|
23058
23167
|
};
|
|
23059
23168
|
|
|
23060
23169
|
// src/components/GenUI/elements/TeamWorkspace/index.tsx
|
|
23061
|
-
import { jsx as
|
|
23170
|
+
import { jsx as jsx94, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
23062
23171
|
var { Content } = Layout;
|
|
23063
23172
|
var useStyles16 = createStyles28(({ token, css }) => ({
|
|
23064
23173
|
container: css`
|
|
@@ -23118,7 +23227,7 @@ var TeamWorkspace = ({
|
|
|
23118
23227
|
isLoading,
|
|
23119
23228
|
refresh
|
|
23120
23229
|
} = useTeamWorkspaceData(parent_thread_id || null, assistantId);
|
|
23121
|
-
const [activeMenuId, setActiveMenuId] =
|
|
23230
|
+
const [activeMenuId, setActiveMenuId] = useState59("dashboard");
|
|
23122
23231
|
const menuItems = useMemo23(() => {
|
|
23123
23232
|
const items = [
|
|
23124
23233
|
{
|
|
@@ -23161,12 +23270,12 @@ var TeamWorkspace = ({
|
|
|
23161
23270
|
};
|
|
23162
23271
|
const renderContent = () => {
|
|
23163
23272
|
if (isLoading) {
|
|
23164
|
-
return /* @__PURE__ */
|
|
23273
|
+
return /* @__PURE__ */ jsx94("div", { className: styles.loadingContainer, children: /* @__PURE__ */ jsx94(Spin14, { size: "large" }) });
|
|
23165
23274
|
}
|
|
23166
23275
|
const activeItem = menuItems.find((item) => item.id === activeMenuId);
|
|
23167
23276
|
switch (activeItem?.type) {
|
|
23168
23277
|
case "dashboard":
|
|
23169
|
-
return /* @__PURE__ */
|
|
23278
|
+
return /* @__PURE__ */ jsx94(
|
|
23170
23279
|
TeamDashboard,
|
|
23171
23280
|
{
|
|
23172
23281
|
stats,
|
|
@@ -23176,7 +23285,7 @@ var TeamWorkspace = ({
|
|
|
23176
23285
|
}
|
|
23177
23286
|
);
|
|
23178
23287
|
case "inbox":
|
|
23179
|
-
return /* @__PURE__ */
|
|
23288
|
+
return /* @__PURE__ */ jsx94(
|
|
23180
23289
|
MailboxPanel,
|
|
23181
23290
|
{
|
|
23182
23291
|
data: {
|
|
@@ -23190,7 +23299,7 @@ var TeamWorkspace = ({
|
|
|
23190
23299
|
}
|
|
23191
23300
|
);
|
|
23192
23301
|
case "issues":
|
|
23193
|
-
return /* @__PURE__ */
|
|
23302
|
+
return /* @__PURE__ */ jsx94(
|
|
23194
23303
|
IssuesView,
|
|
23195
23304
|
{
|
|
23196
23305
|
tasks,
|
|
@@ -23206,7 +23315,7 @@ var TeamWorkspace = ({
|
|
|
23206
23315
|
activeItem.data.name
|
|
23207
23316
|
);
|
|
23208
23317
|
const assistantId2 = getTeammateAssistantId(teamId, activeItem.data.name);
|
|
23209
|
-
return /* @__PURE__ */
|
|
23318
|
+
return /* @__PURE__ */ jsx94(
|
|
23210
23319
|
TeamMemberChat,
|
|
23211
23320
|
{
|
|
23212
23321
|
teammate: activeItem.data,
|
|
@@ -23217,7 +23326,7 @@ var TeamWorkspace = ({
|
|
|
23217
23326
|
}
|
|
23218
23327
|
return null;
|
|
23219
23328
|
case "org":
|
|
23220
|
-
return /* @__PURE__ */
|
|
23329
|
+
return /* @__PURE__ */ jsx94(
|
|
23221
23330
|
TeamOrgCanvas,
|
|
23222
23331
|
{
|
|
23223
23332
|
team,
|
|
@@ -23230,7 +23339,7 @@ var TeamWorkspace = ({
|
|
|
23230
23339
|
}
|
|
23231
23340
|
};
|
|
23232
23341
|
return /* @__PURE__ */ jsxs66("div", { className: styles.container, children: [
|
|
23233
|
-
/* @__PURE__ */
|
|
23342
|
+
/* @__PURE__ */ jsx94(
|
|
23234
23343
|
TeamWorkspaceMenu,
|
|
23235
23344
|
{
|
|
23236
23345
|
items: menuItems,
|
|
@@ -23239,18 +23348,18 @@ var TeamWorkspace = ({
|
|
|
23239
23348
|
}
|
|
23240
23349
|
),
|
|
23241
23350
|
/* @__PURE__ */ jsxs66(Content, { className: styles.content, children: [
|
|
23242
|
-
/* @__PURE__ */
|
|
23351
|
+
/* @__PURE__ */ jsx94(
|
|
23243
23352
|
Button43,
|
|
23244
23353
|
{
|
|
23245
23354
|
className: styles.refreshButton,
|
|
23246
|
-
icon: /* @__PURE__ */
|
|
23355
|
+
icon: /* @__PURE__ */ jsx94(RefreshCw, { size: 16 }),
|
|
23247
23356
|
onClick: refresh,
|
|
23248
23357
|
loading: isLoading,
|
|
23249
23358
|
type: "text",
|
|
23250
23359
|
children: "Refresh"
|
|
23251
23360
|
}
|
|
23252
23361
|
),
|
|
23253
|
-
/* @__PURE__ */
|
|
23362
|
+
/* @__PURE__ */ jsx94("div", { className: styles.contentInner, children: renderContent() })
|
|
23254
23363
|
] })
|
|
23255
23364
|
] });
|
|
23256
23365
|
};
|
|
@@ -23259,7 +23368,7 @@ var TeamWorkspace = ({
|
|
|
23259
23368
|
import { useMemo as useMemo24 } from "react";
|
|
23260
23369
|
|
|
23261
23370
|
// src/components/GenUI/elements/TaskBoardCard.tsx
|
|
23262
|
-
import { jsx as
|
|
23371
|
+
import { jsx as jsx95, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
23263
23372
|
var useStyle10 = (status, isCompleted) => {
|
|
23264
23373
|
return {
|
|
23265
23374
|
card: {
|
|
@@ -23357,8 +23466,8 @@ var useStyle10 = (status, isCompleted) => {
|
|
|
23357
23466
|
}
|
|
23358
23467
|
};
|
|
23359
23468
|
};
|
|
23360
|
-
var CheckIcon = () => /* @__PURE__ */
|
|
23361
|
-
var CircleIcon = () => /* @__PURE__ */
|
|
23469
|
+
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" }) });
|
|
23470
|
+
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" }) });
|
|
23362
23471
|
var TaskBoardCard = ({
|
|
23363
23472
|
task,
|
|
23364
23473
|
allTaskIds,
|
|
@@ -23368,7 +23477,7 @@ var TaskBoardCard = ({
|
|
|
23368
23477
|
const styles = useStyle10(task.status, isCompleted);
|
|
23369
23478
|
const renderDependencyBadges = () => {
|
|
23370
23479
|
if (!task.dependencies || task.dependencies.length === 0) {
|
|
23371
|
-
return /* @__PURE__ */
|
|
23480
|
+
return /* @__PURE__ */ jsx95("span", { style: { ...styles.depLabel, color: "#7A7A7A" }, children: "none" });
|
|
23372
23481
|
}
|
|
23373
23482
|
return task.dependencies.map((depId) => {
|
|
23374
23483
|
const isValidDep = allTaskIds.has(depId);
|
|
@@ -23388,7 +23497,7 @@ var TaskBoardCard = ({
|
|
|
23388
23497
|
marginRight: "4px"
|
|
23389
23498
|
},
|
|
23390
23499
|
children: [
|
|
23391
|
-
/* @__PURE__ */
|
|
23500
|
+
/* @__PURE__ */ jsx95("span", { style: styles.checkIcon, children: isValidDep && isDepCompleted ? /* @__PURE__ */ jsx95(CheckIcon, {}) : isValidDep ? /* @__PURE__ */ jsx95(CircleIcon, {}) : null }),
|
|
23392
23501
|
depId
|
|
23393
23502
|
]
|
|
23394
23503
|
},
|
|
@@ -23398,23 +23507,23 @@ var TaskBoardCard = ({
|
|
|
23398
23507
|
};
|
|
23399
23508
|
return /* @__PURE__ */ jsxs67("div", { style: styles.card, children: [
|
|
23400
23509
|
/* @__PURE__ */ jsxs67("div", { style: styles.header, children: [
|
|
23401
|
-
/* @__PURE__ */
|
|
23510
|
+
/* @__PURE__ */ jsx95("span", { style: styles.taskId, children: task.id }),
|
|
23402
23511
|
task.assignee && /* @__PURE__ */ jsxs67("span", { style: styles.assignee, children: [
|
|
23403
23512
|
"@",
|
|
23404
23513
|
task.assignee
|
|
23405
23514
|
] })
|
|
23406
23515
|
] }),
|
|
23407
|
-
/* @__PURE__ */
|
|
23408
|
-
task.description && /* @__PURE__ */
|
|
23516
|
+
/* @__PURE__ */ jsx95("h3", { style: styles.title, children: task.title }),
|
|
23517
|
+
task.description && /* @__PURE__ */ jsx95("p", { style: styles.description, children: task.description }),
|
|
23409
23518
|
/* @__PURE__ */ jsxs67("div", { style: styles.depRow, children: [
|
|
23410
|
-
/* @__PURE__ */
|
|
23519
|
+
/* @__PURE__ */ jsx95("span", { style: styles.depLabel, children: "Deps:" }),
|
|
23411
23520
|
renderDependencyBadges()
|
|
23412
23521
|
] })
|
|
23413
23522
|
] });
|
|
23414
23523
|
};
|
|
23415
23524
|
|
|
23416
23525
|
// src/components/GenUI/elements/TaskBoard.tsx
|
|
23417
|
-
import { jsx as
|
|
23526
|
+
import { jsx as jsx96, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
23418
23527
|
var COLUMNS = [
|
|
23419
23528
|
{ id: "pending", title: "Pending", color: "#7A7A7A" },
|
|
23420
23529
|
{ id: "in_progress", title: "In Progress", color: "#E42313" },
|
|
@@ -23565,28 +23674,28 @@ var TaskBoard = ({
|
|
|
23565
23674
|
return /* @__PURE__ */ jsxs68("div", { style: styles.container, children: [
|
|
23566
23675
|
/* @__PURE__ */ jsxs68("div", { style: styles.header, children: [
|
|
23567
23676
|
/* @__PURE__ */ jsxs68("div", { style: styles.titleSection, children: [
|
|
23568
|
-
/* @__PURE__ */
|
|
23569
|
-
/* @__PURE__ */
|
|
23677
|
+
/* @__PURE__ */ jsx96("h1", { style: styles.pageTitle, children: "Task Board" }),
|
|
23678
|
+
/* @__PURE__ */ jsx96("p", { style: styles.pageSubtitle, children: "Track team progress and task status" })
|
|
23570
23679
|
] }),
|
|
23571
|
-
/* @__PURE__ */
|
|
23680
|
+
/* @__PURE__ */ jsx96("div", { style: styles.actions, children: /* @__PURE__ */ jsxs68("button", { style: styles.addButton, onClick: handleAddTask, children: [
|
|
23572
23681
|
/* @__PURE__ */ jsxs68("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
23573
|
-
/* @__PURE__ */
|
|
23574
|
-
/* @__PURE__ */
|
|
23682
|
+
/* @__PURE__ */ jsx96("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
|
|
23683
|
+
/* @__PURE__ */ jsx96("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
|
|
23575
23684
|
] }),
|
|
23576
23685
|
"Add Task"
|
|
23577
23686
|
] }) })
|
|
23578
23687
|
] }),
|
|
23579
|
-
/* @__PURE__ */
|
|
23688
|
+
/* @__PURE__ */ jsx96("div", { style: styles.boardContainer, children: COLUMNS.map((column) => {
|
|
23580
23689
|
const columnTasks = tasksByStatus[column.id] || [];
|
|
23581
23690
|
return /* @__PURE__ */ jsxs68("div", { style: styles.column, children: [
|
|
23582
23691
|
/* @__PURE__ */ jsxs68("div", { style: styles.columnHeader, children: [
|
|
23583
23692
|
/* @__PURE__ */ jsxs68("div", { style: styles.columnTitle, children: [
|
|
23584
|
-
/* @__PURE__ */
|
|
23585
|
-
/* @__PURE__ */
|
|
23693
|
+
/* @__PURE__ */ jsx96("div", { style: { ...styles.statusDot, background: column.color } }),
|
|
23694
|
+
/* @__PURE__ */ jsx96("span", { style: styles.columnLabel, children: column.title })
|
|
23586
23695
|
] }),
|
|
23587
|
-
/* @__PURE__ */
|
|
23696
|
+
/* @__PURE__ */ jsx96("span", { style: styles.columnCount, children: columnTasks.length })
|
|
23588
23697
|
] }),
|
|
23589
|
-
columnTasks.length > 0 ? columnTasks.map((task) => /* @__PURE__ */
|
|
23698
|
+
columnTasks.length > 0 ? columnTasks.map((task) => /* @__PURE__ */ jsx96(
|
|
23590
23699
|
TaskBoardCard,
|
|
23591
23700
|
{
|
|
23592
23701
|
task,
|
|
@@ -23594,15 +23703,15 @@ var TaskBoard = ({
|
|
|
23594
23703
|
getDependencyStatus
|
|
23595
23704
|
},
|
|
23596
23705
|
task.id
|
|
23597
|
-
)) : /* @__PURE__ */
|
|
23706
|
+
)) : /* @__PURE__ */ jsx96("div", { style: styles.emptyColumn, children: "No tasks" })
|
|
23598
23707
|
] }, column.id);
|
|
23599
23708
|
}) })
|
|
23600
23709
|
] });
|
|
23601
23710
|
};
|
|
23602
23711
|
|
|
23603
23712
|
// src/components/GenUI/elements/Mailbox.tsx
|
|
23604
|
-
import { useState as
|
|
23605
|
-
import { jsx as
|
|
23713
|
+
import { useState as useState60, useMemo as useMemo25, useRef as useRef22, useEffect as useEffect37 } from "react";
|
|
23714
|
+
import { jsx as jsx97, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
23606
23715
|
var useStyle12 = () => {
|
|
23607
23716
|
return {
|
|
23608
23717
|
container: {
|
|
@@ -23860,7 +23969,7 @@ var formatTime3 = (date) => {
|
|
|
23860
23969
|
};
|
|
23861
23970
|
var renderMessageWithMentions = (content, mentions, styles) => {
|
|
23862
23971
|
if (mentions.length === 0) {
|
|
23863
|
-
return /* @__PURE__ */
|
|
23972
|
+
return /* @__PURE__ */ jsx97("span", { style: styles.messageText, children: content });
|
|
23864
23973
|
}
|
|
23865
23974
|
const parts = [];
|
|
23866
23975
|
let lastIndex = 0;
|
|
@@ -23882,13 +23991,13 @@ var renderMessageWithMentions = (content, mentions, styles) => {
|
|
|
23882
23991
|
if (lastIndex < content.length) {
|
|
23883
23992
|
parts.push(content.slice(lastIndex));
|
|
23884
23993
|
}
|
|
23885
|
-
return /* @__PURE__ */
|
|
23994
|
+
return /* @__PURE__ */ jsx97("span", { style: styles.messageText, children: parts });
|
|
23886
23995
|
};
|
|
23887
23996
|
var TeamChat = ({ data }) => {
|
|
23888
23997
|
const styles = useStyle12();
|
|
23889
23998
|
const { teamName, currentUser, teammates, messages, onSendMessage } = data || {};
|
|
23890
|
-
const [inputValue, setInputValue] =
|
|
23891
|
-
const messagesEndRef =
|
|
23999
|
+
const [inputValue, setInputValue] = useState60("");
|
|
24000
|
+
const messagesEndRef = useRef22(null);
|
|
23892
24001
|
const sortedMessages = useMemo25(() => {
|
|
23893
24002
|
return [...messages || []].sort(
|
|
23894
24003
|
(a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime()
|
|
@@ -23897,7 +24006,7 @@ var TeamChat = ({ data }) => {
|
|
|
23897
24006
|
const mentions = useMemo25(() => {
|
|
23898
24007
|
return teammates?.map((t) => t.name) || [];
|
|
23899
24008
|
}, [teammates]);
|
|
23900
|
-
|
|
24009
|
+
useEffect37(() => {
|
|
23901
24010
|
messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
|
|
23902
24011
|
}, [sortedMessages]);
|
|
23903
24012
|
const handleSend = () => {
|
|
@@ -23916,8 +24025,8 @@ var TeamChat = ({ data }) => {
|
|
|
23916
24025
|
return STATUS_COLORS[status] || STATUS_COLORS.offline;
|
|
23917
24026
|
};
|
|
23918
24027
|
return /* @__PURE__ */ jsxs69("div", { style: styles.container, children: [
|
|
23919
|
-
/* @__PURE__ */
|
|
23920
|
-
/* @__PURE__ */
|
|
24028
|
+
/* @__PURE__ */ jsx97("div", { style: styles.header, children: /* @__PURE__ */ jsxs69("div", { style: styles.titleSection, children: [
|
|
24029
|
+
/* @__PURE__ */ jsx97("h2", { style: styles.teamName, children: teamName || "Team Chat" }),
|
|
23921
24030
|
/* @__PURE__ */ jsxs69("p", { style: styles.teamDesc, children: [
|
|
23922
24031
|
teammates?.length || 0,
|
|
23923
24032
|
" member",
|
|
@@ -23926,16 +24035,16 @@ var TeamChat = ({ data }) => {
|
|
|
23926
24035
|
] }) }),
|
|
23927
24036
|
/* @__PURE__ */ jsxs69("div", { style: styles.mainContainer, children: [
|
|
23928
24037
|
/* @__PURE__ */ jsxs69("div", { style: styles.sidebar, children: [
|
|
23929
|
-
/* @__PURE__ */
|
|
24038
|
+
/* @__PURE__ */ jsx97("div", { style: styles.sidebarHeader, children: /* @__PURE__ */ jsx97("p", { style: styles.sidebarTitle, children: "Team Members" }) }),
|
|
23930
24039
|
teammates?.map((member) => /* @__PURE__ */ jsxs69("div", { style: styles.member, children: [
|
|
23931
|
-
/* @__PURE__ */
|
|
24040
|
+
/* @__PURE__ */ jsx97(
|
|
23932
24041
|
"div",
|
|
23933
24042
|
{
|
|
23934
24043
|
style: {
|
|
23935
24044
|
...styles.avatar,
|
|
23936
24045
|
background: getAvatarColor9(member.name)
|
|
23937
24046
|
},
|
|
23938
|
-
children: /* @__PURE__ */
|
|
24047
|
+
children: /* @__PURE__ */ jsx97("span", { style: styles.avatarText, children: getInitials9(member.name) })
|
|
23939
24048
|
}
|
|
23940
24049
|
),
|
|
23941
24050
|
/* @__PURE__ */ jsxs69("div", { style: styles.memberInfo, children: [
|
|
@@ -23943,9 +24052,9 @@ var TeamChat = ({ data }) => {
|
|
|
23943
24052
|
member.name,
|
|
23944
24053
|
member.name === currentUser && " (You)"
|
|
23945
24054
|
] }),
|
|
23946
|
-
/* @__PURE__ */
|
|
24055
|
+
/* @__PURE__ */ jsx97("p", { style: styles.memberRole, children: member.role })
|
|
23947
24056
|
] }),
|
|
23948
|
-
/* @__PURE__ */
|
|
24057
|
+
/* @__PURE__ */ jsx97(
|
|
23949
24058
|
"div",
|
|
23950
24059
|
{
|
|
23951
24060
|
style: {
|
|
@@ -23968,14 +24077,14 @@ var TeamChat = ({ data }) => {
|
|
|
23968
24077
|
...isSelf ? styles.messageSelf : {}
|
|
23969
24078
|
},
|
|
23970
24079
|
children: [
|
|
23971
|
-
!isSelf && /* @__PURE__ */
|
|
24080
|
+
!isSelf && /* @__PURE__ */ jsx97(
|
|
23972
24081
|
"div",
|
|
23973
24082
|
{
|
|
23974
24083
|
style: {
|
|
23975
24084
|
...styles.avatar,
|
|
23976
24085
|
background: getAvatarColor9(msg.from)
|
|
23977
24086
|
},
|
|
23978
|
-
children: /* @__PURE__ */
|
|
24087
|
+
children: /* @__PURE__ */ jsx97("span", { style: styles.avatarText, children: getInitials9(msg.from) })
|
|
23979
24088
|
}
|
|
23980
24089
|
),
|
|
23981
24090
|
/* @__PURE__ */ jsxs69(
|
|
@@ -23987,7 +24096,7 @@ var TeamChat = ({ data }) => {
|
|
|
23987
24096
|
},
|
|
23988
24097
|
children: [
|
|
23989
24098
|
/* @__PURE__ */ jsxs69("div", { style: styles.messageHeader, children: [
|
|
23990
|
-
/* @__PURE__ */
|
|
24099
|
+
/* @__PURE__ */ jsx97(
|
|
23991
24100
|
"span",
|
|
23992
24101
|
{
|
|
23993
24102
|
style: {
|
|
@@ -23997,7 +24106,7 @@ var TeamChat = ({ data }) => {
|
|
|
23997
24106
|
children: isSelf ? "You" : msg.from
|
|
23998
24107
|
}
|
|
23999
24108
|
),
|
|
24000
|
-
/* @__PURE__ */
|
|
24109
|
+
/* @__PURE__ */ jsx97(
|
|
24001
24110
|
"span",
|
|
24002
24111
|
{
|
|
24003
24112
|
style: {
|
|
@@ -24008,7 +24117,7 @@ var TeamChat = ({ data }) => {
|
|
|
24008
24117
|
}
|
|
24009
24118
|
)
|
|
24010
24119
|
] }),
|
|
24011
|
-
isSelf ? /* @__PURE__ */
|
|
24120
|
+
isSelf ? /* @__PURE__ */ jsx97(
|
|
24012
24121
|
"div",
|
|
24013
24122
|
{
|
|
24014
24123
|
style: {
|
|
@@ -24027,10 +24136,10 @@ var TeamChat = ({ data }) => {
|
|
|
24027
24136
|
msg.id
|
|
24028
24137
|
);
|
|
24029
24138
|
}),
|
|
24030
|
-
/* @__PURE__ */
|
|
24139
|
+
/* @__PURE__ */ jsx97("div", { ref: messagesEndRef })
|
|
24031
24140
|
] }),
|
|
24032
24141
|
/* @__PURE__ */ jsxs69("div", { style: styles.inputArea, children: [
|
|
24033
|
-
/* @__PURE__ */
|
|
24142
|
+
/* @__PURE__ */ jsx97("div", { style: styles.input, children: /* @__PURE__ */ jsx97(
|
|
24034
24143
|
"input",
|
|
24035
24144
|
{
|
|
24036
24145
|
type: "text",
|
|
@@ -24052,12 +24161,12 @@ var TeamChat = ({ data }) => {
|
|
|
24052
24161
|
stroke: "currentColor",
|
|
24053
24162
|
strokeWidth: "2",
|
|
24054
24163
|
children: [
|
|
24055
|
-
/* @__PURE__ */
|
|
24056
|
-
/* @__PURE__ */
|
|
24164
|
+
/* @__PURE__ */ jsx97("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
|
|
24165
|
+
/* @__PURE__ */ jsx97("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
|
|
24057
24166
|
]
|
|
24058
24167
|
}
|
|
24059
24168
|
),
|
|
24060
|
-
/* @__PURE__ */
|
|
24169
|
+
/* @__PURE__ */ jsx97("span", { style: styles.sendText, children: "Send" })
|
|
24061
24170
|
] })
|
|
24062
24171
|
] })
|
|
24063
24172
|
] })
|
|
@@ -24066,12 +24175,12 @@ var TeamChat = ({ data }) => {
|
|
|
24066
24175
|
};
|
|
24067
24176
|
|
|
24068
24177
|
// src/components/GenUI/elements/ShowWidget.tsx
|
|
24069
|
-
import { useCallback as
|
|
24178
|
+
import { useCallback as useCallback29 } from "react";
|
|
24070
24179
|
import { Button as Button44, Typography as Typography47 } from "antd";
|
|
24071
24180
|
import { ExpandOutlined as ExpandOutlined2 } from "@ant-design/icons";
|
|
24072
24181
|
|
|
24073
24182
|
// src/streaming-html/StreamingHTMLRenderer.tsx
|
|
24074
|
-
import
|
|
24183
|
+
import React51, { useEffect as useEffect38, useRef as useRef23, useCallback as useCallback28, useState as useState61 } from "react";
|
|
24075
24184
|
|
|
24076
24185
|
// src/streaming-html/show-widget-css-generator.ts
|
|
24077
24186
|
function generateShowWidgetCSS(tokens) {
|
|
@@ -24752,7 +24861,7 @@ svg { height:100%}
|
|
|
24752
24861
|
}
|
|
24753
24862
|
|
|
24754
24863
|
// src/streaming-html/StreamingHTMLRenderer.tsx
|
|
24755
|
-
import { jsx as
|
|
24864
|
+
import { jsx as jsx98, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
24756
24865
|
var StreamingHTMLRenderer = ({
|
|
24757
24866
|
html,
|
|
24758
24867
|
className = "",
|
|
@@ -24762,22 +24871,22 @@ var StreamingHTMLRenderer = ({
|
|
|
24762
24871
|
title,
|
|
24763
24872
|
loadingMessages
|
|
24764
24873
|
}) => {
|
|
24765
|
-
const iframeRef =
|
|
24766
|
-
const containerRef =
|
|
24767
|
-
const resizeObserverRef =
|
|
24768
|
-
const prevHTMLRef =
|
|
24769
|
-
const isReadyRef =
|
|
24770
|
-
const pendingChunksRef =
|
|
24771
|
-
const isCompleteRef =
|
|
24772
|
-
const isScriptExecuted =
|
|
24773
|
-
const [iframeHeight, setIframeHeight] =
|
|
24774
|
-
const [iframeWidth, setIframeWidth] =
|
|
24775
|
-
const [currentMessageIndex, setCurrentMessageIndex] =
|
|
24776
|
-
const [showLoading, setShowLoading] =
|
|
24777
|
-
|
|
24874
|
+
const iframeRef = useRef23(null);
|
|
24875
|
+
const containerRef = useRef23(null);
|
|
24876
|
+
const resizeObserverRef = useRef23(null);
|
|
24877
|
+
const prevHTMLRef = useRef23("");
|
|
24878
|
+
const isReadyRef = useRef23(false);
|
|
24879
|
+
const pendingChunksRef = useRef23([]);
|
|
24880
|
+
const isCompleteRef = useRef23(isComplete);
|
|
24881
|
+
const isScriptExecuted = useRef23(false);
|
|
24882
|
+
const [iframeHeight, setIframeHeight] = React51.useState(0);
|
|
24883
|
+
const [iframeWidth, setIframeWidth] = React51.useState(void 0);
|
|
24884
|
+
const [currentMessageIndex, setCurrentMessageIndex] = useState61(0);
|
|
24885
|
+
const [showLoading, setShowLoading] = useState61(true);
|
|
24886
|
+
useEffect38(() => {
|
|
24778
24887
|
isCompleteRef.current = isComplete;
|
|
24779
24888
|
}, [isComplete]);
|
|
24780
|
-
|
|
24889
|
+
useEffect38(() => {
|
|
24781
24890
|
if (iframeHeight > 0) {
|
|
24782
24891
|
setShowLoading(false);
|
|
24783
24892
|
return;
|
|
@@ -24802,7 +24911,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24802
24911
|
}, 1500);
|
|
24803
24912
|
return () => clearInterval(interval);
|
|
24804
24913
|
}, [iframeHeight, loadingMessages]);
|
|
24805
|
-
const executeScripts =
|
|
24914
|
+
const executeScripts = useCallback28(() => {
|
|
24806
24915
|
if (isScriptExecuted.current) {
|
|
24807
24916
|
console.log("[StreamingHTMLRenderer] scripts is executed");
|
|
24808
24917
|
return;
|
|
@@ -24829,7 +24938,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24829
24938
|
onError?.(streamingError);
|
|
24830
24939
|
}
|
|
24831
24940
|
}, [onError]);
|
|
24832
|
-
const sendChunk =
|
|
24941
|
+
const sendChunk = useCallback28((chunk) => {
|
|
24833
24942
|
const iframe = iframeRef.current;
|
|
24834
24943
|
if (!iframe || !iframe.contentWindow) {
|
|
24835
24944
|
return;
|
|
@@ -24853,7 +24962,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24853
24962
|
onError?.(streamingError);
|
|
24854
24963
|
}
|
|
24855
24964
|
}, [onError]);
|
|
24856
|
-
|
|
24965
|
+
useEffect38(() => {
|
|
24857
24966
|
const handleMessage = (event) => {
|
|
24858
24967
|
const iframe = iframeRef.current;
|
|
24859
24968
|
if (!iframe || event.source !== iframe.contentWindow) {
|
|
@@ -24906,7 +25015,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24906
25015
|
window.removeEventListener("message", handleMessage);
|
|
24907
25016
|
};
|
|
24908
25017
|
}, [onError, onPrompt, sendChunk, executeScripts]);
|
|
24909
|
-
|
|
25018
|
+
useEffect38(() => {
|
|
24910
25019
|
if (html === prevHTMLRef.current) {
|
|
24911
25020
|
return;
|
|
24912
25021
|
}
|
|
@@ -24917,12 +25026,12 @@ var StreamingHTMLRenderer = ({
|
|
|
24917
25026
|
sendChunk(newChunk);
|
|
24918
25027
|
}
|
|
24919
25028
|
}, [html, sendChunk]);
|
|
24920
|
-
|
|
25029
|
+
useEffect38(() => {
|
|
24921
25030
|
if (isComplete && isReadyRef.current) {
|
|
24922
25031
|
executeScripts();
|
|
24923
25032
|
}
|
|
24924
25033
|
}, [isComplete, executeScripts]);
|
|
24925
|
-
|
|
25034
|
+
useEffect38(() => {
|
|
24926
25035
|
const container = containerRef.current;
|
|
24927
25036
|
if (!container) return;
|
|
24928
25037
|
const antBubble = container.closest(".ant-bubble");
|
|
@@ -24948,7 +25057,7 @@ var StreamingHTMLRenderer = ({
|
|
|
24948
25057
|
resizeObserverRef.current = null;
|
|
24949
25058
|
};
|
|
24950
25059
|
}, []);
|
|
24951
|
-
|
|
25060
|
+
useEffect38(() => {
|
|
24952
25061
|
return () => {
|
|
24953
25062
|
isReadyRef.current = false;
|
|
24954
25063
|
pendingChunksRef.current = [];
|
|
@@ -24981,13 +25090,13 @@ var StreamingHTMLRenderer = ({
|
|
|
24981
25090
|
zIndex: 10
|
|
24982
25091
|
},
|
|
24983
25092
|
children: [
|
|
24984
|
-
/* @__PURE__ */
|
|
25093
|
+
/* @__PURE__ */ jsx98("style", { children: `
|
|
24985
25094
|
@keyframes shimmer {
|
|
24986
25095
|
0% { background-position: -200% 0; }
|
|
24987
25096
|
100% { background-position: 200% 0; }
|
|
24988
25097
|
}
|
|
24989
25098
|
` }),
|
|
24990
|
-
/* @__PURE__ */
|
|
25099
|
+
/* @__PURE__ */ jsx98(
|
|
24991
25100
|
"span",
|
|
24992
25101
|
{
|
|
24993
25102
|
style: {
|
|
@@ -25002,7 +25111,7 @@ var StreamingHTMLRenderer = ({
|
|
|
25002
25111
|
]
|
|
25003
25112
|
}
|
|
25004
25113
|
),
|
|
25005
|
-
/* @__PURE__ */
|
|
25114
|
+
/* @__PURE__ */ jsx98(
|
|
25006
25115
|
"iframe",
|
|
25007
25116
|
{
|
|
25008
25117
|
ref: iframeRef,
|
|
@@ -25025,7 +25134,7 @@ var StreamingHTMLRenderer = ({
|
|
|
25025
25134
|
var StreamingHTMLRenderer_default = StreamingHTMLRenderer;
|
|
25026
25135
|
|
|
25027
25136
|
// src/components/GenUI/elements/ShowWidget.tsx
|
|
25028
|
-
import { jsx as
|
|
25137
|
+
import { jsx as jsx99, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
25029
25138
|
var ShowWidget = ({
|
|
25030
25139
|
data,
|
|
25031
25140
|
component_key,
|
|
@@ -25051,14 +25160,14 @@ var ShowWidget = ({
|
|
|
25051
25160
|
console.warn("Failed to parse tool response:", e);
|
|
25052
25161
|
}
|
|
25053
25162
|
}
|
|
25054
|
-
const sendPrompt =
|
|
25163
|
+
const sendPrompt = useCallback29((text) => {
|
|
25055
25164
|
sendMessage({
|
|
25056
25165
|
input: {
|
|
25057
25166
|
message: text
|
|
25058
25167
|
}
|
|
25059
25168
|
});
|
|
25060
25169
|
}, [sendMessage]);
|
|
25061
|
-
const handleOpenInSideApp =
|
|
25170
|
+
const handleOpenInSideApp = useCallback29(() => {
|
|
25062
25171
|
openSideApp({
|
|
25063
25172
|
component_key: "show_widget",
|
|
25064
25173
|
data: {
|
|
@@ -25085,7 +25194,7 @@ var ShowWidget = ({
|
|
|
25085
25194
|
position: "relative"
|
|
25086
25195
|
},
|
|
25087
25196
|
children: [
|
|
25088
|
-
/* @__PURE__ */
|
|
25197
|
+
/* @__PURE__ */ jsx99(
|
|
25089
25198
|
Typography47.Text,
|
|
25090
25199
|
{
|
|
25091
25200
|
strong: true,
|
|
@@ -25096,12 +25205,12 @@ var ShowWidget = ({
|
|
|
25096
25205
|
children: title || "Widget"
|
|
25097
25206
|
}
|
|
25098
25207
|
),
|
|
25099
|
-
/* @__PURE__ */
|
|
25208
|
+
/* @__PURE__ */ jsx99(
|
|
25100
25209
|
Button44,
|
|
25101
25210
|
{
|
|
25102
25211
|
type: "text",
|
|
25103
25212
|
size: "small",
|
|
25104
|
-
icon: /* @__PURE__ */
|
|
25213
|
+
icon: /* @__PURE__ */ jsx99(ExpandOutlined2, {}),
|
|
25105
25214
|
onClick: handleOpenInSideApp,
|
|
25106
25215
|
style: {
|
|
25107
25216
|
position: "absolute",
|
|
@@ -25113,7 +25222,7 @@ var ShowWidget = ({
|
|
|
25113
25222
|
]
|
|
25114
25223
|
}
|
|
25115
25224
|
),
|
|
25116
|
-
/* @__PURE__ */
|
|
25225
|
+
/* @__PURE__ */ jsx99("div", { style: { position: "relative", flex: 1 }, children: /* @__PURE__ */ jsx99(
|
|
25117
25226
|
StreamingHTMLRenderer_default,
|
|
25118
25227
|
{
|
|
25119
25228
|
html: finalHTML,
|
|
@@ -25127,14 +25236,14 @@ var ShowWidget = ({
|
|
|
25127
25236
|
};
|
|
25128
25237
|
|
|
25129
25238
|
// src/components/GenUI/elements/ShowWidgetApp.tsx
|
|
25130
|
-
import { useCallback as
|
|
25131
|
-
import { jsx as
|
|
25239
|
+
import { useCallback as useCallback30 } from "react";
|
|
25240
|
+
import { jsx as jsx100 } from "react/jsx-runtime";
|
|
25132
25241
|
var ShowWidgetApp = ({
|
|
25133
25242
|
data
|
|
25134
25243
|
}) => {
|
|
25135
25244
|
const { widget_code, title } = data || {};
|
|
25136
25245
|
const { sendMessage } = useAgentChat();
|
|
25137
|
-
const sendPrompt =
|
|
25246
|
+
const sendPrompt = useCallback30(
|
|
25138
25247
|
(text) => {
|
|
25139
25248
|
sendMessage({
|
|
25140
25249
|
input: {
|
|
@@ -25147,7 +25256,7 @@ var ShowWidgetApp = ({
|
|
|
25147
25256
|
if (!widget_code) {
|
|
25148
25257
|
return null;
|
|
25149
25258
|
}
|
|
25150
|
-
return /* @__PURE__ */
|
|
25259
|
+
return /* @__PURE__ */ jsx100("div", { style: { padding: 24 }, children: /* @__PURE__ */ jsx100(
|
|
25151
25260
|
StreamingHTMLRenderer_default,
|
|
25152
25261
|
{
|
|
25153
25262
|
html: widget_code,
|
|
@@ -25261,8 +25370,8 @@ var regsiterElement = (language, ElementMeta) => {
|
|
|
25261
25370
|
// src/components/Chat/SideAppViewBrowser.tsx
|
|
25262
25371
|
import { Dropdown as Dropdown2, Tooltip as Tooltip22 } from "antd";
|
|
25263
25372
|
import { createStyles as createStyles29 } from "antd-style";
|
|
25264
|
-
import { useEffect as
|
|
25265
|
-
import { Fragment as Fragment21, jsx as
|
|
25373
|
+
import { useEffect as useEffect39, useState as useState62 } from "react";
|
|
25374
|
+
import { Fragment as Fragment21, jsx as jsx101, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
25266
25375
|
var useStyle13 = createStyles29(({ token, css }) => {
|
|
25267
25376
|
return {
|
|
25268
25377
|
container: css`
|
|
@@ -25439,15 +25548,15 @@ var useStyle13 = createStyles29(({ token, css }) => {
|
|
|
25439
25548
|
});
|
|
25440
25549
|
var EmptySideAppView = ({ component_key, data }) => {
|
|
25441
25550
|
if (data?.component) {
|
|
25442
|
-
return /* @__PURE__ */
|
|
25551
|
+
return /* @__PURE__ */ jsx101(Fragment21, { children: data.component });
|
|
25443
25552
|
}
|
|
25444
25553
|
return /* @__PURE__ */ jsxs72("div", { children: [
|
|
25445
|
-
/* @__PURE__ */
|
|
25446
|
-
/* @__PURE__ */
|
|
25554
|
+
/* @__PURE__ */ jsx101("p", { children: "Component view not found" }),
|
|
25555
|
+
/* @__PURE__ */ jsx101("pre", { children: JSON.stringify({ component_key, data }, null, 2) })
|
|
25447
25556
|
] });
|
|
25448
25557
|
};
|
|
25449
25558
|
var getTabIcon = (componentKey) => {
|
|
25450
|
-
return /* @__PURE__ */
|
|
25559
|
+
return /* @__PURE__ */ jsx101(AppstoreOutlined, { style: { fontSize: 12, opacity: 0.6 } });
|
|
25451
25560
|
};
|
|
25452
25561
|
var SideAppViewBrowser = ({ region = "side" }) => {
|
|
25453
25562
|
const { styles } = useStyle13();
|
|
@@ -25459,11 +25568,11 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25459
25568
|
} = useChatUIContext();
|
|
25460
25569
|
const selectedCard = region === "side" ? sideAppSelectedCard : contextAppSelectedCard;
|
|
25461
25570
|
const closeApp = region === "side" ? closeSideApp : closeContentApp;
|
|
25462
|
-
const [activeKey, setActiveKey] =
|
|
25571
|
+
const [activeKey, setActiveKey] = useState62(
|
|
25463
25572
|
JSON.stringify(selectedCard)
|
|
25464
25573
|
);
|
|
25465
|
-
const [hoveredTab, setHoveredTab] =
|
|
25466
|
-
const [items, setItems] =
|
|
25574
|
+
const [hoveredTab, setHoveredTab] = useState62(null);
|
|
25575
|
+
const [items, setItems] = useState62([]);
|
|
25467
25576
|
const add = (key, label, children, componentKey) => {
|
|
25468
25577
|
const newPanes = [...items, { label, children, key, componentKey }];
|
|
25469
25578
|
setItems(newPanes);
|
|
@@ -25490,7 +25599,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25490
25599
|
const switchTab = (key) => {
|
|
25491
25600
|
setActiveKey(key);
|
|
25492
25601
|
};
|
|
25493
|
-
|
|
25602
|
+
useEffect39(() => {
|
|
25494
25603
|
if (!selectedCard) return;
|
|
25495
25604
|
const key = JSON.stringify(selectedCard);
|
|
25496
25605
|
if (items.find((item) => item.key === key)) {
|
|
@@ -25505,7 +25614,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25505
25614
|
add(
|
|
25506
25615
|
key,
|
|
25507
25616
|
selectedCard?.message || selectedCard?.data?.message || "Unnamed",
|
|
25508
|
-
/* @__PURE__ */
|
|
25617
|
+
/* @__PURE__ */ jsx101(
|
|
25509
25618
|
SideAppView,
|
|
25510
25619
|
{
|
|
25511
25620
|
component_key: selectedCard?.component_key || "",
|
|
@@ -25530,8 +25639,8 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25530
25639
|
},
|
|
25531
25640
|
children: [
|
|
25532
25641
|
getTabIcon(item.componentKey),
|
|
25533
|
-
/* @__PURE__ */
|
|
25534
|
-
/* @__PURE__ */
|
|
25642
|
+
/* @__PURE__ */ jsx101("span", { style: { flex: 1 }, children: item.label }),
|
|
25643
|
+
/* @__PURE__ */ jsx101(
|
|
25535
25644
|
CloseOutlined2,
|
|
25536
25645
|
{
|
|
25537
25646
|
style: { fontSize: 10, opacity: 0.5 },
|
|
@@ -25548,7 +25657,7 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25548
25657
|
}));
|
|
25549
25658
|
return /* @__PURE__ */ jsxs72("div", { className: styles.container, children: [
|
|
25550
25659
|
/* @__PURE__ */ jsxs72("div", { className: styles.header, children: [
|
|
25551
|
-
/* @__PURE__ */
|
|
25660
|
+
/* @__PURE__ */ jsx101("div", { className: styles.tabsStrip, children: items.map((item) => /* @__PURE__ */ jsx101(Tooltip22, { title: item.label, placement: "bottom", children: /* @__PURE__ */ jsxs72(
|
|
25552
25661
|
"div",
|
|
25553
25662
|
{
|
|
25554
25663
|
"data-tab-key": item.key,
|
|
@@ -25558,8 +25667,8 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25558
25667
|
onMouseLeave: () => setHoveredTab(null),
|
|
25559
25668
|
children: [
|
|
25560
25669
|
getTabIcon(item.componentKey),
|
|
25561
|
-
/* @__PURE__ */
|
|
25562
|
-
/* @__PURE__ */
|
|
25670
|
+
/* @__PURE__ */ jsx101("span", { className: styles.tabLabel, children: item.label }),
|
|
25671
|
+
/* @__PURE__ */ jsx101(
|
|
25563
25672
|
"span",
|
|
25564
25673
|
{
|
|
25565
25674
|
className: `${styles.closeIndicator} ${hoveredTab === item.key || item.key === activeKey ? "always-visible" : ""}`,
|
|
@@ -25567,39 +25676,39 @@ var SideAppViewBrowser = ({ region = "side" }) => {
|
|
|
25567
25676
|
e.stopPropagation();
|
|
25568
25677
|
remove(item.key);
|
|
25569
25678
|
},
|
|
25570
|
-
children: /* @__PURE__ */
|
|
25679
|
+
children: /* @__PURE__ */ jsx101(CloseOutlined2, { style: { fontSize: 10 } })
|
|
25571
25680
|
}
|
|
25572
25681
|
)
|
|
25573
25682
|
]
|
|
25574
25683
|
}
|
|
25575
25684
|
) }, item.key)) }),
|
|
25576
25685
|
/* @__PURE__ */ jsxs72("div", { className: styles.actions, children: [
|
|
25577
|
-
items.length > 0 && /* @__PURE__ */
|
|
25578
|
-
items.length > 1 && /* @__PURE__ */
|
|
25686
|
+
items.length > 0 && /* @__PURE__ */ jsx101("div", { className: styles.tabCounter, children: items.length }),
|
|
25687
|
+
items.length > 1 && /* @__PURE__ */ jsx101(
|
|
25579
25688
|
Dropdown2,
|
|
25580
25689
|
{
|
|
25581
25690
|
menu: { items: dropdownItems },
|
|
25582
25691
|
placement: "bottomRight",
|
|
25583
25692
|
trigger: ["click"],
|
|
25584
|
-
children: /* @__PURE__ */
|
|
25693
|
+
children: /* @__PURE__ */ jsx101("button", { className: styles.actionBtn, title: "All tabs", children: /* @__PURE__ */ jsx101(MoreOutlined3, {}) })
|
|
25585
25694
|
}
|
|
25586
25695
|
),
|
|
25587
|
-
/* @__PURE__ */
|
|
25696
|
+
/* @__PURE__ */ jsx101(Tooltip22, { title: "Close", children: /* @__PURE__ */ jsx101("button", { className: styles.actionBtn, onClick: closeApp, children: /* @__PURE__ */ jsx101(CloseOutlined2, {}) }) })
|
|
25588
25697
|
] })
|
|
25589
25698
|
] }),
|
|
25590
|
-
/* @__PURE__ */
|
|
25591
|
-
/* @__PURE__ */
|
|
25592
|
-
/* @__PURE__ */
|
|
25699
|
+
/* @__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: [
|
|
25700
|
+
/* @__PURE__ */ jsx101(AppstoreOutlined, { className: "icon" }),
|
|
25701
|
+
/* @__PURE__ */ jsx101("span", { children: "Select an app to start" })
|
|
25593
25702
|
] }) })
|
|
25594
25703
|
] });
|
|
25595
25704
|
};
|
|
25596
25705
|
|
|
25597
25706
|
// src/components/Chat/ProjectSelector.tsx
|
|
25598
|
-
import { useState as
|
|
25707
|
+
import { useState as useState63, useCallback as useCallback31, useMemo as useMemo26, useRef as useRef24 } from "react";
|
|
25599
25708
|
import { Modal as Modal16, Input as Input12, Button as Button45, message as message15 } from "antd";
|
|
25600
25709
|
import { createStyles as createStyles30 } from "antd-style";
|
|
25601
25710
|
import { Folder, ChevronDown as ChevronDown4, Building2 as Building24 } from "lucide-react";
|
|
25602
|
-
import { Fragment as Fragment22, jsx as
|
|
25711
|
+
import { Fragment as Fragment22, jsx as jsx102, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
25603
25712
|
var PROJECT_NAME_MAX_LENGTH = 50;
|
|
25604
25713
|
var useStyles17 = createStyles30(({ token, css }) => ({
|
|
25605
25714
|
container: css`
|
|
@@ -25829,34 +25938,34 @@ var ProjectSelector = () => {
|
|
|
25829
25938
|
setProject,
|
|
25830
25939
|
createProject
|
|
25831
25940
|
} = useWorkspaceContext();
|
|
25832
|
-
const [isWorkspaceListOpen, setIsWorkspaceListOpen] =
|
|
25833
|
-
const workspaceDropdownRef =
|
|
25834
|
-
const [isProjectListOpen, setIsProjectListOpen] =
|
|
25835
|
-
const [isModalOpen, setIsModalOpen] =
|
|
25836
|
-
const [projectName, setProjectName] =
|
|
25837
|
-
const [validationError, setValidationError] =
|
|
25838
|
-
const [isCreating, setIsCreating] =
|
|
25839
|
-
const projectNameInputRef =
|
|
25941
|
+
const [isWorkspaceListOpen, setIsWorkspaceListOpen] = useState63(false);
|
|
25942
|
+
const workspaceDropdownRef = useRef24(null);
|
|
25943
|
+
const [isProjectListOpen, setIsProjectListOpen] = useState63(false);
|
|
25944
|
+
const [isModalOpen, setIsModalOpen] = useState63(false);
|
|
25945
|
+
const [projectName, setProjectName] = useState63("");
|
|
25946
|
+
const [validationError, setValidationError] = useState63(null);
|
|
25947
|
+
const [isCreating, setIsCreating] = useState63(false);
|
|
25948
|
+
const projectNameInputRef = useRef24(null);
|
|
25840
25949
|
const currentProject = useMemo26(() => {
|
|
25841
25950
|
return projects.find((p) => p.id === projectId);
|
|
25842
25951
|
}, [projects, projectId]);
|
|
25843
25952
|
const currentWorkspace = useMemo26(() => {
|
|
25844
25953
|
return workspaces.find((w) => w.id === workspaceId);
|
|
25845
25954
|
}, [workspaces, workspaceId]);
|
|
25846
|
-
const handleSelectProject =
|
|
25955
|
+
const handleSelectProject = useCallback31((selectedProjectId) => {
|
|
25847
25956
|
setProject(selectedProjectId);
|
|
25848
25957
|
setIsProjectListOpen(false);
|
|
25849
25958
|
}, [setProject]);
|
|
25850
|
-
const handleWorkspaceClick =
|
|
25959
|
+
const handleWorkspaceClick = useCallback31(() => {
|
|
25851
25960
|
setProject(null);
|
|
25852
25961
|
}, [setProject]);
|
|
25853
|
-
const toggleProjectList =
|
|
25962
|
+
const toggleProjectList = useCallback31(() => {
|
|
25854
25963
|
setIsProjectListOpen((prev) => !prev);
|
|
25855
25964
|
}, []);
|
|
25856
|
-
const toggleWorkspaceList =
|
|
25965
|
+
const toggleWorkspaceList = useCallback31(() => {
|
|
25857
25966
|
setIsWorkspaceListOpen((prev) => !prev);
|
|
25858
25967
|
}, []);
|
|
25859
|
-
const validateProjectName =
|
|
25968
|
+
const validateProjectName = useCallback31((name) => {
|
|
25860
25969
|
const trimmed = name.trim();
|
|
25861
25970
|
if (!trimmed) return "Project name is required";
|
|
25862
25971
|
if (trimmed.length > PROJECT_NAME_MAX_LENGTH) {
|
|
@@ -25864,7 +25973,7 @@ var ProjectSelector = () => {
|
|
|
25864
25973
|
}
|
|
25865
25974
|
return null;
|
|
25866
25975
|
}, []);
|
|
25867
|
-
const handleOpenModal =
|
|
25976
|
+
const handleOpenModal = useCallback31((e) => {
|
|
25868
25977
|
e.stopPropagation();
|
|
25869
25978
|
if (!workspaceId) {
|
|
25870
25979
|
message15.warning("Please select a workspace first");
|
|
@@ -25875,7 +25984,7 @@ var ProjectSelector = () => {
|
|
|
25875
25984
|
setIsModalOpen(true);
|
|
25876
25985
|
setTimeout(() => projectNameInputRef.current?.input?.focus(), 100);
|
|
25877
25986
|
}, [workspaceId]);
|
|
25878
|
-
const handleCloseModal =
|
|
25987
|
+
const handleCloseModal = useCallback31(() => {
|
|
25879
25988
|
setIsModalOpen(false);
|
|
25880
25989
|
setProjectName("");
|
|
25881
25990
|
setValidationError(null);
|
|
@@ -25885,7 +25994,7 @@ var ProjectSelector = () => {
|
|
|
25885
25994
|
setProjectName(value);
|
|
25886
25995
|
setValidationError(validateProjectName(value));
|
|
25887
25996
|
};
|
|
25888
|
-
const handleCreateProject =
|
|
25997
|
+
const handleCreateProject = useCallback31(async () => {
|
|
25889
25998
|
if (!workspaceId) return;
|
|
25890
25999
|
const trimmed = projectName.trim();
|
|
25891
26000
|
const error = validateProjectName(trimmed);
|
|
@@ -25918,21 +26027,21 @@ var ProjectSelector = () => {
|
|
|
25918
26027
|
};
|
|
25919
26028
|
const isProjectNameValid = !validateProjectName(projectName.trim());
|
|
25920
26029
|
return /* @__PURE__ */ jsxs73(Fragment22, { children: [
|
|
25921
|
-
/* @__PURE__ */
|
|
25922
|
-
/* @__PURE__ */
|
|
26030
|
+
/* @__PURE__ */ jsx102("div", { className: styles.container, children: /* @__PURE__ */ jsxs73("div", { className: styles.selectorWrapper, children: [
|
|
26031
|
+
/* @__PURE__ */ jsx102("div", { style: { position: "relative" }, ref: workspaceDropdownRef, children: /* @__PURE__ */ jsx102(
|
|
25923
26032
|
"button",
|
|
25924
26033
|
{
|
|
25925
26034
|
className: styles.workspaceButton,
|
|
25926
26035
|
onClick: handleWorkspaceClick,
|
|
25927
26036
|
title: currentWorkspace?.name || "Select Workspace",
|
|
25928
|
-
children: /* @__PURE__ */
|
|
26037
|
+
children: /* @__PURE__ */ jsx102("div", { className: styles.workspaceButtonIcon, children: /* @__PURE__ */ jsx102(Building24, { size: 16 }) })
|
|
25929
26038
|
}
|
|
25930
26039
|
) }),
|
|
25931
|
-
/* @__PURE__ */
|
|
26040
|
+
/* @__PURE__ */ jsx102("span", { className: styles.divider, children: "/" }),
|
|
25932
26041
|
/* @__PURE__ */ jsxs73("div", { className: styles.projectTrigger, onClick: toggleProjectList, children: [
|
|
25933
|
-
/* @__PURE__ */
|
|
25934
|
-
/* @__PURE__ */
|
|
25935
|
-
/* @__PURE__ */
|
|
26042
|
+
/* @__PURE__ */ jsx102("div", { className: styles.projectTriggerIcon, children: /* @__PURE__ */ jsx102(Folder, { size: 16 }) }),
|
|
26043
|
+
/* @__PURE__ */ jsx102("div", { className: styles.projectTriggerInfo, children: /* @__PURE__ */ jsx102("div", { className: styles.projectTriggerName, children: currentProject?.name || "Select Project" }) }),
|
|
26044
|
+
/* @__PURE__ */ jsx102("div", { className: `${styles.projectTriggerArrow} ${isProjectListOpen ? "expanded" : ""}`, children: /* @__PURE__ */ jsx102(ChevronDown4, { size: 14 }) })
|
|
25936
26045
|
] }),
|
|
25937
26046
|
isProjectListOpen && /* @__PURE__ */ jsxs73("div", { className: styles.projectDropdown, children: [
|
|
25938
26047
|
projects.map((project) => /* @__PURE__ */ jsxs73(
|
|
@@ -25941,13 +26050,13 @@ var ProjectSelector = () => {
|
|
|
25941
26050
|
className: `${styles.projectDropdownItem} ${project.id === projectId ? "active" : ""}`,
|
|
25942
26051
|
onClick: () => handleSelectProject(project.id),
|
|
25943
26052
|
children: [
|
|
25944
|
-
/* @__PURE__ */
|
|
25945
|
-
/* @__PURE__ */
|
|
26053
|
+
/* @__PURE__ */ jsx102("div", { className: styles.projectDropdownItemIcon, children: /* @__PURE__ */ jsx102(Folder, { size: 14 }) }),
|
|
26054
|
+
/* @__PURE__ */ jsx102("div", { className: project.id === projectId ? styles.projectDropdownItemNameActive : styles.projectDropdownItemName, children: project.name })
|
|
25946
26055
|
]
|
|
25947
26056
|
},
|
|
25948
26057
|
project.id
|
|
25949
26058
|
)),
|
|
25950
|
-
projects.length === 0 && /* @__PURE__ */
|
|
26059
|
+
projects.length === 0 && /* @__PURE__ */ jsx102("div", { className: styles.emptyState, children: "No projects" })
|
|
25951
26060
|
] })
|
|
25952
26061
|
] }) }),
|
|
25953
26062
|
/* @__PURE__ */ jsxs73(
|
|
@@ -25963,8 +26072,8 @@ var ProjectSelector = () => {
|
|
|
25963
26072
|
keyboard: true,
|
|
25964
26073
|
closable: true,
|
|
25965
26074
|
footer: /* @__PURE__ */ jsxs73("div", { className: styles.modalFooter, children: [
|
|
25966
|
-
/* @__PURE__ */
|
|
25967
|
-
/* @__PURE__ */
|
|
26075
|
+
/* @__PURE__ */ jsx102(Button45, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
|
|
26076
|
+
/* @__PURE__ */ jsx102(
|
|
25968
26077
|
Button45,
|
|
25969
26078
|
{
|
|
25970
26079
|
type: "primary",
|
|
@@ -25976,7 +26085,7 @@ var ProjectSelector = () => {
|
|
|
25976
26085
|
)
|
|
25977
26086
|
] }),
|
|
25978
26087
|
children: [
|
|
25979
|
-
/* @__PURE__ */
|
|
26088
|
+
/* @__PURE__ */ jsx102(
|
|
25980
26089
|
Input12,
|
|
25981
26090
|
{
|
|
25982
26091
|
ref: projectNameInputRef,
|
|
@@ -25988,7 +26097,7 @@ var ProjectSelector = () => {
|
|
|
25988
26097
|
status: validationError ? "error" : void 0
|
|
25989
26098
|
}
|
|
25990
26099
|
),
|
|
25991
|
-
validationError && /* @__PURE__ */
|
|
26100
|
+
validationError && /* @__PURE__ */ jsx102("div", { style: { color: "#ff4d4f", fontSize: "12px", marginTop: "4px" }, children: validationError })
|
|
25992
26101
|
]
|
|
25993
26102
|
}
|
|
25994
26103
|
)
|
|
@@ -25996,13 +26105,13 @@ var ProjectSelector = () => {
|
|
|
25996
26105
|
};
|
|
25997
26106
|
|
|
25998
26107
|
// src/components/Chat/LatticeChat.tsx
|
|
25999
|
-
import { jsx as
|
|
26108
|
+
import { jsx as jsx103, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
26000
26109
|
var LatticeChat = (props) => {
|
|
26001
26110
|
const { assistant_id, thread_id = "", menu, header, ...chatingProps } = props;
|
|
26002
26111
|
const { config } = useLatticeChatShellContext();
|
|
26003
26112
|
const showWorkspaceSelector = config.enableWorkspace;
|
|
26004
|
-
const leftTop = showWorkspaceSelector ? /* @__PURE__ */
|
|
26005
|
-
return /* @__PURE__ */
|
|
26113
|
+
const leftTop = showWorkspaceSelector ? /* @__PURE__ */ jsx103(ProjectSelector, {}) : null;
|
|
26114
|
+
return /* @__PURE__ */ jsx103(
|
|
26006
26115
|
AgentThreadProvider,
|
|
26007
26116
|
{
|
|
26008
26117
|
assistantId: assistant_id,
|
|
@@ -26012,7 +26121,7 @@ var LatticeChat = (props) => {
|
|
|
26012
26121
|
enableReturnStateWhenStreamCompleted: true,
|
|
26013
26122
|
enableResumeStream: true
|
|
26014
26123
|
},
|
|
26015
|
-
children: /* @__PURE__ */
|
|
26124
|
+
children: /* @__PURE__ */ jsx103(ChatUIContextProvider, { children: /* @__PURE__ */ jsxs74(
|
|
26016
26125
|
"div",
|
|
26017
26126
|
{
|
|
26018
26127
|
style: {
|
|
@@ -26023,13 +26132,13 @@ var LatticeChat = (props) => {
|
|
|
26023
26132
|
},
|
|
26024
26133
|
children: [
|
|
26025
26134
|
header,
|
|
26026
|
-
/* @__PURE__ */
|
|
26135
|
+
/* @__PURE__ */ jsx103(
|
|
26027
26136
|
ColumnLayout,
|
|
26028
26137
|
{
|
|
26029
26138
|
menu,
|
|
26030
26139
|
header: leftTop,
|
|
26031
|
-
left: thread_id ? /* @__PURE__ */
|
|
26032
|
-
right: /* @__PURE__ */
|
|
26140
|
+
left: thread_id ? /* @__PURE__ */ jsx103(Chating, { ...chatingProps }) : /* @__PURE__ */ jsx103("div", { children: "Please create a conversation first" }),
|
|
26141
|
+
right: /* @__PURE__ */ jsx103(SideAppViewBrowser, {})
|
|
26033
26142
|
}
|
|
26034
26143
|
)
|
|
26035
26144
|
]
|
|
@@ -26043,7 +26152,7 @@ var LatticeChat = (props) => {
|
|
|
26043
26152
|
import { Conversations } from "@ant-design/x";
|
|
26044
26153
|
import { theme as theme14 } from "antd";
|
|
26045
26154
|
import { useMemo as useMemo27 } from "react";
|
|
26046
|
-
import { jsx as
|
|
26155
|
+
import { jsx as jsx104 } from "react/jsx-runtime";
|
|
26047
26156
|
var AgentConversations = ({
|
|
26048
26157
|
enableThreadCreation = true,
|
|
26049
26158
|
enableThreadList = true
|
|
@@ -26082,7 +26191,7 @@ var AgentConversations = ({
|
|
|
26082
26191
|
const creation = enableThreadCreation ? {
|
|
26083
26192
|
onClick: newChatClick
|
|
26084
26193
|
} : void 0;
|
|
26085
|
-
return /* @__PURE__ */
|
|
26194
|
+
return /* @__PURE__ */ jsx104(
|
|
26086
26195
|
Conversations,
|
|
26087
26196
|
{
|
|
26088
26197
|
creation,
|
|
@@ -26101,7 +26210,7 @@ var AgentConversations = ({
|
|
|
26101
26210
|
import { useContext as useContext11 } from "react";
|
|
26102
26211
|
|
|
26103
26212
|
// src/components/Chat/ChatSidebar.tsx
|
|
26104
|
-
import { useState as
|
|
26213
|
+
import { useState as useState65, useMemo as useMemo29, useCallback as useCallback34 } from "react";
|
|
26105
26214
|
import { Drawer as Drawer2 } from "antd";
|
|
26106
26215
|
import {
|
|
26107
26216
|
History,
|
|
@@ -26112,11 +26221,11 @@ import {
|
|
|
26112
26221
|
} from "lucide-react";
|
|
26113
26222
|
|
|
26114
26223
|
// src/components/Chat/ProjectsMenuContent.tsx
|
|
26115
|
-
import { useState as
|
|
26224
|
+
import { useState as useState64, useEffect as useEffect40, useCallback as useCallback32, useMemo as useMemo28, useRef as useRef25 } from "react";
|
|
26116
26225
|
import { Spin as Spin15, Modal as Modal17, Input as Input13, Button as Button46, message as message16 } from "antd";
|
|
26117
26226
|
import { createStyles as createStyles31 } from "antd-style";
|
|
26118
26227
|
import { Upload } from "lucide-react";
|
|
26119
|
-
import { Fragment as Fragment23, jsx as
|
|
26228
|
+
import { Fragment as Fragment23, jsx as jsx105, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
26120
26229
|
var PROJECT_NAME_MAX_LENGTH2 = 50;
|
|
26121
26230
|
var useStyles18 = createStyles31(({ token, css }) => ({
|
|
26122
26231
|
container: css`
|
|
@@ -26485,22 +26594,22 @@ var ProjectsMenuContent = () => {
|
|
|
26485
26594
|
getFileViewUrl,
|
|
26486
26595
|
uploadFileToFolder
|
|
26487
26596
|
} = useWorkspaceContext();
|
|
26488
|
-
const [folderAssets, setFolderAssets] =
|
|
26489
|
-
const [folderLoading, setFolderLoading] =
|
|
26490
|
-
const [isProjectListOpen, setIsProjectListOpen] =
|
|
26491
|
-
const [uploadingFolder, setUploadingFolder] =
|
|
26492
|
-
const [isModalOpen, setIsModalOpen] =
|
|
26493
|
-
const [projectName, setProjectName] =
|
|
26494
|
-
const [validationError, setValidationError] =
|
|
26495
|
-
const [isCreating, setIsCreating] =
|
|
26496
|
-
const projectNameInputRef =
|
|
26597
|
+
const [folderAssets, setFolderAssets] = useState64({});
|
|
26598
|
+
const [folderLoading, setFolderLoading] = useState64({});
|
|
26599
|
+
const [isProjectListOpen, setIsProjectListOpen] = useState64(false);
|
|
26600
|
+
const [uploadingFolder, setUploadingFolder] = useState64(null);
|
|
26601
|
+
const [isModalOpen, setIsModalOpen] = useState64(false);
|
|
26602
|
+
const [projectName, setProjectName] = useState64("");
|
|
26603
|
+
const [validationError, setValidationError] = useState64(null);
|
|
26604
|
+
const [isCreating, setIsCreating] = useState64(false);
|
|
26605
|
+
const projectNameInputRef = useRef25(null);
|
|
26497
26606
|
const resourceFolders = useMemo28(() => {
|
|
26498
26607
|
return config.resourceFolders && config.resourceFolders.length > 0 ? config.resourceFolders : [{ name: "/", displayName: "Project Assets", allowUpload: true }];
|
|
26499
26608
|
}, [config.resourceFolders]);
|
|
26500
26609
|
const currentProject = useMemo28(() => {
|
|
26501
26610
|
return projects.find((p) => p.id === projectId);
|
|
26502
26611
|
}, [projects, projectId]);
|
|
26503
|
-
const loadAssetsForFolder =
|
|
26612
|
+
const loadAssetsForFolder = useCallback32(async (folder) => {
|
|
26504
26613
|
if (!workspaceId || !projectId) {
|
|
26505
26614
|
setFolderAssets((prev) => ({ ...prev, [folder.name]: [] }));
|
|
26506
26615
|
return;
|
|
@@ -26516,19 +26625,19 @@ var ProjectsMenuContent = () => {
|
|
|
26516
26625
|
setFolderLoading((prev) => ({ ...prev, [folder.name]: false }));
|
|
26517
26626
|
}
|
|
26518
26627
|
}, [workspaceId, projectId, listPathByFolder]);
|
|
26519
|
-
|
|
26628
|
+
useEffect40(() => {
|
|
26520
26629
|
resourceFolders.forEach((folder) => {
|
|
26521
26630
|
loadAssetsForFolder(folder);
|
|
26522
26631
|
});
|
|
26523
26632
|
}, [workspaceId, projectId, loadAssetsForFolder, resourceFolders]);
|
|
26524
|
-
const handleSelectProject =
|
|
26633
|
+
const handleSelectProject = useCallback32((selectedProjectId) => {
|
|
26525
26634
|
setProject(selectedProjectId);
|
|
26526
26635
|
setIsProjectListOpen(false);
|
|
26527
26636
|
}, [setProject]);
|
|
26528
|
-
const toggleProjectList =
|
|
26637
|
+
const toggleProjectList = useCallback32(() => {
|
|
26529
26638
|
setIsProjectListOpen((prev) => !prev);
|
|
26530
26639
|
}, []);
|
|
26531
|
-
const validateProjectName =
|
|
26640
|
+
const validateProjectName = useCallback32((name) => {
|
|
26532
26641
|
const trimmed = name.trim();
|
|
26533
26642
|
if (!trimmed) return "Project name is required";
|
|
26534
26643
|
if (trimmed.length > PROJECT_NAME_MAX_LENGTH2) {
|
|
@@ -26536,7 +26645,7 @@ var ProjectsMenuContent = () => {
|
|
|
26536
26645
|
}
|
|
26537
26646
|
return null;
|
|
26538
26647
|
}, []);
|
|
26539
|
-
const handleOpenModal =
|
|
26648
|
+
const handleOpenModal = useCallback32(() => {
|
|
26540
26649
|
if (!workspaceId) {
|
|
26541
26650
|
message16.warning("Please select a workspace first");
|
|
26542
26651
|
return;
|
|
@@ -26546,7 +26655,7 @@ var ProjectsMenuContent = () => {
|
|
|
26546
26655
|
setIsModalOpen(true);
|
|
26547
26656
|
setTimeout(() => projectNameInputRef.current?.input?.focus(), 100);
|
|
26548
26657
|
}, [workspaceId]);
|
|
26549
|
-
const handleCloseModal =
|
|
26658
|
+
const handleCloseModal = useCallback32(() => {
|
|
26550
26659
|
setIsModalOpen(false);
|
|
26551
26660
|
setProjectName("");
|
|
26552
26661
|
setValidationError(null);
|
|
@@ -26556,7 +26665,7 @@ var ProjectsMenuContent = () => {
|
|
|
26556
26665
|
setProjectName(value);
|
|
26557
26666
|
setValidationError(validateProjectName(value));
|
|
26558
26667
|
};
|
|
26559
|
-
const handleCreateProject =
|
|
26668
|
+
const handleCreateProject = useCallback32(async () => {
|
|
26560
26669
|
if (!workspaceId) return;
|
|
26561
26670
|
const trimmed = projectName.trim();
|
|
26562
26671
|
const error = validateProjectName(trimmed);
|
|
@@ -26651,7 +26760,7 @@ var ProjectsMenuContent = () => {
|
|
|
26651
26760
|
const isLoading = folderLoading[folder.name] || false;
|
|
26652
26761
|
return /* @__PURE__ */ jsxs75("div", { className: styles.section, children: [
|
|
26653
26762
|
/* @__PURE__ */ jsxs75("div", { className: styles.sectionHeader, children: [
|
|
26654
|
-
/* @__PURE__ */
|
|
26763
|
+
/* @__PURE__ */ jsx105(
|
|
26655
26764
|
"span",
|
|
26656
26765
|
{
|
|
26657
26766
|
className: styles.sectionTitle,
|
|
@@ -26660,9 +26769,9 @@ var ProjectsMenuContent = () => {
|
|
|
26660
26769
|
children: folder.displayName || folder.name
|
|
26661
26770
|
}
|
|
26662
26771
|
),
|
|
26663
|
-
/* @__PURE__ */
|
|
26772
|
+
/* @__PURE__ */ jsx105("span", { className: styles.badge, children: assets.length })
|
|
26664
26773
|
] }),
|
|
26665
|
-
isLoading ? /* @__PURE__ */
|
|
26774
|
+
isLoading ? /* @__PURE__ */ jsx105("div", { className: styles.loading, children: /* @__PURE__ */ jsx105(Spin15, { size: "small" }) }) : /* @__PURE__ */ jsxs75("div", { className: styles.assetList, children: [
|
|
26666
26775
|
assets.map((asset) => /* @__PURE__ */ jsxs75(
|
|
26667
26776
|
"div",
|
|
26668
26777
|
{
|
|
@@ -26670,17 +26779,17 @@ var ProjectsMenuContent = () => {
|
|
|
26670
26779
|
onClick: () => handleAssetClick(asset),
|
|
26671
26780
|
title: getFileName(asset.name || asset.path),
|
|
26672
26781
|
children: [
|
|
26673
|
-
/* @__PURE__ */
|
|
26782
|
+
/* @__PURE__ */ jsx105("div", { className: styles.assetIcon, children: getFileIcon2(getFileName(asset.name || asset.path)) }),
|
|
26674
26783
|
/* @__PURE__ */ jsxs75("div", { className: styles.assetInfo, children: [
|
|
26675
|
-
/* @__PURE__ */
|
|
26676
|
-
/* @__PURE__ */
|
|
26784
|
+
/* @__PURE__ */ jsx105("div", { className: styles.assetName, children: getFileName(asset.name || asset.path) }),
|
|
26785
|
+
/* @__PURE__ */ jsx105("div", { className: styles.assetMeta, children: formatDate5(asset.modified_at) })
|
|
26677
26786
|
] })
|
|
26678
26787
|
]
|
|
26679
26788
|
},
|
|
26680
26789
|
asset.path
|
|
26681
26790
|
)),
|
|
26682
|
-
assets.length === 0 && /* @__PURE__ */
|
|
26683
|
-
folder.allowUpload && /* @__PURE__ */
|
|
26791
|
+
assets.length === 0 && /* @__PURE__ */ jsx105("div", { className: styles.emptyState, children: "No files in this folder" }),
|
|
26792
|
+
folder.allowUpload && /* @__PURE__ */ jsx105(
|
|
26684
26793
|
"button",
|
|
26685
26794
|
{
|
|
26686
26795
|
type: "button",
|
|
@@ -26688,11 +26797,11 @@ var ProjectsMenuContent = () => {
|
|
|
26688
26797
|
onClick: () => handleUploadClick(folder.name),
|
|
26689
26798
|
disabled: !workspaceId || !projectId || uploadingFolder === folder.name,
|
|
26690
26799
|
children: uploadingFolder === folder.name ? /* @__PURE__ */ jsxs75(Fragment23, { children: [
|
|
26691
|
-
/* @__PURE__ */
|
|
26692
|
-
/* @__PURE__ */
|
|
26800
|
+
/* @__PURE__ */ jsx105(Spin15, { size: "small" }),
|
|
26801
|
+
/* @__PURE__ */ jsx105("span", { children: "Uploading..." })
|
|
26693
26802
|
] }) : /* @__PURE__ */ jsxs75(Fragment23, { children: [
|
|
26694
|
-
/* @__PURE__ */
|
|
26695
|
-
/* @__PURE__ */
|
|
26803
|
+
/* @__PURE__ */ jsx105(Upload, { size: 14 }),
|
|
26804
|
+
/* @__PURE__ */ jsx105("span", { children: "Upload" })
|
|
26696
26805
|
] })
|
|
26697
26806
|
}
|
|
26698
26807
|
)
|
|
@@ -26712,8 +26821,8 @@ var ProjectsMenuContent = () => {
|
|
|
26712
26821
|
keyboard: true,
|
|
26713
26822
|
closable: true,
|
|
26714
26823
|
footer: /* @__PURE__ */ jsxs75("div", { className: styles.modalFooter, children: [
|
|
26715
|
-
/* @__PURE__ */
|
|
26716
|
-
/* @__PURE__ */
|
|
26824
|
+
/* @__PURE__ */ jsx105(Button46, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
|
|
26825
|
+
/* @__PURE__ */ jsx105(
|
|
26717
26826
|
Button46,
|
|
26718
26827
|
{
|
|
26719
26828
|
type: "primary",
|
|
@@ -26725,8 +26834,8 @@ var ProjectsMenuContent = () => {
|
|
|
26725
26834
|
)
|
|
26726
26835
|
] }),
|
|
26727
26836
|
children: [
|
|
26728
|
-
/* @__PURE__ */
|
|
26729
|
-
/* @__PURE__ */
|
|
26837
|
+
/* @__PURE__ */ jsx105("label", { className: styles.formLabel, htmlFor: "project-name", children: "Project Name" }),
|
|
26838
|
+
/* @__PURE__ */ jsx105(
|
|
26730
26839
|
Input13,
|
|
26731
26840
|
{
|
|
26732
26841
|
id: "project-name",
|
|
@@ -26741,7 +26850,7 @@ var ProjectsMenuContent = () => {
|
|
|
26741
26850
|
disabled: isCreating
|
|
26742
26851
|
}
|
|
26743
26852
|
),
|
|
26744
|
-
validationError && /* @__PURE__ */
|
|
26853
|
+
validationError && /* @__PURE__ */ jsx105("div", { className: styles.formError, role: "alert", children: validationError })
|
|
26745
26854
|
]
|
|
26746
26855
|
}
|
|
26747
26856
|
)
|
|
@@ -26749,11 +26858,11 @@ var ProjectsMenuContent = () => {
|
|
|
26749
26858
|
};
|
|
26750
26859
|
|
|
26751
26860
|
// src/components/Chat/ThreadHistoryMenuContent.tsx
|
|
26752
|
-
import
|
|
26861
|
+
import React58, { useCallback as useCallback33 } from "react";
|
|
26753
26862
|
import { createStyles as createStyles32 } from "antd-style";
|
|
26754
26863
|
import { MessageSquare as MessageSquare2, Trash2 as Trash24 } from "lucide-react";
|
|
26755
26864
|
import { message as message17, Modal as Modal18 } from "antd";
|
|
26756
|
-
import { jsx as
|
|
26865
|
+
import { jsx as jsx106, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
26757
26866
|
var useStyles19 = createStyles32(({ token, css }) => ({
|
|
26758
26867
|
container: css`
|
|
26759
26868
|
padding: 4px;
|
|
@@ -26863,7 +26972,7 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26863
26972
|
deleteThread,
|
|
26864
26973
|
isLoading
|
|
26865
26974
|
} = useConversationContext();
|
|
26866
|
-
const handleDeleteThread =
|
|
26975
|
+
const handleDeleteThread = useCallback33(
|
|
26867
26976
|
async (e, threadIdToDelete) => {
|
|
26868
26977
|
e.stopPropagation();
|
|
26869
26978
|
Modal18.confirm({
|
|
@@ -26884,7 +26993,7 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26884
26993
|
},
|
|
26885
26994
|
[deleteThread]
|
|
26886
26995
|
);
|
|
26887
|
-
const sortedThreads =
|
|
26996
|
+
const sortedThreads = React58.useMemo(() => {
|
|
26888
26997
|
return [...threads].sort((a, b) => {
|
|
26889
26998
|
const dateA = a.updatedAt ? new Date(a.updatedAt).getTime() : 0;
|
|
26890
26999
|
const dateB = b.updatedAt ? new Date(b.updatedAt).getTime() : 0;
|
|
@@ -26892,30 +27001,30 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26892
27001
|
});
|
|
26893
27002
|
}, [threads]);
|
|
26894
27003
|
if (isLoading) {
|
|
26895
|
-
return /* @__PURE__ */
|
|
27004
|
+
return /* @__PURE__ */ jsx106("div", { className: styles.container, children: /* @__PURE__ */ jsx106("div", { className: styles.loading, children: "Loading conversations..." }) });
|
|
26896
27005
|
}
|
|
26897
|
-
return /* @__PURE__ */
|
|
27006
|
+
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(
|
|
26898
27007
|
"div",
|
|
26899
27008
|
{
|
|
26900
27009
|
className: `${styles.threadItem} ${thread.id === threadId ? "active" : ""}`,
|
|
26901
27010
|
onClick: () => selectThread(thread.id),
|
|
26902
27011
|
title: thread.label,
|
|
26903
27012
|
children: [
|
|
26904
|
-
/* @__PURE__ */
|
|
26905
|
-
/* @__PURE__ */
|
|
27013
|
+
/* @__PURE__ */ jsx106("div", { className: styles.threadIcon, children: /* @__PURE__ */ jsx106(MessageSquare2, { size: 14 }) }),
|
|
27014
|
+
/* @__PURE__ */ jsx106(
|
|
26906
27015
|
"div",
|
|
26907
27016
|
{
|
|
26908
27017
|
className: thread.id === threadId ? styles.threadNameActive : styles.threadName,
|
|
26909
27018
|
children: thread.label
|
|
26910
27019
|
}
|
|
26911
27020
|
),
|
|
26912
|
-
/* @__PURE__ */
|
|
27021
|
+
/* @__PURE__ */ jsx106(
|
|
26913
27022
|
"button",
|
|
26914
27023
|
{
|
|
26915
27024
|
className: styles.deleteBtn,
|
|
26916
27025
|
onClick: (e) => handleDeleteThread(e, thread.id),
|
|
26917
27026
|
title: "Delete conversation",
|
|
26918
|
-
children: /* @__PURE__ */
|
|
27027
|
+
children: /* @__PURE__ */ jsx106(Trash24, { size: 12 })
|
|
26919
27028
|
}
|
|
26920
27029
|
)
|
|
26921
27030
|
]
|
|
@@ -26925,7 +27034,7 @@ var ThreadHistoryMenuContent = () => {
|
|
|
26925
27034
|
};
|
|
26926
27035
|
|
|
26927
27036
|
// src/components/Chat/ChatSidebar.tsx
|
|
26928
|
-
import { Fragment as Fragment24, jsx as
|
|
27037
|
+
import { Fragment as Fragment24, jsx as jsx107, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
26929
27038
|
var DRAWER_STYLES2 = {
|
|
26930
27039
|
wrapper: {
|
|
26931
27040
|
background: "transparent",
|
|
@@ -26951,7 +27060,7 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26951
27060
|
builtin: "new-analysis",
|
|
26952
27061
|
type: "action",
|
|
26953
27062
|
name: "New Analysis",
|
|
26954
|
-
icon: /* @__PURE__ */
|
|
27063
|
+
icon: /* @__PURE__ */ jsx107(PlusCircle, { size: 20 }),
|
|
26955
27064
|
order: 0
|
|
26956
27065
|
},
|
|
26957
27066
|
// Second: Thread History (inline drawer)
|
|
@@ -26960,13 +27069,13 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26960
27069
|
builtin: "thread-history",
|
|
26961
27070
|
type: "drawer",
|
|
26962
27071
|
name: "History",
|
|
26963
|
-
icon: /* @__PURE__ */
|
|
27072
|
+
icon: /* @__PURE__ */ jsx107(History, { size: 20 }),
|
|
26964
27073
|
order: 1,
|
|
26965
27074
|
title: "Conversation History",
|
|
26966
27075
|
width: 320,
|
|
26967
27076
|
inline: true,
|
|
26968
27077
|
inlineDefaultExpanded: false,
|
|
26969
|
-
content: /* @__PURE__ */
|
|
27078
|
+
content: /* @__PURE__ */ jsx107(ThreadHistoryMenuContent, {})
|
|
26970
27079
|
},
|
|
26971
27080
|
// Third: Projects (inline drawer)
|
|
26972
27081
|
{
|
|
@@ -26974,13 +27083,13 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26974
27083
|
builtin: "projects",
|
|
26975
27084
|
type: "drawer",
|
|
26976
27085
|
name: "Project Files",
|
|
26977
|
-
icon: /* @__PURE__ */
|
|
27086
|
+
icon: /* @__PURE__ */ jsx107(FolderOpen4, {}),
|
|
26978
27087
|
order: 2,
|
|
26979
27088
|
title: "Project Files",
|
|
26980
27089
|
width: 320,
|
|
26981
27090
|
inline: true,
|
|
26982
27091
|
inlineDefaultExpanded: true,
|
|
26983
|
-
content: /* @__PURE__ */
|
|
27092
|
+
content: /* @__PURE__ */ jsx107(ProjectsMenuContent, {})
|
|
26984
27093
|
},
|
|
26985
27094
|
// Logout action
|
|
26986
27095
|
{
|
|
@@ -26988,7 +27097,7 @@ var DEFAULT_MENU_ITEMS = [
|
|
|
26988
27097
|
builtin: "logout",
|
|
26989
27098
|
type: "action",
|
|
26990
27099
|
name: "Logout",
|
|
26991
|
-
icon: /* @__PURE__ */
|
|
27100
|
+
icon: /* @__PURE__ */ jsx107(LogOut4, { size: 20 }),
|
|
26992
27101
|
order: 1e3,
|
|
26993
27102
|
group: "Account"
|
|
26994
27103
|
}
|
|
@@ -27002,7 +27111,7 @@ var ChatSidebar = ({
|
|
|
27002
27111
|
const { sideAppVisible, menuCollapsed, setMenuCollapsed } = useChatUIContext();
|
|
27003
27112
|
const { logout } = useAuth();
|
|
27004
27113
|
const { createThread } = useConversationContext();
|
|
27005
|
-
const [drawerStates, setDrawerStates] =
|
|
27114
|
+
const [drawerStates, setDrawerStates] = useState65({});
|
|
27006
27115
|
const {
|
|
27007
27116
|
sidebarMode,
|
|
27008
27117
|
sidebarShowToggle,
|
|
@@ -27018,7 +27127,7 @@ var ChatSidebar = ({
|
|
|
27018
27127
|
}
|
|
27019
27128
|
return items.sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
|
|
27020
27129
|
}, [customMenuItems]);
|
|
27021
|
-
const handleMenuClick =
|
|
27130
|
+
const handleMenuClick = useCallback34(async (item) => {
|
|
27022
27131
|
if (item.builtin === "settings") {
|
|
27023
27132
|
setSettingsModalOpen(true);
|
|
27024
27133
|
onSettingsClick?.();
|
|
@@ -27043,28 +27152,28 @@ var ChatSidebar = ({
|
|
|
27043
27152
|
}
|
|
27044
27153
|
}
|
|
27045
27154
|
}, [onSettingsClick, setSettingsModalOpen, createThread, logout]);
|
|
27046
|
-
const handleCloseDrawer =
|
|
27155
|
+
const handleCloseDrawer = useCallback34((itemId) => {
|
|
27047
27156
|
setDrawerStates((prev) => ({ ...prev, [itemId]: false }));
|
|
27048
27157
|
}, []);
|
|
27049
|
-
const handleNewAnalysis =
|
|
27158
|
+
const handleNewAnalysis = useCallback34(async () => {
|
|
27050
27159
|
try {
|
|
27051
27160
|
await createThread("New Analysis");
|
|
27052
27161
|
} catch (error) {
|
|
27053
27162
|
console.error("Failed to create new thread:", error);
|
|
27054
27163
|
}
|
|
27055
27164
|
}, [createThread]);
|
|
27056
|
-
const renderDrawerContent =
|
|
27165
|
+
const renderDrawerContent = useCallback34((item) => {
|
|
27057
27166
|
switch (item.builtin) {
|
|
27058
27167
|
case "projects":
|
|
27059
|
-
return /* @__PURE__ */
|
|
27168
|
+
return /* @__PURE__ */ jsx107(ProjectsMenuContent, {});
|
|
27060
27169
|
case "thread-history":
|
|
27061
|
-
return /* @__PURE__ */
|
|
27170
|
+
return /* @__PURE__ */ jsx107(ThreadHistoryMenuContent, {});
|
|
27062
27171
|
default:
|
|
27063
27172
|
return item.content;
|
|
27064
27173
|
}
|
|
27065
27174
|
}, []);
|
|
27066
27175
|
return /* @__PURE__ */ jsxs77(Fragment24, { children: [
|
|
27067
|
-
/* @__PURE__ */
|
|
27176
|
+
/* @__PURE__ */ jsx107(
|
|
27068
27177
|
Menu,
|
|
27069
27178
|
{
|
|
27070
27179
|
items: menuItems,
|
|
@@ -27080,12 +27189,12 @@ var ChatSidebar = ({
|
|
|
27080
27189
|
onCollapsedChange: setMenuCollapsed
|
|
27081
27190
|
}
|
|
27082
27191
|
),
|
|
27083
|
-
menuItems.filter((item) => item.type === "drawer" && !item.inline).map((item) => /* @__PURE__ */
|
|
27192
|
+
menuItems.filter((item) => item.type === "drawer" && !item.inline).map((item) => /* @__PURE__ */ jsx107(
|
|
27084
27193
|
Drawer2,
|
|
27085
27194
|
{
|
|
27086
27195
|
title: /* @__PURE__ */ jsxs77("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%" }, children: [
|
|
27087
|
-
/* @__PURE__ */
|
|
27088
|
-
/* @__PURE__ */
|
|
27196
|
+
/* @__PURE__ */ jsx107("span", { style: { fontSize: 16, fontWeight: 600, textTransform: "uppercase", letterSpacing: 0.5 }, children: item.title || item.name }),
|
|
27197
|
+
/* @__PURE__ */ jsx107(
|
|
27089
27198
|
"button",
|
|
27090
27199
|
{
|
|
27091
27200
|
onClick: () => handleCloseDrawer(item.id),
|
|
@@ -27100,7 +27209,7 @@ var ChatSidebar = ({
|
|
|
27100
27209
|
background: "rgba(255, 255, 255, 0.5)",
|
|
27101
27210
|
cursor: "pointer"
|
|
27102
27211
|
},
|
|
27103
|
-
children: /* @__PURE__ */
|
|
27212
|
+
children: /* @__PURE__ */ jsx107(PanelLeftClose2, { size: 24 })
|
|
27104
27213
|
}
|
|
27105
27214
|
)
|
|
27106
27215
|
] }),
|
|
@@ -27131,7 +27240,7 @@ var ChatSidebar = ({
|
|
|
27131
27240
|
};
|
|
27132
27241
|
|
|
27133
27242
|
// src/components/Chat/LatticeChatView.tsx
|
|
27134
|
-
import { jsx as
|
|
27243
|
+
import { jsx as jsx108 } from "react/jsx-runtime";
|
|
27135
27244
|
var LatticeChatView = (props) => {
|
|
27136
27245
|
const shellContext = useContext11(LatticeChatShellContext);
|
|
27137
27246
|
const { showSideMenu, sideMenuItems } = shellContext.config;
|
|
@@ -27140,7 +27249,7 @@ var LatticeChatView = (props) => {
|
|
|
27140
27249
|
const {
|
|
27141
27250
|
config: { baseURL }
|
|
27142
27251
|
} = useLatticeChatShellContext();
|
|
27143
|
-
return assistantId && thread ? /* @__PURE__ */
|
|
27252
|
+
return assistantId && thread ? /* @__PURE__ */ jsx108(
|
|
27144
27253
|
AxiomLatticeProvider,
|
|
27145
27254
|
{
|
|
27146
27255
|
config: {
|
|
@@ -27149,14 +27258,14 @@ var LatticeChatView = (props) => {
|
|
|
27149
27258
|
assistantId,
|
|
27150
27259
|
transport: "sse"
|
|
27151
27260
|
},
|
|
27152
|
-
children: /* @__PURE__ */
|
|
27261
|
+
children: /* @__PURE__ */ jsx108(
|
|
27153
27262
|
LatticeChat,
|
|
27154
27263
|
{
|
|
27155
27264
|
thread_id: thread?.id,
|
|
27156
27265
|
assistant_id: assistantId,
|
|
27157
27266
|
name: currentAssistant?.name,
|
|
27158
27267
|
description: currentAssistant?.description,
|
|
27159
|
-
menu: showSideMenu ? /* @__PURE__ */
|
|
27268
|
+
menu: showSideMenu ? /* @__PURE__ */ jsx108(ChatSidebar, { customMenuItems: sideMenuItems }) : void 0
|
|
27160
27269
|
}
|
|
27161
27270
|
)
|
|
27162
27271
|
}
|
|
@@ -27164,7 +27273,7 @@ var LatticeChatView = (props) => {
|
|
|
27164
27273
|
};
|
|
27165
27274
|
|
|
27166
27275
|
// src/components/Chat/SettingsModal.tsx
|
|
27167
|
-
import { useState as
|
|
27276
|
+
import { useState as useState66, useEffect as useEffect41, useRef as useRef26 } from "react";
|
|
27168
27277
|
import {
|
|
27169
27278
|
Modal as Modal19,
|
|
27170
27279
|
Input as Input14,
|
|
@@ -27173,7 +27282,7 @@ import {
|
|
|
27173
27282
|
notification as notification5,
|
|
27174
27283
|
Typography as Typography48,
|
|
27175
27284
|
Alert as Alert8,
|
|
27176
|
-
Select as
|
|
27285
|
+
Select as Select7,
|
|
27177
27286
|
Switch as Switch3,
|
|
27178
27287
|
Space as Space37,
|
|
27179
27288
|
Tabs as Tabs3
|
|
@@ -27191,7 +27300,7 @@ import {
|
|
|
27191
27300
|
CloudServerOutlined
|
|
27192
27301
|
} from "@ant-design/icons";
|
|
27193
27302
|
import { createStyles as createStyles33 } from "antd-style";
|
|
27194
|
-
import { Fragment as Fragment25, jsx as
|
|
27303
|
+
import { Fragment as Fragment25, jsx as jsx109, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
27195
27304
|
var { Text: Text37, Title: Title13 } = Typography48;
|
|
27196
27305
|
var { TextArea: TextArea8 } = Input14;
|
|
27197
27306
|
var useStyles20 = createStyles33(({ token, css }) => ({
|
|
@@ -27539,12 +27648,12 @@ var SETTINGS_MENU_ITEMS = [
|
|
|
27539
27648
|
{
|
|
27540
27649
|
key: "environment",
|
|
27541
27650
|
label: "Environment Variables",
|
|
27542
|
-
icon: /* @__PURE__ */
|
|
27651
|
+
icon: /* @__PURE__ */ jsx109(EnvironmentOutlined, {})
|
|
27543
27652
|
},
|
|
27544
27653
|
{
|
|
27545
27654
|
key: "models",
|
|
27546
27655
|
label: "Model Configuration",
|
|
27547
|
-
icon: /* @__PURE__ */
|
|
27656
|
+
icon: /* @__PURE__ */ jsx109(ApiOutlined, {})
|
|
27548
27657
|
}
|
|
27549
27658
|
];
|
|
27550
27659
|
var SettingsModal = ({
|
|
@@ -27553,7 +27662,7 @@ var SettingsModal = ({
|
|
|
27553
27662
|
}) => {
|
|
27554
27663
|
const { styles } = useStyles20();
|
|
27555
27664
|
const { config: shellConfig, updateConfigValue } = useLatticeChatShellContext();
|
|
27556
|
-
const [connections, setConnections] =
|
|
27665
|
+
const [connections, setConnections] = useState66(() => {
|
|
27557
27666
|
if (typeof window !== "undefined") {
|
|
27558
27667
|
try {
|
|
27559
27668
|
const stored = localStorage.getItem("lattice_server_connections");
|
|
@@ -27576,21 +27685,21 @@ var SettingsModal = ({
|
|
|
27576
27685
|
}
|
|
27577
27686
|
return [];
|
|
27578
27687
|
});
|
|
27579
|
-
const [serverConfigs, setServerConfigs] =
|
|
27580
|
-
const connectionsRef =
|
|
27581
|
-
|
|
27688
|
+
const [serverConfigs, setServerConfigs] = useState66({});
|
|
27689
|
+
const connectionsRef = useRef26(connections);
|
|
27690
|
+
useEffect41(() => {
|
|
27582
27691
|
connectionsRef.current = connections;
|
|
27583
27692
|
}, [connections]);
|
|
27584
|
-
const [activeTabKey, setActiveTabKey] =
|
|
27693
|
+
const [activeTabKey, setActiveTabKey] = useState66(
|
|
27585
27694
|
connections.length > 0 ? connections[0].id : ""
|
|
27586
27695
|
);
|
|
27587
|
-
const [activeMenu, setActiveMenu] =
|
|
27588
|
-
const [loading, setLoading] =
|
|
27589
|
-
const [showAddServerModal, setShowAddServerModal] =
|
|
27590
|
-
const [newServerUrl, setNewServerUrl] =
|
|
27591
|
-
const [newServerName, setNewServerName] =
|
|
27592
|
-
const [newServerApiKey, setNewServerApiKey] =
|
|
27593
|
-
const [addingServer, setAddingServer] =
|
|
27696
|
+
const [activeMenu, setActiveMenu] = useState66("environment");
|
|
27697
|
+
const [loading, setLoading] = useState66(false);
|
|
27698
|
+
const [showAddServerModal, setShowAddServerModal] = useState66(false);
|
|
27699
|
+
const [newServerUrl, setNewServerUrl] = useState66("");
|
|
27700
|
+
const [newServerName, setNewServerName] = useState66("");
|
|
27701
|
+
const [newServerApiKey, setNewServerApiKey] = useState66("");
|
|
27702
|
+
const [addingServer, setAddingServer] = useState66(false);
|
|
27594
27703
|
const saveConnections = (newConnections) => {
|
|
27595
27704
|
setConnections(newConnections);
|
|
27596
27705
|
if (typeof window !== "undefined") {
|
|
@@ -27780,7 +27889,7 @@ var SettingsModal = ({
|
|
|
27780
27889
|
console.error("Failed to load models configuration:", error);
|
|
27781
27890
|
}
|
|
27782
27891
|
};
|
|
27783
|
-
|
|
27892
|
+
useEffect41(() => {
|
|
27784
27893
|
if (open && activeTabKey) {
|
|
27785
27894
|
initializeServerConfig(activeTabKey);
|
|
27786
27895
|
const connection = connections.find((c) => c.id === activeTabKey);
|
|
@@ -27789,7 +27898,7 @@ var SettingsModal = ({
|
|
|
27789
27898
|
}
|
|
27790
27899
|
}
|
|
27791
27900
|
}, [open, activeTabKey]);
|
|
27792
|
-
|
|
27901
|
+
useEffect41(() => {
|
|
27793
27902
|
if (open && activeTabKey) {
|
|
27794
27903
|
const connection = connections.find((c) => c.id === activeTabKey);
|
|
27795
27904
|
if (connection?.connected) {
|
|
@@ -28001,24 +28110,24 @@ var SettingsModal = ({
|
|
|
28001
28110
|
}));
|
|
28002
28111
|
};
|
|
28003
28112
|
return /* @__PURE__ */ jsxs78("div", { className: styles.formContainer, children: [
|
|
28004
|
-
/* @__PURE__ */
|
|
28113
|
+
/* @__PURE__ */ jsx109(
|
|
28005
28114
|
Alert8,
|
|
28006
28115
|
{
|
|
28007
28116
|
message: "Configuration Effect",
|
|
28008
28117
|
description: /* @__PURE__ */ jsxs78("div", { children: [
|
|
28009
28118
|
/* @__PURE__ */ jsxs78("div", { style: { marginBottom: 8 }, children: [
|
|
28010
|
-
/* @__PURE__ */
|
|
28119
|
+
/* @__PURE__ */ jsx109(
|
|
28011
28120
|
CheckCircleOutlined8,
|
|
28012
28121
|
{
|
|
28013
28122
|
style: { color: "#52c41a", marginRight: 8 }
|
|
28014
28123
|
}
|
|
28015
28124
|
),
|
|
28016
|
-
/* @__PURE__ */
|
|
28125
|
+
/* @__PURE__ */ jsx109("strong", { children: "Immediately effective:" }),
|
|
28017
28126
|
" QUEUE_SERVICE_TYPE, REDIS_URL, REDIS_PASSWORD, QUEUE_NAME"
|
|
28018
28127
|
] }),
|
|
28019
28128
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28020
|
-
/* @__PURE__ */
|
|
28021
|
-
/* @__PURE__ */
|
|
28129
|
+
/* @__PURE__ */ jsx109(ReloadOutlined4, { style: { color: "#faad14", marginRight: 8 } }),
|
|
28130
|
+
/* @__PURE__ */ jsx109("strong", { children: "Requires restart:" }),
|
|
28022
28131
|
" PORT (server must be restarted to change port)"
|
|
28023
28132
|
] })
|
|
28024
28133
|
] }),
|
|
@@ -28027,8 +28136,8 @@ var SettingsModal = ({
|
|
|
28027
28136
|
className: styles.alertCard
|
|
28028
28137
|
}
|
|
28029
28138
|
),
|
|
28030
|
-
/* @__PURE__ */
|
|
28031
|
-
/* @__PURE__ */
|
|
28139
|
+
/* @__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." }) }),
|
|
28140
|
+
/* @__PURE__ */ jsx109(
|
|
28032
28141
|
TextArea8,
|
|
28033
28142
|
{
|
|
28034
28143
|
value: config.envText,
|
|
@@ -28106,7 +28215,7 @@ QUEUE_NAME=tasks`,
|
|
|
28106
28215
|
}
|
|
28107
28216
|
};
|
|
28108
28217
|
return /* @__PURE__ */ jsxs78("div", { className: styles.formContainer, children: [
|
|
28109
|
-
/* @__PURE__ */
|
|
28218
|
+
/* @__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." }) }),
|
|
28110
28219
|
config.models.map((model, index) => /* @__PURE__ */ jsxs78("div", { className: styles.card, children: [
|
|
28111
28220
|
/* @__PURE__ */ jsxs78(
|
|
28112
28221
|
"div",
|
|
@@ -28138,7 +28247,7 @@ QUEUE_NAME=tasks`,
|
|
|
28138
28247
|
}
|
|
28139
28248
|
)
|
|
28140
28249
|
] }),
|
|
28141
|
-
config.models.length > 1 && /* @__PURE__ */
|
|
28250
|
+
config.models.length > 1 && /* @__PURE__ */ jsx109(
|
|
28142
28251
|
Button47,
|
|
28143
28252
|
{
|
|
28144
28253
|
type: "text",
|
|
@@ -28157,8 +28266,8 @@ QUEUE_NAME=tasks`,
|
|
|
28157
28266
|
),
|
|
28158
28267
|
/* @__PURE__ */ jsxs78(Space37, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
|
|
28159
28268
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28160
|
-
/* @__PURE__ */
|
|
28161
|
-
/* @__PURE__ */
|
|
28269
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Key *" }),
|
|
28270
|
+
/* @__PURE__ */ jsx109(
|
|
28162
28271
|
Input14,
|
|
28163
28272
|
{
|
|
28164
28273
|
placeholder: "e.g., default, gpt-4, claude",
|
|
@@ -28167,12 +28276,12 @@ QUEUE_NAME=tasks`,
|
|
|
28167
28276
|
style: { height: 40 }
|
|
28168
28277
|
}
|
|
28169
28278
|
),
|
|
28170
|
-
/* @__PURE__ */
|
|
28279
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "Unique identifier for this model" })
|
|
28171
28280
|
] }),
|
|
28172
28281
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28173
|
-
/* @__PURE__ */
|
|
28174
|
-
/* @__PURE__ */
|
|
28175
|
-
|
|
28282
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Provider *" }),
|
|
28283
|
+
/* @__PURE__ */ jsx109(
|
|
28284
|
+
Select7,
|
|
28176
28285
|
{
|
|
28177
28286
|
style: { width: "100%", height: 40 },
|
|
28178
28287
|
value: model.provider,
|
|
@@ -28188,8 +28297,8 @@ QUEUE_NAME=tasks`,
|
|
|
28188
28297
|
)
|
|
28189
28298
|
] }),
|
|
28190
28299
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28191
|
-
/* @__PURE__ */
|
|
28192
|
-
/* @__PURE__ */
|
|
28300
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Model Name *" }),
|
|
28301
|
+
/* @__PURE__ */ jsx109(
|
|
28193
28302
|
Input14,
|
|
28194
28303
|
{
|
|
28195
28304
|
placeholder: "e.g., gpt-4, claude-3-opus, kimi-k2-250905",
|
|
@@ -28200,8 +28309,8 @@ QUEUE_NAME=tasks`,
|
|
|
28200
28309
|
)
|
|
28201
28310
|
] }),
|
|
28202
28311
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28203
|
-
/* @__PURE__ */
|
|
28204
|
-
/* @__PURE__ */
|
|
28312
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "API Key" }),
|
|
28313
|
+
/* @__PURE__ */ jsx109(
|
|
28205
28314
|
Input14.Password,
|
|
28206
28315
|
{
|
|
28207
28316
|
placeholder: "Enter your API key",
|
|
@@ -28210,11 +28319,11 @@ QUEUE_NAME=tasks`,
|
|
|
28210
28319
|
style: { height: 40 }
|
|
28211
28320
|
}
|
|
28212
28321
|
),
|
|
28213
|
-
/* @__PURE__ */
|
|
28322
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "API key for the model provider. Leave empty to use environment variable." })
|
|
28214
28323
|
] }),
|
|
28215
28324
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28216
|
-
/* @__PURE__ */
|
|
28217
|
-
/* @__PURE__ */
|
|
28325
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Base URL" }),
|
|
28326
|
+
/* @__PURE__ */ jsx109(
|
|
28218
28327
|
Input14,
|
|
28219
28328
|
{
|
|
28220
28329
|
placeholder: "e.g., https://api.openai.com/v1",
|
|
@@ -28223,22 +28332,22 @@ QUEUE_NAME=tasks`,
|
|
|
28223
28332
|
style: { height: 40 }
|
|
28224
28333
|
}
|
|
28225
28334
|
),
|
|
28226
|
-
/* @__PURE__ */
|
|
28335
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "Optional custom base URL for the API" })
|
|
28227
28336
|
] }),
|
|
28228
|
-
/* @__PURE__ */
|
|
28229
|
-
/* @__PURE__ */
|
|
28337
|
+
/* @__PURE__ */ jsx109("div", { children: /* @__PURE__ */ jsxs78(Space37, { children: [
|
|
28338
|
+
/* @__PURE__ */ jsx109(
|
|
28230
28339
|
Switch3,
|
|
28231
28340
|
{
|
|
28232
28341
|
checked: model.streaming,
|
|
28233
28342
|
onChange: (checked) => handleModelChange(index, "streaming", checked)
|
|
28234
28343
|
}
|
|
28235
28344
|
),
|
|
28236
|
-
/* @__PURE__ */
|
|
28345
|
+
/* @__PURE__ */ jsx109(Text37, { children: "Enable Streaming" })
|
|
28237
28346
|
] }) }),
|
|
28238
28347
|
/* @__PURE__ */ jsxs78("div", { style: { display: "flex", gap: 20 }, children: [
|
|
28239
28348
|
/* @__PURE__ */ jsxs78("div", { style: { flex: 1 }, children: [
|
|
28240
|
-
/* @__PURE__ */
|
|
28241
|
-
/* @__PURE__ */
|
|
28349
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Max Tokens" }),
|
|
28350
|
+
/* @__PURE__ */ jsx109(
|
|
28242
28351
|
Input14,
|
|
28243
28352
|
{
|
|
28244
28353
|
type: "number",
|
|
@@ -28254,8 +28363,8 @@ QUEUE_NAME=tasks`,
|
|
|
28254
28363
|
)
|
|
28255
28364
|
] }),
|
|
28256
28365
|
/* @__PURE__ */ jsxs78("div", { style: { flex: 1 }, children: [
|
|
28257
|
-
/* @__PURE__ */
|
|
28258
|
-
/* @__PURE__ */
|
|
28366
|
+
/* @__PURE__ */ jsx109(Text37, { className: styles.formLabel, children: "Temperature" }),
|
|
28367
|
+
/* @__PURE__ */ jsx109(
|
|
28259
28368
|
Input14,
|
|
28260
28369
|
{
|
|
28261
28370
|
type: "number",
|
|
@@ -28274,7 +28383,7 @@ QUEUE_NAME=tasks`,
|
|
|
28274
28383
|
] })
|
|
28275
28384
|
] })
|
|
28276
28385
|
] }, index)),
|
|
28277
|
-
/* @__PURE__ */
|
|
28386
|
+
/* @__PURE__ */ jsx109(
|
|
28278
28387
|
Button47,
|
|
28279
28388
|
{
|
|
28280
28389
|
type: "dashed",
|
|
@@ -28303,7 +28412,7 @@ QUEUE_NAME=tasks`,
|
|
|
28303
28412
|
const currentConnection = connections.find((c) => c.id === activeTabKey);
|
|
28304
28413
|
const renderTabLabel = (connection) => {
|
|
28305
28414
|
return /* @__PURE__ */ jsxs78("div", { style: { display: "flex", alignItems: "center" }, children: [
|
|
28306
|
-
/* @__PURE__ */
|
|
28415
|
+
/* @__PURE__ */ jsx109(
|
|
28307
28416
|
CloudServerOutlined,
|
|
28308
28417
|
{
|
|
28309
28418
|
style: {
|
|
@@ -28312,14 +28421,14 @@ QUEUE_NAME=tasks`,
|
|
|
28312
28421
|
}
|
|
28313
28422
|
}
|
|
28314
28423
|
),
|
|
28315
|
-
/* @__PURE__ */
|
|
28316
|
-
connection.connected && /* @__PURE__ */
|
|
28424
|
+
/* @__PURE__ */ jsx109("span", { children: connection.name }),
|
|
28425
|
+
connection.connected && /* @__PURE__ */ jsx109(
|
|
28317
28426
|
CheckCircleFilled,
|
|
28318
28427
|
{
|
|
28319
28428
|
style: { color: "#52c41a", fontSize: 12, marginLeft: 8 }
|
|
28320
28429
|
}
|
|
28321
28430
|
),
|
|
28322
|
-
connection.error && !connection.connecting && /* @__PURE__ */
|
|
28431
|
+
connection.error && !connection.connecting && /* @__PURE__ */ jsx109(
|
|
28323
28432
|
CloseCircleFilled,
|
|
28324
28433
|
{
|
|
28325
28434
|
style: { color: "#ff4d4f", fontSize: 12, marginLeft: 8 }
|
|
@@ -28330,15 +28439,15 @@ QUEUE_NAME=tasks`,
|
|
|
28330
28439
|
const tabItems = connections.map((connection) => ({
|
|
28331
28440
|
key: connection.id,
|
|
28332
28441
|
label: renderTabLabel(connection),
|
|
28333
|
-
children: /* @__PURE__ */
|
|
28334
|
-
/* @__PURE__ */
|
|
28442
|
+
children: /* @__PURE__ */ jsx109("div", { className: styles.tabContent, children: connection.connected ? /* @__PURE__ */ jsx109(Fragment25, { children: /* @__PURE__ */ jsxs78("div", { style: { display: "flex", height: "100%" }, children: [
|
|
28443
|
+
/* @__PURE__ */ jsx109("div", { className: styles.sidebar, children: SETTINGS_MENU_ITEMS.map((item) => /* @__PURE__ */ jsxs78(
|
|
28335
28444
|
"div",
|
|
28336
28445
|
{
|
|
28337
28446
|
className: `${styles.menuItem} ${activeMenu === item.key ? "active" : ""}`,
|
|
28338
28447
|
onClick: () => setActiveMenu(item.key),
|
|
28339
28448
|
children: [
|
|
28340
|
-
/* @__PURE__ */
|
|
28341
|
-
/* @__PURE__ */
|
|
28449
|
+
/* @__PURE__ */ jsx109("span", { className: styles.menuItemIcon, children: item.icon }),
|
|
28450
|
+
/* @__PURE__ */ jsx109("span", { className: styles.menuItemText, children: item.label })
|
|
28342
28451
|
]
|
|
28343
28452
|
},
|
|
28344
28453
|
item.key
|
|
@@ -28346,19 +28455,19 @@ QUEUE_NAME=tasks`,
|
|
|
28346
28455
|
/* @__PURE__ */ jsxs78("div", { className: styles.content, children: [
|
|
28347
28456
|
/* @__PURE__ */ jsxs78("div", { className: styles.contentHeader, children: [
|
|
28348
28457
|
/* @__PURE__ */ jsxs78("div", { className: styles.contentHeaderLeft, children: [
|
|
28349
|
-
/* @__PURE__ */
|
|
28458
|
+
/* @__PURE__ */ jsx109(Title13, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
|
|
28350
28459
|
/* @__PURE__ */ jsxs78(Text37, { className: styles.contentDescription, children: [
|
|
28351
28460
|
activeMenu === "environment" && "Manage environment variables for the gateway server",
|
|
28352
28461
|
activeMenu === "models" && "Configure and register model lattices for use by agents"
|
|
28353
28462
|
] })
|
|
28354
28463
|
] }),
|
|
28355
28464
|
/* @__PURE__ */ jsxs78("div", { className: styles.contentHeaderRight, children: [
|
|
28356
|
-
/* @__PURE__ */
|
|
28357
|
-
/* @__PURE__ */
|
|
28465
|
+
/* @__PURE__ */ jsx109(Button47, { onClick: onClose, children: "Cancel" }),
|
|
28466
|
+
/* @__PURE__ */ jsx109(
|
|
28358
28467
|
Button47,
|
|
28359
28468
|
{
|
|
28360
28469
|
type: "primary",
|
|
28361
|
-
icon: /* @__PURE__ */
|
|
28470
|
+
icon: /* @__PURE__ */ jsx109(SaveOutlined2, {}),
|
|
28362
28471
|
onClick: handleSave,
|
|
28363
28472
|
loading,
|
|
28364
28473
|
children: "Save Configuration"
|
|
@@ -28366,9 +28475,9 @@ QUEUE_NAME=tasks`,
|
|
|
28366
28475
|
)
|
|
28367
28476
|
] })
|
|
28368
28477
|
] }),
|
|
28369
|
-
/* @__PURE__ */
|
|
28478
|
+
/* @__PURE__ */ jsx109("div", { className: styles.contentBody, children: renderContent(connection.id) })
|
|
28370
28479
|
] })
|
|
28371
|
-
] }) }) : /* @__PURE__ */
|
|
28480
|
+
] }) }) : /* @__PURE__ */ jsx109(
|
|
28372
28481
|
"div",
|
|
28373
28482
|
{
|
|
28374
28483
|
style: {
|
|
@@ -28381,16 +28490,16 @@ QUEUE_NAME=tasks`,
|
|
|
28381
28490
|
padding: 48
|
|
28382
28491
|
},
|
|
28383
28492
|
children: connection.connecting ? /* @__PURE__ */ jsxs78(Fragment25, { children: [
|
|
28384
|
-
/* @__PURE__ */
|
|
28385
|
-
/* @__PURE__ */
|
|
28493
|
+
/* @__PURE__ */ jsx109(LinkOutlined2, { style: { fontSize: 64, color: "#1890ff" }, spin: true }),
|
|
28494
|
+
/* @__PURE__ */ jsx109(Title13, { level: 4, children: "Connecting..." }),
|
|
28386
28495
|
/* @__PURE__ */ jsxs78(Text37, { type: "secondary", style: { textAlign: "center" }, children: [
|
|
28387
28496
|
"Connecting to ",
|
|
28388
28497
|
connection.url
|
|
28389
28498
|
] })
|
|
28390
28499
|
] }) : /* @__PURE__ */ jsxs78(Fragment25, { children: [
|
|
28391
|
-
/* @__PURE__ */
|
|
28392
|
-
/* @__PURE__ */
|
|
28393
|
-
/* @__PURE__ */
|
|
28500
|
+
/* @__PURE__ */ jsx109(LinkOutlined2, { style: { fontSize: 64, color: "#d9d9d9" } }),
|
|
28501
|
+
/* @__PURE__ */ jsx109(Title13, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
|
|
28502
|
+
/* @__PURE__ */ jsx109(
|
|
28394
28503
|
Text37,
|
|
28395
28504
|
{
|
|
28396
28505
|
type: "secondary",
|
|
@@ -28398,11 +28507,11 @@ QUEUE_NAME=tasks`,
|
|
|
28398
28507
|
children: connection.error ? `Failed to connect to ${connection.url}. Please check the server URL and try again.` : `Click "Reconnect" to connect to ${connection.url}`
|
|
28399
28508
|
}
|
|
28400
28509
|
),
|
|
28401
|
-
/* @__PURE__ */
|
|
28510
|
+
/* @__PURE__ */ jsx109(
|
|
28402
28511
|
Button47,
|
|
28403
28512
|
{
|
|
28404
28513
|
type: "primary",
|
|
28405
|
-
icon: /* @__PURE__ */
|
|
28514
|
+
icon: /* @__PURE__ */ jsx109(LinkOutlined2, {}),
|
|
28406
28515
|
onClick: () => checkConnection(connection.id),
|
|
28407
28516
|
loading: connection.connecting,
|
|
28408
28517
|
style: { marginTop: 16 },
|
|
@@ -28415,7 +28524,7 @@ QUEUE_NAME=tasks`,
|
|
|
28415
28524
|
closable: connections.length > 1
|
|
28416
28525
|
}));
|
|
28417
28526
|
return /* @__PURE__ */ jsxs78(Fragment25, { children: [
|
|
28418
|
-
/* @__PURE__ */
|
|
28527
|
+
/* @__PURE__ */ jsx109(
|
|
28419
28528
|
Modal19,
|
|
28420
28529
|
{
|
|
28421
28530
|
open,
|
|
@@ -28424,7 +28533,7 @@ QUEUE_NAME=tasks`,
|
|
|
28424
28533
|
width: "80%",
|
|
28425
28534
|
footer: null,
|
|
28426
28535
|
title: "Settings",
|
|
28427
|
-
children: /* @__PURE__ */
|
|
28536
|
+
children: /* @__PURE__ */ jsx109("div", { children: /* @__PURE__ */ jsx109(
|
|
28428
28537
|
Tabs3,
|
|
28429
28538
|
{
|
|
28430
28539
|
activeKey: activeTabKey,
|
|
@@ -28448,8 +28557,8 @@ QUEUE_NAME=tasks`,
|
|
|
28448
28557
|
padding: "4px 8px"
|
|
28449
28558
|
},
|
|
28450
28559
|
children: [
|
|
28451
|
-
/* @__PURE__ */
|
|
28452
|
-
/* @__PURE__ */
|
|
28560
|
+
/* @__PURE__ */ jsx109(PlusOutlined7, {}),
|
|
28561
|
+
/* @__PURE__ */ jsx109("span", { children: "Add Server" })
|
|
28453
28562
|
]
|
|
28454
28563
|
}
|
|
28455
28564
|
)
|
|
@@ -28457,7 +28566,7 @@ QUEUE_NAME=tasks`,
|
|
|
28457
28566
|
) })
|
|
28458
28567
|
}
|
|
28459
28568
|
),
|
|
28460
|
-
/* @__PURE__ */
|
|
28569
|
+
/* @__PURE__ */ jsx109(
|
|
28461
28570
|
Modal19,
|
|
28462
28571
|
{
|
|
28463
28572
|
title: "Add New Server",
|
|
@@ -28473,8 +28582,8 @@ QUEUE_NAME=tasks`,
|
|
|
28473
28582
|
className: styles.addServerModal,
|
|
28474
28583
|
children: /* @__PURE__ */ jsxs78(Space37, { direction: "vertical", style: { width: "100%" }, size: "large", children: [
|
|
28475
28584
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28476
|
-
/* @__PURE__ */
|
|
28477
|
-
/* @__PURE__ */
|
|
28585
|
+
/* @__PURE__ */ jsx109(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server Name" }),
|
|
28586
|
+
/* @__PURE__ */ jsx109(
|
|
28478
28587
|
Input14,
|
|
28479
28588
|
{
|
|
28480
28589
|
placeholder: "e.g., Production Server",
|
|
@@ -28483,11 +28592,11 @@ QUEUE_NAME=tasks`,
|
|
|
28483
28592
|
onPressEnter: handleAddServer
|
|
28484
28593
|
}
|
|
28485
28594
|
),
|
|
28486
|
-
/* @__PURE__ */
|
|
28595
|
+
/* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: Leave empty to use URL as name" })
|
|
28487
28596
|
] }),
|
|
28488
28597
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28489
|
-
/* @__PURE__ */
|
|
28490
|
-
/* @__PURE__ */
|
|
28598
|
+
/* @__PURE__ */ jsx109(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server URL *" }),
|
|
28599
|
+
/* @__PURE__ */ jsx109(
|
|
28491
28600
|
Input14,
|
|
28492
28601
|
{
|
|
28493
28602
|
placeholder: "e.g., http://localhost:4001",
|
|
@@ -28496,11 +28605,11 @@ QUEUE_NAME=tasks`,
|
|
|
28496
28605
|
onPressEnter: handleAddServer
|
|
28497
28606
|
}
|
|
28498
28607
|
),
|
|
28499
|
-
/* @__PURE__ */
|
|
28608
|
+
/* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Enter the full URL of the gateway server" })
|
|
28500
28609
|
] }),
|
|
28501
28610
|
/* @__PURE__ */ jsxs78("div", { children: [
|
|
28502
|
-
/* @__PURE__ */
|
|
28503
|
-
/* @__PURE__ */
|
|
28611
|
+
/* @__PURE__ */ jsx109(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "API Key" }),
|
|
28612
|
+
/* @__PURE__ */ jsx109(
|
|
28504
28613
|
Input14.Password,
|
|
28505
28614
|
{
|
|
28506
28615
|
placeholder: "Optional: Enter API key for authentication",
|
|
@@ -28509,7 +28618,7 @@ QUEUE_NAME=tasks`,
|
|
|
28509
28618
|
onPressEnter: handleAddServer
|
|
28510
28619
|
}
|
|
28511
28620
|
),
|
|
28512
|
-
/* @__PURE__ */
|
|
28621
|
+
/* @__PURE__ */ jsx109(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: API key for server authentication" })
|
|
28513
28622
|
] })
|
|
28514
28623
|
] })
|
|
28515
28624
|
}
|
|
@@ -28518,10 +28627,10 @@ QUEUE_NAME=tasks`,
|
|
|
28518
28627
|
};
|
|
28519
28628
|
|
|
28520
28629
|
// src/components/Chat/AgentServerSetting.tsx
|
|
28521
|
-
import { jsx as
|
|
28630
|
+
import { jsx as jsx110 } from "react/jsx-runtime";
|
|
28522
28631
|
var AgentServerSetting = () => {
|
|
28523
28632
|
const { settingsModalOpen, setSettingsModalOpen } = useLatticeChatShellContext();
|
|
28524
|
-
return /* @__PURE__ */
|
|
28633
|
+
return /* @__PURE__ */ jsx110(
|
|
28525
28634
|
SettingsModal,
|
|
28526
28635
|
{
|
|
28527
28636
|
open: settingsModalOpen,
|
|
@@ -28531,24 +28640,24 @@ var AgentServerSetting = () => {
|
|
|
28531
28640
|
};
|
|
28532
28641
|
|
|
28533
28642
|
// src/components/Chat/LatticeChatShell.tsx
|
|
28534
|
-
import { Fragment as Fragment26, jsx as
|
|
28643
|
+
import { Fragment as Fragment26, jsx as jsx111, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
28535
28644
|
var ShellContent = ({
|
|
28536
28645
|
initialAssistantId,
|
|
28537
28646
|
enableWorkspace
|
|
28538
28647
|
}) => {
|
|
28539
28648
|
const { currentTenant } = useAuth();
|
|
28540
|
-
return /* @__PURE__ */
|
|
28541
|
-
/* @__PURE__ */
|
|
28542
|
-
/* @__PURE__ */
|
|
28649
|
+
return /* @__PURE__ */ jsx111(Fragment26, { children: enableWorkspace ? /* @__PURE__ */ jsxs79(WorkspaceContextProvider, { children: [
|
|
28650
|
+
/* @__PURE__ */ jsx111(AssistantContextProvider, { autoLoad: true, initialAssistantId, children: /* @__PURE__ */ jsx111(ConversationContextProvider, { children: /* @__PURE__ */ jsx111(LatticeChatView, {}) }) }),
|
|
28651
|
+
/* @__PURE__ */ jsx111(AgentServerSetting, {})
|
|
28543
28652
|
] }) : /* @__PURE__ */ jsxs79(Fragment26, { children: [
|
|
28544
|
-
/* @__PURE__ */
|
|
28545
|
-
/* @__PURE__ */
|
|
28653
|
+
/* @__PURE__ */ jsx111(AssistantContextProvider, { autoLoad: true, initialAssistantId, children: /* @__PURE__ */ jsx111(ConversationContextProvider, { children: /* @__PURE__ */ jsx111(LatticeChatView, {}) }) }),
|
|
28654
|
+
/* @__PURE__ */ jsx111(AgentServerSetting, {})
|
|
28546
28655
|
] }) });
|
|
28547
28656
|
};
|
|
28548
28657
|
var LatticeChatShell = (props) => {
|
|
28549
28658
|
const { enableAssistantCreation, enableAssistantEditing, enableWorkspace: enableWorkspaceProp, ...restProps } = props;
|
|
28550
28659
|
const enableWorkspace = enableWorkspaceProp ?? restProps.initialConfig?.enableWorkspace ?? false;
|
|
28551
|
-
return /* @__PURE__ */
|
|
28660
|
+
return /* @__PURE__ */ jsx111(
|
|
28552
28661
|
LatticeChatShellContextProvider,
|
|
28553
28662
|
{
|
|
28554
28663
|
initialConfig: {
|
|
@@ -28557,7 +28666,7 @@ var LatticeChatShell = (props) => {
|
|
|
28557
28666
|
enableWorkspace,
|
|
28558
28667
|
...restProps.initialConfig
|
|
28559
28668
|
},
|
|
28560
|
-
children: /* @__PURE__ */
|
|
28669
|
+
children: /* @__PURE__ */ jsx111(
|
|
28561
28670
|
ShellContent,
|
|
28562
28671
|
{
|
|
28563
28672
|
initialAssistantId: restProps.initialConfig?.assistantId,
|
|
@@ -28593,6 +28702,7 @@ export {
|
|
|
28593
28702
|
MDResponse,
|
|
28594
28703
|
MDViewFormItem,
|
|
28595
28704
|
MetricsConfigDrawerContent,
|
|
28705
|
+
ModelSelector,
|
|
28596
28706
|
ProtectedRoute,
|
|
28597
28707
|
RegisterForm,
|
|
28598
28708
|
ScheduleButton,
|