@burdenoff/fluidgrids-fe-sdk 2026.1104.3 → 2026.1105.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/README.md +38 -0
- package/dist/ExecutionDetailPage-HQB2SWBP.js +28 -0
- package/dist/ExecutionsListPage-RSLL634L.js +22 -0
- package/dist/WorkflowBuilder-E3PNZX74.js +32 -0
- package/dist/WorkflowsList-473FRRP2.js +21 -0
- package/dist/{agentTools-SZZN6TP3.js → agentTools-5N3ZEZDW.js} +8 -7
- package/dist/{chunk-NIY6R42C.js → chunk-2KUZBEWW.js} +7 -5
- package/dist/{chunk-NTWG3CJX.js → chunk-3IXU7WUC.js} +32 -21
- package/dist/{chunk-AAIZ6S6E.js → chunk-3QCRKKTI.js} +70 -88
- package/dist/{chunk-WTV6SQYK.js → chunk-3XUWPDKJ.js} +616 -25
- package/dist/{chunk-XCSCD3IU.js → chunk-5CFCFA6O.js} +8 -7
- package/dist/{chunk-DFIX6YWP.js → chunk-62CCBMDC.js} +40 -21
- package/dist/{chunk-KHXRYQYP.js → chunk-64JN2TVX.js} +4 -3
- package/dist/{chunk-NYBL5WHP.js → chunk-6IS7EXIY.js} +3 -3
- package/dist/{chunk-YYVRBROH.js → chunk-6ZK4MRVA.js} +1 -1
- package/dist/{chunk-4YCMMBSK.js → chunk-AJVU5YW6.js} +3 -3
- package/dist/{chunk-NGXJHYV5.js → chunk-AMXJLVZN.js} +2 -2
- package/dist/{chunk-PXIFUMLA.js → chunk-AU7LACOY.js} +16 -11
- package/dist/{chunk-GEY7RXRZ.js → chunk-CH3YUGWR.js} +4 -4
- package/dist/{chunk-XNU2PLJ2.js → chunk-CNKTQ5MG.js} +189 -9
- package/dist/{chunk-BIB7IH26.js → chunk-EYQ7GJRW.js} +5 -5
- package/dist/{chunk-X6PIU7FE.js → chunk-GKFMK7FF.js} +4 -3
- package/dist/{chunk-NJRCAE6K.js → chunk-HK76ZUAK.js} +5 -5
- package/dist/{chunk-F7LQL43U.js → chunk-IL343FKX.js} +2 -2
- package/dist/{chunk-5D4XS3WJ.js → chunk-J3YQCEP3.js} +18 -4
- package/dist/{chunk-4EUEKSEQ.js → chunk-L2N6DDOI.js} +2 -2
- package/dist/chunk-NZAYYUQ4.js +172 -0
- package/dist/{chunk-ON7LK6QH.js → chunk-O7CJJNW6.js} +278 -197
- package/dist/{chunk-ZDCJPQ5M.js → chunk-OXXXUAWM.js} +2 -2
- package/dist/{chunk-D4WA2M2N.js → chunk-QFC6E3WD.js} +4 -3
- package/dist/{chunk-AFX3EKFN.js → chunk-QFGZXWTM.js} +16 -4
- package/dist/{chunk-IK7IGG6T.js → chunk-QPLFALVV.js} +9 -8
- package/dist/{chunk-MF7JLSJX.js → chunk-SALZ3LQB.js} +11 -2
- package/dist/{chunk-SS7Y66P5.js → chunk-TCIBTMJI.js} +70 -4
- package/dist/{chunk-OMB3WMDQ.js → chunk-TNFBRXU7.js} +11 -10
- package/dist/chunk-UEG2WC3G.js +502 -0
- package/dist/chunk-US5QSLPV.js +316 -0
- package/dist/{chunk-5UHAB75U.js → chunk-W5WML3OO.js} +1 -1
- package/dist/chunk-WZ3EJVS6.js +93 -0
- package/dist/{chunk-Q72EOY4T.js → chunk-X25NCWG2.js} +9 -3
- package/dist/{chunk-VDJFTZ2H.js → chunk-XFH6SLDK.js} +4 -93
- package/dist/{chunk-TBHAZK52.js → chunk-Y6M7K4UG.js} +1 -1
- package/dist/{chunk-AVHBWJRY.js → chunk-Z3ABLERJ.js} +3 -1
- package/dist/client-YVZMLEQX.js +3 -0
- package/dist/config-66FUPSG5.js +1 -0
- package/dist/executions.js +18 -15
- package/dist/global-client-N5EIFW6T.js +3 -0
- package/dist/history.js +9 -8
- package/dist/index.d.ts +172 -133
- package/dist/index.js +95 -74
- package/dist/{node-detail-view-GAGSLHAO.js → node-detail-view-WIWW5N6N.js} +36 -11
- package/dist/nodes.js +5 -3
- package/dist/observability.js +10 -8
- package/dist/{quick-config-panel-44RBX6YR.js → quick-config-panel-O64TXXK3.js} +10 -8
- package/dist/settings.js +11 -9
- package/dist/templates.js +15 -14
- package/dist/{workflow-builder-BMGVSwpy.d.ts → workflow-builder-7vv9dCdp.d.ts} +413 -2
- package/dist/workflow-builder.d.ts +2 -1
- package/dist/workflow-builder.js +17 -16
- package/dist/workflows-list.js +11 -10
- package/package.json +1 -1
- package/dist/ExecutionDetailPage-ND2VMU45.js +0 -25
- package/dist/ExecutionsListPage-EZ65FXER.js +0 -20
- package/dist/WorkflowBuilder-4I44FWII.js +0 -31
- package/dist/WorkflowsList-YFD2RKKQ.js +0 -20
- package/dist/chunk-6AMNEX2Y.js +0 -214
- package/dist/client-EYQDMR4O.js +0 -1
- package/dist/config-3DBXLCK3.js +0 -1
- package/dist/global-client-O2HCG5CJ.js +0 -1
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { CreateWorkflowRefusalDialog, firstWorkflowProgress, GUIDED_TOUR_STATE, builderPathFor } from './chunk-
|
|
2
|
-
import { useExecutions } from './chunk-
|
|
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-
|
|
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';
|
|
4
4
|
import { workflowsListControls } from './chunk-FNZZ5JJL.js';
|
|
5
|
-
import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, usePreviewN8nImport, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-
|
|
5
|
+
import { useCreateWorkflow, useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, usePreviewN8nImport, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-QFGZXWTM.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,
|
|
8
|
+
import { createThenOpen, FluidGridsContext, useFluidGridsFlag, FLUIDGRIDS_FLAGS, BILLING_PLANS_PATH, useFlowStore, isQuotaExhaustedFailure } from './chunk-3QCRKKTI.js';
|
|
9
9
|
import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS, SdkPermissionButton, SdkPermissionGate } from './chunk-5375NUIO.js';
|
|
10
|
-
import { WorkflowFoldersDocument, CreateWorkflowFolderDocument, RenameWorkflowFolderDocument, MoveWorkflowFolderDocument, DeleteWorkflowFolderDocument, WorkflowProjectsDocument, CreateWorkflowProjectDocument, RenameWorkflowProjectDocument, DeleteWorkflowProjectDocument, BulkMoveWorkflowsToFolderDocument, BulkAssignWorkflowsToProjectDocument, BulkDeleteWorkflowsDocument } from './chunk-
|
|
10
|
+
import { WorkflowFoldersDocument, CreateWorkflowFolderDocument, RenameWorkflowFolderDocument, MoveWorkflowFolderDocument, DeleteWorkflowFolderDocument, WorkflowProjectsDocument, CreateWorkflowProjectDocument, RenameWorkflowProjectDocument, DeleteWorkflowProjectDocument, BulkMoveWorkflowsToFolderDocument, BulkAssignWorkflowsToProjectDocument, BulkDeleteWorkflowsDocument } from './chunk-Z3ABLERJ.js';
|
|
11
11
|
import { useTr } from './chunk-UULVIT25.js';
|
|
12
|
-
import { getFluidGridsClient } from './chunk-
|
|
12
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
13
|
+
import { describeOperationError, throwIfResultError } from './chunk-US5QSLPV.js';
|
|
13
14
|
import { useState, useRef, useCallback, useContext, useMemo, useEffect } from 'react';
|
|
14
15
|
import { useNavigate } from 'react-router';
|
|
15
16
|
import { v4 } from 'uuid';
|
|
@@ -3,26 +3,27 @@ import { templatePreview } from './chunk-B6CCE2RW.js';
|
|
|
3
3
|
import { Input } from './chunk-IEVSFCFS.js';
|
|
4
4
|
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter as DialogFooter$1 } from './chunk-YXMFRQYV.js';
|
|
5
5
|
import { Badge as Badge$1, Button } from './chunk-BQXVT32O.js';
|
|
6
|
-
import { LogsPanel } from './chunk-
|
|
7
|
-
import { computeAttachPosition, firstInputHandleId } 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-
|
|
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';
|
|
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
|
+
import { buildNodeDisplayMap } from './chunk-IL343FKX.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-64JN2TVX.js';
|
|
13
|
+
import { useRestoreWorkflowVersion, useWorkflowVersions, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-QFGZXWTM.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,
|
|
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';
|
|
17
17
|
import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, useFluidGridsPermission, SdkPermissionGate } from './chunk-5375NUIO.js';
|
|
18
18
|
import { cn } from './chunk-JL7CASN5.js';
|
|
19
19
|
import { BuilderReadOnlyProvider, useBuilderReadOnly } from './chunk-OCJTTHTS.js';
|
|
20
|
-
import { getGlobalStoreClient } from './chunk-
|
|
21
|
-
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
20
|
+
import { getGlobalStoreClient } from './chunk-AU7LACOY.js';
|
|
22
21
|
import { GetMyNodeInstallationsDocument, BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, SubmitWorkflowTemplateDocument, MyWorkflowTemplateSubmissionsDocument, WithdrawWorkflowTemplateSubmissionDocument, InstallPurchasedNodeDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument, GetNodeInstallableVersionsDocument, OrganizationPrivateNodesDocument, InstallOrganizationPrivateNodeDocument, UninstallOrganizationPrivateNodeDocument } from './chunk-G77IGC3Y.js';
|
|
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-
|
|
22
|
+
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';
|
|
24
23
|
import { useTr } from './chunk-UULVIT25.js';
|
|
25
|
-
import { waitForFluidGridsClient, getFluidGridsClient } from './chunk-
|
|
24
|
+
import { waitForFluidGridsClient, getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
25
|
+
import { throwIfResultError, describeOperationError, emitFluidGridsEvent } from './chunk-US5QSLPV.js';
|
|
26
|
+
import { getFluidGridsConfig } from './chunk-UEG2WC3G.js';
|
|
26
27
|
import * as React3 from 'react';
|
|
27
28
|
import React3__default, { forwardRef, lazy, memo, createContext, useState, useRef, useCallback, useEffect, useContext, useMemo, useLayoutEffect, Suspense, useDeferredValue } from 'react';
|
|
28
29
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -5529,9 +5530,9 @@ function DesktopSidebarFragment({
|
|
|
5529
5530
|
(n) => !!n.storeProductId
|
|
5530
5531
|
);
|
|
5531
5532
|
if (nodesToInstall.length > 0) {
|
|
5532
|
-
const { getGlobalStoreClient: getStore } = await import('./global-client-
|
|
5533
|
+
const { getGlobalStoreClient: getStore } = await import('./global-client-N5EIFW6T.js');
|
|
5533
5534
|
const { InstallWorkflowNodeDocument: InstallWorkflowNodeDocument2 } = await import('./global-operations-BZDHTSYP.js');
|
|
5534
|
-
const { getFluidGridsConfig: getFluidGridsConfig3 } = await import('./config-
|
|
5535
|
+
const { getFluidGridsConfig: getFluidGridsConfig3 } = await import('./config-66FUPSG5.js');
|
|
5535
5536
|
const storeClient = getStore();
|
|
5536
5537
|
const cfg = getFluidGridsConfig3();
|
|
5537
5538
|
for (let i = 0; i < nodesToInstall.length; i++) {
|
|
@@ -5591,8 +5592,8 @@ function DesktopSidebarFragment({
|
|
|
5591
5592
|
overrides.templateInputs
|
|
5592
5593
|
);
|
|
5593
5594
|
}
|
|
5594
|
-
const { getFluidGridsClient: getFluidGridsClient2 } = await import('./client-
|
|
5595
|
-
const { getFluidGridsConfig: getFluidGridsConfig2 } = await import('./config-
|
|
5595
|
+
const { getFluidGridsClient: getFluidGridsClient2 } = await import('./client-YVZMLEQX.js');
|
|
5596
|
+
const { getFluidGridsConfig: getFluidGridsConfig2 } = await import('./config-66FUPSG5.js');
|
|
5596
5597
|
const { gql: gql5 } = await import('@apollo/client/core');
|
|
5597
5598
|
const IMPORT_MUTATION = gql5`
|
|
5598
5599
|
mutation ImportWorkflowTemplate(
|
|
@@ -5649,7 +5650,7 @@ function DesktopSidebarFragment({
|
|
|
5649
5650
|
category: content.defaultCategory || template.category
|
|
5650
5651
|
});
|
|
5651
5652
|
try {
|
|
5652
|
-
const { getGlobalStoreClient: getStoreClient } = await import('./global-client-
|
|
5653
|
+
const { getGlobalStoreClient: getStoreClient } = await import('./global-client-N5EIFW6T.js');
|
|
5653
5654
|
const { InstallWorkflowNodeDocument: InstallWorkflowNodeDocument2 } = await import('./global-operations-BZDHTSYP.js');
|
|
5654
5655
|
const storeClient = getStoreClient();
|
|
5655
5656
|
if (storeClient) {
|
|
@@ -5749,7 +5750,7 @@ function DesktopSidebarFragment({
|
|
|
5749
5750
|
),
|
|
5750
5751
|
{ id: "template-load" }
|
|
5751
5752
|
);
|
|
5752
|
-
const { getGlobalStoreClient: getGlobalStoreClient2 } = await import('./global-client-
|
|
5753
|
+
const { getGlobalStoreClient: getGlobalStoreClient2 } = await import('./global-client-N5EIFW6T.js');
|
|
5753
5754
|
const { gql: gql5 } = await import('@apollo/client/core');
|
|
5754
5755
|
const GET_TEMPLATE_DETAIL = gql5`
|
|
5755
5756
|
query GetWorkflowTemplateDetail($id: ID!) {
|
|
@@ -6005,6 +6006,23 @@ function useDeleteKeyCode() {
|
|
|
6005
6006
|
});
|
|
6006
6007
|
return deleteKeyCode;
|
|
6007
6008
|
}
|
|
6009
|
+
function nodeSelectionPayload(nodes) {
|
|
6010
|
+
if (nodes.length === 0) return { nodeId: null };
|
|
6011
|
+
if (nodes.length > 1) return void 0;
|
|
6012
|
+
const [node] = nodes;
|
|
6013
|
+
if (!node) return void 0;
|
|
6014
|
+
return { nodeId: node.id, nodeType: node.type };
|
|
6015
|
+
}
|
|
6016
|
+
function useNodeSelectedEvent() {
|
|
6017
|
+
const lastReported = useRef(null);
|
|
6018
|
+
const onChange = useCallback(({ nodes }) => {
|
|
6019
|
+
const payload = nodeSelectionPayload(nodes);
|
|
6020
|
+
if (!payload || payload.nodeId === lastReported.current) return;
|
|
6021
|
+
lastReported.current = payload.nodeId;
|
|
6022
|
+
emitFluidGridsEvent("node:selected", payload);
|
|
6023
|
+
}, []);
|
|
6024
|
+
useOnSelectionChange({ onChange });
|
|
6025
|
+
}
|
|
6008
6026
|
function useOnNodesDelete(nodes) {
|
|
6009
6027
|
const [nodePropertiesSelectedNode, nodePropertiesSetSelectedNode] = useFlowStore(
|
|
6010
6028
|
useShallow((state) => [
|
|
@@ -21222,12 +21240,12 @@ function EditLeaseBanner() {
|
|
|
21222
21240
|
);
|
|
21223
21241
|
}
|
|
21224
21242
|
var LazyNodeDetailView = lazy(
|
|
21225
|
-
() => import('./node-detail-view-
|
|
21243
|
+
() => import('./node-detail-view-WIWW5N6N.js').then((m) => ({
|
|
21226
21244
|
default: m.NodeDetailView
|
|
21227
21245
|
}))
|
|
21228
21246
|
);
|
|
21229
21247
|
var LazyQuickConfigPanel = lazy(
|
|
21230
|
-
() => import('./quick-config-panel-
|
|
21248
|
+
() => import('./quick-config-panel-O64TXXK3.js').then((m) => ({
|
|
21231
21249
|
default: m.QuickConfigPanel
|
|
21232
21250
|
}))
|
|
21233
21251
|
);
|
|
@@ -21289,7 +21307,7 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
21289
21307
|
);
|
|
21290
21308
|
useEffect(() => {
|
|
21291
21309
|
let cancelled = false;
|
|
21292
|
-
void import('./agentTools-
|
|
21310
|
+
void import('./agentTools-5N3ZEZDW.js').then(({ createBuilderAgentTools }) => {
|
|
21293
21311
|
if (cancelled) return;
|
|
21294
21312
|
setAgentTools(
|
|
21295
21313
|
createBuilderAgentTools({
|
|
@@ -21352,6 +21370,7 @@ var FlowBuilder = ({ readOnly = false }) => {
|
|
|
21352
21370
|
handleAddConnectedNode
|
|
21353
21371
|
} = useAddNodeOnEdgeDrop();
|
|
21354
21372
|
const deleteKeyCode = useDeleteKeyCode();
|
|
21373
|
+
useNodeSelectedEvent();
|
|
21355
21374
|
const onNodesDelete = useOnNodesDelete(nodes);
|
|
21356
21375
|
const [onDragOver, onDrop] = useDragDropFlowBuilder();
|
|
21357
21376
|
const isValidConnection = useIsValidConnection(nodes, edges);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { mergeStickyNotes
|
|
2
|
-
import { WorkflowDefinitionDocument, WorkflowVersionDiffDocument } from './chunk-
|
|
1
|
+
import { mergeStickyNotes } from './chunk-3QCRKKTI.js';
|
|
2
|
+
import { WorkflowDefinitionDocument, WorkflowVersionDiffDocument } from './chunk-Z3ABLERJ.js';
|
|
3
3
|
import { useTr } from './chunk-UULVIT25.js';
|
|
4
|
-
import { getFluidGridsClient } from './chunk-
|
|
4
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
5
|
+
import { describeOperationError, throwIfResultError } from './chunk-US5QSLPV.js';
|
|
5
6
|
import { memo, useState, useEffect, useMemo, useRef, useCallback } from 'react';
|
|
6
7
|
import { ArrowLeftRight, Eye, RotateCcw, Loader2 } from 'lucide-react';
|
|
7
8
|
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, Button, Badge, AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Tabs, TabsList, TabsTrigger, TabsContent } from '@burdenoff/fe-libs/ui';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { versionsOfWorkflow, VersionDiffDialog } from './chunk-
|
|
1
|
+
import { versionsOfWorkflow, VersionDiffDialog } from './chunk-64JN2TVX.js';
|
|
2
2
|
import { historyControls } from './chunk-FNZZ5JJL.js';
|
|
3
|
-
import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-
|
|
3
|
+
import { useWorkflowDefinitions, useRestoreWorkflowVersion } from './chunk-QFGZXWTM.js';
|
|
4
4
|
import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
|
|
5
5
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
6
|
-
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
7
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
7
|
+
import { getFluidGridsConfig } from './chunk-UEG2WC3G.js';
|
|
8
8
|
import { useState, useMemo, useCallback } from 'react';
|
|
9
9
|
import { useNavigate } from 'react-router';
|
|
10
10
|
import { Icon } from '@iconify/react';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useFlowStore, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-
|
|
1
|
+
import { structuredParameterType, parseParameterValue, liveInternalOperations, resolveNodeOperation, readDisplayOptions, getNodeDetail, useFlowStore, useNodeRegistryRevision, fieldsFromIO, pathToExpression, NODE_CONFIGS, resolveUiSpec, fieldsFromValue, declaredOutputFields, subscribeWorkflowSaved } from './chunk-3QCRKKTI.js';
|
|
2
2
|
import { useBuilderReadOnly } from './chunk-OCJTTHTS.js';
|
|
3
|
-
import { EventRegistrationsDocument } from './chunk-
|
|
3
|
+
import { EventRegistrationsDocument } from './chunk-Z3ABLERJ.js';
|
|
4
4
|
import { useTr } from './chunk-UULVIT25.js';
|
|
5
|
-
import { getFluidGridsClientSafe } from './chunk-
|
|
5
|
+
import { getFluidGridsClientSafe } from './chunk-3IXU7WUC.js';
|
|
6
6
|
import { useMemo, useState, useEffect, useRef, useCallback } from 'react';
|
|
7
7
|
import { Icon } from '@iconify/react';
|
|
8
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { throwIfResultError, describeOperationError } from './chunk-AAIZ6S6E.js';
|
|
2
1
|
import { useTr } from './chunk-UULVIT25.js';
|
|
3
|
-
import { getFluidGridsClient } from './chunk-
|
|
2
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
3
|
+
import { throwIfResultError, describeOperationError } from './chunk-US5QSLPV.js';
|
|
4
4
|
import { useState, useCallback, useEffect, useMemo } from 'react';
|
|
5
5
|
import { gql } from '@apollo/client';
|
|
6
6
|
import { Button } from '@burdenoff/fe-libs/button';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createLiveTokenReader, createFluidGridsTokenRefreshLink } from './chunk-US5QSLPV.js';
|
|
1
2
|
import { createHttpLink, ApolloClient, InMemoryCache } from '@apollo/client/core';
|
|
2
3
|
import { setContext } from '@apollo/client/link/context';
|
|
3
4
|
|
|
@@ -15,19 +16,23 @@ function createGlobalStoreClient(config) {
|
|
|
15
16
|
const httpLink = createHttpLink({
|
|
16
17
|
uri: config.globalApiUrl
|
|
17
18
|
});
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"x-
|
|
19
|
+
const readTokens = createLiveTokenReader({ authToken: config.authToken });
|
|
20
|
+
const authLink = setContext((_, { headers }) => {
|
|
21
|
+
const { authToken } = readTokens();
|
|
22
|
+
return {
|
|
23
|
+
headers: {
|
|
24
|
+
...headers,
|
|
25
|
+
...authToken && { authorization: `Bearer ${authToken}` },
|
|
26
|
+
"x-workspace-id": config.workspaceId,
|
|
27
|
+
...config.tenantId && { "x-tenant-id": config.tenantId },
|
|
28
|
+
...config.organizationId && {
|
|
29
|
+
"x-organization-id": config.organizationId
|
|
30
|
+
}
|
|
26
31
|
}
|
|
27
|
-
}
|
|
28
|
-
})
|
|
32
|
+
};
|
|
33
|
+
});
|
|
29
34
|
return new ApolloClient({
|
|
30
|
-
link: authLink.concat(httpLink),
|
|
35
|
+
link: createFluidGridsTokenRefreshLink().concat(authLink).concat(httpLink),
|
|
31
36
|
cache: new InMemoryCache(),
|
|
32
37
|
defaultOptions: {
|
|
33
38
|
watchQuery: {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TEMPLATE_STORE_CATEGORIES, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-
|
|
2
|
-
import { QuotaExhaustedDialog } from './chunk-
|
|
1
|
+
import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TEMPLATE_STORE_CATEGORIES, TemplateCard, useTemplateSubmissions, usePublishToStore } from './chunk-62CCBMDC.js';
|
|
2
|
+
import { QuotaExhaustedDialog } from './chunk-GKFMK7FF.js';
|
|
3
3
|
import { templatesControls } from './chunk-FNZZ5JJL.js';
|
|
4
|
-
import { useWorkflowDefinitions, useDuplicateWorkflow, useLazyWorkflowDefinition } from './chunk-
|
|
4
|
+
import { useWorkflowDefinitions, useDuplicateWorkflow, useLazyWorkflowDefinition } from './chunk-QFGZXWTM.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-
|
|
7
|
+
import { BILLING_PLANS_PATH, useFluidGridsAnalytics, emitTemplateUsed, isQuotaExhaustedFailure } from './chunk-3QCRKKTI.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,12 +1,14 @@
|
|
|
1
|
-
import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-
|
|
2
|
-
import {
|
|
1
|
+
import { validateDateRange, statusCountFilter, STATUS_COUNT_GROUP_BY, statusCountsOf } from './chunk-J3YQCEP3.js';
|
|
2
|
+
import { isAgentNodeType } from './chunk-WZ3EJVS6.js';
|
|
3
|
+
import { useAvailableTags, formatRunVersion, nodeDisplayTitle } from './chunk-IL343FKX.js';
|
|
3
4
|
import { executionsControls } from './chunk-FNZZ5JJL.js';
|
|
4
5
|
import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
|
|
5
|
-
import { useDurableParityEnabled
|
|
6
|
-
import {
|
|
7
|
-
import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-AVHBWJRY.js';
|
|
6
|
+
import { useDurableParityEnabled } from './chunk-3QCRKKTI.js';
|
|
7
|
+
import { SetWorkflowRunVersioningOverrideDocument, WorkflowRunsCountDocument, DurableParityRunFieldsDocument, WorkflowRunPendingDocument, WorkflowRunMetadataDocument } from './chunk-Z3ABLERJ.js';
|
|
8
8
|
import { useTr } from './chunk-UULVIT25.js';
|
|
9
|
-
import { getFluidGridsClient } from './chunk-
|
|
9
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
10
|
+
import { throwIfResultError, describeOperationError } from './chunk-US5QSLPV.js';
|
|
11
|
+
import { useExecutionsStore } from './chunk-UEG2WC3G.js';
|
|
10
12
|
import { Icon } from '@iconify/react';
|
|
11
13
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
12
14
|
import { useMemo, useState, useCallback, useRef, useEffect } from 'react';
|
|
@@ -1821,6 +1823,168 @@ function ExecutionTimeline({
|
|
|
1821
1823
|
] })
|
|
1822
1824
|
] }, dateLabel)) });
|
|
1823
1825
|
}
|
|
1826
|
+
|
|
1827
|
+
// src/modules/executions/utils/agent-trace.ts
|
|
1828
|
+
function isRecord(value) {
|
|
1829
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
1830
|
+
}
|
|
1831
|
+
function asRecord(value) {
|
|
1832
|
+
if (isRecord(value)) return value;
|
|
1833
|
+
if (typeof value === "string") {
|
|
1834
|
+
const parsed = tryParseJson(value);
|
|
1835
|
+
return isRecord(parsed) ? parsed : null;
|
|
1836
|
+
}
|
|
1837
|
+
return null;
|
|
1838
|
+
}
|
|
1839
|
+
function tryParseJson(text) {
|
|
1840
|
+
const trimmed = text.trim();
|
|
1841
|
+
if (!trimmed || trimmed[0] !== "{" && trimmed[0] !== "[") return void 0;
|
|
1842
|
+
try {
|
|
1843
|
+
return JSON.parse(trimmed);
|
|
1844
|
+
} catch {
|
|
1845
|
+
return void 0;
|
|
1846
|
+
}
|
|
1847
|
+
}
|
|
1848
|
+
function stringOrNull(value) {
|
|
1849
|
+
return typeof value === "string" && value.length > 0 ? value : null;
|
|
1850
|
+
}
|
|
1851
|
+
function finiteOrNull(value) {
|
|
1852
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
1853
|
+
}
|
|
1854
|
+
function prettyValue(value) {
|
|
1855
|
+
if (value === null || value === void 0) return null;
|
|
1856
|
+
if (typeof value === "string") {
|
|
1857
|
+
if (!value.length) return null;
|
|
1858
|
+
const parsed = tryParseJson(value);
|
|
1859
|
+
return parsed === void 0 ? value : JSON.stringify(parsed, null, 2);
|
|
1860
|
+
}
|
|
1861
|
+
try {
|
|
1862
|
+
return JSON.stringify(value, null, 2) ?? null;
|
|
1863
|
+
} catch {
|
|
1864
|
+
return String(value);
|
|
1865
|
+
}
|
|
1866
|
+
}
|
|
1867
|
+
function classifyObservation(observation) {
|
|
1868
|
+
const record = asRecord(observation);
|
|
1869
|
+
if (!record) return { outcome: "ok", reason: null };
|
|
1870
|
+
if (record.error === "tool_call_rejected") {
|
|
1871
|
+
return { outcome: "rejected", reason: stringOrNull(record.reason) };
|
|
1872
|
+
}
|
|
1873
|
+
const keys = Object.keys(record);
|
|
1874
|
+
if (typeof record.error === "string" && record.error.length > 0 && keys.every((key) => key === "error" || key === "reason")) {
|
|
1875
|
+
return { outcome: "failed", reason: record.error };
|
|
1876
|
+
}
|
|
1877
|
+
return { outcome: "ok", reason: null };
|
|
1878
|
+
}
|
|
1879
|
+
function toStep(raw, index) {
|
|
1880
|
+
if (!isRecord(raw)) return null;
|
|
1881
|
+
const tool = stringOrNull(raw.tool) ?? stringOrNull(raw.toolName) ?? stringOrNull(raw.action) ?? stringOrNull(raw.name);
|
|
1882
|
+
if (!tool) return null;
|
|
1883
|
+
const observationRaw = raw.observation ?? raw.output ?? raw.result;
|
|
1884
|
+
const { outcome, reason } = classifyObservation(observationRaw);
|
|
1885
|
+
const seconds = finiteOrNull(raw.duration);
|
|
1886
|
+
return {
|
|
1887
|
+
index,
|
|
1888
|
+
tool,
|
|
1889
|
+
args: prettyValue(raw.args ?? raw.input ?? raw.actionInput ?? raw.argsJson),
|
|
1890
|
+
observation: prettyValue(observationRaw),
|
|
1891
|
+
outcome,
|
|
1892
|
+
reason,
|
|
1893
|
+
// The Python node records seconds; the worker records no duration.
|
|
1894
|
+
durationMs: seconds === null ? null : Math.round(seconds * 1e3)
|
|
1895
|
+
};
|
|
1896
|
+
}
|
|
1897
|
+
function toSteps(raw) {
|
|
1898
|
+
if (!Array.isArray(raw)) return [];
|
|
1899
|
+
const steps = [];
|
|
1900
|
+
for (const item of raw) {
|
|
1901
|
+
const step = toStep(item, steps.length);
|
|
1902
|
+
if (step) steps.push(step);
|
|
1903
|
+
}
|
|
1904
|
+
return steps;
|
|
1905
|
+
}
|
|
1906
|
+
function toPendingApprovals(raw) {
|
|
1907
|
+
if (!Array.isArray(raw)) return [];
|
|
1908
|
+
const pending = [];
|
|
1909
|
+
for (const item of raw) {
|
|
1910
|
+
if (!isRecord(item)) continue;
|
|
1911
|
+
const tool = stringOrNull(item.name) ?? stringOrNull(item.tool);
|
|
1912
|
+
if (!tool) continue;
|
|
1913
|
+
const callId = stringOrNull(item.id) ?? stringOrNull(item.callId);
|
|
1914
|
+
pending.push({
|
|
1915
|
+
key: callId ?? `pending-${pending.length}`,
|
|
1916
|
+
callId,
|
|
1917
|
+
tool,
|
|
1918
|
+
args: prettyValue(item.argsJson ?? item.args)
|
|
1919
|
+
});
|
|
1920
|
+
}
|
|
1921
|
+
return pending;
|
|
1922
|
+
}
|
|
1923
|
+
var PAYLOAD_KEYS = [
|
|
1924
|
+
"steps",
|
|
1925
|
+
"response",
|
|
1926
|
+
"iterationCount",
|
|
1927
|
+
"tokensUsed",
|
|
1928
|
+
"toolCalls",
|
|
1929
|
+
"intermediateSteps"
|
|
1930
|
+
];
|
|
1931
|
+
function looksLikeAgentPayload(value) {
|
|
1932
|
+
return isRecord(value) && PAYLOAD_KEYS.some((key) => key in value);
|
|
1933
|
+
}
|
|
1934
|
+
function findAgentPayload(output) {
|
|
1935
|
+
if (looksLikeAgentPayload(output))
|
|
1936
|
+
return { operation: null, payload: output };
|
|
1937
|
+
for (const [key, value] of Object.entries(output)) {
|
|
1938
|
+
if (key.startsWith("_")) continue;
|
|
1939
|
+
if (looksLikeAgentPayload(value)) return { operation: key, payload: value };
|
|
1940
|
+
}
|
|
1941
|
+
return { operation: null, payload: null };
|
|
1942
|
+
}
|
|
1943
|
+
function durationOf(node) {
|
|
1944
|
+
const recorded = finiteOrNull(node.duration);
|
|
1945
|
+
if (recorded !== null) return recorded;
|
|
1946
|
+
if (!node.startTime || !node.endTime) return null;
|
|
1947
|
+
const ms = new Date(node.endTime).getTime() - new Date(node.startTime).getTime();
|
|
1948
|
+
return Number.isFinite(ms) && ms >= 0 ? ms : null;
|
|
1949
|
+
}
|
|
1950
|
+
function parseAgentNodeState(node) {
|
|
1951
|
+
const output = asRecord(node.output) ?? {};
|
|
1952
|
+
const { operation, payload } = findAgentPayload(output);
|
|
1953
|
+
const resumeState = asRecord(output._agentResumeState);
|
|
1954
|
+
const waitingForApproval = output._waiting === "tool_approval" || output._agentApprovalWaiting === true;
|
|
1955
|
+
let steps = toSteps(payload?.steps);
|
|
1956
|
+
if (!steps.length) steps = toSteps(resumeState?.steps);
|
|
1957
|
+
if (!steps.length) steps = toSteps(payload?.toolCalls);
|
|
1958
|
+
if (!steps.length) steps = toSteps(payload?.intermediateSteps);
|
|
1959
|
+
const pendingApprovals = waitingForApproval ? toPendingApprovals(
|
|
1960
|
+
output._pendingApprovals ?? resumeState?.pendingToolCalls
|
|
1961
|
+
) : [];
|
|
1962
|
+
const iterationCount = finiteOrNull(payload?.iterationCount) ?? (resumeState && finiteOrNull(resumeState.iteration) !== null ? (finiteOrNull(resumeState.iteration) ?? 0) + 1 : null);
|
|
1963
|
+
return {
|
|
1964
|
+
nodeStateId: node.id,
|
|
1965
|
+
nodeId: node.nodeId,
|
|
1966
|
+
nodeType: node.nodeType,
|
|
1967
|
+
status: node.status,
|
|
1968
|
+
operation,
|
|
1969
|
+
response: prettyValue(payload?.response),
|
|
1970
|
+
error: stringOrNull(payload?.error) ?? stringOrNull(node.error),
|
|
1971
|
+
tokensUsed: finiteOrNull(payload?.tokensUsed) ?? finiteOrNull(resumeState?.totalTokens),
|
|
1972
|
+
iterationCount,
|
|
1973
|
+
steps,
|
|
1974
|
+
waitingForApproval,
|
|
1975
|
+
pendingApprovals,
|
|
1976
|
+
startTime: node.startTime ?? null,
|
|
1977
|
+
endTime: node.endTime ?? null,
|
|
1978
|
+
durationMs: durationOf(node),
|
|
1979
|
+
attemptCount: finiteOrNull(node.attemptCount)
|
|
1980
|
+
};
|
|
1981
|
+
}
|
|
1982
|
+
function hasAgentNodeState(nodeStates) {
|
|
1983
|
+
return !!nodeStates?.some((node) => isAgentNodeType(node.nodeType));
|
|
1984
|
+
}
|
|
1985
|
+
function agentNodeTraces(nodeStates) {
|
|
1986
|
+
return (nodeStates ?? []).filter((node) => isAgentNodeType(node.nodeType)).map(parseAgentNodeState);
|
|
1987
|
+
}
|
|
1824
1988
|
function orderNodesByExecution(nodeStates, triggerNodeId) {
|
|
1825
1989
|
const rankOf = (node) => {
|
|
1826
1990
|
const stamp = node.startTime ?? node.endTime;
|
|
@@ -1841,7 +2005,8 @@ function NodeTimeline({
|
|
|
1841
2005
|
loading,
|
|
1842
2006
|
triggerNodeId,
|
|
1843
2007
|
onRetryNode,
|
|
1844
|
-
onViewChildRun
|
|
2008
|
+
onViewChildRun,
|
|
2009
|
+
onViewAgentTrace
|
|
1845
2010
|
}) {
|
|
1846
2011
|
const tr = useTr();
|
|
1847
2012
|
const [expandedNodes, setExpandedNodes] = useState(/* @__PURE__ */ new Set());
|
|
@@ -2045,7 +2210,7 @@ function NodeTimeline({
|
|
|
2045
2210
|
] }),
|
|
2046
2211
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-[var(--color-status-error-text)]", children: node.error })
|
|
2047
2212
|
] }),
|
|
2048
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-3 flex justify-end gap-2", children: [
|
|
2213
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-3 flex flex-wrap justify-end gap-2", children: [
|
|
2049
2214
|
hasChildRun && onViewChildRun && /* @__PURE__ */ jsxs(
|
|
2050
2215
|
"button",
|
|
2051
2216
|
{
|
|
@@ -2060,6 +2225,21 @@ function NodeTimeline({
|
|
|
2060
2225
|
]
|
|
2061
2226
|
}
|
|
2062
2227
|
),
|
|
2228
|
+
onViewAgentTrace && isAgentNodeType(node.nodeType) && /* @__PURE__ */ jsxs(
|
|
2229
|
+
"button",
|
|
2230
|
+
{
|
|
2231
|
+
type: "button",
|
|
2232
|
+
onClick: () => onViewAgentTrace(node.nodeId),
|
|
2233
|
+
className: "px-3 py-1.5 text-sm border border-border-secondary text-text-primary rounded hover:bg-background-tertiary flex items-center gap-1.5",
|
|
2234
|
+
children: [
|
|
2235
|
+
/* @__PURE__ */ jsx(Icon, { icon: "mdi:robot-outline", width: 16 }),
|
|
2236
|
+
tr(
|
|
2237
|
+
"fluidgrids.executions.nodeTimeline.viewAgentTrace",
|
|
2238
|
+
"View trace"
|
|
2239
|
+
)
|
|
2240
|
+
]
|
|
2241
|
+
}
|
|
2242
|
+
),
|
|
2063
2243
|
node.status === "FAILED" && onRetryNode && /* @__PURE__ */ jsxs(
|
|
2064
2244
|
"button",
|
|
2065
2245
|
{
|
|
@@ -2847,4 +3027,4 @@ function useRunStatusCounts(input, enabled) {
|
|
|
2847
3027
|
return enabled ? { ...state, error, refetch } : { total: null, counts: [], error: null, refetch };
|
|
2848
3028
|
}
|
|
2849
3029
|
|
|
2850
|
-
export { ExecutionCards, ExecutionFilters, ExecutionStats, ExecutionStatusBadge, ExecutionTable, ExecutionTimeline, NodeTimeline, Pagination, RunLogViewer, TagFilterSelect, runStatusLabels, setRunVersioningOverride, useDurableParityRunFields, useRunMetadata, useRunPending, useRunStatusCounts };
|
|
3030
|
+
export { ExecutionCards, ExecutionFilters, ExecutionStats, ExecutionStatusBadge, ExecutionTable, ExecutionTimeline, NodeStatusBadge, NodeTimeline, Pagination, RunLogViewer, TagFilterSelect, agentNodeTraces, hasAgentNodeState, orderNodesByExecution, runStatusLabels, setRunVersioningOverride, useDurableParityRunFields, useRunMetadata, useRunPending, useRunStatusCounts };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { operatorSpec, normaliseAssertRules, describeAssertRuleProblem } from './chunk-JDLQ6QIB.js';
|
|
2
|
-
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-
|
|
2
|
+
import { useEntityTags, useTagEntity, useUntagEntity } from './chunk-IL343FKX.js';
|
|
3
3
|
import { notifyFluidGridsAiCreditsUpdated } from './chunk-Y53CVZVV.js';
|
|
4
4
|
import { ErrorType } from './chunk-H4ERTSMX.js';
|
|
5
|
-
import {
|
|
6
|
-
import { getFluidGridsConfig } from './chunk-6AMNEX2Y.js';
|
|
7
|
-
import { WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument, WorkflowTestCasesDocument, WorkflowTestRunsDocument, WorkflowTestRunDocument, CreateWorkflowTestCaseDocument, UpdateWorkflowTestCaseDocument, DeleteWorkflowTestCaseDocument, RunWorkflowTestsDocument, CreateWorkflowTestCaseFromRunDocument } from './chunk-AVHBWJRY.js';
|
|
5
|
+
import { WorkflowProposalDocument, ProposeRunFixDocument, ProposeWorkflowChangeDocument, ApplyWorkflowProposalDocument, RejectWorkflowProposalDocument, CancelWorkflowProposalDocument, WorkflowTestCasesDocument, WorkflowTestRunsDocument, WorkflowTestRunDocument, CreateWorkflowTestCaseDocument, UpdateWorkflowTestCaseDocument, DeleteWorkflowTestCaseDocument, RunWorkflowTestsDocument, CreateWorkflowTestCaseFromRunDocument } from './chunk-Z3ABLERJ.js';
|
|
8
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
9
|
-
import { getFluidGridsClient } from './chunk-
|
|
7
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
8
|
+
import { throwIfResultError, isForbiddenError } from './chunk-US5QSLPV.js';
|
|
9
|
+
import { getFluidGridsConfig } from './chunk-UEG2WC3G.js';
|
|
10
10
|
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
11
11
|
import { TagBadge, TagsWidget } from '@burdenoff/fe-libs/tag';
|
|
12
12
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ExportWorkflowCodeDocument, ShareWorkflowDocument, WorkflowSharingDocument } from './chunk-
|
|
1
|
+
import { useFluidGridsAnalytics, emitWorkflowLimitHit, emitUpgradeClicked, WORKFLOWS_QUOTA_NAME } from './chunk-3QCRKKTI.js';
|
|
2
|
+
import { ExportWorkflowCodeDocument, ShareWorkflowDocument, WorkflowSharingDocument } from './chunk-Z3ABLERJ.js';
|
|
3
3
|
import { useTr } from './chunk-UULVIT25.js';
|
|
4
|
-
import { getFluidGridsClient } from './chunk-
|
|
4
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
5
|
+
import { describeOperationError, throwIfResultError } from './chunk-US5QSLPV.js';
|
|
5
6
|
import { useState, useRef, useCallback, useEffect, useMemo } from 'react';
|
|
6
7
|
import { createSharePrincipalLister, ResourceShareDialog } from '@burdenoff/fe-libs/connections';
|
|
7
8
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useRunStatusCounts, ExecutionStats, ExecutionFilters, ExecutionTable, ExecutionCards, ExecutionTimeline, Pagination, runStatusLabels } from './chunk-
|
|
2
|
-
import { useExecutionsWithStore, useExecutionStats, useExecutionActions, useAutoRefresh, WORKFLOW_ID_MAX_LENGTH } from './chunk-
|
|
3
|
-
import { useWorkflowDefinitions } from './chunk-
|
|
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';
|
|
4
4
|
import { FluidGridsDocsLink } from './chunk-4VJ3MDOV.js';
|
|
5
|
-
import { useDurableParityEnabled } from './chunk-
|
|
6
|
-
import { useExecutionsStore } from './chunk-6AMNEX2Y.js';
|
|
5
|
+
import { useDurableParityEnabled } from './chunk-3QCRKKTI.js';
|
|
7
6
|
import { useTr } from './chunk-UULVIT25.js';
|
|
7
|
+
import { useExecutionsStore } from './chunk-UEG2WC3G.js';
|
|
8
8
|
import { useRef, useCallback, useMemo, useState, useEffect } from 'react';
|
|
9
9
|
import { useNavigate, useSearchParams } from 'react-router';
|
|
10
10
|
import { Icon } from '@iconify/react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FluidgridsEntityTagsDocument, AvailableFluidgridsTagsDocument, SearchFluidgridsTagsDocument, TagFluidgridsEntityDocument, UntagFluidgridsEntityDocument, ReplaceFluidgridsEntityTagsDocument, CreateFluidgridsTagDocument, DataTablesTagsDocument } from './chunk-
|
|
2
|
-
import { getFluidGridsClient } from './chunk-
|
|
1
|
+
import { FluidgridsEntityTagsDocument, AvailableFluidgridsTagsDocument, SearchFluidgridsTagsDocument, TagFluidgridsEntityDocument, UntagFluidgridsEntityDocument, ReplaceFluidgridsEntityTagsDocument, CreateFluidgridsTagDocument, DataTablesTagsDocument } from './chunk-Z3ABLERJ.js';
|
|
2
|
+
import { getFluidGridsClient } from './chunk-3IXU7WUC.js';
|
|
3
3
|
import { useState, useCallback, useEffect } from 'react';
|
|
4
4
|
|
|
5
5
|
var FLUIDGRIDS_ENTITY_TYPES = [
|