@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.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 React40, { useContext as useContext10, useEffect as useEffect34, useRef as useRef20, useState as useState52 } from "react";
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 useEffect33, useState as useState50, useMemo as useMemo17 } from "react";
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 jsx76, jsxs as jsxs50 } from "react/jsx-runtime";
18339
+ import { jsx as jsx77, jsxs as jsxs50 } from "react/jsx-runtime";
18250
18340
  var categoryConfig = {
18251
18341
  business_analysis: {
18252
- icon: /* @__PURE__ */ jsx76(BarChartOutlined, {}),
18342
+ icon: /* @__PURE__ */ jsx77(BarChartOutlined, {}),
18253
18343
  color: "#1890FF",
18254
18344
  label: "Business Analysis"
18255
18345
  },
18256
18346
  code_generation: {
18257
- icon: /* @__PURE__ */ jsx76(CodeOutlined6, {}),
18347
+ icon: /* @__PURE__ */ jsx77(CodeOutlined6, {}),
18258
18348
  color: "#722ED1",
18259
18349
  label: "Code Generation"
18260
18350
  },
18261
18351
  document_processing: {
18262
- icon: /* @__PURE__ */ jsx76(FileTextOutlined9, {}),
18352
+ icon: /* @__PURE__ */ jsx77(FileTextOutlined9, {}),
18263
18353
  color: "#52C41A",
18264
18354
  label: "Document Processing"
18265
18355
  },
18266
18356
  data_analysis: {
18267
- icon: /* @__PURE__ */ jsx76(DatabaseOutlined2, {}),
18357
+ icon: /* @__PURE__ */ jsx77(DatabaseOutlined2, {}),
18268
18358
  color: "#13C2C2",
18269
18359
  label: "Data Analysis"
18270
18360
  },
18271
18361
  tool_operation: {
18272
- icon: /* @__PURE__ */ jsx76(ToolOutlined4, {}),
18362
+ icon: /* @__PURE__ */ jsx77(ToolOutlined4, {}),
18273
18363
  color: "#FAAD14",
18274
18364
  label: "Tool Operations"
18275
18365
  },
18276
18366
  general: {
18277
- icon: /* @__PURE__ */ jsx76(BulbOutlined, {}),
18367
+ icon: /* @__PURE__ */ jsx77(BulbOutlined, {}),
18278
18368
  color: "#FFD700",
18279
18369
  label: "General Skills"
18280
18370
  },
18281
18371
  global: {
18282
- icon: /* @__PURE__ */ jsx76(GlobalOutlined2, {}),
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__ */ jsx76(TagsOutlined, {}),
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__ */ jsx76(BulbOutlined, {}),
18318
- /* @__PURE__ */ jsx76(RocketOutlined, {}),
18319
- /* @__PURE__ */ jsx76(WarningOutlined, {}),
18320
- /* @__PURE__ */ jsx76(CheckCircleOutlined5, {}),
18321
- /* @__PURE__ */ jsx76(CoffeeOutlined2, {}),
18322
- /* @__PURE__ */ jsx76(SmileOutlined, {}),
18323
- /* @__PURE__ */ jsx76(FireOutlined, {}),
18324
- /* @__PURE__ */ jsx76(BarChartOutlined, {}),
18325
- /* @__PURE__ */ jsx76(CodeOutlined6, {}),
18326
- /* @__PURE__ */ jsx76(DatabaseOutlined2, {})
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] = useState50([]);
18333
- const [loading, setLoading] = useState50(false);
18334
- const [showAll, setShowAll] = useState50(false);
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
- useEffect33(() => {
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__ */ jsx76(BrainCircuit2, { size: 12 }),
18376
- /* @__PURE__ */ jsx76(Typography31.Text, { children: skill.name })
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__ */ jsx76("span", { style: { color: iconColors[index % iconColors.length] }, children: simpleIcons[index % simpleIcons.length] }),
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__ */ jsx76(MoreOutlined, { style: { color: "#8C8C8C" } }),
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__ */ jsx76(
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__ */ jsx76("div", { style: { textAlign: "center", padding: 40 }, children: /* @__PURE__ */ jsx76(Spin12, { size: "large" }) });
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__ */ jsx76(
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__ */ jsx76(
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__ */ jsx76(
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__ */ jsx76("div", { style: { marginBottom: 16 }, children: /* @__PURE__ */ jsx76(
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__ */ jsx76("span", { style: { color: config.color }, children: config.icon }),
18482
- /* @__PURE__ */ jsx76("span", { children: config.label })
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 useState51, useMemo as useMemo18 } from "react";
18517
- import { jsx as jsx77, jsxs as jsxs51 } from "react/jsx-runtime";
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__ */ jsx77(DollarOutlined, {}),
18520
- sales: /* @__PURE__ */ jsx77(LineChartOutlined, {}),
18521
- operations: /* @__PURE__ */ jsx77(ToolOutlined5, {})
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] = useState51(false);
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__ */ jsx77(TagsOutlined2, {}),
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__ */ jsx77(TagsOutlined2, {}),
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__ */ jsx77("span", { style: { color: simpleModeColors[index % simpleModeColors.length] }, children: item.icon || /* @__PURE__ */ jsx77(TagsOutlined2, {}) }),
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__ */ jsx77(MoreOutlined2, { style: { color: "#8C8C8C" } }),
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__ */ jsx77("span", { style: { color: "#8C8C8C" }, children: item.icon || /* @__PURE__ */ jsx77(TagsOutlined2, {}) }),
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__ */ jsx77(
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__ */ jsx77(
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__ */ jsx77(
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__ */ jsx77(
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__ */ jsx77("span", { style: { color: category.color }, children: category.icon }),
18849
- /* @__PURE__ */ jsx77("span", { children: category.title })
18938
+ /* @__PURE__ */ jsx78("span", { style: { color: category.color }, children: category.icon }),
18939
+ /* @__PURE__ */ jsx78("span", { children: category.title })
18850
18940
  ] }),
18851
- children: /* @__PURE__ */ jsx77(
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 jsx78, jsxs as jsxs52 } from "react/jsx-runtime";
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] = useState52("");
18901
- const [attachedFiles, setAttachedFiles] = useState52([]);
18991
+ const [content, setContent] = useState53("");
18992
+ const [attachedFiles, setAttachedFiles] = useState53([]);
18902
18993
  const { styles } = useStyle();
18903
- const [headerOpen, setHeaderOpen] = useState52(false);
18904
- const attachmentsRef = useRef20(null);
18905
- const senderRef = React40.useRef(null);
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] = useState52(0);
18926
- useEffect34(() => {
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 [isEmptyState, setIsEmptyState] = useState52(showEmptyState && messages.length === 0 && !pendingMessages?.length);
18935
- const [isTransitioning, setIsTransitioning] = useState52(false);
18936
- useEffect34(() => {
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] = useState52([]);
18962
- const [suggestionsLoading, setSuggestionsLoading] = useState52(false);
18963
- const [suggestionsOpen, setSuggestionsOpen] = useState52(false);
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__ */ jsx78(FileImageOutlined5, { style: { ...iconStyle, color: "#52c41a" } });
19074
+ return /* @__PURE__ */ jsx79(FileImageOutlined5, { style: { ...iconStyle, color: "#52c41a" } });
18975
19075
  case "pdf":
18976
- return /* @__PURE__ */ jsx78(FilePdfOutlined5, { style: { ...iconStyle, color: "#ff4d4f" } });
19076
+ return /* @__PURE__ */ jsx79(FilePdfOutlined5, { style: { ...iconStyle, color: "#ff4d4f" } });
18977
19077
  case "md":
18978
19078
  case "markdown":
18979
- return /* @__PURE__ */ jsx78(FileMarkdownOutlined3, { style: { ...iconStyle, color: "#722ed1" } });
19079
+ return /* @__PURE__ */ jsx79(FileMarkdownOutlined3, { style: { ...iconStyle, color: "#722ed1" } });
18980
19080
  case "zip":
18981
19081
  case "rar":
18982
19082
  case "7z":
18983
- return /* @__PURE__ */ jsx78(FileZipOutlined3, { style: { ...iconStyle, color: "#faad14" } });
19083
+ return /* @__PURE__ */ jsx79(FileZipOutlined3, { style: { ...iconStyle, color: "#faad14" } });
18984
19084
  case "xls":
18985
19085
  case "xlsx":
18986
19086
  case "csv":
18987
- return /* @__PURE__ */ jsx78(FileExcelOutlined3, { style: { ...iconStyle, color: "#52c41a" } });
19087
+ return /* @__PURE__ */ jsx79(FileExcelOutlined3, { style: { ...iconStyle, color: "#52c41a" } });
18988
19088
  case "ppt":
18989
19089
  case "pptx":
18990
- return /* @__PURE__ */ jsx78(FilePptOutlined2, { style: { ...iconStyle, color: "#fa8c16" } });
19090
+ return /* @__PURE__ */ jsx79(FilePptOutlined2, { style: { ...iconStyle, color: "#fa8c16" } });
18991
19091
  case "doc":
18992
19092
  case "docx":
18993
- return /* @__PURE__ */ jsx78(FileWordOutlined3, { style: { ...iconStyle, color: "#2f54eb" } });
19093
+ return /* @__PURE__ */ jsx79(FileWordOutlined3, { style: { ...iconStyle, color: "#2f54eb" } });
18994
19094
  case "txt":
18995
- return /* @__PURE__ */ jsx78(FileTextOutlined10, { style: { ...iconStyle, color: "#8c8c8c" } });
19095
+ return /* @__PURE__ */ jsx79(FileTextOutlined10, { style: { ...iconStyle, color: "#8c8c8c" } });
18996
19096
  default:
18997
- return /* @__PURE__ */ jsx78(FileUnknownOutlined5, { style: { ...iconStyle, color: "#bfbfbf" } });
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
- useEffect34(() => {
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__ */ jsx78(
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__ */ jsx78(
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__ */ jsx78(CloudUploadOutlined, {}),
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__ */ jsx78(Badge5, { dot: attachedFiles.length > 0 && !headerOpen, children: /* @__PURE__ */ jsx78(
19271
+ /* @__PURE__ */ jsx79(Badge5, { dot: attachedFiles.length > 0 && !headerOpen, children: /* @__PURE__ */ jsx79(
19171
19272
  Button37,
19172
19273
  {
19173
19274
  type: "text",
19174
- icon: /* @__PURE__ */ jsx78(PaperClipOutlined, {}),
19275
+ icon: /* @__PURE__ */ jsx79(PaperClipOutlined, {}),
19175
19276
  onClick: () => setHeaderOpen(!headerOpen)
19176
19277
  }
19177
19278
  ) }),
19178
- /* @__PURE__ */ jsx78(Divider6, { type: "vertical", style: { margin: 0 } }),
19279
+ /* @__PURE__ */ jsx79(Divider6, { type: "vertical", style: { margin: 0 } }),
19179
19280
  hasSlotButtons && /* @__PURE__ */ jsxs52(Flex5, { align: "center", gap: 8, children: [
19180
- showAgentSlot && /* @__PURE__ */ jsx78(AgentPicker, { senderRef, iconOnly: true }),
19181
- showDatabaseSlot && /* @__PURE__ */ jsx78(DatabasePicker, { senderRef, iconOnly: true }),
19182
- showSkillSlot && /* @__PURE__ */ jsx78(SkillPicker, { senderRef, iconOnly: true }),
19183
- showMetricsDataSourceSlot && /* @__PURE__ */ jsx78(MetricsDataSourcePicker, { senderRef, iconOnly: true })
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
- actionNode
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__ */ jsx78(
19293
+ const refreshButton = /* @__PURE__ */ jsx79(
19190
19294
  Button37,
19191
19295
  {
19192
19296
  type: "text",
19193
- icon: /* @__PURE__ */ jsx78(ReloadOutlined2, {}),
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__ */ jsx78(ThreadManagementButtons, {}, "thread-buttons")
19305
+ /* @__PURE__ */ jsx79(ThreadManagementButtons, {}, "thread-buttons")
19202
19306
  ];
19203
- const [skills, setSkills] = useState52([]);
19204
- const [skillsLoading, setSkillsLoading] = useState52(false);
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] = useState52(null);
19332
+ const [suggestionMode, setSuggestionMode] = useState53(null);
19229
19333
  const suggestionItems = suggestionMode === "skills" ? skills.map((skill) => ({
19230
19334
  value: skill.name,
19231
- icon: /* @__PURE__ */ jsx78(BrainCircuit3, { size: 14, style: { color: "#722ed1" } }),
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__ */ jsx78(
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__ */ jsx78(BrainCircuit3, { size: 12 }),
19252
- /* @__PURE__ */ jsx78(Typography33.Text, { children: itemVal })
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__ */ jsx78(
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__ */ jsx78(
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__ */ jsx78(
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__ */ jsx78("div", { className: styles.greeting, children: emptyStateGreeting ? emptyStateGreeting : /* @__PURE__ */ jsxs52(Fragment18, { children: [
19462
+ /* @__PURE__ */ jsx79("div", { className: styles.greeting, children: emptyStateGreeting ? emptyStateGreeting : /* @__PURE__ */ jsxs52(Fragment18, { children: [
19359
19463
  welcomePrefix,
19360
19464
  " ",
19361
- /* @__PURE__ */ jsx78("span", { className: "user-name", children: displayUserName })
19465
+ /* @__PURE__ */ jsx79("span", { className: "user-name", children: displayUserName })
19362
19466
  ] }) }),
19363
- /* @__PURE__ */ jsx78("div", { className: styles.question, children: emptyStateQuestion })
19467
+ /* @__PURE__ */ jsx79("div", { className: styles.question, children: emptyStateQuestion })
19364
19468
  ] }),
19365
- config.enableSkillSlot !== false && /* @__PURE__ */ jsx78("div", { className: styles.promptsWrapper, children: /* @__PURE__ */ jsx78(SkillCategoryPrompts, { senderRef, visible: true }) }),
19366
- showSender && /* @__PURE__ */ jsx78(
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__ */ jsx78("div", { style: { marginTop: 24 }, children: /* @__PURE__ */ jsx78(
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__ */ jsx78(
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__ */ jsx78(Prompts3, { items: senderPromptsItems, onItemClick: onPromptsItemClick }),
19395
- error && /* @__PURE__ */ jsx78("div", { style: { padding: "0 16px 8px" }, children: /* @__PURE__ */ jsx78(
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__ */ jsx78(HITLContainer, {}),
19406
- /* @__PURE__ */ jsx78(PendingMessagesContainer, {}),
19407
- showSender && /* @__PURE__ */ jsx78("div", { className: `${styles.senderContainer} ${isTransitioning ? styles.entering : ""}`, children: renderSender(false) })
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 jsx79 } from "react/jsx-runtime";
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__ */ jsx79(
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__ */ jsx79("div", { style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx79(
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 jsx80, jsxs as jsxs53 } from "react/jsx-runtime";
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__ */ jsx80(Text25, { strong: true, children: "Internet Search" }),
19564
- /* @__PURE__ */ jsx80(Text25, { title: query, children: query })
19667
+ /* @__PURE__ */ jsx81(Text25, { strong: true, children: "Internet Search" }),
19668
+ /* @__PURE__ */ jsx81(Text25, { title: query, children: query })
19565
19669
  ] });
19566
- return /* @__PURE__ */ jsx80(
19670
+ return /* @__PURE__ */ jsx81(
19567
19671
  ContentPreviewCollapse,
19568
19672
  {
19569
19673
  panelKey: toolCallData.id,
19570
19674
  header,
19571
- expandIcon: () => /* @__PURE__ */ jsx80(SearchOutlined, {}),
19572
- children: /* @__PURE__ */ jsx80(
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__ */ jsx80(List11.Item, { extra: /* @__PURE__ */ jsx80(Text25, { className: styles.source, children: domain }), children: /* @__PURE__ */ jsxs53(Space29, { style: { width: "100%" }, children: [
19583
- /* @__PURE__ */ jsx80(Avatar7, { style: { background: iconColor }, children: iconText }),
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__ */ jsx80(
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 useState53, useEffect as useEffect35, useCallback as useCallback25 } from "react";
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 jsx81, jsxs as jsxs54 } from "react/jsx-runtime";
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__ */ jsx81(ClockCircleOutlined3, {});
19845
+ return /* @__PURE__ */ jsx82(ClockCircleOutlined3, {});
19742
19846
  case ScheduledTaskStatus2.RUNNING:
19743
- return /* @__PURE__ */ jsx81(SyncOutlined2, { spin: true });
19847
+ return /* @__PURE__ */ jsx82(SyncOutlined2, { spin: true });
19744
19848
  case ScheduledTaskStatus2.COMPLETED:
19745
- return /* @__PURE__ */ jsx81(CheckCircleOutlined6, {});
19849
+ return /* @__PURE__ */ jsx82(CheckCircleOutlined6, {});
19746
19850
  case ScheduledTaskStatus2.FAILED:
19747
- return /* @__PURE__ */ jsx81(CloseCircleOutlined2, {});
19851
+ return /* @__PURE__ */ jsx82(CloseCircleOutlined2, {});
19748
19852
  case ScheduledTaskStatus2.CANCELLED:
19749
- return /* @__PURE__ */ jsx81(StopOutlined, {});
19853
+ return /* @__PURE__ */ jsx82(StopOutlined, {});
19750
19854
  case ScheduledTaskStatus2.PAUSED:
19751
- return /* @__PURE__ */ jsx81(PauseCircleOutlined, {});
19855
+ return /* @__PURE__ */ jsx82(PauseCircleOutlined, {});
19752
19856
  default:
19753
- return /* @__PURE__ */ jsx81(ClockCircleOutlined3, {});
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] = useState53(initialTasks || []);
19769
- const [loading, setLoading] = useState53(false);
19770
- const [actionLoading, setActionLoading] = useState53(null);
19771
- const handleRefresh = useCallback25(async () => {
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 = useCallback25(
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 = useCallback25(
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 = useCallback25(
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
- useEffect35(() => {
19937
+ useEffect36(() => {
19834
19938
  if (threadId && (!initialTasks || initialTasks.length === 0)) {
19835
19939
  handleRefresh();
19836
19940
  }
19837
19941
  }, [threadId]);
19838
- useEffect35(() => {
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__ */ jsx81(Tooltip17, { title: "Pause", children: /* @__PURE__ */ jsx81(
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__ */ jsx81(PauseCircleOutlined, {}),
19958
+ icon: /* @__PURE__ */ jsx82(PauseCircleOutlined, {}),
19855
19959
  onClick: () => handlePause(task.taskId),
19856
19960
  loading: isLoading
19857
19961
  }
19858
19962
  ) }),
19859
- isPaused && /* @__PURE__ */ jsx81(Tooltip17, { title: "Resume", children: /* @__PURE__ */ jsx81(
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__ */ jsx81(PlayCircleOutlined2, {}),
19968
+ icon: /* @__PURE__ */ jsx82(PlayCircleOutlined2, {}),
19865
19969
  onClick: () => handleResume(task.taskId),
19866
19970
  loading: isLoading
19867
19971
  }
19868
19972
  ) }),
19869
- (isPending || isPaused) && /* @__PURE__ */ jsx81(
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__ */ jsx81(Tooltip17, { title: "Cancel", children: /* @__PURE__ */ jsx81(
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__ */ jsx81(StopOutlined, {}),
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__ */ jsx81("div", { className: styles.taskType, children: task.taskType }),
19903
- /* @__PURE__ */ jsx81("div", { className: styles.taskId, children: task.taskId })
20006
+ /* @__PURE__ */ jsx82("div", { className: styles.taskType, children: task.taskType }),
20007
+ /* @__PURE__ */ jsx82("div", { className: styles.taskId, children: task.taskId })
19904
20008
  ] }),
19905
- /* @__PURE__ */ jsx81(Tag15, { color: getStatusColor(task.status), icon: getStatusIcon2(task.status), children: task.status.toUpperCase() })
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__ */ jsx81(Tooltip17, { title: "Execution Type", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
19909
- /* @__PURE__ */ jsx81(FieldTimeOutlined, {}),
19910
- /* @__PURE__ */ jsx81("span", { children: task.executionType === ScheduleExecutionType.CRON ? "Recurring" : "One-time" })
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__ */ jsx81(Tooltip17, { title: "Cron Expression", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
19913
- /* @__PURE__ */ jsx81(ClockCircleOutlined3, {}),
19914
- /* @__PURE__ */ jsx81("code", { className: styles.cronExpression, children: task.cronExpression })
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__ */ jsx81(Tooltip17, { title: `Next run: ${formatTime(task.nextRunAt)}`, children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
19917
- /* @__PURE__ */ jsx81(ClockCircleOutlined3, {}),
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__ */ jsx81(Tooltip17, { title: `Execute at: ${formatTime(task.executeAt)}`, children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
19924
- /* @__PURE__ */ jsx81(ClockCircleOutlined3, {}),
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__ */ jsx81(Tooltip17, { title: "Run count", children: /* @__PURE__ */ jsxs54("div", { className: styles.metaItem, children: [
19931
- /* @__PURE__ */ jsx81(SyncOutlined2, {}),
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__ */ jsx81("div", { style: { marginTop: 8 }, children: /* @__PURE__ */ jsxs54(Text26, { type: "danger", style: { fontSize: 12 }, children: [
19940
- /* @__PURE__ */ jsx81(ExclamationCircleOutlined, { style: { marginRight: 4 } }),
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__ */ jsx81(
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__ */ jsx81(Title5, { level: 5, style: { margin: 0 }, children: "Scheduled Tasks" }),
19965
- /* @__PURE__ */ jsx81(Tooltip17, { title: "Refresh", children: /* @__PURE__ */ jsx81(
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__ */ jsx81(ReloadOutlined3, { spin: loading }),
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__ */ jsx81(Spin13, { size: "large" }),
19977
- /* @__PURE__ */ jsx81(Text26, { type: "secondary", style: { marginTop: 16 }, children: "Loading scheduled tasks..." })
19978
- ] }) : tasks.length === 0 ? /* @__PURE__ */ jsx81("div", { className: styles.emptyContainer, children: /* @__PURE__ */ jsx81(
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__ */ jsx81("div", { children: tasks.map(renderTask) })
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 jsx82, jsxs as jsxs55 } from "react/jsx-runtime";
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__ */ jsx82(CheckCircleOutlined7, { style: { color: "#52c41a" } });
20113
+ return /* @__PURE__ */ jsx83(CheckCircleOutlined7, { style: { color: "#52c41a" } });
20010
20114
  case "error":
20011
- return /* @__PURE__ */ jsx82(InfoCircleOutlined5, { style: { color: "#ff4d4f" } });
20115
+ return /* @__PURE__ */ jsx83(InfoCircleOutlined5, { style: { color: "#ff4d4f" } });
20012
20116
  default:
20013
- return /* @__PURE__ */ jsx82(LoadingOutlined3, { style: { color: "#1890ff" } });
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__ */ jsx82(Typography37.Text, { strong: true, children: formatToolName(toolCallData.name) }),
20036
- /* @__PURE__ */ jsx82(
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__ */ jsx82(
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__ */ jsx82(
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__ */ jsx82(MDResponse, { content: toolCallData.response || "" })
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 jsx83, jsxs as jsxs56 } from "react/jsx-runtime";
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__ */ jsx83(Space32, { children: /* @__PURE__ */ jsx83(Text28, { strong: true, children: "Execute Code" }) });
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__ */ jsx83(
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__ */ jsx83(MDResponse, { content }),
20130
- toolCallData.response && /* @__PURE__ */ jsx83(MDResponse, { content: toolCallData.response || "" })
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 jsx84, jsxs as jsxs57 } from "react/jsx-runtime";
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__ */ jsx84(Card17, { style: { width: "100%" }, bodyStyle: { padding: 12 }, children: /* @__PURE__ */ jsx84(Skeleton2, { active: true }) });
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__ */ jsx84(TeamOutlined2, {}),
20243
- /* @__PURE__ */ jsx84("span", { children: "Team Members" })
20346
+ /* @__PURE__ */ jsx85(TeamOutlined2, {}),
20347
+ /* @__PURE__ */ jsx85("span", { children: "Team Members" })
20244
20348
  ] }),
20245
- extra: showWorkbench ? /* @__PURE__ */ jsx84(
20349
+ extra: showWorkbench ? /* @__PURE__ */ jsx85(
20246
20350
  Button42,
20247
20351
  {
20248
20352
  type: "text",
20249
- icon: /* @__PURE__ */ jsx84(Monitor, { size: 16 }),
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__ */ jsx84(
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__ */ jsx84(
20365
+ /* @__PURE__ */ jsx85(
20262
20366
  Avatar8,
20263
20367
  {
20264
20368
  size: 40,
20265
- icon: /* @__PURE__ */ jsx84(UserOutlined5, {}),
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__ */ jsx84(Text29, { strong: true, style: { display: "block" }, children: teammate?.name || "Unnamed" }),
20278
- /* @__PURE__ */ jsx84(
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__ */ jsx84(Text29, { type: "secondary", style: { display: "block", marginTop: 8, fontSize: 12, marginLeft: 52 }, children: teammate.description })
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__ */ jsx84(
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__ */ jsx84(List13.Item, { style: { padding: "8px 0" }, children: /* @__PURE__ */ jsxs57("div", { children: [
20304
- /* @__PURE__ */ jsx84(Text29, { style: { fontSize: 12, color: "#7A7A7A" }, children: task.id }),
20305
- /* @__PURE__ */ jsx84(Text29, { strong: true, style: { display: "block", fontSize: 13 }, children: task.title }),
20306
- task.description && /* @__PURE__ */ jsx84(Text29, { type: "secondary", style: { fontSize: 11 }, children: task.description.length > 100 ? task.description.slice(0, 100) + "..." : task.description })
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 useState58, useMemo as useMemo23 } from "react";
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 React42, { useState as useState54 } from "react";
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 jsx85, jsxs as jsxs58 } from "react/jsx-runtime";
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__ */ jsx85(LayoutDashboard, { size: 20 });
20583
+ return /* @__PURE__ */ jsx86(LayoutDashboard, { size: 20 });
20480
20584
  case "inbox":
20481
- return /* @__PURE__ */ jsx85(Inbox, { size: 20 });
20585
+ return /* @__PURE__ */ jsx86(Inbox, { size: 20 });
20482
20586
  case "issues":
20483
- return /* @__PURE__ */ jsx85(ClipboardList, { size: 20 });
20587
+ return /* @__PURE__ */ jsx86(ClipboardList, { size: 20 });
20484
20588
  case "org":
20485
- return /* @__PURE__ */ jsx85(Network, { size: 20 });
20589
+ return /* @__PURE__ */ jsx86(Network, { size: 20 });
20486
20590
  case "teammate":
20487
20591
  if (item.data) {
20488
- return /* @__PURE__ */ jsx85(
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__ */ jsx85(User2, { size: 20 });
20611
+ return /* @__PURE__ */ jsx86(User2, { size: 20 });
20508
20612
  default:
20509
- return /* @__PURE__ */ jsx85(User2, { size: 20 });
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] = useState54(false);
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__ */ jsx85("span", { className: styles.menuIcon, children: getMenuIcon(item) }),
20530
- isExpanded && /* @__PURE__ */ jsx85("span", { className: styles.menuLabel, children: item.name }),
20531
- item.badge && /* @__PURE__ */ jsx85(
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__ */ jsx85(Tooltip18, { title: item.name, placement: "right", children: content }, item.id);
20648
+ return /* @__PURE__ */ jsx86(Tooltip18, { title: item.name, placement: "right", children: content }, item.id);
20545
20649
  }
20546
- return /* @__PURE__ */ jsx85(React42.Fragment, { children: content }, item.id);
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__ */ jsx85("div", { className: styles.groupDivider }),
20655
+ showDivider && /* @__PURE__ */ jsx86("div", { className: styles.groupDivider }),
20552
20656
  /* @__PURE__ */ jsxs58("div", { className: styles.menuGroup, children: [
20553
- isExpanded && groupLabel && /* @__PURE__ */ jsx85("div", { className: styles.groupLabel, children: groupLabel }),
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__ */ jsx85(
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__ */ jsx85(ChevronLeft4, { size: 16 }) : /* @__PURE__ */ jsx85(ChevronRight4, { size: 16 })
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 jsx86, jsxs as jsxs59 } from "react/jsx-runtime";
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__ */ jsx86("div", { className, style: { color: "#22c55e" }, children: /* @__PURE__ */ jsx86(CheckCircle2, { size: 16 }) });
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__ */ jsx86("div", { className, style: { color: "#f59e0b" }, children: /* @__PURE__ */ jsx86(Loader24, { size: 16, className: "animate-spin" }) });
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__ */ jsx86("div", { className, style: { color: "#ef4444" }, children: /* @__PURE__ */ jsx86(AlertCircle, { size: 16 }) });
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__ */ jsx86("div", { className, style: { color: "#6b7280" }, children: /* @__PURE__ */ jsx86(Clock, { size: 16 }) });
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__ */ jsx86("span", { className: styles.activityHighlight, children: activity.from }),
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__ */ jsx86("div", { className: styles.listItem, children: /* @__PURE__ */ jsxs59("div", { className: styles.activityItem, children: [
20876
- /* @__PURE__ */ jsx86(
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__ */ jsx86("div", { className: styles.activityContent, children: renderActivityText() }),
20885
- /* @__PURE__ */ jsx86("span", { className: styles.activityTime, children: formatTime2(activity.timestamp) })
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__ */ jsx86(Tooltip19, { title: task.title, placement: "topLeft", children: /* @__PURE__ */ jsx86("div", { className: styles.listItem, children: /* @__PURE__ */ jsxs59("div", { className: styles.taskItem, children: [
20893
- /* @__PURE__ */ jsx86(StatusIcon, { status: task.status, className: styles.taskStatusIcon }),
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__ */ jsx86("span", { className: styles.taskTitle, children: task.title }),
20896
- task.assignee && /* @__PURE__ */ jsx86(Tooltip19, { title: task.assignee, children: /* @__PURE__ */ jsx86(
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__ */ jsx86("span", { className: styles.taskTime, children: formatTime2(task.updatedAt) })
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__ */ jsx86(Title6, { level: 3, className: styles.title, children: "Team Dashboard" }),
20918
- /* @__PURE__ */ jsx86(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" })
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__ */ jsx86(Col2, { span: 6, children: /* @__PURE__ */ jsx86(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx86(
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__ */ jsx86(FileText, { size: 20 }),
21030
+ prefix: /* @__PURE__ */ jsx87(FileText, { size: 20 }),
20927
21031
  valueStyle: { color: "#1890ff" }
20928
21032
  }
20929
21033
  ) }) }),
20930
- /* @__PURE__ */ jsx86(Col2, { span: 6, children: /* @__PURE__ */ jsx86(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx86(
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__ */ jsx86(Loader24, { size: 20, className: "animate-spin" }),
21039
+ prefix: /* @__PURE__ */ jsx87(Loader24, { size: 20, className: "animate-spin" }),
20936
21040
  valueStyle: { color: "#faad14" }
20937
21041
  }
20938
21042
  ) }) }),
20939
- /* @__PURE__ */ jsx86(Col2, { span: 6, children: /* @__PURE__ */ jsx86(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx86(
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__ */ jsx86(CheckCircle2, { size: 20 }),
21048
+ prefix: /* @__PURE__ */ jsx87(CheckCircle2, { size: 20 }),
20945
21049
  valueStyle: { color: "#52c41a" }
20946
21050
  }
20947
21051
  ) }) }),
20948
- /* @__PURE__ */ jsx86(Col2, { span: 6, children: /* @__PURE__ */ jsx86(Card18, { className: styles.statCard, children: /* @__PURE__ */ jsx86(
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__ */ jsx86(Mail, { size: 20 }),
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__ */ jsx86(Col2, { span: 12, children: /* @__PURE__ */ jsx86(
21063
+ /* @__PURE__ */ jsx87(Col2, { span: 12, children: /* @__PURE__ */ jsx87(
20960
21064
  Card18,
20961
21065
  {
20962
21066
  title: /* @__PURE__ */ jsxs59("span", { children: [
20963
- /* @__PURE__ */ jsx86(Mail, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
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__ */ jsx86("div", { className: styles.compactList, children: recentActivities.length === 0 ? /* @__PURE__ */ jsx86("div", { style: { padding: 24, textAlign: "center", color: "#999" }, children: "No recent activities" }) : recentActivities.map((activity) => /* @__PURE__ */ jsx86(
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__ */ jsx86(Col2, { span: 12, children: /* @__PURE__ */ jsx86(
21082
+ /* @__PURE__ */ jsx87(Col2, { span: 12, children: /* @__PURE__ */ jsx87(
20979
21083
  Card18,
20980
21084
  {
20981
21085
  title: /* @__PURE__ */ jsxs59("span", { children: [
20982
- /* @__PURE__ */ jsx86(Users, { size: 18, style: { marginRight: 8, verticalAlign: "middle" } }),
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__ */ jsx86("div", { className: styles.compactList, children: recentTasks.length === 0 ? /* @__PURE__ */ jsx86("div", { style: { padding: 24, textAlign: "center", color: "#999" }, children: "No recent tasks" }) : recentTasks.map((task) => /* @__PURE__ */ jsx86(TaskItem, { task, styles }, task.id)) })
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 useState56, useMemo as useMemo20 } from "react";
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 useState55 } from "react";
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 jsx87, jsxs as jsxs60 } from "react/jsx-runtime";
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__ */ jsx87(CheckCircle22, { size: 20 }),
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__ */ jsx87(Loader25, { size: 20, className: "animate-spin" }),
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__ */ jsx87(Loader25, { size: 20, className: "animate-spin" }),
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__ */ jsx87(AlertCircle2, { size: 20 }),
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__ */ jsx87(Clock2, { size: 20 }),
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__ */ jsx87("div", { className: styles.emptyState, children: "No comments yet" });
21467
+ return /* @__PURE__ */ jsx88("div", { className: styles.emptyState, children: "No comments yet" });
21364
21468
  }
21365
- return /* @__PURE__ */ jsx87("div", { className: styles.commentsSection, children: comments.map((comment) => /* @__PURE__ */ jsxs60("div", { className: styles.commentItem, children: [
21366
- /* @__PURE__ */ jsx87(
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__ */ jsx87("span", { className: styles.commentAuthor, children: comment.author }),
21377
- /* @__PURE__ */ jsx87("span", { className: styles.commentTime, children: formatRelativeTime(comment.time) })
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__ */ jsx87(CheckCircle22, { size: 16, style: { color: "#22c55e" } }),
21382
- /* @__PURE__ */ jsx87(Text31, { style: { color: "#22c55e", fontWeight: 600 }, children: "Result" })
21485
+ /* @__PURE__ */ jsx88(CheckCircle22, { size: 16, style: { color: "#22c55e" } }),
21486
+ /* @__PURE__ */ jsx88(Text31, { style: { color: "#22c55e", fontWeight: 600 }, children: "Result" })
21383
21487
  ] }),
21384
- /* @__PURE__ */ jsx87(Paragraph, { style: { margin: 0 }, children: comment.content })
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__ */ jsx87(AlertCircle2, { size: 16, style: { color: "#ef4444" } }),
21388
- /* @__PURE__ */ jsx87(Text31, { style: { color: "#ef4444", fontWeight: 600 }, children: "Error" })
21491
+ /* @__PURE__ */ jsx88(AlertCircle2, { size: 16, style: { color: "#ef4444" } }),
21492
+ /* @__PURE__ */ jsx88(Text31, { style: { color: "#ef4444", fontWeight: 600 }, children: "Error" })
21389
21493
  ] }),
21390
- /* @__PURE__ */ jsx87(Paragraph, { style: { margin: 0 }, children: comment.content })
21391
- ] }) : /* @__PURE__ */ jsx87("div", { className: styles.commentText, children: comment.content })
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__ */ jsx87("div", { className: styles.timelineDot, children: /* @__PURE__ */ jsx87(GitCommit, { size: 16 }) }),
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__ */ jsx87("div", { className: styles.timelineTitle, children: "Status Updated" }),
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__ */ jsx87("div", { className: styles.timelineDot, children: /* @__PURE__ */ jsx87(Calendar, { size: 16 }) }),
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__ */ jsx87("div", { className: styles.timelineTitle, children: "Task Created" }),
21416
- /* @__PURE__ */ jsx87("div", { className: styles.timelineTime, children: formatDate(task.createdAt) })
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__ */ jsx87("div", { className: styles.timelineSection, children: /* @__PURE__ */ jsx87(
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] = useState55("comments");
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__ */ jsx87(MessageSquare, { size: 14, style: { marginRight: 6 } }),
21546
+ /* @__PURE__ */ jsx88(MessageSquare, { size: 14, style: { marginRight: 6 } }),
21443
21547
  "Comments"
21444
21548
  ] }),
21445
- children: /* @__PURE__ */ jsx87(CommentsTab, { task, styles })
21549
+ children: /* @__PURE__ */ jsx88(CommentsTab, { task, styles })
21446
21550
  },
21447
21551
  {
21448
21552
  key: "activity",
21449
21553
  label: /* @__PURE__ */ jsxs60("span", { children: [
21450
- /* @__PURE__ */ jsx87(Activity4, { size: 14, style: { marginRight: 6 } }),
21554
+ /* @__PURE__ */ jsx88(Activity4, { size: 14, style: { marginRight: 6 } }),
21451
21555
  "Activity"
21452
21556
  ] }),
21453
- children: /* @__PURE__ */ jsx87(ActivityTab, { task, styles })
21557
+ children: /* @__PURE__ */ jsx88(ActivityTab, { task, styles })
21454
21558
  }
21455
21559
  ];
21456
- return /* @__PURE__ */ jsx87(
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__ */ jsx87(
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__ */ jsx87(Text31, { className: styles.taskId, children: task.id })
21589
+ /* @__PURE__ */ jsx88(Text31, { className: styles.taskId, children: task.id })
21486
21590
  ] }),
21487
- /* @__PURE__ */ jsx87(Title7, { level: 3, className: styles.title, children: task.title }),
21488
- task.description && /* @__PURE__ */ jsx87("div", { className: styles.description, children: /* @__PURE__ */ jsx87(Paragraph, { style: { margin: 0 }, children: task.description }) }),
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__ */ jsx87(Text31, { className: styles.metaLabel, children: "Status" }),
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__ */ jsx87("span", { children: statusConfig.text })
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__ */ jsx87(Text31, { className: styles.metaLabel, children: "Assignee" }),
21509
- /* @__PURE__ */ jsx87("div", { className: styles.metaValue, children: task.assignee ? /* @__PURE__ */ jsxs60(Fragment20, { children: [
21510
- /* @__PURE__ */ jsx87(
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__ */ jsx87("span", { children: task.assignee })
21519
- ] }) : /* @__PURE__ */ jsx87("span", { style: { color: "#999" }, children: "Unassigned" }) })
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__ */ jsx87(Text31, { className: styles.metaLabel, children: "Created" }),
21626
+ /* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Created" }),
21523
21627
  /* @__PURE__ */ jsxs60("div", { className: styles.metaValue, children: [
21524
- /* @__PURE__ */ jsx87(Calendar, { size: 14 }),
21525
- /* @__PURE__ */ jsx87("span", { children: formatDate(task.createdAt) })
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__ */ jsx87(Text31, { className: styles.metaLabel, children: "Updated" }),
21633
+ /* @__PURE__ */ jsx88(Text31, { className: styles.metaLabel, children: "Updated" }),
21530
21634
  /* @__PURE__ */ jsxs60("div", { className: styles.metaValue, children: [
21531
- /* @__PURE__ */ jsx87(Calendar, { size: 14 }),
21532
- /* @__PURE__ */ jsx87("span", { children: formatDate(task.updatedAt) })
21635
+ /* @__PURE__ */ jsx88(Calendar, { size: 14 }),
21636
+ /* @__PURE__ */ jsx88("span", { children: formatDate(task.updatedAt) })
21533
21637
  ] })
21534
21638
  ] })
21535
21639
  ] }),
21536
- /* @__PURE__ */ jsx87(Divider7, {}),
21640
+ /* @__PURE__ */ jsx88(Divider7, {}),
21537
21641
  task.dependencies?.length > 0 && /* @__PURE__ */ jsxs60("div", { className: styles.dependenciesSection, children: [
21538
- /* @__PURE__ */ jsx87(Text31, { className: styles.sectionTitle, children: "Dependencies" }),
21539
- /* @__PURE__ */ jsx87("div", { className: styles.dependencyList, children: task.dependencies.map((dep) => /* @__PURE__ */ jsxs60(Tag17, { className: styles.dependencyTag, children: [
21540
- /* @__PURE__ */ jsx87(Link, { size: 12 }),
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__ */ jsx87("div", { className: styles.tabsContainer, children: /* @__PURE__ */ jsx87(
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 jsx88, jsxs as jsxs61 } from "react/jsx-runtime";
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__ */ jsx88(CheckCircle23, { size, style: { color: "#22c55e" } });
21945
+ return /* @__PURE__ */ jsx89(CheckCircle23, { size, style: { color: "#22c55e" } });
21842
21946
  case "in_progress" /* IN_PROGRESS */:
21843
21947
  case "claimed" /* CLAIMED */:
21844
- return /* @__PURE__ */ jsx88(Loader26, { size, style: { color: "#f59e0b" }, className: "animate-spin" });
21948
+ return /* @__PURE__ */ jsx89(Loader26, { size, style: { color: "#f59e0b" }, className: "animate-spin" });
21845
21949
  case "failed" /* FAILED */:
21846
- return /* @__PURE__ */ jsx88(AlertCircle3, { size, style: { color: "#ef4444" } });
21950
+ return /* @__PURE__ */ jsx89(AlertCircle3, { size, style: { color: "#ef4444" } });
21847
21951
  case "pending" /* PENDING */:
21848
21952
  default:
21849
- return /* @__PURE__ */ jsx88(Circle, { size, style: { color: "#6b7280" } });
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] = useState56(defaultExpanded);
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__ */ jsx88(ChevronDown2, { size: 16 }) : /* @__PURE__ */ jsx88(ChevronRight5, { size: 16 }),
21870
- /* @__PURE__ */ jsx88("span", { className: styles.listGroupTitle, style: { color: group.color }, children: group.title }),
21871
- /* @__PURE__ */ jsx88("span", { className: styles.listGroupCount, children: group.tasks.length })
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__ */ jsx88("div", { className: styles.listGroupContent, children: group.tasks.map((task) => /* @__PURE__ */ jsxs61("div", { className: styles.listItem, onClick: () => onTaskClick(task), children: [
21876
- /* @__PURE__ */ jsx88("div", { className: styles.listItemIcon, children: /* @__PURE__ */ jsx88(StatusIcon2, { status: task.status }) }),
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__ */ jsx88("span", { className: styles.listItemId, children: task.id }),
21879
- /* @__PURE__ */ jsx88(Tooltip20, { title: task.title, children: /* @__PURE__ */ jsx88("span", { className: styles.listItemTitle, children: task.title }) })
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__ */ jsx88(Tooltip20, { title: task.assignee, children: /* @__PURE__ */ jsxs61("div", { className: styles.listItemAssignee, children: [
21883
- /* @__PURE__ */ jsx88(
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__ */ jsx88("span", { className: styles.listItemAssigneeText, children: task.assignee })
21892
- ] }) }) : /* @__PURE__ */ jsx88("div", { className: styles.listItemAssignee, children: /* @__PURE__ */ jsx88("span", { className: styles.listItemAssigneeText, children: "No assignee" }) }),
21893
- /* @__PURE__ */ jsx88("span", { className: styles.listItemDate, children: formatDate2(task.updatedAt) })
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] = useState56("list");
21905
- const [selectedTask, setSelectedTask] = useState56(null);
21906
- const [modalVisible, setModalVisible] = useState56(false);
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__ */ jsx88("div", { className: styles.kanbanContainer, children: columns.map((column) => {
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__ */ jsx88(
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__ */ jsx88(
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__ */ jsx88("span", { style: { marginLeft: 8 }, children: column.title })
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__ */ jsx88("div", { className: styles.taskTitle, children: task.title }),
22097
+ /* @__PURE__ */ jsx89("div", { className: styles.taskTitle, children: task.title }),
21994
22098
  /* @__PURE__ */ jsxs61("div", { className: styles.taskMeta, children: [
21995
- /* @__PURE__ */ jsx88(Text32, { type: "secondary", children: task.id }),
21996
- task.assignee && /* @__PURE__ */ jsx88(Tooltip20, { title: task.assignee, children: /* @__PURE__ */ jsx88(
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__ */ jsx88(
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__ */ jsx88(
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__ */ jsx88("div", { style: { padding: 48, textAlign: "center" }, children: /* @__PURE__ */ jsx88(Empty11, { description: "No issues found" }) })
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__ */ jsx88(Title8, { level: 3, className: styles.title, children: "Issues" }),
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__ */ jsx88(
22152
+ /* @__PURE__ */ jsx89(
22049
22153
  "button",
22050
22154
  {
22051
22155
  className: `${styles.viewToggleButton} ${viewMode === "list" ? "active" : ""}`,
22052
22156
  onClick: () => setViewMode("list"),
22053
- children: /* @__PURE__ */ jsx88(List14, { size: 16 })
22157
+ children: /* @__PURE__ */ jsx89(List14, { size: 16 })
22054
22158
  }
22055
22159
  ),
22056
- /* @__PURE__ */ jsx88(
22160
+ /* @__PURE__ */ jsx89(
22057
22161
  "button",
22058
22162
  {
22059
22163
  className: `${styles.viewToggleButton} ${viewMode === "kanban" ? "active" : ""}`,
22060
22164
  onClick: () => setViewMode("kanban"),
22061
- children: /* @__PURE__ */ jsx88(LayoutGrid2, { size: 16 })
22165
+ children: /* @__PURE__ */ jsx89(LayoutGrid2, { size: 16 })
22062
22166
  }
22063
22167
  )
22064
22168
  ] })
22065
22169
  ] }),
22066
- /* @__PURE__ */ jsx88("div", { className: styles.content, children: tasks?.length === 0 ? /* @__PURE__ */ jsx88("div", { className: styles.emptyState, children: /* @__PURE__ */ jsx88(Empty11, { description: "No issues found" }) }) : viewMode === "kanban" ? renderKanbanView() : renderListView() }),
22067
- /* @__PURE__ */ jsx88(
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 React45, { useMemo as useMemo21 } from "react";
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 jsx89, jsxs as jsxs62 } from "react/jsx-runtime";
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__ */ jsx89(
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__ */ jsx89(Tag18, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
22313
+ isLead && /* @__PURE__ */ jsx90(Tag18, { color: "blue", style: { marginLeft: 8, fontSize: 10 }, children: "Lead" })
22210
22314
  ] }),
22211
- /* @__PURE__ */ jsx89("div", { className: styles.nodeRole, children: role })
22315
+ /* @__PURE__ */ jsx90("div", { className: styles.nodeRole, children: role })
22212
22316
  ] })
22213
22317
  ] }),
22214
- description && /* @__PURE__ */ jsx89(
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
- React45.useEffect(() => {
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__ */ jsx89(Title9, { level: 3, className: styles.title, children: "Team Organization" }),
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__ */ jsx89(Background3, { color: "#eee", gap: 20 }),
22351
- /* @__PURE__ */ jsx89(Controls3, {})
22454
+ /* @__PURE__ */ jsx90(Background3, { color: "#eee", gap: 20 }),
22455
+ /* @__PURE__ */ jsx90(Controls3, {})
22352
22456
  ]
22353
22457
  }
22354
22458
  ),
22355
- /* @__PURE__ */ jsx89("div", { className: styles.legend, children: /* @__PURE__ */ jsxs62(Space35, { direction: "vertical", size: "small", children: [
22356
- /* @__PURE__ */ jsx89(Text33, { strong: true, style: { fontSize: 12 }, children: "Legend" }),
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__ */ jsx89(
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__ */ jsx89(Text33, { style: { fontSize: 11 }, children: "Team Lead" })
22474
+ /* @__PURE__ */ jsx90(Text33, { style: { fontSize: 11 }, children: "Team Lead" })
22371
22475
  ] }),
22372
22476
  /* @__PURE__ */ jsxs62(Space35, { size: "small", children: [
22373
- /* @__PURE__ */ jsx89(
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__ */ jsx89(Text33, { style: { fontSize: 11 }, children: "Teammate" })
22488
+ /* @__PURE__ */ jsx90(Text33, { style: { fontSize: 11 }, children: "Teammate" })
22385
22489
  ] }),
22386
- /* @__PURE__ */ jsx89("div", { style: { marginTop: 4, fontSize: 10, color: "#666" }, children: "\u2713 Completed \u2022 \u27F3 In Progress \u2022 \u25CB Pending" })
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__ */ jsx89(ReactFlowProvider3, { children: /* @__PURE__ */ jsx89(TeamOrgCanvasInner, { ...props }) });
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 jsx90, jsxs as jsxs63 } from "react/jsx-runtime";
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__ */ jsx90(
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__ */ jsx90(
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__ */ jsx90(Title10, { level: 4, className: styles.title, children: teammate.name }),
22595
+ /* @__PURE__ */ jsx91(Title10, { level: 4, className: styles.title, children: teammate.name }),
22492
22596
  /* @__PURE__ */ jsxs63("div", { children: [
22493
- /* @__PURE__ */ jsx90(Tag19, { color: "blue", children: teammate.role }),
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__ */ jsx90("div", { className: styles.chatContainer, children: /* @__PURE__ */ jsx90("div", { className: styles.chatWrapper, children: /* @__PURE__ */ jsx90(
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 useState57, useMemo as useMemo22 } from "react";
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 jsx91, jsxs as jsxs64 } from "react/jsx-runtime";
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__ */ jsx91(
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__ */ jsx91("div", { className: styles.messageIcon, children: /* @__PURE__ */ jsx91(Mail2, { size: 20 }) }),
22690
- /* @__PURE__ */ jsx91(Text35, { className: styles.messageId, children: message19.id }),
22691
- !message19.read && /* @__PURE__ */ jsx91(Tag20, { color: "red", children: "Unread" })
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__ */ jsx91(Text35, { className: styles.metaLabel, children: "From" }),
22803
+ /* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "From" }),
22700
22804
  /* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
22701
- /* @__PURE__ */ jsx91(
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__ */ jsx91("span", { children: message19.from })
22813
+ /* @__PURE__ */ jsx92("span", { children: message19.from })
22710
22814
  ] })
22711
22815
  ] }),
22712
22816
  /* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
22713
- /* @__PURE__ */ jsx91(Text35, { className: styles.metaLabel, children: "To" }),
22817
+ /* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "To" }),
22714
22818
  /* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
22715
- /* @__PURE__ */ jsx91(
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__ */ jsx91("span", { children: message19.to })
22827
+ /* @__PURE__ */ jsx92("span", { children: message19.to })
22724
22828
  ] })
22725
22829
  ] }),
22726
22830
  /* @__PURE__ */ jsxs64("div", { className: styles.metaItem, children: [
22727
- /* @__PURE__ */ jsx91(Text35, { className: styles.metaLabel, children: "Time" }),
22831
+ /* @__PURE__ */ jsx92(Text35, { className: styles.metaLabel, children: "Time" }),
22728
22832
  /* @__PURE__ */ jsxs64("div", { className: styles.metaValue, children: [
22729
- /* @__PURE__ */ jsx91(Calendar2, { size: 14 }),
22730
- /* @__PURE__ */ jsx91("span", { children: formatDate3(message19.timestamp) })
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__ */ jsx91(Text35, { className: styles.metaLabel, children: "Type" }),
22735
- /* @__PURE__ */ jsx91("div", { className: styles.metaValue, children: /* @__PURE__ */ jsx91(Tag20, { color: message19.type === "broadcast" ? "blue" : "default", children: message19.type }) })
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__ */ jsx91(Divider8, {}),
22842
+ /* @__PURE__ */ jsx92(Divider8, {}),
22739
22843
  /* @__PURE__ */ jsxs64("div", { className: styles.contentSection, children: [
22740
- /* @__PURE__ */ jsx91(Text35, { className: styles.contentLabel, children: "Message Content" }),
22741
- /* @__PURE__ */ jsx91("div", { className: styles.contentBox, children: /* @__PURE__ */ jsx91(Paragraph2, { className: styles.messageContent, children: message19.content }) })
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 jsx92, jsxs as jsxs65 } from "react/jsx-runtime";
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] = useState57(defaultExpanded);
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__ */ jsx92(ChevronDown3, { size: 16 }) : /* @__PURE__ */ jsx92(ChevronRight6, { size: 16 }),
22949
- /* @__PURE__ */ jsx92(
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__ */ jsx92("span", { className: styles.listGroupTitle, children: group.sender }),
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__ */ jsx92("div", { className: styles.listGroupContent, children: group.messages.map((message19) => /* @__PURE__ */ jsxs65(
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__ */ jsx92("div", { className: styles.listItemIcon, children: !message19.read ? /* @__PURE__ */ jsx92("div", { className: styles.unreadBadge }) : /* @__PURE__ */ jsx92(Circle2, { size: 8, style: { color: "#d9d9d9" } }) }),
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__ */ jsx92("span", { className: styles.listItemPreview, children: getMessagePreview(message19.content) }),
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__ */ jsx92("div", { className: styles.listItemRight, children: /* @__PURE__ */ jsx92("span", { className: styles.listItemDate, children: formatDate4(message19.timestamp) }) })
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] = useState57(null);
22996
- const [modalVisible, setModalVisible] = useState57(false);
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__ */ jsx92("div", { className: styles.header, children: /* @__PURE__ */ jsxs65("div", { children: [
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__ */ jsx92(Mail3, { size: 20, style: { marginRight: 8, verticalAlign: "middle" } }),
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__ */ jsx92("div", { className: styles.content, children: teamMailbox.length === 0 ? /* @__PURE__ */ jsx92("div", { className: styles.emptyState, children: /* @__PURE__ */ jsx92(Empty12, { description: "No messages" }) }) : /* @__PURE__ */ jsx92("div", { className: styles.listContainer, children: messageGroups.map((group) => /* @__PURE__ */ jsx92(
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__ */ jsx92(
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 jsx93, jsxs as jsxs66 } from "react/jsx-runtime";
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] = useState58("dashboard");
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__ */ jsx93("div", { className: styles.loadingContainer, children: /* @__PURE__ */ jsx93(Spin14, { size: "large" }) });
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__ */ jsx93(
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__ */ jsx93(
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__ */ jsx93(
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__ */ jsx93(
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__ */ jsx93(
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__ */ jsx93(
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__ */ jsx93(
23351
+ /* @__PURE__ */ jsx94(
23248
23352
  Button43,
23249
23353
  {
23250
23354
  className: styles.refreshButton,
23251
- icon: /* @__PURE__ */ jsx93(RefreshCw, { size: 16 }),
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__ */ jsx93("div", { className: styles.contentInner, children: renderContent() })
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 jsx94, jsxs as jsxs67 } from "react/jsx-runtime";
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__ */ jsx94("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: /* @__PURE__ */ jsx94("polyline", { points: "20 6 9 17 4 12" }) });
23366
- var CircleIcon = () => /* @__PURE__ */ jsx94("svg", { width: "8", height: "8", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx94("circle", { cx: "12", cy: "12", r: "10" }) });
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__ */ jsx94("span", { style: { ...styles.depLabel, color: "#7A7A7A" }, children: "none" });
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__ */ jsx94("span", { style: styles.checkIcon, children: isValidDep && isDepCompleted ? /* @__PURE__ */ jsx94(CheckIcon, {}) : isValidDep ? /* @__PURE__ */ jsx94(CircleIcon, {}) : null }),
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__ */ jsx94("span", { style: styles.taskId, children: task.id }),
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__ */ jsx94("h3", { style: styles.title, children: task.title }),
23413
- task.description && /* @__PURE__ */ jsx94("p", { style: styles.description, children: task.description }),
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__ */ jsx94("span", { style: styles.depLabel, children: "Deps:" }),
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 jsx95, jsxs as jsxs68 } from "react/jsx-runtime";
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__ */ jsx95("h1", { style: styles.pageTitle, children: "Task Board" }),
23574
- /* @__PURE__ */ jsx95("p", { style: styles.pageSubtitle, children: "Track team progress and task status" })
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__ */ jsx95("div", { style: styles.actions, children: /* @__PURE__ */ jsxs68("button", { style: styles.addButton, onClick: handleAddTask, children: [
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__ */ jsx95("line", { x1: "12", y1: "5", x2: "12", y2: "19" }),
23579
- /* @__PURE__ */ jsx95("line", { x1: "5", y1: "12", x2: "19", y2: "12" })
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__ */ jsx95("div", { style: styles.boardContainer, children: COLUMNS.map((column) => {
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__ */ jsx95("div", { style: { ...styles.statusDot, background: column.color } }),
23590
- /* @__PURE__ */ jsx95("span", { style: styles.columnLabel, children: column.title })
23693
+ /* @__PURE__ */ jsx96("div", { style: { ...styles.statusDot, background: column.color } }),
23694
+ /* @__PURE__ */ jsx96("span", { style: styles.columnLabel, children: column.title })
23591
23695
  ] }),
23592
- /* @__PURE__ */ jsx95("span", { style: styles.columnCount, children: columnTasks.length })
23696
+ /* @__PURE__ */ jsx96("span", { style: styles.columnCount, children: columnTasks.length })
23593
23697
  ] }),
23594
- columnTasks.length > 0 ? columnTasks.map((task) => /* @__PURE__ */ jsx95(
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__ */ jsx95("div", { style: styles.emptyColumn, children: "No tasks" })
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 useState59, useMemo as useMemo25, useRef as useRef21, useEffect as useEffect36 } from "react";
23610
- import { jsx as jsx96, jsxs as jsxs69 } from "react/jsx-runtime";
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__ */ jsx96("span", { style: styles.messageText, children: content });
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__ */ jsx96("span", { style: styles.messageText, children: parts });
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] = useState59("");
23896
- const messagesEndRef = useRef21(null);
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
- useEffect36(() => {
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__ */ jsx96("div", { style: styles.header, children: /* @__PURE__ */ jsxs69("div", { style: styles.titleSection, children: [
23925
- /* @__PURE__ */ jsx96("h2", { style: styles.teamName, children: teamName || "Team Chat" }),
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__ */ jsx96("div", { style: styles.sidebarHeader, children: /* @__PURE__ */ jsx96("p", { style: styles.sidebarTitle, children: "Team Members" }) }),
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__ */ jsx96(
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__ */ jsx96("span", { style: styles.avatarText, children: getInitials9(member.name) })
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__ */ jsx96("p", { style: styles.memberRole, children: member.role })
24055
+ /* @__PURE__ */ jsx97("p", { style: styles.memberRole, children: member.role })
23952
24056
  ] }),
23953
- /* @__PURE__ */ jsx96(
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__ */ jsx96(
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__ */ jsx96("span", { style: styles.avatarText, children: getInitials9(msg.from) })
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__ */ jsx96(
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__ */ jsx96(
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__ */ jsx96(
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__ */ jsx96("div", { ref: messagesEndRef })
24139
+ /* @__PURE__ */ jsx97("div", { ref: messagesEndRef })
24036
24140
  ] }),
24037
24141
  /* @__PURE__ */ jsxs69("div", { style: styles.inputArea, children: [
24038
- /* @__PURE__ */ jsx96("div", { style: styles.input, children: /* @__PURE__ */ jsx96(
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__ */ jsx96("line", { x1: "22", y1: "2", x2: "11", y2: "13" }),
24061
- /* @__PURE__ */ jsx96("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })
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__ */ jsx96("span", { style: styles.sendText, children: "Send" })
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 useCallback27 } from "react";
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 React50, { useEffect as useEffect37, useRef as useRef22, useCallback as useCallback26, useState as useState60 } from "react";
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 jsx97, jsxs as jsxs70 } from "react/jsx-runtime";
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 = useRef22(null);
24771
- const containerRef = useRef22(null);
24772
- const resizeObserverRef = useRef22(null);
24773
- const prevHTMLRef = useRef22("");
24774
- const isReadyRef = useRef22(false);
24775
- const pendingChunksRef = useRef22([]);
24776
- const isCompleteRef = useRef22(isComplete);
24777
- const isScriptExecuted = useRef22(false);
24778
- const [iframeHeight, setIframeHeight] = React50.useState(0);
24779
- const [iframeWidth, setIframeWidth] = React50.useState(void 0);
24780
- const [currentMessageIndex, setCurrentMessageIndex] = useState60(0);
24781
- const [showLoading, setShowLoading] = useState60(true);
24782
- useEffect37(() => {
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
- useEffect37(() => {
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 = useCallback26(() => {
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 = useCallback26((chunk) => {
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
- useEffect37(() => {
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
- useEffect37(() => {
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
- useEffect37(() => {
25029
+ useEffect38(() => {
24926
25030
  if (isComplete && isReadyRef.current) {
24927
25031
  executeScripts();
24928
25032
  }
24929
25033
  }, [isComplete, executeScripts]);
24930
- useEffect37(() => {
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
- useEffect37(() => {
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__ */ jsx97("style", { children: `
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__ */ jsx97(
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__ */ jsx97(
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 jsx98, jsxs as jsxs71 } from "react/jsx-runtime";
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 = useCallback27((text) => {
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 = useCallback27(() => {
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__ */ jsx98(
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__ */ jsx98(
25208
+ /* @__PURE__ */ jsx99(
25105
25209
  Button44,
25106
25210
  {
25107
25211
  type: "text",
25108
25212
  size: "small",
25109
- icon: /* @__PURE__ */ jsx98(ExpandOutlined2, {}),
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__ */ jsx98("div", { style: { position: "relative", flex: 1 }, children: /* @__PURE__ */ jsx98(
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 useCallback28 } from "react";
25136
- import { jsx as jsx99 } from "react/jsx-runtime";
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 = useCallback28(
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__ */ jsx99("div", { style: { padding: 24 }, children: /* @__PURE__ */ jsx99(
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 useEffect38, useState as useState61 } from "react";
25270
- import { Fragment as Fragment21, jsx as jsx100, jsxs as jsxs72 } from "react/jsx-runtime";
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__ */ jsx100(Fragment21, { children: data.component });
25551
+ return /* @__PURE__ */ jsx101(Fragment21, { children: data.component });
25448
25552
  }
25449
25553
  return /* @__PURE__ */ jsxs72("div", { children: [
25450
- /* @__PURE__ */ jsx100("p", { children: "Component view not found" }),
25451
- /* @__PURE__ */ jsx100("pre", { children: JSON.stringify({ component_key, data }, null, 2) })
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__ */ jsx100(AppstoreOutlined, { style: { fontSize: 12, opacity: 0.6 } });
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] = useState61(
25571
+ const [activeKey, setActiveKey] = useState62(
25468
25572
  JSON.stringify(selectedCard)
25469
25573
  );
25470
- const [hoveredTab, setHoveredTab] = useState61(null);
25471
- const [items, setItems] = useState61([]);
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
- useEffect38(() => {
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__ */ jsx100(
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__ */ jsx100("span", { style: { flex: 1 }, children: item.label }),
25539
- /* @__PURE__ */ jsx100(
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__ */ jsx100("div", { className: styles.tabsStrip, children: items.map((item) => /* @__PURE__ */ jsx100(Tooltip22, { title: item.label, placement: "bottom", children: /* @__PURE__ */ jsxs72(
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__ */ jsx100("span", { className: styles.tabLabel, children: item.label }),
25567
- /* @__PURE__ */ jsx100(
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__ */ jsx100(CloseOutlined2, { style: { fontSize: 10 } })
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__ */ jsx100("div", { className: styles.tabCounter, children: items.length }),
25583
- items.length > 1 && /* @__PURE__ */ jsx100(
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__ */ jsx100("button", { className: styles.actionBtn, title: "All tabs", children: /* @__PURE__ */ jsx100(MoreOutlined3, {}) })
25693
+ children: /* @__PURE__ */ jsx101("button", { className: styles.actionBtn, title: "All tabs", children: /* @__PURE__ */ jsx101(MoreOutlined3, {}) })
25590
25694
  }
25591
25695
  ),
25592
- /* @__PURE__ */ jsx100(Tooltip22, { title: "Close", children: /* @__PURE__ */ jsx100("button", { className: styles.actionBtn, onClick: closeApp, children: /* @__PURE__ */ jsx100(CloseOutlined2, {}) }) })
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__ */ jsx100("div", { className: styles.content, children: activeItem ? /* @__PURE__ */ jsx100("div", { className: styles.contentWrapper, children: activeItem.children }, activeItem.key) : /* @__PURE__ */ jsxs72("div", { className: styles.emptyState, children: [
25596
- /* @__PURE__ */ jsx100(AppstoreOutlined, { className: "icon" }),
25597
- /* @__PURE__ */ jsx100("span", { children: "Select an app to start" })
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 useState62, useCallback as useCallback29, useMemo as useMemo26, useRef as useRef23 } from "react";
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 jsx101, jsxs as jsxs73 } from "react/jsx-runtime";
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] = useState62(false);
25838
- const workspaceDropdownRef = useRef23(null);
25839
- const [isProjectListOpen, setIsProjectListOpen] = useState62(false);
25840
- const [isModalOpen, setIsModalOpen] = useState62(false);
25841
- const [projectName, setProjectName] = useState62("");
25842
- const [validationError, setValidationError] = useState62(null);
25843
- const [isCreating, setIsCreating] = useState62(false);
25844
- const projectNameInputRef = useRef23(null);
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 = useCallback29((selectedProjectId) => {
25955
+ const handleSelectProject = useCallback31((selectedProjectId) => {
25852
25956
  setProject(selectedProjectId);
25853
25957
  setIsProjectListOpen(false);
25854
25958
  }, [setProject]);
25855
- const handleWorkspaceClick = useCallback29(() => {
25959
+ const handleWorkspaceClick = useCallback31(() => {
25856
25960
  setProject(null);
25857
25961
  }, [setProject]);
25858
- const toggleProjectList = useCallback29(() => {
25962
+ const toggleProjectList = useCallback31(() => {
25859
25963
  setIsProjectListOpen((prev) => !prev);
25860
25964
  }, []);
25861
- const toggleWorkspaceList = useCallback29(() => {
25965
+ const toggleWorkspaceList = useCallback31(() => {
25862
25966
  setIsWorkspaceListOpen((prev) => !prev);
25863
25967
  }, []);
25864
- const validateProjectName = useCallback29((name) => {
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 = useCallback29((e) => {
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 = useCallback29(() => {
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 = useCallback29(async () => {
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__ */ jsx101("div", { className: styles.container, children: /* @__PURE__ */ jsxs73("div", { className: styles.selectorWrapper, children: [
25927
- /* @__PURE__ */ jsx101("div", { style: { position: "relative" }, ref: workspaceDropdownRef, children: /* @__PURE__ */ jsx101(
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__ */ jsx101("div", { className: styles.workspaceButtonIcon, children: /* @__PURE__ */ jsx101(Building24, { size: 16 }) })
26037
+ children: /* @__PURE__ */ jsx102("div", { className: styles.workspaceButtonIcon, children: /* @__PURE__ */ jsx102(Building24, { size: 16 }) })
25934
26038
  }
25935
26039
  ) }),
25936
- /* @__PURE__ */ jsx101("span", { className: styles.divider, children: "/" }),
26040
+ /* @__PURE__ */ jsx102("span", { className: styles.divider, children: "/" }),
25937
26041
  /* @__PURE__ */ jsxs73("div", { className: styles.projectTrigger, onClick: toggleProjectList, children: [
25938
- /* @__PURE__ */ jsx101("div", { className: styles.projectTriggerIcon, children: /* @__PURE__ */ jsx101(Folder, { size: 16 }) }),
25939
- /* @__PURE__ */ jsx101("div", { className: styles.projectTriggerInfo, children: /* @__PURE__ */ jsx101("div", { className: styles.projectTriggerName, children: currentProject?.name || "Select Project" }) }),
25940
- /* @__PURE__ */ jsx101("div", { className: `${styles.projectTriggerArrow} ${isProjectListOpen ? "expanded" : ""}`, children: /* @__PURE__ */ jsx101(ChevronDown4, { size: 14 }) })
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__ */ jsx101("div", { className: styles.projectDropdownItemIcon, children: /* @__PURE__ */ jsx101(Folder, { size: 14 }) }),
25950
- /* @__PURE__ */ jsx101("div", { className: project.id === projectId ? styles.projectDropdownItemNameActive : styles.projectDropdownItemName, children: project.name })
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__ */ jsx101("div", { className: styles.emptyState, children: "No projects" })
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__ */ jsx101(Button45, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
25972
- /* @__PURE__ */ jsx101(
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__ */ jsx101(
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__ */ jsx101("div", { style: { color: "#ff4d4f", fontSize: "12px", marginTop: "4px" }, children: validationError })
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 jsx102, jsxs as jsxs74 } from "react/jsx-runtime";
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__ */ jsx102(ProjectSelector, {}) : null;
26010
- return /* @__PURE__ */ jsx102(
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__ */ jsx102(ChatUIContextProvider, { children: /* @__PURE__ */ jsxs74(
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__ */ jsx102(
26135
+ /* @__PURE__ */ jsx103(
26032
26136
  ColumnLayout,
26033
26137
  {
26034
26138
  menu,
26035
26139
  header: leftTop,
26036
- left: thread_id ? /* @__PURE__ */ jsx102(Chating, { ...chatingProps }) : /* @__PURE__ */ jsx102("div", { children: "Please create a conversation first" }),
26037
- right: /* @__PURE__ */ jsx102(SideAppViewBrowser, {})
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 jsx103 } from "react/jsx-runtime";
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__ */ jsx103(
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 useState64, useMemo as useMemo29, useCallback as useCallback32 } from "react";
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 useState63, useEffect as useEffect39, useCallback as useCallback30, useMemo as useMemo28, useRef as useRef24 } from "react";
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 jsx104, jsxs as jsxs75 } from "react/jsx-runtime";
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] = useState63({});
26494
- const [folderLoading, setFolderLoading] = useState63({});
26495
- const [isProjectListOpen, setIsProjectListOpen] = useState63(false);
26496
- const [uploadingFolder, setUploadingFolder] = useState63(null);
26497
- const [isModalOpen, setIsModalOpen] = useState63(false);
26498
- const [projectName, setProjectName] = useState63("");
26499
- const [validationError, setValidationError] = useState63(null);
26500
- const [isCreating, setIsCreating] = useState63(false);
26501
- const projectNameInputRef = useRef24(null);
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 = useCallback30(async (folder) => {
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
- useEffect39(() => {
26628
+ useEffect40(() => {
26525
26629
  resourceFolders.forEach((folder) => {
26526
26630
  loadAssetsForFolder(folder);
26527
26631
  });
26528
26632
  }, [workspaceId, projectId, loadAssetsForFolder, resourceFolders]);
26529
- const handleSelectProject = useCallback30((selectedProjectId) => {
26633
+ const handleSelectProject = useCallback32((selectedProjectId) => {
26530
26634
  setProject(selectedProjectId);
26531
26635
  setIsProjectListOpen(false);
26532
26636
  }, [setProject]);
26533
- const toggleProjectList = useCallback30(() => {
26637
+ const toggleProjectList = useCallback32(() => {
26534
26638
  setIsProjectListOpen((prev) => !prev);
26535
26639
  }, []);
26536
- const validateProjectName = useCallback30((name) => {
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 = useCallback30(() => {
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 = useCallback30(() => {
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 = useCallback30(async () => {
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__ */ jsx104(
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__ */ jsx104("span", { className: styles.badge, children: assets.length })
26772
+ /* @__PURE__ */ jsx105("span", { className: styles.badge, children: assets.length })
26669
26773
  ] }),
26670
- isLoading ? /* @__PURE__ */ jsx104("div", { className: styles.loading, children: /* @__PURE__ */ jsx104(Spin15, { size: "small" }) }) : /* @__PURE__ */ jsxs75("div", { className: styles.assetList, children: [
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__ */ jsx104("div", { className: styles.assetIcon, children: getFileIcon2(getFileName(asset.name || asset.path)) }),
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__ */ jsx104("div", { className: styles.assetName, children: getFileName(asset.name || asset.path) }),
26681
- /* @__PURE__ */ jsx104("div", { className: styles.assetMeta, children: formatDate5(asset.modified_at) })
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__ */ jsx104("div", { className: styles.emptyState, children: "No files in this folder" }),
26688
- folder.allowUpload && /* @__PURE__ */ jsx104(
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__ */ jsx104(Spin15, { size: "small" }),
26697
- /* @__PURE__ */ jsx104("span", { children: "Uploading..." })
26800
+ /* @__PURE__ */ jsx105(Spin15, { size: "small" }),
26801
+ /* @__PURE__ */ jsx105("span", { children: "Uploading..." })
26698
26802
  ] }) : /* @__PURE__ */ jsxs75(Fragment23, { children: [
26699
- /* @__PURE__ */ jsx104(Upload, { size: 14 }),
26700
- /* @__PURE__ */ jsx104("span", { children: "Upload" })
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__ */ jsx104(Button46, { onClick: handleCloseModal, disabled: isCreating, children: "Cancel" }),
26721
- /* @__PURE__ */ jsx104(
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__ */ jsx104("label", { className: styles.formLabel, htmlFor: "project-name", children: "Project Name" }),
26734
- /* @__PURE__ */ jsx104(
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__ */ jsx104("div", { className: styles.formError, role: "alert", children: validationError })
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 React57, { useCallback as useCallback31 } from "react";
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 jsx105, jsxs as jsxs76 } from "react/jsx-runtime";
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 = useCallback31(
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 = React57.useMemo(() => {
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__ */ jsx105("div", { className: styles.container, children: /* @__PURE__ */ jsx105("div", { className: styles.loading, children: "Loading conversations..." }) });
27004
+ return /* @__PURE__ */ jsx106("div", { className: styles.container, children: /* @__PURE__ */ jsx106("div", { className: styles.loading, children: "Loading conversations..." }) });
26901
27005
  }
26902
- return /* @__PURE__ */ jsx105("div", { className: styles.container, children: sortedThreads.length === 0 ? /* @__PURE__ */ jsx105("div", { className: styles.emptyState, children: "No conversations yet" }) : /* @__PURE__ */ jsx105("div", { className: styles.threadList, children: sortedThreads.map((thread) => /* @__PURE__ */ jsxs76(
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__ */ jsx105("div", { className: styles.threadIcon, children: /* @__PURE__ */ jsx105(MessageSquare2, { size: 14 }) }),
26910
- /* @__PURE__ */ jsx105(
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__ */ jsx105(
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__ */ jsx105(Trash24, { size: 12 })
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 jsx106, jsxs as jsxs77 } from "react/jsx-runtime";
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__ */ jsx106(PlusCircle, { size: 20 }),
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__ */ jsx106(History, { size: 20 }),
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__ */ jsx106(ThreadHistoryMenuContent, {})
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__ */ jsx106(FolderOpen4, {}),
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__ */ jsx106(ProjectsMenuContent, {})
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__ */ jsx106(LogOut4, { size: 20 }),
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] = useState64({});
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 = useCallback32(async (item) => {
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 = useCallback32((itemId) => {
27155
+ const handleCloseDrawer = useCallback34((itemId) => {
27052
27156
  setDrawerStates((prev) => ({ ...prev, [itemId]: false }));
27053
27157
  }, []);
27054
- const handleNewAnalysis = useCallback32(async () => {
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 = useCallback32((item) => {
27165
+ const renderDrawerContent = useCallback34((item) => {
27062
27166
  switch (item.builtin) {
27063
27167
  case "projects":
27064
- return /* @__PURE__ */ jsx106(ProjectsMenuContent, {});
27168
+ return /* @__PURE__ */ jsx107(ProjectsMenuContent, {});
27065
27169
  case "thread-history":
27066
- return /* @__PURE__ */ jsx106(ThreadHistoryMenuContent, {});
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__ */ jsx106(
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__ */ jsx106(
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__ */ jsx106("span", { style: { fontSize: 16, fontWeight: 600, textTransform: "uppercase", letterSpacing: 0.5 }, children: item.title || item.name }),
27093
- /* @__PURE__ */ jsx106(
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__ */ jsx106(PanelLeftClose2, { size: 24 })
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 jsx107 } from "react/jsx-runtime";
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__ */ jsx107(
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__ */ jsx107(
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__ */ jsx107(ChatSidebar, { customMenuItems: sideMenuItems }) : void 0
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 useState65, useEffect as useEffect40, useRef as useRef25 } from "react";
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 Select6,
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 jsx108, jsxs as jsxs78 } from "react/jsx-runtime";
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__ */ jsx108(EnvironmentOutlined, {})
27651
+ icon: /* @__PURE__ */ jsx109(EnvironmentOutlined, {})
27548
27652
  },
27549
27653
  {
27550
27654
  key: "models",
27551
27655
  label: "Model Configuration",
27552
- icon: /* @__PURE__ */ jsx108(ApiOutlined, {})
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] = useState65(() => {
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] = useState65({});
27585
- const connectionsRef = useRef25(connections);
27586
- useEffect40(() => {
27688
+ const [serverConfigs, setServerConfigs] = useState66({});
27689
+ const connectionsRef = useRef26(connections);
27690
+ useEffect41(() => {
27587
27691
  connectionsRef.current = connections;
27588
27692
  }, [connections]);
27589
- const [activeTabKey, setActiveTabKey] = useState65(
27693
+ const [activeTabKey, setActiveTabKey] = useState66(
27590
27694
  connections.length > 0 ? connections[0].id : ""
27591
27695
  );
27592
- const [activeMenu, setActiveMenu] = useState65("environment");
27593
- const [loading, setLoading] = useState65(false);
27594
- const [showAddServerModal, setShowAddServerModal] = useState65(false);
27595
- const [newServerUrl, setNewServerUrl] = useState65("");
27596
- const [newServerName, setNewServerName] = useState65("");
27597
- const [newServerApiKey, setNewServerApiKey] = useState65("");
27598
- const [addingServer, setAddingServer] = useState65(false);
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
- useEffect40(() => {
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
- useEffect40(() => {
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__ */ jsx108(
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__ */ jsx108(
28119
+ /* @__PURE__ */ jsx109(
28016
28120
  CheckCircleOutlined8,
28017
28121
  {
28018
28122
  style: { color: "#52c41a", marginRight: 8 }
28019
28123
  }
28020
28124
  ),
28021
- /* @__PURE__ */ jsx108("strong", { children: "Immediately effective:" }),
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__ */ jsx108(ReloadOutlined4, { style: { color: "#faad14", marginRight: 8 } }),
28026
- /* @__PURE__ */ jsx108("strong", { children: "Requires restart:" }),
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__ */ jsx108("div", { style: { marginBottom: 24 }, children: /* @__PURE__ */ jsx108(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." }) }),
28036
- /* @__PURE__ */ jsx108(
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__ */ jsx108("div", { style: { marginBottom: 32 }, children: /* @__PURE__ */ jsx108(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." }) }),
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__ */ jsx108(
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__ */ jsx108(Text37, { className: styles.formLabel, children: "Key *" }),
28166
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { className: styles.formDescription, children: "Unique identifier for this model" })
28279
+ /* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "Unique identifier for this model" })
28176
28280
  ] }),
28177
28281
  /* @__PURE__ */ jsxs78("div", { children: [
28178
- /* @__PURE__ */ jsx108(Text37, { className: styles.formLabel, children: "Provider *" }),
28179
- /* @__PURE__ */ jsx108(
28180
- Select6,
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__ */ jsx108(Text37, { className: styles.formLabel, children: "Model Name *" }),
28197
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { className: styles.formLabel, children: "API Key" }),
28209
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { className: styles.formDescription, children: "API key for the model provider. Leave empty to use environment variable." })
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__ */ jsx108(Text37, { className: styles.formLabel, children: "Base URL" }),
28222
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { className: styles.formDescription, children: "Optional custom base URL for the API" })
28335
+ /* @__PURE__ */ jsx109(Text37, { className: styles.formDescription, children: "Optional custom base URL for the API" })
28232
28336
  ] }),
28233
- /* @__PURE__ */ jsx108("div", { children: /* @__PURE__ */ jsxs78(Space37, { children: [
28234
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { children: "Enable Streaming" })
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__ */ jsx108(Text37, { className: styles.formLabel, children: "Max Tokens" }),
28246
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { className: styles.formLabel, children: "Temperature" }),
28263
- /* @__PURE__ */ jsx108(
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__ */ jsx108(
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__ */ jsx108(
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__ */ jsx108("span", { children: connection.name }),
28321
- connection.connected && /* @__PURE__ */ jsx108(
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__ */ jsx108(
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__ */ jsx108("div", { className: styles.tabContent, children: connection.connected ? /* @__PURE__ */ jsx108(Fragment25, { children: /* @__PURE__ */ jsxs78("div", { style: { display: "flex", height: "100%" }, children: [
28339
- /* @__PURE__ */ jsx108("div", { className: styles.sidebar, children: SETTINGS_MENU_ITEMS.map((item) => /* @__PURE__ */ jsxs78(
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__ */ jsx108("span", { className: styles.menuItemIcon, children: item.icon }),
28346
- /* @__PURE__ */ jsx108("span", { className: styles.menuItemText, children: item.label })
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__ */ jsx108(Title13, { level: 3, className: styles.contentTitle, children: activeMenuItem?.label }),
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__ */ jsx108(Button47, { onClick: onClose, children: "Cancel" }),
28362
- /* @__PURE__ */ jsx108(
28465
+ /* @__PURE__ */ jsx109(Button47, { onClick: onClose, children: "Cancel" }),
28466
+ /* @__PURE__ */ jsx109(
28363
28467
  Button47,
28364
28468
  {
28365
28469
  type: "primary",
28366
- icon: /* @__PURE__ */ jsx108(SaveOutlined2, {}),
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__ */ jsx108("div", { className: styles.contentBody, children: renderContent(connection.id) })
28478
+ /* @__PURE__ */ jsx109("div", { className: styles.contentBody, children: renderContent(connection.id) })
28375
28479
  ] })
28376
- ] }) }) : /* @__PURE__ */ jsx108(
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__ */ jsx108(LinkOutlined2, { style: { fontSize: 64, color: "#1890ff" }, spin: true }),
28390
- /* @__PURE__ */ jsx108(Title13, { level: 4, children: "Connecting..." }),
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__ */ jsx108(LinkOutlined2, { style: { fontSize: 64, color: "#d9d9d9" } }),
28397
- /* @__PURE__ */ jsx108(Title13, { level: 4, type: "secondary", children: connection.error || "Not Connected" }),
28398
- /* @__PURE__ */ jsx108(
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__ */ jsx108(
28510
+ /* @__PURE__ */ jsx109(
28407
28511
  Button47,
28408
28512
  {
28409
28513
  type: "primary",
28410
- icon: /* @__PURE__ */ jsx108(LinkOutlined2, {}),
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__ */ jsx108(
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__ */ jsx108("div", { children: /* @__PURE__ */ jsx108(
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__ */ jsx108(PlusOutlined7, {}),
28457
- /* @__PURE__ */ jsx108("span", { children: "Add Server" })
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__ */ jsx108(
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__ */ jsx108(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server Name" }),
28482
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: Leave empty to use URL as name" })
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__ */ jsx108(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "Server URL *" }),
28495
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Enter the full URL of the gateway server" })
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__ */ jsx108(Text37, { strong: true, style: { display: "block", marginBottom: 8 }, children: "API Key" }),
28508
- /* @__PURE__ */ jsx108(
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__ */ jsx108(Text37, { type: "secondary", style: { fontSize: 12, marginTop: 4 }, children: "Optional: API key for server authentication" })
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 jsx109 } from "react/jsx-runtime";
28630
+ import { jsx as jsx110 } from "react/jsx-runtime";
28527
28631
  var AgentServerSetting = () => {
28528
28632
  const { settingsModalOpen, setSettingsModalOpen } = useLatticeChatShellContext();
28529
- return /* @__PURE__ */ jsx109(
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 jsx110, jsxs as jsxs79 } from "react/jsx-runtime";
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__ */ jsx110(Fragment26, { children: enableWorkspace ? /* @__PURE__ */ jsxs79(WorkspaceContextProvider, { children: [
28546
- /* @__PURE__ */ jsx110(AssistantContextProvider, { autoLoad: true, initialAssistantId, children: /* @__PURE__ */ jsx110(ConversationContextProvider, { children: /* @__PURE__ */ jsx110(LatticeChatView, {}) }) }),
28547
- /* @__PURE__ */ jsx110(AgentServerSetting, {})
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__ */ jsx110(AssistantContextProvider, { autoLoad: true, initialAssistantId, children: /* @__PURE__ */ jsx110(ConversationContextProvider, { children: /* @__PURE__ */ jsx110(LatticeChatView, {}) }) }),
28550
- /* @__PURE__ */ jsx110(AgentServerSetting, {})
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__ */ jsx110(
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__ */ jsx110(
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,