@burdenoff/fluidgrids-fe-sdk 2026.923.1 → 2026.923.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 (44) hide show
  1. package/dist/{ExecutionDetailPage-22KHNXBI.js → ExecutionDetailPage-BD7CS4KL.js} +4 -4
  2. package/dist/{ExecutionDetailPage-22KHNXBI.js.map → ExecutionDetailPage-BD7CS4KL.js.map} +1 -1
  3. package/dist/{ExecutionsListPage-NQWK2NCN.js → ExecutionsListPage-VOGSLA7T.js} +4 -4
  4. package/dist/{ExecutionsListPage-NQWK2NCN.js.map → ExecutionsListPage-VOGSLA7T.js.map} +1 -1
  5. package/dist/{WorkflowBuilder-2PLQT5OZ.js → WorkflowBuilder-WLJBVVHS.js} +4 -4
  6. package/dist/{WorkflowBuilder-2PLQT5OZ.js.map → WorkflowBuilder-WLJBVVHS.js.map} +1 -1
  7. package/dist/{WorkflowsList-M2GOHL6L.js → WorkflowsList-QREUMT55.js} +3 -3
  8. package/dist/{WorkflowsList-M2GOHL6L.js.map → WorkflowsList-QREUMT55.js.map} +1 -1
  9. package/dist/{chunk-YNDQYVT2.js → chunk-4C6UYNC5.js} +3 -3
  10. package/dist/{chunk-YNDQYVT2.js.map → chunk-4C6UYNC5.js.map} +1 -1
  11. package/dist/{chunk-24A4C63H.js → chunk-5A7GP6O7.js} +189 -67
  12. package/dist/chunk-5A7GP6O7.js.map +1 -0
  13. package/dist/{chunk-C7OR5C6R.js → chunk-5PZDLMC4.js} +3 -3
  14. package/dist/{chunk-C7OR5C6R.js.map → chunk-5PZDLMC4.js.map} +1 -1
  15. package/dist/{chunk-EGQB462S.js → chunk-FKOUPL6Z.js} +355 -128
  16. package/dist/chunk-FKOUPL6Z.js.map +1 -0
  17. package/dist/{chunk-AQBWMYKP.js → chunk-HNVWIVJH.js} +52 -16
  18. package/dist/chunk-HNVWIVJH.js.map +1 -0
  19. package/dist/{chunk-ILH7U6VB.js → chunk-LH2YML5F.js} +3 -3
  20. package/dist/{chunk-ILH7U6VB.js.map → chunk-LH2YML5F.js.map} +1 -1
  21. package/dist/{chunk-RRBFISAU.js → chunk-TEZV7I6A.js} +3 -3
  22. package/dist/{chunk-RRBFISAU.js.map → chunk-TEZV7I6A.js.map} +1 -1
  23. package/dist/{chunk-PTI43PVQ.js → chunk-TOHTP3BT.js} +3 -3
  24. package/dist/{chunk-PTI43PVQ.js.map → chunk-TOHTP3BT.js.map} +1 -1
  25. package/dist/{chunk-XQ7FGXPM.js → chunk-TVLE7GNH.js} +374 -7
  26. package/dist/chunk-TVLE7GNH.js.map +1 -0
  27. package/dist/{chunk-WTKMWWSI.js → chunk-VTPBYPDV.js} +10 -4
  28. package/dist/chunk-VTPBYPDV.js.map +1 -0
  29. package/dist/{chunk-JMJRE5RT.js → chunk-XF7QA3QT.js} +414 -152
  30. package/dist/chunk-XF7QA3QT.js.map +1 -0
  31. package/dist/executions.js +3 -3
  32. package/dist/index.js +17 -17
  33. package/dist/observability.js +2 -2
  34. package/dist/settings.js +2 -2
  35. package/dist/templates.js +2 -2
  36. package/dist/workflow-builder.js +3 -3
  37. package/dist/workflows-list.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/chunk-24A4C63H.js.map +0 -1
  40. package/dist/chunk-AQBWMYKP.js.map +0 -1
  41. package/dist/chunk-EGQB462S.js.map +0 -1
  42. package/dist/chunk-JMJRE5RT.js.map +0 -1
  43. package/dist/chunk-WTKMWWSI.js.map +0 -1
  44. package/dist/chunk-XQ7FGXPM.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import './chunk-RXMBIJ5Z.js';
2
- export { ExecutionsListPage } from './chunk-WTKMWWSI.js';
3
- export { ExecutionDetailPage } from './chunk-YNDQYVT2.js';
4
- import './chunk-AQBWMYKP.js';
2
+ export { ExecutionsListPage } from './chunk-VTPBYPDV.js';
3
+ export { ExecutionDetailPage } from './chunk-4C6UYNC5.js';
4
+ import './chunk-HNVWIVJH.js';
5
5
  import './chunk-NK32XOQN.js';
6
6
  import './chunk-W23ZXNKU.js';
7
7
  import './chunk-3ZYUGTIT.js';
package/dist/index.js CHANGED
@@ -1,21 +1,21 @@
1
1
  export { Label } from './chunk-6QCBKN3P.js';
2
- export { WorkflowsList } from './chunk-XQ7FGXPM.js';
2
+ export { WorkflowsList } from './chunk-TVLE7GNH.js';
3
3
  import './chunk-RXMBIJ5Z.js';
4
- export { ExecutionsListPage } from './chunk-WTKMWWSI.js';
5
- export { ExecutionDetailPage } from './chunk-YNDQYVT2.js';
6
- import './chunk-AQBWMYKP.js';
4
+ export { ExecutionsListPage } from './chunk-VTPBYPDV.js';
5
+ export { ExecutionDetailPage } from './chunk-4C6UYNC5.js';
6
+ import './chunk-HNVWIVJH.js';
7
7
  export { HistoryPage } from './chunk-Q7RJYGQK.js';
8
8
  export { NodesPage, fetchAllNodesWithManifests, useLazyNodeManifest, useNodeEndpoint, useNodeEndpoints, useNodeManifest } from './chunk-VPWQN7KV.js';
9
- export { DataSinkDashboardPage, ErrorAnalyticsPage, InsightsPage } from './chunk-EGQB462S.js';
10
- export { SettingsPage } from './chunk-ILH7U6VB.js';
11
- export { useDataSinkData, useDataSinks, useInsightsData, useLogStreamDestinationActions, useLogStreamDestinations, useRunReplayActions } from './chunk-24A4C63H.js';
9
+ export { DataSinkDashboardPage, ErrorAnalyticsPage, InsightsPage } from './chunk-FKOUPL6Z.js';
10
+ export { SettingsPage } from './chunk-LH2YML5F.js';
11
+ export { useDataSinkData, useDataSinks, useInsightsData, useLogStreamDestinationActions, useLogStreamDestinations, useRunReplayActions } from './chunk-5A7GP6O7.js';
12
12
  import './chunk-NK32XOQN.js';
13
- import { ThemeProvider, extractTemplateGraph } from './chunk-RRBFISAU.js';
14
- export { A2AMessagePriority, A2AMessageStatus, A2ATrustLevel, ActionExecutionStatus, ActionSourceType, ActionStatus, ActionStyle, ActionTriggerType, ActionType, ActivityCategory, ActivityType, ActorType, AgentVisibility, AiPromptCategory, AiPromptStatus, AlertSeverity, AnalyticsEntityType, AnalyticsEventSeverity, AnalyticsGranularity, AnalyticsInsightSeverity, AppCategory, AppInstallationState, AppPermission, AppStatus, AppType, AppVisibility, ApprovalStatus, ArtifactType, AssetBudgetStatus, AssetCondition, AssetStatus, AssignmentSource, AttendeeRole, AuthType, AuthorType, AutomationExecutionStatus, AutomationStatus, AutomationTriggerType, BackoffStrategy, BatchDownloadStatus, BigConsoleConflictResolution, BillingType, BoardColumnType, BoardType, BookingFormFieldType, BookingPageType, BookingStatus, BotAppStatus, BotAppType, BotAppVisibility, BotlitAgentCapability, BotlitAgentStatus, BotlitAgentType, BotlitHealthStatus, BotlitLlmProviderType, BudgetStatus, BulkConversationAction, CalendarEventStatus, CalendarExecutionStatus, CalendarExportFormat, CalendarPromptStatus, CalendarResourceType, CalendarType, CallParticipantChangeType, CallState, CallType, CatalogVisibility, ChangeRisk, ChangeStatus, ChannelMessageStatus, ChannelPlatform, ChannelStatus, ChannelType, ChatRole, CheckInStatus, ChunkingMethod, CircuitState, CohortType, CollaboratorRole, CollectionActivityType, CollectionItemSortField, CollectionSortField, CollectionType, CollectionVisibility, CommentExportFormat, CommentScheduleType, CommentStatus, CommentVisibility, ComparisonOperator, ComplianceStatus, ComponentLifecycle, ComponentType, ConfigScope, ConflictResolution, ConnectionCredentialSource, ConnectionQuality, ConnectionStatus, ContentSearchEngine, ContentSearchStatus, ContentType, ConversationPermission, ConversationSortField, ConversationState, ConversationType, ConversationVisibility, ConversationsExportFormat, CustomFieldType, DashboardCategory, DashboardLayout, DashboardSortField, DashboardStatus, DashboardStyleType, DashboardVisibility, DataSinkRefreshType, DataSinkSetupState, DataSinkSourceType, DataSinkStatus, DataSinkUpdateEventType, DataSourceTestStatus, DataSourceType, DayOfWeek, DeliveryChannelType, DependencyStatus, DependencyType, DiscoveryJobStatus, DlqStatus, DocumentStatus, DriverStatus, EncryptionAlgorithm, EnergyLevel, EntityStatus, ErrorType, EventStatus, EventType, EventValidationStatus, EventVisibility, EventfullymanagedConfigScope, EventfullymanagedSessionStatus, EventfullymanagedSessionType, EventfullymanagedVibeStatus, EventfullymanagedVibeType, 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, FunnelStepOrder, GeneratedLayoutType, GenerationStatus, GeofenceEventType, GeofenceTrigger, GgnomadBookingStatus, GgnomadBookingType, GgnomadListingStatus, GitopsProviderType, GitopsSnapshotType, GraphMetadataOperator, GraphSearchMode, GraphSearchSortBy, GroupCompositionMode, GroupExportFormat, GroupScope, GroupSortField, GroupStatus, GroupType, GroupVisibility, GroupsExportFormat, HeadshotmarketingAdCampaignStatus, HeadshotmarketingAdCreativeStatus, HeadshotmarketingAdCreativeType, HeadshotmarketingAdPlatform, HeadshotmarketingAiToolCategory, HeadshotmarketingAiToolExecutionStatus, HeadshotmarketingAssetType, HeadshotmarketingCampaignStatus, HeadshotmarketingCampaignType, HeadshotmarketingContactStatus, HeadshotmarketingContentItemStatus, HeadshotmarketingContentItemType, HeadshotmarketingDateRangePreset, HeadshotmarketingDealStatus, HeadshotmarketingEventRegistrationStatus, HeadshotmarketingEventStatus, HeadshotmarketingEventType, HeadshotmarketingInfluencerCampaignStatus, HeadshotmarketingInfluencerRelationshipStatus, HeadshotmarketingInfluencerTier, HeadshotmarketingLandingPageSectionType, HeadshotmarketingLandingPageStatus, HeadshotmarketingLeadSource, HeadshotmarketingLeadStatus, HeadshotmarketingMetricType, HeadshotmarketingReportStatus, HeadshotmarketingReportType, HeadshotmarketingSeoAuditSeverity, HeadshotmarketingSeoAuditStatus, HeadshotmarketingSeoKeywordStatus, HeadshotmarketingSocialAccountStatus, HeadshotmarketingSocialPlatform, HeadshotmarketingSocialPostStatus, HeadshotmarketingWorkflowExecutionStatus, HeadshotmarketingWorkflowStatus, HeadshotmarketingWorkflowTriggerType, HttpMethod, IncidentStatus, IndexStatus, InstallMode, InventoryTransactionType, InvitationStatus, InviteStatus, InvoiceStatus, IssueTokenErrorCode, JobStatus, KadaikodiInvestmentStatus, KadaikodiOfferingKind, KadaikodiOrderStatus, KadaikodiPaymentStatus, KadaikodiProviderStatus, KadaikodiRiskLevel, KadaikodiServiceCategory, KeyStatus, KeyType, KnowledgeArticleStatus, LocationType, LockType, LogAction, LogLevel, McpConnectionStatus, McpResourceType, McpToolStatus, MeetingActionItemStatus, MeetingOrderByField, MeetingParticipantRole, MeetingParticipantStatus, MeetingProvider, MeetingType, MemberPresenceStatus, MembershipRole, MembershipSource, MembershipStatus, MembershipType, MentionType, MessageContentType, MessageReportResolutionAction, MessageReportStatus, MessageStatus, MessageType, MetadataValueType, MetricAggregation, MetricAggregationField, MetricType, MilestoneStatus, MisfirePolicy, Mood, NatsFilterType, NavigationMode, NodeConfigStatus, NodeStatus, NotificationLevel, OrderDirection, OrderPriority, OrderStatus, OrderType, OverrideType, PackageKind, PageLayout, ParserStatus, ParserType, ParticipantChangeType, ParticipantRole, PipelineExecutionStatus, PipelineStatus, PlanmagnetProjectStatus, PlanmagnetSyncDirection, PlanmagnetSyncProvider, PlanmagnetSyncStatus, PluginStatus, PolicyStatus, PolicyType, PomodoroGoalPeriod, PomodoroGoalType, PomodoroSessionOrderByField, PomodoroSessionType, PortfolioStatus, PresenceStatus, Priority, ProblemStatus, ProductType, ProjectMethodology, ProjectOrderField, ProjectStatus, PromptGenerationStatus, PromptPriority, PromptStatus, PropertyStatus, PropertyType, ProviderCategory, PublishType, QualityGateStatus, RbacChangeType, ReactionChangeType, RecordingMode, ReleaseStatus, ReminderChannel, ReminderType, ReportFormat, ReportScheduleStatus, ResourceBookingStatus, RetrievalMode, RiskSeverity, RiskStatus, RoadmapItemStatus, RoadmapType, RoleLevel, RouteStatus, RoutingStrategy, RsvpStatus, RuleActionType, RuleConditionOperator, RuleRunMode, RunLogLevel, RunLogStream, RunMode, RunStatus, SandboxChangeType, SandboxExportFormat, SandboxExportJobStatus, SandboxKind, SandboxMode, SandboxSource, SandboxStatus, SandboxTemplate, SchedulePriority, ScheduleType, ScorecardMetricStatus, ScorecardMetricType, ScorecardOwnerType, SecretStatus, SecretType, SecurityExportFormat, SecuritySeverity, SecuritySubscriptionEvent, SegmentVisibility, SessionSharePermission, SettingsCategory, SharePermission, ShareRecipientType, ShareSortField, ShareStatus, ShareTokenType, ShipmentStatus, SmartCollectionConditionField, SmartCollectionConditionOperator, SmartCollectionOperator, SortDirection, SortOrder, SprintStatus, StageErrorHandling, StageExecutionStatus, StorageMode, StrategicAlignment, StressLevel, SubmissionStatus, SuggestedDataSourceType, SyncDirection, SyncFromGlobalOperation, SyncProvider, SystemEventType, TagCardinality, TagDataType, TagFilterOperator, TagRelationType, TagScope, TagsExportFormat, TargetType, TaskOrderField, TaskPriority, TaskStatus, TemplateAuthorType, TemplateCategory, TemplateComplexity, TemplatePreview, TemplateStatus, TemplateVisibility, TemplatesPage, TimeBucket, TimeCampusChannelType, TimeCampusConfigScope, TimeCampusProjectStatus, TimeCampusSortDirection, TimeEntryOrderField, TimeEntryStatus, TimeGrain, TimeRange, TlsMode, ToolRiskLevel, TrackingEventType, TransactionStatus, TransactionType, TraversalDirection, TunnelDomainType, TunnelDomainVerificationStatus, TunnelEnvironment, TunnelProtocol, TunnelProviderKey, TunnelSessionStatus, TunnelShardStatus, TunnelStatus, UpdateScope, UploadStatus, UploadType, UsageStatus, ValidationMethod, VaultIncidentSeverity, VaultIncidentStatus, VaultMemberRole, VaultRotationStatus, VaultScope, VaultSecurityEventSeverity, VaultSecurityEventType, VaultStatus, VaultSyncStatus, VehicleStatus, VehicleType, VersionStatus, VibeAuditAction, VibeAuditExportFormat, VibeAuditResourceType, VibeAuditStatus, VibeCalendarExecutionStatus, VibeCalendarTaskStatus, VibeDeckButtonActionType, VibeDeckSharePermission, VibeDeckShareStatus, VibeDeckShareVisibility, VibeStatus, VibeType, VibecontrolsActionType, VibecontrolsDocsBuildImagePullPolicy, VibecontrolsDocsBuildImageScanStatus, VibecontrolsDocsBuildImageStatus, VibecontrolsDocsBuildRuntime, VibecontrolsDocsPageStatus, VibecontrolsDocsRevisionStatus, VibecontrolsDocsSiteOwnerType, VibecontrolsDocsSiteVisibility, VibecontrolsSessionStatus, VibecontrolsSessionType, VibecontrolsTemplateCategory, VibecontrolsTemplateStatus, Visibility, VisibilityType, VocabularyKind, VocabularyScope, WarehouseType, WebhookAuthType, WidgetConfidence, WidgetRenderer, WidgetType, WorkItemPriority, WorkItemStatus, WorkItemType, WorkOrderStatus, WorkOrderType, WorkPatternInsightType, WorkflowStatus, WorkspaceResourceStatus, WorkspaceResourceType, WorkspaceStatus, WorkspaceType, WorkspacesExportFormat } from './chunk-RRBFISAU.js';
15
- export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-C7OR5C6R.js';
16
- export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-PTI43PVQ.js';
17
- import { FluidGridsProvider, FlowBuilderPage } from './chunk-JMJRE5RT.js';
18
- export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConnectionFormDialog, ConnectionSelector, EntityTagPicker, FLUIDGRIDS_ENTITY_TYPES, FluidGridsProvider, ProviderPicker, SchemaConnectionForm, ScopePicker, listCustomBlocks, refetchStoreNodes, registerCustomBlock, resolveUiSpec, stripSubmitActions, tagLabel, useAvailableTags, useConnection, useConnectionDialog, useConnections, useConnectionsByProvider, useCreateConnection, useCreateTag, useDraftEntityTags, useEntityTags, useFluidGridsContext, useInitiateOAuth, useNodeExecution, useProviderByKey, useProviderCatalog, useProviders, useReplaceEntityTags, useSearchTags, useTagEntity, useUntagEntity } from './chunk-JMJRE5RT.js';
13
+ import { ThemeProvider, extractTemplateGraph } from './chunk-TEZV7I6A.js';
14
+ export { A2AMessagePriority, A2AMessageStatus, A2ATrustLevel, ActionExecutionStatus, ActionSourceType, ActionStatus, ActionStyle, ActionTriggerType, ActionType, ActivityCategory, ActivityType, ActorType, AgentVisibility, AiPromptCategory, AiPromptStatus, AlertSeverity, AnalyticsEntityType, AnalyticsEventSeverity, AnalyticsGranularity, AnalyticsInsightSeverity, AppCategory, AppInstallationState, AppPermission, AppStatus, AppType, AppVisibility, ApprovalStatus, ArtifactType, AssetBudgetStatus, AssetCondition, AssetStatus, AssignmentSource, AttendeeRole, AuthType, AuthorType, AutomationExecutionStatus, AutomationStatus, AutomationTriggerType, BackoffStrategy, BatchDownloadStatus, BigConsoleConflictResolution, BillingType, BoardColumnType, BoardType, BookingFormFieldType, BookingPageType, BookingStatus, BotAppStatus, BotAppType, BotAppVisibility, BotlitAgentCapability, BotlitAgentStatus, BotlitAgentType, BotlitHealthStatus, BotlitLlmProviderType, BudgetStatus, BulkConversationAction, CalendarEventStatus, CalendarExecutionStatus, CalendarExportFormat, CalendarPromptStatus, CalendarResourceType, CalendarType, CallParticipantChangeType, CallState, CallType, CatalogVisibility, ChangeRisk, ChangeStatus, ChannelMessageStatus, ChannelPlatform, ChannelStatus, ChannelType, ChatRole, CheckInStatus, ChunkingMethod, CircuitState, CohortType, CollaboratorRole, CollectionActivityType, CollectionItemSortField, CollectionSortField, CollectionType, CollectionVisibility, CommentExportFormat, CommentScheduleType, CommentStatus, CommentVisibility, ComparisonOperator, ComplianceStatus, ComponentLifecycle, ComponentType, ConfigScope, ConflictResolution, ConnectionCredentialSource, ConnectionQuality, ConnectionStatus, ContentSearchEngine, ContentSearchStatus, ContentType, ConversationPermission, ConversationSortField, ConversationState, ConversationType, ConversationVisibility, ConversationsExportFormat, CustomFieldType, DashboardCategory, DashboardLayout, DashboardSortField, DashboardStatus, DashboardStyleType, DashboardVisibility, DataSinkRefreshType, DataSinkSetupState, DataSinkSourceType, DataSinkStatus, DataSinkUpdateEventType, DataSourceTestStatus, DataSourceType, DayOfWeek, DeliveryChannelType, DependencyStatus, DependencyType, DiscoveryJobStatus, DlqStatus, DocumentStatus, DriverStatus, EncryptionAlgorithm, EnergyLevel, EntityStatus, ErrorType, EventStatus, EventType, EventValidationStatus, EventVisibility, EventfullymanagedConfigScope, EventfullymanagedSessionStatus, EventfullymanagedSessionType, EventfullymanagedVibeStatus, EventfullymanagedVibeType, 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, FunnelStepOrder, GeneratedLayoutType, GenerationStatus, GeofenceEventType, GeofenceTrigger, GgnomadBookingStatus, GgnomadBookingType, GgnomadListingStatus, GitopsProviderType, GitopsSnapshotType, GraphMetadataOperator, GraphSearchMode, GraphSearchSortBy, GroupCompositionMode, GroupExportFormat, GroupScope, GroupSortField, GroupStatus, GroupType, GroupVisibility, GroupsExportFormat, HeadshotmarketingAdCampaignStatus, HeadshotmarketingAdCreativeStatus, HeadshotmarketingAdCreativeType, HeadshotmarketingAdPlatform, HeadshotmarketingAiToolCategory, HeadshotmarketingAiToolExecutionStatus, HeadshotmarketingAssetType, HeadshotmarketingCampaignStatus, HeadshotmarketingCampaignType, HeadshotmarketingContactStatus, HeadshotmarketingContentItemStatus, HeadshotmarketingContentItemType, HeadshotmarketingDateRangePreset, HeadshotmarketingDealStatus, HeadshotmarketingEventRegistrationStatus, HeadshotmarketingEventStatus, HeadshotmarketingEventType, HeadshotmarketingInfluencerCampaignStatus, HeadshotmarketingInfluencerRelationshipStatus, HeadshotmarketingInfluencerTier, HeadshotmarketingLandingPageSectionType, HeadshotmarketingLandingPageStatus, HeadshotmarketingLeadSource, HeadshotmarketingLeadStatus, HeadshotmarketingMetricType, HeadshotmarketingReportStatus, HeadshotmarketingReportType, HeadshotmarketingSeoAuditSeverity, HeadshotmarketingSeoAuditStatus, HeadshotmarketingSeoKeywordStatus, HeadshotmarketingSocialAccountStatus, HeadshotmarketingSocialPlatform, HeadshotmarketingSocialPostStatus, HeadshotmarketingWorkflowExecutionStatus, HeadshotmarketingWorkflowStatus, HeadshotmarketingWorkflowTriggerType, HttpMethod, IncidentStatus, IndexStatus, InstallMode, InventoryTransactionType, InvitationStatus, InviteStatus, InvoiceStatus, IssueTokenErrorCode, JobStatus, KadaikodiInvestmentStatus, KadaikodiOfferingKind, KadaikodiOrderStatus, KadaikodiPaymentStatus, KadaikodiProviderStatus, KadaikodiRiskLevel, KadaikodiServiceCategory, KeyStatus, KeyType, KnowledgeArticleStatus, LocationType, LockType, LogAction, LogLevel, McpConnectionStatus, McpResourceType, McpToolStatus, MeetingActionItemStatus, MeetingOrderByField, MeetingParticipantRole, MeetingParticipantStatus, MeetingProvider, MeetingType, MemberPresenceStatus, MembershipRole, MembershipSource, MembershipStatus, MembershipType, MentionType, MessageContentType, MessageReportResolutionAction, MessageReportStatus, MessageStatus, MessageType, MetadataValueType, MetricAggregation, MetricAggregationField, MetricType, MilestoneStatus, MisfirePolicy, Mood, NatsFilterType, NavigationMode, NodeConfigStatus, NodeStatus, NotificationLevel, OrderDirection, OrderPriority, OrderStatus, OrderType, OverrideType, PackageKind, PageLayout, ParserStatus, ParserType, ParticipantChangeType, ParticipantRole, PipelineExecutionStatus, PipelineStatus, PlanmagnetProjectStatus, PlanmagnetSyncDirection, PlanmagnetSyncProvider, PlanmagnetSyncStatus, PluginStatus, PolicyStatus, PolicyType, PomodoroGoalPeriod, PomodoroGoalType, PomodoroSessionOrderByField, PomodoroSessionType, PortfolioStatus, PresenceStatus, Priority, ProblemStatus, ProductType, ProjectMethodology, ProjectOrderField, ProjectStatus, PromptGenerationStatus, PromptPriority, PromptStatus, PropertyStatus, PropertyType, ProviderCategory, PublishType, QualityGateStatus, RbacChangeType, ReactionChangeType, RecordingMode, ReleaseStatus, ReminderChannel, ReminderType, ReportFormat, ReportScheduleStatus, ResourceBookingStatus, RetrievalMode, RiskSeverity, RiskStatus, RoadmapItemStatus, RoadmapType, RoleLevel, RouteStatus, RoutingStrategy, RsvpStatus, RuleActionType, RuleConditionOperator, RuleRunMode, RunLogLevel, RunLogStream, RunMode, RunStatus, SandboxChangeType, SandboxExportFormat, SandboxExportJobStatus, SandboxKind, SandboxMode, SandboxSource, SandboxStatus, SandboxTemplate, SchedulePriority, ScheduleType, ScorecardMetricStatus, ScorecardMetricType, ScorecardOwnerType, SecretStatus, SecretType, SecurityExportFormat, SecuritySeverity, SecuritySubscriptionEvent, SegmentVisibility, SessionSharePermission, SettingsCategory, SharePermission, ShareRecipientType, ShareSortField, ShareStatus, ShareTokenType, ShipmentStatus, SmartCollectionConditionField, SmartCollectionConditionOperator, SmartCollectionOperator, SortDirection, SortOrder, SprintStatus, StageErrorHandling, StageExecutionStatus, StorageMode, StrategicAlignment, StressLevel, SubmissionStatus, SuggestedDataSourceType, SyncDirection, SyncFromGlobalOperation, SyncProvider, SystemEventType, TagCardinality, TagDataType, TagFilterOperator, TagRelationType, TagScope, TagsExportFormat, TargetType, TaskOrderField, TaskPriority, TaskStatus, TemplateAuthorType, TemplateCategory, TemplateComplexity, TemplatePreview, TemplateStatus, TemplateVisibility, TemplatesPage, TimeBucket, TimeCampusChannelType, TimeCampusConfigScope, TimeCampusProjectStatus, TimeCampusSortDirection, TimeEntryOrderField, TimeEntryStatus, TimeGrain, TimeRange, TlsMode, ToolRiskLevel, TrackingEventType, TransactionStatus, TransactionType, TraversalDirection, TunnelDomainType, TunnelDomainVerificationStatus, TunnelEnvironment, TunnelProtocol, TunnelProviderKey, TunnelSessionStatus, TunnelShardStatus, TunnelStatus, UpdateScope, UploadStatus, UploadType, UsageStatus, ValidationMethod, VaultIncidentSeverity, VaultIncidentStatus, VaultMemberRole, VaultRotationStatus, VaultScope, VaultSecurityEventSeverity, VaultSecurityEventType, VaultStatus, VaultSyncStatus, VehicleStatus, VehicleType, VersionStatus, VibeAuditAction, VibeAuditExportFormat, VibeAuditResourceType, VibeAuditStatus, VibeCalendarExecutionStatus, VibeCalendarTaskStatus, VibeDeckButtonActionType, VibeDeckSharePermission, VibeDeckShareStatus, VibeDeckShareVisibility, VibeStatus, VibeType, VibecontrolsActionType, VibecontrolsDocsBuildImagePullPolicy, VibecontrolsDocsBuildImageScanStatus, VibecontrolsDocsBuildImageStatus, VibecontrolsDocsBuildRuntime, VibecontrolsDocsPageStatus, VibecontrolsDocsRevisionStatus, VibecontrolsDocsSiteOwnerType, VibecontrolsDocsSiteVisibility, VibecontrolsSessionStatus, VibecontrolsSessionType, VibecontrolsTemplateCategory, VibecontrolsTemplateStatus, Visibility, VisibilityType, VocabularyKind, VocabularyScope, WarehouseType, WebhookAuthType, WidgetConfidence, WidgetRenderer, WidgetType, WorkItemPriority, WorkItemStatus, WorkItemType, WorkOrderStatus, WorkOrderType, WorkPatternInsightType, WorkflowStatus, WorkspaceResourceStatus, WorkspaceResourceType, WorkspaceStatus, WorkspaceType, WorkspacesExportFormat } from './chunk-TEZV7I6A.js';
15
+ export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-5PZDLMC4.js';
16
+ export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-TOHTP3BT.js';
17
+ import { FluidGridsProvider, FlowBuilderPage } from './chunk-XF7QA3QT.js';
18
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, ConnectionFormDialog, ConnectionSelector, EntityTagPicker, FLUIDGRIDS_ENTITY_TYPES, FluidGridsProvider, ProviderPicker, SchemaConnectionForm, ScopePicker, listCustomBlocks, refetchStoreNodes, registerCustomBlock, resolveUiSpec, stripSubmitActions, tagLabel, useAvailableTags, useConnection, useConnectionDialog, useConnections, useConnectionsByProvider, useCreateConnection, useCreateTag, useDraftEntityTags, useEntityTags, useFluidGridsContext, useInitiateOAuth, useNodeExecution, useProviderByKey, useProviderCatalog, useProviders, useReplaceEntityTags, useSearchTags, useTagEntity, useUntagEntity } from './chunk-XF7QA3QT.js';
19
19
  import './chunk-XQP33UJR.js';
20
20
  export { Input } from './chunk-P5PKRQAO.js';
21
21
  export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './chunk-NH5YCY37.js';
@@ -59,20 +59,20 @@ import * as SwitchPrimitives from '@radix-ui/react-switch';
59
59
  import * as PopoverPrimitive from '@radix-ui/react-popover';
60
60
 
61
61
  var WorkflowsList2 = lazy(
62
- () => import('./WorkflowsList-M2GOHL6L.js').then((m) => ({ default: m.WorkflowsList }))
62
+ () => import('./WorkflowsList-QREUMT55.js').then((m) => ({ default: m.WorkflowsList }))
63
63
  );
64
64
  var WorkflowBuilder3 = lazy(
65
- () => import('./WorkflowBuilder-2PLQT5OZ.js').then((m) => ({
65
+ () => import('./WorkflowBuilder-WLJBVVHS.js').then((m) => ({
66
66
  default: m.WorkflowBuilder
67
67
  }))
68
68
  );
69
69
  var ExecutionsListPage2 = lazy(
70
- () => import('./ExecutionsListPage-NQWK2NCN.js').then((m) => ({
70
+ () => import('./ExecutionsListPage-VOGSLA7T.js').then((m) => ({
71
71
  default: m.ExecutionsListPage
72
72
  }))
73
73
  );
74
74
  var ExecutionDetailPage2 = lazy(
75
- () => import('./ExecutionDetailPage-22KHNXBI.js').then((m) => ({
75
+ () => import('./ExecutionDetailPage-BD7CS4KL.js').then((m) => ({
76
76
  default: m.ExecutionDetailPage
77
77
  }))
78
78
  );
@@ -1,5 +1,5 @@
1
- export { DataSinkDashboardPage, ErrorAnalyticsPage, InsightsPage } from './chunk-EGQB462S.js';
2
- import './chunk-24A4C63H.js';
1
+ export { DataSinkDashboardPage, ErrorAnalyticsPage, InsightsPage } from './chunk-FKOUPL6Z.js';
2
+ import './chunk-5A7GP6O7.js';
3
3
  import './chunk-NK32XOQN.js';
4
4
  import './chunk-LMO5ASOE.js';
5
5
  import './chunk-7YWBH2A5.js';
package/dist/settings.js CHANGED
@@ -1,5 +1,5 @@
1
- export { SettingsPage } from './chunk-ILH7U6VB.js';
2
- import './chunk-24A4C63H.js';
1
+ export { SettingsPage } from './chunk-LH2YML5F.js';
2
+ import './chunk-5A7GP6O7.js';
3
3
  import './chunk-NK32XOQN.js';
4
4
  import './chunk-YMD3T6J2.js';
5
5
  import './chunk-BHITFSOK.js';
package/dist/templates.js CHANGED
@@ -1,5 +1,5 @@
1
- export { TemplatePreview, TemplatesPage } from './chunk-RRBFISAU.js';
2
- import './chunk-JMJRE5RT.js';
1
+ export { TemplatePreview, TemplatesPage } from './chunk-TEZV7I6A.js';
2
+ import './chunk-XF7QA3QT.js';
3
3
  import './chunk-XQP33UJR.js';
4
4
  import './chunk-P5PKRQAO.js';
5
5
  import './chunk-NH5YCY37.js';
@@ -1,6 +1,6 @@
1
- export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-C7OR5C6R.js';
2
- export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-PTI43PVQ.js';
3
- export { refetchStoreNodes } from './chunk-JMJRE5RT.js';
1
+ export { WorkflowBuilder, WorkflowBuilderCore, WorkflowSearchRedirect } from './chunk-5PZDLMC4.js';
2
+ export { WorkflowBuilder as WorkflowBuilderPage } from './chunk-TOHTP3BT.js';
3
+ export { refetchStoreNodes } from './chunk-XF7QA3QT.js';
4
4
  import './chunk-XQP33UJR.js';
5
5
  import './chunk-P5PKRQAO.js';
6
6
  import './chunk-NH5YCY37.js';
@@ -1,4 +1,4 @@
1
- export { WorkflowsList } from './chunk-XQ7FGXPM.js';
1
+ export { WorkflowsList } from './chunk-TVLE7GNH.js';
2
2
  import './chunk-AANIWER2.js';
3
3
  import './chunk-W23ZXNKU.js';
4
4
  import './chunk-3ZYUGTIT.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fluidgrids-fe-sdk",
3
- "version": "2026.923.1",
3
+ "version": "2026.923.2",
4
4
  "description": "FluidGrids Workflow Builder SDK - Embeddable visual workflow automation",
5
5
  "type": "module",
6
6
  "imports": {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/observability/hooks/useObservability.ts","../src/modules/observability/types.ts","../src/modules/observability/components/LogStreamingTab.tsx"],"names":["useState","useEffect","useCallback"],"mappings":"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","file":"chunk-24A4C63H.js","sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { getFluidGridsClient } from \"../../../graphql/client\";\nimport { describeOperationError, throwIfResultError } from \"../../../graphql/errors\";\nimport {\n CREATE_LOG_STREAM_DESTINATION,\n DELETE_LOG_STREAM_DESTINATION,\n LOG_STREAM_DESTINATIONS,\n OBSERVABILITY_DATA_SINK_DATA,\n OBSERVABILITY_DATA_SINKS,\n OBSERVABILITY_DASHBOARD_SUMMARY,\n OBSERVABILITY_FAILED_RUNS,\n REPLAY_WORKFLOW_RUN,\n RETRY_WORKFLOW_RUNS,\n TEST_LOG_STREAM_DESTINATION,\n UPDATE_LOG_STREAM_DESTINATION,\n} from \"../operations\";\nimport type {\n DashboardSummary,\n DataSinkData,\n DataSinkSummary,\n FailedRun,\n LogStreamDestination,\n LogStreamDestinationInput,\n LogStreamDestinationResponse,\n MutationResponse,\n TriggerResponse,\n} from \"../types\";\n\ninterface DestinationQueryData {\n logStreamDestinations: LogStreamDestination[];\n}\n\ninterface DestinationMutationData {\n createLogStreamDestination?: LogStreamDestinationResponse;\n updateLogStreamDestination?: LogStreamDestinationResponse;\n deleteLogStreamDestination?: MutationResponse;\n testLogStreamDestination?: MutationResponse;\n}\n\ninterface SummaryQueryData {\n dashboardSummary: DashboardSummary;\n}\n\ninterface FailedRunsQueryData {\n workflowRuns: {\n total: number;\n hasMore: boolean;\n items: FailedRun[];\n };\n}\n\ninterface TriggerMutationData {\n replayWorkflowRun?: TriggerResponse;\n retryWorkflowRuns?: TriggerResponse[];\n}\n\ninterface DataSinksQueryData {\n listDataSinks: {\n totalCount: number;\n pageInfo: { hasNextPage: boolean; endCursor?: string | null };\n edges: Array<{ cursor: string; node: DataSinkSummary }>;\n };\n}\n\ninterface DataSinkDataQueryData {\n getDataSinkData?: DataSinkData | null;\n}\n\ninterface UseAsyncState<T> {\n data: T | null;\n loading: boolean;\n error: Error | null;\n}\n\nfunction useAsyncRefresh<T>(\n fetcher: () => Promise<T>,\n initial: T | null,\n): UseAsyncState<T> & { refetch: () => Promise<T | null> } {\n const [data, setData] = useState<T | null>(initial);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<Error | null>(null);\n\n const refetch = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const next = await fetcher();\n setData(next);\n return next;\n } catch (cause) {\n const nextError = new Error(describeOperationError(cause));\n setError(nextError);\n return null;\n } finally {\n setLoading(false);\n }\n }, [fetcher]);\n\n useEffect(() => {\n void refetch();\n }, [refetch]);\n\n return { data, loading, error, refetch };\n}\n\nexport function useLogStreamDestinations() {\n const fetchDestinations = useCallback(async () => {\n const result = throwIfResultError(\n await getFluidGridsClient().query<DestinationQueryData>({\n query: LOG_STREAM_DESTINATIONS,\n fetchPolicy: \"network-only\",\n }),\n );\n return result.data?.logStreamDestinations ?? [];\n }, []);\n\n const state = useAsyncRefresh(fetchDestinations, []);\n return { destinations: state.data ?? [], ...state, refetch: state.refetch };\n}\n\nexport function useLogStreamDestinationActions() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const run = useCallback(\n async <T,>(operation: () => Promise<T>): Promise<T | null> => {\n setLoading(true);\n setError(null);\n try {\n return await operation();\n } catch (cause) {\n const nextError = new Error(describeOperationError(cause));\n setError(nextError);\n return null;\n } finally {\n setLoading(false);\n }\n },\n [],\n );\n\n const create = useCallback(\n (input: LogStreamDestinationInput) =>\n run(async () => {\n const result = throwIfResultError(\n await getFluidGridsClient().mutate<DestinationMutationData>({\n mutation: CREATE_LOG_STREAM_DESTINATION,\n variables: { input },\n }),\n );\n return result.data?.createLogStreamDestination ?? null;\n }),\n [run],\n );\n\n const update = useCallback(\n (id: string, input: Partial<LogStreamDestinationInput>) =>\n run(async () => {\n const result = throwIfResultError(\n await getFluidGridsClient().mutate<DestinationMutationData>({\n mutation: UPDATE_LOG_STREAM_DESTINATION,\n variables: { id, input },\n }),\n );\n return result.data?.updateLogStreamDestination ?? null;\n }),\n [run],\n );\n\n const remove = useCallback(\n (id: string) =>\n run(async () => {\n const result = throwIfResultError(\n await getFluidGridsClient().mutate<DestinationMutationData>({\n mutation: DELETE_LOG_STREAM_DESTINATION,\n variables: { id },\n }),\n );\n return result.data?.deleteLogStreamDestination ?? null;\n }),\n [run],\n );\n\n const test = useCallback(\n (id: string) =>\n run(async () => {\n const result = throwIfResultError(\n await getFluidGridsClient().mutate<DestinationMutationData>({\n mutation: TEST_LOG_STREAM_DESTINATION,\n variables: { id },\n }),\n );\n return result.data?.testLogStreamDestination ?? null;\n }),\n [run],\n );\n\n return { create, update, remove, test, loading, error };\n}\n\nexport function useRunReplayActions() {\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const replay = useCallback(async (runId: string) => {\n setLoading(true);\n setError(null);\n try {\n const result = throwIfResultError(\n await getFluidGridsClient().mutate<TriggerMutationData>({\n mutation: REPLAY_WORKFLOW_RUN,\n variables: { runId },\n }),\n );\n return result.data?.replayWorkflowRun ?? null;\n } catch (cause) {\n const nextError = new Error(describeOperationError(cause));\n setError(nextError);\n return null;\n } finally {\n setLoading(false);\n }\n }, []);\n\n const retryMany = useCallback(async (runIds: string[]) => {\n setLoading(true);\n setError(null);\n try {\n const result = throwIfResultError(\n await getFluidGridsClient().mutate<TriggerMutationData>({\n mutation: RETRY_WORKFLOW_RUNS,\n variables: { runIds },\n }),\n );\n return result.data?.retryWorkflowRuns ?? [];\n } catch (cause) {\n const nextError = new Error(describeOperationError(cause));\n setError(nextError);\n return [];\n } finally {\n setLoading(false);\n }\n }, []);\n\n return { replay, retryMany, loading, error };\n}\n\nexport function useInsightsData() {\n const fetchInsights = useCallback(async () => {\n const client = getFluidGridsClient();\n const [summaryResult, failedResult] = await Promise.all([\n client.query<SummaryQueryData>({\n query: OBSERVABILITY_DASHBOARD_SUMMARY,\n fetchPolicy: \"network-only\",\n }),\n client.query<FailedRunsQueryData>({\n query: OBSERVABILITY_FAILED_RUNS,\n variables: {\n input: {\n status: \"FAILED\",\n limit: 100,\n offset: 0,\n },\n },\n fetchPolicy: \"network-only\",\n }),\n ]);\n throwIfResultError(summaryResult);\n throwIfResultError(failedResult);\n return {\n summary: summaryResult.data?.dashboardSummary ?? null,\n failedRuns: failedResult.data?.workflowRuns.items ?? [],\n };\n }, []);\n\n const state = useAsyncRefresh(fetchInsights, null);\n return {\n summary: state.data?.summary ?? null,\n failedRuns: state.data?.failedRuns ?? [],\n loading: state.loading,\n error: state.error,\n refetch: state.refetch,\n };\n}\n\nexport function useDataSinks(search: string) {\n const fetchSinks = useCallback(async () => {\n const result = throwIfResultError(\n await getFluidGridsClient().query<DataSinksQueryData>({\n query: OBSERVABILITY_DATA_SINKS,\n variables: { first: 50, isActive: true, search: search || undefined },\n fetchPolicy: \"network-only\",\n }),\n );\n return result.data?.listDataSinks ?? null;\n }, [search]);\n\n const state = useAsyncRefresh(fetchSinks, null);\n return {\n sinks: state.data?.edges.map((edge) => edge.node) ?? [],\n totalCount: state.data?.totalCount ?? 0,\n hasNextPage: state.data?.pageInfo.hasNextPage ?? false,\n ...state,\n };\n}\n\nexport function useDataSinkData(sink: DataSinkSummary | null) {\n const fetchData = useCallback(async () => {\n if (!sink) return null;\n const result = throwIfResultError(\n await getFluidGridsClient().query<DataSinkDataQueryData>({\n query: OBSERVABILITY_DATA_SINK_DATA,\n variables: { id: sink.id, limit: 100, offset: 0 },\n fetchPolicy: \"network-only\",\n }),\n );\n return result.data?.getDataSinkData ?? null;\n }, [sink]);\n\n const state = useAsyncRefresh(fetchData, null);\n return { sinkData: state.data, ...state };\n}\n","export type LogStreamProvider = \"SYSLOG\" | \"WEBHOOK\" | \"SENTRY\";\n\nexport type LogStreamEventType =\n | \"LOG_ERROR\"\n | \"LOG_WARN\"\n | \"NODE_FAILED\"\n | \"NODE_RETRIED\"\n | \"RUN_CANCELLED\"\n | \"RUN_COMPLETED\"\n | \"RUN_FAILED\"\n | \"RUN_STARTED\";\n\nexport interface LogStreamDestination {\n id: string;\n name: string;\n provider: LogStreamProvider;\n endpoint: string;\n config?: Record<string, unknown> | null;\n eventFilters: LogStreamEventType[];\n isEnabled: boolean;\n hasSecret: boolean;\n lastDispatchError?: string | null;\n lastDispatchStatus?: string | null;\n lastDispatchedAt?: string | null;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface LogStreamDestinationInput {\n name: string;\n provider: LogStreamProvider;\n endpoint: string;\n config?: Record<string, unknown>;\n eventFilters: LogStreamEventType[];\n isEnabled: boolean;\n secret?: string;\n}\n\nexport interface MutationResponse {\n success: boolean;\n message: string;\n}\n\nexport interface LogStreamDestinationResponse extends MutationResponse {\n destination?: LogStreamDestination | null;\n}\n\nexport interface TriggerResponse {\n runId: string;\n status: string;\n workflowKey: string;\n version: string;\n triggerNodeId: string;\n}\n\nexport interface DashboardSummary {\n workflowsCount: number;\n activeWorkflowsCount: number;\n runsCountTotal: number;\n runsCompletedCount: number;\n runsFailedCount: number;\n runsRunningCount: number;\n runsPendingCount: number;\n runsCancelledCount: number;\n runsWaitingCount: number;\n runsCompletedLast24h: number;\n runsFailedLast24h: number;\n runsCompletedLast7d: number;\n runsFailedLast7d: number;\n runsCompletedLast30d: number;\n runsFailedLast30d: number;\n totalNodesExecutedCount: number;\n avgWorkflowExecutionTimeSeconds?: number | null;\n avgNodeExecutionTimeSeconds?: number | null;\n workflowSuccessRate?: number | null;\n nodeUsageStats: NodeUsageStat[];\n recentRuns: RecentRun[];\n}\n\nexport interface NodeUsageStat {\n nodeType: string;\n totalExecutions: number;\n successCount: number;\n failureCount: number;\n avgExecutionTime?: number | null;\n}\n\nexport interface RecentRun {\n id: string;\n workflowKey: string;\n version: string;\n status: string;\n startedAt?: string | null;\n completedAt?: string | null;\n duration?: number | null;\n}\n\nexport interface FailedRun {\n id: string;\n workflowKey: string;\n status: string;\n errorType?: string | null;\n errorMessage?: string | null;\n triggerNodeId: string;\n startedAt?: string | null;\n completedAt?: string | null;\n duration?: number | null;\n workflow?: { name: string } | null;\n}\n\nexport interface DataSinkSummary {\n id: string;\n key: string;\n name?: string | null;\n description?: string | null;\n status: string;\n setupState: string;\n isActive: boolean;\n sizeBytes: number;\n lastRefreshedAt: string;\n nextRefreshAt?: string | null;\n dataStats?: { dataSizeBytes: number; hash: string } | null;\n linkedWorkflowCount: number;\n linkedParserCount: number;\n}\n\nexport interface DataSinkData {\n cached: boolean;\n extracted?: unknown;\n fetchedAt: string;\n hasMore?: boolean | null;\n limit?: number | null;\n offset?: number | null;\n raw: unknown;\n totalCount?: number | null;\n version: number;\n}\n\nexport function isLogStreamProvider(value: string): value is LogStreamProvider {\n return value === \"SYSLOG\" || value === \"WEBHOOK\" || value === \"SENTRY\";\n}\n\nexport const LOG_STREAM_EVENT_TYPES: readonly LogStreamEventType[] = [\n \"LOG_ERROR\",\n \"LOG_WARN\",\n \"NODE_FAILED\",\n \"NODE_RETRIED\",\n \"RUN_CANCELLED\",\n \"RUN_COMPLETED\",\n \"RUN_FAILED\",\n \"RUN_STARTED\",\n];\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Icon } from \"@iconify/react\";\nimport { toast } from \"sonner\";\nimport { Button } from \"@burdenoff/fe-libs/button\";\nimport { Card, CardContent, CardHeader, Input, Label } from \"@burdenoff/fe-libs/ui\";\nimport { useTr } from \"../../../hooks/useTr\";\nimport {\n LOG_STREAM_EVENT_TYPES,\n type LogStreamDestination,\n type LogStreamDestinationInput,\n type LogStreamEventType,\n type LogStreamProvider,\n} from \"../types\";\nimport {\n useLogStreamDestinationActions,\n useLogStreamDestinations,\n} from \"../hooks/useObservability\";\n\ninterface DestinationFormState {\n name: string;\n provider: LogStreamProvider;\n endpoint: string;\n eventFilters: LogStreamEventType[];\n isEnabled: boolean;\n secret: string;\n configText: string;\n}\n\nconst DEFAULT_EVENT_FILTERS: LogStreamEventType[] = [\n \"RUN_FAILED\",\n \"NODE_FAILED\",\n \"LOG_ERROR\",\n];\n\nconst PROVIDERS: LogStreamProvider[] = [\"WEBHOOK\", \"SYSLOG\", \"SENTRY\"];\n\nfunction emptyForm(): DestinationFormState {\n return {\n name: \"\",\n provider: \"WEBHOOK\",\n endpoint: \"\",\n eventFilters: DEFAULT_EVENT_FILTERS,\n isEnabled: true,\n secret: \"\",\n configText: \"{}\",\n };\n}\n\nfunction formFromDestination(\n destination: LogStreamDestination,\n): DestinationFormState {\n return {\n name: destination.name,\n provider: destination.provider,\n endpoint: destination.endpoint,\n eventFilters: destination.eventFilters,\n isEnabled: destination.isEnabled,\n secret: \"\",\n configText: JSON.stringify(destination.config ?? {}, null, 2),\n };\n}\n\nfunction eventLabel(event: LogStreamEventType): string {\n return event\n .toLowerCase()\n .split(\"_\")\n .map((part) => part.charAt(0).toUpperCase() + part.slice(1))\n .join(\" \");\n}\n\nfunction endpointPlaceholder(provider: LogStreamProvider): string {\n switch (provider) {\n case \"SYSLOG\":\n return \"logs.example.com:514\";\n case \"SENTRY\":\n return \"https://public@sentry.example/1\";\n case \"WEBHOOK\":\n return \"https://hooks.example.com/workflows\";\n }\n}\n\nfunction parseConfig(configText: string): Record<string, unknown> | null {\n try {\n const parsed: unknown = JSON.parse(configText || \"{}\");\n if (!parsed || typeof parsed !== \"object\" || Array.isArray(parsed)) {\n return null;\n }\n return parsed as Record<string, unknown>;\n } catch {\n return null;\n }\n}\n\nfunction formToInput(form: DestinationFormState): LogStreamDestinationInput | null {\n const config = parseConfig(form.configText);\n if (!config || !form.name.trim() || !form.endpoint.trim()) return null;\n return {\n name: form.name.trim(),\n provider: form.provider,\n endpoint: form.endpoint.trim(),\n eventFilters: form.eventFilters,\n isEnabled: form.isEnabled,\n config,\n ...(form.secret ? { secret: form.secret } : {}),\n };\n}\n\nexport function LogStreamingTab() {\n const tr = useTr();\n const { destinations, loading, error, refetch } = useLogStreamDestinations();\n const actions = useLogStreamDestinationActions();\n const [form, setForm] = useState<DestinationFormState>(emptyForm);\n const [editingId, setEditingId] = useState<string | null>(null);\n const [showForm, setShowForm] = useState(false);\n\n const editingDestination = useMemo(\n () => destinations.find((destination) => destination.id === editingId),\n [destinations, editingId],\n );\n\n useEffect(() => {\n if (editingDestination) setForm(formFromDestination(editingDestination));\n }, [editingDestination]);\n\n const resetForm = useCallback(() => {\n setForm(emptyForm());\n setEditingId(null);\n setShowForm(false);\n }, []);\n\n const save = useCallback(async () => {\n const input = formToInput(form);\n if (!input) {\n toast.error(\n tr(\n \"fluidgrids.settings.logStreaming.invalidForm\",\n \"Enter a name, endpoint, and valid JSON configuration.\",\n ),\n );\n return;\n }\n const result = editingId\n ? await actions.update(editingId, input)\n : await actions.create(input);\n if (!result?.success) {\n toast.error(\n result?.message ||\n tr(\n \"fluidgrids.settings.logStreaming.saveFailed\",\n \"Could not save log streaming destination.\",\n ),\n );\n return;\n }\n toast.success(\n tr(\n \"fluidgrids.settings.logStreaming.saved\",\n \"Log streaming destination saved.\",\n ),\n );\n resetForm();\n await refetch();\n }, [actions, editingId, form, refetch, resetForm, tr]);\n\n const remove = useCallback(\n async (destination: LogStreamDestination) => {\n if (!window.confirm(`Delete “${destination.name}”?`)) return;\n const result = await actions.remove(destination.id);\n if (!result?.success) {\n toast.error(\n result?.message ||\n tr(\n \"fluidgrids.settings.logStreaming.deleteFailed\",\n \"Could not delete destination.\",\n ),\n );\n return;\n }\n toast.success(\n tr(\n \"fluidgrids.settings.logStreaming.deleted\",\n \"Log streaming destination deleted.\",\n ),\n );\n if (editingId === destination.id) resetForm();\n await refetch();\n }, [actions, editingId, refetch, resetForm, tr],\n );\n\n const sendTest = useCallback(\n async (destination: LogStreamDestination) => {\n const result = await actions.test(destination.id);\n if (!result) return;\n if (result.success) {\n toast.success(\n tr(\n \"fluidgrids.settings.logStreaming.testSucceeded\",\n \"Test event delivered.\",\n ),\n );\n } else {\n toast.error(\n result.message ||\n tr(\n \"fluidgrids.settings.logStreaming.testFailed\",\n \"Test event could not be delivered.\",\n ),\n );\n }\n await refetch();\n }, [actions, refetch, tr],\n );\n\n const toggleEvent = (event: LogStreamEventType) => {\n setForm((current) => ({\n ...current,\n eventFilters: current.eventFilters.includes(event)\n ? current.eventFilters.filter((item) => item !== event)\n : [...current.eventFilters, event],\n }));\n };\n\n return (\n <div className=\"space-y-6\">\n <div className=\"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between\">\n <div>\n <h2 className=\"text-lg font-semibold text-text-primary\">\n {tr(\"fluidgrids.settings.logStreaming.title\", \"Log streaming\")}\n </h2>\n <p className=\"mt-1 max-w-2xl text-sm text-text-secondary\">\n {tr(\n \"fluidgrids.settings.logStreaming.description\",\n \"Send workflow run and node events to workspace-managed observability destinations. Secrets are write-only and never returned.\",\n )}\n </p>\n </div>\n <Button\n onClick={() => {\n setForm(emptyForm());\n setEditingId(null);\n setShowForm(true);\n }}\n disabled={actions.loading}\n >\n <Icon icon=\"mdi:plus\" className=\"mr-1\" width={16} />\n {tr(\"fluidgrids.settings.logStreaming.add\", \"Add destination\")}\n </Button>\n </div>\n\n {error && (\n <div\n role=\"alert\"\n className=\"rounded-lg border border-status-error-border bg-status-error-bg-subtle p-4 text-sm text-status-error-text\"\n >\n {error.message}\n <Button variant=\"outline\" size=\"sm\" className=\"ml-3\" onClick={() => void refetch()}>\n {tr(\"fluidgrids.settings.logStreaming.retry\", \"Retry\")}\n </Button>\n </div>\n )}\n\n {showForm && (\n <Card className=\"border-border-secondary bg-background-secondary\">\n <CardHeader>\n <div className=\"flex items-center justify-between gap-3\">\n <h3 className=\"font-medium text-text-primary\">\n {editingId\n ? tr(\"fluidgrids.settings.logStreaming.edit\", \"Edit destination\")\n : tr(\"fluidgrids.settings.logStreaming.new\", \"New destination\")}\n </h3>\n <Button variant=\"ghost\" size=\"sm\" onClick={resetForm}>\n <Icon icon=\"mdi:close\" width={18} />\n </Button>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-5\">\n <div className=\"grid gap-4 md:grid-cols-2\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"log-stream-name\">\n {tr(\"fluidgrids.settings.logStreaming.name\", \"Name\")}\n </Label>\n <Input\n id=\"log-stream-name\"\n value={form.name}\n onChange={(event) => setForm((current) => ({ ...current, name: event.target.value }))}\n placeholder=\"Production error stream\"\n />\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"log-stream-provider\">\n {tr(\"fluidgrids.settings.logStreaming.provider\", \"Provider\")}\n </Label>\n <select\n id=\"log-stream-provider\"\n value={form.provider}\n onChange={(event) =>\n setForm((current) => ({\n ...current,\n provider: event.target.value as LogStreamProvider,\n endpoint: \"\",\n }))\n }\n className=\"w-full rounded-md border border-border-secondary bg-background-primary px-3 py-2 text-sm text-text-primary\"\n >\n {PROVIDERS.map((provider) => (\n <option key={provider} value={provider}>\n {provider}\n </option>\n ))}\n </select>\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"log-stream-endpoint\">\n {tr(\"fluidgrids.settings.logStreaming.endpoint\", \"Endpoint\")}\n </Label>\n <Input\n id=\"log-stream-endpoint\"\n value={form.endpoint}\n onChange={(event) => setForm((current) => ({ ...current, endpoint: event.target.value }))}\n placeholder={endpointPlaceholder(form.provider)}\n type={form.provider === \"WEBHOOK\" || form.provider === \"SENTRY\" ? \"url\" : \"text\"}\n />\n </div>\n {form.provider === \"WEBHOOK\" && (\n <div className=\"space-y-2\">\n <Label htmlFor=\"log-stream-secret\">\n {tr(\"fluidgrids.settings.logStreaming.secret\", \"Signing secret\")}\n </Label>\n <Input\n id=\"log-stream-secret\"\n value={form.secret}\n onChange={(event) => setForm((current) => ({ ...current, secret: event.target.value }))}\n placeholder={editingId ? \"Leave blank to keep the current secret\" : \"Enter a signing secret\"}\n type=\"password\"\n autoComplete=\"new-password\"\n />\n </div>\n )}\n <div className=\"space-y-2\">\n <Label htmlFor=\"log-stream-config\">\n {tr(\"fluidgrids.settings.logStreaming.config\", \"Provider configuration (JSON)\")}\n </Label>\n <textarea\n id=\"log-stream-config\"\n value={form.configText}\n onChange={(event) => setForm((current) => ({ ...current, configText: event.target.value }))}\n className=\"min-h-24 w-full rounded-md border border-border-secondary bg-background-primary px-3 py-2 font-mono text-xs text-text-primary\"\n spellCheck={false}\n />\n </div>\n <fieldset className=\"space-y-2\">\n <legend className=\"text-sm font-medium text-text-primary\">\n {tr(\"fluidgrids.settings.logStreaming.events\", \"Events to stream\")}\n </legend>\n <div className=\"grid gap-2 sm:grid-cols-2 lg:grid-cols-4\">\n {LOG_STREAM_EVENT_TYPES.map((event) => (\n <label key={event} className=\"flex items-center gap-2 text-sm text-text-secondary\">\n <input\n type=\"checkbox\"\n checked={form.eventFilters.includes(event)}\n onChange={() => toggleEvent(event)}\n className=\"size-4 rounded border-border-secondary accent-action-primary-bg\"\n />\n {eventLabel(event)}\n </label>\n ))}\n </div>\n </fieldset>\n <label className=\"flex items-center gap-2 text-sm text-text-secondary\">\n <input\n type=\"checkbox\"\n checked={form.isEnabled}\n onChange={(event) => setForm((current) => ({ ...current, isEnabled: event.target.checked }))}\n className=\"size-4 rounded border-border-secondary accent-action-primary-bg\"\n />\n {tr(\"fluidgrids.settings.logStreaming.enabled\", \"Destination enabled\")}\n </label>\n <div className=\"flex justify-end gap-2\">\n <Button variant=\"outline\" onClick={resetForm}>\n {tr(\"fluidgrids.settings.logStreaming.cancel\", \"Cancel\")}\n </Button>\n <Button onClick={() => void save()} disabled={actions.loading}>\n {actions.loading\n ? tr(\"fluidgrids.settings.logStreaming.saving\", \"Saving…\")\n : tr(\"fluidgrids.settings.logStreaming.save\", \"Save destination\")}\n </Button>\n </div>\n </CardContent>\n </Card>\n )}\n\n <div className=\"space-y-3\">\n {loading && destinations.length === 0 && (\n <div className=\"rounded-lg border border-border-secondary bg-background-secondary p-6 text-sm text-text-secondary\">\n {tr(\"fluidgrids.settings.logStreaming.loading\", \"Loading destinations…\")}\n </div>\n )}\n {!loading && destinations.length === 0 && (\n <div className=\"rounded-lg border border-dashed border-border-secondary bg-background-secondary p-8 text-center\">\n <Icon icon=\"mdi:transit-connection-variant\" className=\"mx-auto mb-3 text-text-secondary\" width={32} />\n <p className=\"font-medium text-text-primary\">\n {tr(\"fluidgrids.settings.logStreaming.emptyTitle\", \"No log destinations yet\")}\n </p>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {tr(\"fluidgrids.settings.logStreaming.emptyDescription\", \"Add a webhook, syslog target, or Sentry DSN to start streaming events.\")}\n </p>\n </div>\n )}\n {destinations.map((destination) => (\n <Card key={destination.id} className=\"border-border-secondary bg-background-secondary\">\n <CardContent className=\"flex flex-col gap-4 p-4 sm:flex-row sm:items-center sm:justify-between\">\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <h3 className=\"font-medium text-text-primary\">{destination.name}</h3>\n <span className=\"rounded-full bg-background-tertiary px-2 py-0.5 text-xs text-text-secondary\">{destination.provider}</span>\n <span className={destination.isEnabled ? \"text-xs text-status-success-text\" : \"text-xs text-text-secondary\"}>\n {destination.isEnabled\n ? tr(\"fluidgrids.settings.logStreaming.enabledBadge\", \"Enabled\")\n : tr(\"fluidgrids.settings.logStreaming.disabledBadge\", \"Disabled\")}\n </span>\n </div>\n <p className=\"mt-1 truncate text-sm text-text-secondary\">{destination.endpoint}</p>\n <p className=\"mt-1 text-xs text-text-secondary\">\n {destination.eventFilters.length > 0\n ? destination.eventFilters.map(eventLabel).join(\", \")\n : tr(\"fluidgrids.settings.logStreaming.allEvents\", \"All events\")}\n {destination.hasSecret && \" · Secret configured\"}\n </p>\n {destination.lastDispatchError && (\n <p className=\"mt-2 text-xs text-status-error-text\">{destination.lastDispatchError}</p>\n )}\n </div>\n <div className=\"flex shrink-0 flex-wrap gap-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => void sendTest(destination)} disabled={actions.loading}>\n <Icon icon=\"mdi:send-check-outline\" className=\"mr-1\" width={15} />\n {tr(\"fluidgrids.settings.logStreaming.test\", \"Send test\")}\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => {\n setEditingId(destination.id);\n setShowForm(true);\n }}\n disabled={actions.loading}\n >\n {tr(\"fluidgrids.settings.logStreaming.editButton\", \"Edit\")}\n </Button>\n <Button variant=\"ghost\" size=\"sm\" onClick={() => void remove(destination)} disabled={actions.loading}>\n <Icon icon=\"mdi:trash-can-outline\" className=\"text-status-error-text\" width={17} />\n <span className=\"sr-only\">{tr(\"fluidgrids.settings.logStreaming.delete\", \"Delete\")}</span>\n </Button>\n </div>\n </CardContent>\n </Card>\n ))}\n </div>\n </div>\n );\n}\n"]}