@axiom-lattice/react-sdk 2.1.53 → 2.1.55

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