@burdenoff/fluidgrids-fe-sdk 2026.1108.1 → 2026.1108.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.
- package/dist/{ExecutionDetailPage-STW6RPK6.js → ExecutionDetailPage-PY5OE2RJ.js} +15 -14
- package/dist/{ExecutionsListPage-753XDOTM.js → ExecutionsListPage-LKNYPXNZ.js} +11 -10
- package/dist/{TemplateDetailPanel-ZTYXKWRI.js → TemplateDetailPanel-5WY75DVB.js} +1 -1
- package/dist/{WorkflowBuilder-HY3PZZVD.js → WorkflowBuilder-YFPBMOWZ.js} +16 -16
- package/dist/{WorkflowsList-YFDT7ZPX.js → WorkflowsList-TETNEMYP.js} +10 -10
- package/dist/{agentTools-3UQNOO7V.js → agentTools-BW2XMHRV.js} +6 -6
- package/dist/{chunk-KE677WYY.js → chunk-2CXUTQUH.js} +1 -1
- package/dist/{chunk-H4ERTSMX.js → chunk-2VSYOGNI.js} +1948 -35
- package/dist/{chunk-NZMUKAXG.js → chunk-54NXUOHI.js} +1 -1
- package/dist/{chunk-YQOXXM5V.js → chunk-62RJORF7.js} +4 -4
- package/dist/{chunk-26GYGAC5.js → chunk-66AKFXP7.js} +15 -15
- package/dist/{chunk-47OW3OM5.js → chunk-7SSMRID2.js} +5 -5
- package/dist/{chunk-I23KAUR6.js → chunk-7XW6BC4B.js} +1 -1
- package/dist/{chunk-5375NUIO.js → chunk-AR22A74Y.js} +11 -0
- package/dist/{chunk-QHRRYTOL.js → chunk-D5Y3DHGJ.js} +1 -1
- package/dist/{chunk-JXJ2DESW.js → chunk-DG4UO5OY.js} +5 -5
- package/dist/{chunk-NMYENCP2.js → chunk-E7KIH3CF.js} +1 -1
- package/dist/{chunk-5OVWMFPL.js → chunk-GI6BQIQA.js} +124 -42
- package/dist/{chunk-Z3ABLERJ.js → chunk-GOZR72NK.js} +64 -1
- package/dist/{chunk-KHS2DZHH.js → chunk-HICQ4J4W.js} +1 -1
- package/dist/chunk-HPNZ3PYU.js +1448 -0
- package/dist/{chunk-F522K3P5.js → chunk-HQSSW7K3.js} +8 -8
- package/dist/{chunk-63X5ORDO.js → chunk-HSOSMPRC.js} +1 -1
- package/dist/{chunk-JRSCUUBT.js → chunk-IPJV2IOH.js} +1 -1
- package/dist/{chunk-HPYXHIRI.js → chunk-IWLNBDR2.js} +5 -5
- package/dist/{chunk-3QV3L3YY.js → chunk-IZOPKR64.js} +3 -3
- package/dist/{chunk-2CM26W2I.js → chunk-JRR4VKYD.js} +95 -6
- package/dist/{chunk-4OZISYDF.js → chunk-JSJSBB76.js} +2 -2
- package/dist/{chunk-PF7XQA2S.js → chunk-KJB3WZVD.js} +2 -2
- package/dist/{chunk-OHKSDHNC.js → chunk-L7PHZ7RY.js} +2 -2
- package/dist/{chunk-HRZMKJEC.js → chunk-LOMLLWHD.js} +705 -12
- package/dist/{chunk-XAXZ4T6H.js → chunk-MYPB2KTJ.js} +13 -6
- package/dist/{chunk-TKHW2G7O.js → chunk-N2QXEV5Y.js} +7 -7
- package/dist/{chunk-EXJW7EKR.js → chunk-OJHBCOBA.js} +164 -1
- package/dist/{chunk-ZKRDO4IG.js → chunk-POYMF7L6.js} +1 -1
- package/dist/{chunk-WX5BNZVX.js → chunk-RNYFPG7R.js} +4 -4
- package/dist/{chunk-PASKZCII.js → chunk-TN3NGTF7.js} +3 -3
- package/dist/{chunk-TYE252O5.js → chunk-VH3EET6H.js} +2 -2
- package/dist/{chunk-UZJKX5FN.js → chunk-X3F5IQBP.js} +5 -3
- package/dist/chunk-YASVILWQ.js +398 -0
- package/dist/{chunk-36TEHKVN.js → chunk-ZHXJYOOG.js} +2115 -25
- package/dist/executions.js +16 -15
- package/dist/history.js +8 -8
- package/dist/index.d.ts +15456 -235
- package/dist/index.js +1057 -55
- package/dist/{node-detail-view-GFC3UDYD.js → node-detail-view-BGWKE6KW.js} +489 -21
- package/dist/nodes.js +2 -2
- package/dist/observability.js +8 -8
- package/dist/{quick-config-panel-6XUUXIHX.js → quick-config-panel-67BU4I23.js} +8 -8
- package/dist/settings.js +10 -8
- package/dist/templates.js +15 -15
- package/dist/workflow-builder.js +17 -17
- package/dist/workflow-preview.js +2 -2
- package/dist/workflows-list.js +10 -10
- package/package.json +2 -2
- package/dist/chunk-ODWKSYMZ.js +0 -529
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RunFailureClustersDocument, DismissRunFailureClusterDocument, RunFailureTriageSettingsDocument, SetRunFailureTriageEnabledDocument, FgTriageFailedRunsDocument } from './chunk-
|
|
1
|
+
import { RunFailureClustersDocument, DismissRunFailureClusterDocument, RunFailureTriageSettingsDocument, SetRunFailureTriageEnabledDocument, FgTriageFailedRunsDocument } from './chunk-GOZR72NK.js';
|
|
2
2
|
import { useTr } from './chunk-UULVIT25.js';
|
|
3
3
|
import { getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
4
4
|
import { throwIfResultError } from './chunk-JKLZ6YZ3.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useNodeSelectedEvent, Card, FluidGridsMark } from './chunk-
|
|
1
|
+
import { useNodeSelectedEvent, Card, FluidGridsMark } from './chunk-66AKFXP7.js';
|
|
2
2
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
3
|
-
import { useWorkflowDefinition } from './chunk-
|
|
3
|
+
import { useWorkflowDefinition } from './chunk-KJB3WZVD.js';
|
|
4
4
|
import { Button } from './chunk-QJAZXCFQ.js';
|
|
5
|
-
import { FluidGridsProvider } from './chunk-
|
|
6
|
-
import { useFlowStore } from './chunk-
|
|
5
|
+
import { FluidGridsProvider } from './chunk-GI6BQIQA.js';
|
|
6
|
+
import { useFlowStore } from './chunk-X3F5IQBP.js';
|
|
7
7
|
import { cn } from './chunk-JL7CASN5.js';
|
|
8
8
|
import { useTr } from './chunk-UULVIT25.js';
|
|
9
9
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { computeAttachPosition, firstInputHandleId } from './chunk-
|
|
1
|
+
import { computeAttachPosition, firstInputHandleId } from './chunk-E7KIH3CF.js';
|
|
2
2
|
import { deepClone, applyTemplateInputs } from './chunk-GEMNVFPK.js';
|
|
3
3
|
import { templatePreview } from './chunk-B6CCE2RW.js';
|
|
4
4
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
5
5
|
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter as DialogFooter$1 } from './chunk-YXMFRQYV.js';
|
|
6
6
|
import { Badge as Badge$1 } from './chunk-TFCIZFDM.js';
|
|
7
|
-
import { LogsPanel } from './chunk-
|
|
8
|
-
import { QuotaExhaustedDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-
|
|
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-
|
|
10
|
-
import { buildNodeDisplayMap } from './chunk-
|
|
7
|
+
import { LogsPanel } from './chunk-IPJV2IOH.js';
|
|
8
|
+
import { QuotaExhaustedDialog, WorkflowShareDialog, useWorkflowCodeExport, orderedExportFiles, fileBaseName, downloadWorkflowCodeExport, isLosslessReport, sortFidelityItems, isLossyFidelityItem, lineOfNode } from './chunk-JSJSBB76.js';
|
|
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-TN3NGTF7.js';
|
|
10
|
+
import { buildNodeDisplayMap } from './chunk-HICQ4J4W.js';
|
|
11
11
|
import { AiCreditBalanceSlot } from './chunk-Y53CVZVV.js';
|
|
12
|
-
import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-
|
|
13
|
-
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-
|
|
12
|
+
import { countLifecycle, VersionLifecycleBar, VersionDiffDialog } from './chunk-L7PHZ7RY.js';
|
|
13
|
+
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-KJB3WZVD.js';
|
|
14
14
|
import { PublishCustomNodeAction } from './chunk-XRGAH6IQ.js';
|
|
15
15
|
import { Button } from './chunk-QJAZXCFQ.js';
|
|
16
16
|
import { useRequestedProposal } from './chunk-GLYINMOR.js';
|
|
17
17
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
18
|
-
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-
|
|
19
|
-
import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, useFluidGridsPermission, SdkPermissionGate } from './chunk-
|
|
18
|
+
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-GI6BQIQA.js';
|
|
19
|
+
import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, useFluidGridsPermission, SdkPermissionGate } from './chunk-AR22A74Y.js';
|
|
20
20
|
import { BuilderReadOnlyProvider, useBuilderReadOnly } from './chunk-SDZEAIIE.js';
|
|
21
|
-
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-
|
|
21
|
+
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-X3F5IQBP.js';
|
|
22
22
|
import { getGlobalStoreClient } from './chunk-TYI2XOSI.js';
|
|
23
23
|
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, SubmitWorkflowTemplateDocument, MyWorkflowTemplateSubmissionsDocument, WithdrawWorkflowTemplateSubmissionDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument, OrganizationPrivateNodesDocument, InstallOrganizationPrivateNodeDocument, UninstallOrganizationPrivateNodeDocument } from './chunk-G77IGC3Y.js';
|
|
24
|
-
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-
|
|
24
|
+
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-GOZR72NK.js';
|
|
25
25
|
import { cn } from './chunk-JL7CASN5.js';
|
|
26
26
|
import { useTr } from './chunk-UULVIT25.js';
|
|
27
27
|
import { waitForFluidGridsClient, getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
@@ -5358,7 +5358,7 @@ function TemplatesGrid({
|
|
|
5358
5358
|
] });
|
|
5359
5359
|
}
|
|
5360
5360
|
var LazyTemplateDetailPanel = lazy(
|
|
5361
|
-
() => import('./TemplateDetailPanel-
|
|
5361
|
+
() => import('./TemplateDetailPanel-5WY75DVB.js').then((m) => ({
|
|
5362
5362
|
default: m.TemplateDetailPanel
|
|
5363
5363
|
}))
|
|
5364
5364
|
);
|
|
@@ -21244,12 +21244,12 @@ function EditLeaseBanner() {
|
|
|
21244
21244
|
);
|
|
21245
21245
|
}
|
|
21246
21246
|
var LazyNodeDetailView = lazy(
|
|
21247
|
-
() => import('./node-detail-view-
|
|
21247
|
+
() => import('./node-detail-view-BGWKE6KW.js').then((m) => ({
|
|
21248
21248
|
default: m.NodeDetailView
|
|
21249
21249
|
}))
|
|
21250
21250
|
);
|
|
21251
21251
|
var LazyQuickConfigPanel = lazy(
|
|
21252
|
-
() => import('./quick-config-panel-
|
|
21252
|
+
() => import('./quick-config-panel-67BU4I23.js').then((m) => ({
|
|
21253
21253
|
default: m.QuickConfigPanel
|
|
21254
21254
|
}))
|
|
21255
21255
|
);
|
|
@@ -21311,7 +21311,7 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
21311
21311
|
);
|
|
21312
21312
|
useEffect(() => {
|
|
21313
21313
|
let cancelled = false;
|
|
21314
|
-
void import('./agentTools-
|
|
21314
|
+
void import('./agentTools-BW2XMHRV.js').then(({ createBuilderAgentTools }) => {
|
|
21315
21315
|
if (cancelled) return;
|
|
21316
21316
|
setAgentTools(
|
|
21317
21317
|
createBuilderAgentTools({
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-
|
|
1
|
+
import { asRecord, ConditionTreeBuilder, SwitchRulesEditor, casesFromRules, isStringOptionList, optionText, coerceNumber, paramsFromOperation, resolveLoadOptionsSpec, optionListValues, parseMappingValue, optionListText } from './chunk-IZOPKR64.js';
|
|
2
2
|
import { CodeEditorField, normalizeCodeLanguage } from './chunk-KZCNJAMK.js';
|
|
3
3
|
import { Popover, PopoverTrigger, PopoverContent } from './chunk-GTEBQQ7J.js';
|
|
4
|
-
import { AgentDefinitionSelectField } from './chunk-
|
|
4
|
+
import { AgentDefinitionSelectField } from './chunk-D5Y3DHGJ.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 { isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics, openRunQuotaUpgradePrompt } from './chunk-
|
|
7
|
+
import { isParamVisible, ConnectionSelector, structuredParameterType, useRunGuard, FluidGridsContext, ExpressionEditor, formatParameterValue, parseParameterValue, useFluidGridsAnalytics, openRunQuotaUpgradePrompt } from './chunk-GI6BQIQA.js';
|
|
8
8
|
import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
|
|
9
|
-
import { useFlowStore } from './chunk-
|
|
10
|
-
import { useRunFromNodeEligibilityQuery, PreviewScheduleDocument, WebhookTestListenerDocument, StopWebhookTestListenerDocument, ListenForWebhookTestEventDocument } from './chunk-
|
|
9
|
+
import { useFlowStore } from './chunk-X3F5IQBP.js';
|
|
10
|
+
import { useRunFromNodeEligibilityQuery, PreviewScheduleDocument, WebhookTestListenerDocument, StopWebhookTestListenerDocument, ListenForWebhookTestEventDocument } from './chunk-GOZR72NK.js';
|
|
11
11
|
import { useTr } from './chunk-UULVIT25.js';
|
|
12
12
|
import { getFluidGridsClientSafe, getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
13
13
|
import { throwIfResultError, describeOperationError } from './chunk-JKLZ6YZ3.js';
|
|
@@ -180,6 +180,17 @@ var FLUIDGRIDS_PERMISSIONS = {
|
|
|
180
180
|
DATA_TABLE_ROW_CREATE: "data-table-row:create",
|
|
181
181
|
DATA_TABLE_ROW_UPDATE: "data-table-row:update",
|
|
182
182
|
DATA_TABLE_ROW_DELETE: "data-table-row:delete",
|
|
183
|
+
// Self-hosted task queues and workers (Phase C, BOFF-9906): the
|
|
184
|
+
// `task-queue` resource of wspace-workflow-svc, and the `runner` resource
|
|
185
|
+
// the worker tokens of wspace-sandbox-svc use.
|
|
186
|
+
TASK_QUEUE_READ: "task-queue:read",
|
|
187
|
+
TASK_QUEUE_CREATE: "task-queue:create",
|
|
188
|
+
TASK_QUEUE_UPDATE: "task-queue:update",
|
|
189
|
+
TASK_QUEUE_DELETE: "task-queue:delete",
|
|
190
|
+
RUNNER_READ: "runner:read",
|
|
191
|
+
RUNNER_CREATE: "runner:create",
|
|
192
|
+
RUNNER_UPDATE: "runner:update",
|
|
193
|
+
RUNNER_DELETE: "runner:delete",
|
|
183
194
|
// AI Agent tool-call approvals (pendingToolApprovals, decideToolApproval)
|
|
184
195
|
TOOL_APPROVAL_REQUEST_READ: "tool-approval-request:read",
|
|
185
196
|
TOOL_APPROVAL_REQUEST_EXECUTE: "tool-approval-request:execute"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { emptyAgentForm, agentToForm, describeRule, formToInput, AgentFormError, DEFAULT_GRANT_DAYS, MAX_GRANT_DAYS, grantDays } from './chunk-WZ3EJVS6.js';
|
|
2
|
-
import { useAgentDefinitions, useAgentDefinitionList, useConnections } from './chunk-
|
|
2
|
+
import { useAgentDefinitions, useAgentDefinitionList, useConnections } from './chunk-GI6BQIQA.js';
|
|
3
3
|
import { useTr } from './chunk-UULVIT25.js';
|
|
4
4
|
import { describeOperationError } from './chunk-JKLZ6YZ3.js';
|
|
5
5
|
import { useState, useCallback, useEffect } from 'react';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { FailureTriagePanel } from './chunk-
|
|
1
|
+
import { FailureTriagePanel } from './chunk-54NXUOHI.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-
|
|
3
|
+
import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-POYMF7L6.js';
|
|
4
4
|
import { proposalCanvasPath } from './chunk-GLYINMOR.js';
|
|
5
|
-
import { useContinuousOptimisationEnabled } from './chunk-
|
|
6
|
-
import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton } from './chunk-
|
|
7
|
-
import { SetContinuousOptimisationEnabledDocument, FgRunOptimisationScanDocument, ProposeOptimisationDocument, WorkflowProposalDocument, DismissOptimisationSuggestionDocument, SnoozeOptimisationSuggestionDocument, WorkspaceAiUsageDocument, OptimisationSuggestionsDocument, ContinuousOptimisationSettingsDocument } from './chunk-
|
|
5
|
+
import { useContinuousOptimisationEnabled } from './chunk-GI6BQIQA.js';
|
|
6
|
+
import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton } from './chunk-AR22A74Y.js';
|
|
7
|
+
import { SetContinuousOptimisationEnabledDocument, FgRunOptimisationScanDocument, ProposeOptimisationDocument, WorkflowProposalDocument, DismissOptimisationSuggestionDocument, SnoozeOptimisationSuggestionDocument, WorkspaceAiUsageDocument, OptimisationSuggestionsDocument, ContinuousOptimisationSettingsDocument } from './chunk-GOZR72NK.js';
|
|
8
8
|
import { useTr } from './chunk-UULVIT25.js';
|
|
9
9
|
import { getFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
10
10
|
import { throwIfResultError } from './chunk-JKLZ6YZ3.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { SdkPermissionGate, FLUIDGRIDS_PERMISSIONS } from './chunk-
|
|
1
|
+
import { SdkPermissionGate, FLUIDGRIDS_PERMISSIONS } from './chunk-AR22A74Y.js';
|
|
2
2
|
import { useBuilderReadOnly } from './chunk-SDZEAIIE.js';
|
|
3
|
-
import { STICKY_NOTE_TYPE, useFlowStore, resolveOperationName, synchronizeOperationUpdate, isNodeTrigger, resolveOutputHandles, resolveInputHandles, outputHandlesSpacerHeight, WAIT_FOR_SIGNAL_NODE_TYPE, CODE_WORKFLOW_NODE_TYPE, readSignalName, LogicNodeCard, NodeCard, NodeCardHeader, NodeCardBody, InputHandles, OutputHandles, NodeTypeIcon, nodeAccent, readCodeWorkflowState, partitionStickyNotes, interfaceFields, interfaceHandlers } from './chunk-
|
|
3
|
+
import { STICKY_NOTE_TYPE, useFlowStore, resolveOperationName, synchronizeOperationUpdate, isNodeTrigger, resolveOutputHandles, resolveInputHandles, outputHandlesSpacerHeight, WAIT_FOR_SIGNAL_NODE_TYPE, CODE_WORKFLOW_NODE_TYPE, readSignalName, LogicNodeCard, NodeCard, NodeCardHeader, NodeCardBody, InputHandles, OutputHandles, NodeTypeIcon, nodeAccent, readCodeWorkflowState, partitionStickyNotes, interfaceFields, interfaceHandlers } from './chunk-X3F5IQBP.js';
|
|
4
4
|
import { getGlobalStoreClient, createGlobalStoreClient, setGlobalStoreClient, resetGlobalStoreClient } from './chunk-TYI2XOSI.js';
|
|
5
5
|
import { GetMyNodeInstallationsDocument } from './chunk-G77IGC3Y.js';
|
|
6
|
-
import { fetchAllNodeEndpointConfigs, NodeManifestDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, ExecuteStepDocument, TriggerWorkflowDocument, RunFromNodeDocument, ExecutionDetailDocument, WorkflowDefinitionDocument, WorkflowRunDocument } from './chunk-
|
|
6
|
+
import { fetchAllNodeEndpointConfigs, NodeManifestDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, ExecuteStepDocument, TriggerWorkflowDocument, RunFromNodeDocument, ExecutionDetailDocument, WorkflowDefinitionDocument, WorkflowRunDocument } from './chunk-GOZR72NK.js';
|
|
7
7
|
import { useTr, ENGLISH_FALLBACK_TRANSLATOR, FluidGridsTranslationProvider } from './chunk-UULVIT25.js';
|
|
8
8
|
import { waitForFluidGridsClient, getFluidGridsClient, getFluidGridsClientSafe, createFluidGridsClient, setFluidGridsClient, resetFluidGridsClient } from './chunk-PDODDDHY.js';
|
|
9
9
|
import { throwIfResultError, emitFluidGridsEvent, emitOperationErrorEvent, describeOperationError, emitRunCompletedOnce } from './chunk-JKLZ6YZ3.js';
|
|
@@ -249,6 +249,15 @@ function usePhaseCFlags() {
|
|
|
249
249
|
const context = useOptionalFeatureFlags();
|
|
250
250
|
return useMemo(() => resolvePhaseCFlags(context), [context]);
|
|
251
251
|
}
|
|
252
|
+
function resolveFluidGridsFlagsSettled(context) {
|
|
253
|
+
if (!context) return true;
|
|
254
|
+
if (context.error) return true;
|
|
255
|
+
return evaluationsUsable(context);
|
|
256
|
+
}
|
|
257
|
+
function useFluidGridsFlagsSettled() {
|
|
258
|
+
const context = useOptionalFeatureFlags();
|
|
259
|
+
return useMemo(() => resolveFluidGridsFlagsSettled(context), [context]);
|
|
260
|
+
}
|
|
252
261
|
function useSelfHostedWorkersEnabled() {
|
|
253
262
|
return usePhaseCFlags().selfHostedWorkers;
|
|
254
263
|
}
|
|
@@ -1290,6 +1299,74 @@ function CodeWorkflowCardSection({
|
|
|
1290
1299
|
);
|
|
1291
1300
|
}
|
|
1292
1301
|
|
|
1302
|
+
// src/builder/components/run-control/node-summary.ts
|
|
1303
|
+
var SIGNAL_RUN_NODE_TYPE = "internal:signal-run";
|
|
1304
|
+
var SET_SEARCH_ATTRIBUTES_NODE_TYPE = "internal:set-search-attributes";
|
|
1305
|
+
function isRecord2(value) {
|
|
1306
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1307
|
+
}
|
|
1308
|
+
function objectOf(value) {
|
|
1309
|
+
if (isRecord2(value)) return value;
|
|
1310
|
+
if (typeof value !== "string" || !value.trim()) return void 0;
|
|
1311
|
+
try {
|
|
1312
|
+
const parsed = JSON.parse(value);
|
|
1313
|
+
return isRecord2(parsed) ? parsed : void 0;
|
|
1314
|
+
} catch {
|
|
1315
|
+
return void 0;
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
function short(value) {
|
|
1319
|
+
if (typeof value !== "string" || !value.trim()) return void 0;
|
|
1320
|
+
const text = value.trim();
|
|
1321
|
+
return text.length > 24 ? `${text.slice(0, 23)}\u2026` : text;
|
|
1322
|
+
}
|
|
1323
|
+
function describeSignalRunTarget(target) {
|
|
1324
|
+
const value = objectOf(target);
|
|
1325
|
+
if (!value) return void 0;
|
|
1326
|
+
if (value.parent === true) return { kind: "parent" };
|
|
1327
|
+
const runId = short(value.runId);
|
|
1328
|
+
if (runId) return { kind: "run", runId };
|
|
1329
|
+
const workflowId = short(value.workflowId);
|
|
1330
|
+
const workflowKey = short(value.workflowKey);
|
|
1331
|
+
if (workflowId)
|
|
1332
|
+
return workflowKey ? { kind: "workflow", workflowId, workflowKey } : { kind: "workflow", workflowId };
|
|
1333
|
+
return void 0;
|
|
1334
|
+
}
|
|
1335
|
+
function formatSignalRunTarget(tr, target) {
|
|
1336
|
+
switch (target.kind) {
|
|
1337
|
+
case "parent":
|
|
1338
|
+
return tr("fluidgrids.runControl.node.signalRun.parent", "parent run");
|
|
1339
|
+
case "run":
|
|
1340
|
+
return tr("fluidgrids.runControl.node.signalRun.run", "run {{runId}}", {
|
|
1341
|
+
runId: target.runId
|
|
1342
|
+
});
|
|
1343
|
+
case "workflow":
|
|
1344
|
+
return target.workflowKey ? `${target.workflowKey}/${target.workflowId}` : target.workflowId;
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
function readSignalRunSummary(tr, state) {
|
|
1348
|
+
if (!state) return void 0;
|
|
1349
|
+
const signal = short(state.signalName);
|
|
1350
|
+
const described = describeSignalRunTarget(state.target);
|
|
1351
|
+
const target = described ? formatSignalRunTarget(tr, described) : void 0;
|
|
1352
|
+
if (signal && target) return `${signal} \u2192 ${target}`;
|
|
1353
|
+
return signal ?? target;
|
|
1354
|
+
}
|
|
1355
|
+
function readSearchAttributesSummary(state) {
|
|
1356
|
+
const attributes = objectOf(state?.attributes);
|
|
1357
|
+
if (!attributes) return void 0;
|
|
1358
|
+
const names = Object.keys(attributes).sort();
|
|
1359
|
+
if (names.length === 0) return void 0;
|
|
1360
|
+
const shown = names.slice(0, 3).join(", ");
|
|
1361
|
+
return names.length > 3 ? `${shown} +${names.length - 3}` : shown;
|
|
1362
|
+
}
|
|
1363
|
+
function runControlNodeSubtitle(tr, nodeType, state) {
|
|
1364
|
+
if (nodeType === SIGNAL_RUN_NODE_TYPE) return readSignalRunSummary(tr, state);
|
|
1365
|
+
if (nodeType === SET_SEARCH_ATTRIBUTES_NODE_TYPE)
|
|
1366
|
+
return readSearchAttributesSummary(state);
|
|
1367
|
+
return void 0;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1293
1370
|
// src/modules/ui-blocks/registry.ts
|
|
1294
1371
|
var registry = /* @__PURE__ */ new Map();
|
|
1295
1372
|
function registerCustomBlock(name, component) {
|
|
@@ -2535,7 +2612,7 @@ var AdaptiveCardRenderer = forwardRef(function AdaptiveCardRenderer2({ cardData,
|
|
|
2535
2612
|
var components_default = AdaptiveCardRenderer;
|
|
2536
2613
|
|
|
2537
2614
|
// src/modules/ui-blocks/parse.ts
|
|
2538
|
-
function
|
|
2615
|
+
function isRecord3(value) {
|
|
2539
2616
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2540
2617
|
}
|
|
2541
2618
|
function humanizeFieldName(name) {
|
|
@@ -2546,7 +2623,7 @@ function synthesizeCardFromInputFields(inputFields) {
|
|
|
2546
2623
|
if (names.length === 0) return null;
|
|
2547
2624
|
const body = [];
|
|
2548
2625
|
for (const name of names) {
|
|
2549
|
-
const field =
|
|
2626
|
+
const field = isRecord3(inputFields[name]) ? inputFields[name] : {};
|
|
2550
2627
|
const description = typeof field.description === "string" ? field.description : void 0;
|
|
2551
2628
|
const required = field.required === true;
|
|
2552
2629
|
const secret = field.secret === true;
|
|
@@ -2577,9 +2654,9 @@ function synthesizeCardFromInputFields(inputFields) {
|
|
|
2577
2654
|
}
|
|
2578
2655
|
function secretFieldNames(inputFields) {
|
|
2579
2656
|
const names = /* @__PURE__ */ new Set();
|
|
2580
|
-
if (!
|
|
2657
|
+
if (!isRecord3(inputFields)) return names;
|
|
2581
2658
|
for (const [name, field] of Object.entries(inputFields)) {
|
|
2582
|
-
if (
|
|
2659
|
+
if (isRecord3(field) && field.secret === true) names.add(name);
|
|
2583
2660
|
}
|
|
2584
2661
|
return names;
|
|
2585
2662
|
}
|
|
@@ -2592,7 +2669,7 @@ function maskSecretInputs(card, secrets) {
|
|
|
2592
2669
|
if (secrets.size === 0) return card;
|
|
2593
2670
|
const visit = (value) => {
|
|
2594
2671
|
if (Array.isArray(value)) return value.map(visit);
|
|
2595
|
-
if (!
|
|
2672
|
+
if (!isRecord3(value)) return value;
|
|
2596
2673
|
const copy = {};
|
|
2597
2674
|
for (const [key, nested] of Object.entries(value))
|
|
2598
2675
|
copy[key] = visit(nested);
|
|
@@ -2606,7 +2683,7 @@ function maskSecretInputs(card, secrets) {
|
|
|
2606
2683
|
return visit(card);
|
|
2607
2684
|
}
|
|
2608
2685
|
function validateUiSpec(raw) {
|
|
2609
|
-
if (!
|
|
2686
|
+
if (!isRecord3(raw)) return "ui is not an object";
|
|
2610
2687
|
if (raw.version !== 1)
|
|
2611
2688
|
return `unsupported ui.version: ${String(raw.version)}`;
|
|
2612
2689
|
if (!Array.isArray(raw.blocks) || raw.blocks.length === 0) {
|
|
@@ -2615,7 +2692,7 @@ function validateUiSpec(raw) {
|
|
|
2615
2692
|
const seenIds = /* @__PURE__ */ new Set();
|
|
2616
2693
|
const blocks = [];
|
|
2617
2694
|
for (const [index, rawBlock] of raw.blocks.entries()) {
|
|
2618
|
-
if (!
|
|
2695
|
+
if (!isRecord3(rawBlock)) return `ui.blocks[${index}] is not an object`;
|
|
2619
2696
|
const id = rawBlock.id;
|
|
2620
2697
|
if (typeof id !== "string" || id.length === 0) {
|
|
2621
2698
|
return `ui.blocks[${index}] is missing a non-empty string id`;
|
|
@@ -2623,7 +2700,7 @@ function validateUiSpec(raw) {
|
|
|
2623
2700
|
if (seenIds.has(id)) return `ui.blocks has duplicate id "${id}"`;
|
|
2624
2701
|
seenIds.add(id);
|
|
2625
2702
|
if (rawBlock.type === "adaptive_card") {
|
|
2626
|
-
if (!
|
|
2703
|
+
if (!isRecord3(rawBlock.card)) {
|
|
2627
2704
|
return `ui.blocks[${index}] ("${id}") has no card object`;
|
|
2628
2705
|
}
|
|
2629
2706
|
blocks.push({ id, type: "adaptive_card", card: rawBlock.card });
|
|
@@ -2635,7 +2712,7 @@ function validateUiSpec(raw) {
|
|
|
2635
2712
|
id,
|
|
2636
2713
|
type: "custom",
|
|
2637
2714
|
component: rawBlock.component,
|
|
2638
|
-
props:
|
|
2715
|
+
props: isRecord3(rawBlock.props) ? rawBlock.props : void 0
|
|
2639
2716
|
});
|
|
2640
2717
|
} else {
|
|
2641
2718
|
return `ui.blocks[${index}] ("${id}") has unknown type "${String(rawBlock.type)}"`;
|
|
@@ -2662,7 +2739,7 @@ function resolveUiSpec(operation) {
|
|
|
2662
2739
|
`ui-blocks: invalid ui declaration on operation "${operation.name ?? "?"}" (${result}); falling back to adaptive_card`
|
|
2663
2740
|
);
|
|
2664
2741
|
}
|
|
2665
|
-
if (
|
|
2742
|
+
if (isRecord3(operation.adaptive_card)) {
|
|
2666
2743
|
return {
|
|
2667
2744
|
spec: {
|
|
2668
2745
|
version: 1,
|
|
@@ -2677,7 +2754,7 @@ function resolveUiSpec(operation) {
|
|
|
2677
2754
|
synthesized: true
|
|
2678
2755
|
};
|
|
2679
2756
|
}
|
|
2680
|
-
if (
|
|
2757
|
+
if (isRecord3(operation.input_fields)) {
|
|
2681
2758
|
const card = synthesizeCardFromInputFields(operation.input_fields);
|
|
2682
2759
|
if (card) {
|
|
2683
2760
|
return {
|
|
@@ -2692,17 +2769,17 @@ function resolveUiSpec(operation) {
|
|
|
2692
2769
|
return null;
|
|
2693
2770
|
}
|
|
2694
2771
|
function isSubmitAction(action) {
|
|
2695
|
-
return
|
|
2772
|
+
return isRecord3(action) && action.type === "Action.Submit";
|
|
2696
2773
|
}
|
|
2697
2774
|
function stripFromActions(actions) {
|
|
2698
2775
|
return actions.filter((action) => !isSubmitAction(action)).map(
|
|
2699
|
-
(action) =>
|
|
2776
|
+
(action) => isRecord3(action) && isRecord3(action.card) ? { ...action, card: stripSubmitActions(action.card) } : action
|
|
2700
2777
|
);
|
|
2701
2778
|
}
|
|
2702
2779
|
function stripFromElements(elements) {
|
|
2703
2780
|
const result = [];
|
|
2704
2781
|
for (const element of elements) {
|
|
2705
|
-
if (!
|
|
2782
|
+
if (!isRecord3(element)) {
|
|
2706
2783
|
result.push(element);
|
|
2707
2784
|
continue;
|
|
2708
2785
|
}
|
|
@@ -2717,7 +2794,7 @@ function stripFromElements(elements) {
|
|
|
2717
2794
|
}
|
|
2718
2795
|
if (Array.isArray(el.columns)) {
|
|
2719
2796
|
el.columns = el.columns.map(
|
|
2720
|
-
(column) =>
|
|
2797
|
+
(column) => isRecord3(column) && Array.isArray(column.items) ? { ...column, items: stripFromElements(column.items) } : column
|
|
2721
2798
|
);
|
|
2722
2799
|
}
|
|
2723
2800
|
result.push(el);
|
|
@@ -4044,11 +4121,11 @@ function notifyWorkflowSaved(workflowKey) {
|
|
|
4044
4121
|
}
|
|
4045
4122
|
|
|
4046
4123
|
// src/builder/lib/display-options.ts
|
|
4047
|
-
function
|
|
4124
|
+
function isRecord4(value) {
|
|
4048
4125
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4049
4126
|
}
|
|
4050
4127
|
function readRuleSet(value) {
|
|
4051
|
-
if (!
|
|
4128
|
+
if (!isRecord4(value)) return void 0;
|
|
4052
4129
|
const rules = {};
|
|
4053
4130
|
for (const [key, allowed] of Object.entries(value)) {
|
|
4054
4131
|
if (Array.isArray(allowed)) rules[key] = allowed;
|
|
@@ -4057,8 +4134,8 @@ function readRuleSet(value) {
|
|
|
4057
4134
|
return Object.keys(rules).length > 0 ? rules : void 0;
|
|
4058
4135
|
}
|
|
4059
4136
|
function readDisplayOptions(spec) {
|
|
4060
|
-
const raw =
|
|
4061
|
-
if (!
|
|
4137
|
+
const raw = isRecord4(spec) ? spec.displayOptions : void 0;
|
|
4138
|
+
if (!isRecord4(raw)) return void 0;
|
|
4062
4139
|
const show = readRuleSet(raw.show);
|
|
4063
4140
|
const hide = readRuleSet(raw.hide);
|
|
4064
4141
|
if (!show && !hide) return void 0;
|
|
@@ -4071,7 +4148,7 @@ function matches(current, allowed) {
|
|
|
4071
4148
|
);
|
|
4072
4149
|
}
|
|
4073
4150
|
function isParamVisible(spec, values, defaults = {}) {
|
|
4074
|
-
const options =
|
|
4151
|
+
const options = isRecord4(spec) ? readDisplayOptions(spec) ?? (isRecord4(spec.show) || isRecord4(spec.hide) ? readDisplayOptions({ displayOptions: spec }) : void 0) : void 0;
|
|
4075
4152
|
if (!options) return true;
|
|
4076
4153
|
const valueOf = (key) => values[key] === void 0 ? defaults[key] : values[key];
|
|
4077
4154
|
if (options.show) {
|
|
@@ -4091,7 +4168,7 @@ function isParamVisible(spec, values, defaults = {}) {
|
|
|
4091
4168
|
function defaultsOf(fields) {
|
|
4092
4169
|
const defaults = {};
|
|
4093
4170
|
for (const [name, spec] of Object.entries(fields)) {
|
|
4094
|
-
if (
|
|
4171
|
+
if (isRecord4(spec) && spec.default !== void 0)
|
|
4095
4172
|
defaults[name] = spec.default;
|
|
4096
4173
|
}
|
|
4097
4174
|
return defaults;
|
|
@@ -4102,17 +4179,17 @@ function dropHiddenParameters(state, fields, mappedFields = /* @__PURE__ */ new
|
|
|
4102
4179
|
let next;
|
|
4103
4180
|
const ensure = () => next ??= { ...state };
|
|
4104
4181
|
for (const [name, spec] of Object.entries(fields)) {
|
|
4105
|
-
if (!
|
|
4182
|
+
if (!isRecord4(spec)) continue;
|
|
4106
4183
|
if (!mappedFields.has(name) && Object.hasOwn(state, name) && !isParamVisible(spec, state, defaults)) {
|
|
4107
4184
|
delete ensure()[name];
|
|
4108
4185
|
continue;
|
|
4109
4186
|
}
|
|
4110
|
-
const rowFields =
|
|
4187
|
+
const rowFields = isRecord4(spec.fields) ? spec.fields : void 0;
|
|
4111
4188
|
const rows = state[name];
|
|
4112
4189
|
if (rowFields && Array.isArray(rows)) {
|
|
4113
4190
|
let changed = false;
|
|
4114
4191
|
const cleaned = rows.map((row) => {
|
|
4115
|
-
if (!
|
|
4192
|
+
if (!isRecord4(row)) return row;
|
|
4116
4193
|
const cleanedRow = dropHiddenParameters(row, rowFields);
|
|
4117
4194
|
if (cleanedRow !== row) changed = true;
|
|
4118
4195
|
return cleanedRow;
|
|
@@ -4124,7 +4201,7 @@ function dropHiddenParameters(state, fields, mappedFields = /* @__PURE__ */ new
|
|
|
4124
4201
|
}
|
|
4125
4202
|
|
|
4126
4203
|
// src/builder/lib/field-schema.ts
|
|
4127
|
-
function
|
|
4204
|
+
function isRecord5(value) {
|
|
4128
4205
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4129
4206
|
}
|
|
4130
4207
|
function isIdentifier(key) {
|
|
@@ -4143,11 +4220,11 @@ function pathToExpression(path) {
|
|
|
4143
4220
|
function mergeFieldSpecs(common, variant) {
|
|
4144
4221
|
const base = typeof common === "string" ? { type: common } : common;
|
|
4145
4222
|
const branch = typeof variant === "string" ? { type: variant } : variant;
|
|
4146
|
-
if (!
|
|
4223
|
+
if (!isRecord5(base) || !isRecord5(branch)) return branch;
|
|
4147
4224
|
const merged = { ...base, ...branch };
|
|
4148
4225
|
const commonProperties = base.properties;
|
|
4149
4226
|
const branchProperties = branch.properties;
|
|
4150
|
-
if (
|
|
4227
|
+
if (isRecord5(commonProperties) && isRecord5(branchProperties)) {
|
|
4151
4228
|
merged.properties = Object.fromEntries(
|
|
4152
4229
|
Object.entries({ ...commonProperties, ...branchProperties }).map(
|
|
4153
4230
|
([key, value]) => [
|
|
@@ -4166,14 +4243,14 @@ function fieldFromSpec(key, path, spec) {
|
|
|
4166
4243
|
if (typeof spec === "string") {
|
|
4167
4244
|
return { key, path, type: spec };
|
|
4168
4245
|
}
|
|
4169
|
-
if (
|
|
4246
|
+
if (isRecord5(spec)) {
|
|
4170
4247
|
const declaredType2 = typeof spec.type === "string" ? spec.type : void 0;
|
|
4171
4248
|
const description = typeof spec.description === "string" ? spec.description : void 0;
|
|
4172
4249
|
const required = spec.required === true;
|
|
4173
4250
|
const alternatives = ["oneOf", "anyOf"].flatMap((keyword) => {
|
|
4174
4251
|
const variants = spec[keyword];
|
|
4175
4252
|
return Array.isArray(variants) ? variants.flatMap(
|
|
4176
|
-
(variant, index) =>
|
|
4253
|
+
(variant, index) => isRecord5(variant) || typeof variant === "string" ? [{ keyword, index, variant }] : []
|
|
4177
4254
|
) : [];
|
|
4178
4255
|
});
|
|
4179
4256
|
if (alternatives.length > 0) {
|
|
@@ -4202,7 +4279,7 @@ function fieldFromSpec(key, path, spec) {
|
|
|
4202
4279
|
type: declaredType2 ?? [...new Set(children.map((field) => field.type))].join(" | ")
|
|
4203
4280
|
};
|
|
4204
4281
|
}
|
|
4205
|
-
if (
|
|
4282
|
+
if (isRecord5(spec.properties) && (!declaredType2 || declaredType2 === "object")) {
|
|
4206
4283
|
const children = Object.entries(spec.properties).map(
|
|
4207
4284
|
([childKey, childSpec]) => fieldFromSpec(childKey, joinPath(path, childKey), childSpec)
|
|
4208
4285
|
);
|
|
@@ -4224,7 +4301,7 @@ function fieldFromSpec(key, path, spec) {
|
|
|
4224
4301
|
return { key, path, type: "any" };
|
|
4225
4302
|
}
|
|
4226
4303
|
function fieldsFromIO(io, root = "") {
|
|
4227
|
-
if (!
|
|
4304
|
+
if (!isRecord5(io)) return [];
|
|
4228
4305
|
return Object.entries(io).map(
|
|
4229
4306
|
([key, spec]) => fieldFromSpec(key, joinPath(root, key), spec)
|
|
4230
4307
|
);
|
|
@@ -4243,7 +4320,7 @@ function fieldFromValue(key, path, value) {
|
|
|
4243
4320
|
const children = value.length > 0 ? [fieldFromValue("0", `${path}[0]`, value[0])] : void 0;
|
|
4244
4321
|
return { key, path, type: "array", children };
|
|
4245
4322
|
}
|
|
4246
|
-
if (
|
|
4323
|
+
if (isRecord5(value)) {
|
|
4247
4324
|
const children = Object.entries(value).map(
|
|
4248
4325
|
([k, v]) => fieldFromValue(k, joinPath(path, k), v)
|
|
4249
4326
|
);
|
|
@@ -4252,7 +4329,7 @@ function fieldFromValue(key, path, value) {
|
|
|
4252
4329
|
return { key, path, type: typeOfValue(value) };
|
|
4253
4330
|
}
|
|
4254
4331
|
function fieldsFromValue(value, root = "") {
|
|
4255
|
-
if (!
|
|
4332
|
+
if (!isRecord5(value)) return [];
|
|
4256
4333
|
return Object.entries(value).map(
|
|
4257
4334
|
([key, v]) => fieldFromValue(key, joinPath(root, key), v)
|
|
4258
4335
|
);
|
|
@@ -4268,13 +4345,13 @@ function declaredOutputFields(nodeType, op) {
|
|
|
4268
4345
|
}
|
|
4269
4346
|
function normalizeOperations(raw) {
|
|
4270
4347
|
if (Array.isArray(raw)) return raw;
|
|
4271
|
-
if (
|
|
4348
|
+
if (isRecord5(raw) && Array.isArray(raw.operations)) {
|
|
4272
4349
|
return raw.operations;
|
|
4273
4350
|
}
|
|
4274
4351
|
return [];
|
|
4275
4352
|
}
|
|
4276
4353
|
function resolveNodeOperation(data, fallbackOperations) {
|
|
4277
|
-
const nodeData =
|
|
4354
|
+
const nodeData = isRecord5(data?.nodeData) ? data?.nodeData : void 0;
|
|
4278
4355
|
let operations = normalizeOperations(nodeData?.operations);
|
|
4279
4356
|
if (operations.length === 0) {
|
|
4280
4357
|
operations = normalizeOperations(data?.operations);
|
|
@@ -4288,11 +4365,11 @@ function resolveNodeOperation(data, fallbackOperations) {
|
|
|
4288
4365
|
}
|
|
4289
4366
|
|
|
4290
4367
|
// src/builder/lib/parameter-values.ts
|
|
4291
|
-
function
|
|
4368
|
+
function isRecord6(value) {
|
|
4292
4369
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
4293
4370
|
}
|
|
4294
4371
|
function record(value) {
|
|
4295
|
-
return
|
|
4372
|
+
return isRecord6(value) ? value : void 0;
|
|
4296
4373
|
}
|
|
4297
4374
|
function declaredType(schema) {
|
|
4298
4375
|
const type = typeof schema === "string" ? schema : record(schema)?.type;
|
|
@@ -7778,7 +7855,12 @@ var getNodeMetadata = (value) => {
|
|
|
7778
7855
|
const argsState = data?.args?.state;
|
|
7779
7856
|
const rules = argsState?.rules;
|
|
7780
7857
|
const mode = argsState?.mode;
|
|
7781
|
-
const
|
|
7858
|
+
const runControlSubtitle = runControlNodeSubtitle(
|
|
7859
|
+
tr,
|
|
7860
|
+
value?.type,
|
|
7861
|
+
argsState
|
|
7862
|
+
);
|
|
7863
|
+
const logicSubtitle = isWaitForSignal ? readSignalName(argsState) : runControlSubtitle !== void 0 ? runControlSubtitle : Array.isArray(rules) ? `${rules.length} rule${rules.length === 1 ? "" : "s"}` : typeof mode === "string" ? mode : void 0;
|
|
7782
7864
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
7783
7865
|
/* @__PURE__ */ jsx(
|
|
7784
7866
|
LogicNodeCard,
|
|
@@ -8240,4 +8322,4 @@ function createNodeWithDefaultData(type, data) {
|
|
|
8240
8322
|
return Object.assign(createNodeData(type, defaultData), data);
|
|
8241
8323
|
}
|
|
8242
8324
|
|
|
8243
|
-
export { AUTOSAVE_DEBOUNCE_MS, AUTOSAVE_RETRY_DELAYS_MS, AVAILABLE_NODES, BILLING_PLANS_PATH, ConnectionFormDialog, ConnectionSelector, DURABLE_FUNCTION_NODE_TYPES, EDIT_SESSION_ID, ExpressionEditor, FLUIDGRIDS_FLAGS, FLUIDGRIDS_FLAG_DEFAULTS, FluidGridsContext, FluidGridsProvider, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, NodePropertyPanel, PHASE_C_FLAGS_OFF, RUNS_QUOTA_NAME, RUN_CONTROL_NODE_TYPES, WORKFLOWS_QUOTA_NAME, WORKFLOW_TEST_NODE_TYPES, autosaveAllowedFor, bannerOf, blankWorkflowCreateInput, buildOperationSeed, buildStickyNode, builderPathOf, canAutosave, canSignalRun, classifyCreateRefusal, clearCodeWorkflowDefinitionCache, codeBuildIdOf, components_default, createConfiguredNode, createThenOpen, declaredOutputFields, declaredSignals, departingSave, editStateFor, editingLeaseLocked, emitNodeInstalled, emitRunFailed, emitRunLimitHit, emitRunStarted, emitTemplateUsed, emitUpgradeClicked, emitWorkflowCreated, emitWorkflowLimitHit, emitWorkflowPublished, ensureNodeConfigsLoaded, fieldsFromIO, fieldsFromValue, filterPaletteNodes, findQuotaRefusal, findSaveConflict, forgetSessionForReload, formatElapsedMs, formatParameterValue, getNodeDetail, getNodeMetadata, inAppLeaveTarget, isDurableFunctionNodeType, isFlowComplete, isLocked, isNodeConfigsInitialized, isNodeTypeHiddenFromPalette, isParamVisible, isQuotaExhaustedFailure, isRunControlNodeType, leaseCallQueue, leavingLosesChanges, listCustomBlocks, liveInternalOperations, loadDefinitionJson, nodeStateDurationMs, nodesOf, onNodeTypesUpdate, openRunQuotaUpgradePrompt, parseParameterValue, parseRawSignalPayload, pathToExpression, payloadFromCardValues, phaseAfterAcquire, phaseAfterTakeOver, readDisplayOptions, refetchStoreNodes, registerCustomBlock, registerWorkflowNodeTypes, releasesOnClose, rememberOwnStatusChange, rememberRevision, rememberSessionForReload, resolveNodeOperation, resolvePhaseCFlags, resolveUiSpec, runDurationMs, runSignalTargets, runTriggerFromMode, saveIndicatorOf, savedEverythingBeforeLeaving, sessionBeforeReload, shouldReleaseForIdle, signalPayloadCard, stripSubmitActions, structuredParameterType, subscribeWorkflowSaved, tickAction, touchesSavedFields, useAgentDefinitionList, useAgentDefinitions, useCodeWorkflowInterface, useConnection, useConnections, useConnectionsByProvider, useContinuousOptimisationEnabled, useCreateConnection, useDurableFunctionNodesEnabled, useDurableParityEnabled, useEditLeaseLocked, useEditLeaseStore, useFlowValidator, useFluidGridsAnalytics, useFluidGridsContext, useFluidGridsFlag, useGuardedNavigate, useInitiateOAuth, useInsertNode, useManualSave, useNodeExecution, useNodeRegistryRevision, usePaletteGates, usePhaseCFlags, useProviders, useRunGuard, useSaveStatusStore, useSaveWorkflow, useSelfHostedWorkersEnabled, useWorkflowTestsEnabled, watchLeavingLosesChanges, workflowFingerprint };
|
|
8325
|
+
export { AUTOSAVE_DEBOUNCE_MS, AUTOSAVE_RETRY_DELAYS_MS, AVAILABLE_NODES, BILLING_PLANS_PATH, ConnectionFormDialog, ConnectionSelector, DURABLE_FUNCTION_NODE_TYPES, EDIT_SESSION_ID, ExpressionEditor, FLUIDGRIDS_FLAGS, FLUIDGRIDS_FLAG_DEFAULTS, FluidGridsContext, FluidGridsProvider, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, NodePropertyPanel, PHASE_C_FLAGS_OFF, RUNS_QUOTA_NAME, RUN_CONTROL_NODE_TYPES, WORKFLOWS_QUOTA_NAME, WORKFLOW_TEST_NODE_TYPES, autosaveAllowedFor, bannerOf, blankWorkflowCreateInput, buildOperationSeed, buildStickyNode, builderPathOf, canAutosave, canSignalRun, classifyCreateRefusal, clearCodeWorkflowDefinitionCache, codeBuildIdOf, components_default, createConfiguredNode, createThenOpen, declaredOutputFields, declaredSignals, departingSave, durableInterfaceOf, editStateFor, editingLeaseLocked, emitNodeInstalled, emitRunFailed, emitRunLimitHit, emitRunStarted, emitTemplateUsed, emitUpgradeClicked, emitWorkflowCreated, emitWorkflowLimitHit, emitWorkflowPublished, ensureNodeConfigsLoaded, fieldsFromIO, fieldsFromValue, filterPaletteNodes, findQuotaRefusal, findSaveConflict, forgetSessionForReload, formatElapsedMs, formatParameterValue, getNodeDetail, getNodeMetadata, inAppLeaveTarget, isDurableFunctionNodeType, isFlowComplete, isLocked, isNodeConfigsInitialized, isNodeTypeHiddenFromPalette, isParamVisible, isQuotaExhaustedFailure, isRunControlNodeType, leaseCallQueue, leavingLosesChanges, listCustomBlocks, liveInternalOperations, loadDefinitionJson, nodeStateDurationMs, nodesOf, onNodeTypesUpdate, openRunQuotaUpgradePrompt, parseParameterValue, parseRawSignalPayload, pathToExpression, payloadFromCardValues, phaseAfterAcquire, phaseAfterTakeOver, readDisplayOptions, refetchStoreNodes, registerCustomBlock, registerWorkflowNodeTypes, releasesOnClose, rememberOwnStatusChange, rememberRevision, rememberSessionForReload, resolveFluidGridsFlagsSettled, resolveNodeOperation, resolvePhaseCFlags, resolveUiSpec, runDurationMs, runSignalTargets, runTriggerFromMode, saveIndicatorOf, savedEverythingBeforeLeaving, sessionBeforeReload, shouldReleaseForIdle, signalPayloadCard, stripSubmitActions, structuredParameterType, subscribeWorkflowSaved, tickAction, touchesSavedFields, useAgentDefinitionList, useAgentDefinitions, useCodeWorkflowInterface, useConnection, useConnections, useConnectionsByProvider, useContinuousOptimisationEnabled, useCreateConnection, useDurableFunctionNodesEnabled, useDurableParityEnabled, useEditLeaseLocked, useEditLeaseStore, useFlowValidator, useFluidGridsAnalytics, useFluidGridsContext, useFluidGridsFlag, useFluidGridsFlagsSettled, useGuardedNavigate, useInitiateOAuth, useInsertNode, useManualSave, useNodeExecution, useNodeRegistryRevision, usePaletteGates, usePhaseCFlags, useProviders, useRunGuard, useSaveStatusStore, useSaveWorkflow, useSelfHostedWorkersEnabled, useWorkflowTestsEnabled, watchLeavingLosesChanges, workflowFingerprint };
|