@axiom-lattice/react-sdk 2.1.54 → 2.1.56

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