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