@burdenoff/fluidgrids-fe-sdk 2026.1105.2 → 2026.1105.3

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 (50) hide show
  1. package/README.md +30 -0
  2. package/dist/{ExecutionDetailPage-HQB2SWBP.js → ExecutionDetailPage-JXGPSLS3.js} +9 -7
  3. package/dist/{ExecutionsListPage-RSLL634L.js → ExecutionsListPage-U3TC5JUI.js} +8 -6
  4. package/dist/{WorkflowBuilder-E3PNZX74.js → WorkflowBuilder-6DOD6WWH.js} +13 -10
  5. package/dist/{WorkflowsList-473FRRP2.js → WorkflowsList-XOWRQNST.js} +9 -7
  6. package/dist/{agentTools-5N3ZEZDW.js → agentTools-YQBN33WG.js} +6 -4
  7. package/dist/{chunk-XFH6SLDK.js → chunk-22U3TUKZ.js} +1 -1
  8. package/dist/{chunk-QFC6E3WD.js → chunk-2WUVF4EQ.js} +1 -1
  9. package/dist/{chunk-W5WML3OO.js → chunk-3MZOYJ5I.js} +1 -1
  10. package/dist/{chunk-3XUWPDKJ.js → chunk-3ZYRLGDF.js} +5 -5
  11. package/dist/{chunk-SALZ3LQB.js → chunk-4NNF7DIB.js} +1 -1
  12. package/dist/chunk-5DVP2UYH.js +1924 -0
  13. package/dist/{chunk-CH3YUGWR.js → chunk-EKDUYCTS.js} +4 -4
  14. package/dist/{chunk-Y6M7K4UG.js → chunk-FVWRGL7S.js} +1 -1
  15. package/dist/{chunk-2KUZBEWW.js → chunk-G33OMSW6.js} +6 -5
  16. package/dist/{chunk-6IS7EXIY.js → chunk-G774FI2E.js} +2 -2
  17. package/dist/{chunk-5CFCFA6O.js → chunk-IJ7UIDCW.js} +6 -5
  18. package/dist/chunk-JYYN3CLL.js +32 -0
  19. package/dist/{chunk-GKFMK7FF.js → chunk-KAWRHIJZ.js} +1 -1
  20. package/dist/{chunk-QPLFALVV.js → chunk-KN37RIFC.js} +4 -3
  21. package/dist/{chunk-AASHQI77.js → chunk-KZCNJAMK.js} +2 -1
  22. package/dist/{chunk-X25NCWG2.js → chunk-LDWBMCX4.js} +4 -3
  23. package/dist/{chunk-CNKTQ5MG.js → chunk-MA6I4KY5.js} +2 -2
  24. package/dist/{chunk-O7CJJNW6.js → chunk-MP44TAOO.js} +2 -2
  25. package/dist/{chunk-6ZK4MRVA.js → chunk-MY7SEUXM.js} +1 -1
  26. package/dist/{chunk-62CCBMDC.js → chunk-NMQENSPW.js} +12 -11
  27. package/dist/{chunk-HK76ZUAK.js → chunk-NZFPCTIS.js} +4 -4
  28. package/dist/chunk-SDZEAIIE.js +9 -0
  29. package/dist/{chunk-64JN2TVX.js → chunk-TJAG2DQT.js} +8 -37
  30. package/dist/{chunk-TNFBRXU7.js → chunk-TLHX4DK4.js} +6 -5
  31. package/dist/{chunk-J3YQCEP3.js → chunk-VESQH55Q.js} +1 -1
  32. package/dist/{chunk-OCJTTHTS.js → chunk-Y7FKJJMF.js} +1 -9
  33. package/dist/{chunk-QFGZXWTM.js → chunk-YGOGJDN4.js} +1 -1
  34. package/dist/{chunk-3QCRKKTI.js → chunk-ZBPRNWKY.js} +234 -2145
  35. package/dist/{chunk-AJVU5YW6.js → chunk-ZLBTUCC2.js} +3 -2
  36. package/dist/code-editor-field-WWPDMF4O.js +3 -0
  37. package/dist/executions.js +10 -8
  38. package/dist/history.js +8 -5
  39. package/dist/index.js +36 -33
  40. package/dist/{node-detail-view-WIWW5N6N.js → node-detail-view-U5HOP2WX.js} +10 -8
  41. package/dist/observability.js +6 -4
  42. package/dist/{quick-config-panel-O64TXXK3.js → quick-config-panel-XAISBW6Y.js} +8 -6
  43. package/dist/settings.js +7 -5
  44. package/dist/templates.js +12 -9
  45. package/dist/workflow-builder.js +14 -11
  46. package/dist/workflow-preview.d.ts +158 -0
  47. package/dist/workflow-preview.js +721 -0
  48. package/dist/workflows-list.js +9 -7
  49. package/package.json +5 -1
  50. package/dist/code-editor-field-XWUVOKTA.js +0 -2
@@ -1,10 +1,10 @@
1
- import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TEMPLATE_STORE_CATEGORIES, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-62CCBMDC.js';
2
- import { QuotaExhaustedDialog } from './chunk-GKFMK7FF.js';
1
+ import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TEMPLATE_STORE_CATEGORIES, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-NMQENSPW.js';
2
+ import { QuotaExhaustedDialog } from './chunk-KAWRHIJZ.js';
3
3
  import { templatesControls } from './chunk-FNZZ5JJL.js';
4
- import { useWorkflowDefinitions, useDuplicateWorkflow, useLazyWorkflowDefinition } from './chunk-QFGZXWTM.js';
4
+ import { useWorkflowDefinitions, useDuplicateWorkflow, useLazyWorkflowDefinition } from './chunk-YGOGJDN4.js';
5
5
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
6
6
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
7
- import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure } from './chunk-3QCRKKTI.js';
7
+ import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure } from './chunk-ZBPRNWKY.js';
8
8
  import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS } from './chunk-5375NUIO.js';
9
9
  import { useTr } from './chunk-UULVIT25.js';
10
10
  import { useState, useEffect, useCallback, useMemo } from 'react';
@@ -1,4 +1,4 @@
1
- import { QuotaExhaustedDialog } from './chunk-GKFMK7FF.js';
1
+ import { QuotaExhaustedDialog } from './chunk-KAWRHIJZ.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -1,11 +1,12 @@
1
- import { CodeEditorField, normalizeCodeLanguage } from './chunk-AASHQI77.js';
2
- import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-AJVU5YW6.js';
1
+ import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-ZLBTUCC2.js';
2
+ import { CodeEditorField, normalizeCodeLanguage } from './chunk-KZCNJAMK.js';
3
3
  import { Popover, PopoverTrigger, PopoverContent } from './chunk-GTEBQQ7J.js';
4
- import { AgentDefinitionSelectField } from './chunk-XFH6SLDK.js';
4
+ import { AgentDefinitionSelectField } from './chunk-22U3TUKZ.js';
5
5
  import { isAgentNodeType } from './chunk-WZ3EJVS6.js';
6
6
  import { readAssertRulesSetting, rowsFromRules, normaliseAssertRules, ruleFromRow, describeAssertRuleProblem, operatorSpec, ASSERT_OPERATORS, emptyAssertRuleRow } from './chunk-JDLQ6QIB.js';
7
- import { useFlowStore, isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics, openRunQuotaUpgradePrompt } from './chunk-3QCRKKTI.js';
8
- import { useBuilderReadOnly } from './chunk-OCJTTHTS.js';
7
+ import { isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics, openRunQuotaUpgradePrompt } from './chunk-ZBPRNWKY.js';
8
+ import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
9
+ import { useFlowStore } from './chunk-5DVP2UYH.js';
9
10
  import { useRunFromNodeEligibilityQuery, PreviewScheduleDocument, WebhookTestListenerDocument, StopWebhookTestListenerDocument, ListenForWebhookTestEventDocument } from './chunk-Z3ABLERJ.js';
10
11
  import { useTr } from './chunk-UULVIT25.js';
11
12
  import { getFluidGridsClientSafe, getFluidGridsClient } from './chunk-3IXU7WUC.js';
@@ -1,6 +1,6 @@
1
- import { versionsOfWorkflow, VersionDiffDialog } from './chunk-64JN2TVX.js';
1
+ import { versionsOfWorkflow, VersionDiffDialog } from './chunk-TJAG2DQT.js';
2
2
  import { historyControls } from './chunk-FNZZ5JJL.js';
3
- import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-QFGZXWTM.js';
3
+ import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-YGOGJDN4.js';
4
4
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
5
5
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
6
6
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,12 +1,13 @@
1
- import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-Y6M7K4UG.js';
2
- import { useExecutions } from './chunk-J3YQCEP3.js';
3
- import { useExportWorkflowAs, WorkflowShareDialog, downloadWorkflowExport, importAcceptAttribute, canEditWorkflow, canShareWorkflow, QuotaExhaustedDialog, importFileKind, parseWorkflowImport, CODE_EXPORT_FORMATS, ImportSourceError, assertImportByteSize, MAX_IMPORT_ARCHIVE_BYTES, readProjectArchive, checkTypeScriptImport, MAX_IMPORT_SOURCE_BYTES, typeScriptModuleFile, typeScriptImportSource, workflowNameFromFile, primaryImportModule } from './chunk-GKFMK7FF.js';
1
+ import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-FVWRGL7S.js';
2
+ import { useExecutions } from './chunk-VESQH55Q.js';
3
+ import { useExportWorkflowAs, WorkflowShareDialog, downloadWorkflowExport, importAcceptAttribute, canEditWorkflow, canShareWorkflow, QuotaExhaustedDialog, importFileKind, parseWorkflowImport, CODE_EXPORT_FORMATS, ImportSourceError, assertImportByteSize, MAX_IMPORT_ARCHIVE_BYTES, readProjectArchive, checkTypeScriptImport, MAX_IMPORT_SOURCE_BYTES, typeScriptModuleFile, typeScriptImportSource, workflowNameFromFile, primaryImportModule } from './chunk-KAWRHIJZ.js';
4
4
  import { workflowsListControls } from './chunk-FNZZ5JJL.js';
5
- import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, usePreviewN8nImport, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-QFGZXWTM.js';
5
+ import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, usePreviewN8nImport, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-YGOGJDN4.js';
6
6
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
7
7
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
8
- import { createThenOpen, FluidGridsContext, useFluidGridsFlag, FLUIDGRIDS_FLAGS, BILLING_PLANS_PATH, useFlowStore, isQuotaExhaustedFailure } from './chunk-3QCRKKTI.js';
8
+ import { createThenOpen, FluidGridsContext, useFluidGridsFlag, FLUIDGRIDS_FLAGS, BILLING_PLANS_PATH, isQuotaExhaustedFailure } from './chunk-ZBPRNWKY.js';
9
9
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton, SdkPermissionGate } from './chunk-5375NUIO.js';
10
+ import { useFlowStore } from './chunk-5DVP2UYH.js';
10
11
  import { WorkflowFoldersDocument, CreateWorkflowFolderDocument, RenameWorkflowFolderDocument, MoveWorkflowFolderDocument, DeleteWorkflowFolderDocument, WorkflowProjectsDocument, CreateWorkflowProjectDocument, RenameWorkflowProjectDocument, DeleteWorkflowProjectDocument, BulkMoveWorkflowsToFolderDocument, BulkAssignWorkflowsToProjectDocument, BulkDeleteWorkflowsDocument } from './chunk-Z3ABLERJ.js';
11
12
  import { useTr } from './chunk-UULVIT25.js';
12
13
  import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
@@ -0,0 +1,32 @@
1
+ import { mergeStickyNotes } from './chunk-5DVP2UYH.js';
2
+
3
+ // src/builder/live/definition-canvas.ts
4
+ function isRecord(value) {
5
+ return typeof value === "object" && value !== null && !Array.isArray(value);
6
+ }
7
+ function hasId(item) {
8
+ return isRecord(item) && typeof item.id === "string" && item.id.length > 0;
9
+ }
10
+ function canvasFromDefinition(definitionJson) {
11
+ let definition = definitionJson;
12
+ if (typeof definition === "string") {
13
+ try {
14
+ definition = JSON.parse(definition);
15
+ } catch {
16
+ return null;
17
+ }
18
+ }
19
+ if (!isRecord(definition)) return null;
20
+ const data = isRecord(definition.data) ? definition.data : definition;
21
+ if (!Array.isArray(data.nodes)) return null;
22
+ const nodes = mergeStickyNotes({
23
+ nodes: data.nodes,
24
+ stickyNotes: Array.isArray(data.stickyNotes) ? data.stickyNotes : []
25
+ }).filter(hasId);
26
+ const edges = (Array.isArray(data.edges) ? data.edges : []).filter(
27
+ hasId
28
+ );
29
+ return { nodes, edges };
30
+ }
31
+
32
+ export { canvasFromDefinition };
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME } from './chunk-3QCRKKTI.js';
1
+ import { useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME } from './chunk-ZBPRNWKY.js';
2
2
  import { ExportWorkflowCodeDocument, ShareWorkflowDocument, WorkflowSharingDocument } from './chunk-Z3ABLERJ.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
@@ -1,9 +1,10 @@
1
- import { AgentsTab } from './chunk-XFH6SLDK.js';
1
+ import { AgentsTab } from './chunk-22U3TUKZ.js';
2
2
  import { ActionPoliciesTab } from './chunk-AMXJLVZN.js';
3
- import { LogStreamingTab } from './chunk-SALZ3LQB.js';
3
+ import { LogStreamingTab } from './chunk-4NNF7DIB.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useFlowStore, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, findSaveConflict, useDurableParityEnabled, useConnections } from './chunk-3QCRKKTI.js';
5
+ import { useFluidGridsFlag, FLUIDGRIDS_FLAGS, useSaveStatusStore, findSaveConflict, useDurableParityEnabled, useConnections } from './chunk-ZBPRNWKY.js';
6
6
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-5375NUIO.js';
7
+ import { useFlowStore } from './chunk-5DVP2UYH.js';
7
8
  import { getGlobalStoreClient } from './chunk-AU7LACOY.js';
8
9
  import { useWorkflowDefinitionQuery, useUpdateWorkflowDefinitionMutation, useWorkflowDefinitionsQuery, DurableHistoryCapsDocument, UpdateDurableHistoryCapsDocument } from './chunk-Z3ABLERJ.js';
9
10
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,4 +1,5 @@
1
- import { useBuilderReadOnly, toCodeMirrorDiagnostics } from './chunk-OCJTTHTS.js';
1
+ import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
2
+ import { toCodeMirrorDiagnostics } from './chunk-Y7FKJJMF.js';
2
3
  import { useMemo, useRef, useEffect, useState } from 'react';
3
4
  import CodeMirror, { EditorView } from '@uiw/react-codemirror';
4
5
  import { lintGutter, setDiagnostics } from '@codemirror/lint';
@@ -1,9 +1,10 @@
1
- import { Card, FluidGridsMark } from './chunk-62CCBMDC.js';
1
+ import { Card, FluidGridsMark } from './chunk-NMQENSPW.js';
2
2
  import { Input } from './chunk-IEVSFCFS.js';
3
3
  import { Button } from './chunk-BQXVT32O.js';
4
- import { useWorkflowDefinition } from './chunk-QFGZXWTM.js';
5
- import { FluidGridsProvider, useFlowStore } from './chunk-3QCRKKTI.js';
4
+ import { useWorkflowDefinition } from './chunk-YGOGJDN4.js';
5
+ import { FluidGridsProvider } from './chunk-ZBPRNWKY.js';
6
6
  import { cn } from './chunk-JL7CASN5.js';
7
+ import { useFlowStore } from './chunk-5DVP2UYH.js';
7
8
  import { useTr } from './chunk-UULVIT25.js';
8
9
  import { useState, useRef, useEffect, useCallback } from 'react';
9
10
  import { MarkerType, ReactFlowProvider, useReactFlow, ReactFlow, Background, Controls, MiniMap, Handle, Position } from '@xyflow/react';
@@ -1,9 +1,9 @@
1
- import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-J3YQCEP3.js';
1
+ import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-VESQH55Q.js';
2
2
  import { isAgentNodeType } from './chunk-WZ3EJVS6.js';
3
3
  import { useAvailableTags, formatRunVersion, nodeDisplayTitle } from './chunk-IL343FKX.js';
4
4
  import { executionsControls } from './chunk-FNZZ5JJL.js';
5
5
  import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
6
- import { useDurableParityEnabled } from './chunk-3QCRKKTI.js';
6
+ import { useDurableParityEnabled } from './chunk-ZBPRNWKY.js';
7
7
  import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-Z3ABLERJ.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
9
9
  import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
@@ -1,8 +1,8 @@
1
1
  import { formatBytes, getFailureBreakdown, getTopFailingWorkflows, getTopFailingNodes, percentage, FailureTriagePanel, formatDuration, prettyJson } from './chunk-TCIBTMJI.js';
2
2
  import { aiSpendPeriod, AI_SPEND_RANGE_DAYS, evidenceFacts, monthlySavingLabel, evidenceWindowDays, shortRunId, DISMISS_REASONS, MAX_DISMISS_NOTE_LENGTH, aiCost, formatTokens, runsOfWorkflowPath } from './chunk-NZAYYUQ4.js';
3
- import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-SALZ3LQB.js';
3
+ import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-4NNF7DIB.js';
4
4
  import { proposalCanvasPath } from './chunk-GLYINMOR.js';
5
- import { useContinuousOptimisationEnabled } from './chunk-3QCRKKTI.js';
5
+ import { useContinuousOptimisationEnabled } from './chunk-ZBPRNWKY.js';
6
6
  import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton } from './chunk-5375NUIO.js';
7
7
  import { SetContinuousOptimisationEnabledDocument, FgRunOptimisationScanDocument, ProposeOptimisationDocument, WorkflowProposalDocument, DismissOptimisationSuggestionDocument, SnoozeOptimisationSuggestionDocument, WorkspaceAiUsageDocument, OptimisationSuggestionsDocument, ContinuousOptimisationSettingsDocument } from './chunk-Z3ABLERJ.js';
8
8
  import { useTr } from './chunk-UULVIT25.js';
@@ -1,4 +1,4 @@
1
- import { useFlowStore } from './chunk-3QCRKKTI.js';
1
+ import { useFlowStore } from './chunk-5DVP2UYH.js';
2
2
  import { useTr } from './chunk-UULVIT25.js';
3
3
  import { useState, useRef, useCallback, useEffect } from 'react';
4
4
  import { cn } from '@burdenoff/fe-libs/utils';
@@ -1,22 +1,23 @@
1
+ import { computeAttachPosition, firstInputHandleId } from './chunk-3MZOYJ5I.js';
1
2
  import { deepClone, applyTemplateInputs } from './chunk-GEMNVFPK.js';
2
3
  import { templatePreview } from './chunk-B6CCE2RW.js';
3
4
  import { Input } from './chunk-IEVSFCFS.js';
4
5
  import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter as DialogFooter$1 } from './chunk-YXMFRQYV.js';
5
6
  import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
6
- import { LogsPanel } from './chunk-6ZK4MRVA.js';
7
- import { computeAttachPosition, firstInputHandleId } from './chunk-W5WML3OO.js';
8
- import { QuotaExhaustedDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-GKFMK7FF.js';
7
+ import { LogsPanel } from './chunk-MY7SEUXM.js';
8
+ import { QuotaExhaustedDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-KAWRHIJZ.js';
9
9
  import { emptyTestCaseDraft, EntityTagPicker, useWorkflowProposal, WorkflowProposalCard, useWorkflowTests, pinnedOutputsFromCanvas, enabledCaseIds, isTestRunOpen, MAX_TEST_CASES, draftFromTestCase, testRunSummaryText, testStatusLabel, TEST_STATUS_TONE_CLASS, testStatusTone, MAX_CASE_NAME, nextSortOrder, draftToInput } from './chunk-EYQ7GJRW.js';
10
10
  import { buildNodeDisplayMap } from './chunk-IL343FKX.js';
11
11
  import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
12
- import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-64JN2TVX.js';
13
- import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-QFGZXWTM.js';
12
+ import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-TJAG2DQT.js';
13
+ import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-YGOGJDN4.js';
14
14
  import { useRequestedProposal } from './chunk-GLYINMOR.js';
15
15
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
16
- import { leaseCallQueue, RUNS_QUOTA_NAME, useFlowStore, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, useIsValidConnection, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, useSaveStatusStore, useManualSave, useDurableFunctionNodesEnabled, CODE_WORKFLOW_NODE_TYPE, bannerOf, editStateFor, useSaveWorkflow, STICKY_NOTE_TYPE, filterPaletteNodes, useFluidGridsAnalytics, useGuardedNavigate, sessionBeforeReload, forgetSessionForReload, releasesOnClose, touchesSavedFields, isLocked, watchLeavingLosesChanges, workflowFingerprint, savedEverythingBeforeLeaving, buildStickyNode, NODES_METADATA, NodeTypeIcon, shouldReleaseForIdle, tickAction, rememberSessionForReload, leavingLosesChanges, buildOperationSeed, useDurableParityEnabled, useConnections, ConnectionFormDialog, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useFlowValidator, saveIndicatorOf, departingSave, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, useRunGuard, getNodeDetail, isImageIcon, NODES, synchronizeOperationUpdate, NodePropertyPanel, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, isTriggerOperation, canRenderOperationPanel, resolveOperationName, ConnectionSelector, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, editingLeaseLocked, autosaveAllowedFor, isFlowComplete, rememberRevision, phaseAfterTakeOver } from './chunk-3QCRKKTI.js';
16
+ import { leaseCallQueue, RUNS_QUOTA_NAME, BILLING_PLANS_PATH, emitUpgradeClicked, FluidGridsContext, emitWorkflowCreated, emitTemplateUsed, ensureNodeConfigsLoaded, NODE_CONFIGS, useEditLeaseStore, useEditLeaseLocked, registerWorkflowNodeTypes, emitNodeInstalled, useNodeExecution, usePaletteGates, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, refetchStoreNodes, AVAILABLE_NODES, EDIT_SESSION_ID, useInsertNode, useSaveStatusStore, useManualSave, useDurableFunctionNodesEnabled, bannerOf, editStateFor, useSaveWorkflow, filterPaletteNodes, useFluidGridsAnalytics, useGuardedNavigate, sessionBeforeReload, forgetSessionForReload, releasesOnClose, touchesSavedFields, isLocked, watchLeavingLosesChanges, workflowFingerprint, savedEverythingBeforeLeaving, buildStickyNode, NODES_METADATA, shouldReleaseForIdle, tickAction, rememberSessionForReload, leavingLosesChanges, buildOperationSeed, useDurableParityEnabled, useConnections, ConnectionFormDialog, useWorkflowTestsEnabled, useFluidGridsFlag, FLUIDGRIDS_FLAGS, useFlowValidator, saveIndicatorOf, departingSave, inAppLeaveTarget, isNodeConfigsInitialized, phaseAfterAcquire, rememberOwnStatusChange, useRunGuard, getNodeDetail, NODES, NodePropertyPanel, loadDefinitionJson, canAutosave, isNodeTypeHiddenFromPalette, ConnectionSelector, AUTOSAVE_RETRY_DELAYS_MS, AUTOSAVE_DEBOUNCE_MS, editingLeaseLocked, autosaveAllowedFor, isFlowComplete, rememberRevision, phaseAfterTakeOver } from './chunk-ZBPRNWKY.js';
17
17
  import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, useFluidGridsPermission, SdkPermissionGate } from './chunk-5375NUIO.js';
18
18
  import { cn } from './chunk-JL7CASN5.js';
19
- import { BuilderReadOnlyProvider, useBuilderReadOnly } from './chunk-OCJTTHTS.js';
19
+ import { BuilderReadOnlyProvider, useBuilderReadOnly } from './chunk-SDZEAIIE.js';
20
+ import { useFlowStore, useIsValidConnection, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, CODE_WORKFLOW_NODE_TYPE, STICKY_NOTE_TYPE, NodeTypeIcon, isImageIcon, synchronizeOperationUpdate, isTriggerOperation, canRenderOperationPanel, resolveOperationName } from './chunk-5DVP2UYH.js';
20
21
  import { getGlobalStoreClient } from './chunk-AU7LACOY.js';
21
22
  import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, SubmitWorkflowTemplateDocument, MyWorkflowTemplateSubmissionsDocument, WithdrawWorkflowTemplateSubmissionDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument, OrganizationPrivateNodesDocument, InstallOrganizationPrivateNodeDocument, UninstallOrganizationPrivateNodeDocument } from './chunk-G77IGC3Y.js';
22
23
  import { WorkspaceRunsQuotaDocument, WorkflowGenerationTemplatesDocument, ReleaseWorkflowEditLeaseDocument, NodeSchemaIntrospectionDocument, AcquireWorkflowEditLeaseDocument, WorkflowEnvironmentsDocument, WorkflowPromotionRequestsDocument, DeployWorkflowVersionToDevDocument, RequestWorkflowPromotionDocument, ApproveWorkflowPromotionDocument, RejectWorkflowPromotionDocument, CancelWorkflowPromotionDocument, UpdateWorkflowEnvironmentPolicyDocument, WorkflowGitRepositoryDocument, WorkflowGitPushesDocument, WorkflowGitCommitsDocument, LinkWorkflowGitRepositoryDocument, UnlinkWorkflowGitRepositoryDocument, PushWorkflowToGitDocument, WorkflowGitDiffDocument, RestoreWorkflowFromGitDocument, WorkflowAuthoringDocument, WorkflowEditLeaseDocument, WorkflowVersioningDocument, WorkflowVersionDrainageDocument, ActivateWorkflowVersionCheckedDocument, WorkflowDefinitionDocument, NodeUsageStatusDocument, RemoveNodeFromWorkflowsDocument, SetWorkflowRolloutDocument, DeleteWorkflowRolloutDocument, TakeOverWorkflowEditLeaseDocument } from './chunk-Z3ABLERJ.js';
@@ -20180,7 +20181,7 @@ function FidelityReportList({
20180
20181
  );
20181
20182
  }
20182
20183
  var LazyCodeEditorField = lazy(
20183
- () => import('./code-editor-field-XWUVOKTA.js').then((m) => ({
20184
+ () => import('./code-editor-field-WWPDMF4O.js').then((m) => ({
20184
20185
  default: m.CodeEditorField
20185
20186
  }))
20186
20187
  );
@@ -21240,12 +21241,12 @@ function EditLeaseBanner() {
21240
21241
  );
21241
21242
  }
21242
21243
  var LazyNodeDetailView = lazy(
21243
- () => import('./node-detail-view-WIWW5N6N.js').then((m) => ({
21244
+ () => import('./node-detail-view-U5HOP2WX.js').then((m) => ({
21244
21245
  default: m.NodeDetailView
21245
21246
  }))
21246
21247
  );
21247
21248
  var LazyQuickConfigPanel = lazy(
21248
- () => import('./quick-config-panel-O64TXXK3.js').then((m) => ({
21249
+ () => import('./quick-config-panel-XAISBW6Y.js').then((m) => ({
21249
21250
  default: m.QuickConfigPanel
21250
21251
  }))
21251
21252
  );
@@ -21307,7 +21308,7 @@ var FlowBuilder = ({ readOnly = false }) => {
21307
21308
  );
21308
21309
  useEffect(() => {
21309
21310
  let cancelled = false;
21310
- void import('./agentTools-5N3ZEZDW.js').then(({ createBuilderAgentTools }) => {
21311
+ void import('./agentTools-YQBN33WG.js').then(({ createBuilderAgentTools }) => {
21311
21312
  if (cancelled) return;
21312
21313
  setAgentTools(
21313
21314
  createBuilderAgentTools({
@@ -1,8 +1,8 @@
1
- import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-CNKTQ5MG.js';
2
- import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-J3YQCEP3.js';
3
- import { useWorkflowDefinitions } from './chunk-QFGZXWTM.js';
1
+ import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-MA6I4KY5.js';
2
+ import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-VESQH55Q.js';
3
+ import { useWorkflowDefinitions } from './chunk-YGOGJDN4.js';
4
4
  import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
5
- import { useDurableParityEnabled } from './chunk-3QCRKKTI.js';
5
+ import { useDurableParityEnabled } from './chunk-ZBPRNWKY.js';
6
6
  import { useTr } from './chunk-UULVIT25.js';
7
7
  import { useExecutionsStore } from './chunk-UEG2WC3G.js';
8
8
  import { useRef, useCallback, useMemo, useState, useEffect } from 'react';
@@ -0,0 +1,9 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ var BuilderReadOnlyContext = createContext(false);
4
+ var BuilderReadOnlyProvider = BuilderReadOnlyContext.Provider;
5
+ function useBuilderReadOnly() {
6
+ return useContext(BuilderReadOnlyContext);
7
+ }
8
+
9
+ export { BuilderReadOnlyProvider, useBuilderReadOnly };
@@ -1,4 +1,4 @@
1
- import { mergeStickyNotes } from './chunk-3QCRKKTI.js';
1
+ import { canvasFromDefinition } from './chunk-JYYN3CLL.js';
2
2
  import { WorkflowDefinitionDocument, WorkflowVersionDiffDocument } from './chunk-Z3ABLERJ.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
@@ -50,35 +50,6 @@ function versionsOfWorkflow(rows, workflowKey) {
50
50
  return rows.filter((row) => row.workflowKey === workflowKey).sort((a, b) => time(b.createdAt) - time(a.createdAt));
51
51
  }
52
52
 
53
- // src/builder/live/definition-canvas.ts
54
- function isRecord(value) {
55
- return typeof value === "object" && value !== null && !Array.isArray(value);
56
- }
57
- function hasId(item) {
58
- return isRecord(item) && typeof item.id === "string" && item.id.length > 0;
59
- }
60
- function canvasFromDefinition(definitionJson) {
61
- let definition = definitionJson;
62
- if (typeof definition === "string") {
63
- try {
64
- definition = JSON.parse(definition);
65
- } catch {
66
- return null;
67
- }
68
- }
69
- if (!isRecord(definition)) return null;
70
- const data = isRecord(definition.data) ? definition.data : definition;
71
- if (!Array.isArray(data.nodes)) return null;
72
- const nodes = mergeStickyNotes({
73
- nodes: data.nodes,
74
- stickyNotes: Array.isArray(data.stickyNotes) ? data.stickyNotes : []
75
- }).filter(hasId);
76
- const edges = (Array.isArray(data.edges) ? data.edges : []).filter(
77
- hasId
78
- );
79
- return { nodes, edges };
80
- }
81
-
82
53
  // src/modules/history/utils/version-graph-diff.ts
83
54
  var LAYOUT_NODE_KEYS = /* @__PURE__ */ new Set([
84
55
  "position",
@@ -106,7 +77,7 @@ var LAYOUT_EDGE_KEYS = /* @__PURE__ */ new Set([
106
77
  ]);
107
78
  var DIFF_CARD_FOOTPRINT = { width: 220, height: 90 };
108
79
  var MAX_CHANGED_FIELDS = 20;
109
- function isRecord2(value) {
80
+ function isRecord(value) {
110
81
  return typeof value === "object" && value !== null && !Array.isArray(value);
111
82
  }
112
83
  function equalJson(left, right) {
@@ -114,7 +85,7 @@ function equalJson(left, right) {
114
85
  if (Array.isArray(left) && Array.isArray(right)) {
115
86
  return left.length === right.length && left.every((value, index) => equalJson(value, right[index]));
116
87
  }
117
- if (isRecord2(left) && isRecord2(right)) {
88
+ if (isRecord(left) && isRecord(right)) {
118
89
  const leftKeys = Object.keys(left).filter((k) => left[k] !== void 0);
119
90
  const rightKeys = Object.keys(right).filter((k) => right[k] !== void 0);
120
91
  if (leftKeys.length !== rightKeys.length) return false;
@@ -128,7 +99,7 @@ function changedPaths(before, after, prefix = "", limit = MAX_CHANGED_FIELDS) {
128
99
  const paths = [];
129
100
  const visit = (left, right, path) => {
130
101
  if (paths.length >= limit || equalJson(left, right)) return;
131
- if (isRecord2(left) && isRecord2(right)) {
102
+ if (isRecord(left) && isRecord(right)) {
132
103
  const keys = [
133
104
  .../* @__PURE__ */ new Set([...Object.keys(left), ...Object.keys(right)])
134
105
  ].sort((a, b) => a.localeCompare(b));
@@ -154,11 +125,11 @@ function text(value) {
154
125
  return typeof value === "string" && value.trim() ? value.trim() : null;
155
126
  }
156
127
  function nodeLabel(node) {
157
- const data = isRecord2(node.data) ? node.data : {};
128
+ const data = isRecord(node.data) ? node.data : {};
158
129
  return text(data.label) ?? text(data.name) ?? text(data.title) ?? String(node.id);
159
130
  }
160
131
  function nodeTypeOf(node) {
161
- const data = isRecord2(node.data) ? node.data : {};
132
+ const data = isRecord(node.data) ? node.data : {};
162
133
  return text(data.nodeType) ?? text(data.type) ?? text(node.type) ?? "node";
163
134
  }
164
135
  function positionOf(node) {
@@ -197,7 +168,7 @@ function edgeSignature(edge) {
197
168
  function edgeLabel(edge) {
198
169
  if (typeof edge.label === "string" && edge.label.trim())
199
170
  return edge.label.trim();
200
- const data = isRecord2(edge.data) ? edge.data : {};
171
+ const data = isRecord(edge.data) ? edge.data : {};
201
172
  return text(data.label);
202
173
  }
203
174
  function emptyCounts() {
@@ -1478,4 +1449,4 @@ function VersionDiffDialog({
1478
1449
  ] });
1479
1450
  }
1480
1451
 
1481
- export { VersionDiffDialog, VersionLifecycleBar, canvasFromDefinition, countLifecycle, versionsOfWorkflow };
1452
+ export { VersionDiffDialog, VersionLifecycleBar, countLifecycle, versionsOfWorkflow };
@@ -1,9 +1,10 @@
1
- import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-Y6M7K4UG.js';
1
+ import { isGuidedTourIntent, pickGuidedTour, withoutGuidedTourIntent, isCreateIntent, CreateWorkflowRefusalDialog, decideMissingWorkflow } from './chunk-FVWRGL7S.js';
2
2
  import { registerLiveCanvasHandler } from './chunk-PIKYQE7P.js';
3
- import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-62CCBMDC.js';
4
- import { canvasFromDefinition } from './chunk-64JN2TVX.js';
5
- import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-QFGZXWTM.js';
6
- import { useFlowStore, refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, mergeStickyNotes, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-3QCRKKTI.js';
3
+ import { useWorkflowReloadStore, releaseLeaseKeptForReload, useInstalledNodes, buildNodeCheck, FlowBuilderPage, buildRequiredNodeTypes } from './chunk-NMQENSPW.js';
4
+ import { canvasFromDefinition } from './chunk-JYYN3CLL.js';
5
+ import { useLazyWorkflowDefinition, useCreateWorkflow } from './chunk-YGOGJDN4.js';
6
+ import { refetchStoreNodes, BILLING_PLANS_PATH, codeBuildIdOf, rememberRevision, blankWorkflowCreateInput, classifyCreateRefusal, useSaveStatusStore, workflowFingerprint, registerWorkflowNodeTypes } from './chunk-ZBPRNWKY.js';
7
+ import { useFlowStore, mergeStickyNotes } from './chunk-5DVP2UYH.js';
7
8
  import { WorkflowDefinitionDocument } from './chunk-Z3ABLERJ.js';
8
9
  import { useTr } from './chunk-UULVIT25.js';
9
10
  import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
@@ -1,5 +1,5 @@
1
1
  import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-5ERAJC2I.js';
2
- import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-3QCRKKTI.js';
2
+ import { useFluidGridsAnalytics, emitRunStarted, openRunQuotaUpgradePrompt } from './chunk-ZBPRNWKY.js';
3
3
  import { ExecutionsListDocument, ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument } from './chunk-Z3ABLERJ.js';
4
4
  import { useTr } from './chunk-UULVIT25.js';
5
5
  import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
@@ -1,11 +1,3 @@
1
- import { createContext, useContext } from 'react';
2
-
3
- var BuilderReadOnlyContext = createContext(false);
4
- var BuilderReadOnlyProvider = BuilderReadOnlyContext.Provider;
5
- function useBuilderReadOnly() {
6
- return useContext(BuilderReadOnlyContext);
7
- }
8
-
9
1
  // src/builder/components/ndv/code-editor-diagnostics.ts
10
2
  function editorSeverity(value) {
11
3
  const lower = value.toLowerCase();
@@ -43,4 +35,4 @@ function toCodeMirrorDiagnostics(text, diagnostics) {
43
35
  });
44
36
  }
45
37
 
46
- export { BuilderReadOnlyProvider, editorSeverity, toCodeMirrorDiagnostics, useBuilderReadOnly };
38
+ export { editorSeverity, toCodeMirrorDiagnostics };
@@ -1,4 +1,4 @@
1
- import { useFluidGridsAnalytics, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-3QCRKKTI.js';
1
+ import { useFluidGridsAnalytics, emitWorkflowCreated, emitRunStarted, runTriggerFromMode, openRunQuotaUpgradePrompt, emitWorkflowPublished } from './chunk-ZBPRNWKY.js';
2
2
  import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, CreateWorkflowDefinitionDocument, ImportWorkflowDocument, PreviewN8nImportDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-Z3ABLERJ.js';
3
3
  import { useTr } from './chunk-UULVIT25.js';
4
4
  import { getFluidGridsClient } from './chunk-3IXU7WUC.js';