@burdenoff/fluidgrids-fe-sdk 2026.1010.2 → 2026.1013.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +37 -0
  2. package/dist/ExecutionDetailPage-3XZJRSMI.js +12 -0
  3. package/dist/ExecutionsListPage-WWVTV3NI.js +11 -0
  4. package/dist/{MissingNodesInstallModal-QAXLWW35.js → MissingNodesInstallModal-ODVBW4X4.js} +4 -6
  5. package/dist/{TemplateConfigurationModal-YO4S7Y2S.js → TemplateConfigurationModal-HUHXIL3K.js} +6 -8
  6. package/dist/{TemplateDetailPanel-KS3LQIBD.js → TemplateDetailPanel-RZDJEXGG.js} +3 -5
  7. package/dist/WorkflowBuilder-IMX3F4ZL.js +19 -0
  8. package/dist/WorkflowsList-V2ZYXPUA.js +14 -0
  9. package/dist/assistant.d.ts +87 -0
  10. package/dist/assistant.js +1 -0
  11. package/dist/{chunk-47RAP7HT.js → chunk-3FYOSTEG.js} +0 -2
  12. package/dist/{chunk-WNFZXH3Z.js → chunk-5WSBID2F.js} +4 -6
  13. package/dist/{chunk-KGD6CRSA.js → chunk-6N27YGMB.js} +0 -2
  14. package/dist/{chunk-NH5YCY37.js → chunk-7LSGGJ7D.js} +2 -4
  15. package/dist/chunk-AD3BXTJS.js +1 -0
  16. package/dist/{chunk-HFCQC4QQ.js → chunk-CADRCSD5.js} +9 -11
  17. package/dist/{chunk-LMO5ASOE.js → chunk-CFCUM4CN.js} +0 -2
  18. package/dist/chunk-D3UWK7GY.js +112 -0
  19. package/dist/{chunk-M2YFTRLL.js → chunk-DFITJZLD.js} +46 -13
  20. package/dist/{chunk-3P4YQ7DO.js → chunk-F2OUXT3V.js} +0 -2
  21. package/dist/{chunk-6LXMUIR3.js → chunk-FZBGMZRM.js} +0 -2
  22. package/dist/{chunk-DBOMRIP5.js → chunk-GDAFKRQO.js} +1 -3
  23. package/dist/{chunk-XQP33UJR.js → chunk-GEMNVFPK.js} +0 -2
  24. package/dist/{chunk-34KDHOQY.js → chunk-HPNEBTZB.js} +34 -6
  25. package/dist/{chunk-HK7IRZLW.js → chunk-HPUNEDCO.js} +40 -8
  26. package/dist/{chunk-P5PKRQAO.js → chunk-IEVSFCFS.js} +1 -3
  27. package/dist/{chunk-Z5HU6MUG.js → chunk-IPNGNROQ.js} +7 -9
  28. package/dist/{chunk-XBIHI224.js → chunk-IYTHK7B5.js} +4 -6
  29. package/dist/{chunk-3ZYUGTIT.js → chunk-JL7CASN5.js} +0 -2
  30. package/dist/{chunk-FAPYERDO.js → chunk-KZYQPCMK.js} +2 -4
  31. package/dist/{chunk-FA7S7YMY.js → chunk-NM5TH27W.js} +193 -107
  32. package/dist/{chunk-ZBMMEE5U.js → chunk-NTWG3CJX.js} +0 -2
  33. package/dist/chunk-PJAWNFJV.js +18 -0
  34. package/dist/{chunk-BQXHJIER.js → chunk-PXIFUMLA.js} +0 -2
  35. package/dist/{chunk-NK32XOQN.js → chunk-QBFAJNUC.js} +0 -2
  36. package/dist/{chunk-AANIWER2.js → chunk-SQFFJUAT.js} +1 -3
  37. package/dist/{chunk-W23ZXNKU.js → chunk-SYU74PMY.js} +1 -3
  38. package/dist/{chunk-UH3L52RJ.js → chunk-UHY5KIEA.js} +7 -9
  39. package/dist/{chunk-7YWBH2A5.js → chunk-UULVIT25.js} +0 -2
  40. package/dist/{chunk-DFGJKGWH.js → chunk-UZG3ZIQM.js} +0 -2
  41. package/dist/{chunk-6QCBKN3P.js → chunk-VTQVPNUQ.js} +1 -3
  42. package/dist/{chunk-T3ZCEAHR.js → chunk-WAHCVNA6.js} +4 -6
  43. package/dist/{chunk-DBGJT2D5.js → chunk-YPZJS5HJ.js} +27 -29
  44. package/dist/{chunk-2ORIFA6I.js → chunk-Z2KX5KUL.js} +3 -5
  45. package/dist/{chunk-CZ7APZ5B.js → chunk-ZB45VAXM.js} +4 -6
  46. package/dist/client-EYQDMR4O.js +1 -0
  47. package/dist/config-AOSNG5I7.js +1 -0
  48. package/dist/executions.js +15 -15
  49. package/dist/global-client-O2HCG5CJ.js +1 -0
  50. package/dist/{global-operations-IMNN4YME.js → global-operations-QNXHEKTE.js} +1 -3
  51. package/dist/history.js +9 -9
  52. package/dist/index.d.ts +4 -3
  53. package/dist/index.js +46 -46
  54. package/dist/nodes.js +4 -6
  55. package/dist/observability.js +6 -8
  56. package/dist/settings.js +8 -10
  57. package/dist/template-input-applicator-OBQUTYDA.js +1 -0
  58. package/dist/templates.js +20 -20
  59. package/dist/workflow-builder.js +20 -22
  60. package/dist/workflows-list.js +14 -14
  61. package/package.json +7 -2
  62. package/dist/ExecutionDetailPage-JB5UYJMF.js +0 -12
  63. package/dist/ExecutionDetailPage-JB5UYJMF.js.map +0 -1
  64. package/dist/ExecutionsListPage-RDGTW6UF.js +0 -11
  65. package/dist/ExecutionsListPage-RDGTW6UF.js.map +0 -1
  66. package/dist/MissingNodesInstallModal-QAXLWW35.js.map +0 -1
  67. package/dist/TemplateConfigurationModal-YO4S7Y2S.js.map +0 -1
  68. package/dist/TemplateDetailPanel-KS3LQIBD.js.map +0 -1
  69. package/dist/WorkflowBuilder-YF73DZWP.js +0 -21
  70. package/dist/WorkflowBuilder-YF73DZWP.js.map +0 -1
  71. package/dist/WorkflowsList-CE2CRD7W.js +0 -14
  72. package/dist/WorkflowsList-CE2CRD7W.js.map +0 -1
  73. package/dist/chunk-2ORIFA6I.js.map +0 -1
  74. package/dist/chunk-34KDHOQY.js.map +0 -1
  75. package/dist/chunk-3P4YQ7DO.js.map +0 -1
  76. package/dist/chunk-3ZYUGTIT.js.map +0 -1
  77. package/dist/chunk-47RAP7HT.js.map +0 -1
  78. package/dist/chunk-6LXMUIR3.js.map +0 -1
  79. package/dist/chunk-6QCBKN3P.js.map +0 -1
  80. package/dist/chunk-7YWBH2A5.js.map +0 -1
  81. package/dist/chunk-AANIWER2.js.map +0 -1
  82. package/dist/chunk-BQXHJIER.js.map +0 -1
  83. package/dist/chunk-CZ7APZ5B.js.map +0 -1
  84. package/dist/chunk-DBGJT2D5.js.map +0 -1
  85. package/dist/chunk-DBOMRIP5.js.map +0 -1
  86. package/dist/chunk-DFGJKGWH.js.map +0 -1
  87. package/dist/chunk-FA7S7YMY.js.map +0 -1
  88. package/dist/chunk-FAPYERDO.js.map +0 -1
  89. package/dist/chunk-HFCQC4QQ.js.map +0 -1
  90. package/dist/chunk-HK7IRZLW.js.map +0 -1
  91. package/dist/chunk-KGD6CRSA.js.map +0 -1
  92. package/dist/chunk-LMO5ASOE.js.map +0 -1
  93. package/dist/chunk-M2YFTRLL.js.map +0 -1
  94. package/dist/chunk-NH5YCY37.js.map +0 -1
  95. package/dist/chunk-NK32XOQN.js.map +0 -1
  96. package/dist/chunk-P5PKRQAO.js.map +0 -1
  97. package/dist/chunk-RXMBIJ5Z.js +0 -3
  98. package/dist/chunk-RXMBIJ5Z.js.map +0 -1
  99. package/dist/chunk-T3ZCEAHR.js.map +0 -1
  100. package/dist/chunk-UH3L52RJ.js.map +0 -1
  101. package/dist/chunk-W23ZXNKU.js.map +0 -1
  102. package/dist/chunk-WNFZXH3Z.js.map +0 -1
  103. package/dist/chunk-XBIHI224.js.map +0 -1
  104. package/dist/chunk-XQP33UJR.js.map +0 -1
  105. package/dist/chunk-Z5HU6MUG.js.map +0 -1
  106. package/dist/chunk-ZBMMEE5U.js.map +0 -1
  107. package/dist/client-YFAZ23OL.js +0 -3
  108. package/dist/client-YFAZ23OL.js.map +0 -1
  109. package/dist/config-SCVEDF5V.js +0 -3
  110. package/dist/config-SCVEDF5V.js.map +0 -1
  111. package/dist/executions.js.map +0 -1
  112. package/dist/global-client-OW43ZRDR.js +0 -3
  113. package/dist/global-client-OW43ZRDR.js.map +0 -1
  114. package/dist/global-operations-IMNN4YME.js.map +0 -1
  115. package/dist/history.js.map +0 -1
  116. package/dist/index.js.map +0 -1
  117. package/dist/nodes.js.map +0 -1
  118. package/dist/observability.js.map +0 -1
  119. package/dist/settings.js.map +0 -1
  120. package/dist/template-input-applicator-657KE4DM.js +0 -3
  121. package/dist/template-input-applicator-657KE4DM.js.map +0 -1
  122. package/dist/templates.js.map +0 -1
  123. package/dist/workflow-builder.js.map +0 -1
  124. package/dist/workflows-list.js.map +0 -1
@@ -1,7 +1,9 @@
1
- import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-DBGJT2D5.js';
2
- import { QuotaExhaustedDialog } from './chunk-AANIWER2.js';
3
- import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-XBIHI224.js';
4
- import { useTr } from './chunk-7YWBH2A5.js';
1
+ import { useImportWorkflowTemplate, FlowBuilderPage, useWorkflowTemplates, TemplateCard } from './chunk-YPZJS5HJ.js';
2
+ import { QuotaExhaustedDialog } from './chunk-SQFFJUAT.js';
3
+ import { useWorkflowDefinitions, useDuplicateWorkflow } from './chunk-IYTHK7B5.js';
4
+ import { templatesControls } from './chunk-D3UWK7GY.js';
5
+ import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
6
+ import { useTr } from './chunk-UULVIT25.js';
5
7
  import { useState, useEffect, useMemo, useCallback } from 'react';
6
8
  import { useParams, useNavigate } from 'react-router';
7
9
  import { Icon } from '@iconify/react';
@@ -9669,6 +9671,34 @@ function TemplatesPage() {
9669
9671
  },
9670
9672
  [getTemplateDetail, parseTemplateContent, importTemplate, navigate, tr]
9671
9673
  );
9674
+ const assistantControls = useMemo(
9675
+ () => templatesControls({
9676
+ page: tr("fluidgrids.templates.templatesPage.heading", "Templates"),
9677
+ search: setSearch,
9678
+ source: {
9679
+ storeLabel: tr(
9680
+ "fluidgrids.templates.templatesPage.tabFromStore",
9681
+ "From Store"
9682
+ ),
9683
+ workspaceLabel: tr(
9684
+ "fluidgrids.templates.templatesPage.tabMyTemplates",
9685
+ "My Templates"
9686
+ ),
9687
+ value: activeSource,
9688
+ set: setActiveSource
9689
+ },
9690
+ category: {
9691
+ // The chips carry no visible heading; the labels are the page's own.
9692
+ label: "Category",
9693
+ options: CATEGORIES.map(({ value, label }) => ({ value, label })),
9694
+ neutral: "all",
9695
+ value: activeCategory,
9696
+ set: setActiveCategory
9697
+ }
9698
+ }),
9699
+ [tr, activeSource, activeCategory]
9700
+ );
9701
+ useFluidGridsPageControls(assistantControls);
9672
9702
  return /* @__PURE__ */ jsxs("div", { className: "p-4 sm:p-6 bg-background-primary min-h-screen", children: [
9673
9703
  /* @__PURE__ */ jsxs(
9674
9704
  "div",
@@ -9874,5 +9904,3 @@ function TemplatesPage() {
9874
9904
  }
9875
9905
 
9876
9906
  export { A2AMessagePriority, A2AMessageStatus, A2ATrustLevel, ActionExecutionStatus, ActionSourceType, ActionStatus, ActionStyle, ActionTriggerType, ActionType, ActivityCategory, ActivityType, ActorType, AdaAdapterKind, AdaAdapterStatus, AdaAuthMethod, AdaConnectionStatus, AdaDataSubjectRequestStatus, AdaDataSubjectRequestType, AdaDataSubjectRetentionRule, AdaDriftStatus, AdaEdgeKind, AdaLegalCheckpointType, AdaPolicyEnforcement, AdaPolicyKind, AdaResourceState, AdaSeverity, AdaSyncKind, AdaSyncStatus, AdaViolationStatus, AgentCapabilityScope, AgentVisibility, AiContextStatus, AiContextType, AiPredictionStatus, AiPromptCategory, AiPromptStatus, AlertSeverity, AnalyticsEntityType, AnalyticsEventSeverity, AnalyticsGranularity, AnalyticsInsightSeverity, AnomalyDetectionMethod, AnomalyDirection, AppCategory, AppInstallationState, AppPermission, AppStatus, AppType, AppVisibility, ApprovalStatus, ArtAnchorType, ArtApprovalDecision, ArtAssetKind, ArtFeedbackStatus, ArtLicenseModel, ArtLicenseStatus, ArtMedium, ArtProductionRole, ArtProductionStatus, ArtReleaseStatus, ArtReviewStatus, ArtVisibility, ArtWorkStatus, ArtifactType, AssetAssignmentStatus, AssetBudgetStatus, AssetCondition, AssetDeadlineAlertKind, AssetDeadlineAlertStatus, AssetDepreciationMethod, AssetMeterUnit, AssetStatus, AssetTransactionStatus, AssetTransactionType, AssignmentSource, AssistantHistoryDeleteOutcome, AssistantHistoryEntryKind, AssistantHistoryRole, AssistantHistorySaveOutcome, AssistantMessageRole, AssistantRelayGateway, AthAgentRunStatus, AthAgentRunTrigger, AthAiAssessment, AthAvailabilityResponse, AthFixtureStatus, AthFixtureType, AthMemberRole, AthMemberStatus, AthMetricType, AthProgramLevel, AthProgramStatus, AthSessionStatus, AthSessionType, AthSport, AthTeamStatus, AthWorkoutStatus, AttendeeRole, AuthMethodFlow, AuthType, AuthorType, BackoffStrategy, BatchDownloadStatus, BigConsoleConflictResolution, BillingPlan, BillingType, BoardColumnType, BoardType, BookingFormFieldType, BookingPageType, BookingStatus, BotAppStatus, BotAppType, BotAppVisibility, BotlitAgentCapability, BotlitAgentStatus, BotlitAgentType, BotlitHealthStatus, BotlitLlmProviderType, BraAccountStatus, BraAccountType, BraAdvisorRole, BraAdvisorStatus, BraAggregationLinkStatus, BraAggregationProvider, BraAssetClass, BraGoalProjection, BraGoalStatus, BraGoalType, BraHouseholdStatus, BraInsightSeverity, BraInsightStatus, BraInsightType, BraPortfolioStatus, BraRebalanceStatus, BraRecurringCategory, BraRecurringFrequency, BraReportFrequency, BraReportRunStatus, BraRiskProfile, BraRiskSignalKind, BraScheduledReportStatus, BraTradeInstructionAction, BraTradeInstructionSource, BraTradeInstructionStatus, BraTransactionType, BudgetStatus, BuiAdminCopilotRole, BuiAiSuggestionOutcome, BuiAssessmentStatus, BuiAssessmentType, BuiCertificateStatus, BuiCertificationBody, BuiCohortStatus, BuiCourseLevel, BuiCourseStatus, BuiEnrollmentStatus, BuiLessonType, BuiLtiGradeSyncStatus, BuiLtiMessageType, BuiLtiRosterMemberStatus, BuiPacingHint, BuiProctoringDecision, BuiProctoringStatus, BuiProgressStatus, BuiQuestionType, BuiSkillCategory, BuiSkillStandardSource, BuiSubmissionStatus, BuiTutorAdaptiveLevel, BuiTutorMessageRole, BulkConversationAction, CalendarEventStatus, CalendarExecutionStatus, CalendarExportFormat, CalendarPromptStatus, CalendarResourceType, CalendarType, CallParticipantChangeType, CallState, CallType, CatalogVisibility, ChangeRisk, ChangeStatus, ChannelMessageStatus, ChannelPlatform, ChannelType, ChatRole, CheckInStatus, ChunkingMethod, CircuitState, CohortType, ColAssistantSuggestionKind, ColAssistantSuggestionStatus, ColCertainty, ColEventType, ColGender, ColGuardianRequestDecision, ColGuardianRequestStatus, ColGuardianRequestTargetKind, ColGuardianRequestType, ColKeepsakeBookStatus, ColLifeStatus, ColMemberRole, ColMembershipStatus, ColMemoryKind, ColPromptCategory, ColPromptRelationshipType, ColRelationshipType, ColStoryFormat, ColTreeStatus, ColVisibility, CollaboratorRole, CollectionActivityType, CollectionItemSortField, CollectionSortField, CollectionType, CollectionVisibility, ComBillingInterval, ComChannelType, ComChannelVisibility, ComCircleStatus, ComCircleVisibility, ComDevicePlatform, ComDigitalProductType, ComEventMode, ComEventStatus, ComExportFormat, ComFollowTargetType, ComLiveStreamStatus, ComMemberRole, ComMembershipStatus, ComModerationCategory, ComModerationReviewDecision, ComModerationTargetType, ComModerationVerdictType, ComMonetizationStatus, ComPaidEventStatus, ComPollStatus, ComPostStatus, ComPresence, ComReactionTargetType, ComReactionType, ComReportStatus, ComReportTargetType, ComRsvpStatus, ComTipIntentStatus, ComVoiceSessionStatus, ComVoiceSignalType, CommentExportFormat, CommentScheduleType, CommentStatus, CommentVisibility, ComparisonOperator, ComponentLifecycle, ComponentType, ConfigScope, ConflictResolution, ConnectionCredentialSource, ConnectionQuality, ConnectionStatus, ConsultationConsultantType, ConsultationStatus, ContentSearchEngine, ContentSearchStatus, ContentType, ConversationPermission, ConversationSortField, ConversationState, ConversationType, ConversationVisibility, ConversationsExportFormat, CooBrandStatus, CooCollaborationStatus, CooCollaboratorRole, CooCollectionStatus, CooLegalCheckpointType, CooLookOccasion, CooSeason, CooStyleCategory, CooStyleItemStatus, CooVisibility, CooWardrobeSource, CosAccessLevel, CosAnalysisStatus, CosDatasetStatus, CosDoiState, CosExternalRegistryMode, CosFieldType, CosGrantStatus, CosNotebookStatus, CosPipelineStatus, CosPipelineTrigger, CosReleaseStatus, CosRunStatus, CosSourceStatus, CosSourceType, CosStepKind, CosZenodoMirrorStatus, CrewPayrollCountry, CrewPayrollRunStatus, CrewfoundryExportFormat, CustomFieldType, DashboardCategory, DashboardEmbedAccessMode, DashboardEmbedPolicyStatus, DashboardEmbedTheme, DashboardLayout, DashboardSortField, DashboardStatus, DashboardStyleType, DashboardVisibility, DataClassification, DataSinkRefreshType, DataSinkSetupState, DataSinkSourceType, DataSinkStatus, DataSinkUpdateEventType, DataSourceTestStatus, DataSourceType, DataTableColumnType, DataTableFilterOp, DayOfWeek, DeliveryChannelType, DeliveryJobStatus, DeliveryPriority, DemandForecastScope, DependencyStatus, DependencyType, DeploymentEnvironment, DeploymentStatus, DiscoveryJobStatus, DlqStatus, DocStatus, DocumentStatus, DriverStatus, EcoCarbonEntryStatus, EcoConservationStatus, EcoDataSourceType, EcoEmissionScope, EcoHabitatProjectStatus, EcoIngestionJobStatus, EcoIngestionRecordType, EcoMeasurementSource, EcoObservationMethod, EcoReductionTargetStatus, EcoReportFramework, EcoReportStatus, EcoRestorationActivityType, EcoSensorKind, EcoSensorStatus, EcoSiteStatus, EcoSiteType, EcoTaxonGroup, EcoThresholdDirection, EcoThresholdSeverity, EmbedContentReviewState, EncryptionAlgorithm, EnergyLevel, EntityStatus, ErrorType, EventStatus, EventType, EventValidationStatus, EventVisibility, EventfullyManagedIntegrationConnectorStatus, EventfullyManagedIntegrationProvider, EventfullyManagedIntegrationSyncRunStatus, EventfullyManagedVirtualParticipantRole, EventfullyManagedVirtualSessionMode, EventfullyManagedVirtualSessionStatus, EventfullyManagedVirtualSignalType, ExecutionStatus, ExecutionType, ExecutorType, ExpenseOrderByField, ExpenseStatus, ExportArchiveFormat, ExportFormat, ExportJobStatus, ExportScope, ExportSortField, ExternalCalendarSyncDirection, ExternalCalendarSyncStatus, ExternalProviderType, FeatureRequestStatus, FieldMaskStrategy, FileEventType, FileMetadataSortField, FileShareAccessLevel, FileShareType, FileSortField, FileStatus, FileVisibility, FilterDataType, FilterOperator, FilterType, FluidGridsEventType, FluidGridsWorkflowStatus, FolderSortField, FolderStatus, FuelType, FunnelStepOrder, GeneratedLayoutType, GenerationStatus, GeofenceEventType, GeofenceTrigger, GgnomadAccessibilityFeature, GgnomadApprovalStatus, GgnomadBookingStatus, GgnomadBookingType, GgnomadCartStatus, GgnomadChannelSyncDirection, GgnomadChannelSyncStatus, GgnomadClaimStatus, GgnomadExportFormat, GgnomadGroupTripSplitMethod, GgnomadGroupTripVoteChoice, GgnomadListingStatus, GgnomadListingType, GgnomadLoyaltyTransactionType, GgnomadPrivateRequestAction, GgnomadPrivateRequestStatus, GgnomadPushPlatform, GgnomadSustainabilityPractice, GgnomadTicketStatus, GgnomadTripPlanItemType, GovAgentRunStatus, GovAgentRunTrigger, GovApplicationStatus, GovAssetCategory, GovAssetOperator, GovAssetStatus, GovBenchmarkScope, GovBudgetCategory, GovBudgetLineKind, GovBudgetStatus, GovCaseEscalationKind, GovCaseEscalationStatus, GovCaseNoteType, GovCasePriority, GovCommitmentStatus, GovConsultationStatus, GovConsultationType, GovDataLicense, GovDatasetFormat, GovDatasetStatus, GovDocumentStatus, GovElectionStatus, GovElectionType, GovEventCategory, GovEventImpact, GovFeeType, GovFundingSource, GovGrievanceStatus, GovIndicatorDirection, GovIndicatorDomain, GovIndicatorPeriodicity, GovIndicatorValueType, GovInsightKind, GovInsightSeverity, GovIntelEntityType, GovJurisdictionStatus, GovMilestoneStatus, GovOfficeType, GovPaymentStatus, GovPermitStatus, GovProjectStatus, GovProposalStatus, GovSentiment, GovServiceCategory, GovServiceStatus, GovTrendDirection, GovVerificationStatus, GraphMetadataOperator, GraphSearchMode, GraphSearchSortBy, GroupCompositionMode, GroupExportFormat, GroupScope, GroupSortField, GroupStatus, GroupType, GroupVisibility, GroupsExportFormat, GrowLocationType, HeadshotmarketingAdCampaignStatus, HeadshotmarketingAdConnectionMode, HeadshotmarketingAdConnectionStatus, HeadshotmarketingAdCreativeStatus, HeadshotmarketingAdCreativeType, HeadshotmarketingAdPlatform, HeadshotmarketingAdSyncStatus, HeadshotmarketingAgentActionStatus, HeadshotmarketingAgentMessageRole, HeadshotmarketingAiToolCategory, HeadshotmarketingAiToolExecutionStatus, HeadshotmarketingAssetType, HeadshotmarketingAttributionConversionType, HeadshotmarketingAttributionModel, HeadshotmarketingAutomationRunStatus, HeadshotmarketingAutomationStepLogStatus, HeadshotmarketingAutomationSubjectType, HeadshotmarketingAutomationTriggerType, HeadshotmarketingAutomationWorkflowStatus, HeadshotmarketingCampaignStatus, HeadshotmarketingCampaignType, HeadshotmarketingContactStatus, HeadshotmarketingContentItemStatus, HeadshotmarketingContentItemType, HeadshotmarketingCulturalCategory, HeadshotmarketingCulturalRegion, HeadshotmarketingDealStatus, HeadshotmarketingEventRegistrationStatus, HeadshotmarketingEventStatus, HeadshotmarketingEventType, HeadshotmarketingExportFormat, HeadshotmarketingInfluencerCampaignStatus, HeadshotmarketingInfluencerRelationshipStatus, HeadshotmarketingInfluencerTier, HeadshotmarketingIntegrationCategory, HeadshotmarketingIntegrationConnectionType, HeadshotmarketingIntegrationListingStatus, HeadshotmarketingLandingPageSectionType, HeadshotmarketingLandingPageStatus, HeadshotmarketingLeadSource, HeadshotmarketingLeadStatus, HeadshotmarketingSeoAuditSeverity, HeadshotmarketingSeoAuditStatus, HeadshotmarketingSeoKeywordStatus, HeadshotmarketingSocialAccountDeliveryMode, HeadshotmarketingSocialAccountStatus, HeadshotmarketingSocialMentionSentiment, HeadshotmarketingSocialMentionStatus, HeadshotmarketingSocialMentionType, HeadshotmarketingSocialPlatform, HeadshotmarketingSocialPostStatus, HeadshotmarketingTouchpointType, HeadshotmarketingTranslationStatus, HeadshotmarketingWorkspaceIntegrationStatus, HealthyBowlAdvisoryTaskStatus, HealthyBowlConsultantAssignmentScope, HealthyBowlFarmRecommendationPriority, HealthyBowlFarmRecommendationStatus, HealthyBowlFinancierGrantScope, HealthyBowlGeneratableReportType, HealthyBowlGrowthGranularity, HealthyBowlPaddockState, HealthyBowlTaggableType, HokApplicationStatus, HokAuditionStatus, HokChannelStatus, HokClipStatus, HokCreditRole, HokEntitlementSource, HokEntitlementStatus, HokLegalCheckpointType, HokListKind, HokListVisibility, HokLocalizationKind, HokLocalizationStatus, HokModerationSeverity, HokModerationStatus, HokMonetizationMode, HokPlaybackEventType, HokProductionStatus, HokReviewStatus, HokRightsWindowStatus, HokRoyaltyComputationMethod, HokRoyaltyLedgerStatus, HokRoyaltyPayeeType, HokTitleStatus, HokTitleType, HokVerificationStatus, HokVerificationSubjectType, HokWatchPartyStatus, HousingVistaAnalyticsPeriod, HousingVistaMaintenancePriority, HousingVistaMaintenanceStatus, HousingVistaNlSearchMethod, HousingVistaOfferResponseAction, HousingVistaOfferStatus, HousingVistaPropertyStatus, HousingVistaPropertyType, HousingVistaRentalApplicationStatus, HousingVistaReraVerificationStatus, HousingVistaViewingStatus, HousingVistaViewingType, HttpMethod, IncidentStatus, IndexStatus, InstallMode, InstructionFilename, InstructionScope, IntAlertSeverity, IntAlertStatus, IntCaseStatus, IntClassification, IntConfidence, IntEntityType, IntFeedStatus, IntIndicatorType, IntMissionStatus, IntPriority, IntRelationshipType, IntReportStatus, IntReportType, IntRequirementStatus, IntSourceDiscipline, IntSourceStatus, IntTaskStatus, IntegrationEventStatus, IntegrationStatus, InventoryTransactionType, InvitationStatus, InviteStatus, InvoiceStatus, IssueTokenErrorCode, JobStatus, JoinGroupStatus, KadaikodiAddressType, KadaikodiClockAction, KadaikodiInvestmentStatus, KadaikodiLoyaltyTxnType, KadaikodiMembershipInterval, KadaikodiOfferingKind, KadaikodiOrderStatus, KadaikodiPaymentMethodType, KadaikodiPaymentStatus, KadaikodiProviderStatus, KadaikodiRiskLevel, KadaikodiServiceCategory, KadaikodiSubscriptionStatus, KadaikodiWorkerTaskStatus, KadaikodiWorkerTaskType, KeyResultMetricType, KeyResultStatus, KeyStatus, KeyType, KnowledgeArticleStatus, LabAgentRunStatus, LabAgentRunTrigger, LabBookingStatus, LabDatasetKind, LabDatasetStatus, LabExperimentStatus, LabInstrumentStatus, LabInventoryCategory, LabInventoryStatus, LabNotebookEntryStatus, LabPipelineRunStatus, LabProjectStatus, LabProjectVisibility, LabProtocolStatus, LabProvenanceEntityType, LabRunRecommendation, LabRunStatus, LabStepKind, LegalHoldStatus, LicenseMetricType, LicensePositionType, LocationType, LockType, LogAction, LogLevel, LogStreamEventType, LogStreamProvider, ManAssetStatus, ManCapaVerificationResult, ManChecklistItemResult, ManControlChartType, ManDowntimeReason, ManErpEntityType, ManErpProvider, ManErpSyncDirection, ManErpSyncStatus, ManInspectionResult, ManInspectionStage, ManItemType, ManLegalCheckpointType, ManMaintenanceStatus, ManMaintenanceType, ManMaintenanceWorkOrderEventType, ManMaterialLinkRole, ManMaterialLotEventType, ManMaterialLotReleaseDecision, ManMaterialLotStatus, ManMaterialSerialEventType, ManNonConformanceDisposition, ManNonConformanceEventType, ManNonConformanceLinkType, ManNonConformanceStatus, ManOperationStatus, ManPmState, ManProductionOrderStatus, ManProductionPriority, ManRoutingEventType, ManSeverity, ManTagSource, ManTrackingMode, ManWorkCenterType, McpConnectionStatus, McpResourceType, McpToolRiskLevel, McpToolStatus, MeetingActionItemStatus, MeetingOrderByField, MeetingParticipantRole, MeetingParticipantStatus, MeetingProvider, MeetingType, MemberPresenceStatus, MembershipRole, MembershipSource, MembershipStatus, MembershipType, MentionType, MeshSessionKind, MessageContentType, MessageReportResolutionAction, MessageReportStatus, MessageStatus, MessageType, MetadataValueType, MetricAggregationField, MetricType, MilestoneStatus, MisfirePolicy, Mood, MtwCarrierProvider, MtwCarrierServiceMode, MtwExportFormat, MtwFleetAlertSeverity, MtwFleetAlertSubjectType, MtwFleetAlertType, MtwIntegrationProvider, MybAiOperationStatus, MybAiOperationType, MybAiProvider, MybBodyMetricType, MybCoachingStatus, MybDeviceConnectionStatus, MybDeviceProvider, MybExportFormat, MybFitnessLevel, MybGoalStatus, MybGoalType, MybGuidanceAction, MybGuidanceSignal, MybLegalCheckpointType, MybLogSource, MybMealType, MybMuscleGroup, MybProgramPhase, MybProgramStatus, MybRecoveryMetric, MybSessionStatus, MybWearableMetricType, MybWorkoutType, NatsFilterType, NavigationMode, NodeConfigStatus, NodeStatus, NoteVisibility, NotificationLevel, ObjectiveStatus, OceanContainerType, OrderDirection, OverrideType, PackageKind, PageLayout, ParserStatus, ParserType, ParticipantChangeType, ParticipantRole, PhysicalAuditItemOutcome, PhysicalAuditStatus, PipelineExecutionStatus, PipelineStatus, PlanmagnetAgentRunStatus, PlanmagnetAgentRunTrigger, PlanmagnetAutomationExecutionStatus, PlanmagnetAutomationStatus, PlanmagnetAutomationTriggerType, PlanmagnetDueGroup, PlanmagnetFeatureOrder, PlanmagnetImportFormat, PlanmagnetImportOutcome, PlanmagnetMilestoneOrder, PlanmagnetProductLifecycleStage, PlanmagnetProjectStatus, PlanmagnetReleaseScope, PlanmagnetSprintScope, PlanmagnetStatusCategory, PlanmagnetSyncDirection, PlanmagnetSyncProvider, PlanmagnetSyncStatus, PlanmagnetThroughputBucket, PluginStatus, PolicyType, PomodoroGoalPeriod, PomodoroGoalType, PomodoroSessionOrderByField, PomodoroSessionType, PortfolioStatus, PresenceStatus, Priority, ProblemStatus, ProductType, ProjectMethodology, ProjectOrderField, ProjectStatus, PromptGenerationStatus, PromptPriority, PromptStatus, ProviderCategory, PswClientPortalUserStatus, PswClientStatus, PswClientType, PswComplianceStatus, PswComplianceType, PswConflictCheckStatus, PswDataSubjectRequestStatus, PswDataSubjectRequestType, PswDeliverableStatus, PswDocumentClassification, PswDocumentStatus, PswEngagementStatus, PswErasureRequestStatus, PswExportFormat, PswFeeArrangement, PswInvoiceStatus, PswLegalCheckpointType, PswMatterPriority, PswMatterStatus, PswMilestoneStatus, PswSignatureAuditEventType, PswSignatureRequestStatus, PswSignatureSignerStatus, PswSignatureType, PswTeamRole, PswTimeEntryStatus, PswTrustAccountStatus, PswTrustTransactionType, PswTrustTransferStatus, PublishType, QualityGateStatus, RbacChangeType, ReactionChangeType, RecordingMode, ReleaseStatus, ReminderChannel, ReminderType, ReportFormat, ReportScheduleStatus, ResourceBookingStatus, RetrievalMode, RiskSeverity, RiskStatus, RoadmapItemStatus, RoadmapPlanningFocus, RoadmapType, RoleLevel, RouteStatus, RoutingStrategy, RsvpStatus, RuleActionType, RuleConditionOperator, RuleMaterializationStrategy, RuleRunMode, RunLogLevel, RunLogStream, RunMode, RunStatus, RunTriggerType, SandboxAssistantMode, SandboxAssistantWriteApproval, SandboxChangeType, SandboxExportFormat, SandboxExportJobStatus, SandboxKind, SandboxMode, SandboxSource, SandboxStatus, SandboxTemplate, SchedulePriority, ScheduleType, ScorecardMetricDirection, ScorecardMetricStatus, ScorecardMetricType, ScorecardOwnerType, ScorecardTier, SecretProviderType, SecretShareKind, SecretShareScope, SecretShareStatus, SecretStatus, SecretType, SecurityComplianceStatus, SecurityEvidenceType, SecurityExportFormat, SecurityFindingCategory, SecurityFindingStatus, SecurityGovernancePolicyStatus, SecurityMemberEventAction, SecurityPolicyLevel, SecurityScanConclusion, SecurityScanStatus, SecuritySecretEventAction, SecuritySeverity, SecurityStage, SecuritySubscriptionEvent, SecurityVaultEventAction, SegmentVisibility, SemAggregation, SemConnectionHealth, SemConnectorKind, SemDataSourceStatus, SemDataType, SemEntityKind, SemModelStatus, SemPolicyEffect, SemPolicyScope, SemQueryRunStatus, SemQueryStatus, SemRelationshipKind, SessionExportFormat, SessionRecordingStatus, SessionRecordingStreamType, SessionSharePermission, SettingsCategory, ShareGrantStatus, ShareGrantVisibility, SharePermission, ShareRecipientType, ShareRole, ShareSortField, ShareStatus, ShareTokenType, ShipmentLegStatus, ShipmentStatus, SiemExportFormat, SignatureType, SmartCollectionConditionField, SmartCollectionConditionOperator, SmartCollectionOperator, SortDirection, SortOrder, SprintStatus, StageErrorHandling, StageExecutionStatus, StaticDataScope, StorageMode, StrategicAlignment, StressLevel, SubAgentKind, SubAgentStatus, SubAssetType, SubBenchmarkSourceKind, SubBillingInterval, SubChannelStatus, SubChannelType, SubDiscoverySource, SubEntitlementType, SubInvoiceStatus, SubMessageCategory, SubModerationAction, SubPaymentInstrumentStatus, SubPaymentInstrumentType, SubPolicyAction, SubProviderCategory, SubProviderStatus, SubRelationshipKind, SubRelationshipStatus, SubReportStatus, SubSubmissionStatus, SubWorkflowStatus, SubmissionStatus, SuggestedDataSourceType, SyncDirection, SyncFromGlobalOperation, SyncProvider, SystemEventType, TagCardinality, TagDataType, TagFilterOperator, TagRelationType, TagScope, TagsExportFormat, TargetType, TaskOrderField, TaskPriority, TaskStatus, TcpAccessLevel, TcpAgentRunStatus, TcpAgentRunTrigger, TcpAiGroundingKind, TcpAiReviewStatus, TcpAiUncertainty, TcpAiUseCase, TcpArchiveItemKind, TcpModerationStatus, TcpSourceType, TcpStoryFormat, TcpStoryStatus, TcpTopicCategory, TcpVerificationStatus, TecCertificateStatus, TecCourseLevel, TecCourseStatus, TecEnrollmentStatus, TecHackathonStatus, TecInterviewFrequency, TecLegalAcceptanceType, TecLessonKind, TecMentorStatus, TecPayoutStatus, TecPortfolioItemKind, TecProblemDifficulty, TecProblemStatus, TecSessionStatus, TecStudyPlanStatus, TecStudyPlanStepKind, TecStudyPlanStepStatus, TecSubmissionVerdict, TecTeamSubmissionStatus, TecTestCaseStatus, TecTestCaseVisibility, TemplateAuthorType, TemplateCategory, TemplateComplexity, TemplatePreview, TemplateStatus, TemplateVisibility, TemplatesPage, TheAssetKind, TheAssetStatus, TheCommodityType, TheComplianceCategory, TheComplianceStatus, TheContractSide, TheContractStatus, TheCorrectiveActionStatus, TheEmissionScope, TheEsgDisclosureStatus, TheEsgFramework, TheInventoryStatus, TheLegalCheckpointType, ThePricingBasis, TheReserveCategory, TheSafetyIncidentCategory, TheSafetyIncidentSeverity, TheSafetyIncidentStatus, TheShipmentStatus, TheTransportMode, TheUnit, ThemeProvider, TimeBucket, TimeCampusDataErasureStatus, TimeCampusExportFormat, TimeCampusFocusInterruptionSource, TimeCampusFocusProtectionLevel, TimeCampusFocusSessionStatus, TimeCampusInvoiceStatus, TimeCampusLifeDomain, TimeCampusOwnershipContext, TimeCampusProjectStatus, TimeCampusSortDirection, TimeCampusTimelineCategory, TimeCampusTimelineSource, TimeEntryOrderField, TimeEntryStatus, TimeGrain, TimeRange, TlsMode, ToolApprovalDecisionValue, ToolApprovalStatus, ToolApprovalTimeoutAction, ToolRiskLevel, TrackingEventType, TransportMode, TraversalDirection, TunnelDomainType, TunnelDomainVerificationStatus, TunnelEnvironment, TunnelProtocol, TunnelProviderKey, TunnelSessionStatus, TunnelShardStatus, TunnelStatus, UpdateScope, UploadStatus, UploadType, UsageStatus, ValidationMethod, VariableScope, VaultIncidentSeverity, VaultIncidentStatus, VaultMemberRole, VaultRotationStatus, VaultScope, VaultSecurityEventSeverity, VaultSecurityEventType, VaultStatus, VaultSyncStatus, VehicleStatus, VehicleType, VersionStatus, VibeAuditAction, VibeAuditExportFormat, VibeAuditResourceType, VibeAuditStatus, VibeCalendarExecutionStatus, VibeCalendarTaskStatus, VibeDeckButtonActionType, VibeDeckSharePermission, VibeDeckShareStatus, VibeDeckShareVisibility, VibeEntityType, VibeLlmContextTokenStatus, VibeStatus, VibeType, VibeVisibility, VibecontrolsActionType, VibecontrolsAgentVisibility, VibecontrolsDocsBuildImagePullPolicy, VibecontrolsDocsBuildImageScanStatus, VibecontrolsDocsBuildImageStatus, VibecontrolsDocsBuildRuntime, VibecontrolsDocsPageStatus, VibecontrolsDocsProvider, VibecontrolsDocsRevisionStatus, VibecontrolsDocsSiteOwnerType, VibecontrolsDocsSiteVisibility, VibecontrolsGitHubRepoScope, VibecontrolsGitHubRepoVisibility, VibecontrolsSessionStatus, VibecontrolsSessionType, VibecontrolsTemplateCategory, VibecontrolsTemplateStatus, Visibility, VisibilityType, VocabularyKind, VocabularyScope, WarehouseType, WebhookAuthType, WidgetConfidence, WidgetRenderer, WidgetType, WorkItemLinkRelation, WorkItemPriority, WorkItemStatus, WorkItemType, WorkOrderStatus, WorkOrderType, WorkPatternInsightType, WorkflowDiffKind, WorkflowStatus, WorkspaceInviteStatus, WorkspaceLegalCheckpointType, WorkspaceQuotaMode, WorkspaceResourceStatus, WorkspaceResourceType, WorkspaceStatus, WorkspaceType, WorkspacesExportFormat, extractTemplateGraph };
9877
- //# sourceMappingURL=chunk-34KDHOQY.js.map
9878
- //# sourceMappingURL=chunk-34KDHOQY.js.map
@@ -1,9 +1,11 @@
1
- import { NEW_WORKFLOW_NAV } from './chunk-KGD6CRSA.js';
2
- import { QuotaExhaustedDialog } from './chunk-AANIWER2.js';
3
- import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, SdkPermissionGate } from './chunk-W23ZXNKU.js';
4
- import { useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-XBIHI224.js';
5
- import { useFlowStore } from './chunk-47RAP7HT.js';
6
- import { useTr } from './chunk-7YWBH2A5.js';
1
+ import { NEW_WORKFLOW_NAV } from './chunk-6N27YGMB.js';
2
+ import { QuotaExhaustedDialog } from './chunk-SQFFJUAT.js';
3
+ import { SdkPermissionButton, FLUIDGRIDS_PERMISSIONS, SdkPermissionGate } from './chunk-SYU74PMY.js';
4
+ import { useWorkflowDefinitions, useLazyWorkflowDefinition, useImportWorkflow, useDuplicateWorkflow, useDeleteWorkflow } from './chunk-IYTHK7B5.js';
5
+ import { workflowsListControls } from './chunk-D3UWK7GY.js';
6
+ import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
7
+ import { useFlowStore } from './chunk-3FYOSTEG.js';
8
+ import { useTr } from './chunk-UULVIT25.js';
7
9
  import { useState, useMemo } from 'react';
8
10
  import { useNavigate } from 'react-router';
9
11
  import { v4 } from 'uuid';
@@ -1006,6 +1008,38 @@ function WorkflowsList() {
1006
1008
  return [w.name, w.description, w.alias].filter((v) => typeof v === "string").some((v) => v.toLowerCase().includes(q));
1007
1009
  });
1008
1010
  }, [workflows, search, statusFilter, tagFilter, tagsByKey]);
1011
+ const assistantControls = useMemo(
1012
+ () => workflowsListControls({
1013
+ page: tr("fluidgrids.workflowsList.title", "Workflows"),
1014
+ toolbarShown: !loading && !error && workflows.length > 0,
1015
+ search: setSearch,
1016
+ status: {
1017
+ label: tr("fluidgrids.executions.executionTable.colStatus", "Status"),
1018
+ allLabel: tr("fluidgrids.workflowsList.statusFilterAll", "All"),
1019
+ options: presentStatuses,
1020
+ value: statusFilter,
1021
+ set: setStatusFilter
1022
+ },
1023
+ tag: {
1024
+ label: tr("fluidgrids.workflowsList.tagFallbackLabel", "Tag"),
1025
+ allLabel: tr("fluidgrids.workflowsList.statusFilterAll", "All"),
1026
+ options: presentTags.map((t) => ({ value: t.id, label: t.label })),
1027
+ value: tagFilter,
1028
+ set: setTagFilter
1029
+ }
1030
+ }),
1031
+ [
1032
+ tr,
1033
+ loading,
1034
+ error,
1035
+ workflows.length,
1036
+ presentStatuses,
1037
+ presentTags,
1038
+ statusFilter,
1039
+ tagFilter
1040
+ ]
1041
+ );
1042
+ useFluidGridsPageControls(assistantControls);
1009
1043
  const handleExport = async (id) => {
1010
1044
  const workflow = await getWorkflow(void 0, id);
1011
1045
  if (!workflow) return;
@@ -1251,5 +1285,3 @@ function WorkflowsList() {
1251
1285
  }
1252
1286
 
1253
1287
  export { WorkflowsList };
1254
- //# sourceMappingURL=chunk-HK7IRZLW.js.map
1255
- //# sourceMappingURL=chunk-HK7IRZLW.js.map
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-3ZYUGTIT.js';
1
+ import { cn } from './chunk-JL7CASN5.js';
2
2
  import { forwardRef } from 'react';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -21,5 +21,3 @@ var Input = forwardRef(
21
21
  Input.displayName = "Input";
22
22
 
23
23
  export { Input };
24
- //# sourceMappingURL=chunk-P5PKRQAO.js.map
25
- //# sourceMappingURL=chunk-P5PKRQAO.js.map
@@ -1,10 +1,10 @@
1
- import { useExecution, buildNodeDisplayMap, useExecutionActions, useAutoRefresh, ExecutionStatusBadge, formatRunVersion, NodeTimeline, RunLogViewer } from './chunk-FA7S7YMY.js';
2
- import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-W23ZXNKU.js';
3
- import { getFluidGridsConfig } from './chunk-DFGJKGWH.js';
4
- import { RunLogsDocument, RunLogAppendedDocument } from './chunk-3P4YQ7DO.js';
5
- import { throwIfResultError } from './chunk-LMO5ASOE.js';
6
- import { useTr } from './chunk-7YWBH2A5.js';
7
- import { getFluidGridsClientSafe } from './chunk-ZBMMEE5U.js';
1
+ import { useExecution, buildNodeDisplayMap, useExecutionActions, useAutoRefresh, ExecutionStatusBadge, formatRunVersion, NodeTimeline, RunLogViewer } from './chunk-NM5TH27W.js';
2
+ import { useFluidGridsPermission, FLUIDGRIDS_PERMISSIONS } from './chunk-SYU74PMY.js';
3
+ import { getFluidGridsConfig } from './chunk-UZG3ZIQM.js';
4
+ import { RunLogsDocument, RunLogAppendedDocument } from './chunk-F2OUXT3V.js';
5
+ import { throwIfResultError } from './chunk-CFCUM4CN.js';
6
+ import { useTr } from './chunk-UULVIT25.js';
7
+ import { getFluidGridsClientSafe } from './chunk-NTWG3CJX.js';
8
8
  import { useState, useMemo, useCallback, useRef, useEffect } from 'react';
9
9
  import { useParams, useNavigate, Link } from 'react-router';
10
10
  import { Icon } from '@iconify/react';
@@ -886,5 +886,3 @@ function ExecutionDetailPage() {
886
886
  }
887
887
 
888
888
  export { ExecutionDetailPage };
889
- //# sourceMappingURL=chunk-Z5HU6MUG.js.map
890
- //# sourceMappingURL=chunk-Z5HU6MUG.js.map
@@ -1,7 +1,7 @@
1
- import { getFluidGridsConfig } from './chunk-DFGJKGWH.js';
2
- import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, CreateWorkflowDefinitionDocument, ImportWorkflowDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-3P4YQ7DO.js';
3
- import { throwIfResultError } from './chunk-LMO5ASOE.js';
4
- import { getFluidGridsClient } from './chunk-ZBMMEE5U.js';
1
+ import { getFluidGridsConfig } from './chunk-UZG3ZIQM.js';
2
+ import { WorkflowDefinitionsDocument, WorkflowDefinitionDocument, WorkflowVersionsDocument, CreateWorkflowDefinitionDocument, ImportWorkflowDocument, UpdateWorkflowDefinitionDocument, CreateWorkflowVersionDocument, DeleteWorkflowDefinitionDocument, DuplicateWorkflowDocument, RestoreWorkflowVersionDocument, TriggerWorkflowDocument, WorkflowRunsDocument, WorkflowRunDocument, DashboardSummaryDocument, ActivateWorkflowDefinitionDocument, DeactivateWorkflowDefinitionDocument } from './chunk-F2OUXT3V.js';
3
+ import { throwIfResultError } from './chunk-CFCUM4CN.js';
4
+ import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
5
5
  import { useState, useCallback, useEffect, useMemo } from 'react';
6
6
 
7
7
  var WORKFLOW_DEFINITIONS = WorkflowDefinitionsDocument;
@@ -660,5 +660,3 @@ function useDeactivateWorkflow() {
660
660
  }
661
661
 
662
662
  export { useActivateWorkflow, useCreateWorkflow, useCreateWorkflowVersion, useDashboardSummary, useDeactivateWorkflow, useDeleteWorkflow, useDuplicateWorkflow, useImportWorkflow, useLazyWorkflowDefinition, useRestoreWorkflowVersion, useTriggerWorkflow, useUpdateWorkflow, useWorkflowDefinition, useWorkflowDefinitions, useWorkflowRun, useWorkflowRuns, useWorkflowVersions };
663
- //# sourceMappingURL=chunk-XBIHI224.js.map
664
- //# sourceMappingURL=chunk-XBIHI224.js.map
@@ -6,5 +6,3 @@ function cn(...inputs) {
6
6
  }
7
7
 
8
8
  export { cn };
9
- //# sourceMappingURL=chunk-3ZYUGTIT.js.map
10
- //# sourceMappingURL=chunk-3ZYUGTIT.js.map
@@ -1,5 +1,5 @@
1
- import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-WNFZXH3Z.js';
2
- import { useTr } from './chunk-7YWBH2A5.js';
1
+ import { useDataSinks, useDataSinkData, useInsightsData, useRunReplayActions } from './chunk-5WSBID2F.js';
2
+ import { useTr } from './chunk-UULVIT25.js';
3
3
  import { useState, useMemo, useEffect } from 'react';
4
4
  import { Icon } from '@iconify/react';
5
5
  import { Button } from '@burdenoff/fe-libs/button';
@@ -749,5 +749,3 @@ function ErrorAnalyticsPage() {
749
749
  }
750
750
 
751
751
  export { DataSinkDashboardPage, ErrorAnalyticsPage, InsightsPage };
752
- //# sourceMappingURL=chunk-FAPYERDO.js.map
753
- //# sourceMappingURL=chunk-FAPYERDO.js.map
@@ -1,12 +1,14 @@
1
- import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-NK32XOQN.js';
2
- import { useExecutionsStore } from './chunk-DFGJKGWH.js';
3
- import { ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument, ExecutionsListDocument } from './chunk-3P4YQ7DO.js';
4
- import { throwIfResultError } from './chunk-LMO5ASOE.js';
5
- import { useTr } from './chunk-7YWBH2A5.js';
6
- import { getFluidGridsClient } from './chunk-ZBMMEE5U.js';
1
+ import { REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS } from './chunk-QBFAJNUC.js';
2
+ import { executionsControls } from './chunk-D3UWK7GY.js';
3
+ import { useExecutionsStore } from './chunk-UZG3ZIQM.js';
4
+ import { useFluidGridsPageControls } from './chunk-PJAWNFJV.js';
5
+ import { ExecutionDetailDocument, ExecutionStatsDocument, PauseExecutionDocument, ResumeExecutionDocument, CancelExecutionDocument, RetryNodeDocument, TriggerWorkflowDocument, TerminateExecutionDocument, ExecutionsListDocument } from './chunk-F2OUXT3V.js';
6
+ import { throwIfResultError } from './chunk-CFCUM4CN.js';
7
+ import { useTr } from './chunk-UULVIT25.js';
8
+ import { getFluidGridsClient } from './chunk-NTWG3CJX.js';
7
9
  import { Icon } from '@iconify/react';
8
10
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
9
- import { useState, useCallback, useMemo, useRef, useEffect } from 'react';
11
+ import { useMemo, useState, useCallback, useRef, useEffect } from 'react';
10
12
  import { Button } from '@burdenoff/fe-libs/button';
11
13
  import { useNavigate } from 'react-router';
12
14
  import { gql } from '@apollo/client';
@@ -214,69 +216,104 @@ function NodeStatusBadge({
214
216
  }
215
217
  );
216
218
  }
219
+
220
+ // src/modules/executions/utils/date-range.ts
221
+ function toDate(value) {
222
+ if (value === null || value === void 0 || value === "") return null;
223
+ const date = value instanceof Date ? value : new Date(value);
224
+ return Number.isNaN(date.getTime()) ? null : date;
225
+ }
226
+ function validateDateRange(start, end, preset) {
227
+ const startDate = toDate(start);
228
+ const endDate = toDate(end);
229
+ if (startDate && endDate && startDate.getTime() > endDate.getTime()) {
230
+ return { valid: false, start: null, end: null, preset: preset ?? "all" };
231
+ }
232
+ return {
233
+ valid: true,
234
+ start: startDate,
235
+ end: endDate,
236
+ preset: preset ?? "all"
237
+ };
238
+ }
239
+ function dateRangeToInput(start, end) {
240
+ const {
241
+ valid,
242
+ start: validatedStart,
243
+ end: validatedEnd
244
+ } = validateDateRange(start, end);
245
+ if (!valid) return {};
246
+ const input = {};
247
+ if (validatedStart) input.startDate = validatedStart.toISOString();
248
+ if (validatedEnd) input.endDate = validatedEnd.toISOString();
249
+ return input;
250
+ }
217
251
  function ExecutionFilters({
218
252
  workflows = [],
219
253
  onRefresh
220
254
  }) {
221
255
  const tr = useTr();
222
- const statusOptions = [
223
- {
224
- value: "all",
225
- label: tr(
226
- "fluidgrids.executions.executionFilters.statusAll",
227
- "All Statuses"
228
- )
229
- },
230
- {
231
- value: "RUNNING",
232
- label: tr(
233
- "fluidgrids.executions.executionFilters.statusRunning",
234
- "Running"
235
- )
236
- },
237
- {
238
- value: "COMPLETED",
239
- label: tr(
240
- "fluidgrids.executions.executionFilters.statusCompleted",
241
- "Completed"
242
- )
243
- },
244
- {
245
- value: "FAILED",
246
- label: tr(
247
- "fluidgrids.executions.executionFilters.statusFailed",
248
- "Failed"
249
- )
250
- },
251
- {
252
- value: "PENDING",
253
- label: tr(
254
- "fluidgrids.executions.executionFilters.statusPending",
255
- "Pending"
256
- )
257
- },
258
- {
259
- value: "CANCELLED",
260
- label: tr(
261
- "fluidgrids.executions.executionFilters.statusCancelled",
262
- "Cancelled"
263
- )
264
- },
265
- {
266
- value: "WAITING",
267
- label: tr(
268
- "fluidgrids.executions.executionFilters.statusWaiting",
269
- "Waiting"
270
- )
271
- },
272
- {
273
- value: "TERMINATED",
274
- label: tr(
275
- "fluidgrids.executions.executionFilters.statusTerminated",
276
- "Terminated"
277
- )
278
- }
279
- ];
256
+ const statusOptions = useMemo(
257
+ () => [
258
+ {
259
+ value: "all",
260
+ label: tr(
261
+ "fluidgrids.executions.executionFilters.statusAll",
262
+ "All Statuses"
263
+ )
264
+ },
265
+ {
266
+ value: "RUNNING",
267
+ label: tr(
268
+ "fluidgrids.executions.executionFilters.statusRunning",
269
+ "Running"
270
+ )
271
+ },
272
+ {
273
+ value: "COMPLETED",
274
+ label: tr(
275
+ "fluidgrids.executions.executionFilters.statusCompleted",
276
+ "Completed"
277
+ )
278
+ },
279
+ {
280
+ value: "FAILED",
281
+ label: tr(
282
+ "fluidgrids.executions.executionFilters.statusFailed",
283
+ "Failed"
284
+ )
285
+ },
286
+ {
287
+ value: "PENDING",
288
+ label: tr(
289
+ "fluidgrids.executions.executionFilters.statusPending",
290
+ "Pending"
291
+ )
292
+ },
293
+ {
294
+ value: "CANCELLED",
295
+ label: tr(
296
+ "fluidgrids.executions.executionFilters.statusCancelled",
297
+ "Cancelled"
298
+ )
299
+ },
300
+ {
301
+ value: "WAITING",
302
+ label: tr(
303
+ "fluidgrids.executions.executionFilters.statusWaiting",
304
+ "Waiting"
305
+ )
306
+ },
307
+ {
308
+ value: "TERMINATED",
309
+ label: tr(
310
+ "fluidgrids.executions.executionFilters.statusTerminated",
311
+ "Terminated"
312
+ )
313
+ }
314
+ ],
315
+ [tr]
316
+ );
280
317
  const datePresets = [
281
318
  {
282
319
  value: "all",
@@ -393,6 +430,46 @@ function ExecutionFilters({
393
430
  filter.errorType !== "all",
394
431
  filter.nodeId !== ""
395
432
  ].filter(Boolean).length;
433
+ const assistantControls = useMemo(
434
+ () => executionsControls({
435
+ page: tr("fluidgrids.executions.executionsList.title", "Executions"),
436
+ search: setSearchQuery,
437
+ status: {
438
+ label: tr("fluidgrids.executions.executionTable.colStatus", "Status"),
439
+ options: statusOptions,
440
+ neutral: "all",
441
+ value: filter.status,
442
+ set: setStatusFilter
443
+ },
444
+ workflow: {
445
+ label: tr(
446
+ "fluidgrids.executions.executionTable.colWorkflow",
447
+ "Workflow"
448
+ ),
449
+ allLabel: tr(
450
+ "fluidgrids.executions.executionFilters.allWorkflows",
451
+ "All Workflows"
452
+ ),
453
+ options: workflows.map((wf) => ({
454
+ value: wf.workflowKey,
455
+ label: wf.name
456
+ })),
457
+ value: filter.workflowKey,
458
+ set: setWorkflowFilter
459
+ }
460
+ }),
461
+ [
462
+ tr,
463
+ statusOptions,
464
+ workflows,
465
+ filter.status,
466
+ filter.workflowKey,
467
+ setSearchQuery,
468
+ setStatusFilter,
469
+ setWorkflowFilter
470
+ ]
471
+ );
472
+ useFluidGridsPageControls(assistantControls);
396
473
  return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
397
474
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col sm:flex-row gap-3", children: [
398
475
  /* @__PURE__ */ jsxs("div", { className: "relative flex-1", children: [
@@ -594,41 +671,54 @@ function ExecutionFilters({
594
671
  }
595
672
  )
596
673
  ] }),
597
- showCustomDate && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-3 items-center p-3 bg-background-secondary rounded-lg border border-border-secondary", children: [
598
- /* @__PURE__ */ jsx("label", { className: "text-sm text-text-secondary", children: tr("fluidgrids.executions.executionFilters.fromLabel", "From:") }),
599
- /* @__PURE__ */ jsx(
600
- "input",
601
- {
602
- type: "datetime-local",
603
- value: filter.dateRange.start?.toISOString().slice(0, 16) ?? "",
604
- onChange: (e) => setDateRange({
605
- ...filter.dateRange,
606
- start: e.target.value ? new Date(e.target.value) : null,
607
- preset: "custom"
608
- }),
609
- className: "px-3 py-1.5 bg-background-primary border border-border-secondary rounded text-text-primary text-sm"
610
- }
611
- ),
612
- /* @__PURE__ */ jsx("label", { className: "text-sm text-text-secondary", children: tr("fluidgrids.executions.executionFilters.toLabel", "To:") }),
613
- /* @__PURE__ */ jsx(
614
- "input",
615
- {
616
- type: "datetime-local",
617
- value: filter.dateRange.end?.toISOString().slice(0, 16) ?? "",
618
- onChange: (e) => setDateRange({
619
- ...filter.dateRange,
620
- end: e.target.value ? new Date(e.target.value) : null,
621
- preset: "custom"
622
- }),
623
- className: "px-3 py-1.5 bg-background-primary border border-border-secondary rounded text-text-primary text-sm"
624
- }
625
- ),
626
- /* @__PURE__ */ jsx(
627
- "button",
674
+ showCustomDate && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
675
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-3 items-center p-3 bg-background-secondary rounded-lg border border-border-secondary", children: [
676
+ /* @__PURE__ */ jsx("label", { className: "text-sm text-text-secondary", children: tr("fluidgrids.executions.executionFilters.fromLabel", "From:") }),
677
+ /* @__PURE__ */ jsx(
678
+ "input",
679
+ {
680
+ type: "datetime-local",
681
+ value: filter.dateRange.start?.toISOString().slice(0, 16) ?? "",
682
+ onChange: (e) => setDateRange({
683
+ ...filter.dateRange,
684
+ start: e.target.value ? new Date(e.target.value) : null,
685
+ preset: "custom"
686
+ }),
687
+ className: "px-3 py-1.5 bg-background-primary border border-border-secondary rounded text-text-primary text-sm"
688
+ }
689
+ ),
690
+ /* @__PURE__ */ jsx("label", { className: "text-sm text-text-secondary", children: tr("fluidgrids.executions.executionFilters.toLabel", "To:") }),
691
+ /* @__PURE__ */ jsx(
692
+ "input",
693
+ {
694
+ type: "datetime-local",
695
+ value: filter.dateRange.end?.toISOString().slice(0, 16) ?? "",
696
+ onChange: (e) => setDateRange({
697
+ ...filter.dateRange,
698
+ end: e.target.value ? new Date(e.target.value) : null,
699
+ preset: "custom"
700
+ }),
701
+ className: "px-3 py-1.5 bg-background-primary border border-border-secondary rounded text-text-primary text-sm"
702
+ }
703
+ ),
704
+ /* @__PURE__ */ jsx(
705
+ "button",
706
+ {
707
+ onClick: () => setShowCustomDate(false),
708
+ className: "text-text-secondary hover:text-text-primary",
709
+ children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:close", width: 18 })
710
+ }
711
+ )
712
+ ] }),
713
+ !validateDateRange(filter.dateRange.start, filter.dateRange.end).valid && /* @__PURE__ */ jsx(
714
+ "p",
628
715
  {
629
- onClick: () => setShowCustomDate(false),
630
- className: "text-text-secondary hover:text-text-primary",
631
- children: /* @__PURE__ */ jsx(Icon, { icon: "mdi:close", width: 18 })
716
+ role: "alert",
717
+ className: "text-sm text-[var(--color-status-error-text)]",
718
+ children: tr(
719
+ "fluidgrids.executions.executionFilters.dateRangeInvalid",
720
+ 'Invalid date range: "From" must be before or equal to "To".'
721
+ )
632
722
  }
633
723
  )
634
724
  ] }),
@@ -2924,12 +3014,10 @@ function useExecutionsWithStore() {
2924
3014
  if (filter.workflowKey) {
2925
3015
  baseInput.workflowKey = filter.workflowKey;
2926
3016
  }
2927
- if (filter.dateRange.start) {
2928
- baseInput.startDate = filter.dateRange.start.toISOString();
2929
- }
2930
- if (filter.dateRange.end) {
2931
- baseInput.endDate = filter.dateRange.end.toISOString();
2932
- }
3017
+ Object.assign(
3018
+ baseInput,
3019
+ dateRangeToInput(filter.dateRange.start, filter.dateRange.end)
3020
+ );
2933
3021
  const term = debouncedSearch.trim();
2934
3022
  if (term) {
2935
3023
  baseInput.search = term;
@@ -2970,5 +3058,3 @@ function useAutoRefresh(refetchFn, enabled = true, interval = 5e3) {
2970
3058
  }
2971
3059
 
2972
3060
  export { ExecutionCards, ExecutionFilters, ExecutionStats, ExecutionStatusBadge, ExecutionTable, ExecutionTimeline, NodeTimeline, Pagination, RunLogViewer, buildNodeDisplayMap, formatRunVersion, useAutoRefresh, useExecution, useExecutionActions, useExecutionStats, useExecutionsWithStore };
2973
- //# sourceMappingURL=chunk-FA7S7YMY.js.map
2974
- //# sourceMappingURL=chunk-FA7S7YMY.js.map
@@ -105,5 +105,3 @@ function resetFluidGridsClient() {
105
105
  }
106
106
 
107
107
  export { createFluidGridsClient, getFluidGridsClient, getFluidGridsClientSafe, isFluidGridsClientReady, resetFluidGridsClient, setFluidGridsClient, waitForFluidGridsClient };
108
- //# sourceMappingURL=chunk-ZBMMEE5U.js.map
109
- //# sourceMappingURL=chunk-ZBMMEE5U.js.map
@@ -0,0 +1,18 @@
1
+ import { createContext, useContext, useEffect } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ var BridgeContext = createContext(null);
5
+ var FluidGridsAssistantBridge = ({
6
+ register,
7
+ children
8
+ }) => /* @__PURE__ */ jsx(BridgeContext.Provider, { value: register, children });
9
+ function useFluidGridsPageControls(spec) {
10
+ const register = useContext(BridgeContext);
11
+ useEffect(() => connectPageControls(register, spec), [register, spec]);
12
+ }
13
+ function connectPageControls(register, spec) {
14
+ if (!register || !spec) return void 0;
15
+ return register(spec);
16
+ }
17
+
18
+ export { FluidGridsAssistantBridge, useFluidGridsPageControls };
@@ -41,5 +41,3 @@ function createGlobalStoreClient(config) {
41
41
  }
42
42
 
43
43
  export { createGlobalStoreClient, getGlobalStoreClient, resetGlobalStoreClient, setGlobalStoreClient };
44
- //# sourceMappingURL=chunk-BQXHJIER.js.map
45
- //# sourceMappingURL=chunk-BQXHJIER.js.map
@@ -244,5 +244,3 @@ var OBSERVABILITY_DATA_SINK_DATA = gql`
244
244
  `;
245
245
 
246
246
  export { CREATE_LOG_STREAM_DESTINATION, DELETE_LOG_STREAM_DESTINATION, LOG_STREAM_DESTINATIONS, OBSERVABILITY_DASHBOARD_SUMMARY, OBSERVABILITY_DATA_SINKS, OBSERVABILITY_DATA_SINK_DATA, OBSERVABILITY_FAILED_RUNS, REPLAY_WORKFLOW_RUN, RETRY_WORKFLOW_RUNS, TEST_LOG_STREAM_DESTINATION, UPDATE_LOG_STREAM_DESTINATION };
247
- //# sourceMappingURL=chunk-NK32XOQN.js.map
248
- //# sourceMappingURL=chunk-NK32XOQN.js.map
@@ -1,4 +1,4 @@
1
- import { useTr } from './chunk-7YWBH2A5.js';
1
+ import { useTr } from './chunk-UULVIT25.js';
2
2
  import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction } from '@burdenoff/fe-libs/ui';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
 
@@ -37,5 +37,3 @@ function QuotaExhaustedDialog({
37
37
  }
38
38
 
39
39
  export { QuotaExhaustedDialog };
40
- //# sourceMappingURL=chunk-AANIWER2.js.map
41
- //# sourceMappingURL=chunk-AANIWER2.js.map