@burdenoff/fluidgrids-fe-sdk 2026.721.2 → 2026.723.2

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 (36) hide show
  1. package/dist/ExecutionDetailPage-3E66352F.js +8 -0
  2. package/dist/{ExecutionDetailPage-6ASC7CJW.js.map → ExecutionDetailPage-3E66352F.js.map} +1 -1
  3. package/dist/ExecutionsListPage-N6ZTA42U.js +8 -0
  4. package/dist/{ExecutionsListPage-OWOKDVXQ.js.map → ExecutionsListPage-N6ZTA42U.js.map} +1 -1
  5. package/dist/{WorkflowBuilder-UADGCKNH.js → WorkflowBuilder-JQVFFWQB.js} +6 -6
  6. package/dist/{WorkflowBuilder-UADGCKNH.js.map → WorkflowBuilder-JQVFFWQB.js.map} +1 -1
  7. package/dist/WorkflowsList-IKUTWG7U.js +10 -0
  8. package/dist/{WorkflowsList-AY6ZANWN.js.map → WorkflowsList-IKUTWG7U.js.map} +1 -1
  9. package/dist/{blocks-RO3MCVHA.js → blocks-UL5FEAD7.js} +4 -4
  10. package/dist/{blocks-RO3MCVHA.js.map → blocks-UL5FEAD7.js.map} +1 -1
  11. package/dist/{chunk-ZPBFAT6K.js → chunk-2WURM2ZA.js} +3 -3
  12. package/dist/{chunk-ZPBFAT6K.js.map → chunk-2WURM2ZA.js.map} +1 -1
  13. package/dist/{chunk-OHIRHNRJ.js → chunk-47457KC3.js} +3 -3
  14. package/dist/{chunk-OHIRHNRJ.js.map → chunk-47457KC3.js.map} +1 -1
  15. package/dist/{chunk-4NTHFDKQ.js → chunk-H7WSQN2I.js} +29 -3
  16. package/dist/chunk-H7WSQN2I.js.map +1 -0
  17. package/dist/{chunk-52EJMXGS.js → chunk-IMRLGRX2.js} +3 -3
  18. package/dist/{chunk-52EJMXGS.js.map → chunk-IMRLGRX2.js.map} +1 -1
  19. package/dist/{chunk-R72R5HRD.js → chunk-NCGZIY5C.js} +123 -12
  20. package/dist/chunk-NCGZIY5C.js.map +1 -0
  21. package/dist/{chunk-2MQR3DMF.js → chunk-VICF7CEB.js} +47 -218
  22. package/dist/chunk-VICF7CEB.js.map +1 -0
  23. package/dist/{chunk-EQVBECAC.js → chunk-YN6AXJJO.js} +3 -3
  24. package/dist/{chunk-EQVBECAC.js.map → chunk-YN6AXJJO.js.map} +1 -1
  25. package/dist/{chunk-DVSO5MTE.js → chunk-YQO6STP6.js} +4 -4
  26. package/dist/{chunk-DVSO5MTE.js.map → chunk-YQO6STP6.js.map} +1 -1
  27. package/dist/index.d.ts +62 -7
  28. package/dist/index.js +15 -15
  29. package/dist/index.js.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/ExecutionDetailPage-6ASC7CJW.js +0 -8
  32. package/dist/ExecutionsListPage-OWOKDVXQ.js +0 -8
  33. package/dist/WorkflowsList-AY6ZANWN.js +0 -10
  34. package/dist/chunk-2MQR3DMF.js.map +0 -1
  35. package/dist/chunk-4NTHFDKQ.js.map +0 -1
  36. package/dist/chunk-R72R5HRD.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ export { ExecutionDetailPage } from './chunk-IMRLGRX2.js';
2
+ import './chunk-YN6AXJJO.js';
3
+ import './chunk-UIY2HBWA.js';
4
+ import './chunk-3ZYUGTIT.js';
5
+ import './chunk-H7WSQN2I.js';
6
+ import './chunk-5BDQNSP3.js';
7
+ //# sourceMappingURL=ExecutionDetailPage-3E66352F.js.map
8
+ //# sourceMappingURL=ExecutionDetailPage-3E66352F.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionDetailPage-6ASC7CJW.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionDetailPage-3E66352F.js"}
@@ -0,0 +1,8 @@
1
+ export { ExecutionsListPage } from './chunk-YQO6STP6.js';
2
+ import './chunk-YN6AXJJO.js';
3
+ import './chunk-47457KC3.js';
4
+ import './chunk-H7WSQN2I.js';
5
+ import './chunk-5BDQNSP3.js';
6
+ import './chunk-WWU2O2SR.js';
7
+ //# sourceMappingURL=ExecutionsListPage-N6ZTA42U.js.map
8
+ //# sourceMappingURL=ExecutionsListPage-N6ZTA42U.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionsListPage-OWOKDVXQ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"ExecutionsListPage-N6ZTA42U.js"}
@@ -1,16 +1,16 @@
1
- export { WorkflowBuilder } from './chunk-R72R5HRD.js';
1
+ export { WorkflowBuilder } from './chunk-NCGZIY5C.js';
2
2
  import './chunk-MRVS73S2.js';
3
3
  import './chunk-DBOMRIP5.js';
4
- import './chunk-2MQR3DMF.js';
4
+ import './chunk-VICF7CEB.js';
5
5
  import './chunk-BQXHJIER.js';
6
6
  import './chunk-PNOA7CQV.js';
7
- import './chunk-OHIRHNRJ.js';
7
+ import './chunk-47457KC3.js';
8
8
  import './chunk-KU64CCSV.js';
9
9
  import './chunk-UIY2HBWA.js';
10
10
  import './chunk-3ZYUGTIT.js';
11
- import './chunk-4NTHFDKQ.js';
11
+ import './chunk-H7WSQN2I.js';
12
12
  import './chunk-5BDQNSP3.js';
13
13
  import './chunk-WWU2O2SR.js';
14
14
  import './chunk-XQP33UJR.js';
15
- //# sourceMappingURL=WorkflowBuilder-UADGCKNH.js.map
16
- //# sourceMappingURL=WorkflowBuilder-UADGCKNH.js.map
15
+ //# sourceMappingURL=WorkflowBuilder-JQVFFWQB.js.map
16
+ //# sourceMappingURL=WorkflowBuilder-JQVFFWQB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-UADGCKNH.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-JQVFFWQB.js"}
@@ -0,0 +1,10 @@
1
+ export { WorkflowsList } from './chunk-2WURM2ZA.js';
2
+ import './chunk-47457KC3.js';
3
+ import './chunk-KU64CCSV.js';
4
+ import './chunk-UIY2HBWA.js';
5
+ import './chunk-3ZYUGTIT.js';
6
+ import './chunk-H7WSQN2I.js';
7
+ import './chunk-5BDQNSP3.js';
8
+ import './chunk-WWU2O2SR.js';
9
+ //# sourceMappingURL=WorkflowsList-IKUTWG7U.js.map
10
+ //# sourceMappingURL=WorkflowsList-IKUTWG7U.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowsList-AY6ZANWN.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowsList-IKUTWG7U.js"}
@@ -1,11 +1,11 @@
1
- export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-2MQR3DMF.js';
1
+ export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-VICF7CEB.js';
2
2
  import './chunk-BQXHJIER.js';
3
3
  import './chunk-PNOA7CQV.js';
4
4
  import './chunk-KU64CCSV.js';
5
5
  import './chunk-UIY2HBWA.js';
6
6
  import './chunk-3ZYUGTIT.js';
7
- import './chunk-4NTHFDKQ.js';
7
+ import './chunk-H7WSQN2I.js';
8
8
  import './chunk-5BDQNSP3.js';
9
9
  import './chunk-WWU2O2SR.js';
10
- //# sourceMappingURL=blocks-RO3MCVHA.js.map
11
- //# sourceMappingURL=blocks-RO3MCVHA.js.map
10
+ //# sourceMappingURL=blocks-UL5FEAD7.js.map
11
+ //# sourceMappingURL=blocks-UL5FEAD7.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-RO3MCVHA.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-UL5FEAD7.js"}
@@ -1,4 +1,4 @@
1
- import { useWorkflowDefinitions, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-OHIRHNRJ.js';
1
+ import { useWorkflowDefinitions, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-47457KC3.js';
2
2
  import { useFlowStore } from './chunk-KU64CCSV.js';
3
3
  import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, SdkPermissionGate } from './chunk-UIY2HBWA.js';
4
4
  import { config } from './chunk-WWU2O2SR.js';
@@ -402,5 +402,5 @@ function WorkflowsList() {
402
402
  }
403
403
 
404
404
  export { WorkflowsList };
405
- //# sourceMappingURL=chunk-ZPBFAT6K.js.map
406
- //# sourceMappingURL=chunk-ZPBFAT6K.js.map
405
+ //# sourceMappingURL=chunk-2WURM2ZA.js.map
406
+ //# sourceMappingURL=chunk-2WURM2ZA.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/SharePopup.tsx","../src/builder/components/ui/card-workflow.tsx","../src/pages/WorkflowsList.tsx"],"names":["useState","toast","jsxs","jsx","Button","useNavigate","uuidv4","Icon"],"mappings":"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","file":"chunk-ZPBFAT6K.js","sourcesContent":["import { useState } from \"react\";\nimport { Copy, Share2 } from \"lucide-react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@burdenoff/fe-libs/ui\";\nimport { config } from \"../config\";\n\ninterface SharePopupProps {\n url: string;\n embedSrc: string;\n}\n\nexport default function SharePopup({\n url = window.location.href,\n embedSrc = `${config.fluidgridFrontendUrl}/workflow-view/565201ec-e803-4281-ad39-a135c46daa89/1.0`,\n}: SharePopupProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [width, setWidth] = useState(600);\n const [height, setHeight] = useState(400);\n const [activeTab, setActiveTab] = useState<\"link\" | \"embed\">(\"link\");\n\n const embedCode = `<iframe src=\"${embedSrc}\" width=\"${width}\" height=\"${height}\"></iframe>`;\n\n const copyToClipboard = (text: string, message: string) => {\n navigator.clipboard.writeText(text);\n toast.success(message);\n };\n\n if (!isOpen) {\n return (\n <Button variant=\"ghost\" size=\"icon\" onClick={() => setIsOpen(true)}>\n <Share2 className=\"h-4 w-4\" />\n <span className=\"sr-only\">Share</span>\n </Button>\n );\n }\n\n return (\n <div\n className=\"fixed inset-0 z-50 flex items-center justify-center bg-black/50\"\n onClick={() => setIsOpen(false)}\n >\n <div\n className=\"bg-card rounded-lg p-6 max-w-md w-full mx-4\"\n onClick={(e) => e.stopPropagation()}\n >\n <div className=\"flex justify-between items-center mb-4\">\n <h2 className=\"text-lg font-semibold\">Share</h2>\n <Button variant=\"ghost\" size=\"icon\" onClick={() => setIsOpen(false)}>\n &times;\n </Button>\n </div>\n\n <div className=\"flex gap-2 mb-4\">\n <Button\n variant={activeTab === \"link\" ? \"default\" : \"outline\"}\n size=\"sm\"\n onClick={() => setActiveTab(\"link\")}\n >\n Share Link\n </Button>\n <Button\n variant={activeTab === \"embed\" ? \"default\" : \"outline\"}\n size=\"sm\"\n onClick={() => setActiveTab(\"embed\")}\n >\n Embed\n </Button>\n </div>\n\n {activeTab === \"link\" && (\n <div className=\"flex items-center space-x-2\">\n <input\n readOnly\n value={url}\n className=\"flex-1 h-9 px-3 rounded-md border bg-background text-sm\"\n />\n <Button\n size=\"sm\"\n onClick={() => copyToClipboard(url, \"Link copied to clipboard\")}\n >\n <Copy className=\"h-4 w-4\" />\n </Button>\n </div>\n )}\n\n {activeTab === \"embed\" && (\n <div className=\"space-y-4\">\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <label className=\"text-sm font-medium\">Width</label>\n <input\n type=\"number\"\n value={width}\n onChange={(e) => setWidth(Number(e.target.value))}\n className=\"w-full h-9 px-3 rounded-md border bg-background text-sm mt-1\"\n />\n </div>\n <div>\n <label className=\"text-sm font-medium\">Height</label>\n <input\n type=\"number\"\n value={height}\n onChange={(e) => setHeight(Number(e.target.value))}\n className=\"w-full h-9 px-3 rounded-md border bg-background text-sm mt-1\"\n />\n </div>\n </div>\n <div>\n <label className=\"text-sm font-medium\">Embed Code</label>\n <div className=\"relative mt-1\">\n <input\n readOnly\n value={embedCode}\n className=\"w-full h-9 px-3 pr-12 rounded-md border bg-background text-sm font-mono\"\n />\n <Button\n size=\"sm\"\n className=\"absolute right-1 top-1/2 -translate-y-1/2 h-7\"\n onClick={() =>\n copyToClipboard(embedCode, \"Embed code copied to clipboard\")\n }\n >\n <Copy className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}\n","import { useState } from \"react\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n Button,\n Card,\n CardHeader,\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n TooltipProvider,\n Badge,\n} from \"@burdenoff/fe-libs/ui\";\nimport { Icon } from \"@iconify/react\";\nimport { toast } from \"sonner\";\nimport { useFlowStore } from \"../../stores/flow-store\";\nimport { useNavigate } from \"react-router-dom\";\nimport { config } from \"../../../config\";\nimport SharePopup from \"../../../components/SharePopup\";\nimport {\n useDuplicateWorkflow,\n useDeleteWorkflow,\n} from \"../../../hooks/useWorkflows\";\nimport { SdkPermissionGate } from \"../../../permissions/PermissionsBridge\";\nimport { FLUIDGRIDS_PERMISSIONS } from \"../../../permissions/constants\";\n\ninterface WorkflowData {\n id?: string;\n workflow_key: string;\n version: string;\n name: string;\n description?: string;\n status?: string;\n alias?: string;\n updated_at?: string;\n created_at?: string;\n total_versions?: number;\n}\n\nconst STATUS_STYLES: Record<\n string,\n {\n label: string;\n variant: \"default\" | \"secondary\" | \"outline\" | \"destructive\";\n }\n> = {\n DRAFT: { label: \"Draft\", variant: \"secondary\" },\n ACTIVE: { label: \"Active\", variant: \"default\" },\n ARCHIVED: { label: \"Archived\", variant: \"outline\" },\n DEPRECATED: { label: \"Deprecated\", variant: \"destructive\" },\n};\n\nexport const CardWorkflow = ({\n workflow,\n onUpdateSuccess,\n}: {\n workflow: WorkflowData;\n onUpdateSuccess: () => void;\n}) => {\n const navigate = useNavigate();\n const resetWorkflow = useFlowStore((s) => s.actions.resetWorkflow);\n const { duplicateWorkflow: duplicateWorkflowMutation } =\n useDuplicateWorkflow();\n const { deleteWorkflow: deleteWorkflowMutation } = useDeleteWorkflow();\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n\n async function handleDuplicateWorkflow() {\n try {\n // Reset the store first to clear any existing state\n resetWorkflow();\n\n const result = await duplicateWorkflowMutation(\n workflow.workflow_key,\n workflow.version,\n {\n newWorkflowKey: `${workflow.workflow_key}_copy_${Date.now()}`,\n },\n );\n\n if (result?.success && result.workflow) {\n navigate(\n `../workflow/${result.workflow.workflowKey}/${result.workflow.version}`,\n );\n } else {\n throw new Error(result?.message || \"Failed to duplicate workflow\");\n }\n } catch (error) {\n console.error(\"Error duplicating workflow:\", error);\n toast.error(\n `Error duplicating workflow: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n }\n\n const handleDeleteWorkflow = async (): Promise<void> => {\n if (!workflow.workflow_key) {\n console.error(\"Workflow ID is required to delete.\");\n return;\n }\n setIsDeleting(true);\n try {\n // Omit version to delete ALL versions of this workflow\n const success = await deleteWorkflowMutation(workflow.workflow_key);\n if (success) {\n setShowDeleteDialog(false);\n }\n } catch (error) {\n console.error(\"Error deleting workflow:\", error);\n toast.error(\n `Error deleting workflow: ${error instanceof Error ? error.message : String(error)}`,\n );\n } finally {\n setIsDeleting(false);\n setShowDeleteDialog(false);\n onUpdateSuccess();\n }\n };\n\n const handleOnEdit = () => {\n navigate(\"../workflow/\" + workflow.workflow_key + \"/\" + workflow.version);\n };\n\n const statusInfo =\n STATUS_STYLES[workflow.status ?? \"DRAFT\"] ?? STATUS_STYLES.DRAFT;\n\n return (\n <TooltipProvider>\n <Card className=\"bg-card-foreground/10 min-h-40 p-0 flex flex-col justify-between\">\n <CardHeader className=\"relative\">\n <div className=\"flex items-center gap-2 pr-8\">\n <h1 className=\"text-card-foreground font-bold truncate\">\n {workflow?.name}\n </h1>\n <Badge\n variant={statusInfo.variant}\n className=\"text-[10px] px-1.5 py-0 h-5 shrink-0\"\n >\n {statusInfo.label}\n </Badge>\n </div>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"text-primary absolute right-2 top-0\"\n onClick={handleOnEdit}\n >\n <Icon icon=\"mynaui:edit\" className=\"size-6 text-primary\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Edit Workflow</p>\n </TooltipContent>\n </Tooltip>\n </CardHeader>\n\n <div className=\"inline-flex justify-between items-center gap-2 border-t border-card-foreground/10 w-full\">\n <div className=\"flex flex-col gap-1 p-2\">\n <p className=\"text-card-foreground/60 text-xs\">\n Updated:{\" \"}\n {workflow.updated_at\n ? new Intl.DateTimeFormat(\"en-US\", {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n }).format(new Date(workflow.updated_at))\n : \"N/A\"}\n </p>\n <p className=\"text-card-foreground/60 text-xs\">\n Version: {workflow.version}\n {workflow.alias ? ` (${workflow.alias})` : \"\"}\n {workflow.total_versions && workflow.total_versions > 1\n ? ` \\u00B7 ${workflow.total_versions} versions`\n : \"\"}\n </p>\n </div>\n <div className=\"flex items-center p-1\">\n <Tooltip>\n <TooltipTrigger asChild>\n <SharePopup\n url={`${config.fluidgridFrontendUrl}/workflow-view/${workflow.workflow_key}/${workflow.version}`}\n embedSrc={`${config.fluidgridFrontendUrl}/workflow-view/${workflow.workflow_key}/${workflow.version}`}\n />\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Share Workflow</p>\n </TooltipContent>\n </Tooltip>\n <SdkPermissionGate\n permission={FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE}\n >\n <Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\">\n <Icon\n icon=\"mynaui:copy\"\n className=\"size-6 text-card-foreground/70\"\n onClick={() => handleDuplicateWorkflow()}\n />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Duplicate Workflow</p>\n </TooltipContent>\n </Tooltip>\n </SdkPermissionGate>\n <SdkPermissionGate\n permission={FLUIDGRIDS_PERMISSIONS.WORKFLOW_DELETE}\n >\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setShowDeleteDialog(true)}\n >\n <Icon\n icon=\"mynaui:trash\"\n className=\"size-6 text-[var(--color-status-error-text)]\"\n />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Remove Workflow</p>\n </TooltipContent>\n </Tooltip>\n </SdkPermissionGate>\n </div>\n </div>\n </Card>\n\n <AlertDialog open={showDeleteDialog} onOpenChange={setShowDeleteDialog}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Delete Workflow</AlertDialogTitle>\n <AlertDialogDescription>\n Are you sure you want to delete workflow &quot;{workflow.name}\n &quot; and all its versions? This action cannot be undone.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel disabled={isDeleting}>Cancel</AlertDialogCancel>\n <AlertDialogAction\n onClick={handleDeleteWorkflow}\n disabled={isDeleting}\n className=\"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n >\n {isDeleting ? \"Deleting...\" : \"Delete\"}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </TooltipProvider>\n );\n};\n","import { useNavigate } from \"react-router-dom\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Icon } from \"@iconify/react\";\n\nimport { Skeleton, Button } from \"@burdenoff/fe-libs/ui\";\nimport { CardWorkflow } from \"../builder/components/ui/card-workflow\";\nimport { useWorkflowDefinitions } from \"../hooks/useWorkflows\";\nimport { SdkPermissionButton } from \"../permissions/PermissionsBridge\";\nimport { FLUIDGRIDS_PERMISSIONS } from \"../permissions/constants\";\n\nexport function WorkflowsList() {\n const navigate = useNavigate();\n const { workflows, loading, error, refetch } = useWorkflowDefinitions({\n limit: 100,\n latestOnly: true,\n });\n\n const handleWorkflowUpdateSuccess = () => {\n refetch();\n };\n\n return (\n <main className=\"h-full w-full\">\n <div className=\"p-4\">\n <div className=\"inline-flex w-full justify-between items-center gap-2\">\n <h1 className=\"text-xl font-bold\">Workflows</h1>\n <SdkPermissionButton\n permission={FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE}\n deniedTooltip=\"You don't have permission to create workflows\"\n >\n <Button\n variant=\"default\"\n size=\"default\"\n className=\"text-primary-foreground font-bold\"\n onClick={() => navigate(`../workflow/${uuidv4()}/v1`)}\n >\n <Icon\n icon=\"mynaui:plus\"\n className=\"size-6 text-primary-foreground\"\n />\n Create Workflow\n </Button>\n </SdkPermissionButton>\n </div>\n <div className=\"grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 gap-4 mt-4\">\n {loading ? (\n <Skeleton className=\"bg-card-foreground/10 min-h-40 p-6 flex flex-col justify-between\">\n <Skeleton className=\"bg-card-foreground/20 w-full h-8\" />\n <div className=\"flex gap-2\">\n <Skeleton className=\"bg-card-foreground/15 w-full h-6 mr-4\" />\n <Skeleton className=\"bg-card-foreground/15 w-8 h-6\" />\n <Skeleton className=\"bg-card-foreground/15 w-8 h-6\" />\n </div>\n </Skeleton>\n ) : error ? (\n <div className=\"text-destructive p-4\">\n Error loading workflows: {error.message}\n </div>\n ) : workflows.length > 0 ? (\n workflows.map((workflow) => (\n <CardWorkflow\n key={workflow.id}\n workflow={{\n id: workflow.id,\n workflow_key: workflow.workflowKey,\n version: workflow.version,\n name: workflow.name,\n description: workflow.description ?? undefined,\n status: workflow.status ?? undefined,\n alias: workflow.alias ?? undefined,\n updated_at: workflow.updatedAt ?? undefined,\n created_at: workflow.createdAt ?? undefined,\n total_versions: workflow.totalVersions ?? undefined,\n }}\n onUpdateSuccess={() => handleWorkflowUpdateSuccess()}\n />\n ))\n ) : (\n <div className=\"text-muted-foreground p-4\">\n No workflows found. Create your first workflow!\n </div>\n )}\n </div>\n </div>\n </main>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/SharePopup.tsx","../src/builder/components/ui/card-workflow.tsx","../src/pages/WorkflowsList.tsx"],"names":["useState","toast","jsxs","jsx","Button","useNavigate","uuidv4","Icon"],"mappings":"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","file":"chunk-2WURM2ZA.js","sourcesContent":["import { useState } from \"react\";\nimport { Copy, Share2 } from \"lucide-react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@burdenoff/fe-libs/ui\";\nimport { config } from \"../config\";\n\ninterface SharePopupProps {\n url: string;\n embedSrc: string;\n}\n\nexport default function SharePopup({\n url = window.location.href,\n embedSrc = `${config.fluidgridFrontendUrl}/workflow-view/565201ec-e803-4281-ad39-a135c46daa89/1.0`,\n}: SharePopupProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [width, setWidth] = useState(600);\n const [height, setHeight] = useState(400);\n const [activeTab, setActiveTab] = useState<\"link\" | \"embed\">(\"link\");\n\n const embedCode = `<iframe src=\"${embedSrc}\" width=\"${width}\" height=\"${height}\"></iframe>`;\n\n const copyToClipboard = (text: string, message: string) => {\n navigator.clipboard.writeText(text);\n toast.success(message);\n };\n\n if (!isOpen) {\n return (\n <Button variant=\"ghost\" size=\"icon\" onClick={() => setIsOpen(true)}>\n <Share2 className=\"h-4 w-4\" />\n <span className=\"sr-only\">Share</span>\n </Button>\n );\n }\n\n return (\n <div\n className=\"fixed inset-0 z-50 flex items-center justify-center bg-black/50\"\n onClick={() => setIsOpen(false)}\n >\n <div\n className=\"bg-card rounded-lg p-6 max-w-md w-full mx-4\"\n onClick={(e) => e.stopPropagation()}\n >\n <div className=\"flex justify-between items-center mb-4\">\n <h2 className=\"text-lg font-semibold\">Share</h2>\n <Button variant=\"ghost\" size=\"icon\" onClick={() => setIsOpen(false)}>\n &times;\n </Button>\n </div>\n\n <div className=\"flex gap-2 mb-4\">\n <Button\n variant={activeTab === \"link\" ? \"default\" : \"outline\"}\n size=\"sm\"\n onClick={() => setActiveTab(\"link\")}\n >\n Share Link\n </Button>\n <Button\n variant={activeTab === \"embed\" ? \"default\" : \"outline\"}\n size=\"sm\"\n onClick={() => setActiveTab(\"embed\")}\n >\n Embed\n </Button>\n </div>\n\n {activeTab === \"link\" && (\n <div className=\"flex items-center space-x-2\">\n <input\n readOnly\n value={url}\n className=\"flex-1 h-9 px-3 rounded-md border bg-background text-sm\"\n />\n <Button\n size=\"sm\"\n onClick={() => copyToClipboard(url, \"Link copied to clipboard\")}\n >\n <Copy className=\"h-4 w-4\" />\n </Button>\n </div>\n )}\n\n {activeTab === \"embed\" && (\n <div className=\"space-y-4\">\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <label className=\"text-sm font-medium\">Width</label>\n <input\n type=\"number\"\n value={width}\n onChange={(e) => setWidth(Number(e.target.value))}\n className=\"w-full h-9 px-3 rounded-md border bg-background text-sm mt-1\"\n />\n </div>\n <div>\n <label className=\"text-sm font-medium\">Height</label>\n <input\n type=\"number\"\n value={height}\n onChange={(e) => setHeight(Number(e.target.value))}\n className=\"w-full h-9 px-3 rounded-md border bg-background text-sm mt-1\"\n />\n </div>\n </div>\n <div>\n <label className=\"text-sm font-medium\">Embed Code</label>\n <div className=\"relative mt-1\">\n <input\n readOnly\n value={embedCode}\n className=\"w-full h-9 px-3 pr-12 rounded-md border bg-background text-sm font-mono\"\n />\n <Button\n size=\"sm\"\n className=\"absolute right-1 top-1/2 -translate-y-1/2 h-7\"\n onClick={() =>\n copyToClipboard(embedCode, \"Embed code copied to clipboard\")\n }\n >\n <Copy className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n}\n","import { useState } from \"react\";\nimport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n Button,\n Card,\n CardHeader,\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n TooltipProvider,\n Badge,\n} from \"@burdenoff/fe-libs/ui\";\nimport { Icon } from \"@iconify/react\";\nimport { toast } from \"sonner\";\nimport { useFlowStore } from \"../../stores/flow-store\";\nimport { useNavigate } from \"react-router-dom\";\nimport { config } from \"../../../config\";\nimport SharePopup from \"../../../components/SharePopup\";\nimport {\n useDuplicateWorkflow,\n useDeleteWorkflow,\n} from \"../../../hooks/useWorkflows\";\nimport { SdkPermissionGate } from \"../../../permissions/PermissionsBridge\";\nimport { FLUIDGRIDS_PERMISSIONS } from \"../../../permissions/constants\";\n\ninterface WorkflowData {\n id?: string;\n workflow_key: string;\n version: string;\n name: string;\n description?: string;\n status?: string;\n alias?: string;\n updated_at?: string;\n created_at?: string;\n total_versions?: number;\n}\n\nconst STATUS_STYLES: Record<\n string,\n {\n label: string;\n variant: \"default\" | \"secondary\" | \"outline\" | \"destructive\";\n }\n> = {\n DRAFT: { label: \"Draft\", variant: \"secondary\" },\n ACTIVE: { label: \"Active\", variant: \"default\" },\n ARCHIVED: { label: \"Archived\", variant: \"outline\" },\n DEPRECATED: { label: \"Deprecated\", variant: \"destructive\" },\n};\n\nexport const CardWorkflow = ({\n workflow,\n onUpdateSuccess,\n}: {\n workflow: WorkflowData;\n onUpdateSuccess: () => void;\n}) => {\n const navigate = useNavigate();\n const resetWorkflow = useFlowStore((s) => s.actions.resetWorkflow);\n const { duplicateWorkflow: duplicateWorkflowMutation } =\n useDuplicateWorkflow();\n const { deleteWorkflow: deleteWorkflowMutation } = useDeleteWorkflow();\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n\n async function handleDuplicateWorkflow() {\n try {\n // Reset the store first to clear any existing state\n resetWorkflow();\n\n const result = await duplicateWorkflowMutation(\n workflow.workflow_key,\n workflow.version,\n {\n newWorkflowKey: `${workflow.workflow_key}_copy_${Date.now()}`,\n },\n );\n\n if (result?.success && result.workflow) {\n navigate(\n `../workflow/${result.workflow.workflowKey}/${result.workflow.version}`,\n );\n } else {\n throw new Error(result?.message || \"Failed to duplicate workflow\");\n }\n } catch (error) {\n console.error(\"Error duplicating workflow:\", error);\n toast.error(\n `Error duplicating workflow: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n }\n\n const handleDeleteWorkflow = async (): Promise<void> => {\n if (!workflow.workflow_key) {\n console.error(\"Workflow ID is required to delete.\");\n return;\n }\n setIsDeleting(true);\n try {\n // Omit version to delete ALL versions of this workflow\n const success = await deleteWorkflowMutation(workflow.workflow_key);\n if (success) {\n setShowDeleteDialog(false);\n }\n } catch (error) {\n console.error(\"Error deleting workflow:\", error);\n toast.error(\n `Error deleting workflow: ${error instanceof Error ? error.message : String(error)}`,\n );\n } finally {\n setIsDeleting(false);\n setShowDeleteDialog(false);\n onUpdateSuccess();\n }\n };\n\n const handleOnEdit = () => {\n navigate(\"../workflow/\" + workflow.workflow_key + \"/\" + workflow.version);\n };\n\n const statusInfo =\n STATUS_STYLES[workflow.status ?? \"DRAFT\"] ?? STATUS_STYLES.DRAFT;\n\n return (\n <TooltipProvider>\n <Card className=\"bg-card-foreground/10 min-h-40 p-0 flex flex-col justify-between\">\n <CardHeader className=\"relative\">\n <div className=\"flex items-center gap-2 pr-8\">\n <h1 className=\"text-card-foreground font-bold truncate\">\n {workflow?.name}\n </h1>\n <Badge\n variant={statusInfo.variant}\n className=\"text-[10px] px-1.5 py-0 h-5 shrink-0\"\n >\n {statusInfo.label}\n </Badge>\n </div>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"text-primary absolute right-2 top-0\"\n onClick={handleOnEdit}\n >\n <Icon icon=\"mynaui:edit\" className=\"size-6 text-primary\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Edit Workflow</p>\n </TooltipContent>\n </Tooltip>\n </CardHeader>\n\n <div className=\"inline-flex justify-between items-center gap-2 border-t border-card-foreground/10 w-full\">\n <div className=\"flex flex-col gap-1 p-2\">\n <p className=\"text-card-foreground/60 text-xs\">\n Updated:{\" \"}\n {workflow.updated_at\n ? new Intl.DateTimeFormat(\"en-US\", {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n }).format(new Date(workflow.updated_at))\n : \"N/A\"}\n </p>\n <p className=\"text-card-foreground/60 text-xs\">\n Version: {workflow.version}\n {workflow.alias ? ` (${workflow.alias})` : \"\"}\n {workflow.total_versions && workflow.total_versions > 1\n ? ` \\u00B7 ${workflow.total_versions} versions`\n : \"\"}\n </p>\n </div>\n <div className=\"flex items-center p-1\">\n <Tooltip>\n <TooltipTrigger asChild>\n <SharePopup\n url={`${config.fluidgridFrontendUrl}/workflow-view/${workflow.workflow_key}/${workflow.version}`}\n embedSrc={`${config.fluidgridFrontendUrl}/workflow-view/${workflow.workflow_key}/${workflow.version}`}\n />\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Share Workflow</p>\n </TooltipContent>\n </Tooltip>\n <SdkPermissionGate\n permission={FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE}\n >\n <Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\">\n <Icon\n icon=\"mynaui:copy\"\n className=\"size-6 text-card-foreground/70\"\n onClick={() => handleDuplicateWorkflow()}\n />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Duplicate Workflow</p>\n </TooltipContent>\n </Tooltip>\n </SdkPermissionGate>\n <SdkPermissionGate\n permission={FLUIDGRIDS_PERMISSIONS.WORKFLOW_DELETE}\n >\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => setShowDeleteDialog(true)}\n >\n <Icon\n icon=\"mynaui:trash\"\n className=\"size-6 text-[var(--color-status-error-text)]\"\n />\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n <p>Remove Workflow</p>\n </TooltipContent>\n </Tooltip>\n </SdkPermissionGate>\n </div>\n </div>\n </Card>\n\n <AlertDialog open={showDeleteDialog} onOpenChange={setShowDeleteDialog}>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>Delete Workflow</AlertDialogTitle>\n <AlertDialogDescription>\n Are you sure you want to delete workflow &quot;{workflow.name}\n &quot; and all its versions? This action cannot be undone.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel disabled={isDeleting}>Cancel</AlertDialogCancel>\n <AlertDialogAction\n onClick={handleDeleteWorkflow}\n disabled={isDeleting}\n className=\"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n >\n {isDeleting ? \"Deleting...\" : \"Delete\"}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n </TooltipProvider>\n );\n};\n","import { useNavigate } from \"react-router-dom\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Icon } from \"@iconify/react\";\n\nimport { Skeleton, Button } from \"@burdenoff/fe-libs/ui\";\nimport { CardWorkflow } from \"../builder/components/ui/card-workflow\";\nimport { useWorkflowDefinitions } from \"../hooks/useWorkflows\";\nimport { SdkPermissionButton } from \"../permissions/PermissionsBridge\";\nimport { FLUIDGRIDS_PERMISSIONS } from \"../permissions/constants\";\n\nexport function WorkflowsList() {\n const navigate = useNavigate();\n const { workflows, loading, error, refetch } = useWorkflowDefinitions({\n limit: 100,\n latestOnly: true,\n });\n\n const handleWorkflowUpdateSuccess = () => {\n refetch();\n };\n\n return (\n <main className=\"h-full w-full\">\n <div className=\"p-4\">\n <div className=\"inline-flex w-full justify-between items-center gap-2\">\n <h1 className=\"text-xl font-bold\">Workflows</h1>\n <SdkPermissionButton\n permission={FLUIDGRIDS_PERMISSIONS.WORKFLOW_CREATE}\n deniedTooltip=\"You don't have permission to create workflows\"\n >\n <Button\n variant=\"default\"\n size=\"default\"\n className=\"text-primary-foreground font-bold\"\n onClick={() => navigate(`../workflow/${uuidv4()}/v1`)}\n >\n <Icon\n icon=\"mynaui:plus\"\n className=\"size-6 text-primary-foreground\"\n />\n Create Workflow\n </Button>\n </SdkPermissionButton>\n </div>\n <div className=\"grid grid-cols-1 md:grid-cols-3 2xl:grid-cols-4 gap-4 mt-4\">\n {loading ? (\n <Skeleton className=\"bg-card-foreground/10 min-h-40 p-6 flex flex-col justify-between\">\n <Skeleton className=\"bg-card-foreground/20 w-full h-8\" />\n <div className=\"flex gap-2\">\n <Skeleton className=\"bg-card-foreground/15 w-full h-6 mr-4\" />\n <Skeleton className=\"bg-card-foreground/15 w-8 h-6\" />\n <Skeleton className=\"bg-card-foreground/15 w-8 h-6\" />\n </div>\n </Skeleton>\n ) : error ? (\n <div className=\"text-destructive p-4\">\n Error loading workflows: {error.message}\n </div>\n ) : workflows.length > 0 ? (\n workflows.map((workflow) => (\n <CardWorkflow\n key={workflow.id}\n workflow={{\n id: workflow.id,\n workflow_key: workflow.workflowKey,\n version: workflow.version,\n name: workflow.name,\n description: workflow.description ?? undefined,\n status: workflow.status ?? undefined,\n alias: workflow.alias ?? undefined,\n updated_at: workflow.updatedAt ?? undefined,\n created_at: workflow.createdAt ?? undefined,\n total_versions: workflow.totalVersions ?? undefined,\n }}\n onUpdateSuccess={() => handleWorkflowUpdateSuccess()}\n />\n ))\n ) : (\n <div className=\"text-muted-foreground p-4\">\n No workflows found. Create your first workflow!\n </div>\n )}\n </div>\n </div>\n </main>\n );\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, throwIfResultError, CreateWorkflowDefinitionDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-4NTHFDKQ.js';
1
+ import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, throwIfResultError, CreateWorkflowDefinitionDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-H7WSQN2I.js';
2
2
  import { getFluidGridsClient } from './chunk-5BDQNSP3.js';
3
3
  import { getFluidGridsConfig } from './chunk-WWU2O2SR.js';
4
4
  import { useState, useCallback, useEffect } from 'react';
@@ -598,5 +598,5 @@ function useDeactivateWorkflow() {
598
598
  }
599
599
 
600
600
  export { useActivateWorkflow, useCreateWorkflow, useCreateWorkflowVersion, useDashboardSummary, useDeactivateWorkflow, useDeleteWorkflow, useDuplicateWorkflow, useLazyWorkflowDefinition, useRestoreWorkflowVersion, useTriggerWorkflow, useUpdateWorkflow, useWorkflowDefinition, useWorkflowDefinitions, useWorkflowRun, useWorkflowRuns, useWorkflowVersions };
601
- //# sourceMappingURL=chunk-OHIRHNRJ.js.map
602
- //# sourceMappingURL=chunk-OHIRHNRJ.js.map
601
+ //# sourceMappingURL=chunk-47457KC3.js.map
602
+ //# sourceMappingURL=chunk-47457KC3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/hooks/useWorkflows.ts"],"names":[],"mappings":"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","file":"chunk-OHIRHNRJ.js","sourcesContent":["import { useState, useEffect, useCallback } from \"react\";\nimport { getFluidGridsClient } from \"../graphql/client\";\nimport { getFluidGridsConfig } from \"../config\";\nimport {\n WorkflowDefinitionsDocument,\n WorkflowDefinitionDocument,\n WorkflowVersionsDocument,\n CreateWorkflowDefinitionDocument,\n UpdateWorkflowDefinitionDocument,\n CreateWorkflowVersionDocument,\n DeleteWorkflowDefinitionDocument,\n DuplicateWorkflowDocument,\n TriggerWorkflowDocument,\n WorkflowRunsDocument,\n WorkflowRunDocument,\n DashboardSummaryDocument,\n RestoreWorkflowVersionDocument,\n ActivateWorkflowDefinitionDocument,\n DeactivateWorkflowDefinitionDocument,\n} from \"../generated/operations\";\nimport type {\n ActivateWorkflowDefinitionMutation,\n DeactivateWorkflowDefinitionMutation,\n} from \"../generated/operations\";\nimport type {\n WorkflowDefinition,\n ListWorkflowDefinitionsInput,\n CreateWorkflowDefinitionInput,\n UpdateWorkflowDefinitionInput,\n TriggerWorkflowInput,\n} from \"../generated/graphql-types\";\n\nimport { throwIfResultError } from \"../graphql/errors\";\n\n// Alias for backward compatibility\nconst WORKFLOW_DEFINITIONS = WorkflowDefinitionsDocument;\nconst WORKFLOW_DEFINITION = WorkflowDefinitionDocument;\nconst WORKFLOW_VERSIONS = WorkflowVersionsDocument;\nconst CREATE_WORKFLOW_DEFINITION = CreateWorkflowDefinitionDocument;\nconst UPDATE_WORKFLOW_DEFINITION = UpdateWorkflowDefinitionDocument;\nconst CREATE_WORKFLOW_VERSION = CreateWorkflowVersionDocument;\nconst DELETE_WORKFLOW_DEFINITION = DeleteWorkflowDefinitionDocument;\nconst DUPLICATE_WORKFLOW = DuplicateWorkflowDocument;\nconst TRIGGER_WORKFLOW = TriggerWorkflowDocument;\nconst WORKFLOW_RUNS = WorkflowRunsDocument;\nconst WORKFLOW_RUN = WorkflowRunDocument;\nconst DASHBOARD_SUMMARY = DashboardSummaryDocument;\nconst RESTORE_WORKFLOW_VERSION = RestoreWorkflowVersionDocument;\n\n// ============================================================================\n// Workflow Definition Hooks\n// ============================================================================\n\ninterface WorkflowDefinitionsData {\n workflowDefinitions: {\n items: WorkflowDefinition[];\n total: number;\n hasMore: boolean;\n };\n}\n\ninterface WorkflowDefinitionData {\n workflowDefinition: WorkflowDefinition | null;\n}\n\ninterface WorkflowVersionsData {\n workflowVersions: WorkflowDefinition[];\n}\n\n/**\n * Check if an error is Apollo's \"Store reset while query was in flight\" error (error 89)\n * This happens when the shell's MultiGatewayProvider cleans up during re-renders\n */\nfunction isStoreResetError(err: unknown): boolean {\n if (err instanceof Error) {\n // Check for error 89 in the message URL or error text\n return (\n err.message.includes(\"message%22%3A89\") ||\n err.message.includes(\"Store reset while query was in flight\")\n );\n }\n return false;\n}\n\n/**\n * Hook to fetch list of workflow definitions\n * Uses Apollo Client with the WORKFLOW_DEFINITIONS query\n * Automatically filters by productId if configured\n */\nexport function useWorkflowDefinitions(\n input: ListWorkflowDefinitionsInput = {},\n) {\n const [workflows, setWorkflows] = useState<WorkflowDefinition[]>([]);\n const [total, setTotal] = useState(0);\n const [hasMore, setHasMore] = useState(false);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const [retryCount, setRetryCount] = useState(0);\n\n // Add productId filter if configured\n const config = getFluidGridsConfig();\n const inputWithProductFilter = {\n ...input,\n customFilters: {\n ...(input.customFilters || {}),\n ...(config.productId ? { productId: config.productId } : {}),\n },\n };\n\n // Stringify input to use as stable dependency\n const inputKey = JSON.stringify(inputWithProductFilter);\n\n const fetchData = useCallback(\n async (isRetry = false) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowDefinitionsData>({\n query: WORKFLOW_DEFINITIONS,\n variables: { input: JSON.parse(inputKey) },\n fetchPolicy: \"network-only\",\n });\n setWorkflows(result.data?.workflowDefinitions?.items ?? []);\n setTotal(result.data?.workflowDefinitions?.total ?? 0);\n setHasMore(result.data?.workflowDefinitions?.hasMore ?? false);\n // Reset retry count on success\n if (isRetry) setRetryCount(0);\n } catch (err) {\n // Handle Apollo error 89 \"Store reset while query was in flight\"\n // This occurs when shell's MultiGatewayProvider cleans up during re-renders\n // Retry after a short delay to allow client to stabilize\n if (isStoreResetError(err)) {\n console.warn(\n \"[useWorkflowDefinitions] Store reset error - will retry\",\n );\n if (retryCount < 3) {\n setRetryCount((prev) => prev + 1);\n // Don't set loading to false, will retry\n return;\n }\n console.warn(\"[useWorkflowDefinitions] Max retries reached\");\n }\n console.error(\"[useWorkflowDefinitions] Error:\", err);\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n },\n [inputKey, retryCount],\n );\n\n // Initial fetch and retry on store reset\n useEffect(() => {\n fetchData(retryCount > 0);\n }, [fetchData, retryCount]);\n\n // Retry with delay when retryCount increases\n useEffect(() => {\n if (retryCount > 0 && retryCount <= 3) {\n const timer = setTimeout(() => {\n fetchData(true);\n }, 500 * retryCount); // Exponential backoff: 500ms, 1000ms, 1500ms\n return () => clearTimeout(timer);\n }\n }, [retryCount, fetchData]);\n\n return {\n workflows,\n total,\n hasMore,\n loading,\n error,\n refetch: () => fetchData(false),\n };\n}\n\n/**\n * Hook to fetch a single workflow definition\n */\nexport function useWorkflowDefinition(workflowKey?: string, id?: string) {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n if (!workflowKey && !id) {\n setLoading(false);\n return;\n }\n\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowDefinitionData>({\n query: WORKFLOW_DEFINITION,\n variables: { workflowKey, id },\n fetchPolicy: \"cache-first\",\n });\n setWorkflow(result.data?.workflowDefinition ?? null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [workflowKey, id]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n workflow,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n/**\n * Lazy hook to fetch workflow definition on demand\n */\nexport function useLazyWorkflowDefinition() {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const getWorkflow = useCallback(\n async (workflowKey?: string, id?: string, version?: string) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowDefinitionData>({\n query: WORKFLOW_DEFINITION,\n variables: { workflowKey, id, ...(version ? { version } : {}) },\n fetchPolicy: \"network-only\",\n });\n const data = result.data?.workflowDefinition ?? null;\n setWorkflow(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n getWorkflow,\n workflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to fetch workflow versions\n */\nexport function useWorkflowVersions(workflowKey: string) {\n const [versions, setVersions] = useState<WorkflowDefinition[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n if (!workflowKey) {\n setLoading(false);\n return;\n }\n\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowVersionsData>({\n query: WORKFLOW_VERSIONS,\n variables: { workflowKey },\n fetchPolicy: \"network-only\",\n });\n setVersions(result.data?.workflowVersions ?? []);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [workflowKey]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n versions,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n// ============================================================================\n// Workflow Mutation Hooks\n// ============================================================================\n\ninterface CreateWorkflowData {\n createWorkflowDefinition: WorkflowDefinition;\n}\n\ninterface UpdateWorkflowData {\n updateWorkflowDefinition: WorkflowDefinition;\n}\n\ninterface CreateVersionData {\n createWorkflowVersion: {\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n };\n}\n\ninterface DuplicateWorkflowData {\n duplicateWorkflow: {\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n };\n}\n\ninterface TriggerWorkflowData {\n triggerWorkflow: {\n runId: string;\n workflowKey: string;\n version: string;\n triggerNodeId: string;\n status: string;\n };\n}\n\n/**\n * Hook to create a new workflow definition\n * Automatically adds productId and productName to context if configured\n */\nexport function useCreateWorkflow() {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const createWorkflow = useCallback(\n async (input: CreateWorkflowDefinitionInput) => {\n setLoading(true);\n setError(null);\n try {\n const config = getFluidGridsConfig();\n\n // Add productId to context for product-level isolation\n const inputWithProductContext = {\n ...input,\n context: {\n ...(input.context || {}),\n ...(config.productId ? { productId: config.productId } : {}),\n ...(config.productName ? { productName: config.productName } : {}),\n },\n };\n\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<CreateWorkflowData>({\n mutation: CREATE_WORKFLOW_DEFINITION,\n variables: { input: inputWithProductContext },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n const data = result.data?.createWorkflowDefinition ?? null;\n setWorkflow(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n createWorkflow,\n workflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to update a workflow definition\n */\nexport function useUpdateWorkflow() {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const updateWorkflow = useCallback(\n async (id: string, input: UpdateWorkflowDefinitionInput) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<UpdateWorkflowData>({\n mutation: UPDATE_WORKFLOW_DEFINITION,\n variables: { id, input },\n }),\n );\n const data = result.data?.updateWorkflowDefinition ?? null;\n setWorkflow(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n updateWorkflow,\n workflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to create a new workflow version\n */\nexport function useCreateWorkflowVersion() {\n const [result, setResult] = useState<\n CreateVersionData[\"createWorkflowVersion\"] | null\n >(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const createVersion = useCallback(\n async (\n workflowKey: string,\n input: { version: string; definitionJson: unknown; description?: string },\n ) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<CreateVersionData>({\n mutation: CREATE_WORKFLOW_VERSION,\n variables: { workflowKey, input },\n }),\n );\n const data = response.data?.createWorkflowVersion ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n createVersion,\n result,\n loading,\n error,\n };\n}\n\n/**\n * Hook to delete a workflow definition.\n * - If version is provided: deletes that specific version only.\n * - If version is omitted: deletes ALL versions for the workflowKey (removes the entire workflow).\n */\nexport function useDeleteWorkflow() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const deleteWorkflow = useCallback(\n async (workflowKey: string, version?: string) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate({\n mutation: DELETE_WORKFLOW_DEFINITION,\n variables: { workflowKey, ...(version ? { version } : {}) },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n return (\n (result.data as { deleteWorkflowDefinition?: boolean })\n ?.deleteWorkflowDefinition ?? false\n );\n } catch (err) {\n setError(err as Error);\n return false;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n deleteWorkflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to duplicate a workflow\n */\nexport function useDuplicateWorkflow() {\n const [result, setResult] = useState<\n DuplicateWorkflowData[\"duplicateWorkflow\"] | null\n >(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const duplicateWorkflow = useCallback(\n async (\n workflowKey: string,\n version: string,\n input: { newWorkflowKey: string; newVersion?: string },\n ) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<DuplicateWorkflowData>({\n mutation: DUPLICATE_WORKFLOW,\n variables: { workflowKey, version, input },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n const data = response.data?.duplicateWorkflow ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n duplicateWorkflow,\n result,\n loading,\n error,\n };\n}\n\n/**\n * Hook to restore a previous workflow version (creates a new DRAFT from the old version's definitionJson)\n */\nexport function useRestoreWorkflowVersion() {\n const [result, setResult] = useState<{\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n } | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const restoreVersion = useCallback(\n async (workflowKey: string, version: string) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<{\n restoreWorkflowVersion: {\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n };\n }>({\n mutation: RESTORE_WORKFLOW_VERSION,\n variables: { workflowKey, version },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n const data = response.data?.restoreWorkflowVersion ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n restoreVersion,\n result,\n loading,\n error,\n };\n}\n\n/**\n * Hook to trigger a workflow execution\n */\nexport function useTriggerWorkflow() {\n const [result, setResult] = useState<\n TriggerWorkflowData[\"triggerWorkflow\"] | null\n >(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const triggerWorkflow = useCallback(async (input: TriggerWorkflowInput) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<TriggerWorkflowData>({\n mutation: TRIGGER_WORKFLOW,\n variables: { input },\n }),\n );\n const data = response.data?.triggerWorkflow ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return {\n triggerWorkflow,\n result,\n loading,\n error,\n };\n}\n\n// ============================================================================\n// Workflow Runs Hooks\n// ============================================================================\n\ninterface WorkflowRunsData {\n workflowRuns: {\n items: unknown[];\n total: number;\n hasMore: boolean;\n };\n}\n\ninterface WorkflowRunData {\n workflowRun: unknown;\n}\n\n/**\n * Hook to fetch workflow runs\n */\nexport function useWorkflowRuns(\n input: {\n workflowKey?: string;\n status?: string;\n limit?: number;\n offset?: number;\n } = {},\n) {\n const [runs, setRuns] = useState<unknown[]>([]);\n const [total, setTotal] = useState(0);\n const [hasMore, setHasMore] = useState(false);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowRunsData>({\n query: WORKFLOW_RUNS,\n variables: { input },\n fetchPolicy: \"cache-first\",\n });\n setRuns(result.data?.workflowRuns?.items ?? []);\n setTotal(result.data?.workflowRuns?.total ?? 0);\n setHasMore(result.data?.workflowRuns?.hasMore ?? false);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [input]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n runs,\n total,\n hasMore,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n/**\n * Hook to fetch a single workflow run with node states\n */\nexport function useWorkflowRun(id: string) {\n const [run, setRun] = useState<unknown>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n if (!id) {\n setLoading(false);\n return;\n }\n\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowRunData>({\n query: WORKFLOW_RUN,\n variables: { id },\n fetchPolicy: \"cache-first\",\n });\n setRun(result.data?.workflowRun ?? null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [id]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n run,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n// ============================================================================\n// Dashboard Hook\n// ============================================================================\n\ninterface DashboardSummaryData {\n dashboardSummary: {\n workflowsCount: number;\n activeWorkflowsCount: number;\n archivedWorkflowsCount: number;\n runsCountTotal: number;\n runsCompletedCount: number;\n runsFailedCount: number;\n runsRunningCount: number;\n runsPendingCount: number;\n workflowSuccessRate: number;\n nodeUsageStats: unknown[];\n recentRuns: unknown[];\n recentWorkflows: unknown[];\n };\n}\n\n/**\n * Hook to fetch dashboard summary\n */\nexport function useDashboardSummary(\n options: { workspaceId?: string; tenantId?: string; projectId?: string } = {},\n) {\n const [summary, setSummary] = useState<\n DashboardSummaryData[\"dashboardSummary\"] | null\n >(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<DashboardSummaryData>({\n query: DASHBOARD_SUMMARY,\n variables: options,\n fetchPolicy: \"cache-first\",\n });\n setSummary(result.data?.dashboardSummary ?? null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [options]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n summary,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n// ============================================================================\n// Activate / Deactivate Workflow Hooks\n// ============================================================================\n\nconst ACTIVATE_WORKFLOW_DEFINITION = ActivateWorkflowDefinitionDocument;\nconst DEACTIVATE_WORKFLOW_DEFINITION = DeactivateWorkflowDefinitionDocument;\n\n/**\n * Hook to activate a workflow definition (set status to ACTIVE)\n */\nexport function useActivateWorkflow() {\n const [loading, setLoading] = useState(false);\n\n const activateWorkflow = useCallback(async (id: string) => {\n setLoading(true);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<ActivateWorkflowDefinitionMutation>({\n mutation: ACTIVATE_WORKFLOW_DEFINITION,\n variables: { id },\n }),\n );\n return result.data?.activateWorkflowDefinition ?? null;\n } catch (err) {\n console.error(\"Error activating workflow:\", err);\n throw err;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return { activateWorkflow, loading };\n}\n\n/**\n * Hook to deactivate a workflow definition (set status back to DRAFT)\n */\nexport function useDeactivateWorkflow() {\n const [loading, setLoading] = useState(false);\n\n const deactivateWorkflow = useCallback(async (id: string) => {\n setLoading(true);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<DeactivateWorkflowDefinitionMutation>({\n mutation: DEACTIVATE_WORKFLOW_DEFINITION,\n variables: { id },\n }),\n );\n return result.data?.deactivateWorkflowDefinition ?? null;\n } catch (err) {\n console.error(\"Error deactivating workflow:\", err);\n throw err;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return { deactivateWorkflow, loading };\n}\n"]}
1
+ {"version":3,"sources":["../src/hooks/useWorkflows.ts"],"names":[],"mappings":";;;;;AAmCA,IAAM,oBAAA,GAAuB,2BAAA;AAC7B,IAAM,mBAAA,GAAsB,0BAAA;AAC5B,IAAM,iBAAA,GAAoB,wBAAA;AAC1B,IAAM,0BAAA,GAA6B,gCAAA;AACnC,IAAM,0BAAA,GAA6B,gCAAA;AACnC,IAAM,uBAAA,GAA0B,6BAAA;AAChC,IAAM,0BAAA,GAA6B,gCAAA;AACnC,IAAM,kBAAA,GAAqB,yBAAA;AAC3B,IAAM,gBAAA,GAAmB,uBAAA;AACzB,IAAM,aAAA,GAAgB,oBAAA;AACtB,IAAM,YAAA,GAAe,mBAAA;AACrB,IAAM,iBAAA,GAAoB,wBAAA;AAC1B,IAAM,wBAAA,GAA2B,8BAAA;AA0BjC,SAAS,kBAAkB,GAAA,EAAuB;AAChD,EAAA,IAAI,eAAe,KAAA,EAAO;AAExB,IAAA,OACE,GAAA,CAAI,QAAQ,QAAA,CAAS,iBAAiB,KACtC,GAAA,CAAI,OAAA,CAAQ,SAAS,uCAAuC,CAAA;AAAA,EAEhE;AACA,EAAA,OAAO,KAAA;AACT;AAOO,SAAS,sBAAA,CACd,KAAA,GAAsC,EAAC,EACvC;AACA,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,QAAA,CAA+B,EAAE,CAAA;AACnE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,CAAC,CAAA;AACpC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AACrD,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,CAAC,CAAA;AAG9C,EAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,EAAA,MAAM,sBAAA,GAAyB;AAAA,IAC7B,GAAG,KAAA;AAAA,IACH,aAAA,EAAe;AAAA,MACb,GAAI,KAAA,CAAM,aAAA,IAAiB,EAAC;AAAA,MAC5B,GAAI,OAAO,SAAA,GAAY,EAAE,WAAW,MAAA,CAAO,SAAA,KAAc;AAAC;AAC5D,GACF;AAGA,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,SAAA,CAAU,sBAAsB,CAAA;AAEtD,EAAA,MAAM,SAAA,GAAY,WAAA;AAAA,IAChB,OAAO,UAAU,KAAA,KAAU;AACzB,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,KAAA,CAA+B;AAAA,UACzD,KAAA,EAAO,oBAAA;AAAA,UACP,WAAW,EAAE,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,QAAQ,CAAA,EAAE;AAAA,UACzC,WAAA,EAAa;AAAA,SACd,CAAA;AACD,QAAA,YAAA,CAAa,MAAA,CAAO,IAAA,EAAM,mBAAA,EAAqB,KAAA,IAAS,EAAE,CAAA;AAC1D,QAAA,QAAA,CAAS,MAAA,CAAO,IAAA,EAAM,mBAAA,EAAqB,KAAA,IAAS,CAAC,CAAA;AACrD,QAAA,UAAA,CAAW,MAAA,CAAO,IAAA,EAAM,mBAAA,EAAqB,OAAA,IAAW,KAAK,CAAA;AAE7D,QAAA,IAAI,OAAA,gBAAuB,CAAC,CAAA;AAAA,MAC9B,SAAS,GAAA,EAAK;AAIZ,QAAA,IAAI,iBAAA,CAAkB,GAAG,CAAA,EAAG;AAC1B,UAAA,OAAA,CAAQ,IAAA;AAAA,YACN;AAAA,WACF;AACA,UAAA,IAAI,aAAa,CAAA,EAAG;AAClB,YAAA,aAAA,CAAc,CAAC,IAAA,KAAS,IAAA,GAAO,CAAC,CAAA;AAEhC,YAAA;AAAA,UACF;AACA,UAAA,OAAA,CAAQ,KAAK,8CAA8C,CAAA;AAAA,QAC7D;AACA,QAAA,OAAA,CAAQ,KAAA,CAAM,mCAAmC,GAAG,CAAA;AACpD,QAAA,QAAA,CAAS,GAAY,CAAA;AAAA,MACvB,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,UAAU,UAAU;AAAA,GACvB;AAGA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,CAAU,aAAa,CAAC,CAAA;AAAA,EAC1B,CAAA,EAAG,CAAC,SAAA,EAAW,UAAU,CAAC,CAAA;AAG1B,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,UAAA,GAAa,CAAA,IAAK,UAAA,IAAc,CAAA,EAAG;AACrC,MAAA,MAAM,KAAA,GAAQ,WAAW,MAAM;AAC7B,QAAA,SAAA,CAAU,IAAI,CAAA;AAAA,MAChB,CAAA,EAAG,MAAM,UAAU,CAAA;AACnB,MAAA,OAAO,MAAM,aAAa,KAAK,CAAA;AAAA,IACjC;AAAA,EACF,CAAA,EAAG,CAAC,UAAA,EAAY,SAAS,CAAC,CAAA;AAE1B,EAAA,OAAO;AAAA,IACL,SAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS,MAAM,SAAA,CAAU,KAAK;AAAA,GAChC;AACF;AAKO,SAAS,qBAAA,CAAsB,aAAsB,EAAA,EAAa;AACvE,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAoC,IAAI,CAAA;AACxE,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,SAAA,GAAY,YAAY,YAAY;AACxC,IAAA,IAAI,CAAC,WAAA,IAAe,CAAC,EAAA,EAAI;AACvB,MAAA,UAAA,CAAW,KAAK,CAAA;AAChB,MAAA;AAAA,IACF;AAEA,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,KAAA,CAA8B;AAAA,QACxD,KAAA,EAAO,mBAAA;AAAA,QACP,SAAA,EAAW,EAAE,WAAA,EAAa,EAAA,EAAG;AAAA,QAC7B,WAAA,EAAa;AAAA,OACd,CAAA;AACD,MAAA,WAAA,CAAY,MAAA,CAAO,IAAA,EAAM,kBAAA,IAAsB,IAAI,CAAA;AAAA,IACrD,SAAS,GAAA,EAAK;AACZ,MAAA,QAAA,CAAS,GAAY,CAAA;AAAA,IACvB,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,CAAC,WAAA,EAAa,EAAE,CAAC,CAAA;AAEpB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,EAAU;AAAA,EACZ,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AACF;AAKO,SAAS,yBAAA,GAA4B;AAC1C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAoC,IAAI,CAAA;AACxE,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,WAAA,GAAc,WAAA;AAAA,IAClB,OAAO,WAAA,EAAsB,EAAA,EAAa,OAAA,KAAqB;AAC7D,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,KAAA,CAA8B;AAAA,UACxD,KAAA,EAAO,mBAAA;AAAA,UACP,SAAA,EAAW,EAAE,WAAA,EAAa,EAAA,EAAI,GAAI,UAAU,EAAE,OAAA,EAAQ,GAAI,EAAC,EAAG;AAAA,UAC9D,WAAA,EAAa;AAAA,SACd,CAAA;AACD,QAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,EAAM,kBAAA,IAAsB,IAAA;AAChD,QAAA,WAAA,CAAY,IAAI,CAAA;AAChB,QAAA,OAAO,IAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAY,CAAA;AACrB,QAAA,OAAO,IAAA;AAAA,MACT,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO;AAAA,IACL,WAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAKO,SAAS,oBAAoB,WAAA,EAAqB;AACvD,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,QAAA,CAA+B,EAAE,CAAA;AACjE,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,SAAA,GAAY,YAAY,YAAY;AACxC,IAAA,IAAI,CAAC,WAAA,EAAa;AAChB,MAAA,UAAA,CAAW,KAAK,CAAA;AAChB,MAAA;AAAA,IACF;AAEA,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,KAAA,CAA4B;AAAA,QACtD,KAAA,EAAO,iBAAA;AAAA,QACP,SAAA,EAAW,EAAE,WAAA,EAAY;AAAA,QACzB,WAAA,EAAa;AAAA,OACd,CAAA;AACD,MAAA,WAAA,CAAY,MAAA,CAAO,IAAA,EAAM,gBAAA,IAAoB,EAAE,CAAA;AAAA,IACjD,SAAS,GAAA,EAAK;AACZ,MAAA,QAAA,CAAS,GAAY,CAAA;AAAA,IACvB,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,EAAU;AAAA,EACZ,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,OAAO;AAAA,IACL,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AACF;AA4CO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAoC,IAAI,CAAA;AACxE,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,cAAA,GAAiB,WAAA;AAAA,IACrB,OAAO,KAAA,KAAyC;AAC9C,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AAGnC,QAAA,MAAM,uBAAA,GAA0B;AAAA,UAC9B,GAAG,KAAA;AAAA,UACH,OAAA,EAAS;AAAA,YACP,GAAI,KAAA,CAAM,OAAA,IAAW,EAAC;AAAA,YACtB,GAAI,OAAO,SAAA,GAAY,EAAE,WAAW,MAAA,CAAO,SAAA,KAAc,EAAC;AAAA,YAC1D,GAAI,OAAO,WAAA,GAAc,EAAE,aAAa,MAAA,CAAO,WAAA,KAAgB;AAAC;AAClE,SACF;AAEA,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,MAAA,GAAS,kBAAA;AAAA,UACb,MAAM,OAAO,MAAA,CAA2B;AAAA,YACtC,QAAA,EAAU,0BAAA;AAAA,YACV,SAAA,EAAW,EAAE,KAAA,EAAO,uBAAA,EAAwB;AAAA,YAC5C,cAAA,EAAgB,CAAC,EAAE,KAAA,EAAO,sBAAsB;AAAA,WACjD;AAAA,SACH;AACA,QAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,EAAM,wBAAA,IAA4B,IAAA;AACtD,QAAA,WAAA,CAAY,IAAI,CAAA;AAChB,QAAA,OAAO,IAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAY,CAAA;AACrB,QAAA,OAAO,IAAA;AAAA,MACT,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAKO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAoC,IAAI,CAAA;AACxE,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,cAAA,GAAiB,WAAA;AAAA,IACrB,OAAO,IAAY,KAAA,KAAyC;AAC1D,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,MAAA,GAAS,kBAAA;AAAA,UACb,MAAM,OAAO,MAAA,CAA2B;AAAA,YACtC,QAAA,EAAU,0BAAA;AAAA,YACV,SAAA,EAAW,EAAE,EAAA,EAAI,KAAA;AAAM,WACxB;AAAA,SACH;AACA,QAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,EAAM,wBAAA,IAA4B,IAAA;AACtD,QAAA,WAAA,CAAY,IAAI,CAAA;AAChB,QAAA,OAAO,IAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAY,CAAA;AACrB,QAAA,OAAO,IAAA;AAAA,MACT,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAKO,SAAS,wBAAA,GAA2B;AACzC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAE1B,IAAI,CAAA;AACN,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,IACpB,OACE,aACA,KAAA,KACG;AACH,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,QAAA,GAAW,kBAAA;AAAA,UACf,MAAM,OAAO,MAAA,CAA0B;AAAA,YACrC,QAAA,EAAU,uBAAA;AAAA,YACV,SAAA,EAAW,EAAE,WAAA,EAAa,KAAA;AAAM,WACjC;AAAA,SACH;AACA,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,EAAM,qBAAA,IAAyB,IAAA;AACrD,QAAA,SAAA,CAAU,IAAI,CAAA;AACd,QAAA,OAAO,IAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAY,CAAA;AACrB,QAAA,OAAO,IAAA;AAAA,MACT,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO;AAAA,IACL,aAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAOO,SAAS,iBAAA,GAAoB;AAClC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,cAAA,GAAiB,WAAA;AAAA,IACrB,OAAO,aAAqB,OAAA,KAAqB;AAC/C,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,MAAA,GAAS,kBAAA;AAAA,UACb,MAAM,OAAO,MAAA,CAAO;AAAA,YAClB,QAAA,EAAU,0BAAA;AAAA,YACV,SAAA,EAAW,EAAE,WAAA,EAAa,GAAI,UAAU,EAAE,OAAA,EAAQ,GAAI,EAAC,EAAG;AAAA,YAC1D,cAAA,EAAgB,CAAC,EAAE,KAAA,EAAO,sBAAsB;AAAA,WACjD;AAAA,SACH;AACA,QAAA,OACG,MAAA,CAAO,MACJ,wBAAA,IAA4B,KAAA;AAAA,MAEpC,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAY,CAAA;AACrB,QAAA,OAAO,KAAA;AAAA,MACT,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAKO,SAAS,oBAAA,GAAuB;AACrC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAE1B,IAAI,CAAA;AACN,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,iBAAA,GAAoB,WAAA;AAAA,IACxB,OACE,WAAA,EACA,OAAA,EACA,KAAA,KACG;AACH,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,QAAA,GAAW,kBAAA;AAAA,UACf,MAAM,OAAO,MAAA,CAA8B;AAAA,YACzC,QAAA,EAAU,kBAAA;AAAA,YACV,SAAA,EAAW,EAAE,WAAA,EAAa,OAAA,EAAS,KAAA,EAAM;AAAA,YACzC,cAAA,EAAgB,CAAC,EAAE,KAAA,EAAO,sBAAsB;AAAA,WACjD;AAAA,SACH;AACA,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,EAAM,iBAAA,IAAqB,IAAA;AACjD,QAAA,SAAA,CAAU,IAAI,CAAA;AACd,QAAA,OAAO,IAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAY,CAAA;AACrB,QAAA,OAAO,IAAA;AAAA,MACT,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO;AAAA,IACL,iBAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAKO,SAAS,yBAAA,GAA4B;AAC1C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAIlB,IAAI,CAAA;AACd,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,cAAA,GAAiB,WAAA;AAAA,IACrB,OAAO,aAAqB,OAAA,KAAoB;AAC9C,MAAA,UAAA,CAAW,IAAI,CAAA;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AACb,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,QAAA,MAAM,QAAA,GAAW,kBAAA;AAAA,UACf,MAAM,OAAO,MAAA,CAMV;AAAA,YACD,QAAA,EAAU,wBAAA;AAAA,YACV,SAAA,EAAW,EAAE,WAAA,EAAa,OAAA,EAAQ;AAAA,YAClC,cAAA,EAAgB,CAAC,EAAE,KAAA,EAAO,sBAAsB;AAAA,WACjD;AAAA,SACH;AACA,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,EAAM,sBAAA,IAA0B,IAAA;AACtD,QAAA,SAAA,CAAU,IAAI,CAAA;AACd,QAAA,OAAO,IAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,QAAA,CAAS,GAAY,CAAA;AACrB,QAAA,OAAO,IAAA;AAAA,MACT,CAAA,SAAE;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAA,OAAO;AAAA,IACL,cAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAKO,SAAS,kBAAA,GAAqB;AACnC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAE1B,IAAI,CAAA;AACN,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,OAAO,KAAA,KAAgC;AACzE,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,QAAA,GAAW,kBAAA;AAAA,QACf,MAAM,OAAO,MAAA,CAA4B;AAAA,UACvC,QAAA,EAAU,gBAAA;AAAA,UACV,SAAA,EAAW,EAAE,KAAA;AAAM,SACpB;AAAA,OACH;AACA,MAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,EAAM,eAAA,IAAmB,IAAA;AAC/C,MAAA,SAAA,CAAU,IAAI,CAAA;AACd,MAAA,OAAO,IAAA;AAAA,IACT,SAAS,GAAA,EAAK;AACZ,MAAA,QAAA,CAAS,GAAY,CAAA;AACrB,MAAA,OAAO,IAAA;AAAA,IACT,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,OAAO;AAAA,IACL,eAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AACF;AAqBO,SAAS,eAAA,CACd,KAAA,GAKI,EAAC,EACL;AACA,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,QAAA,CAAoB,EAAE,CAAA;AAC9C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,CAAC,CAAA;AACpC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,SAAA,GAAY,YAAY,YAAY;AACxC,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,KAAA,CAAwB;AAAA,QAClD,KAAA,EAAO,aAAA;AAAA,QACP,SAAA,EAAW,EAAE,KAAA,EAAM;AAAA,QACnB,WAAA,EAAa;AAAA,OACd,CAAA;AACD,MAAA,OAAA,CAAQ,MAAA,CAAO,IAAA,EAAM,YAAA,EAAc,KAAA,IAAS,EAAE,CAAA;AAC9C,MAAA,QAAA,CAAS,MAAA,CAAO,IAAA,EAAM,YAAA,EAAc,KAAA,IAAS,CAAC,CAAA;AAC9C,MAAA,UAAA,CAAW,MAAA,CAAO,IAAA,EAAM,YAAA,EAAc,OAAA,IAAW,KAAK,CAAA;AAAA,IACxD,SAAS,GAAA,EAAK;AACZ,MAAA,QAAA,CAAS,GAAY,CAAA;AAAA,IACvB,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,EAAU;AAAA,EACZ,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AACF;AAKO,SAAS,eAAe,EAAA,EAAY;AACzC,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,SAAkB,IAAI,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,SAAA,GAAY,YAAY,YAAY;AACxC,IAAA,IAAI,CAAC,EAAA,EAAI;AACP,MAAA,UAAA,CAAW,KAAK,CAAA;AAChB,MAAA;AAAA,IACF;AAEA,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,KAAA,CAAuB;AAAA,QACjD,KAAA,EAAO,YAAA;AAAA,QACP,SAAA,EAAW,EAAE,EAAA,EAAG;AAAA,QAChB,WAAA,EAAa;AAAA,OACd,CAAA;AACD,MAAA,MAAA,CAAO,MAAA,CAAO,IAAA,EAAM,WAAA,IAAe,IAAI,CAAA;AAAA,IACzC,SAAS,GAAA,EAAK;AACZ,MAAA,QAAA,CAAS,GAAY,CAAA;AAAA,IACvB,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,CAAC,EAAE,CAAC,CAAA;AAEP,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,EAAU;AAAA,EACZ,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,OAAO;AAAA,IACL,GAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AACF;AA0BO,SAAS,mBAAA,CACd,OAAA,GAA2E,EAAC,EAC5E;AACA,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAE5B,IAAI,CAAA;AACN,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAuB,IAAI,CAAA;AAErD,EAAA,MAAM,SAAA,GAAY,YAAY,YAAY;AACxC,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,QAAA,CAAS,IAAI,CAAA;AACb,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,KAAA,CAA4B;AAAA,QACtD,KAAA,EAAO,iBAAA;AAAA,QACP,SAAA,EAAW,OAAA;AAAA,QACX,WAAA,EAAa;AAAA,OACd,CAAA;AACD,MAAA,UAAA,CAAW,MAAA,CAAO,IAAA,EAAM,gBAAA,IAAoB,IAAI,CAAA;AAAA,IAClD,SAAS,GAAA,EAAK;AACZ,MAAA,QAAA,CAAS,GAAY,CAAA;AAAA,IACvB,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,SAAA,EAAU;AAAA,EACZ,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,EAAS;AAAA,GACX;AACF;AAMA,IAAM,4BAAA,GAA+B,kCAAA;AACrC,IAAM,8BAAA,GAAiC,oCAAA;AAKhC,SAAS,mBAAA,GAAsB;AACpC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAE5C,EAAA,MAAM,gBAAA,GAAmB,WAAA,CAAY,OAAO,EAAA,KAAe;AACzD,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,MAAA,GAAS,kBAAA;AAAA,QACb,MAAM,OAAO,MAAA,CAA2C;AAAA,UACtD,QAAA,EAAU,4BAAA;AAAA,UACV,SAAA,EAAW,EAAE,EAAA;AAAG,SACjB;AAAA,OACH;AACA,MAAA,OAAO,MAAA,CAAO,MAAM,0BAAA,IAA8B,IAAA;AAAA,IACpD,SAAS,GAAA,EAAK;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,8BAA8B,GAAG,CAAA;AAC/C,MAAA,MAAM,GAAA;AAAA,IACR,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,OAAO,EAAE,kBAAkB,OAAA,EAAQ;AACrC;AAKO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAE5C,EAAA,MAAM,kBAAA,GAAqB,WAAA,CAAY,OAAO,EAAA,KAAe;AAC3D,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAA,IAAI;AACF,MAAA,MAAM,SAAS,mBAAA,EAAoB;AACnC,MAAA,MAAM,MAAA,GAAS,kBAAA;AAAA,QACb,MAAM,OAAO,MAAA,CAA6C;AAAA,UACxD,QAAA,EAAU,8BAAA;AAAA,UACV,SAAA,EAAW,EAAE,EAAA;AAAG,SACjB;AAAA,OACH;AACA,MAAA,OAAO,MAAA,CAAO,MAAM,4BAAA,IAAgC,IAAA;AAAA,IACtD,SAAS,GAAA,EAAK;AACZ,MAAA,OAAA,CAAQ,KAAA,CAAM,gCAAgC,GAAG,CAAA;AACjD,MAAA,MAAM,GAAA;AAAA,IACR,CAAA,SAAE;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,OAAO,EAAE,oBAAoB,OAAA,EAAQ;AACvC","file":"chunk-47457KC3.js","sourcesContent":["import { useState, useEffect, useCallback } from \"react\";\nimport { getFluidGridsClient } from \"../graphql/client\";\nimport { getFluidGridsConfig } from \"../config\";\nimport {\n WorkflowDefinitionsDocument,\n WorkflowDefinitionDocument,\n WorkflowVersionsDocument,\n CreateWorkflowDefinitionDocument,\n UpdateWorkflowDefinitionDocument,\n CreateWorkflowVersionDocument,\n DeleteWorkflowDefinitionDocument,\n DuplicateWorkflowDocument,\n TriggerWorkflowDocument,\n WorkflowRunsDocument,\n WorkflowRunDocument,\n DashboardSummaryDocument,\n RestoreWorkflowVersionDocument,\n ActivateWorkflowDefinitionDocument,\n DeactivateWorkflowDefinitionDocument,\n} from \"../generated/operations\";\nimport type {\n ActivateWorkflowDefinitionMutation,\n DeactivateWorkflowDefinitionMutation,\n} from \"../generated/operations\";\nimport type {\n WorkflowDefinition,\n ListWorkflowDefinitionsInput,\n CreateWorkflowDefinitionInput,\n UpdateWorkflowDefinitionInput,\n TriggerWorkflowInput,\n} from \"../generated/graphql-types\";\n\nimport { throwIfResultError } from \"../graphql/errors\";\n\n// Alias for backward compatibility\nconst WORKFLOW_DEFINITIONS = WorkflowDefinitionsDocument;\nconst WORKFLOW_DEFINITION = WorkflowDefinitionDocument;\nconst WORKFLOW_VERSIONS = WorkflowVersionsDocument;\nconst CREATE_WORKFLOW_DEFINITION = CreateWorkflowDefinitionDocument;\nconst UPDATE_WORKFLOW_DEFINITION = UpdateWorkflowDefinitionDocument;\nconst CREATE_WORKFLOW_VERSION = CreateWorkflowVersionDocument;\nconst DELETE_WORKFLOW_DEFINITION = DeleteWorkflowDefinitionDocument;\nconst DUPLICATE_WORKFLOW = DuplicateWorkflowDocument;\nconst TRIGGER_WORKFLOW = TriggerWorkflowDocument;\nconst WORKFLOW_RUNS = WorkflowRunsDocument;\nconst WORKFLOW_RUN = WorkflowRunDocument;\nconst DASHBOARD_SUMMARY = DashboardSummaryDocument;\nconst RESTORE_WORKFLOW_VERSION = RestoreWorkflowVersionDocument;\n\n// ============================================================================\n// Workflow Definition Hooks\n// ============================================================================\n\ninterface WorkflowDefinitionsData {\n workflowDefinitions: {\n items: WorkflowDefinition[];\n total: number;\n hasMore: boolean;\n };\n}\n\ninterface WorkflowDefinitionData {\n workflowDefinition: WorkflowDefinition | null;\n}\n\ninterface WorkflowVersionsData {\n workflowVersions: WorkflowDefinition[];\n}\n\n/**\n * Check if an error is Apollo's \"Store reset while query was in flight\" error (error 89)\n * This happens when the shell's MultiGatewayProvider cleans up during re-renders\n */\nfunction isStoreResetError(err: unknown): boolean {\n if (err instanceof Error) {\n // Check for error 89 in the message URL or error text\n return (\n err.message.includes(\"message%22%3A89\") ||\n err.message.includes(\"Store reset while query was in flight\")\n );\n }\n return false;\n}\n\n/**\n * Hook to fetch list of workflow definitions\n * Uses Apollo Client with the WORKFLOW_DEFINITIONS query\n * Automatically filters by productId if configured\n */\nexport function useWorkflowDefinitions(\n input: ListWorkflowDefinitionsInput = {},\n) {\n const [workflows, setWorkflows] = useState<WorkflowDefinition[]>([]);\n const [total, setTotal] = useState(0);\n const [hasMore, setHasMore] = useState(false);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n const [retryCount, setRetryCount] = useState(0);\n\n // Add productId filter if configured\n const config = getFluidGridsConfig();\n const inputWithProductFilter = {\n ...input,\n customFilters: {\n ...(input.customFilters || {}),\n ...(config.productId ? { productId: config.productId } : {}),\n },\n };\n\n // Stringify input to use as stable dependency\n const inputKey = JSON.stringify(inputWithProductFilter);\n\n const fetchData = useCallback(\n async (isRetry = false) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowDefinitionsData>({\n query: WORKFLOW_DEFINITIONS,\n variables: { input: JSON.parse(inputKey) },\n fetchPolicy: \"network-only\",\n });\n setWorkflows(result.data?.workflowDefinitions?.items ?? []);\n setTotal(result.data?.workflowDefinitions?.total ?? 0);\n setHasMore(result.data?.workflowDefinitions?.hasMore ?? false);\n // Reset retry count on success\n if (isRetry) setRetryCount(0);\n } catch (err) {\n // Handle Apollo error 89 \"Store reset while query was in flight\"\n // This occurs when shell's MultiGatewayProvider cleans up during re-renders\n // Retry after a short delay to allow client to stabilize\n if (isStoreResetError(err)) {\n console.warn(\n \"[useWorkflowDefinitions] Store reset error - will retry\",\n );\n if (retryCount < 3) {\n setRetryCount((prev) => prev + 1);\n // Don't set loading to false, will retry\n return;\n }\n console.warn(\"[useWorkflowDefinitions] Max retries reached\");\n }\n console.error(\"[useWorkflowDefinitions] Error:\", err);\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n },\n [inputKey, retryCount],\n );\n\n // Initial fetch and retry on store reset\n useEffect(() => {\n fetchData(retryCount > 0);\n }, [fetchData, retryCount]);\n\n // Retry with delay when retryCount increases\n useEffect(() => {\n if (retryCount > 0 && retryCount <= 3) {\n const timer = setTimeout(() => {\n fetchData(true);\n }, 500 * retryCount); // Exponential backoff: 500ms, 1000ms, 1500ms\n return () => clearTimeout(timer);\n }\n }, [retryCount, fetchData]);\n\n return {\n workflows,\n total,\n hasMore,\n loading,\n error,\n refetch: () => fetchData(false),\n };\n}\n\n/**\n * Hook to fetch a single workflow definition\n */\nexport function useWorkflowDefinition(workflowKey?: string, id?: string) {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n if (!workflowKey && !id) {\n setLoading(false);\n return;\n }\n\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowDefinitionData>({\n query: WORKFLOW_DEFINITION,\n variables: { workflowKey, id },\n fetchPolicy: \"cache-first\",\n });\n setWorkflow(result.data?.workflowDefinition ?? null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [workflowKey, id]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n workflow,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n/**\n * Lazy hook to fetch workflow definition on demand\n */\nexport function useLazyWorkflowDefinition() {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const getWorkflow = useCallback(\n async (workflowKey?: string, id?: string, version?: string) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowDefinitionData>({\n query: WORKFLOW_DEFINITION,\n variables: { workflowKey, id, ...(version ? { version } : {}) },\n fetchPolicy: \"network-only\",\n });\n const data = result.data?.workflowDefinition ?? null;\n setWorkflow(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n getWorkflow,\n workflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to fetch workflow versions\n */\nexport function useWorkflowVersions(workflowKey: string) {\n const [versions, setVersions] = useState<WorkflowDefinition[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n if (!workflowKey) {\n setLoading(false);\n return;\n }\n\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowVersionsData>({\n query: WORKFLOW_VERSIONS,\n variables: { workflowKey },\n fetchPolicy: \"network-only\",\n });\n setVersions(result.data?.workflowVersions ?? []);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [workflowKey]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n versions,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n// ============================================================================\n// Workflow Mutation Hooks\n// ============================================================================\n\ninterface CreateWorkflowData {\n createWorkflowDefinition: WorkflowDefinition;\n}\n\ninterface UpdateWorkflowData {\n updateWorkflowDefinition: WorkflowDefinition;\n}\n\ninterface CreateVersionData {\n createWorkflowVersion: {\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n };\n}\n\ninterface DuplicateWorkflowData {\n duplicateWorkflow: {\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n };\n}\n\ninterface TriggerWorkflowData {\n triggerWorkflow: {\n runId: string;\n workflowKey: string;\n version: string;\n triggerNodeId: string;\n status: string;\n };\n}\n\n/**\n * Hook to create a new workflow definition\n * Automatically adds productId and productName to context if configured\n */\nexport function useCreateWorkflow() {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const createWorkflow = useCallback(\n async (input: CreateWorkflowDefinitionInput) => {\n setLoading(true);\n setError(null);\n try {\n const config = getFluidGridsConfig();\n\n // Add productId to context for product-level isolation\n const inputWithProductContext = {\n ...input,\n context: {\n ...(input.context || {}),\n ...(config.productId ? { productId: config.productId } : {}),\n ...(config.productName ? { productName: config.productName } : {}),\n },\n };\n\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<CreateWorkflowData>({\n mutation: CREATE_WORKFLOW_DEFINITION,\n variables: { input: inputWithProductContext },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n const data = result.data?.createWorkflowDefinition ?? null;\n setWorkflow(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n createWorkflow,\n workflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to update a workflow definition\n */\nexport function useUpdateWorkflow() {\n const [workflow, setWorkflow] = useState<WorkflowDefinition | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const updateWorkflow = useCallback(\n async (id: string, input: UpdateWorkflowDefinitionInput) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<UpdateWorkflowData>({\n mutation: UPDATE_WORKFLOW_DEFINITION,\n variables: { id, input },\n }),\n );\n const data = result.data?.updateWorkflowDefinition ?? null;\n setWorkflow(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n updateWorkflow,\n workflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to create a new workflow version\n */\nexport function useCreateWorkflowVersion() {\n const [result, setResult] = useState<\n CreateVersionData[\"createWorkflowVersion\"] | null\n >(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const createVersion = useCallback(\n async (\n workflowKey: string,\n input: { version: string; definitionJson: unknown; description?: string },\n ) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<CreateVersionData>({\n mutation: CREATE_WORKFLOW_VERSION,\n variables: { workflowKey, input },\n }),\n );\n const data = response.data?.createWorkflowVersion ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n createVersion,\n result,\n loading,\n error,\n };\n}\n\n/**\n * Hook to delete a workflow definition.\n * - If version is provided: deletes that specific version only.\n * - If version is omitted: deletes ALL versions for the workflowKey (removes the entire workflow).\n */\nexport function useDeleteWorkflow() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const deleteWorkflow = useCallback(\n async (workflowKey: string, version?: string) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate({\n mutation: DELETE_WORKFLOW_DEFINITION,\n variables: { workflowKey, ...(version ? { version } : {}) },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n return (\n (result.data as { deleteWorkflowDefinition?: boolean })\n ?.deleteWorkflowDefinition ?? false\n );\n } catch (err) {\n setError(err as Error);\n return false;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n deleteWorkflow,\n loading,\n error,\n };\n}\n\n/**\n * Hook to duplicate a workflow\n */\nexport function useDuplicateWorkflow() {\n const [result, setResult] = useState<\n DuplicateWorkflowData[\"duplicateWorkflow\"] | null\n >(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const duplicateWorkflow = useCallback(\n async (\n workflowKey: string,\n version: string,\n input: { newWorkflowKey: string; newVersion?: string },\n ) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<DuplicateWorkflowData>({\n mutation: DUPLICATE_WORKFLOW,\n variables: { workflowKey, version, input },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n const data = response.data?.duplicateWorkflow ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n duplicateWorkflow,\n result,\n loading,\n error,\n };\n}\n\n/**\n * Hook to restore a previous workflow version (creates a new DRAFT from the old version's definitionJson)\n */\nexport function useRestoreWorkflowVersion() {\n const [result, setResult] = useState<{\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n } | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const restoreVersion = useCallback(\n async (workflowKey: string, version: string) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<{\n restoreWorkflowVersion: {\n success: boolean;\n message?: string;\n workflow?: WorkflowDefinition;\n };\n }>({\n mutation: RESTORE_WORKFLOW_VERSION,\n variables: { workflowKey, version },\n refetchQueries: [{ query: WORKFLOW_DEFINITIONS }],\n }),\n );\n const data = response.data?.restoreWorkflowVersion ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n return {\n restoreVersion,\n result,\n loading,\n error,\n };\n}\n\n/**\n * Hook to trigger a workflow execution\n */\nexport function useTriggerWorkflow() {\n const [result, setResult] = useState<\n TriggerWorkflowData[\"triggerWorkflow\"] | null\n >(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const triggerWorkflow = useCallback(async (input: TriggerWorkflowInput) => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const response = throwIfResultError(\n await client.mutate<TriggerWorkflowData>({\n mutation: TRIGGER_WORKFLOW,\n variables: { input },\n }),\n );\n const data = response.data?.triggerWorkflow ?? null;\n setResult(data);\n return data;\n } catch (err) {\n setError(err as Error);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return {\n triggerWorkflow,\n result,\n loading,\n error,\n };\n}\n\n// ============================================================================\n// Workflow Runs Hooks\n// ============================================================================\n\ninterface WorkflowRunsData {\n workflowRuns: {\n items: unknown[];\n total: number;\n hasMore: boolean;\n };\n}\n\ninterface WorkflowRunData {\n workflowRun: unknown;\n}\n\n/**\n * Hook to fetch workflow runs\n */\nexport function useWorkflowRuns(\n input: {\n workflowKey?: string;\n status?: string;\n limit?: number;\n offset?: number;\n } = {},\n) {\n const [runs, setRuns] = useState<unknown[]>([]);\n const [total, setTotal] = useState(0);\n const [hasMore, setHasMore] = useState(false);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowRunsData>({\n query: WORKFLOW_RUNS,\n variables: { input },\n fetchPolicy: \"cache-first\",\n });\n setRuns(result.data?.workflowRuns?.items ?? []);\n setTotal(result.data?.workflowRuns?.total ?? 0);\n setHasMore(result.data?.workflowRuns?.hasMore ?? false);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [input]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n runs,\n total,\n hasMore,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n/**\n * Hook to fetch a single workflow run with node states\n */\nexport function useWorkflowRun(id: string) {\n const [run, setRun] = useState<unknown>(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n if (!id) {\n setLoading(false);\n return;\n }\n\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<WorkflowRunData>({\n query: WORKFLOW_RUN,\n variables: { id },\n fetchPolicy: \"cache-first\",\n });\n setRun(result.data?.workflowRun ?? null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [id]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n run,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n// ============================================================================\n// Dashboard Hook\n// ============================================================================\n\ninterface DashboardSummaryData {\n dashboardSummary: {\n workflowsCount: number;\n activeWorkflowsCount: number;\n archivedWorkflowsCount: number;\n runsCountTotal: number;\n runsCompletedCount: number;\n runsFailedCount: number;\n runsRunningCount: number;\n runsPendingCount: number;\n workflowSuccessRate: number;\n nodeUsageStats: unknown[];\n recentRuns: unknown[];\n recentWorkflows: unknown[];\n };\n}\n\n/**\n * Hook to fetch dashboard summary\n */\nexport function useDashboardSummary(\n options: { workspaceId?: string; tenantId?: string; projectId?: string } = {},\n) {\n const [summary, setSummary] = useState<\n DashboardSummaryData[\"dashboardSummary\"] | null\n >(null);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchData = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const client = getFluidGridsClient();\n const result = await client.query<DashboardSummaryData>({\n query: DASHBOARD_SUMMARY,\n variables: options,\n fetchPolicy: \"cache-first\",\n });\n setSummary(result.data?.dashboardSummary ?? null);\n } catch (err) {\n setError(err as Error);\n } finally {\n setLoading(false);\n }\n }, [options]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n return {\n summary,\n loading,\n error,\n refetch: fetchData,\n };\n}\n\n// ============================================================================\n// Activate / Deactivate Workflow Hooks\n// ============================================================================\n\nconst ACTIVATE_WORKFLOW_DEFINITION = ActivateWorkflowDefinitionDocument;\nconst DEACTIVATE_WORKFLOW_DEFINITION = DeactivateWorkflowDefinitionDocument;\n\n/**\n * Hook to activate a workflow definition (set status to ACTIVE)\n */\nexport function useActivateWorkflow() {\n const [loading, setLoading] = useState(false);\n\n const activateWorkflow = useCallback(async (id: string) => {\n setLoading(true);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<ActivateWorkflowDefinitionMutation>({\n mutation: ACTIVATE_WORKFLOW_DEFINITION,\n variables: { id },\n }),\n );\n return result.data?.activateWorkflowDefinition ?? null;\n } catch (err) {\n console.error(\"Error activating workflow:\", err);\n throw err;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return { activateWorkflow, loading };\n}\n\n/**\n * Hook to deactivate a workflow definition (set status back to DRAFT)\n */\nexport function useDeactivateWorkflow() {\n const [loading, setLoading] = useState(false);\n\n const deactivateWorkflow = useCallback(async (id: string) => {\n setLoading(true);\n try {\n const client = getFluidGridsClient();\n const result = throwIfResultError(\n await client.mutate<DeactivateWorkflowDefinitionMutation>({\n mutation: DEACTIVATE_WORKFLOW_DEFINITION,\n variables: { id },\n }),\n );\n return result.data?.deactivateWorkflowDefinition ?? null;\n } catch (err) {\n console.error(\"Error deactivating workflow:\", err);\n throw err;\n } finally {\n setLoading(false);\n }\n }, []);\n\n return { deactivateWorkflow, loading };\n}\n"]}
@@ -669,6 +669,32 @@ function useDashboardSummarySuspenseQuery(baseOptions) {
669
669
  const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : { ...defaultOptions, ...baseOptions };
670
670
  return ApolloReactHooks.useSuspenseQuery(DashboardSummaryDocument, options);
671
671
  }
672
+ var EventRegistrationsDocument = gql`
673
+ query EventRegistrations($workflowKey: String, $status: EventStatus) {
674
+ eventRegistrations(workflowKey: $workflowKey, status: $status) {
675
+ id
676
+ triggerNodeId
677
+ eventSource
678
+ eventType
679
+ isActive
680
+ status
681
+ webhookToken
682
+ webhookUrl
683
+ }
684
+ }
685
+ `;
686
+ function useEventRegistrationsQuery(baseOptions) {
687
+ const options = { ...defaultOptions, ...baseOptions };
688
+ return ApolloReactHooks.useQuery(EventRegistrationsDocument, options);
689
+ }
690
+ function useEventRegistrationsLazyQuery(baseOptions) {
691
+ const options = { ...defaultOptions, ...baseOptions };
692
+ return ApolloReactHooks.useLazyQuery(EventRegistrationsDocument, options);
693
+ }
694
+ function useEventRegistrationsSuspenseQuery(baseOptions) {
695
+ const options = baseOptions === ApolloReactHooks.skipToken ? baseOptions : { ...defaultOptions, ...baseOptions };
696
+ return ApolloReactHooks.useSuspenseQuery(EventRegistrationsDocument, options);
697
+ }
672
698
  var NodeEndpointConfigDocument = gql`
673
699
  query NodeEndpointConfig($nodeType: String!, $nodeVersion: String!) {
674
700
  nodeEndpointConfig(nodeType: $nodeType, nodeVersion: $nodeVersion) {
@@ -1012,6 +1038,6 @@ function useWorkflowVersionsSuspenseQuery(baseOptions) {
1012
1038
  return ApolloReactHooks.useSuspenseQuery(WorkflowVersionsDocument, options);
1013
1039
  }
1014
1040
 
1015
- export { ActivateWorkflowDefinitionDocument, ActiveExecutionsDocument, CancelExecutionDocument, CreateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DashboardSummaryDocument, DeactivateWorkflowDefinitionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, ExecutionDetailDocument, ExecutionLogsDocument, ExecutionStatsDocument, ExecutionsListDocument, ImportWorkflowTemplateDocument, NodeEndpointConfigDocument, NodeEndpointConfigsDocument, NodeManifestDocument, NodeSchemaIntrospectionDocument, NodeStatesDocument, NodeUsageStatusDocument, PauseExecutionDocument, RegisterNodeDocument, RemoveNodeFromWorkflowsDocument, RestoreWorkflowVersionDocument, ResumeExecutionDocument, RetryNodeDocument, TerminateExecutionDocument, TriggerWorkflowDocument, UpdateWorkflowDefinitionDocument, UsageTimeSeriesDocument, WorkflowDefinitionDocument, WorkflowDefinitionsDocument, WorkflowRunDocument, WorkflowRunsDocument, WorkflowVersionsDocument, describeOperationError, throwIfResultError, useActivateWorkflowDefinitionMutation, useActiveExecutionsLazyQuery, useActiveExecutionsQuery, useActiveExecutionsSuspenseQuery, useCancelExecutionMutation, useCreateWorkflowDefinitionMutation, useCreateWorkflowVersionMutation, useDashboardSummaryLazyQuery, useDashboardSummaryQuery, useDashboardSummarySuspenseQuery, useDeactivateWorkflowDefinitionMutation, useDeleteWorkflowDefinitionMutation, useDuplicateWorkflowMutation, useExecutionDetailLazyQuery, useExecutionDetailQuery, useExecutionDetailSuspenseQuery, useExecutionLogsLazyQuery, useExecutionLogsQuery, useExecutionLogsSuspenseQuery, useExecutionStatsLazyQuery, useExecutionStatsQuery, useExecutionStatsSuspenseQuery, useExecutionsListLazyQuery, useExecutionsListQuery, useExecutionsListSuspenseQuery, useImportWorkflowTemplateMutation, useNodeEndpointConfigLazyQuery, useNodeEndpointConfigQuery, useNodeEndpointConfigSuspenseQuery, useNodeEndpointConfigsLazyQuery, useNodeEndpointConfigsQuery, useNodeEndpointConfigsSuspenseQuery, useNodeManifestLazyQuery, useNodeManifestQuery, useNodeManifestSuspenseQuery, useNodeSchemaIntrospectionLazyQuery, useNodeSchemaIntrospectionQuery, useNodeSchemaIntrospectionSuspenseQuery, useNodeStatesLazyQuery, useNodeStatesQuery, useNodeStatesSuspenseQuery, useNodeUsageStatusLazyQuery, useNodeUsageStatusQuery, useNodeUsageStatusSuspenseQuery, usePauseExecutionMutation, useRegisterNodeMutation, useRemoveNodeFromWorkflowsMutation, useRestoreWorkflowVersionMutation, useResumeExecutionMutation, useRetryNodeMutation, useTerminateExecutionMutation, useTriggerWorkflowMutation, useUpdateWorkflowDefinitionMutation, useUsageTimeSeriesLazyQuery, useUsageTimeSeriesQuery, useUsageTimeSeriesSuspenseQuery, useWorkflowDefinitionLazyQuery, useWorkflowDefinitionQuery, useWorkflowDefinitionSuspenseQuery, useWorkflowDefinitionsLazyQuery, useWorkflowDefinitionsQuery, useWorkflowDefinitionsSuspenseQuery, useWorkflowRunLazyQuery, useWorkflowRunQuery, useWorkflowRunSuspenseQuery, useWorkflowRunsLazyQuery, useWorkflowRunsQuery, useWorkflowRunsSuspenseQuery, useWorkflowVersionsLazyQuery, useWorkflowVersionsQuery, useWorkflowVersionsSuspenseQuery };
1016
- //# sourceMappingURL=chunk-4NTHFDKQ.js.map
1017
- //# sourceMappingURL=chunk-4NTHFDKQ.js.map
1041
+ export { ActivateWorkflowDefinitionDocument, ActiveExecutionsDocument, CancelExecutionDocument, CreateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DashboardSummaryDocument, DeactivateWorkflowDefinitionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, EventRegistrationsDocument, ExecutionDetailDocument, ExecutionLogsDocument, ExecutionStatsDocument, ExecutionsListDocument, ImportWorkflowTemplateDocument, NodeEndpointConfigDocument, NodeEndpointConfigsDocument, NodeManifestDocument, NodeSchemaIntrospectionDocument, NodeStatesDocument, NodeUsageStatusDocument, PauseExecutionDocument, RegisterNodeDocument, RemoveNodeFromWorkflowsDocument, RestoreWorkflowVersionDocument, ResumeExecutionDocument, RetryNodeDocument, TerminateExecutionDocument, TriggerWorkflowDocument, UpdateWorkflowDefinitionDocument, UsageTimeSeriesDocument, WorkflowDefinitionDocument, WorkflowDefinitionsDocument, WorkflowRunDocument, WorkflowRunsDocument, WorkflowVersionsDocument, describeOperationError, throwIfResultError, useActivateWorkflowDefinitionMutation, useActiveExecutionsLazyQuery, useActiveExecutionsQuery, useActiveExecutionsSuspenseQuery, useCancelExecutionMutation, useCreateWorkflowDefinitionMutation, useCreateWorkflowVersionMutation, useDashboardSummaryLazyQuery, useDashboardSummaryQuery, useDashboardSummarySuspenseQuery, useDeactivateWorkflowDefinitionMutation, useDeleteWorkflowDefinitionMutation, useDuplicateWorkflowMutation, useEventRegistrationsLazyQuery, useEventRegistrationsQuery, useEventRegistrationsSuspenseQuery, useExecutionDetailLazyQuery, useExecutionDetailQuery, useExecutionDetailSuspenseQuery, useExecutionLogsLazyQuery, useExecutionLogsQuery, useExecutionLogsSuspenseQuery, useExecutionStatsLazyQuery, useExecutionStatsQuery, useExecutionStatsSuspenseQuery, useExecutionsListLazyQuery, useExecutionsListQuery, useExecutionsListSuspenseQuery, useImportWorkflowTemplateMutation, useNodeEndpointConfigLazyQuery, useNodeEndpointConfigQuery, useNodeEndpointConfigSuspenseQuery, useNodeEndpointConfigsLazyQuery, useNodeEndpointConfigsQuery, useNodeEndpointConfigsSuspenseQuery, useNodeManifestLazyQuery, useNodeManifestQuery, useNodeManifestSuspenseQuery, useNodeSchemaIntrospectionLazyQuery, useNodeSchemaIntrospectionQuery, useNodeSchemaIntrospectionSuspenseQuery, useNodeStatesLazyQuery, useNodeStatesQuery, useNodeStatesSuspenseQuery, useNodeUsageStatusLazyQuery, useNodeUsageStatusQuery, useNodeUsageStatusSuspenseQuery, usePauseExecutionMutation, useRegisterNodeMutation, useRemoveNodeFromWorkflowsMutation, useRestoreWorkflowVersionMutation, useResumeExecutionMutation, useRetryNodeMutation, useTerminateExecutionMutation, useTriggerWorkflowMutation, useUpdateWorkflowDefinitionMutation, useUsageTimeSeriesLazyQuery, useUsageTimeSeriesQuery, useUsageTimeSeriesSuspenseQuery, useWorkflowDefinitionLazyQuery, useWorkflowDefinitionQuery, useWorkflowDefinitionSuspenseQuery, useWorkflowDefinitionsLazyQuery, useWorkflowDefinitionsQuery, useWorkflowDefinitionsSuspenseQuery, useWorkflowRunLazyQuery, useWorkflowRunQuery, useWorkflowRunSuspenseQuery, useWorkflowRunsLazyQuery, useWorkflowRunsQuery, useWorkflowRunsSuspenseQuery, useWorkflowVersionsLazyQuery, useWorkflowVersionsQuery, useWorkflowVersionsSuspenseQuery };
1042
+ //# sourceMappingURL=chunk-H7WSQN2I.js.map
1043
+ //# sourceMappingURL=chunk-H7WSQN2I.js.map