@axiom-lattice/react-sdk 4.11.2 → 5.0.0

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.
Files changed (74) hide show
  1. package/dist/{AgentDetailSideApp-GSO53ECQ.mjs → AgentDetailSideApp-TIU7UQZH.mjs} +8 -8
  2. package/dist/AgentGovernanceWorkbench-CWFRVPS5.mjs +20 -0
  3. package/dist/{MessageGraph-RUU5W4OT.mjs → MessageGraph-XRSLD6VY.mjs} +4 -4
  4. package/dist/{ReactChart-KU4TD7TM.mjs → ReactChart-IW27RELF.mjs} +4 -4
  5. package/dist/{SkillFlow-MLSQCF4X.mjs → SkillFlow-7OCWAF5V.mjs} +4 -4
  6. package/dist/{TasksSideApp-LWM6XAWN.mjs → TasksSideApp-5UTBVBIW.mjs} +5 -7
  7. package/dist/TasksSideApp-5UTBVBIW.mjs.map +1 -0
  8. package/dist/{TeamWorkspace-3NLKUNRK.mjs → TeamWorkspace-WZ7EHM3X.mjs} +4 -4
  9. package/dist/{TopologyRuntimeView-NVFFMHTP.mjs → TopologyRuntimeView-77JCSNTK.mjs} +5 -5
  10. package/dist/{WorkflowAutomationView-WBVKM73F.mjs → WorkflowAutomationView-AVGN2L6Y.mjs} +7 -7
  11. package/dist/{chunk-QM3NPPQJ.mjs → chunk-CLCJX35D.mjs} +7 -7
  12. package/dist/{chunk-BXPPM4ZX.mjs → chunk-GJTDVFBS.mjs} +3 -3
  13. package/dist/{chunk-RDC4ZHXF.mjs → chunk-IFRTNJ2P.mjs} +2 -2
  14. package/dist/{chunk-PEEXMLMK.mjs → chunk-IODHU3BD.mjs} +3 -3
  15. package/dist/{chunk-ZX53OESZ.mjs → chunk-MFFUZVR5.mjs} +3 -3
  16. package/dist/{chunk-YDIVRYML.mjs → chunk-NE5RWDYD.mjs} +4 -4
  17. package/dist/{chunk-PMICYMSW.mjs → chunk-QLFWQ4HR.mjs} +1176 -944
  18. package/dist/chunk-QLFWQ4HR.mjs.map +1 -0
  19. package/dist/{chunk-ZQ7G446O.mjs → chunk-UDSGQ7R7.mjs} +3 -3
  20. package/dist/{chunk-ZXEY5OGX.mjs → chunk-VLQM75ZM.mjs} +6 -6
  21. package/dist/{chunk-NRT6JXPT.mjs → chunk-VQT22AKU.mjs} +6 -6
  22. package/dist/{embed-page-AgentDetailSideApp-FHC56ARN.js → embed-page-AgentDetailSideApp-XCP4LY7Y.js} +1 -1
  23. package/dist/{embed-page-AgentGovernanceWorkbench-KAPZJBE6.js → embed-page-AgentGovernanceWorkbench-BBDKEIBI.js} +1 -1
  24. package/dist/{embed-page-MessageGraph-DMP5EZBM.js → embed-page-MessageGraph-D77CYFAG.js} +1 -1
  25. package/dist/{embed-page-ReactChart-PYGNSRHG.js → embed-page-ReactChart-TBDJOTZ5.js} +1 -1
  26. package/dist/{embed-page-SkillFlow-6LPE2VG3.js → embed-page-SkillFlow-NDAK3GAD.js} +1 -1
  27. package/dist/{embed-page-TasksSideApp-MPYOPRXW.js → embed-page-TasksSideApp-BVCIAE24.js} +5 -5
  28. package/dist/{embed-page-TeamWorkspace-EXUAXKAH.js → embed-page-TeamWorkspace-JFEKNVFP.js} +1 -1
  29. package/dist/{embed-page-TopologyRuntimeView-MH4YMU7D.js → embed-page-TopologyRuntimeView-42TN76MK.js} +1 -1
  30. package/dist/{embed-page-WorkflowAutomationView-KQYFSLLH.js → embed-page-WorkflowAutomationView-JLP4UHPP.js} +1 -1
  31. package/dist/{embed-page-chunk-O44JEYLD.js → embed-page-chunk-2PFKLMTR.js} +5 -5
  32. package/dist/{embed-page-chunk-YQZI5LNV.js → embed-page-chunk-5NJ3O2GK.js} +1 -1
  33. package/dist/{embed-page-chunk-JSAUTBU5.js → embed-page-chunk-GUSAII2D.js} +1 -1
  34. package/dist/{embed-page-chunk-I7BVN6EY.js → embed-page-chunk-H64UEFHS.js} +1 -1
  35. package/dist/{embed-page-chunk-QGXGVLAX.js → embed-page-chunk-I3OONX3N.js} +1 -1
  36. package/dist/{embed-page-chunk-NW37OVAX.js → embed-page-chunk-K2U3JD67.js} +1 -1
  37. package/dist/{embed-page-chunk-QHXKZNDU.js → embed-page-chunk-YYDZ6ZBV.js} +307 -191
  38. package/dist/{embed-page-en-PQZ2ZCEH.js → embed-page-en-GLT2HEZZ.js} +1 -1
  39. package/dist/{embed-page-zh-D3EX4GW4.js → embed-page-zh-XMEJPDMF.js} +1 -1
  40. package/dist/embed-page.js +1 -1
  41. package/dist/{en-WQVDOIB7.mjs → en-FDNQNTHX.mjs} +7 -2
  42. package/dist/{en-WQVDOIB7.mjs.map → en-FDNQNTHX.mjs.map} +1 -1
  43. package/dist/index.d.mts +7 -6
  44. package/dist/index.d.ts +7 -6
  45. package/dist/index.js +2675 -2424
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +10 -10
  48. package/dist/web-app.js +12 -2
  49. package/dist/web-app.js.map +1 -1
  50. package/dist/web-app.mjs +1 -1
  51. package/dist/{zh-6PHD4AY5.mjs → zh-2EJFFUSY.mjs} +7 -2
  52. package/dist/zh-2EJFFUSY.mjs.map +1 -0
  53. package/package.json +2 -2
  54. package/dist/AgentGovernanceWorkbench-LHXFBEYO.mjs +0 -20
  55. package/dist/TasksSideApp-LWM6XAWN.mjs.map +0 -1
  56. package/dist/chunk-PMICYMSW.mjs.map +0 -1
  57. package/dist/zh-6PHD4AY5.mjs.map +0 -1
  58. /package/dist/{AgentDetailSideApp-GSO53ECQ.mjs.map → AgentDetailSideApp-TIU7UQZH.mjs.map} +0 -0
  59. /package/dist/{AgentGovernanceWorkbench-LHXFBEYO.mjs.map → AgentGovernanceWorkbench-CWFRVPS5.mjs.map} +0 -0
  60. /package/dist/{MessageGraph-RUU5W4OT.mjs.map → MessageGraph-XRSLD6VY.mjs.map} +0 -0
  61. /package/dist/{ReactChart-KU4TD7TM.mjs.map → ReactChart-IW27RELF.mjs.map} +0 -0
  62. /package/dist/{SkillFlow-MLSQCF4X.mjs.map → SkillFlow-7OCWAF5V.mjs.map} +0 -0
  63. /package/dist/{TeamWorkspace-3NLKUNRK.mjs.map → TeamWorkspace-WZ7EHM3X.mjs.map} +0 -0
  64. /package/dist/{TopologyRuntimeView-NVFFMHTP.mjs.map → TopologyRuntimeView-77JCSNTK.mjs.map} +0 -0
  65. /package/dist/{WorkflowAutomationView-WBVKM73F.mjs.map → WorkflowAutomationView-AVGN2L6Y.mjs.map} +0 -0
  66. /package/dist/{chunk-QM3NPPQJ.mjs.map → chunk-CLCJX35D.mjs.map} +0 -0
  67. /package/dist/{chunk-BXPPM4ZX.mjs.map → chunk-GJTDVFBS.mjs.map} +0 -0
  68. /package/dist/{chunk-RDC4ZHXF.mjs.map → chunk-IFRTNJ2P.mjs.map} +0 -0
  69. /package/dist/{chunk-PEEXMLMK.mjs.map → chunk-IODHU3BD.mjs.map} +0 -0
  70. /package/dist/{chunk-ZX53OESZ.mjs.map → chunk-MFFUZVR5.mjs.map} +0 -0
  71. /package/dist/{chunk-YDIVRYML.mjs.map → chunk-NE5RWDYD.mjs.map} +0 -0
  72. /package/dist/{chunk-ZQ7G446O.mjs.map → chunk-UDSGQ7R7.mjs.map} +0 -0
  73. /package/dist/{chunk-ZXEY5OGX.mjs.map → chunk-VLQM75ZM.mjs.map} +0 -0
  74. /package/dist/{chunk-NRT6JXPT.mjs.map → chunk-VQT22AKU.mjs.map} +0 -0
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  AgentDetailView
3
- } from "./chunk-QM3NPPQJ.mjs";
4
- import "./chunk-YDIVRYML.mjs";
5
- import "./chunk-BXPPM4ZX.mjs";
6
- import "./chunk-ZX53OESZ.mjs";
3
+ } from "./chunk-CLCJX35D.mjs";
4
+ import "./chunk-NE5RWDYD.mjs";
5
+ import "./chunk-GJTDVFBS.mjs";
6
+ import "./chunk-MFFUZVR5.mjs";
7
7
  import "./chunk-7FWCKQNB.mjs";
8
8
  import {
9
9
  ProjectScopeProvider_default,
10
10
  useSideAppOpener
11
- } from "./chunk-PMICYMSW.mjs";
11
+ } from "./chunk-QLFWQ4HR.mjs";
12
12
  import "./chunk-XC6TB6PI.mjs";
13
13
  import "./chunk-XAGSG72Y.mjs";
14
14
  import {
15
15
  useApi
16
- } from "./chunk-RDC4ZHXF.mjs";
16
+ } from "./chunk-IFRTNJ2P.mjs";
17
17
  import "./chunk-Y2HJPMUR.mjs";
18
18
  import "./chunk-HLVE2SB7.mjs";
19
19
  import {
20
20
  useT
21
- } from "./chunk-PEEXMLMK.mjs";
21
+ } from "./chunk-IODHU3BD.mjs";
22
22
  import "./chunk-32GKV6EM.mjs";
23
23
 
24
24
  // src/components/Governance/AgentDetailSideApp.tsx
@@ -158,4 +158,4 @@ var AgentDetailSideApp = ({ data }) => {
158
158
  export {
159
159
  AgentDetailSideApp
160
160
  };
161
- //# sourceMappingURL=AgentDetailSideApp-GSO53ECQ.mjs.map
161
+ //# sourceMappingURL=AgentDetailSideApp-TIU7UQZH.mjs.map
@@ -0,0 +1,20 @@
1
+ import {
2
+ AgentGovernanceWorkbench
3
+ } from "./chunk-VQT22AKU.mjs";
4
+ import "./chunk-CLCJX35D.mjs";
5
+ import "./chunk-NE5RWDYD.mjs";
6
+ import "./chunk-GJTDVFBS.mjs";
7
+ import "./chunk-MFFUZVR5.mjs";
8
+ import "./chunk-7FWCKQNB.mjs";
9
+ import "./chunk-QLFWQ4HR.mjs";
10
+ import "./chunk-XC6TB6PI.mjs";
11
+ import "./chunk-XAGSG72Y.mjs";
12
+ import "./chunk-IFRTNJ2P.mjs";
13
+ import "./chunk-Y2HJPMUR.mjs";
14
+ import "./chunk-HLVE2SB7.mjs";
15
+ import "./chunk-IODHU3BD.mjs";
16
+ import "./chunk-32GKV6EM.mjs";
17
+ export {
18
+ AgentGovernanceWorkbench
19
+ };
20
+ //# sourceMappingURL=AgentGovernanceWorkbench-CWFRVPS5.mjs.map
@@ -11,18 +11,18 @@ import {
11
11
  collapseOlderPhases,
12
12
  formatToolName,
13
13
  toolResponseText
14
- } from "./chunk-PMICYMSW.mjs";
14
+ } from "./chunk-QLFWQ4HR.mjs";
15
15
  import {
16
16
  Handle,
17
17
  Position,
18
18
  useReactFlow
19
19
  } from "./chunk-XC6TB6PI.mjs";
20
20
  import "./chunk-XAGSG72Y.mjs";
21
- import "./chunk-RDC4ZHXF.mjs";
21
+ import "./chunk-IFRTNJ2P.mjs";
22
22
  import "./chunk-HLVE2SB7.mjs";
23
23
  import {
24
24
  useT
25
- } from "./chunk-PEEXMLMK.mjs";
25
+ } from "./chunk-IODHU3BD.mjs";
26
26
  import "./chunk-32GKV6EM.mjs";
27
27
 
28
28
  // src/components/Chat/MessageGraph.tsx
@@ -382,4 +382,4 @@ var MessageGraph = ({
382
382
  export {
383
383
  MessageGraph
384
384
  };
385
- //# sourceMappingURL=MessageGraph-RUU5W4OT.mjs.map
385
+ //# sourceMappingURL=MessageGraph-XRSLD6VY.mjs.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  GenericDataTable
3
- } from "./chunk-PMICYMSW.mjs";
4
- import "./chunk-RDC4ZHXF.mjs";
3
+ } from "./chunk-QLFWQ4HR.mjs";
4
+ import "./chunk-IFRTNJ2P.mjs";
5
5
  import "./chunk-HLVE2SB7.mjs";
6
6
  import {
7
7
  useT
8
- } from "./chunk-PEEXMLMK.mjs";
8
+ } from "./chunk-IODHU3BD.mjs";
9
9
  import "./chunk-32GKV6EM.mjs";
10
10
 
11
11
  // src/components/GenUI/ReactChart.tsx
@@ -456,4 +456,4 @@ var ReactChart = (props) => {
456
456
  export {
457
457
  ReactChart
458
458
  };
459
- //# sourceMappingURL=ReactChart-KU4TD7TM.mjs.map
459
+ //# sourceMappingURL=ReactChart-IW27RELF.mjs.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  SkillFlow_default
3
- } from "./chunk-ZQ7G446O.mjs";
3
+ } from "./chunk-UDSGQ7R7.mjs";
4
4
  import "./chunk-XC6TB6PI.mjs";
5
5
  import "./chunk-XAGSG72Y.mjs";
6
- import "./chunk-RDC4ZHXF.mjs";
7
- import "./chunk-PEEXMLMK.mjs";
6
+ import "./chunk-IFRTNJ2P.mjs";
7
+ import "./chunk-IODHU3BD.mjs";
8
8
  import "./chunk-32GKV6EM.mjs";
9
9
  export {
10
10
  SkillFlow_default as default
11
11
  };
12
- //# sourceMappingURL=SkillFlow-MLSQCF4X.mjs.map
12
+ //# sourceMappingURL=SkillFlow-7OCWAF5V.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TaskOutlineList
3
- } from "./chunk-BXPPM4ZX.mjs";
3
+ } from "./chunk-GJTDVFBS.mjs";
4
4
  import {
5
5
  WorkflowGraphBase,
6
6
  applyDagreLayout
@@ -19,7 +19,7 @@ import {
19
19
  useOpenTaskChat,
20
20
  useTaskCommands,
21
21
  useWorkspaceContext
22
- } from "./chunk-PMICYMSW.mjs";
22
+ } from "./chunk-QLFWQ4HR.mjs";
23
23
  import {
24
24
  Handle,
25
25
  Position,
@@ -30,11 +30,11 @@ import "./chunk-XAGSG72Y.mjs";
30
30
  import {
31
31
  useAuth,
32
32
  useClient
33
- } from "./chunk-RDC4ZHXF.mjs";
33
+ } from "./chunk-IFRTNJ2P.mjs";
34
34
  import "./chunk-HLVE2SB7.mjs";
35
35
  import {
36
36
  useT
37
- } from "./chunk-PEEXMLMK.mjs";
37
+ } from "./chunk-IODHU3BD.mjs";
38
38
  import "./chunk-32GKV6EM.mjs";
39
39
 
40
40
  // src/components/Tasks/TasksSideApp.tsx
@@ -52,7 +52,6 @@ import { jsx, jsxs } from "react/jsx-runtime";
52
52
  var COLUMNS = [
53
53
  { key: "pending", color: "#7A7A7A" },
54
54
  { key: "in_progress", color: "#3b82f6" },
55
- { key: "review", color: "#f59e0b" },
56
55
  { key: "failed", color: "#ef4444" },
57
56
  { key: "interrupted", color: "#8b5cf6" },
58
57
  { key: "completed", color: "#22c55e" }
@@ -251,7 +250,6 @@ var TaskBoard = ({
251
250
  const grouped = {
252
251
  pending: [],
253
252
  in_progress: [],
254
- review: [],
255
253
  failed: [],
256
254
  interrupted: [],
257
255
  completed: []
@@ -1175,4 +1173,4 @@ var TasksSideApp = ({ statusFilter, getOwnerLabel, showProjectFilter = true, ini
1175
1173
  export {
1176
1174
  TasksSideApp
1177
1175
  };
1178
- //# sourceMappingURL=TasksSideApp-LWM6XAWN.mjs.map
1176
+ //# sourceMappingURL=TasksSideApp-5UTBVBIW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Tasks/TasksSideApp.tsx","../src/components/Tasks/TaskBoard.tsx","../src/components/Tasks/TaskDependencyGraph.tsx","../src/components/Tasks/TaskGraphNode.tsx","../src/components/Tasks/TaskCreateModal.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useMemo, useRef } from \"react\";\nimport { createStyles } from \"antd-style\";\nimport { App, Spin, Button, Segmented } from \"antd\";\nimport { Plus } from \"lucide-react\";\nimport type { TaskItem, TaskWorkItem } from \"@axiom-lattice/protocols\";\nimport { useClient } from \"@context\";\nimport { useAuth } from \"../../context/AuthContext\";\nimport { useWorkspaceContext } from \"../../context/WorkspaceContext\";\nimport { FilterSelect } from \"../EntityList/FilterSelect\";\nimport { TaskBoard } from \"./TaskBoard\";\nimport { TaskDependencyGraph } from \"./TaskDependencyGraph\";\nimport { TaskOutlineList } from \"./TaskOutlineList\";\nimport { TaskDetailPanel } from \"./TaskDetailPanel\";\nimport { TaskCreateModal } from \"./TaskCreateModal\";\nimport { useOpenTaskChat } from \"./useOpenTaskChat\";\nimport { useTaskCommands, type TaskActionType } from \"./useTaskCommands\";\nimport { useT } from \"../../i18n\";\n\nconst useStyles = createStyles(({ css, token }) => ({\n root: css`\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0;\n overflow: hidden;\n `,\n header: css`\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 20px 24px 12px 24px;\n border-bottom: 1px solid ${token.colorBorderSecondary};\n flex-shrink: 0;\n\n @media (max-width: 600px) {\n padding: 12px;\n }\n `,\n content: css`\n flex: 1;\n overflow: auto;\n padding: 16px 24px;\n `,\n headerRow: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n\n @media (max-width: 600px) {\n flex-direction: column;\n align-items: stretch;\n }\n `,\n headerTitle: css`\n margin: 0;\n font-size: 20px;\n font-weight: 600;\n color: ${token.colorText};\n `,\n filterRow: css`\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 8px;\n `,\n headerActions: css`\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n\n @media (max-width: 600px) {\n width: 100%;\n flex-wrap: wrap;\n }\n `,\n viewSwitcher: css`\n min-width: 0;\n\n @media (max-width: 600px) {\n flex: 1 1 200px;\n max-width: 100%;\n\n .ant-segmented-group {\n width: 100%;\n }\n\n .ant-segmented-item {\n min-width: 0;\n flex: 1;\n }\n }\n `,\n createButton: css`\n flex: 0 0 auto;\n `,\n fullBleedContent: css`\n height: 100%;\n overflow: hidden;\n padding: 0;\n `,\n spinner: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n error: css`\n margin: 16px 24px 0;\n padding: 12px;\n border: 1px solid ${token.colorErrorBorder};\n border-radius: ${token.borderRadius}px;\n color: ${token.colorErrorText};\n background: ${token.colorErrorBg};\n `,\n}));\n\ninterface TasksSideAppProps {\n statusFilter?: string[];\n getOwnerLabel?: (ownerType: string, ownerId: string) => string;\n /** When false, the project filter row is hidden. Default true. */\n showProjectFilter?: boolean;\n initialTask?: TaskItem;\n}\n\nexport const TasksSideApp: React.FC<TasksSideAppProps> = ({ statusFilter, getOwnerLabel, showProjectFilter = true, initialTask }) => {\n const { styles } = useStyles();\n const { message: messageApi } = App.useApp();\n const t = useT();\n const client = useClient(\"__GLOBAL__\");\n const { user } = useAuth();\n const { projectId: contextProjectId, projects, workspaceId } = useWorkspaceContext();\n const [filterProjectId, setFilterProjectId] = useState<string | null>(\n initialTask?.projectId != null\n ? String(initialTask.projectId)\n : contextProjectId\n ? String(contextProjectId)\n : null,\n );\n\n const resolvedOwnerLabel = useMemo(\n () =>\n getOwnerLabel ??\n ((ownerType: string, ownerId: string) => {\n if (ownerType === \"user\" && ownerId === user?.id) {\n return user.name || t(\"tasks.owner.me\");\n }\n return ownerType === \"agent\" ? t(\"tasks.owner.agent\") : t(\"tasks.owner.user\");\n }),\n [getOwnerLabel, user, t],\n );\n\n const [view, setView] = useState<\"board\" | \"list\" | \"graph\" | \"detail\">(\"board\");\n const [previousView, setPreviousView] = useState<\"board\" | \"list\" | \"graph\">(\"board\");\n const [hideCompleted, setHideCompleted] = useState(false);\n const [selectedTask, setSelectedTask] = useState<TaskItem | null>(null);\n /** Drill-down stack: tasks above the current one (parent → ... → current). */\n const [detailStack, setDetailStack] = useState<TaskItem[]>([]);\n const [tasks, setTasks] = useState<TaskItem[]>([]);\n const [tasksError, setTasksError] = useState<string>();\n const [workItems, setWorkItems] = useState<TaskWorkItem[]>([]);\n const [activityError, setActivityError] = useState<string>();\n const [tasksLoading, setTasksLoading] = useState(true);\n const [workItemsLoading, setWorkItemsLoading] = useState(false);\n const [showCreate, setShowCreate] = useState(false);\n const workItemsRequestGenerationRef = useRef(0);\n const tasksRequestGenerationRef = useRef(0);\n const selectedTaskIdRef = useRef<string | null>(null);\n const previousViewRef = useRef<\"board\" | \"list\" | \"graph\">(\"board\");\n const tasksRef = useRef<TaskItem[]>([]);\n const latestFilterScopeRef = useRef<string | null>(filterProjectId);\n const loadedTasksScopeRef = useRef<string | null>(null);\n latestFilterScopeRef.current = filterProjectId;\n\n const fetchTasks = useCallback(async (requestedScope: string | null = latestFilterScopeRef.current) => {\n if (latestFilterScopeRef.current !== requestedScope) return;\n const requestGeneration = ++tasksRequestGenerationRef.current;\n setTasksLoading(true);\n try {\n const result = await client.tasks.list(\n requestedScope ? { projectId: requestedScope } : undefined,\n );\n if (\n requestGeneration !== tasksRequestGenerationRef.current\n || latestFilterScopeRef.current !== requestedScope\n ) return;\n loadedTasksScopeRef.current = requestedScope;\n tasksRef.current = result;\n setTasks(result);\n setTasksError(undefined);\n const selectedTaskId = selectedTaskIdRef.current;\n if (selectedTaskId) {\n const tasksById = new Map(result.map((task) => [task.id, task]));\n const refreshedSelection = tasksById.get(selectedTaskId);\n if (!refreshedSelection) {\n selectedTaskIdRef.current = null;\n workItemsRequestGenerationRef.current += 1;\n setSelectedTask(null);\n setDetailStack([]);\n setWorkItems([]);\n setActivityError(undefined);\n setWorkItemsLoading(false);\n setView(previousViewRef.current);\n return;\n }\n setSelectedTask(refreshedSelection);\n setDetailStack((stack) => stack.flatMap((task) => {\n const refreshedTask = tasksById.get(task.id);\n return refreshedTask ? [refreshedTask] : [];\n }));\n }\n } catch {\n if (\n requestGeneration === tasksRequestGenerationRef.current\n && latestFilterScopeRef.current === requestedScope\n ) {\n setTasksError(tasksRef.current.length > 0\n ? t(\"tasks.error.refresh\")\n : t(\"tasks.error.load\"));\n }\n } finally {\n if (\n requestGeneration === tasksRequestGenerationRef.current\n && latestFilterScopeRef.current === requestedScope\n ) {\n setTasksLoading(false);\n }\n }\n }, [client, t]);\n\n const fetchWorkItems = useCallback(async (taskId: string) => {\n const requestGeneration = ++workItemsRequestGenerationRef.current;\n setWorkItemsLoading(true);\n setActivityError(undefined);\n try {\n const result = await client.tasks.workItems.list(taskId);\n if (requestGeneration === workItemsRequestGenerationRef.current && selectedTaskIdRef.current === taskId) {\n setWorkItems(result);\n }\n } catch {\n if (requestGeneration === workItemsRequestGenerationRef.current && selectedTaskIdRef.current === taskId) {\n setWorkItems([]);\n setActivityError(t(\"tasks.error.activity\"));\n }\n } finally {\n if (requestGeneration === workItemsRequestGenerationRef.current && selectedTaskIdRef.current === taskId) {\n setWorkItemsLoading(false);\n }\n }\n }, [client, t]);\n\n const { run, pending } = useTaskCommands({\n onSettled: () => {\n void fetchTasks(latestFilterScopeRef.current);\n if (selectedTaskIdRef.current) void fetchWorkItems(selectedTaskIdRef.current);\n },\n });\n\n useEffect(() => {\n void fetchTasks(filterProjectId);\n }, [fetchTasks, filterProjectId]);\n\n useEffect(() => {\n if (!initialTask?.id) return;\n selectedTaskIdRef.current = initialTask.id;\n setSelectedTask(initialTask);\n setView(\"detail\");\n fetchWorkItems(initialTask.id);\n }, []);\n\n const handleProjectFilterChange = useCallback((projectId: string | null) => {\n const nextScope = projectId ? String(projectId) : null;\n latestFilterScopeRef.current = nextScope;\n if (loadedTasksScopeRef.current !== nextScope) {\n loadedTasksScopeRef.current = nextScope;\n tasksRef.current = [];\n setTasks([]);\n setTasksError(undefined);\n selectedTaskIdRef.current = null;\n workItemsRequestGenerationRef.current += 1;\n setSelectedTask(null);\n setDetailStack([]);\n setWorkItems([]);\n setActivityError(undefined);\n setWorkItemsLoading(false);\n setView(previousViewRef.current);\n }\n setFilterProjectId(nextScope);\n }, []);\n\n const handleTaskClick = useCallback((task: TaskItem) => {\n selectedTaskIdRef.current = task.id;\n setWorkItems([]);\n setActivityError(undefined);\n setSelectedTask(task);\n setDetailStack([]);\n const nextPreviousView = view === \"detail\" ? previousView : view;\n previousViewRef.current = nextPreviousView;\n setPreviousView(nextPreviousView);\n setView(\"detail\");\n fetchWorkItems(task.id);\n }, [fetchWorkItems, view, previousView]);\n\n /** Drill into a child/parent task, pushing the current detail onto the stack. */\n const handleDrill = useCallback((task: TaskItem) => {\n selectedTaskIdRef.current = task.id;\n setWorkItems([]);\n setActivityError(undefined);\n setDetailStack((stack) => (selectedTask ? [...stack, selectedTask] : stack));\n setSelectedTask(task);\n fetchWorkItems(task.id);\n }, [fetchWorkItems, selectedTask]);\n\n const handleBack = useCallback(() => {\n if (detailStack.length > 0) {\n const previous = detailStack[detailStack.length - 1];\n selectedTaskIdRef.current = previous.id;\n setWorkItems([]);\n setActivityError(undefined);\n setDetailStack((stack) => stack.slice(0, -1));\n setSelectedTask(previous);\n fetchWorkItems(previous.id);\n return;\n }\n selectedTaskIdRef.current = null;\n workItemsRequestGenerationRef.current += 1;\n setView(previousView);\n setSelectedTask(null);\n setWorkItems([]);\n setActivityError(undefined);\n setWorkItemsLoading(false);\n }, [detailStack, previousView, fetchWorkItems]);\n\n const handleCreate = useCallback(\n async (data: { title: string; description?: string; requireReview?: boolean; priority?: string; projectId: string }) => {\n try {\n await client.tasks.create({\n title: data.title,\n description: data.description,\n requireReview: data.requireReview,\n priority: (data.priority || \"medium\") as \"low\" | \"medium\" | \"high\",\n projectId: data.projectId,\n });\n messageApi.success(t(\"tasks.created\"));\n void fetchTasks();\n setShowCreate(false);\n } catch {\n messageApi.error(t(\"tasks.error.create\"));\n }\n },\n [client, fetchTasks, messageApi, t]\n );\n\n const handleRun = useCallback(\n (task: TaskItem, type: TaskActionType, payload?: Record<string, unknown>) => {\n void run(task, type, payload);\n },\n [run],\n );\n\n const handleDetailRun = useCallback(\n (type: TaskActionType, payload?: Record<string, unknown>) => {\n if (selectedTask) void run(selectedTask, type, payload);\n },\n [run, selectedTask],\n );\n\n const handleComment = useCallback(\n (content: string): void | Promise<boolean> => {\n if (!selectedTask) return;\n return run(selectedTask, \"comment\", { content });\n },\n [run, selectedTask],\n );\n\n const handleViewChat = useOpenTaskChat(selectedTask);\n const selectedCommandPending = selectedTask ? Boolean(pending[selectedTask.id]) : false;\n\n const [actorNames, setActorNames] = useState<Record<string, string>>({});\n useEffect(() => {\n const projectId = selectedTask?.projectId;\n if (!projectId) {\n setActorNames({});\n return;\n }\n let cancelled = false;\n const memberList = client.projectRooms?.members?.list(projectId) ?? Promise.resolve([]);\n const botList = client.projectRooms?.bots?.list(projectId) ?? Promise.resolve([]);\n const workspaceMemberList = workspaceId\n ? client.workspaceMembers?.list(workspaceId) ?? Promise.resolve([])\n : Promise.resolve([]);\n Promise.all([\n memberList.catch(() => []),\n botList.catch(() => []),\n workspaceMemberList.catch(() => []),\n ]).then(([members, bots, workspaceMembers]) => {\n if (cancelled) return;\n const map: Record<string, string> = {};\n // The workspace member directory excludes the current user, so seed self.\n if (user?.id) map[`user:${user.id}`] = user.name || user.id;\n for (const member of workspaceMembers) map[`user:${member.userId}`] = member.name;\n for (const member of members) if (member.name) map[`user:${member.userId}`] = member.name;\n for (const bot of bots) map[`agent:${bot.assistantId}`] = bot.mentionName || bot.title;\n setActorNames(map);\n });\n return () => {\n cancelled = true;\n };\n }, [client, selectedTask?.projectId, workspaceId, user?.id, user?.name]);\n const resolveActorLabel = useCallback((actor: string): string | undefined => actorNames[actor], [actorNames]);\n\n if (view === \"detail\" && selectedTask) {\n return (\n <div className={styles.root}>\n {tasksError && (\n <div className={styles.error} role=\"alert\">\n {tasksError}{\" \"}\n <Button type=\"default\" size=\"small\" onClick={() => void fetchTasks()}>{t(\"common.retry\")}</Button>\n </div>\n )}\n <TaskDetailPanel\n task={selectedTask}\n relatedTasks={tasks}\n onRelatedTaskClick={handleDrill}\n workItems={workItems}\n loading={workItemsLoading}\n activityError={activityError}\n commandPending={selectedCommandPending}\n onRun={handleDetailRun}\n onComment={handleComment}\n commentPending={selectedCommandPending}\n resolveActorLabel={resolveActorLabel}\n onViewChat={handleViewChat}\n onBack={handleBack}\n focusKey={`${selectedTask.id}:${selectedCommandPending ? \"updating\" : selectedTask.status}`}\n subtasks={tasks.filter((t) => t.parentId === selectedTask.id)}\n onSubtaskClick={handleDrill}\n parent={tasks.find((t) => t.id === selectedTask.parentId) ?? null}\n onParentClick={handleDrill}\n />\n </div>\n );\n }\n\n return (\n <div className={styles.root}>\n <div className={`${styles.header} tasks-side-app__header`}>\n <div className={`${styles.headerRow} tasks-side-app__header-row`}>\n <h2 className={styles.headerTitle}>\n {statusFilter ? t(\"tasks.inbox\") : t(\"tasks.title\")}\n </h2>\n <div className={`${styles.headerActions} tasks-side-app__header-actions`}>\n <Segmented\n className={styles.viewSwitcher}\n size=\"small\"\n value={view}\n options={[\n { value: \"board\", label: t(\"tasks.view.board\") },\n { value: \"list\", label: t(\"tasks.view.list\") },\n { value: \"graph\", label: t(\"tasks.view.graph\") },\n ]}\n onChange={(v) => setView(v as \"board\" | \"list\" | \"graph\")}\n />\n <Button\n className={styles.createButton}\n type=\"primary\"\n size=\"small\"\n icon={<Plus size={14} />}\n onClick={() => setShowCreate(true)}\n >\n {t(\"tasks.newTask\")}\n </Button>\n </div>\n </div>\n {showProjectFilter && (\n <div className={styles.filterRow}>\n <FilterSelect\n style={{ width: 160 }}\n value={filterProjectId}\n onChange={handleProjectFilterChange}\n allLabel={t(\"tasks.allProjects\")}\n options={projects.map((p) => ({ value: p.id, label: p.name }))}\n />\n </div>\n )}\n </div>\n {tasksError && (\n <div className={styles.error} role=\"alert\">\n {tasksError}{\" \"}\n <Button type=\"default\" size=\"small\" onClick={() => void fetchTasks()}>{t(\"common.retry\")}</Button>\n </div>\n )}\n {tasksLoading ? (\n <div className={styles.spinner}>\n <Spin size=\"large\" />\n </div>\n ) : view === \"list\" ? (\n <div className={`${styles.content} ${styles.fullBleedContent}`}>\n <TaskOutlineList\n tasks={statusFilter ? tasks.filter((t) => statusFilter.includes(t.status)) : tasks}\n loading={false}\n onTaskClick={handleTaskClick}\n onRun={handleRun}\n getOwnerLabel={resolvedOwnerLabel}\n hideCompleted={hideCompleted}\n onHideCompletedChange={setHideCompleted}\n />\n </div>\n ) : view === \"graph\" ? (\n <div className={`${styles.content} ${styles.fullBleedContent}`}>\n <TaskDependencyGraph\n tasks={statusFilter ? tasks.filter((t) => statusFilter.includes(t.status)) : tasks}\n loading={false}\n onTaskClick={handleTaskClick}\n getOwnerLabel={resolvedOwnerLabel}\n hideCompleted={hideCompleted}\n onHideCompletedChange={setHideCompleted}\n />\n </div>\n ) : (\n <div className={styles.content}>\n <TaskBoard\n tasks={statusFilter ? tasks.filter((t) => statusFilter.includes(t.status)) : tasks}\n loading={false}\n onTaskClick={handleTaskClick}\n onRun={handleRun}\n onCreateClick={() => setShowCreate(true)}\n getOwnerLabel={resolvedOwnerLabel}\n showHeader={false}\n />\n </div>\n )}\n <TaskCreateModal\n visible={showCreate}\n onClose={() => setShowCreate(false)}\n projects={projects}\n initialProjectId={filterProjectId ?? contextProjectId ?? undefined}\n onCreate={handleCreate}\n />\n </div>\n );\n};\n","import React, { useMemo } from \"react\";\nimport { createStyles } from \"antd-style\";\nimport { Spin } from \"antd\";\nimport { Plus, Clock, User, Bot } from \"lucide-react\";\nimport type { TaskItem } from \"@axiom-lattice/protocols\";\nimport { TaskActionsButton, TaskActionsContextMenu } from \"./TaskActions\";\nimport type { TaskActionType } from \"./useTaskCommands\";\nimport { taskOrigin } from \"./taskPalette\";\nimport { useT } from \"../../i18n\";\nimport type { SdkTFunction } from \"../../i18n\";\n\ninterface TaskBoardProps {\n tasks: TaskItem[];\n loading: boolean;\n onRun?: (task: TaskItem, type: TaskActionType, payload?: Record<string, unknown>) => void;\n onTaskClick: (task: TaskItem) => void;\n onCreateClick: () => void;\n getOwnerLabel?: (ownerType: string, ownerId: string) => string;\n showHeader?: boolean;\n}\n\ntype ColumnKey = \"pending\" | \"in_progress\" | \"failed\" | \"interrupted\" | \"completed\";\n\ninterface ColumnDef {\n key: ColumnKey;\n color: string;\n}\n\nconst COLUMNS: ColumnDef[] = [\n { key: \"pending\", color: \"#7A7A7A\" },\n { key: \"in_progress\", color: \"#3b82f6\" },\n { key: \"failed\", color: \"#ef4444\" },\n { key: \"interrupted\", color: \"#8b5cf6\" },\n { key: \"completed\", color: \"#22c55e\" },\n];\n\nconst PRIORITY_COLORS: Record<string, string> = {\n high: \"#ef4444\",\n medium: \"#f59e0b\",\n low: \"#22c55e\",\n};\n\n/** Canonical priority key for label lookup; unknown priorities fall back to `medium`. */\nfunction priorityLabelKey(priority: string): \"high\" | \"medium\" | \"low\" {\n return priority === \"high\" || priority === \"low\" ? priority : \"medium\";\n}\n\nfunction formatRelativeTime(date: Date | string, t: SdkTFunction): string {\n const d = typeof date === \"string\" ? new Date(date) : date;\n const now = new Date();\n const diffMs = now.getTime() - d.getTime();\n const diffSec = Math.floor(diffMs / 1000);\n const diffMin = Math.floor(diffSec / 60);\n const diffHr = Math.floor(diffMin / 60);\n const diffDay = Math.floor(diffHr / 24);\n\n if (diffSec < 60) return t(\"common.time.justNow\");\n if (diffMin < 60) return t(\"common.time.minutesAgo\", { count: diffMin });\n if (diffHr < 24) return t(\"common.time.hoursAgo\", { count: diffHr });\n if (diffDay < 30) return t(\"common.time.daysAgo\", { count: diffDay });\n return d.toLocaleDateString(t.locale);\n}\n\nconst useStyles = createStyles(({ css, token }) => ({\n container: css`\n display: flex;\n flex-direction: column;\n height: 100%;\n padding: 24px;\n `,\n header: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n `,\n title: css`\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: ${token.colorText};\n `,\n createButton: css`\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 36px;\n padding: 0 16px;\n background: ${token.colorPrimary};\n color: #fff;\n border: none;\n border-radius: ${token.borderRadius}px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.15s ease;\n\n &:hover {\n background: ${token.colorPrimaryHover};\n }\n `,\n board: css`\n display: flex;\n gap: 16px;\n `,\n column: css`\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-width: 280px;\n max-width: 280px;\n flex-shrink: 0;\n `,\n columnHeader: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 4px;\n `,\n columnTitle: css`\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: ${token.colorText};\n `,\n statusDot: css`\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n `,\n columnCount: css`\n font-size: 12px;\n color: ${token.colorTextSecondary};\n background: ${token.colorFillSecondary};\n padding: 1px 8px;\n border-radius: 10px;\n `,\n columnBody: css`\n display: flex;\n flex-direction: column;\n gap: 8px;\n `,\n card: css`\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px 14px;\n background: ${token.colorBgContainer};\n border: 1px solid ${token.colorBorderSecondary};\n border-radius: ${token.borderRadius}px;\n cursor: pointer;\n transition: box-shadow 0.15s ease, border-color 0.15s ease;\n\n &:hover {\n border-color: ${token.colorPrimary};\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);\n }\n `,\n cardTitle: css`\n font-size: 14px;\n font-weight: 500;\n color: ${token.colorText};\n line-height: 1.4;\n word-break: break-word;\n `,\n originDot: css`\n display: inline-block;\n width: 7px;\n height: 7px;\n margin-right: 6px;\n vertical-align: middle;\n border-radius: 50%;\n flex-shrink: 0;\n `,\n cardHeader: css`\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 6px;\n `,\n cardMeta: css`\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n priorityBadge: css`\n display: inline-flex;\n align-items: center;\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 500;\n `,\n metaItem: css`\n display: flex;\n align-items: center;\n gap: 3px;\n font-size: 12px;\n color: ${token.colorTextTertiary};\n `,\n emptyColumn: css`\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100px;\n border: 1px dashed ${token.colorBorder};\n border-radius: ${token.borderRadius}px;\n color: ${token.colorTextQuaternary};\n font-size: 13px;\n `,\n spinner: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n}));\n\nexport const TaskBoard: React.FC<TaskBoardProps> = ({\n tasks,\n loading,\n onRun,\n onTaskClick,\n onCreateClick,\n getOwnerLabel,\n showHeader = true,\n}) => {\n const { styles } = useStyles();\n const t = useT();\n\n const tasksByStatus = useMemo(() => {\n const grouped: Record<ColumnKey, TaskItem[]> = {\n pending: [],\n in_progress: [],\n failed: [],\n interrupted: [],\n completed: [],\n };\n\n tasks.forEach((task) => {\n const key = task.status as ColumnKey;\n if (grouped[key]) {\n grouped[key].push(task);\n }\n });\n\n return grouped;\n }, [tasks]);\n\n if (loading) {\n return (\n <div className={styles.container}>\n {showHeader && (\n <div className={styles.header}>\n <h1 className={styles.title}>{t(\"tasks.title\")}</h1>\n </div>\n )}\n <div className={styles.spinner}>\n <Spin size=\"large\" />\n </div>\n </div>\n );\n }\n\n return (\n <div className={styles.container}>\n {showHeader && (\n <div className={styles.header}>\n <h1 className={styles.title}>{t(\"tasks.title\")}</h1>\n <button className={styles.createButton} onClick={onCreateClick}>\n <Plus size={16} />\n {t(\"tasks.newTask\")}\n </button>\n </div>\n )}\n\n <div className={styles.board}>\n {COLUMNS.map((col) => {\n const columnTasks = tasksByStatus[col.key];\n\n return (\n <div key={col.key} className={styles.column}>\n <div className={styles.columnHeader}>\n <div className={styles.columnTitle}>\n <span\n className={styles.statusDot}\n style={{ background: col.color }}\n />\n {t(`tasks.status.${col.key}`)}\n </div>\n <span className={styles.columnCount}>{columnTasks.length}</span>\n </div>\n\n <div className={styles.columnBody}>\n {columnTasks.length === 0 ? (\n <div className={styles.emptyColumn}>{t(\"tasks.empty\")}</div>\n ) : (\n columnTasks.map((task) => {\n const priorityKey = priorityLabelKey(task.priority);\n const origin = taskOrigin(task);\n const runAction = onRun\n ? (type: TaskActionType, payload?: Record<string, unknown>) => onRun(task, type, payload)\n : undefined;\n\n const card = (\n <div\n key={task.id}\n data-testid=\"task-card\"\n className={styles.card}\n onClick={() => onTaskClick(task)}\n >\n <div className={styles.cardHeader}>\n <div className={styles.cardTitle}>\n <span\n data-testid=\"task-origin\"\n className={styles.originDot}\n style={{ background: origin.color }}\n title={t(`tasks.origin.${origin.key}`)}\n />\n {task.title}\n </div>\n {runAction && (\n <TaskActionsButton task={task} onRun={runAction} />\n )}\n </div>\n <div className={styles.cardMeta}>\n <span\n className={styles.priorityBadge}\n style={{\n background: `${PRIORITY_COLORS[priorityKey]}18`,\n color: PRIORITY_COLORS[priorityKey],\n }}\n >\n {t(`tasks.priority.${priorityKey}`)}\n </span>\n <span className={styles.metaItem}>\n {task.ownerType === \"agent\" ? (\n <Bot size={12} />\n ) : (\n <User size={12} />\n )}\n {getOwnerLabel\n ? getOwnerLabel(task.ownerType, task.ownerId)\n : task.ownerType === \"agent\"\n ? t(\"tasks.owner.agent\")\n : t(\"tasks.owner.user\")}\n </span>\n <span className={styles.metaItem}>\n <Clock size={12} />\n {formatRelativeTime(task.createdAt, t)}\n </span>\n </div>\n </div>\n );\n\n return runAction ? (\n <TaskActionsContextMenu key={task.id} task={task} onRun={runAction}>\n {card}\n </TaskActionsContextMenu>\n ) : card;\n })\n )}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n","import React, { useCallback, useEffect, useMemo } from \"react\";\nimport {\n useNodesState,\n useEdgesState,\n type Node,\n type Edge,\n type NodeTypes,\n} from \"@xyflow/react\";\nimport \"@xyflow/react/dist/style.css\";\nimport { Spin, Empty, Switch, Typography } from \"antd\";\nimport { createStyles } from \"antd-style\";\nimport type { TaskItem } from \"@axiom-lattice/protocols\";\nimport { WorkflowGraphBase, applyDagreLayout } from \"@components/Chat/WorkflowGraphBase\";\nimport TaskGraphNode, { type TaskGraphNodeData } from \"./TaskGraphNode\";\nimport { buildTaskGraph } from \"./taskGraphUtils\";\nimport { TASK_NODE_WIDTH, TASK_NODE_HEIGHT } from \"./taskPalette\";\nimport { useT } from \"../../i18n\";\n\nconst { Text } = Typography;\n\nconst nodeTypes: NodeTypes = { taskNode: TaskGraphNode };\n\nconst useStyles = createStyles(({ css }) => ({\n root: css`\n display: flex;\n flex-direction: column;\n height: 100%;\n `,\n toolbar: css`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 0 0 12px;\n flex-shrink: 0;\n `,\n canvas: css`\n flex: 1;\n min-height: 0;\n position: relative;\n `,\n spinner: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n empty: css`\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n `,\n}));\n\ninterface TaskDependencyGraphProps {\n tasks: TaskItem[];\n loading: boolean;\n onTaskClick: (task: TaskItem) => void;\n getOwnerLabel?: (ownerType: string, ownerId: string) => string;\n hideCompleted?: boolean;\n onHideCompletedChange?: (value: boolean) => void;\n}\n\nexport const TaskDependencyGraph: React.FC<TaskDependencyGraphProps> = ({\n tasks,\n loading,\n onTaskClick,\n getOwnerLabel,\n hideCompleted = false,\n onHideCompletedChange,\n}) => {\n const { styles } = useStyles();\n const t = useT();\n\n const { nodes: graphNodes, edges: graphEdges } = useMemo(\n () => buildTaskGraph(tasks, { hideCompleted }),\n [tasks, hideCompleted],\n );\n\n const initialNodes = useMemo<Node<TaskGraphNodeData>[]>(() => {\n const positions = applyDagreLayout(\n graphNodes.map((n) => ({ id: n.id })),\n graphEdges.map((e) => ({ from: e.from, to: e.to })),\n { nodeWidth: TASK_NODE_WIDTH, nodeHeight: TASK_NODE_HEIGHT, nodesep: 50, ranksep: 70 },\n );\n return graphNodes.map((n) => {\n const pos = positions.get(n.id);\n return {\n id: n.id,\n type: \"taskNode\",\n position: pos ?? { x: 0, y: 0 },\n data: { task: n.task, getOwnerLabel },\n };\n });\n }, [graphNodes, graphEdges, getOwnerLabel]);\n\n const initialEdges = useMemo<Edge[]>(\n () =>\n graphEdges.map((e) => ({\n id: `${e.from}->${e.to}:${e.kind}`,\n source: e.from,\n target: e.to,\n style:\n e.kind === \"dependency\"\n ? { stroke: \"#6366f1\", strokeWidth: 1.5 }\n : { stroke: \"#9ca3af\", strokeWidth: 1, strokeDasharray: \"5 5\" },\n })),\n [graphEdges],\n );\n\n const [flowNodes, setFlowNodes, onNodesChange] = useNodesState<Node>(initialNodes);\n const [flowEdges, setFlowEdges, onEdgesChange] = useEdgesState(initialEdges);\n\n useEffect(() => {\n setFlowNodes((prev) => {\n const prevMap = new Map(prev.map((n) => [n.id, n]));\n const prevKey = [...prevMap.keys()].sort().join(\"|\");\n const nextKey = initialNodes.map((n) => n.id).sort().join(\"|\");\n if (prevKey === nextKey) {\n return initialNodes.map((n) => {\n const prevNode = prevMap.get(n.id);\n return prevNode ? { ...n, position: prevNode.position } : n;\n });\n }\n return initialNodes;\n });\n setFlowEdges(initialEdges);\n }, [initialNodes, initialEdges, setFlowNodes, setFlowEdges]);\n\n const handleNodeClick = useCallback(\n (_event: React.MouseEvent, node: Node) => {\n const task = (node.data as TaskGraphNodeData | undefined)?.task;\n if (task) onTaskClick(task);\n },\n [onTaskClick],\n );\n\n if (loading) {\n return (\n <div className={styles.spinner}>\n <Spin size=\"large\" />\n </div>\n );\n }\n\n return (\n <div className={styles.root}>\n <div className={styles.toolbar}>\n <Switch\n size=\"small\"\n checked={hideCompleted}\n onChange={(checked) => onHideCompletedChange?.(checked)}\n aria-label={t(\"tasks.hideCompleted\")}\n />\n <Text type=\"secondary\" style={{ fontSize: 13 }}>\n {t(\"tasks.hideCompleted\")}\n </Text>\n </div>\n {flowNodes.length === 0 ? (\n <div className={styles.empty}>\n <Empty description={t(\"tasks.empty\")} />\n </div>\n ) : (\n <div className={styles.canvas} key={String(hideCompleted)}>\n <WorkflowGraphBase\n nodes={flowNodes}\n edges={flowEdges}\n nodeTypes={nodeTypes}\n onNodesChange={onNodesChange}\n onEdgesChange={onEdgesChange}\n onNodeClick={handleNodeClick}\n fitView\n fitViewOptions={{ padding: 0.15 }}\n nodesDraggable\n nodesConnectable={false}\n miniMap\n attributionPosition=\"bottom-right\"\n />\n </div>\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport { Handle, Position, type NodeProps, type Node } from \"@xyflow/react\";\nimport { Tag, Typography } from \"antd\";\nimport { User, Bot } from \"lucide-react\";\nimport type { TaskItem } from \"@axiom-lattice/protocols\";\nimport { STATUS_COLORS, PRIORITY_LABELS } from \"./taskPalette\";\nimport { useT } from \"../../i18n\";\n\nconst { Text } = Typography;\n\nexport { STATUS_COLORS } from \"./taskPalette\";\n\nexport interface TaskGraphNodeData extends Record<string, unknown> {\n task: TaskItem;\n getOwnerLabel?: (ownerType: string, ownerId: string) => string;\n}\n\nconst TaskGraphNode: React.FC<NodeProps<Node<TaskGraphNodeData>>> = ({ data }) => {\n const t = useT();\n if (!data) return null;\n\n const { task, getOwnerLabel } = data;\n const statusColor = STATUS_COLORS[task.status] ?? STATUS_COLORS.pending;\n const priority = PRIORITY_LABELS[task.priority] ?? PRIORITY_LABELS.medium;\n const ownerLabel = getOwnerLabel\n ? getOwnerLabel(task.ownerType, task.ownerId)\n : task.ownerType === \"agent\"\n ? t(\"tasks.owner.agent\")\n : t(\"tasks.owner.user\");\n\n return (\n <div style={{ padding: 4 }}>\n <Handle type=\"target\" position={Position.Top} />\n\n <div\n style={{\n width: 240,\n background: \"#fff\",\n borderRadius: 12,\n boxShadow: \"0 1px 6px rgba(0,0,0,0.08)\",\n border: \"1px solid #e5e7eb\",\n borderLeft: `4px solid ${statusColor}`,\n overflow: \"hidden\",\n cursor: \"pointer\",\n transition: \"all 0.2s ease\",\n }}\n >\n <div style={{ padding: \"10px 12px\", display: \"flex\", flexDirection: \"column\", gap: 6 }}>\n <Text\n strong\n style={{ fontSize: 13, lineHeight: 1.4, display: \"block\" }}\n ellipsis={{ tooltip: task.title }}\n >\n {task.title}\n </Text>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 6 }}>\n <Tag\n style={{\n margin: 0,\n fontSize: 11,\n padding: \"0 6px\",\n lineHeight: \"18px\",\n background: `${priority.color}18`,\n color: priority.color,\n border: \"none\",\n }}\n >\n {t(`tasks.priority.${task.priority}`)}\n </Tag>\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 3,\n fontSize: 12,\n color: \"#9ca3af\",\n }}\n >\n {task.ownerType === \"agent\" ? <Bot size={12} /> : <User size={12} />}\n <span\n style={{\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n maxWidth: 140,\n }}\n >\n {ownerLabel}\n </span>\n </span>\n </div>\n </div>\n </div>\n\n <Handle type=\"source\" position={Position.Bottom} />\n </div>\n );\n};\n\nexport default TaskGraphNode;\n","import React, { useState, useEffect } from \"react\";\nimport { Modal, Form, Input, Select, Switch } from \"antd\";\nimport { createStyles } from \"antd-style\";\nimport { useT } from \"../../i18n\";\n\n/** A project option offered by the create-task form. */\nexport interface TaskCreateProjectOption {\n id: string;\n name: string;\n}\n\nexport interface TaskCreateInput {\n title: string;\n description?: string;\n requireReview?: boolean;\n priority?: string;\n projectId: string;\n}\n\ninterface TaskCreateModalProps {\n visible: boolean;\n onClose: () => void;\n /** Projects the task can be created under. A project is required. */\n projects: TaskCreateProjectOption[];\n /** Preselected project (e.g. the active project filter). */\n initialProjectId?: string;\n onCreate: (data: TaskCreateInput) => void;\n}\n\nconst useStyles = createStyles(({ token, css }) => ({\n switchRow: css`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 4px 0;\n `,\n switchLabel: css`\n font-size: 14px;\n color: ${token.colorText};\n `,\n}));\n\nexport const TaskCreateModal: React.FC<TaskCreateModalProps> = ({\n visible,\n onClose,\n projects,\n initialProjectId,\n onCreate,\n}) => {\n const { styles } = useStyles();\n const t = useT();\n const [form] = Form.useForm();\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (visible) {\n form.resetFields();\n if (initialProjectId) {\n form.setFieldsValue({ projectId: initialProjectId });\n }\n }\n }, [visible, form, initialProjectId]);\n\n const handleSubmit = async () => {\n try {\n const values = await form.validateFields();\n setLoading(true);\n onCreate({\n title: values.title,\n description: values.description || undefined,\n requireReview: values.requireReview || false,\n priority: values.priority || \"medium\",\n projectId: values.projectId,\n });\n form.resetFields();\n onClose();\n } catch {\n // validation failed\n } finally {\n setLoading(false);\n }\n };\n\n return (\n <Modal\n title={t(\"tasks.newTask\")}\n open={visible}\n onCancel={onClose}\n onOk={handleSubmit}\n confirmLoading={loading}\n okText={t(\"common.create\")}\n cancelText={t(\"common.cancel\")}\n destroyOnClose\n >\n <Form\n form={form}\n layout=\"vertical\"\n initialValues={{ priority: \"medium\", requireReview: false, projectId: initialProjectId }}\n >\n <Form.Item\n name=\"projectId\"\n label={t(\"tasks.create.project\")}\n rules={[{ required: true, message: t(\"tasks.create.projectRequired\") }]}\n >\n <Select\n placeholder={t(\"tasks.create.projectPlaceholder\")}\n options={projects.map((project) => ({ value: project.id, label: project.name }))}\n />\n </Form.Item>\n <Form.Item\n name=\"title\"\n label={t(\"tasks.create.titleLabel\")}\n rules={[{ required: true, message: t(\"tasks.create.titleRequired\") }]}\n >\n <Input placeholder={t(\"tasks.create.titlePlaceholder\")} />\n </Form.Item>\n <Form.Item name=\"description\" label={t(\"tasks.create.description\")}>\n <Input.TextArea rows={4} placeholder={t(\"tasks.create.descriptionPlaceholder\")} />\n </Form.Item>\n <Form.Item name=\"priority\" label={t(\"tasks.fact.priority\")}>\n <Select\n options={[\n { value: \"low\", label: t(\"tasks.priority.low\") },\n { value: \"medium\", label: t(\"tasks.priority.medium\") },\n { value: \"high\", label: t(\"tasks.priority.high\") },\n ]}\n />\n </Form.Item>\n <div className={styles.switchRow}>\n <span className={styles.switchLabel}>{t(\"tasks.create.requireReview\")}</span>\n <Form.Item name=\"requireReview\" valuePropName=\"checked\" noStyle>\n <Switch />\n </Form.Item>\n </div>\n </Form>\n </Modal>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,YAAAA,WAAU,aAAAC,YAAW,eAAAC,cAAa,WAAAC,UAAS,cAAc;AACzE,SAAS,gBAAAC,qBAAoB;AAC7B,SAAS,KAAK,QAAAC,OAAM,QAAQ,iBAAiB;AAC7C,SAAS,QAAAC,aAAY;;;ACHrB,SAAgB,eAAe;AAC/B,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AACrB,SAAS,MAAM,OAAO,MAAM,WAAW;AA2PjC,SAGM,KAHN;AAlON,IAAM,UAAuB;AAAA,EAC3B,EAAE,KAAK,WAAW,OAAO,UAAU;AAAA,EACnC,EAAE,KAAK,eAAe,OAAO,UAAU;AAAA,EACvC,EAAE,KAAK,UAAU,OAAO,UAAU;AAAA,EAClC,EAAE,KAAK,eAAe,OAAO,UAAU;AAAA,EACvC,EAAE,KAAK,aAAa,OAAO,UAAU;AACvC;AAEA,IAAM,kBAA0C;AAAA,EAC9C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,KAAK;AACP;AAGA,SAAS,iBAAiB,UAA6C;AACrE,SAAO,aAAa,UAAU,aAAa,QAAQ,WAAW;AAChE;AAEA,SAAS,mBAAmB,MAAqB,GAAyB;AACxE,QAAM,IAAI,OAAO,SAAS,WAAW,IAAI,KAAK,IAAI,IAAI;AACtD,QAAM,MAAM,oBAAI,KAAK;AACrB,QAAM,SAAS,IAAI,QAAQ,IAAI,EAAE,QAAQ;AACzC,QAAM,UAAU,KAAK,MAAM,SAAS,GAAI;AACxC,QAAM,UAAU,KAAK,MAAM,UAAU,EAAE;AACvC,QAAM,SAAS,KAAK,MAAM,UAAU,EAAE;AACtC,QAAM,UAAU,KAAK,MAAM,SAAS,EAAE;AAEtC,MAAI,UAAU,GAAI,QAAO,EAAE,qBAAqB;AAChD,MAAI,UAAU,GAAI,QAAO,EAAE,0BAA0B,EAAE,OAAO,QAAQ,CAAC;AACvE,MAAI,SAAS,GAAI,QAAO,EAAE,wBAAwB,EAAE,OAAO,OAAO,CAAC;AACnE,MAAI,UAAU,GAAI,QAAO,EAAE,uBAAuB,EAAE,OAAO,QAAQ,CAAC;AACpE,SAAO,EAAE,mBAAmB,EAAE,MAAM;AACtC;AAEA,IAAM,YAAY,aAAa,CAAC,EAAE,KAAK,MAAM,OAAO;AAAA,EAClD,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMX,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMR,OAAO;AAAA;AAAA;AAAA;AAAA,aAII,MAAM,SAAS;AAAA;AAAA,EAE1B,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAME,MAAM,YAAY;AAAA;AAAA;AAAA,qBAGf,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAOnB,MAAM,iBAAiB;AAAA;AAAA;AAAA,EAGzC,OAAO;AAAA;AAAA;AAAA;AAAA,EAIP,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQR,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMd,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMF,MAAM,SAAS;AAAA;AAAA,EAE1B,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMX,aAAa;AAAA;AAAA,aAEF,MAAM,kBAAkB;AAAA,kBACnB,MAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA,EAIxC,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKZ,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKU,MAAM,gBAAgB;AAAA,wBAChB,MAAM,oBAAoB;AAAA,qBAC7B,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKjB,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA,EAItC,WAAW;AAAA;AAAA;AAAA,aAGA,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA,EAI1B,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASX,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKV,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQf,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,aAKC,MAAM,iBAAiB;AAAA;AAAA,EAElC,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,yBAKU,MAAM,WAAW;AAAA,qBACrB,MAAM,YAAY;AAAA,aAC1B,MAAM,mBAAmB;AAAA;AAAA;AAAA,EAGpC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAMX,EAAE;AAEK,IAAM,YAAsC,CAAC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AACf,MAAM;AACJ,QAAM,EAAE,OAAO,IAAI,UAAU;AAC7B,QAAM,IAAI,KAAK;AAEf,QAAM,gBAAgB,QAAQ,MAAM;AAClC,UAAM,UAAyC;AAAA,MAC7C,SAAS,CAAC;AAAA,MACV,aAAa,CAAC;AAAA,MACd,QAAQ,CAAC;AAAA,MACT,aAAa,CAAC;AAAA,MACd,WAAW,CAAC;AAAA,IACd;AAEA,UAAM,QAAQ,CAAC,SAAS;AACtB,YAAM,MAAM,KAAK;AACjB,UAAI,QAAQ,GAAG,GAAG;AAChB,gBAAQ,GAAG,EAAE,KAAK,IAAI;AAAA,MACxB;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT,GAAG,CAAC,KAAK,CAAC;AAEV,MAAI,SAAS;AACX,WACE,qBAAC,SAAI,WAAW,OAAO,WACpB;AAAA,oBACC,oBAAC,SAAI,WAAW,OAAO,QACrB,8BAAC,QAAG,WAAW,OAAO,OAAQ,YAAE,aAAa,GAAE,GACjD;AAAA,MAEF,oBAAC,SAAI,WAAW,OAAO,SACrB,8BAAC,QAAK,MAAK,SAAQ,GACrB;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,qBAAC,SAAI,WAAW,OAAO,WACpB;AAAA,kBACC,qBAAC,SAAI,WAAW,OAAO,QACrB;AAAA,0BAAC,QAAG,WAAW,OAAO,OAAQ,YAAE,aAAa,GAAE;AAAA,MAC/C,qBAAC,YAAO,WAAW,OAAO,cAAc,SAAS,eAC/C;AAAA,4BAAC,QAAK,MAAM,IAAI;AAAA,QACf,EAAE,eAAe;AAAA,SACpB;AAAA,OACF;AAAA,IAGF,oBAAC,SAAI,WAAW,OAAO,OACpB,kBAAQ,IAAI,CAAC,QAAQ;AACpB,YAAM,cAAc,cAAc,IAAI,GAAG;AAEzC,aACE,qBAAC,SAAkB,WAAW,OAAO,QACnC;AAAA,6BAAC,SAAI,WAAW,OAAO,cACrB;AAAA,+BAAC,SAAI,WAAW,OAAO,aACrB;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,OAAO;AAAA,gBAClB,OAAO,EAAE,YAAY,IAAI,MAAM;AAAA;AAAA,YACjC;AAAA,YACC,EAAE,gBAAgB,IAAI,GAAG,EAAE;AAAA,aAC9B;AAAA,UACA,oBAAC,UAAK,WAAW,OAAO,aAAc,sBAAY,QAAO;AAAA,WAC3D;AAAA,QAEA,oBAAC,SAAI,WAAW,OAAO,YACpB,sBAAY,WAAW,IACtB,oBAAC,SAAI,WAAW,OAAO,aAAc,YAAE,aAAa,GAAE,IAEtD,YAAY,IAAI,CAAC,SAAS;AACxB,gBAAM,cAAc,iBAAiB,KAAK,QAAQ;AAClD,gBAAM,SAAS,WAAW,IAAI;AAC9B,gBAAM,YAAY,QACd,CAAC,MAAsB,YAAsC,MAAM,MAAM,MAAM,OAAO,IACtF;AAEJ,gBAAM,OACJ;AAAA,YAAC;AAAA;AAAA,cAEC,eAAY;AAAA,cACZ,WAAW,OAAO;AAAA,cAClB,SAAS,MAAM,YAAY,IAAI;AAAA,cAE/B;AAAA,qCAAC,SAAI,WAAW,OAAO,YACrB;AAAA,uCAAC,SAAI,WAAW,OAAO,WACrB;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,eAAY;AAAA,wBACZ,WAAW,OAAO;AAAA,wBAClB,OAAO,EAAE,YAAY,OAAO,MAAM;AAAA,wBAClC,OAAO,EAAE,gBAAgB,OAAO,GAAG,EAAE;AAAA;AAAA,oBACvC;AAAA,oBACC,KAAK;AAAA,qBACR;AAAA,kBACC,aACC,oBAAC,qBAAkB,MAAY,OAAO,WAAW;AAAA,mBAErD;AAAA,gBACA,qBAAC,SAAI,WAAW,OAAO,UACrB;AAAA;AAAA,oBAAC;AAAA;AAAA,sBACC,WAAW,OAAO;AAAA,sBAClB,OAAO;AAAA,wBACL,YAAY,GAAG,gBAAgB,WAAW,CAAC;AAAA,wBAC3C,OAAO,gBAAgB,WAAW;AAAA,sBACpC;AAAA,sBAEC,YAAE,kBAAkB,WAAW,EAAE;AAAA;AAAA,kBACpC;AAAA,kBACA,qBAAC,UAAK,WAAW,OAAO,UACrB;AAAA,yBAAK,cAAc,UAClB,oBAAC,OAAI,MAAM,IAAI,IAEf,oBAAC,QAAK,MAAM,IAAI;AAAA,oBAEjB,gBACG,cAAc,KAAK,WAAW,KAAK,OAAO,IAC1C,KAAK,cAAc,UACjB,EAAE,mBAAmB,IACrB,EAAE,kBAAkB;AAAA,qBAC5B;AAAA,kBACA,qBAAC,UAAK,WAAW,OAAO,UACtB;AAAA,wCAAC,SAAM,MAAM,IAAI;AAAA,oBAChB,mBAAmB,KAAK,WAAW,CAAC;AAAA,qBACvC;AAAA,mBACF;AAAA;AAAA;AAAA,YA7CK,KAAK;AAAA,UA8CZ;AAGF,iBAAO,YACL,oBAAC,0BAAqC,MAAY,OAAO,WACtD,kBAD0B,KAAK,EAElC,IACE;AAAA,QACN,CAAC,GAEL;AAAA,WAjFQ,IAAI,GAkFd;AAAA,IAEJ,CAAC,GACH;AAAA,KACF;AAEJ;;;ACpXA,SAAgB,aAAa,WAAW,WAAAC,gBAAe;AASvD,SAAS,QAAAC,OAAM,OAAO,QAAQ,cAAAC,mBAAkB;AAChD,SAAS,gBAAAC,qBAAoB;;;ACR7B,SAAS,KAAK,kBAAkB;AAChC,SAAS,QAAAC,OAAM,OAAAC,YAAW;AA6BpB,gBAAAC,MAqCM,QAAAC,aArCN;AAxBN,IAAM,EAAE,KAAK,IAAI;AASjB,IAAM,gBAA8D,CAAC,EAAE,KAAK,MAAM;AAChF,QAAM,IAAI,KAAK;AACf,MAAI,CAAC,KAAM,QAAO;AAElB,QAAM,EAAE,MAAM,cAAc,IAAI;AAChC,QAAM,cAAc,cAAc,KAAK,MAAM,KAAK,cAAc;AAChE,QAAM,WAAW,gBAAgB,KAAK,QAAQ,KAAK,gBAAgB;AACnE,QAAM,aAAa,gBACf,cAAc,KAAK,WAAW,KAAK,OAAO,IAC1C,KAAK,cAAc,UACjB,EAAE,mBAAmB,IACrB,EAAE,kBAAkB;AAE1B,SACE,gBAAAA,MAAC,SAAI,OAAO,EAAE,SAAS,EAAE,GACvB;AAAA,oBAAAD,KAAC,UAAO,MAAK,UAAS,UAAU,SAAS,KAAK;AAAA,IAE9C,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,OAAO;AAAA,UACP,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,YAAY,aAAa,WAAW;AAAA,UACpC,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,YAAY;AAAA,QACd;AAAA,QAEA,0BAAAC,MAAC,SAAI,OAAO,EAAE,SAAS,aAAa,SAAS,QAAQ,eAAe,UAAU,KAAK,EAAE,GACnF;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC,QAAM;AAAA,cACN,OAAO,EAAE,UAAU,IAAI,YAAY,KAAK,SAAS,QAAQ;AAAA,cACzD,UAAU,EAAE,SAAS,KAAK,MAAM;AAAA,cAE/B,eAAK;AAAA;AAAA,UACR;AAAA,UACA,gBAAAC,MAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,EAAE,GAC1D;AAAA,4BAAAD;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,QAAQ;AAAA,kBACR,UAAU;AAAA,kBACV,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,YAAY,GAAG,SAAS,KAAK;AAAA,kBAC7B,OAAO,SAAS;AAAA,kBAChB,QAAQ;AAAA,gBACV;AAAA,gBAEC,YAAE,kBAAkB,KAAK,QAAQ,EAAE;AAAA;AAAA,YACtC;AAAA,YACA,gBAAAC;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,KAAK;AAAA,kBACL,UAAU;AAAA,kBACV,OAAO;AAAA,gBACT;AAAA,gBAEC;AAAA,uBAAK,cAAc,UAAU,gBAAAD,KAACE,MAAA,EAAI,MAAM,IAAI,IAAK,gBAAAF,KAACG,OAAA,EAAK,MAAM,IAAI;AAAA,kBAClE,gBAAAH;AAAA,oBAAC;AAAA;AAAA,sBACC,OAAO;AAAA,wBACL,UAAU;AAAA,wBACV,cAAc;AAAA,wBACd,YAAY;AAAA,wBACZ,UAAU;AAAA,sBACZ;AAAA,sBAEC;AAAA;AAAA,kBACH;AAAA;AAAA;AAAA,YACF;AAAA,aACF;AAAA,WACF;AAAA;AAAA,IACF;AAAA,IAEA,gBAAAA,KAAC,UAAO,MAAK,UAAS,UAAU,SAAS,QAAQ;AAAA,KACnD;AAEJ;AAEA,IAAO,wBAAQ;;;AD0CP,gBAAAI,MAOF,QAAAC,aAPE;AA3HR,IAAM,EAAE,MAAAC,MAAK,IAAIC;AAEjB,IAAM,YAAuB,EAAE,UAAU,sBAAc;AAEvD,IAAMC,aAAYC,cAAa,CAAC,EAAE,IAAI,OAAO;AAAA,EAC3C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAKN,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQT,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKR,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAMT,EAAE;AAWK,IAAM,sBAA0D,CAAC;AAAA,EACtE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AACF,MAAM;AACJ,QAAM,EAAE,OAAO,IAAID,WAAU;AAC7B,QAAM,IAAI,KAAK;AAEf,QAAM,EAAE,OAAO,YAAY,OAAO,WAAW,IAAIE;AAAA,IAC/C,MAAM,eAAe,OAAO,EAAE,cAAc,CAAC;AAAA,IAC7C,CAAC,OAAO,aAAa;AAAA,EACvB;AAEA,QAAM,eAAeA,SAAmC,MAAM;AAC5D,UAAM,YAAY;AAAA,MAChB,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;AAAA,MACpC,WAAW,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,GAAG,EAAE;AAAA,MAClD,EAAE,WAAW,iBAAiB,YAAY,kBAAkB,SAAS,IAAI,SAAS,GAAG;AAAA,IACvF;AACA,WAAO,WAAW,IAAI,CAAC,MAAM;AAC3B,YAAM,MAAM,UAAU,IAAI,EAAE,EAAE;AAC9B,aAAO;AAAA,QACL,IAAI,EAAE;AAAA,QACN,MAAM;AAAA,QACN,UAAU,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,QAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc;AAAA,MACtC;AAAA,IACF,CAAC;AAAA,EACH,GAAG,CAAC,YAAY,YAAY,aAAa,CAAC;AAE1C,QAAM,eAAeA;AAAA,IACnB,MACE,WAAW,IAAI,CAAC,OAAO;AAAA,MACrB,IAAI,GAAG,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI;AAAA,MAChC,QAAQ,EAAE;AAAA,MACV,QAAQ,EAAE;AAAA,MACV,OACE,EAAE,SAAS,eACP,EAAE,QAAQ,WAAW,aAAa,IAAI,IACtC,EAAE,QAAQ,WAAW,aAAa,GAAG,iBAAiB,MAAM;AAAA,IACpE,EAAE;AAAA,IACJ,CAAC,UAAU;AAAA,EACb;AAEA,QAAM,CAAC,WAAW,cAAc,aAAa,IAAI,cAAoB,YAAY;AACjF,QAAM,CAAC,WAAW,cAAc,aAAa,IAAI,cAAc,YAAY;AAE3E,YAAU,MAAM;AACd,iBAAa,CAAC,SAAS;AACrB,YAAM,UAAU,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,YAAM,UAAU,CAAC,GAAG,QAAQ,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG;AACnD,YAAM,UAAU,aAAa,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG;AAC7D,UAAI,YAAY,SAAS;AACvB,eAAO,aAAa,IAAI,CAAC,MAAM;AAC7B,gBAAM,WAAW,QAAQ,IAAI,EAAE,EAAE;AACjC,iBAAO,WAAW,EAAE,GAAG,GAAG,UAAU,SAAS,SAAS,IAAI;AAAA,QAC5D,CAAC;AAAA,MACH;AACA,aAAO;AAAA,IACT,CAAC;AACD,iBAAa,YAAY;AAAA,EAC3B,GAAG,CAAC,cAAc,cAAc,cAAc,YAAY,CAAC;AAE3D,QAAM,kBAAkB;AAAA,IACtB,CAAC,QAA0B,SAAe;AACxC,YAAM,OAAQ,KAAK,MAAwC;AAC3D,UAAI,KAAM,aAAY,IAAI;AAAA,IAC5B;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,MAAI,SAAS;AACX,WACE,gBAAAN,KAAC,SAAI,WAAW,OAAO,SACrB,0BAAAA,KAACO,OAAA,EAAK,MAAK,SAAQ,GACrB;AAAA,EAEJ;AAEA,SACE,gBAAAN,MAAC,SAAI,WAAW,OAAO,MACrB;AAAA,oBAAAA,MAAC,SAAI,WAAW,OAAO,SACrB;AAAA,sBAAAD;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU,CAAC,YAAY,wBAAwB,OAAO;AAAA,UACtD,cAAY,EAAE,qBAAqB;AAAA;AAAA,MACrC;AAAA,MACA,gBAAAA,KAACE,OAAA,EAAK,MAAK,aAAY,OAAO,EAAE,UAAU,GAAG,GAC1C,YAAE,qBAAqB,GAC1B;AAAA,OACF;AAAA,IACC,UAAU,WAAW,IACpB,gBAAAF,KAAC,SAAI,WAAW,OAAO,OACrB,0BAAAA,KAAC,SAAM,aAAa,EAAE,aAAa,GAAG,GACxC,IAEA,gBAAAA,KAAC,SAAI,WAAW,OAAO,QACrB,0BAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa;AAAA,QACb,SAAO;AAAA,QACP,gBAAgB,EAAE,SAAS,KAAK;AAAA,QAChC,gBAAc;AAAA,QACd,kBAAkB;AAAA,QAClB,SAAO;AAAA,QACP,qBAAoB;AAAA;AAAA,IACtB,KAdkC,OAAO,aAAa,CAexD;AAAA,KAEJ;AAEJ;;;AEvLA,SAAgB,UAAU,aAAAQ,kBAAiB;AAC3C,SAAS,OAAO,MAAM,OAAO,QAAQ,UAAAC,eAAc;AACnD,SAAS,gBAAAC,qBAAoB;AAsGnB,gBAAAC,MAwBF,QAAAC,aAxBE;AA3EV,IAAMC,aAAYC,cAAa,CAAC,EAAE,OAAO,IAAI,OAAO;AAAA,EAClD,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMX,aAAa;AAAA;AAAA,aAEF,MAAM,SAAS;AAAA;AAE5B,EAAE;AAEK,IAAM,kBAAkD,CAAC;AAAA,EAC9D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,OAAO,IAAID,WAAU;AAC7B,QAAM,IAAI,KAAK;AACf,QAAM,CAAC,IAAI,IAAI,KAAK,QAAQ;AAC5B,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,EAAAE,WAAU,MAAM;AACd,QAAI,SAAS;AACX,WAAK,YAAY;AACjB,UAAI,kBAAkB;AACpB,aAAK,eAAe,EAAE,WAAW,iBAAiB,CAAC;AAAA,MACrD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,MAAM,gBAAgB,CAAC;AAEpC,QAAM,eAAe,YAAY;AAC/B,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,eAAe;AACzC,iBAAW,IAAI;AACf,eAAS;AAAA,QACP,OAAO,OAAO;AAAA,QACd,aAAa,OAAO,eAAe;AAAA,QACnC,eAAe,OAAO,iBAAiB;AAAA,QACvC,UAAU,OAAO,YAAY;AAAA,QAC7B,WAAW,OAAO;AAAA,MACpB,CAAC;AACD,WAAK,YAAY;AACjB,cAAQ;AAAA,IACV,QAAQ;AAAA,IAER,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF;AAEA,SACE,gBAAAJ;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,eAAe;AAAA,MACxB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,QAAQ,EAAE,eAAe;AAAA,MACzB,YAAY,EAAE,eAAe;AAAA,MAC7B,gBAAc;AAAA,MAEd,0BAAAC;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,QAAO;AAAA,UACP,eAAe,EAAE,UAAU,UAAU,eAAe,OAAO,WAAW,iBAAiB;AAAA,UAEvF;AAAA,4BAAAD;AAAA,cAAC,KAAK;AAAA,cAAL;AAAA,gBACC,MAAK;AAAA,gBACL,OAAO,EAAE,sBAAsB;AAAA,gBAC/B,OAAO,CAAC,EAAE,UAAU,MAAM,SAAS,EAAE,8BAA8B,EAAE,CAAC;AAAA,gBAEtE,0BAAAA;AAAA,kBAAC;AAAA;AAAA,oBACC,aAAa,EAAE,iCAAiC;AAAA,oBAChD,SAAS,SAAS,IAAI,CAAC,aAAa,EAAE,OAAO,QAAQ,IAAI,OAAO,QAAQ,KAAK,EAAE;AAAA;AAAA,gBACjF;AAAA;AAAA,YACF;AAAA,YACA,gBAAAA;AAAA,cAAC,KAAK;AAAA,cAAL;AAAA,gBACC,MAAK;AAAA,gBACL,OAAO,EAAE,yBAAyB;AAAA,gBAClC,OAAO,CAAC,EAAE,UAAU,MAAM,SAAS,EAAE,4BAA4B,EAAE,CAAC;AAAA,gBAEpE,0BAAAA,KAAC,SAAM,aAAa,EAAE,+BAA+B,GAAG;AAAA;AAAA,YAC1D;AAAA,YACA,gBAAAA,KAAC,KAAK,MAAL,EAAU,MAAK,eAAc,OAAO,EAAE,0BAA0B,GAC/D,0BAAAA,KAAC,MAAM,UAAN,EAAe,MAAM,GAAG,aAAa,EAAE,qCAAqC,GAAG,GAClF;AAAA,YACA,gBAAAA,KAAC,KAAK,MAAL,EAAU,MAAK,YAAW,OAAO,EAAE,qBAAqB,GACvD,0BAAAA;AAAA,cAAC;AAAA;AAAA,gBACC,SAAS;AAAA,kBACP,EAAE,OAAO,OAAO,OAAO,EAAE,oBAAoB,EAAE;AAAA,kBAC/C,EAAE,OAAO,UAAU,OAAO,EAAE,uBAAuB,EAAE;AAAA,kBACrD,EAAE,OAAO,QAAQ,OAAO,EAAE,qBAAqB,EAAE;AAAA,gBACnD;AAAA;AAAA,YACF,GACF;AAAA,YACA,gBAAAC,MAAC,SAAI,WAAW,OAAO,WACrB;AAAA,8BAAAD,KAAC,UAAK,WAAW,OAAO,aAAc,YAAE,4BAA4B,GAAE;AAAA,cACtE,gBAAAA,KAAC,KAAK,MAAL,EAAU,MAAK,iBAAgB,eAAc,WAAU,SAAO,MAC7D,0BAAAA,KAACK,SAAA,EAAO,GACV;AAAA,eACF;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;;;AJuRU,SAEE,OAAAC,MAFF,QAAAC,aAAA;AA9YV,IAAMC,aAAYC,cAAa,CAAC,EAAE,KAAK,MAAM,OAAO;AAAA,EAClD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAON,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,+BAKqB,MAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOvD,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKT,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWX,aAAa;AAAA;AAAA;AAAA;AAAA,aAIF,MAAM,SAAS;AAAA;AAAA,EAE1B,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMX,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWf,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBd,cAAc;AAAA;AAAA;AAAA,EAGd,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKlB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMT,OAAO;AAAA;AAAA;AAAA,wBAGe,MAAM,gBAAgB;AAAA,qBACzB,MAAM,YAAY;AAAA,aAC1B,MAAM,cAAc;AAAA,kBACf,MAAM,YAAY;AAAA;AAEpC,EAAE;AAUK,IAAM,eAA4C,CAAC,EAAE,cAAc,eAAe,oBAAoB,MAAM,YAAY,MAAM;AACnI,QAAM,EAAE,OAAO,IAAID,WAAU;AAC7B,QAAM,EAAE,SAAS,WAAW,IAAI,IAAI,OAAO;AAC3C,QAAM,IAAI,KAAK;AACf,QAAM,SAAS,UAAU,YAAY;AACrC,QAAM,EAAE,KAAK,IAAI,QAAQ;AACzB,QAAM,EAAE,WAAW,kBAAkB,UAAU,YAAY,IAAI,oBAAoB;AACnF,QAAM,CAAC,iBAAiB,kBAAkB,IAAIE;AAAA,IAC5C,aAAa,aAAa,OACtB,OAAO,YAAY,SAAS,IAC5B,mBACE,OAAO,gBAAgB,IACvB;AAAA,EACR;AAEA,QAAM,qBAAqBC;AAAA,IACzB,MACE,kBACC,CAAC,WAAmB,YAAoB;AACvC,UAAI,cAAc,UAAU,YAAY,MAAM,IAAI;AAChD,eAAO,KAAK,QAAQ,EAAE,gBAAgB;AAAA,MACxC;AACA,aAAO,cAAc,UAAU,EAAE,mBAAmB,IAAI,EAAE,kBAAkB;AAAA,IAC9E;AAAA,IACF,CAAC,eAAe,MAAM,CAAC;AAAA,EACzB;AAEA,QAAM,CAAC,MAAM,OAAO,IAAID,UAAgD,OAAO;AAC/E,QAAM,CAAC,cAAc,eAAe,IAAIA,UAAqC,OAAO;AACpF,QAAM,CAAC,eAAe,gBAAgB,IAAIA,UAAS,KAAK;AACxD,QAAM,CAAC,cAAc,eAAe,IAAIA,UAA0B,IAAI;AAEtE,QAAM,CAAC,aAAa,cAAc,IAAIA,UAAqB,CAAC,CAAC;AAC7D,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAqB,CAAC,CAAC;AACjD,QAAM,CAAC,YAAY,aAAa,IAAIA,UAAiB;AACrD,QAAM,CAAC,WAAW,YAAY,IAAIA,UAAyB,CAAC,CAAC;AAC7D,QAAM,CAAC,eAAe,gBAAgB,IAAIA,UAAiB;AAC3D,QAAM,CAAC,cAAc,eAAe,IAAIA,UAAS,IAAI;AACrD,QAAM,CAAC,kBAAkB,mBAAmB,IAAIA,UAAS,KAAK;AAC9D,QAAM,CAAC,YAAY,aAAa,IAAIA,UAAS,KAAK;AAClD,QAAM,gCAAgC,OAAO,CAAC;AAC9C,QAAM,4BAA4B,OAAO,CAAC;AAC1C,QAAM,oBAAoB,OAAsB,IAAI;AACpD,QAAM,kBAAkB,OAAmC,OAAO;AAClE,QAAM,WAAW,OAAmB,CAAC,CAAC;AACtC,QAAM,uBAAuB,OAAsB,eAAe;AAClE,QAAM,sBAAsB,OAAsB,IAAI;AACtD,uBAAqB,UAAU;AAE/B,QAAM,aAAaE,aAAY,OAAO,iBAAgC,qBAAqB,YAAY;AACrG,QAAI,qBAAqB,YAAY,eAAgB;AACrD,UAAM,oBAAoB,EAAE,0BAA0B;AACtD,oBAAgB,IAAI;AACpB,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,MAAM;AAAA,QAChC,iBAAiB,EAAE,WAAW,eAAe,IAAI;AAAA,MACnD;AACA,UACE,sBAAsB,0BAA0B,WAC7C,qBAAqB,YAAY,eACpC;AACF,0BAAoB,UAAU;AAC9B,eAAS,UAAU;AACnB,eAAS,MAAM;AACf,oBAAc,MAAS;AACvB,YAAM,iBAAiB,kBAAkB;AACzC,UAAI,gBAAgB;AAClB,cAAM,YAAY,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;AAC/D,cAAM,qBAAqB,UAAU,IAAI,cAAc;AACvD,YAAI,CAAC,oBAAoB;AACvB,4BAAkB,UAAU;AAC5B,wCAA8B,WAAW;AACzC,0BAAgB,IAAI;AACpB,yBAAe,CAAC,CAAC;AACjB,uBAAa,CAAC,CAAC;AACf,2BAAiB,MAAS;AAC1B,8BAAoB,KAAK;AACzB,kBAAQ,gBAAgB,OAAO;AAC/B;AAAA,QACF;AACA,wBAAgB,kBAAkB;AAClC,uBAAe,CAAC,UAAU,MAAM,QAAQ,CAAC,SAAS;AAChD,gBAAM,gBAAgB,UAAU,IAAI,KAAK,EAAE;AAC3C,iBAAO,gBAAgB,CAAC,aAAa,IAAI,CAAC;AAAA,QAC5C,CAAC,CAAC;AAAA,MACJ;AAAA,IACF,QAAQ;AACN,UACE,sBAAsB,0BAA0B,WAC7C,qBAAqB,YAAY,gBACpC;AACA,sBAAc,SAAS,QAAQ,SAAS,IACpC,EAAE,qBAAqB,IACvB,EAAE,kBAAkB,CAAC;AAAA,MAC3B;AAAA,IACF,UAAE;AACA,UACE,sBAAsB,0BAA0B,WAC7C,qBAAqB,YAAY,gBACpC;AACA,wBAAgB,KAAK;AAAA,MACvB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEd,QAAM,iBAAiBA,aAAY,OAAO,WAAmB;AAC3D,UAAM,oBAAoB,EAAE,8BAA8B;AAC1D,wBAAoB,IAAI;AACxB,qBAAiB,MAAS;AAC1B,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,MAAM,UAAU,KAAK,MAAM;AACvD,UAAI,sBAAsB,8BAA8B,WAAW,kBAAkB,YAAY,QAAQ;AACvG,qBAAa,MAAM;AAAA,MACrB;AAAA,IACF,QAAQ;AACN,UAAI,sBAAsB,8BAA8B,WAAW,kBAAkB,YAAY,QAAQ;AACvG,qBAAa,CAAC,CAAC;AACf,yBAAiB,EAAE,sBAAsB,CAAC;AAAA,MAC5C;AAAA,IACF,UAAE;AACA,UAAI,sBAAsB,8BAA8B,WAAW,kBAAkB,YAAY,QAAQ;AACvG,4BAAoB,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEd,QAAM,EAAE,KAAK,QAAQ,IAAI,gBAAgB;AAAA,IACvC,WAAW,MAAM;AACf,WAAK,WAAW,qBAAqB,OAAO;AAC5C,UAAI,kBAAkB,QAAS,MAAK,eAAe,kBAAkB,OAAO;AAAA,IAC9E;AAAA,EACF,CAAC;AAED,EAAAC,WAAU,MAAM;AACd,SAAK,WAAW,eAAe;AAAA,EACjC,GAAG,CAAC,YAAY,eAAe,CAAC;AAEhC,EAAAA,WAAU,MAAM;AACd,QAAI,CAAC,aAAa,GAAI;AACtB,sBAAkB,UAAU,YAAY;AACxC,oBAAgB,WAAW;AAC3B,YAAQ,QAAQ;AAChB,mBAAe,YAAY,EAAE;AAAA,EAC/B,GAAG,CAAC,CAAC;AAEL,QAAM,4BAA4BD,aAAY,CAAC,cAA6B;AAC1E,UAAM,YAAY,YAAY,OAAO,SAAS,IAAI;AAClD,yBAAqB,UAAU;AAC/B,QAAI,oBAAoB,YAAY,WAAW;AAC7C,0BAAoB,UAAU;AAC9B,eAAS,UAAU,CAAC;AACpB,eAAS,CAAC,CAAC;AACX,oBAAc,MAAS;AACvB,wBAAkB,UAAU;AAC5B,oCAA8B,WAAW;AACzC,sBAAgB,IAAI;AACpB,qBAAe,CAAC,CAAC;AACjB,mBAAa,CAAC,CAAC;AACf,uBAAiB,MAAS;AAC1B,0BAAoB,KAAK;AACzB,cAAQ,gBAAgB,OAAO;AAAA,IACjC;AACA,uBAAmB,SAAS;AAAA,EAC9B,GAAG,CAAC,CAAC;AAEL,QAAM,kBAAkBA,aAAY,CAAC,SAAmB;AACtD,sBAAkB,UAAU,KAAK;AACjC,iBAAa,CAAC,CAAC;AACf,qBAAiB,MAAS;AAC1B,oBAAgB,IAAI;AACpB,mBAAe,CAAC,CAAC;AACjB,UAAM,mBAAmB,SAAS,WAAW,eAAe;AAC5D,oBAAgB,UAAU;AAC1B,oBAAgB,gBAAgB;AAChC,YAAQ,QAAQ;AAChB,mBAAe,KAAK,EAAE;AAAA,EACxB,GAAG,CAAC,gBAAgB,MAAM,YAAY,CAAC;AAGvC,QAAM,cAAcA,aAAY,CAAC,SAAmB;AAClD,sBAAkB,UAAU,KAAK;AACjC,iBAAa,CAAC,CAAC;AACf,qBAAiB,MAAS;AAC1B,mBAAe,CAAC,UAAW,eAAe,CAAC,GAAG,OAAO,YAAY,IAAI,KAAM;AAC3E,oBAAgB,IAAI;AACpB,mBAAe,KAAK,EAAE;AAAA,EACxB,GAAG,CAAC,gBAAgB,YAAY,CAAC;AAEjC,QAAM,aAAaA,aAAY,MAAM;AACnC,QAAI,YAAY,SAAS,GAAG;AAC1B,YAAM,WAAW,YAAY,YAAY,SAAS,CAAC;AACnD,wBAAkB,UAAU,SAAS;AACrC,mBAAa,CAAC,CAAC;AACf,uBAAiB,MAAS;AAC1B,qBAAe,CAAC,UAAU,MAAM,MAAM,GAAG,EAAE,CAAC;AAC5C,sBAAgB,QAAQ;AACxB,qBAAe,SAAS,EAAE;AAC1B;AAAA,IACF;AACA,sBAAkB,UAAU;AAC5B,kCAA8B,WAAW;AACzC,YAAQ,YAAY;AACpB,oBAAgB,IAAI;AACpB,iBAAa,CAAC,CAAC;AACf,qBAAiB,MAAS;AAC1B,wBAAoB,KAAK;AAAA,EAC3B,GAAG,CAAC,aAAa,cAAc,cAAc,CAAC;AAE9C,QAAM,eAAeA;AAAA,IACnB,OAAO,SAAiH;AACtH,UAAI;AACF,cAAM,OAAO,MAAM,OAAO;AAAA,UACxB,OAAO,KAAK;AAAA,UACZ,aAAa,KAAK;AAAA,UAClB,eAAe,KAAK;AAAA,UACpB,UAAW,KAAK,YAAY;AAAA,UAC5B,WAAW,KAAK;AAAA,QAClB,CAAC;AACD,mBAAW,QAAQ,EAAE,eAAe,CAAC;AACrC,aAAK,WAAW;AAChB,sBAAc,KAAK;AAAA,MACrB,QAAQ;AACN,mBAAW,MAAM,EAAE,oBAAoB,CAAC;AAAA,MAC1C;AAAA,IACF;AAAA,IACA,CAAC,QAAQ,YAAY,YAAY,CAAC;AAAA,EACpC;AAEA,QAAM,YAAYA;AAAA,IAChB,CAAC,MAAgB,MAAsB,YAAsC;AAC3E,WAAK,IAAI,MAAM,MAAM,OAAO;AAAA,IAC9B;AAAA,IACA,CAAC,GAAG;AAAA,EACN;AAEA,QAAM,kBAAkBA;AAAA,IACtB,CAAC,MAAsB,YAAsC;AAC3D,UAAI,aAAc,MAAK,IAAI,cAAc,MAAM,OAAO;AAAA,IACxD;AAAA,IACA,CAAC,KAAK,YAAY;AAAA,EACpB;AAEA,QAAM,gBAAgBA;AAAA,IACpB,CAAC,YAA6C;AAC5C,UAAI,CAAC,aAAc;AACnB,aAAO,IAAI,cAAc,WAAW,EAAE,QAAQ,CAAC;AAAA,IACjD;AAAA,IACA,CAAC,KAAK,YAAY;AAAA,EACpB;AAEA,QAAM,iBAAiB,gBAAgB,YAAY;AACnD,QAAM,yBAAyB,eAAe,QAAQ,QAAQ,aAAa,EAAE,CAAC,IAAI;AAElF,QAAM,CAAC,YAAY,aAAa,IAAIF,UAAiC,CAAC,CAAC;AACvE,EAAAG,WAAU,MAAM;AACd,UAAM,YAAY,cAAc;AAChC,QAAI,CAAC,WAAW;AACd,oBAAc,CAAC,CAAC;AAChB;AAAA,IACF;AACA,QAAI,YAAY;AAChB,UAAM,aAAa,OAAO,cAAc,SAAS,KAAK,SAAS,KAAK,QAAQ,QAAQ,CAAC,CAAC;AACtF,UAAM,UAAU,OAAO,cAAc,MAAM,KAAK,SAAS,KAAK,QAAQ,QAAQ,CAAC,CAAC;AAChF,UAAM,sBAAsB,cACxB,OAAO,kBAAkB,KAAK,WAAW,KAAK,QAAQ,QAAQ,CAAC,CAAC,IAChE,QAAQ,QAAQ,CAAC,CAAC;AACtB,YAAQ,IAAI;AAAA,MACV,WAAW,MAAM,MAAM,CAAC,CAAC;AAAA,MACzB,QAAQ,MAAM,MAAM,CAAC,CAAC;AAAA,MACtB,oBAAoB,MAAM,MAAM,CAAC,CAAC;AAAA,IACpC,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,MAAM,gBAAgB,MAAM;AAC7C,UAAI,UAAW;AACf,YAAM,MAA8B,CAAC;AAErC,UAAI,MAAM,GAAI,KAAI,QAAQ,KAAK,EAAE,EAAE,IAAI,KAAK,QAAQ,KAAK;AACzD,iBAAW,UAAU,iBAAkB,KAAI,QAAQ,OAAO,MAAM,EAAE,IAAI,OAAO;AAC7E,iBAAW,UAAU,QAAS,KAAI,OAAO,KAAM,KAAI,QAAQ,OAAO,MAAM,EAAE,IAAI,OAAO;AACrF,iBAAW,OAAO,KAAM,KAAI,SAAS,IAAI,WAAW,EAAE,IAAI,IAAI,eAAe,IAAI;AACjF,oBAAc,GAAG;AAAA,IACnB,CAAC;AACD,WAAO,MAAM;AACX,kBAAY;AAAA,IACd;AAAA,EACF,GAAG,CAAC,QAAQ,cAAc,WAAW,aAAa,MAAM,IAAI,MAAM,IAAI,CAAC;AACvE,QAAM,oBAAoBD,aAAY,CAAC,UAAsC,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC;AAE5G,MAAI,SAAS,YAAY,cAAc;AACrC,WACE,gBAAAL,MAAC,SAAI,WAAW,OAAO,MACpB;AAAA,oBACC,gBAAAA,MAAC,SAAI,WAAW,OAAO,OAAO,MAAK,SAChC;AAAA;AAAA,QAAY;AAAA,QACb,gBAAAD,KAAC,UAAO,MAAK,WAAU,MAAK,SAAQ,SAAS,MAAM,KAAK,WAAW,GAAI,YAAE,cAAc,GAAE;AAAA,SAC3F;AAAA,MAEF,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,cAAc;AAAA,UACd,oBAAoB;AAAA,UACpB;AAAA,UACA,SAAS;AAAA,UACT;AAAA,UACA,gBAAgB;AAAA,UAChB,OAAO;AAAA,UACP,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB;AAAA,UACA,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,UAAU,GAAG,aAAa,EAAE,IAAI,yBAAyB,aAAa,aAAa,MAAM;AAAA,UACzF,UAAU,MAAM,OAAO,CAACQ,OAAMA,GAAE,aAAa,aAAa,EAAE;AAAA,UAC5D,gBAAgB;AAAA,UAChB,QAAQ,MAAM,KAAK,CAACA,OAAMA,GAAE,OAAO,aAAa,QAAQ,KAAK;AAAA,UAC7D,eAAe;AAAA;AAAA,MACjB;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,gBAAAP,MAAC,SAAI,WAAW,OAAO,MACrB;AAAA,oBAAAA,MAAC,SAAI,WAAW,GAAG,OAAO,MAAM,2BAC9B;AAAA,sBAAAA,MAAC,SAAI,WAAW,GAAG,OAAO,SAAS,+BACjC;AAAA,wBAAAD,KAAC,QAAG,WAAW,OAAO,aACnB,yBAAe,EAAE,aAAa,IAAI,EAAE,aAAa,GACpD;AAAA,QACA,gBAAAC,MAAC,SAAI,WAAW,GAAG,OAAO,aAAa,mCACrC;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,OAAO;AAAA,cAClB,MAAK;AAAA,cACL,OAAO;AAAA,cACP,SAAS;AAAA,gBACP,EAAE,OAAO,SAAS,OAAO,EAAE,kBAAkB,EAAE;AAAA,gBAC/C,EAAE,OAAO,QAAQ,OAAO,EAAE,iBAAiB,EAAE;AAAA,gBAC7C,EAAE,OAAO,SAAS,OAAO,EAAE,kBAAkB,EAAE;AAAA,cACjD;AAAA,cACA,UAAU,CAAC,MAAM,QAAQ,CAA+B;AAAA;AAAA,UAC1D;AAAA,UACA,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW,OAAO;AAAA,cAClB,MAAK;AAAA,cACL,MAAK;AAAA,cACL,MAAM,gBAAAA,KAACS,OAAA,EAAK,MAAM,IAAI;AAAA,cACtB,SAAS,MAAM,cAAc,IAAI;AAAA,cAEhC,YAAE,eAAe;AAAA;AAAA,UACpB;AAAA,WACF;AAAA,SACF;AAAA,MACC,qBACC,gBAAAT,KAAC,SAAI,WAAW,OAAO,WACrB,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO,EAAE,OAAO,IAAI;AAAA,UACpB,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAU,EAAE,mBAAmB;AAAA,UAC/B,SAAS,SAAS,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,KAAK,EAAE;AAAA;AAAA,MAC/D,GACF;AAAA,OAEJ;AAAA,IACC,cACC,gBAAAC,MAAC,SAAI,WAAW,OAAO,OAAO,MAAK,SAChC;AAAA;AAAA,MAAY;AAAA,MACb,gBAAAD,KAAC,UAAO,MAAK,WAAU,MAAK,SAAQ,SAAS,MAAM,KAAK,WAAW,GAAI,YAAE,cAAc,GAAE;AAAA,OAC3F;AAAA,IAED,eACC,gBAAAA,KAAC,SAAI,WAAW,OAAO,SACrB,0BAAAA,KAACU,OAAA,EAAK,MAAK,SAAQ,GACrB,IACE,SAAS,SACX,gBAAAV,KAAC,SAAI,WAAW,GAAG,OAAO,OAAO,IAAI,OAAO,gBAAgB,IAC1D,0BAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,eAAe,MAAM,OAAO,CAACQ,OAAM,aAAa,SAASA,GAAE,MAAM,CAAC,IAAI;AAAA,QAC7E,SAAS;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,eAAe;AAAA,QACf;AAAA,QACA,uBAAuB;AAAA;AAAA,IACzB,GACF,IACE,SAAS,UACX,gBAAAR,KAAC,SAAI,WAAW,GAAG,OAAO,OAAO,IAAI,OAAO,gBAAgB,IAC1D,0BAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,eAAe,MAAM,OAAO,CAACQ,OAAM,aAAa,SAASA,GAAE,MAAM,CAAC,IAAI;AAAA,QAC7E,SAAS;AAAA,QACT,aAAa;AAAA,QACb,eAAe;AAAA,QACf;AAAA,QACA,uBAAuB;AAAA;AAAA,IACzB,GACF,IAEA,gBAAAR,KAAC,SAAI,WAAW,OAAO,SACrB,0BAAAA;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,eAAe,MAAM,OAAO,CAACQ,OAAM,aAAa,SAASA,GAAE,MAAM,CAAC,IAAI;AAAA,QAC7E,SAAS;AAAA,QACT,aAAa;AAAA,QACb,OAAO;AAAA,QACP,eAAe,MAAM,cAAc,IAAI;AAAA,QACvC,eAAe;AAAA,QACf,YAAY;AAAA;AAAA,IACd,GACF;AAAA,IAEF,gBAAAR;AAAA,MAAC;AAAA;AAAA,QACC,SAAS;AAAA,QACT,SAAS,MAAM,cAAc,KAAK;AAAA,QAClC;AAAA,QACA,kBAAkB,mBAAmB,oBAAoB;AAAA,QACzD,UAAU;AAAA;AAAA,IACZ;AAAA,KACF;AAEJ;","names":["useState","useEffect","useCallback","useMemo","createStyles","Spin","Plus","useMemo","Spin","Typography","createStyles","User","Bot","jsx","jsxs","Bot","User","jsx","jsxs","Text","Typography","useStyles","createStyles","useMemo","Spin","useEffect","Switch","createStyles","jsx","jsxs","useStyles","createStyles","useEffect","Switch","jsx","jsxs","useStyles","createStyles","useState","useMemo","useCallback","useEffect","t","Plus","Spin"]}
@@ -3,7 +3,7 @@ import {
3
3
  Chating,
4
4
  MailboxPanel,
5
5
  useAgentState
6
- } from "./chunk-PMICYMSW.mjs";
6
+ } from "./chunk-QLFWQ4HR.mjs";
7
7
  import {
8
8
  Background,
9
9
  Controls,
@@ -14,11 +14,11 @@ import {
14
14
  useReactFlow
15
15
  } from "./chunk-XC6TB6PI.mjs";
16
16
  import "./chunk-XAGSG72Y.mjs";
17
- import "./chunk-RDC4ZHXF.mjs";
17
+ import "./chunk-IFRTNJ2P.mjs";
18
18
  import "./chunk-HLVE2SB7.mjs";
19
19
  import {
20
20
  useT
21
- } from "./chunk-PEEXMLMK.mjs";
21
+ } from "./chunk-IODHU3BD.mjs";
22
22
  import "./chunk-32GKV6EM.mjs";
23
23
 
24
24
  // src/components/GenUI/elements/TeamWorkspace/index.tsx
@@ -2423,4 +2423,4 @@ export {
2423
2423
  TeamWorkspace,
2424
2424
  TeamWorkspace_default as default
2425
2425
  };
2426
- //# sourceMappingURL=TeamWorkspace-3NLKUNRK.mjs.map
2426
+ //# sourceMappingURL=TeamWorkspace-WZ7EHM3X.mjs.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  WorkflowCanvas,
3
3
  expandWorkflow
4
- } from "./chunk-ZX53OESZ.mjs";
4
+ } from "./chunk-MFFUZVR5.mjs";
5
5
  import "./chunk-7FWCKQNB.mjs";
6
6
  import {
7
7
  MDResponse
8
- } from "./chunk-PMICYMSW.mjs";
8
+ } from "./chunk-QLFWQ4HR.mjs";
9
9
  import {
10
10
  Background,
11
11
  BackgroundVariant,
@@ -22,11 +22,11 @@ import {
22
22
  import "./chunk-XAGSG72Y.mjs";
23
23
  import {
24
24
  useApi
25
- } from "./chunk-RDC4ZHXF.mjs";
25
+ } from "./chunk-IFRTNJ2P.mjs";
26
26
  import "./chunk-HLVE2SB7.mjs";
27
27
  import {
28
28
  useT
29
- } from "./chunk-PEEXMLMK.mjs";
29
+ } from "./chunk-IODHU3BD.mjs";
30
30
  import "./chunk-32GKV6EM.mjs";
31
31
 
32
32
  // src/components/Chat/TopologyRuntimeView.tsx
@@ -810,4 +810,4 @@ var TopologyRuntimeView = () => {
810
810
  export {
811
811
  TopologyRuntimeView
812
812
  };
813
- //# sourceMappingURL=TopologyRuntimeView-NVFFMHTP.mjs.map
813
+ //# sourceMappingURL=TopologyRuntimeView-77JCSNTK.mjs.map
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  WorkflowAutomationView,
3
3
  WorkflowAutomationView_default
4
- } from "./chunk-ZXEY5OGX.mjs";
5
- import "./chunk-YDIVRYML.mjs";
6
- import "./chunk-ZX53OESZ.mjs";
4
+ } from "./chunk-VLQM75ZM.mjs";
5
+ import "./chunk-NE5RWDYD.mjs";
6
+ import "./chunk-MFFUZVR5.mjs";
7
7
  import "./chunk-7FWCKQNB.mjs";
8
- import "./chunk-PMICYMSW.mjs";
8
+ import "./chunk-QLFWQ4HR.mjs";
9
9
  import "./chunk-XC6TB6PI.mjs";
10
10
  import "./chunk-XAGSG72Y.mjs";
11
- import "./chunk-RDC4ZHXF.mjs";
11
+ import "./chunk-IFRTNJ2P.mjs";
12
12
  import "./chunk-HLVE2SB7.mjs";
13
- import "./chunk-PEEXMLMK.mjs";
13
+ import "./chunk-IODHU3BD.mjs";
14
14
  import "./chunk-32GKV6EM.mjs";
15
15
  export {
16
16
  WorkflowAutomationView,
17
17
  WorkflowAutomationView_default as default
18
18
  };
19
- //# sourceMappingURL=WorkflowAutomationView-WBVKM73F.mjs.map
19
+ //# sourceMappingURL=WorkflowAutomationView-AVGN2L6Y.mjs.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  CopilotPanel,
3
3
  TrainingContextCard
4
- } from "./chunk-YDIVRYML.mjs";
4
+ } from "./chunk-NE5RWDYD.mjs";
5
5
  import {
6
6
  TaskOutlineList
7
- } from "./chunk-BXPPM4ZX.mjs";
7
+ } from "./chunk-GJTDVFBS.mjs";
8
8
  import {
9
9
  WorkflowCanvas_default,
10
10
  expandWorkflow
11
- } from "./chunk-ZX53OESZ.mjs";
11
+ } from "./chunk-MFFUZVR5.mjs";
12
12
  import {
13
13
  WorkflowGraphBase,
14
14
  applyDagreLayout
@@ -50,7 +50,7 @@ import {
50
50
  useTaskCommands,
51
51
  useWorkbenchNavStyles,
52
52
  useWorkspaceContext
53
- } from "./chunk-PMICYMSW.mjs";
53
+ } from "./chunk-QLFWQ4HR.mjs";
54
54
  import {
55
55
  Background,
56
56
  Controls,
@@ -73,7 +73,7 @@ import {
73
73
  useAuth,
74
74
  useClient,
75
75
  useLatticeChatShellContext
76
- } from "./chunk-RDC4ZHXF.mjs";
76
+ } from "./chunk-IFRTNJ2P.mjs";
77
77
  import {
78
78
  AgentWebAppRuntimeClient,
79
79
  AgentWebAppRuntimeClientError
@@ -82,7 +82,7 @@ import {
82
82
  DEFAULT_LOCALE_STORAGE_KEY,
83
83
  readStoredLocale,
84
84
  useT
85
- } from "./chunk-PEEXMLMK.mjs";
85
+ } from "./chunk-IODHU3BD.mjs";
86
86
 
87
87
  // src/components/Governance/agentMeta.ts
88
88
  var TYPE_LABEL = {
@@ -8911,4 +8911,4 @@ export {
8911
8911
  AgentConfigGraph,
8912
8912
  AgentDetailView
8913
8913
  };
8914
- //# sourceMappingURL=chunk-QM3NPPQJ.mjs.map
8914
+ //# sourceMappingURL=chunk-CLCJX35D.mjs.map
@@ -4,10 +4,10 @@ import {
4
4
  TaskActionsButton,
5
5
  isHiddenStatus,
6
6
  taskOrigin
7
- } from "./chunk-PMICYMSW.mjs";
7
+ } from "./chunk-QLFWQ4HR.mjs";
8
8
  import {
9
9
  useT
10
- } from "./chunk-PEEXMLMK.mjs";
10
+ } from "./chunk-IODHU3BD.mjs";
11
11
 
12
12
  // src/components/Tasks/TaskOutlineList.tsx
13
13
  import {
@@ -491,4 +491,4 @@ var TaskOutlineList = ({
491
491
  export {
492
492
  TaskOutlineList
493
493
  };
494
- //# sourceMappingURL=chunk-BXPPM4ZX.mjs.map
494
+ //# sourceMappingURL=chunk-GJTDVFBS.mjs.map
@@ -4,7 +4,7 @@ import {
4
4
  LocaleBridgeContext,
5
5
  readStoredLocale,
6
6
  useT
7
- } from "./chunk-PEEXMLMK.mjs";
7
+ } from "./chunk-IODHU3BD.mjs";
8
8
 
9
9
  // src/utils/authStorage.ts
10
10
  var AUTH_KEYS = [
@@ -1537,4 +1537,4 @@ export {
1537
1537
  CreateSkillModal,
1538
1538
  CreateSkillModal_default
1539
1539
  };
1540
- //# sourceMappingURL=chunk-RDC4ZHXF.mjs.map
1540
+ //# sourceMappingURL=chunk-IFRTNJ2P.mjs.map
@@ -35,8 +35,8 @@ var globImport_locales_json = __glob({
35
35
  "./locales/governance/zh.json": () => import("./zh-XRQ4YNHC.mjs"),
36
36
  "./locales/integration/en.json": () => import("./en-YHJ6EJ3V.mjs"),
37
37
  "./locales/integration/zh.json": () => import("./zh-TR2IO47G.mjs"),
38
- "./locales/mcpapp/en.json": () => import("./en-WQVDOIB7.mjs"),
39
- "./locales/mcpapp/zh.json": () => import("./zh-6PHD4AY5.mjs"),
38
+ "./locales/mcpapp/en.json": () => import("./en-FDNQNTHX.mjs"),
39
+ "./locales/mcpapp/zh.json": () => import("./zh-2EJFFUSY.mjs"),
40
40
  "./locales/migration/en.json": () => import("./en-ZCWY6LUK.mjs"),
41
41
  "./locales/migration/zh.json": () => import("./zh-EJJRZ6SZ.mjs"),
42
42
  "./locales/projectRoom/en.json": () => import("./en-V35PQPYD.mjs"),
@@ -211,4 +211,4 @@ export {
211
211
  DEFAULT_LOCALE_STORAGE_KEY,
212
212
  readStoredLocale
213
213
  };
214
- //# sourceMappingURL=chunk-PEEXMLMK.mjs.map
214
+ //# sourceMappingURL=chunk-IODHU3BD.mjs.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-7FWCKQNB.mjs";
6
6
  import {
7
7
  MDResponse
8
- } from "./chunk-PMICYMSW.mjs";
8
+ } from "./chunk-QLFWQ4HR.mjs";
9
9
  import {
10
10
  Handle,
11
11
  MarkerType,
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-XC6TB6PI.mjs";
17
17
  import {
18
18
  useT
19
- } from "./chunk-PEEXMLMK.mjs";
19
+ } from "./chunk-IODHU3BD.mjs";
20
20
 
21
21
  // src/components/Chat/WorkflowNode.tsx
22
22
  import { Tag, Typography, Tooltip, Popover } from "antd";
@@ -1087,4 +1087,4 @@ export {
1087
1087
  WorkflowCanvas_default,
1088
1088
  expandWorkflow
1089
1089
  };
1090
- //# sourceMappingURL=chunk-ZX53OESZ.mjs.map
1090
+ //# sourceMappingURL=chunk-MFFUZVR5.mjs.map
@@ -3,13 +3,13 @@ import {
3
3
  Chating,
4
4
  InitialMessageSubmitter,
5
5
  ProjectSelector
6
- } from "./chunk-PMICYMSW.mjs";
6
+ } from "./chunk-QLFWQ4HR.mjs";
7
7
  import {
8
8
  useClient
9
- } from "./chunk-RDC4ZHXF.mjs";
9
+ } from "./chunk-IFRTNJ2P.mjs";
10
10
  import {
11
11
  useT
12
- } from "./chunk-PEEXMLMK.mjs";
12
+ } from "./chunk-IODHU3BD.mjs";
13
13
 
14
14
  // src/components/Chat/CopilotPanel.tsx
15
15
  import { useMemo } from "react";
@@ -205,4 +205,4 @@ export {
205
205
  TrainingContextCard,
206
206
  CopilotPanel
207
207
  };
208
- //# sourceMappingURL=chunk-YDIVRYML.mjs.map
208
+ //# sourceMappingURL=chunk-NE5RWDYD.mjs.map