@burdenoff/microfe-bigconsole 2026.1008.13 → 2026.1008.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/bigconsole/AdminRoot.d.ts +0 -1
- package/dist/bigconsole/AdminRoot.js +0 -2
- package/dist/bigconsole/AdminRoutes.d.ts +0 -1
- package/dist/bigconsole/AdminRoutes.js +0 -2
- package/dist/bigconsole/BigConsoleRoot.d.ts +0 -1
- package/dist/bigconsole/BigConsoleRoot.js +0 -2
- package/dist/bigconsole/BigConsoleRoutes.d.ts +0 -1
- package/dist/bigconsole/BigConsoleRoutes.js +0 -2
- package/dist/bigconsole/assistant/assistantApi.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantApi.js +0 -2
- package/dist/bigconsole/assistant/assistantProduct.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantProduct.js +0 -2
- package/dist/bigconsole/assistant/assistantPrompt.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantPrompt.js +0 -2
- package/dist/bigconsole/assistant/assistantRunPersistence.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantRunPersistence.js +0 -2
- package/dist/bigconsole/assistant/assistantRunStore.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantRunStore.js +0 -2
- package/dist/bigconsole/assistant/assistantRuntime.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantRuntime.js +0 -2
- package/dist/bigconsole/assistant/attachmentExtract.d.ts +0 -1
- package/dist/bigconsole/assistant/attachmentExtract.js +0 -2
- package/dist/bigconsole/assistant/conversationHistoryApi.d.ts +0 -1
- package/dist/bigconsole/assistant/conversationHistoryApi.js +0 -2
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts +0 -1
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +0 -2
- package/dist/bigconsole/assistant/displayCopy.d.ts +0 -1
- package/dist/bigconsole/assistant/index.d.ts +0 -1
- package/dist/bigconsole/assistant/modes.d.ts +0 -1
- package/dist/bigconsole/assistant/modes.js +0 -2
- package/dist/bigconsole/assistant/pageContext.d.ts +0 -1
- package/dist/bigconsole/assistant/pageContext.js +0 -2
- package/dist/bigconsole/assistant/previewController.d.ts +0 -1
- package/dist/bigconsole/assistant/previewController.js +0 -2
- package/dist/bigconsole/assistant/previewMutationResult.d.ts +0 -1
- package/dist/bigconsole/assistant/previewMutationResult.js +0 -2
- package/dist/bigconsole/assistant/previewRunAction.d.ts +0 -1
- package/dist/bigconsole/assistant/previewRunAction.js +0 -2
- package/dist/bigconsole/assistant/product.d.ts +0 -1
- package/dist/bigconsole/assistant/product.js +0 -2
- package/dist/bigconsole/assistant/recordAdapters.d.ts +0 -1
- package/dist/bigconsole/assistant/recordAdapters.js +0 -2
- package/dist/bigconsole/assistant/types.d.ts +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +0 -2
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +0 -1
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +0 -2
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +0 -1
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js +0 -2
- package/dist/bigconsole/components/DrilldownModal.d.ts +0 -1
- package/dist/bigconsole/components/DrilldownModal.js +0 -2
- package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +0 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.js +0 -2
- package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +0 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.js +0 -2
- package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +0 -1
- package/dist/bigconsole/components/builder/DashboardEditorShell.js +0 -2
- package/dist/bigconsole/components/builder/WidgetInspector.d.ts +0 -1
- package/dist/bigconsole/components/builder/WidgetInspector.js +0 -2
- package/dist/bigconsole/components/builder/index.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/LayoutSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/index.d.ts +0 -1
- package/dist/bigconsole/components/common/Section.d.ts +0 -1
- package/dist/bigconsole/components/common/Section.js +0 -2
- package/dist/bigconsole/components/common/index.d.ts +0 -1
- package/dist/bigconsole/components/common/sectionStyles.d.ts +0 -1
- package/dist/bigconsole/components/common/sectionStyles.js +0 -2
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +0 -2
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +0 -2
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +0 -2
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +0 -2
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +0 -2
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +0 -2
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +0 -2
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +0 -2
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +0 -2
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +0 -2
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +0 -2
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +0 -2
- package/dist/bigconsole/components/dashboard/index.d.ts +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +0 -2
- package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +0 -1
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js +0 -2
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +0 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +0 -2
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +0 -2
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +0 -2
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +0 -2
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +0 -2
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +0 -2
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +0 -2
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +0 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +0 -2
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +0 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.js +0 -2
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +0 -2
- package/dist/bigconsole/components/datasink/index.d.ts +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +0 -2
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +0 -1
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +0 -2
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +0 -1
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +0 -2
- package/dist/bigconsole/components/embed/drilldown.d.ts +0 -1
- package/dist/bigconsole/components/embed/drilldown.js +0 -2
- package/dist/bigconsole/components/embed/index.d.ts +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.d.ts +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.js +0 -2
- package/dist/bigconsole/components/embed/types.d.ts +0 -1
- package/dist/bigconsole/components/embed/types.js +0 -2
- package/dist/bigconsole/components/embed/validate.d.ts +0 -1
- package/dist/bigconsole/components/embed/validate.js +0 -2
- package/dist/bigconsole/components/embed/widgetShim.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgetShim.js +0 -2
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +0 -2
- package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/FormEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/ListEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/TableEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/TextEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/shared.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/shared.js +0 -2
- package/dist/bigconsole/components/overview/DashboardGuide.d.ts +0 -1
- package/dist/bigconsole/components/overview/DashboardGuide.js +0 -2
- package/dist/bigconsole/components/overview/DataHealthCard.d.ts +0 -1
- package/dist/bigconsole/components/overview/DataHealthCard.js +0 -2
- package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +0 -1
- package/dist/bigconsole/components/overview/OverviewQuickActions.js +0 -2
- package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +0 -1
- package/dist/bigconsole/components/overview/OverviewStatCard.js +0 -2
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +0 -1
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +0 -2
- package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +0 -1
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js +0 -2
- package/dist/bigconsole/components/overview/index.d.ts +0 -1
- package/dist/bigconsole/components/overview/overviewModel.d.ts +0 -1
- package/dist/bigconsole/components/overview/overviewModel.js +0 -2
- package/dist/bigconsole/components/overview/useOverviewData.d.ts +0 -1
- package/dist/bigconsole/components/overview/useOverviewData.js +0 -2
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +0 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.js +0 -2
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +0 -1
- package/dist/bigconsole/components/parser/ExportParserDialog.js +0 -2
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +0 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.js +0 -2
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +0 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.js +0 -2
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserCard.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserCard.js +0 -2
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.js +0 -2
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.js +0 -2
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.js +0 -2
- package/dist/bigconsole/components/parser/TestPanel.d.ts +0 -1
- package/dist/bigconsole/components/parser/index.d.ts +0 -1
- package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.js +0 -2
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +0 -2
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +0 -2
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +0 -2
- package/dist/bigconsole/components/pipeline/index.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -2
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +0 -2
- package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +0 -2
- package/dist/bigconsole/components/preview/parserPreview.d.ts +0 -1
- package/dist/bigconsole/components/preview/parserPreview.js +0 -2
- package/dist/bigconsole/components/preview/previewShared.d.ts +0 -1
- package/dist/bigconsole/components/preview/previewShared.js +0 -2
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +0 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +0 -2
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +0 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +0 -2
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +0 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetMenu.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetRegistry.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.js +0 -2
- package/dist/bigconsole/components/widgets/actionConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/actionConfig.js +0 -2
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +0 -2
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.js +0 -2
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +0 -2
- package/dist/bigconsole/components/widgets/calendar/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +0 -2
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js +0 -2
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +0 -2
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +0 -2
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js +0 -2
- package/dist/bigconsole/components/widgets/custom/config.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/config.js +0 -2
- package/dist/bigconsole/components/widgets/custom/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.js +0 -2
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +0 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +0 -2
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.js +0 -2
- package/dist/bigconsole/components/widgets/form/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +0 -2
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +0 -2
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +0 -2
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.js +0 -2
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +0 -2
- package/dist/bigconsole/components/widgets/kanban/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.js +0 -2
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +0 -2
- package/dist/bigconsole/components/widgets/kpi/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +0 -2
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.js +0 -2
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js +0 -2
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListWidget.js +0 -2
- package/dist/bigconsole/components/widgets/list/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +0 -2
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +0 -2
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js +0 -2
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +0 -2
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +0 -2
- package/dist/bigconsole/components/widgets/progress/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +0 -2
- package/dist/bigconsole/components/widgets/retention/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.js +0 -2
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.js +0 -2
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.js +0 -2
- package/dist/bigconsole/components/widgets/states/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.js +0 -2
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.js +0 -2
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js +0 -2
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TablePagination.js +0 -2
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js +0 -2
- package/dist/bigconsole/components/widgets/table/cellLink.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/cellLink.js +0 -2
- package/dist/bigconsole/components/widgets/table/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +0 -2
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.js +0 -2
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +0 -2
- package/dist/bigconsole/components/widgets/timeline/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +0 -2
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/inferFields.js +0 -2
- package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/targetProgress.js +0 -2
- package/dist/bigconsole/components/widgets/utils/translate.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/translate.js +0 -2
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +0 -2
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +0 -2
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +0 -1
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +0 -2
- package/dist/bigconsole/components/workflow/index.d.ts +0 -1
- package/dist/bigconsole/constants/backendErrors.d.ts +0 -1
- package/dist/bigconsole/constants/backendErrors.js +0 -2
- package/dist/bigconsole/constants.d.ts +0 -1
- package/dist/bigconsole/constants.js +0 -2
- package/dist/bigconsole/context/BigConsoleContext.d.ts +0 -1
- package/dist/bigconsole/context/BigConsoleContext.js +0 -2
- package/dist/bigconsole/context/index.d.ts +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.js +0 -2
- package/dist/bigconsole/contexts/NavigationContext.d.ts +0 -1
- package/dist/bigconsole/contexts/NavigationContext.js +0 -2
- package/dist/bigconsole/contexts/index.d.ts +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +0 -2
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +0 -2
- package/dist/bigconsole/customWidget/index.d.ts +0 -1
- package/dist/bigconsole/customWidget/proposalContract.d.ts +0 -1
- package/dist/bigconsole/customWidget/proposalContract.js +0 -2
- package/dist/bigconsole/customWidget/proposalSource.d.ts +0 -1
- package/dist/bigconsole/customWidget/proposalSource.js +0 -2
- package/dist/bigconsole/graphql/apollo-compat.d.ts +0 -1
- package/dist/bigconsole/graphql/storeTemplates.d.ts +0 -1
- package/dist/bigconsole/graphql/storeTemplates.js +0 -2
- package/dist/bigconsole/hooks/index.d.ts +0 -1
- package/dist/bigconsole/hooks/useActivePage.d.ts +0 -1
- package/dist/bigconsole/hooks/useActivePage.js +0 -2
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts +0 -1
- package/dist/bigconsole/hooks/useAutoRefresh.js +0 -2
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +0 -1
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +0 -2
- package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +0 -1
- package/dist/bigconsole/hooks/useBigConsoleSettings.js +0 -2
- package/dist/bigconsole/hooks/useCrossFilter.d.ts +0 -1
- package/dist/bigconsole/hooks/useCrossFilter.js +0 -2
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +0 -2
- package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardImageExport.js +0 -2
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +0 -2
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardOperations.js +0 -2
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardSharing.js +0 -2
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.js +0 -2
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +0 -1
- package/dist/bigconsole/hooks/useDataSinkAlerts.js +0 -2
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useDataSinkOperations.js +0 -2
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +0 -1
- package/dist/bigconsole/hooks/useDataSinkSubscription.js +0 -2
- package/dist/bigconsole/hooks/useDrilldown.d.ts +0 -1
- package/dist/bigconsole/hooks/useDrilldown.js +0 -2
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useDrilldownOperations.js +0 -2
- package/dist/bigconsole/hooks/useEventLogs.d.ts +0 -1
- package/dist/bigconsole/hooks/useEventLogs.js +0 -2
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts +0 -1
- package/dist/bigconsole/hooks/useEventWebhooks.js +0 -2
- package/dist/bigconsole/hooks/useExportDashboard.d.ts +0 -1
- package/dist/bigconsole/hooks/useExportDashboard.js +0 -2
- package/dist/bigconsole/hooks/useExportDataSink.d.ts +0 -1
- package/dist/bigconsole/hooks/useExportDataSink.js +0 -2
- package/dist/bigconsole/hooks/useExportParser.d.ts +0 -1
- package/dist/bigconsole/hooks/useExportParser.js +0 -2
- package/dist/bigconsole/hooks/useFilterPresets.d.ts +0 -1
- package/dist/bigconsole/hooks/useFilterPresets.js +0 -2
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +0 -1
- package/dist/bigconsole/hooks/useFilterUrlSync.js +0 -2
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts +0 -1
- package/dist/bigconsole/hooks/useGlobalFilters.js +0 -2
- package/dist/bigconsole/hooks/useImportDashboard.d.ts +0 -1
- package/dist/bigconsole/hooks/useImportDashboard.js +0 -2
- package/dist/bigconsole/hooks/useImportDataSink.d.ts +0 -1
- package/dist/bigconsole/hooks/useImportDataSink.js +0 -2
- package/dist/bigconsole/hooks/useImportParser.d.ts +0 -1
- package/dist/bigconsole/hooks/useImportParser.js +0 -2
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +0 -1
- package/dist/bigconsole/hooks/useInstalledWidgets.js +0 -2
- package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +0 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.js +0 -2
- package/dist/bigconsole/hooks/usePageOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/usePageOperations.js +0 -2
- package/dist/bigconsole/hooks/useParserOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useParserOperations.js +0 -2
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/usePipelineOperations.js +0 -2
- package/dist/bigconsole/hooks/useShareRecipients.d.ts +0 -1
- package/dist/bigconsole/hooks/useShareRecipients.js +0 -2
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +0 -1
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +0 -2
- package/dist/bigconsole/hooks/useWidgetActions.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetActions.js +0 -2
- package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetCatalog.js +0 -2
- package/dist/bigconsole/hooks/useWidgetComments.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetComments.js +0 -2
- package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetConfigPersist.js +0 -2
- package/dist/bigconsole/hooks/useWidgetData.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetData.js +0 -2
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetEvents.js +0 -2
- package/dist/bigconsole/hooks/useWidgetExport.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetExport.js +0 -2
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetOperations.js +0 -2
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useWorkflowOperations.js +0 -2
- package/dist/bigconsole/index.d.ts +0 -1
- package/dist/bigconsole/modules/dashboard/index.d.ts +0 -1
- package/dist/bigconsole/modules/index.d.ts +0 -1
- package/dist/bigconsole/modules/renderer/index.d.ts +0 -1
- package/dist/bigconsole/modules/widget/index.d.ts +0 -1
- package/dist/bigconsole/pages/AdminPage.d.ts +0 -1
- package/dist/bigconsole/pages/AdminPage.js +0 -2
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.js +0 -2
- package/dist/bigconsole/pages/DashboardViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/DashboardViewPage.js +0 -2
- package/dist/bigconsole/pages/DashboardsPage.d.ts +0 -1
- package/dist/bigconsole/pages/DashboardsPage.js +0 -2
- package/dist/bigconsole/pages/DataParsersPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataParsersPage.js +0 -2
- package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +0 -2
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +0 -2
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js +0 -2
- package/dist/bigconsole/pages/DataSinksPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinksPage.js +0 -2
- package/dist/bigconsole/pages/DataSourcesPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSourcesPage.js +0 -2
- package/dist/bigconsole/pages/InsightsPage.d.ts +0 -1
- package/dist/bigconsole/pages/InsightsPage.js +0 -2
- package/dist/bigconsole/pages/OverviewPage.d.ts +0 -1
- package/dist/bigconsole/pages/OverviewPage.js +0 -2
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js +0 -2
- package/dist/bigconsole/pages/ParserViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/ParserViewPage.js +0 -2
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +0 -2
- package/dist/bigconsole/pages/PipelineViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/PipelineViewPage.js +0 -2
- package/dist/bigconsole/pages/PipelinesPage.d.ts +0 -1
- package/dist/bigconsole/pages/PipelinesPage.js +0 -2
- package/dist/bigconsole/pages/SettingsPage.d.ts +0 -1
- package/dist/bigconsole/pages/SettingsPage.js +0 -2
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts +0 -1
- package/dist/bigconsole/pages/WidgetDemoPage.js +0 -2
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/WorkflowViewPage.js +0 -2
- package/dist/bigconsole/pages/WorkflowsPage.d.ts +0 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +0 -2
- package/dist/bigconsole/pages/index.d.ts +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +0 -2
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/index.d.ts +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +0 -2
- package/dist/bigconsole/renderers/index.d.ts +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.js +0 -2
- package/dist/bigconsole/renderers/types/index.d.ts +0 -1
- package/dist/bigconsole/renderers/types/renderer.d.ts +0 -1
- package/dist/bigconsole/store/dashboardStore.d.ts +0 -1
- package/dist/bigconsole/store/dashboardStore.js +0 -2
- package/dist/bigconsole/store/dataSinkStore.d.ts +0 -1
- package/dist/bigconsole/store/dataSinkStore.js +0 -2
- package/dist/bigconsole/store/drilldownStore.d.ts +0 -1
- package/dist/bigconsole/store/drilldownStore.js +0 -2
- package/dist/bigconsole/store/index.d.ts +0 -1
- package/dist/bigconsole/store/parserStore.d.ts +0 -1
- package/dist/bigconsole/store/parserStore.js +0 -2
- package/dist/bigconsole/store/pipelineStore.d.ts +0 -1
- package/dist/bigconsole/store/pipelineStore.js +0 -2
- package/dist/bigconsole/store/widgetStore.d.ts +0 -1
- package/dist/bigconsole/store/widgetStore.js +0 -2
- package/dist/bigconsole/store/workflowStore.d.ts +0 -1
- package/dist/bigconsole/store/workflowStore.js +0 -2
- package/dist/bigconsole/types/index.d.ts +0 -1
- package/dist/bigconsole/utils/alertRules.d.ts +0 -1
- package/dist/bigconsole/utils/alertRules.js +0 -2
- package/dist/bigconsole/utils/backendError.d.ts +0 -1
- package/dist/bigconsole/utils/backendError.js +0 -2
- package/dist/bigconsole/utils/createDialogParam.d.ts +0 -1
- package/dist/bigconsole/utils/createDialogParam.js +0 -2
- package/dist/bigconsole/utils/csv.d.ts +0 -1
- package/dist/bigconsole/utils/csv.js +0 -2
- package/dist/bigconsole/utils/dashboardTemplateContent.d.ts +0 -1
- package/dist/bigconsole/utils/dashboardTemplateContent.js +0 -2
- package/dist/bigconsole/utils/drilldownParams.d.ts +0 -1
- package/dist/bigconsole/utils/drilldownParams.js +0 -2
- package/dist/bigconsole/utils/formDirty.d.ts +0 -1
- package/dist/bigconsole/utils/formDirty.js +0 -2
- package/dist/bigconsole/utils/format.d.ts +0 -1
- package/dist/bigconsole/utils/format.js +0 -2
- package/dist/bigconsole/utils/index.d.ts +0 -1
- package/dist/bigconsole/utils/insightsDraft.d.ts +0 -1
- package/dist/bigconsole/utils/insightsDraft.js +0 -2
- package/dist/bigconsole/utils/layoutBaseline.d.ts +0 -1
- package/dist/bigconsole/utils/layoutBaseline.js +0 -2
- package/dist/bigconsole/utils/quota.d.ts +0 -1
- package/dist/bigconsole/utils/quota.js +0 -2
- package/dist/bigconsole/utils/semanticTokens.d.ts +0 -1
- package/dist/bigconsole/utils/semanticTokens.js +0 -2
- package/dist/bigconsole/utils/templateInstallInputs.d.ts +0 -1
- package/dist/bigconsole/utils/templateInstallInputs.js +0 -2
- package/dist/bigconsole/utils/widgetBinding.d.ts +0 -1
- package/dist/bigconsole/utils/widgetBinding.js +0 -2
- package/dist/bigconsole/utils/widgetFormDirty.d.ts +0 -1
- package/dist/bigconsole/utils/widgetFormDirty.js +0 -2
- package/dist/bigconsole/utils/widgetPositioning.d.ts +0 -1
- package/dist/bigconsole/utils/widgetPositioning.js +0 -2
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts +0 -1
- package/dist/bigconsole/utils/widgetTypeMapping.js +0 -2
- package/dist/bigconsole/workflowOpen.d.ts +0 -1
- package/dist/bigconsole/workflowOpen.js +0 -2
- package/dist/constants/permissions.d.ts +0 -1
- package/dist/constants/permissions.js +0 -2
- package/dist/generated/global-operations.d.ts +0 -1
- package/dist/generated/global-operations.js +0 -2
- package/dist/generated/global-types.d.ts +0 -1
- package/dist/generated/wspace-operations.d.ts +0 -1
- package/dist/generated/wspace-operations.js +0 -2
- package/dist/generated/wspace-types.d.ts +0 -1
- package/dist/generated/wspace-types.js +0 -2
- package/dist/index.d.ts +0 -1
- package/dist/node_modules/@e965/xlsx/xlsx.js +0 -2
- package/dist/node_modules/pdfjs-dist/build/pdf.js +0 -2
- package/dist/shared/hooks/useTr.d.ts +0 -1
- package/dist/shared/hooks/useTr.js +0 -2
- package/dist/translations/en.d.ts +0 -1
- package/dist/utils/nativeBridge.d.ts +0 -1
- package/package.json +5 -4
- package/dist/bigconsole/AdminRoot.d.ts.map +0 -1
- package/dist/bigconsole/AdminRoot.js.map +0 -1
- package/dist/bigconsole/AdminRoutes.d.ts.map +0 -1
- package/dist/bigconsole/AdminRoutes.js.map +0 -1
- package/dist/bigconsole/BigConsoleRoot.d.ts.map +0 -1
- package/dist/bigconsole/BigConsoleRoot.js.map +0 -1
- package/dist/bigconsole/BigConsoleRoutes.d.ts.map +0 -1
- package/dist/bigconsole/BigConsoleRoutes.js.map +0 -1
- package/dist/bigconsole/assistant/assistantApi.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantApi.js.map +0 -1
- package/dist/bigconsole/assistant/assistantProduct.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantProduct.js.map +0 -1
- package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantPrompt.js.map +0 -1
- package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantRunPersistence.js.map +0 -1
- package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantRunStore.js.map +0 -1
- package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantRuntime.js.map +0 -1
- package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +0 -1
- package/dist/bigconsole/assistant/attachmentExtract.js.map +0 -1
- package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +0 -1
- package/dist/bigconsole/assistant/conversationHistoryApi.js.map +0 -1
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +0 -1
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +0 -1
- package/dist/bigconsole/assistant/displayCopy.d.ts.map +0 -1
- package/dist/bigconsole/assistant/index.d.ts.map +0 -1
- package/dist/bigconsole/assistant/modes.d.ts.map +0 -1
- package/dist/bigconsole/assistant/modes.js.map +0 -1
- package/dist/bigconsole/assistant/pageContext.d.ts.map +0 -1
- package/dist/bigconsole/assistant/pageContext.js.map +0 -1
- package/dist/bigconsole/assistant/previewController.d.ts.map +0 -1
- package/dist/bigconsole/assistant/previewController.js.map +0 -1
- package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +0 -1
- package/dist/bigconsole/assistant/previewMutationResult.js.map +0 -1
- package/dist/bigconsole/assistant/previewRunAction.d.ts.map +0 -1
- package/dist/bigconsole/assistant/previewRunAction.js.map +0 -1
- package/dist/bigconsole/assistant/product.d.ts.map +0 -1
- package/dist/bigconsole/assistant/product.js.map +0 -1
- package/dist/bigconsole/assistant/recordAdapters.d.ts.map +0 -1
- package/dist/bigconsole/assistant/recordAdapters.js.map +0 -1
- package/dist/bigconsole/assistant/types.d.ts.map +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +0 -1
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +0 -1
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +0 -1
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +0 -1
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +0 -1
- package/dist/bigconsole/components/DrilldownModal.d.ts.map +0 -1
- package/dist/bigconsole/components/DrilldownModal.js.map +0 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.js.map +0 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.js.map +0 -1
- package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +0 -1
- package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/WidgetInspector.js.map +0 -1
- package/dist/bigconsole/components/builder/index.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/index.d.ts.map +0 -1
- package/dist/bigconsole/components/common/Section.d.ts.map +0 -1
- package/dist/bigconsole/components/common/Section.js.map +0 -1
- package/dist/bigconsole/components/common/index.d.ts.map +0 -1
- package/dist/bigconsole/components/common/sectionStyles.d.ts.map +0 -1
- package/dist/bigconsole/components/common/sectionStyles.js.map +0 -1
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +0 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +0 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +0 -1
- package/dist/bigconsole/components/dashboard/index.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +0 -1
- package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +0 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +0 -1
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +0 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +0 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +0 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +0 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +0 -1
- package/dist/bigconsole/components/datasink/index.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +0 -1
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +0 -1
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +0 -1
- package/dist/bigconsole/components/embed/drilldown.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/drilldown.js.map +0 -1
- package/dist/bigconsole/components/embed/index.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.js.map +0 -1
- package/dist/bigconsole/components/embed/types.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/types.js.map +0 -1
- package/dist/bigconsole/components/embed/validate.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/validate.js.map +0 -1
- package/dist/bigconsole/components/embed/widgetShim.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgetShim.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/shared.js.map +0 -1
- package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/DashboardGuide.js.map +0 -1
- package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/DataHealthCard.js.map +0 -1
- package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +0 -1
- package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/OverviewStatCard.js.map +0 -1
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +0 -1
- package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +0 -1
- package/dist/bigconsole/components/overview/index.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/overviewModel.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/overviewModel.js.map +0 -1
- package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/useOverviewData.js.map +0 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.js.map +0 -1
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ExportParserDialog.js.map +0 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.js.map +0 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserCard.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserCard.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +0 -1
- package/dist/bigconsole/components/parser/TestPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/index.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.js.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/pipeline/index.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.js.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +0 -1
- package/dist/bigconsole/components/preview/parserPreview.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/parserPreview.js.map +0 -1
- package/dist/bigconsole/components/preview/previewShared.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/previewShared.js.map +0 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +0 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +0 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetMenu.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +0 -1
- package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/actionConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +0 -1
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/custom/config.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/config.js.map +0 -1
- package/dist/bigconsole/components/widgets/custom/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.js.map +0 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +0 -1
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/form/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.js.map +0 -1
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/list/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/progress/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/retention/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.js.map +0 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.js.map +0 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.js.map +0 -1
- package/dist/bigconsole/components/widgets/states/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TablePagination.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/cellLink.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.js.map +0 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +0 -1
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/inferFields.js.map +0 -1
- package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +0 -1
- package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/translate.js.map +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/workflow/index.d.ts.map +0 -1
- package/dist/bigconsole/constants/backendErrors.d.ts.map +0 -1
- package/dist/bigconsole/constants/backendErrors.js.map +0 -1
- package/dist/bigconsole/constants.d.ts.map +0 -1
- package/dist/bigconsole/constants.js.map +0 -1
- package/dist/bigconsole/context/BigConsoleContext.d.ts.map +0 -1
- package/dist/bigconsole/context/BigConsoleContext.js.map +0 -1
- package/dist/bigconsole/context/index.d.ts.map +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.js.map +0 -1
- package/dist/bigconsole/contexts/NavigationContext.d.ts.map +0 -1
- package/dist/bigconsole/contexts/NavigationContext.js.map +0 -1
- package/dist/bigconsole/contexts/index.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +0 -1
- package/dist/bigconsole/customWidget/index.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/proposalContract.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/proposalContract.js.map +0 -1
- package/dist/bigconsole/customWidget/proposalSource.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/proposalSource.js.map +0 -1
- package/dist/bigconsole/graphql/apollo-compat.d.ts.map +0 -1
- package/dist/bigconsole/graphql/storeTemplates.d.ts.map +0 -1
- package/dist/bigconsole/graphql/storeTemplates.js.map +0 -1
- package/dist/bigconsole/hooks/index.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useActivePage.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useActivePage.js.map +0 -1
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useAutoRefresh.js.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +0 -1
- package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useCrossFilter.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardImageExport.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardSharing.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.js.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +0 -1
- package/dist/bigconsole/hooks/useDrilldown.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDrilldown.js.map +0 -1
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDrilldownOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useEventLogs.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useEventLogs.js.map +0 -1
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useEventWebhooks.js.map +0 -1
- package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useExportDashboard.js.map +0 -1
- package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useExportDataSink.js.map +0 -1
- package/dist/bigconsole/hooks/useExportParser.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useExportParser.js.map +0 -1
- package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useFilterPresets.js.map +0 -1
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useFilterUrlSync.js.map +0 -1
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useGlobalFilters.js.map +0 -1
- package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useImportDashboard.js.map +0 -1
- package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useImportDataSink.js.map +0 -1
- package/dist/bigconsole/hooks/useImportParser.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useImportParser.js.map +0 -1
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useInstalledWidgets.js.map +0 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.js.map +0 -1
- package/dist/bigconsole/hooks/usePageOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/usePageOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useParserOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useParserOperations.js.map +0 -1
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/usePipelineOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useShareRecipients.js.map +0 -1
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetActions.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetCatalog.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetComments.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetData.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetData.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetEvents.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetExport.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWorkflowOperations.js.map +0 -1
- package/dist/bigconsole/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/dashboard/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/renderer/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/widget/index.d.ts.map +0 -1
- package/dist/bigconsole/pages/AdminPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/AdminPage.js.map +0 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DashboardViewPage.js.map +0 -1
- package/dist/bigconsole/pages/DashboardsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DashboardsPage.js.map +0 -1
- package/dist/bigconsole/pages/DataParsersPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataParsersPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinksPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinksPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSourcesPage.js.map +0 -1
- package/dist/bigconsole/pages/InsightsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/InsightsPage.js.map +0 -1
- package/dist/bigconsole/pages/OverviewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/OverviewPage.js.map +0 -1
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/ParserViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/ParserViewPage.js.map +0 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/PipelineViewPage.js.map +0 -1
- package/dist/bigconsole/pages/PipelinesPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/PipelinesPage.js.map +0 -1
- package/dist/bigconsole/pages/SettingsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/SettingsPage.js.map +0 -1
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/WidgetDemoPage.js.map +0 -1
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +0 -1
- package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/WorkflowsPage.js.map +0 -1
- package/dist/bigconsole/pages/index.d.ts.map +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/index.d.ts.map +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +0 -1
- package/dist/bigconsole/renderers/index.d.ts.map +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +0 -1
- package/dist/bigconsole/renderers/types/index.d.ts.map +0 -1
- package/dist/bigconsole/renderers/types/renderer.d.ts.map +0 -1
- package/dist/bigconsole/store/dashboardStore.d.ts.map +0 -1
- package/dist/bigconsole/store/dashboardStore.js.map +0 -1
- package/dist/bigconsole/store/dataSinkStore.d.ts.map +0 -1
- package/dist/bigconsole/store/dataSinkStore.js.map +0 -1
- package/dist/bigconsole/store/drilldownStore.d.ts.map +0 -1
- package/dist/bigconsole/store/drilldownStore.js.map +0 -1
- package/dist/bigconsole/store/index.d.ts.map +0 -1
- package/dist/bigconsole/store/parserStore.d.ts.map +0 -1
- package/dist/bigconsole/store/parserStore.js.map +0 -1
- package/dist/bigconsole/store/pipelineStore.d.ts.map +0 -1
- package/dist/bigconsole/store/pipelineStore.js.map +0 -1
- package/dist/bigconsole/store/widgetStore.d.ts.map +0 -1
- package/dist/bigconsole/store/widgetStore.js.map +0 -1
- package/dist/bigconsole/store/workflowStore.d.ts.map +0 -1
- package/dist/bigconsole/store/workflowStore.js.map +0 -1
- package/dist/bigconsole/types/index.d.ts.map +0 -1
- package/dist/bigconsole/utils/alertRules.d.ts.map +0 -1
- package/dist/bigconsole/utils/alertRules.js.map +0 -1
- package/dist/bigconsole/utils/backendError.d.ts.map +0 -1
- package/dist/bigconsole/utils/backendError.js.map +0 -1
- package/dist/bigconsole/utils/createDialogParam.d.ts.map +0 -1
- package/dist/bigconsole/utils/createDialogParam.js.map +0 -1
- package/dist/bigconsole/utils/csv.d.ts.map +0 -1
- package/dist/bigconsole/utils/csv.js.map +0 -1
- package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +0 -1
- package/dist/bigconsole/utils/dashboardTemplateContent.js.map +0 -1
- package/dist/bigconsole/utils/drilldownParams.d.ts.map +0 -1
- package/dist/bigconsole/utils/drilldownParams.js.map +0 -1
- package/dist/bigconsole/utils/formDirty.d.ts.map +0 -1
- package/dist/bigconsole/utils/formDirty.js.map +0 -1
- package/dist/bigconsole/utils/format.d.ts.map +0 -1
- package/dist/bigconsole/utils/format.js.map +0 -1
- package/dist/bigconsole/utils/index.d.ts.map +0 -1
- package/dist/bigconsole/utils/insightsDraft.d.ts.map +0 -1
- package/dist/bigconsole/utils/insightsDraft.js.map +0 -1
- package/dist/bigconsole/utils/layoutBaseline.d.ts.map +0 -1
- package/dist/bigconsole/utils/layoutBaseline.js.map +0 -1
- package/dist/bigconsole/utils/quota.d.ts.map +0 -1
- package/dist/bigconsole/utils/quota.js.map +0 -1
- package/dist/bigconsole/utils/semanticTokens.d.ts.map +0 -1
- package/dist/bigconsole/utils/semanticTokens.js.map +0 -1
- package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +0 -1
- package/dist/bigconsole/utils/templateInstallInputs.js.map +0 -1
- package/dist/bigconsole/utils/widgetBinding.d.ts.map +0 -1
- package/dist/bigconsole/utils/widgetBinding.js.map +0 -1
- package/dist/bigconsole/utils/widgetFormDirty.d.ts.map +0 -1
- package/dist/bigconsole/utils/widgetFormDirty.js.map +0 -1
- package/dist/bigconsole/utils/widgetPositioning.d.ts.map +0 -1
- package/dist/bigconsole/utils/widgetPositioning.js.map +0 -1
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +0 -1
- package/dist/bigconsole/utils/widgetTypeMapping.js.map +0 -1
- package/dist/bigconsole/workflowOpen.d.ts.map +0 -1
- package/dist/bigconsole/workflowOpen.js.map +0 -1
- package/dist/constants/permissions.d.ts.map +0 -1
- package/dist/constants/permissions.js.map +0 -1
- package/dist/generated/global-operations.d.ts.map +0 -1
- package/dist/generated/global-operations.js.map +0 -1
- package/dist/generated/global-types.d.ts.map +0 -1
- package/dist/generated/wspace-operations.d.ts.map +0 -1
- package/dist/generated/wspace-operations.js.map +0 -1
- package/dist/generated/wspace-types.d.ts.map +0 -1
- package/dist/generated/wspace-types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/node_modules/@e965/xlsx/xlsx.js.map +0 -1
- package/dist/node_modules/pdfjs-dist/build/pdf.js.map +0 -1
- package/dist/shared/hooks/useTr.d.ts.map +0 -1
- package/dist/shared/hooks/useTr.js.map +0 -1
- package/dist/stories/DashboardGuide.stories.d.ts +0 -15
- package/dist/stories/DashboardGuide.stories.d.ts.map +0 -1
- package/dist/stories/DataSinkStatusBadge.stories.d.ts +0 -12
- package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +0 -1
- package/dist/stories/GaugeWidget.stories.d.ts +0 -58
- package/dist/stories/GaugeWidget.stories.d.ts.map +0 -1
- package/dist/stories/KPIComparisonWidget.stories.d.ts +0 -76
- package/dist/stories/KPIComparisonWidget.stories.d.ts.map +0 -1
- package/dist/stories/LiveCanvasToggle.stories.d.ts +0 -9
- package/dist/stories/LiveCanvasToggle.stories.d.ts.map +0 -1
- package/dist/stories/MetricCardWidget.stories.d.ts +0 -88
- package/dist/stories/MetricCardWidget.stories.d.ts.map +0 -1
- package/dist/stories/ProgressWidget.stories.d.ts +0 -48
- package/dist/stories/ProgressWidget.stories.d.ts.map +0 -1
- package/dist/stories/SetupStateBadge.stories.d.ts +0 -12
- package/dist/stories/SetupStateBadge.stories.d.ts.map +0 -1
- package/dist/translations/en.d.ts.map +0 -1
- package/dist/utils/nativeBridge.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burdenoff/microfe-bigconsole",
|
|
3
|
-
"version": "2026.1008.
|
|
3
|
+
"version": "2026.1008.14",
|
|
4
4
|
"description": "BigConsole - AI-powered analytics and dashboard platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist",
|
|
8
|
+
"!dist/**/*.map",
|
|
8
9
|
"package.json",
|
|
9
10
|
"README.md"
|
|
10
11
|
],
|
|
@@ -36,7 +37,7 @@
|
|
|
36
37
|
"format:check": "prettier --check \"src/**/*.{ts,tsx}\"",
|
|
37
38
|
"type:check": "bash scripts/build-limits.sh tsc --noEmit",
|
|
38
39
|
"test": "bun test ./tests",
|
|
39
|
-
"sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run lint:sanity && bun run format:check && bun run type:check && bun run test && bun run build && bun run build-storybook'",
|
|
40
|
+
"sanity": "bash scripts/build-limits.sh --gate bash -c 'bun run codegen && bun run lint:sanity && bun run format:check && bun run type:check && bun run test && bun run build && bash scripts/verify-package-contents.sh && bun run build-storybook'",
|
|
40
41
|
"storybook": "storybook dev -p 6006",
|
|
41
42
|
"build-storybook": "storybook build",
|
|
42
43
|
"test:storybook": "test-storybook",
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
},
|
|
51
52
|
"peerDependencies": {
|
|
52
53
|
"@apollo/client": "^4.0.11",
|
|
53
|
-
"@burdenoff/fe-libs": "2026.
|
|
54
|
+
"@burdenoff/fe-libs": "2026.1009.1",
|
|
54
55
|
"@burdenoff/fluidgrids-fe-sdk": "2026.731.4",
|
|
55
56
|
"@iconify/react": "^6.0.2",
|
|
56
57
|
"@monaco-editor/react": "^4.7.0",
|
|
@@ -85,7 +86,7 @@
|
|
|
85
86
|
"zustand": "^5.0.3"
|
|
86
87
|
},
|
|
87
88
|
"devDependencies": {
|
|
88
|
-
"@burdenoff/fe-libs": "2026.
|
|
89
|
+
"@burdenoff/fe-libs": "2026.1009.1",
|
|
89
90
|
"@burdenoff/fluidgrids-fe-sdk": "2026.731.4",
|
|
90
91
|
"@eslint/js": "^10.0.1",
|
|
91
92
|
"@graphql-codegen/add": "^5.0.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoot.d.ts","sourceRoot":"","sources":["../../src/bigconsole/AdminRoot.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA0DxC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoot.js","names":[],"sources":["../../src/bigconsole/AdminRoot.tsx"],"sourcesContent":["/**\n * BigConsole Admin Root\n *\n * Entry point for the BigConsole admin surface mounted inside the platform\n * admin-app. Reuses the same provider stack as the main BigConsoleRoot where\n * appropriate, but keeps the admin UI lightweight and independent of dashboard\n * rendering concerns.\n */\n\nimport type { FC } from 'react';\nimport { useEffect } from 'react';\nimport { BarChart3 } from 'lucide-react';\nimport { ErrorBoundary } from '@burdenoff/fe-libs/shared/components';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { PermissionProvider } from '@burdenoff/fe-libs/shared/providers/shell';\nimport type { AdminRootProps } from './types';\nimport { AdminRoutes } from './AdminRoutes';\nimport { BigConsoleProvider } from './context';\n\n/**\n * Root component for the BigConsole admin microfrontend.\n *\n * This is the admin entry point that host applications import and render.\n */\nexport const AdminRoot: FC<AdminRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/admin/bigconsole' } = props;\n\n // Register a single admin nav item with the shell\n useEffect(() => {\n if (!registerNavItems) return;\n\n const cleanup = registerNavItems([\n {\n id: 'bigconsole-admin',\n label: 'BigConsole',\n path: basePath,\n icon: <BarChart3 size={20} />,\n order: 55,\n group: 'admin',\n },\n ]);\n\n return cleanup;\n }, [registerNavItems, basePath]);\n\n // Register footer status item\n useEffect(() => {\n if (!registerFooterItems) return;\n\n const cleanup = registerFooterItems([\n {\n id: 'bigconsole-admin-status',\n label: 'BigConsole Admin',\n type: 'status' as const,\n order: 55,\n section: 'left' as const,\n },\n ]);\n\n return cleanup;\n }, [registerFooterItems]);\n\n return (\n <ErrorBoundary\n fallback={\n <div className=\"p-6 text-center text-text-secondary\">\n Something went wrong loading BigConsole Admin. Please refresh the page.\n </div>\n }\n >\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n {/* PermissionProvider fetches myPermissions from wspace-rbac-svc via the\n workspace gateway (requires the shell's AuthProvider), scoped to the\n active workspace so admin UI gating matches gateway enforcement. */}\n <PermissionProvider scopeId={props.workspaceId ?? null} gateway=\"workspace\">\n <BigConsoleProvider props={props}>\n <AdminRoutes />\n </BigConsoleProvider>\n </PermissionProvider>\n </FeatureFlagProvider>\n </ErrorBoundary>\n );\n};\n"],"mappings":";;;;;;;;;;AAwBA,IAAa,KAAiC,MAAU;CACtD,IAAM,EAAE,qBAAkB,wBAAqB,cAAW,wBAAwB;AAqClF,QAlCA,QAAgB;AACT,QAaL,QAXgB,EAAiB,CAC/B;GACE,IAAI;GACJ,OAAO;GACP,MAAM;GACN,MAAM,kBAAC,GAAD,EAAW,MAAM,IAAM,CAAA;GAC7B,OAAO;GACP,OAAO;GACR,CACF,CAAC;IAGD,CAAC,GAAkB,EAAS,CAAC,EAGhC,QAAgB;AACT,QAYL,QAVgB,EAAoB,CAClC;GACE,IAAI;GACJ,OAAO;GACP,MAAM;GACN,OAAO;GACP,SAAS;GACV,CACF,CAAC;IAGD,CAAC,EAAoB,CAAC,EAGvB,kBAAC,GAAD;EACE,UACE,kBAAC,OAAD;GAAK,WAAU;aAAsC;GAE/C,CAAA;YAGR,kBAAC,GAAD;GAAqB,aAAa;GAAM,SAAQ;GAAS,gBAAgB;aAIvE,kBAAC,GAAD;IAAoB,SAAS,EAAM,eAAe;IAAM,SAAQ;cAC9D,kBAAC,GAAD;KAA2B;eACzB,kBAAC,GAAD,EAAe,CAAA;KACI,CAAA;IACF,CAAA;GACD,CAAA;EACR,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoutes.d.ts","sourceRoot":"","sources":["../../src/bigconsole/AdminRoutes.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,wBAAgB,WAAW,gCAM1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoutes.js","names":[],"sources":["../../src/bigconsole/AdminRoutes.tsx"],"sourcesContent":["/**\n * BigConsole Admin Routes\n *\n * Internal routing for the admin surface mounted inside admin-app.\n */\n\nimport { Route, Routes } from 'react-router';\nimport { AdminPage } from './pages/AdminPage';\n\nexport function AdminRoutes() {\n return (\n <Routes>\n <Route path=\"*\" element={<AdminPage />} />\n </Routes>\n );\n}\n"],"mappings":";;;;AASA,SAAgB,IAAc;AAC5B,QACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAO,MAAK;EAAI,SAAS,kBAAC,GAAD,EAAa,CAAA;EAAI,CAAA,EACnC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BigConsoleRoot.d.ts","sourceRoot":"","sources":["../../src/bigconsole/BigConsoleRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQhC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAiEnD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAsVlD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BigConsoleRoot.js","names":[],"sources":["../../src/bigconsole/BigConsoleRoot.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useEffect, useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { useSearchParams } from 'react-router';\nimport type { TypedDocumentNode } from '@apollo/client';\nimport { ErrorBoundary } from '@burdenoff/fe-libs/shared/components';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { PermissionProvider } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { BarChart3, Database, LayoutDashboard, Lightbulb, Settings, Boxes } from 'lucide-react';\nimport type { BigConsoleRootProps } from './types';\nimport { BigConsoleRoutes } from './BigConsoleRoutes';\nimport { BigConsoleProvider } from './context';\nimport { NavigationProvider, CrossFilterProvider } from './contexts';\nimport { BigConsoleQuotaProvider } from './providers/BigConsoleQuotaProvider';\nimport { AiPreviewPanel } from './components/preview/AiPreviewPanel';\nimport { DrilldownModal } from './components/DrilldownModal';\nimport { DrilldownDashboardRenderer } from './components/DrilldownDashboardRenderer';\nimport { useFilterUrlSync } from './hooks/useFilterUrlSync';\nimport { useDrilldownStore } from './store/drilldownStore';\n\n// FluidGrids SDK client injection (needed for workflow components)\nimport {\n setFluidGridsClient,\n resetFluidGridsClient,\n setFluidGridsConfig,\n resetFluidGridsConfig,\n setGlobalStoreClient,\n resetGlobalStoreClient,\n} from '@burdenoff/fluidgrids-fe-sdk';\n// Use the shared gateway Apollo clients from the shell\nimport { useGatewayClient } from '@burdenoff/fe-libs/shared/graphql';\nimport {\n CreateWorkflowDocument,\n GetWorkflowByKeyDocument,\n ListWorkflowsDocument,\n type GetWorkflowByKeyQuery,\n type GetWorkflowByKeyQueryVariables,\n type CreateWorkflowMutation,\n type CreateWorkflowMutationVariables,\n type ListWorkflowsQuery,\n type ListWorkflowsQueryVariables,\n} from '../generated/wspace-operations';\n\nconst getWorkflowByKeyDocument = GetWorkflowByKeyDocument as unknown as TypedDocumentNode<\n GetWorkflowByKeyQuery,\n GetWorkflowByKeyQueryVariables\n>;\nconst createWorkflowDocument = CreateWorkflowDocument as unknown as TypedDocumentNode<\n CreateWorkflowMutation,\n CreateWorkflowMutationVariables\n>;\nconst listWorkflowsDocument = ListWorkflowsDocument as unknown as TypedDocumentNode<\n ListWorkflowsQuery,\n ListWorkflowsQueryVariables\n>;\n\n/**\n * Local contract for the workflow-save payload emitted by the embedded FluidGrids builder.\n * Kept explicit here to maintain strict typing at the BigConsole boundary.\n */\ninterface WorkflowSavedResult {\n dbId: string;\n workflowKey: string;\n version: string;\n name: string;\n description?: string;\n operation: 'created' | 'updated' | 'versioned';\n}\n\n// In-flight guard: prevents duplicate BigConsole records when the callback\n// fires twice in rapid succession (React StrictMode, retry, double-click).\n// Server unique constraint on `key` is the ultimate backstop.\nconst inFlightKeys = new Set<string>();\n\n/**\n * Root component for the BigConsole microfrontend.\n *\n * This is the main entry point that host applications import and render.\n * It sets up the necessary providers and renders the internal routing.\n * Automatically registers navigation items with the shell if registration functions are provided.\n *\n * @example\n * ```tsx\n * import { BigConsoleRoot, type BigConsoleRootProps } from '@burdenoff/microfe-bigconsole';\n *\n * function App() {\n * const props: BigConsoleRootProps = {\n * basePath: '/analytics',\n * navigate: (path) => router.push(path),\n * currentUser: { id: '1', email: 'user@example.com' },\n * apiGatewayUrl: 'https://api.example.com',\n * authToken: 'token',\n * };\n *\n * return <BigConsoleRoot {...props} />;\n * }\n * ```\n */\nexport const BigConsoleRoot: FC<BigConsoleRootProps> = (props) => {\n const { registerNavItems, registerFooterItems, basePath = '/bigconsole', navigate: hostNavigate } = props;\n\n // Use the shared Apollo clients from the shell (both workspace and global)\n const workspaceClient = useGatewayClient('workspace');\n const globalClient = useGatewayClient('global');\n const [clientReady, setClientReady] = useState(false);\n const [clientError, setClientError] = useState<string | null>(null);\n\n // Helper to join paths correctly, avoiding double slashes\n const joinPath = (base: string, path: string): string => {\n const cleanBase = base.endsWith('/') ? base.slice(0, -1) : base;\n const cleanPath = path.startsWith('/') ? path : `/${path}`;\n return cleanBase + cleanPath;\n };\n\n // Register navigation items with the shell\n useEffect(() => {\n if (!registerNavItems) return;\n\n const bigConsoleNavItem = {\n id: 'bigconsole',\n label: 'Analytics',\n path: basePath,\n icon: <BarChart3 size={20} />,\n order: 15,\n group: 'bigconsole',\n children: [\n {\n id: 'bigconsole-home',\n label: 'Overview',\n path: basePath,\n icon: <BarChart3 size={16} />,\n order: 10,\n },\n {\n id: 'bigconsole-dashboards',\n label: 'Dashboards',\n path: joinPath(basePath, 'dashboards'),\n icon: <LayoutDashboard size={16} />,\n order: 20,\n },\n {\n id: 'bigconsole-datasources',\n label: 'Data Sources',\n path: joinPath(basePath, 'datasources'),\n icon: <Database size={16} />,\n order: 30,\n },\n {\n id: 'bigconsole-insights',\n label: 'AI Insights',\n path: joinPath(basePath, 'insights'),\n icon: <Lightbulb size={16} />,\n order: 40,\n },\n {\n id: 'bigconsole-widgets',\n label: 'Widget Demo',\n path: joinPath(basePath, 'widgets/demo'),\n icon: <Boxes size={16} />,\n order: 50,\n },\n {\n id: 'bigconsole-settings',\n label: 'Settings',\n path: joinPath(basePath, 'settings'),\n icon: <Settings size={16} />,\n order: 60,\n },\n ],\n };\n\n const cleanup = registerNavItems(bigConsoleNavItem);\n return cleanup;\n }, [registerNavItems, basePath]);\n\n // Register footer items\n useEffect(() => {\n if (!registerFooterItems) return;\n\n const footerItems = [\n {\n id: 'bigconsole-status',\n label: 'Analytics Ready',\n type: 'status' as const,\n order: 15,\n section: 'left' as const,\n },\n ];\n\n const cleanup = registerFooterItems(footerItems);\n return cleanup;\n }, [registerFooterItems]);\n\n // Inject Apollo clients into FluidGrids SDK (for workflow components)\n // This synchronizes external stores (module-level client singletons in the SDK)\n // with React's lifecycle. The setState call is intentional — it gates rendering\n // so children don't mount before the SDK clients are available.\n //\n // KNOWN TRADE-OFF: clientReady is NOT reset in cleanup. When workspaceClient/globalClient\n // change references (e.g. token refresh), children continue rendering against a briefly\n // uninitialized SDK client until the next effect run re-injects the new client. This avoids\n // a visible spinner flash mid-session. Failed SDK requests during this short window will\n // be retried by React Query / Apollo's retry policies. If this becomes a real issue,\n // consider using startTransition to reset clientReady without the visual disruption.\n useEffect(() => {\n if (workspaceClient && globalClient) {\n setFluidGridsClient(workspaceClient);\n setGlobalStoreClient(globalClient);\n // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional: gate children until external SDK clients are injected\n setClientReady(true);\n }\n return () => {\n resetFluidGridsClient();\n resetGlobalStoreClient();\n };\n }, [workspaceClient, globalClient]);\n\n // Timeout fallback: if gateway clients are never provided (test env, shell\n // misconfiguration, auth failure before hydration), show an error rather\n // than spinning indefinitely.\n useEffect(() => {\n if (clientReady) return;\n const timer = setTimeout(() => {\n if (!clientReady) {\n setClientError(\n 'BigConsole could not connect to the gateway. Please refresh the page or check your configuration.'\n );\n }\n }, 10_000);\n return () => clearTimeout(timer);\n }, [clientReady]);\n\n // Callback: sync workflow metadata to BigConsole after FluidGrids SDK saves\n const handleWorkflowSaved = useCallback(\n async (result: WorkflowSavedResult) => {\n // Only create a BigConsole record for brand-new workflows.\n // 'updated' = edit of existing, 'versioned' = new snapshot of same key — both already have records.\n if (result.operation !== 'created') return;\n\n if (!workspaceClient) {\n console.warn('[BigConsole] onWorkflowSaved: workspace client not ready');\n return;\n }\n\n // In-flight guard: prevent duplicate records from rapid double-fire\n // (React StrictMode, retry, fast double-click).\n if (inFlightKeys.has(result.workflowKey)) return;\n inFlightKeys.add(result.workflowKey);\n\n try {\n // Idempotency check — avoid creating duplicates if callback fires twice\n const existing = await workspaceClient.query<GetWorkflowByKeyQuery>({\n query: getWorkflowByKeyDocument,\n variables: { key: result.workflowKey },\n fetchPolicy: 'network-only',\n });\n\n if (existing.data?.workflowByKey) {\n return;\n }\n\n // Create BigConsole metadata record linked to the SDK workflow\n await workspaceClient.mutate<CreateWorkflowMutation>({\n mutation: createWorkflowDocument,\n variables: {\n input: {\n name: result.name,\n key: result.workflowKey,\n description: result.description,\n externalWorkflowId: result.dbId,\n },\n },\n refetchQueries: [{ query: listWorkflowsDocument }],\n });\n } catch (err) {\n // Possible: network error, or duplicate-key constraint (race condition).\n // SDK save already succeeded — never block the user.\n console.warn('[BigConsole] onWorkflowSaved: failed to create record:', err);\n } finally {\n inFlightKeys.delete(result.workflowKey);\n }\n },\n [workspaceClient]\n );\n\n // BOFF-1870 follow-up: keep this ref bridge explicit as the breadcrumb for\n // why this callback is decoupled from SDK config updates.\n // Ref-forwarding: decouple the callback from the SDK config effect so that\n // workspaceClient reference changes don't trigger resetFluidGridsConfig() + re-init.\n const handleWorkflowSavedRef = useRef(handleWorkflowSaved);\n // eslint-disable-next-line react-hooks/set-state-in-effect -- intentional: keep ref in sync with latest callback\n useLayoutEffect(() => {\n handleWorkflowSavedRef.current = handleWorkflowSaved;\n }, [handleWorkflowSaved]);\n\n // Configure FluidGrids SDK settings\n useEffect(() => {\n if (props.apiGatewayUrl) {\n const normalizedBase = props.apiGatewayUrl.endsWith('/') ? props.apiGatewayUrl.slice(0, -1) : props.apiGatewayUrl;\n\n console.log('[BigConsole] Setting FluidGrids config', {\n apiGatewayUrl: normalizedBase,\n workspaceId: props.workspaceId,\n tenantId: props.tenantId,\n productId: props.productId,\n productName: props.productName,\n });\n\n setFluidGridsConfig({\n apiGatewayUrl: normalizedBase,\n authToken: props.authToken,\n workspaceId: props.workspaceId ?? '',\n tenantId: props.tenantId,\n // Default to 'bigconsole' when unset — the SDK uses productId for workflow isolation\n // (filtering workflows by product). undefined would show all products' workflows.\n productId: props.productId ?? 'bigconsole',\n productName: props.productName ?? 'BigConsole',\n // Stable wrapper via ref — avoids SDK re-init when workspaceClient changes reference\n onWorkflowSaved: (result: WorkflowSavedResult) => handleWorkflowSavedRef.current(result),\n });\n }\n return () => {\n resetFluidGridsConfig();\n };\n // handleWorkflowSavedRef is stable (useRef) — intentionally excluded to prevent SDK re-init on client change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.apiGatewayUrl, props.authToken, props.workspaceId, props.tenantId, props.productId, props.productName]);\n\n // Drilldown modal state from store\n const [searchParams, setSearchParams] = useSearchParams();\n const isModalOpen = useDrilldownStore((state) => state.isOpen);\n const closeModal = useDrilldownStore((state) => state.closeModal);\n useFilterUrlSync();\n\n const handleDrilldownClose = useCallback(() => {\n closeModal();\n // Clear any cross-filter URL params when closing drilldown modal\n const newParams = new URLSearchParams(searchParams);\n Array.from(newParams.keys()).forEach((key) => {\n if (key.startsWith('filter_') || key.startsWith('ctx_')) {\n newParams.delete(key);\n }\n });\n setSearchParams(newParams, { replace: true });\n // Remove focus from any element to prevent blue border\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement.blur();\n }\n }, [closeModal, searchParams, setSearchParams]);\n\n const handleViewBilling = useCallback(\n (path: string) => {\n // Billing lives outside the /bigconsole basePath. Carry the active\n // org/workspace/project so it opens on the same context (BOFF-7913);\n // BigConsole's own params (filters, cross-filter ctx) stay behind.\n const context = new URLSearchParams();\n for (const key of ['org', 'workspace', 'project']) {\n const value = searchParams.get(key);\n if (value) context.set(key, value);\n }\n const query = context.toString();\n const target = query ? `${path}?${query}` : path;\n if (hostNavigate) {\n hostNavigate(target);\n return;\n }\n window.location.assign(target);\n },\n [hostNavigate, searchParams]\n );\n\n // Render a DrilldownDashboardRenderer inside the modal when a drilldown is active.\n // This callback is only invoked by DrilldownModal when isOpen && dashboardId are set,\n // so the renderer always receives a valid dashboardId.\n // NOTE: Must be declared before the early return below to satisfy React's rules of hooks.\n const renderDrilldownDashboard = useCallback(\n (dashboardId: string, params: Record<string, unknown>) => (\n <DrilldownDashboardRenderer dashboardId={dashboardId} params={params} />\n ),\n []\n );\n\n // Don't render until client is ready (same pattern as microfe-workflows)\n if (!clientReady) {\n if (clientError) {\n return (\n <div className=\"flex h-full min-h-[200px] w-full items-center justify-center p-6\">\n <div className=\"text-center\">\n <p className=\"text-sm text-text-secondary mb-4\">{clientError}</p>\n <button\n type=\"button\"\n onClick={() => window.location.reload()}\n className=\"px-4 py-2 text-sm font-medium text-white bg-action-primary-bg hover:bg-action-primary-bg/90 rounded-md transition-colors\"\n >\n Reload Page\n </button>\n </div>\n </div>\n );\n }\n return (\n <div className=\"flex h-full min-h-[200px] w-full items-center justify-center\">\n <div className=\"h-8 w-8 animate-spin rounded-full border-4 border-gray-300 border-t-blue-600\" />\n </div>\n );\n }\n\n return (\n <ErrorBoundary\n fallback={\n <div className=\"p-6 text-center text-text-secondary\">\n Something went wrong loading BigConsole. Please refresh the page.\n </div>\n }\n >\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n {/* PermissionProvider fetches myPermissions from wspace-rbac-svc via the\n workspace gateway (requires the shell's AuthProvider). Scoped to the\n active workspace so UI gating matches what the gateway enforces. */}\n <PermissionProvider scopeId={props.workspaceId ?? null} gateway=\"workspace\">\n <BigConsoleProvider props={props}>\n <BigConsoleQuotaProvider onViewBilling={handleViewBilling}>\n <NavigationProvider basePath={basePath}>\n <CrossFilterProvider>\n {/* Sits ABOVE the routed page, so when the assistant starts building\n you watch it happen on whatever screen you were already on —\n rather than having to guess which list to go and refresh. */}\n <AiPreviewPanel />\n <BigConsoleRoutes {...props} />\n {isModalOpen && (\n <DrilldownModal onClose={handleDrilldownClose} renderDashboard={renderDrilldownDashboard} />\n )}\n </CrossFilterProvider>\n </NavigationProvider>\n </BigConsoleQuotaProvider>\n </BigConsoleProvider>\n </PermissionProvider>\n </FeatureFlagProvider>\n </ErrorBoundary>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA0CA,IAAM,IAA2B,GAI3B,IAAyB,GAIzB,IAAwB,GAqBxB,oBAAe,IAAI,KAAa,EA0BzB,KAA2C,MAAU;CAChE,IAAM,EAAE,qBAAkB,wBAAqB,cAAW,eAAe,UAAU,MAAiB,GAG9F,IAAkB,EAAiB,YAAY,EAC/C,IAAe,EAAiB,SAAS,EACzC,CAAC,GAAa,KAAkB,EAAS,GAAM,EAC/C,CAAC,GAAa,KAAkB,EAAwB,KAAK,EAG7D,KAAY,GAAc,OACZ,EAAK,SAAS,IAAI,GAAG,EAAK,MAAM,GAAG,GAAG,GAAG,MACzC,EAAK,WAAW,IAAI,GAAG,IAAO,IAAI;AA8GtD,CAzGA,QAAgB;AACT,QAwDL,QADgB,EArDU;GACxB,IAAI;GACJ,OAAO;GACP,MAAM;GACN,MAAM,kBAAC,GAAD,EAAW,MAAM,IAAM,CAAA;GAC7B,OAAO;GACP,OAAO;GACP,UAAU;IACR;KACE,IAAI;KACJ,OAAO;KACP,MAAM;KACN,MAAM,kBAAC,GAAD,EAAW,MAAM,IAAM,CAAA;KAC7B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO;KACP,MAAM,EAAS,GAAU,aAAa;KACtC,MAAM,kBAAC,GAAD,EAAiB,MAAM,IAAM,CAAA;KACnC,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO;KACP,MAAM,EAAS,GAAU,cAAc;KACvC,MAAM,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA;KAC5B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO;KACP,MAAM,EAAS,GAAU,WAAW;KACpC,MAAM,kBAAC,GAAD,EAAW,MAAM,IAAM,CAAA;KAC7B,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO;KACP,MAAM,EAAS,GAAU,eAAe;KACxC,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;KACzB,OAAO;KACR;IACD;KACE,IAAI;KACJ,OAAO;KACP,MAAM,EAAS,GAAU,WAAW;KACpC,MAAM,kBAAC,IAAD,EAAU,MAAM,IAAM,CAAA;KAC5B,OAAO;KACR;IACF;GACF,CAEkD;IAElD,CAAC,GAAkB,EAAS,CAAC,EAGhC,QAAgB;AACT,QAaL,QADgB,EAVI,CAClB;GACE,IAAI;GACJ,OAAO;GACP,MAAM;GACN,OAAO;GACP,SAAS;GACV,CACF,CAE+C;IAE/C,CAAC,EAAoB,CAAC,EAazB,SACM,KAAmB,MACrB,EAAoB,EAAgB,EACpC,EAAqB,EAAa,EAElC,EAAe,GAAK,SAET;AAEX,EADA,GAAuB,EACvB,GAAwB;KAEzB,CAAC,GAAiB,EAAa,CAAC,EAKnC,QAAgB;AACd,MAAI,EAAa;EACjB,IAAM,IAAQ,iBAAiB;AAC7B,GAAK,KACH,EACE,oGACD;KAEF,IAAO;AACV,eAAa,aAAa,EAAM;IAC/B,CAAC,EAAY,CAAC;CAGjB,IAAM,IAAsB,EAC1B,OAAO,MAAgC;AAGjC,QAAO,cAAc,WAEzB;OAAI,CAAC,GAAiB;AACpB,YAAQ,KAAK,2DAA2D;AACxE;;AAKE,UAAa,IAAI,EAAO,YAAY,EACxC;MAAa,IAAI,EAAO,YAAY;AAEpC,QAAI;AAQF,UANiB,MAAM,EAAgB,MAA6B;MAClE,OAAO;MACP,WAAW,EAAE,KAAK,EAAO,aAAa;MACtC,aAAa;MACd,CAAC,EAEW,MAAM,cACjB;AAIF,WAAM,EAAgB,OAA+B;MACnD,UAAU;MACV,WAAW,EACT,OAAO;OACL,MAAM,EAAO;OACb,KAAK,EAAO;OACZ,aAAa,EAAO;OACpB,oBAAoB,EAAO;OAC5B,EACF;MACD,gBAAgB,CAAC,EAAE,OAAO,GAAuB,CAAC;MACnD,CAAC;aACK,GAAK;AAGZ,aAAQ,KAAK,0DAA0D,EAAI;cACnE;AACR,OAAa,OAAO,EAAO,YAAY;;;;IAG3C,CAAC,EAAgB,CAClB,EAMK,IAAyB,EAAO,EAAoB;AAO1D,CALA,QAAsB;AACpB,IAAuB,UAAU;IAChC,CAAC,EAAoB,CAAC,EAGzB,QAAgB;AACd,MAAI,EAAM,eAAe;GACvB,IAAM,IAAiB,EAAM,cAAc,SAAS,IAAI,GAAG,EAAM,cAAc,MAAM,GAAG,GAAG,GAAG,EAAM;AAUpG,GARA,QAAQ,IAAI,0CAA0C;IACpD,eAAe;IACf,aAAa,EAAM;IACnB,UAAU,EAAM;IAChB,WAAW,EAAM;IACjB,aAAa,EAAM;IACpB,CAAC,EAEF,EAAoB;IAClB,eAAe;IACf,WAAW,EAAM;IACjB,aAAa,EAAM,eAAe;IAClC,UAAU,EAAM;IAGhB,WAAW,EAAM,aAAa;IAC9B,aAAa,EAAM,eAAe;IAElC,kBAAkB,MAAgC,EAAuB,QAAQ,EAAO;IACzF,CAAC;;AAEJ,eAAa;AACX,MAAuB;;IAIxB;EAAC,EAAM;EAAe,EAAM;EAAW,EAAM;EAAa,EAAM;EAAU,EAAM;EAAW,EAAM;EAAY,CAAC;CAGjH,IAAM,CAAC,GAAc,KAAmB,GAAiB,EACnD,KAAc,GAAmB,MAAU,EAAM,OAAO,EACxD,IAAa,GAAmB,MAAU,EAAM,WAAW;AACjE,IAAkB;CAElB,IAAM,KAAuB,QAAkB;AAC7C,KAAY;EAEZ,IAAM,IAAY,IAAI,gBAAgB,EAAa;AAQnD,EAPA,MAAM,KAAK,EAAU,MAAM,CAAC,CAAC,SAAS,MAAQ;AAC5C,IAAI,EAAI,WAAW,UAAU,IAAI,EAAI,WAAW,OAAO,KACrD,EAAU,OAAO,EAAI;IAEvB,EACF,EAAgB,GAAW,EAAE,SAAS,IAAM,CAAC,EAEzC,SAAS,yBAAyB,eACpC,SAAS,cAAc,MAAM;IAE9B;EAAC;EAAY;EAAc;EAAgB,CAAC,EAEzC,KAAoB,GACvB,MAAiB;EAIhB,IAAM,IAAU,IAAI,iBAAiB;AACrC,OAAK,IAAM,KAAO;GAAC;GAAO;GAAa;GAAU,EAAE;GACjD,IAAM,IAAQ,EAAa,IAAI,EAAI;AACnC,GAAI,KAAO,EAAQ,IAAI,GAAK,EAAM;;EAEpC,IAAM,IAAQ,EAAQ,UAAU,EAC1B,IAAS,IAAQ,GAAG,EAAK,GAAG,MAAU;AAC5C,MAAI,GAAc;AAChB,KAAa,EAAO;AACpB;;AAEF,SAAO,SAAS,OAAO,EAAO;IAEhC,CAAC,GAAc,EAAa,CAC7B,EAMK,KAA2B,GAC9B,GAAqB,MACpB,kBAAC,GAAD;EAAyC;EAAqB;EAAU,CAAA,EAE1E,EAAE,CACH;AA2BD,QAxBK,IAyBH,kBAAC,GAAD;EACE,UACE,kBAAC,OAAD;GAAK,WAAU;aAAsC;GAE/C,CAAA;YAGR,kBAAC,GAAD;GAAqB,aAAa;GAAM,SAAQ;GAAS,gBAAgB;aAIvE,kBAAC,GAAD;IAAoB,SAAS,EAAM,eAAe;IAAM,SAAQ;cAC9D,kBAAC,GAAD;KAA2B;eACzB,kBAAC,GAAD;MAAyB,eAAe;gBACtC,kBAAC,GAAD;OAA8B;iBAC5B,kBAAC,GAAD,EAAA,UAAA;QAIE,kBAAC,GAAD,EAAkB,CAAA;QAClB,kBAAC,GAAD,EAAkB,GAAI,GAAS,CAAA;QAC9B,MACC,kBAAC,GAAD;SAAgB,SAAS;SAAsB,iBAAiB;SAA4B,CAAA;QAE1E,EAAA,CAAA;OACH,CAAA;MACG,CAAA;KACP,CAAA;IACF,CAAA;GACD,CAAA;EACR,CAAA,GAtDZ,IAEA,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,KAAD;IAAG,WAAU;cAAoC;IAAgB,CAAA,EACjE,kBAAC,UAAD;IACE,MAAK;IACL,eAAe,OAAO,SAAS,QAAQ;IACvC,WAAU;cACX;IAEQ,CAAA,CACL;;EACF,CAAA,GAIR,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD,EAAK,WAAU,gFAAiF,CAAA;EAC5F,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BigConsoleRoutes.d.ts","sourceRoot":"","sources":["../../src/bigconsole/BigConsoleRoutes.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA+EnD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,cAAwD,CAAC;AAsQrF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,+BAiF1D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BigConsoleRoutes.js","names":[],"sources":["../../src/bigconsole/BigConsoleRoutes.tsx"],"sourcesContent":["import { lazy, Suspense, memo, useState, useMemo, useEffect, useRef } from 'react';\nimport { Route, Routes, Navigate, useParams } from 'react-router';\nimport { type BigConsoleRootProps } from './types';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { useUnsavedChanges } from '@burdenoff/fe-libs/shared/hooks';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useApolloClient } from '@apollo/client/react';\nimport { useAppNavigate } from './contexts';\nimport { useWorkflowOperations } from './hooks/useWorkflowOperations';\nimport { GetWorkflowDocument } from '../generated/wspace-operations';\nimport { BOOTSTRAP_RETRY_DELAY_MS } from './constants';\nimport { CREATE_WORKFLOW_STATE } from './workflowOpen';\nimport { WorkflowOpenGuard } from './components/workflow/WorkflowOpenGuard';\n\n// Import FluidGrids SDK workflow components (EXACT same as microfe-workflows)\nimport {\n WorkflowBuilderPage as FluidGridsWorkflowBuilderPage,\n ExecutionsListPage,\n ExecutionDetailPage,\n HistoryPage,\n TemplatesPage,\n NodesPage,\n SettingsPage as WorkflowSettingsPage,\n} from '@burdenoff/fluidgrids-fe-sdk';\n\n/**\n * The embedded FluidGrids workflow builder, with a FAIL-CLOSED leave-guard registration.\n *\n * The SDK builder cannot report unsaved state (no dirty tracking in fluidgrids-fe-sdk), and an empty\n * `listUnsavedChanges()` means \"nothing is unsaved\" to the assistant, so a half-built graph would be\n * dropped by an assistant-initiated move. While this is mounted the builder is therefore always\n * reported as holding unsaved work. Only assistant-initiated moves are refused (typed or spoken\n * go-to, \"yes\"); a tap on \"Open page\" and a sidebar click always work. This can over-refuse after a\n * save; real tracking belongs in fluidgrids-fe-sdk (follow-up).\n */\nconst SDKWorkflowBuilderPage = memo(function SDKWorkflowBuilderPage() {\n const { t } = useI18n();\n useUnsavedChanges({\n id: 'workflow-editor',\n label: t('bigconsole.assistant.unsaved.workflowEditor', 'the workflow editor'),\n dirty: true,\n });\n return <FluidGridsWorkflowBuilderPage />;\n});\n\n// Lazy-loaded pages\nconst OverviewPage = lazy(() => import('./pages/OverviewPage'));\nconst DashboardsPage = lazy(() => import('./pages/DashboardsPage'));\nconst DashboardViewPage = lazy(() => import('./pages/DashboardViewPage'));\nconst DashboardBuilderPage = lazy(() => import('./pages/DashboardBuilderPage'));\nconst DataSourcesPage = lazy(() => import('./pages/DataSourcesPage'));\nconst InsightsPage = lazy(() => import('./pages/InsightsPage'));\nconst SettingsPage = lazy(() => import('./pages/SettingsPage'));\nconst WidgetDemoPage = lazy(() => import('./pages/WidgetDemoPage'));\n// BigConsole-native workflow pages (query bigconsole-svc, not workflow-svc)\n// These use named exports (no default export), so we remap via .then()\nconst WorkflowsPage = lazy(() => import('./pages/WorkflowsPage').then((m) => ({ default: m.WorkflowsPage })));\nconst WorkflowViewPage = lazy(() => import('./pages/WorkflowViewPage').then((m) => ({ default: m.WorkflowViewPage })));\n// DataSink Pages\nconst DataSinksPage = lazy(() => import('./pages/DataSinksPage'));\nconst DataSinkViewPage = lazy(() => import('./pages/DataSinkViewPage'));\nconst DataSinkAlertsPage = lazy(() => import('./pages/DataSinkAlertsPage'));\nconst DataSinkBuilderPage = lazy(() => import('./pages/DataSinkBuilderPage'));\n// Parser Pages\nconst DataParsersPage = lazy(() => import('./pages/DataParsersPage'));\nconst ParserViewPage = lazy(() => import('./pages/ParserViewPage'));\nconst ParserBuilderPage = lazy(() => import('./pages/ParserBuilderPage'));\n// Pipeline Pages\nconst PipelinesPage = lazy(() => import('./pages/PipelinesPage'));\nconst PipelineViewPage = lazy(() => import('./pages/PipelineViewPage'));\nconst PipelineBuilderPage = lazy(() => import('./pages/PipelineBuilderPage'));\n\n// Loading fallback component\nfunction PageLoader() {\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <Spinner className=\"h-8 w-8\" />\n </div>\n );\n}\n\n/**\n * Generate a new workflow builder path with a fresh UUID key.\n *\n * Navigate to it with `NEW_WORKFLOW_NAV` (router state): opening a builder path\n * only creates a definition when the navigation says it is an explicit \"new\n * workflow\" — a bare link to an unknown key shows a not-found state (BOFF-8060).\n */\nexport const newWorkflowPath = () => `/workflows/workflow/${crypto.randomUUID()}/v1`;\n\n/**\n * Redirect /workflows/new to a UUID-based URL.\n * Uses <Navigate> for synchronous redirect (no blank frame).\n */\nfunction WorkflowNewRedirect() {\n const path = useMemo(() => newWorkflowPath(), []);\n return <Navigate to={path} replace state={CREATE_WORKFLOW_STATE} />;\n}\n\n/**\n * Bridge component: resolves a BigConsole workflow ID to its externalWorkflowId\n * and navigates to the SDK's visual builder route.\n *\n * Route: /workflows/:workflowId/edit\n * Redirects to: /workflows/workflow/{workflowKey}/v1\n */\nconst WorkflowEditBridge = memo(function WorkflowEditBridge() {\n const { workflowId } = useParams<{ workflowId: string }>();\n const navigate = useAppNavigate();\n const { fetchWorkflow } = useWorkflowOperations({ skipFetch: true });\n const [error, setError] = useState<string | null>(null);\n const retryCount = useRef(0);\n\n useEffect(() => {\n if (!workflowId) {\n setError('No workflow ID provided');\n return;\n }\n\n // Reset retry budget and error when workflowId changes so a\n // previous failed attempt doesn't consume the new workflow's retry.\n retryCount.current = 0;\n setError(null);\n let cancelled = false;\n\n const handleResult = (workflow: Awaited<ReturnType<typeof fetchWorkflow>>) => {\n if (cancelled) return;\n\n if (workflow?.key) {\n // Navigate to the SDK builder route using the workflow key (e.g. \"github_user_profile\")\n // and default version \"v1\". The FluidGrids SDK fetches the definition by workflowKey.\n // Replace history so the bridge doesn't trap the back button.\n navigate(`/workflows/workflow/${workflow.key}/v1`, { replace: true });\n } else if (workflow) {\n // Workflow exists but has no key — open SDK builder in create mode\n navigate(`/workflows/builder`, { replace: true });\n } else if (retryCount.current < 1) {\n // On full-page loads the auth/workspace context may not be bootstrapped yet,\n // causing a false null. Retry once after a short delay (same pattern as WorkflowViewPage).\n retryCount.current += 1;\n setTimeout(() => {\n if (!cancelled) {\n fetchWorkflow(workflowId)\n .then(handleResult)\n .catch((err) => {\n if (!cancelled) setError(err?.message ?? 'Failed to load workflow');\n });\n }\n }, BOOTSTRAP_RETRY_DELAY_MS);\n } else {\n setError('Workflow not found');\n }\n };\n\n fetchWorkflow(workflowId)\n .then(handleResult)\n .catch((err) => {\n if (!cancelled) setError(err?.message ?? 'Failed to load workflow');\n });\n\n return () => {\n cancelled = true;\n };\n }, [workflowId, fetchWorkflow, navigate]);\n\n if (error) {\n return (\n <div className=\"p-6 flex flex-col items-center justify-center min-h-[400px] text-center gap-4\">\n <p className=\"text-sm text-text-secondary\">{error}</p>\n <button\n type=\"button\"\n onClick={() => navigate('/workflows')}\n className=\"px-4 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors\"\n >\n Back to Workflows\n </button>\n </div>\n );\n }\n\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <Spinner className=\"h-8 w-8\" />\n </div>\n );\n});\n\n/**\n * Matches a canonical v4-style UUID. BigConsole workflow RECORD ids are UUIDs;\n * workflow KEYS are human slugs (e.g. \"users_analytics\"). New-workflow URLs also\n * use a fresh `crypto.randomUUID()` as the builder key. We only attempt record\n * resolution for UUID-shaped `:id`s — slugs are always real keys and skip the\n * lookup entirely (no extra round-trip, no spinner flash).\n */\nconst UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\n/** Minimal shape of the GetWorkflow query — the resolver only needs the key. */\ntype WorkflowKeyLookup = { workflow: { key: string | null } | null };\n\n/**\n * Guards the SDK visual builder route.\n *\n * The SDK builder loads its definition from workflow-svc using the URL `:id` as\n * the `workflowKey`. That only works when `:id` is the workflow KEY. When a\n * BigConsole workflow RECORD id (a UUID) reaches the builder — via the SDK\n * card's `navigate(\"../workflow/\" + workflow.workflow_key + ...)`, a bookmarked\n * record-id URL, etc. — no definition matches that key, so the canvas is empty\n * AND the SDK silently creates a phantom 0-node definition keyed by the UUID.\n *\n * This resolver closes that gap centrally (the same id→key resolution the\n * `/workflows/:workflowId/edit` `WorkflowEditBridge` does, but applied to the\n * builder route itself so EVERY entry point is covered):\n * - `:id` is a slug → it's already a key → render the builder as-is.\n * - `:id` is a UUID that maps to a BigConsole record with a different key →\n * redirect to `/workflows/workflow/<key>/<version>`.\n * - `:id` is a UUID that is NOT a record → still goes through\n * `WorkflowOpenGuard`: it opens in create mode only for an explicit \"new\n * workflow\" navigation (`NEW_WORKFLOW_NAV`); a bare link to an unknown id\n * shows a not-found state and creates nothing (BOFF-8060 F2).\n * - A slug key is checked by the same guard before the builder mounts.\n */\nconst WorkflowBuilderResolver = memo(function WorkflowBuilderResolver() {\n const { id, version } = useParams<{ id: string; version: string }>();\n const navigate = useAppNavigate();\n const client = useApolloClient();\n // Slugs (real keys) render the builder immediately (derived below); only\n // UUID-shaped ids need a record lookup first.\n const isUuid = !!id && UUID_RE.test(id);\n // A UUID is only safe to open in the SDK builder once the lookup POSITIVELY\n // confirms it is not a BigConsole record (a clean not-found — e.g. a fresh\n // new-workflow id). Both verdicts are keyed by the id they describe so that\n // navigating between workflows re-resolves instead of reusing a stale answer.\n const [confirmedAbsentId, setConfirmedAbsentId] = useState<string | null>(null);\n const [failedId, setFailedId] = useState<string | null>(null);\n // Bumped by the \"Try again\" button to re-run the lookup effect after a failure.\n const [retryNonce, setRetryNonce] = useState(0);\n const retryCount = useRef(0);\n\n useEffect(() => {\n if (!id || !isUuid) return;\n\n retryCount.current = 0;\n let cancelled = false;\n const targetVersion = version ?? 'v1';\n\n const attempt = () => {\n // Query directly (not via fetchWorkflow, which swallows Apollo errors and\n // returns null) so we can tell a genuine \"no such record\" apart from a\n // transient lookup failure. Treating a failure as not-found would re-open\n // the builder with the record id and recreate a phantom 0-node definition.\n client\n .query<WorkflowKeyLookup>({\n query: GetWorkflowDocument,\n variables: { id },\n fetchPolicy: 'network-only',\n })\n .then((result) => {\n if (cancelled) return;\n const record = result.data?.workflow;\n if (record) {\n // The UUID IS a BigConsole record.\n if (record.key && record.key !== id) {\n // Open the builder under its real key (where the definition + nodes\n // live). encodeURIComponent guards against URL-unsafe key chars.\n // Replace history so the resolver doesn't trap the back button.\n navigate(`/workflows/workflow/${encodeURIComponent(record.key)}/${targetVersion}`, {\n replace: true,\n });\n } else {\n // Record exists but has no usable key — open a blank builder rather\n // than reusing the record UUID as the key (which would phantom).\n navigate('/workflows/builder', { replace: true });\n }\n } else {\n // Query succeeded with no record → a genuine new-workflow id.\n setConfirmedAbsentId(id);\n }\n })\n .catch(() => {\n if (cancelled) return;\n if (retryCount.current < 1) {\n // On a cold full-page load the auth/workspace context may not be\n // bootstrapped yet. Retry once before giving up.\n retryCount.current += 1;\n setTimeout(() => {\n if (!cancelled) attempt();\n }, BOOTSTRAP_RETRY_DELAY_MS);\n } else {\n // Lookup failed — do NOT assume create mode (the id may be a record);\n // surface a retry instead of risking a phantom definition.\n setFailedId(id);\n }\n });\n };\n\n attempt();\n\n return () => {\n cancelled = true;\n };\n }, [id, isUuid, version, client, navigate, retryNonce]);\n\n // Slug keys, and UUIDs confirmed not to be records, reach the builder ONLY\n // through the open guard: the SDK builder creates a definition for an unknown\n // key on mount, so a key must be proven to exist (or the navigation must be\n // an explicit \"new workflow\") before it mounts. Never create on open.\n if (!isUuid || confirmedAbsentId === id) {\n return (\n <WorkflowOpenGuard workflowKey={id ?? ''}>\n <SDKWorkflowBuilderPage />\n </WorkflowOpenGuard>\n );\n }\n\n // A lookup that ultimately failed: surface a retry rather than silently\n // opening the builder with what may be a record id.\n if (failedId === id) {\n return (\n <div className=\"p-6 flex flex-col items-center justify-center min-h-[400px] text-center gap-4\">\n <p className=\"text-sm text-text-secondary\">Couldn't load this workflow. Please try again.</p>\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={() => {\n setFailedId(null);\n setRetryNonce((n) => n + 1);\n }}\n className=\"px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors\"\n >\n Try again\n </button>\n <button\n type=\"button\"\n onClick={() => navigate('/workflows')}\n className=\"px-4 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors\"\n >\n Back to Workflows\n </button>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <Spinner className=\"h-8 w-8\" />\n </div>\n );\n});\n\nexport function BigConsoleRoutes(props: BigConsoleRootProps) {\n if (props.routePage === 'workflow-feeds')\n return (\n <Suspense fallback={<PageLoader />}>\n <WorkflowsPage />\n </Suspense>\n );\n if (props.routePage === 'workflow-detail')\n return (\n <Suspense fallback={<PageLoader />}>\n <WorkflowViewPage />\n </Suspense>\n );\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route path=\"/\" element={<OverviewPage />} />\n <Route path=\"/dashboards\" element={<DashboardsPage />} />\n <Route path=\"/dashboards/:dashboardId\" element={<DashboardViewPage />} />\n <Route path=\"/dashboards/:dashboardId/builder\" element={<DashboardBuilderPage />} />\n <Route path=\"/datasources\" element={<DataSourcesPage />} />\n <Route path=\"/insights\" element={<InsightsPage />} />\n <Route path=\"/settings\" element={<SettingsPage />} />\n <Route path=\"/widgets/demo\" element={<WidgetDemoPage />} />\n {/* DataSink Routes */}\n <Route path=\"/datasinks\" element={<DataSinksPage />} />\n <Route path=\"/datasinks/new\" element={<DataSinkBuilderPage />} />\n <Route path=\"/datasinks/:dataSinkId\" element={<DataSinkViewPage />} />\n <Route path=\"/datasinks/:dataSinkId/edit\" element={<DataSinkBuilderPage />} />\n <Route path=\"/datasinks/:dataSinkId/alerts\" element={<DataSinkAlertsPage />} />\n {/* Parser Routes */}\n <Route path=\"/parsers\" element={<DataParsersPage />} />\n <Route path=\"/parsers/new\" element={<ParserBuilderPage />} />\n <Route path=\"/parsers/:parserId\" element={<ParserViewPage />} />\n <Route path=\"/parsers/:parserId/edit\" element={<ParserBuilderPage />} />\n {/* Dashboard-scoped Parser Routes */}\n <Route path=\"/dashboards/:consoleId/parsers\" element={<DataParsersPage />} />\n <Route path=\"/dashboards/:consoleId/parsers/new\" element={<ParserBuilderPage />} />\n <Route path=\"/dashboards/:consoleId/parsers/:parserId\" element={<ParserViewPage />} />\n <Route path=\"/dashboards/:consoleId/parsers/:parserId/edit\" element={<ParserBuilderPage />} />\n {/* Workflow Routes — list/view use BigConsole-native pages (query bigconsole-svc).\n All static routes are grouped before the dynamic :workflowId catch-all.\n React Router v6 prioritizes static segments regardless of declaration order,\n but keeping them above the param routes makes intent unambiguous for maintainers. */}\n <Route path=\"/workflows\" element={<WorkflowsPage />} />\n <Route path=\"/workflows/feeds\" element={<WorkflowsPage />} />\n <Route path=\"/workflows/details/:workflowId\" element={<WorkflowViewPage />} />\n <Route path=\"/workflows/list\" element={<WorkflowsPage />} />\n {/* New workflow — redirect to UUID-based URL (matches FluidGrids pattern) */}\n <Route path=\"/workflows/new\" element={<WorkflowNewRedirect />} />\n {/* SDK visual workflow builder — design existing workflows */}\n <Route path=\"/workflows/builder\" element={<SDKWorkflowBuilderPage />} />\n {/* All parameterised builder routes go through WorkflowBuilderResolver so a\n record-id `:id` is resolved to its workflow key first (slugs/new-workflow\n UUIDs pass straight through); otherwise the SDK opens an empty canvas and\n creates a phantom 0-node definition keyed by the record id. */}\n <Route path=\"/workflows/builder/:id/:version\" element={<WorkflowBuilderResolver />} />\n <Route path=\"/workflows/workflow/:id/:version\" element={<WorkflowBuilderResolver />} />\n {/* SDK sub-pages (runs, history, templates, nodes, settings) */}\n <Route path=\"/workflows/runs\" element={<ExecutionsListPage />} />\n <Route path=\"/workflows/runs/:runId\" element={<ExecutionDetailPage />} />\n <Route path=\"/workflows/history\" element={<HistoryPage />} />\n <Route path=\"/workflows/templates\" element={<TemplatesPage />} />\n <Route path=\"/workflows/nodes\" element={<NodesPage />} />\n <Route path=\"/workflows/settings\" element={<WorkflowSettingsPage />} />\n {/* Dynamic routes — :workflowId catch-all AFTER all static segments */}\n <Route path=\"/workflows/:workflowId\" element={<WorkflowViewPage />} />\n <Route path=\"/workflows/:workflowId/edit\" element={<WorkflowEditBridge />} />\n {/* Support SDK's navigation pattern (without /workflows/ prefix) — also\n resolves record-id → key via WorkflowBuilderResolver. */}\n <Route path=\"/workflow/:id/:version\" element={<WorkflowBuilderResolver />} />\n {/* Redirect /list to /workflows/list (SDK uses relative navigation) */}\n <Route path=\"/list\" element={<Navigate to=\"/bigconsole/workflows/list\" replace />} />\n {/* Pipeline Routes */}\n <Route path=\"/pipelines\" element={<PipelinesPage />} />\n <Route path=\"/pipelines/new\" element={<PipelineBuilderPage />} />\n <Route path=\"/pipelines/:pipelineId\" element={<PipelineViewPage />} />\n <Route path=\"/pipelines/:pipelineId/edit\" element={<PipelineBuilderPage />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAmCA,IAAM,IAAyB,EAAK,WAAkC;CACpE,IAAM,EAAE,SAAM,GAAS;AAMvB,QALA,EAAkB;EAChB,IAAI;EACJ,OAAO,EAAE,+CAA+C,sBAAsB;EAC9E,OAAO;EACR,CAAC,EACK,kBAAC,GAAD,EAAiC,CAAA;EACxC,EAGI,IAAe,QAAW,OAAO,2BAAwB,EACzD,IAAiB,QAAW,OAAO,6BAA0B,EAC7D,IAAoB,QAAW,OAAO,gCAA6B,EACnE,KAAuB,QAAW,OAAO,mCAAgC,EACzE,IAAkB,QAAW,OAAO,8BAA2B,EAC/D,IAAe,QAAW,OAAO,2BAAwB,EACzD,IAAe,QAAW,OAAO,2BAAwB,EACzD,IAAiB,QAAW,OAAO,6BAA0B,EAG7D,IAAgB,QAAW,OAAO,4BAAyB,MAAM,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,EACvG,IAAmB,QAAW,OAAO,+BAA4B,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAEhH,IAAgB,QAAW,OAAO,4BAAyB,EAC3D,IAAmB,QAAW,OAAO,+BAA4B,EACjE,IAAqB,QAAW,OAAO,iCAA8B,EACrE,IAAsB,QAAW,OAAO,kCAA+B,EAEvE,IAAkB,QAAW,OAAO,8BAA2B,EAC/D,IAAiB,QAAW,OAAO,6BAA0B,EAC7D,IAAoB,QAAW,OAAO,gCAA6B,EAEnE,IAAgB,QAAW,OAAO,4BAAyB,EAC3D,IAAmB,QAAW,OAAO,+BAA4B,EACjE,IAAsB,QAAW,OAAO,kCAA+B;AAG7E,SAAS,IAAa;AACpB,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD,EAAS,WAAU,WAAY,CAAA;EAC3B,CAAA;;AAWV,IAAa,UAAwB,uBAAuB,OAAO,YAAY,CAAC;AAMhF,SAAS,IAAsB;AAE7B,QAAO,kBAAC,GAAD;EAAU,IADJ,QAAc,GAAiB,EAAE,EAAE,CAAC;EACtB,SAAA;EAAQ,OAAO;EAAyB,CAAA;;AAUrE,IAAM,KAAqB,EAAK,WAA8B;CAC5D,IAAM,EAAE,kBAAe,GAAmC,EACpD,IAAW,GAAgB,EAC3B,EAAE,qBAAkB,EAAsB,EAAE,WAAW,IAAM,CAAC,EAC9D,CAAC,GAAO,KAAY,EAAwB,KAAK,EACjD,IAAa,EAAO,EAAE;AAqE5B,QAnEA,QAAgB;AACd,MAAI,CAAC,GAAY;AACf,KAAS,0BAA0B;AACnC;;AAMF,EADA,EAAW,UAAU,GACrB,EAAS,KAAK;EACd,IAAI,IAAY,IAEV,KAAgB,MAAwD;AACxE,SAEA,GAAU,MAIZ,EAAS,uBAAuB,EAAS,IAAI,MAAM,EAAE,SAAS,IAAM,CAAC,GAC5D,IAET,EAAS,sBAAsB,EAAE,SAAS,IAAM,CAAC,GACxC,EAAW,UAAU,KAG9B,EAAW,WAAW,GACtB,iBAAiB;AACf,IAAK,KACH,EAAc,EAAW,CACtB,KAAK,EAAa,CAClB,OAAO,MAAQ;AACd,KAAK,KAAW,EAAS,GAAK,WAAW,0BAA0B;MACnE;MAEL,EAAyB,IAE5B,EAAS,qBAAqB;;AAUlC,SANA,EAAc,EAAW,CACtB,KAAK,EAAa,CAClB,OAAO,MAAQ;AACd,GAAK,KAAW,EAAS,GAAK,WAAW,0BAA0B;IACnE,QAES;AACX,OAAY;;IAEb;EAAC;EAAY;EAAe;EAAS,CAAC,EAErC,IAEA,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,KAAD;GAAG,WAAU;aAA+B;GAAU,CAAA,EACtD,kBAAC,UAAD;GACE,MAAK;GACL,eAAe,EAAS,aAAa;GACrC,WAAU;aACX;GAEQ,CAAA,CACL;MAKR,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD,EAAS,WAAU,WAAY,CAAA;EAC3B,CAAA;EAER,EASI,KAAU,8EA2BV,IAA0B,EAAK,WAAmC;CACtE,IAAM,EAAE,OAAI,eAAY,GAA4C,EAC9D,IAAW,GAAgB,EAC3B,IAAS,GAAiB,EAG1B,IAAS,CAAC,CAAC,KAAM,GAAQ,KAAK,EAAG,EAKjC,CAAC,GAAmB,KAAwB,EAAwB,KAAK,EACzE,CAAC,GAAU,KAAe,EAAwB,KAAK,EAEvD,CAAC,GAAY,KAAiB,EAAS,EAAE,EACzC,IAAa,EAAO,EAAE;AA2G5B,QAzGA,QAAgB;AACd,MAAI,CAAC,KAAM,CAAC,EAAQ;AAEpB,IAAW,UAAU;EACrB,IAAI,IAAY,IACV,IAAgB,KAAW,MAE3B,UAAgB;AAKpB,KACG,MAAyB;IACxB,OAAO;IACP,WAAW,EAAE,OAAI;IACjB,aAAa;IACd,CAAC,CACD,MAAM,MAAW;AAChB,QAAI,EAAW;IACf,IAAM,IAAS,EAAO,MAAM;AAC5B,IAAI,IAEE,EAAO,OAAO,EAAO,QAAQ,IAI/B,EAAS,uBAAuB,mBAAmB,EAAO,IAAI,CAAC,GAAG,KAAiB,EACjF,SAAS,IACV,CAAC,GAIF,EAAS,sBAAsB,EAAE,SAAS,IAAM,CAAC,GAInD,EAAqB,EAAG;KAE1B,CACD,YAAY;AACP,UACA,EAAW,UAAU,KAGvB,EAAW,WAAW,GACtB,iBAAiB;AACf,KAAK,KAAW,GAAS;OACxB,EAAyB,IAI5B,EAAY,EAAG;KAEjB;;AAKN,SAFA,GAAS,QAEI;AACX,OAAY;;IAEb;EAAC;EAAI;EAAQ;EAAS;EAAQ;EAAU;EAAW,CAAC,EAMnD,CAAC,KAAU,MAAsB,IAEjC,kBAAC,GAAD;EAAmB,aAAa,KAAM;YACpC,kBAAC,GAAD,EAA0B,CAAA;EACR,CAAA,GAMpB,MAAa,IAEb,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,KAAD;GAAG,WAAU;aAA8B;GAAuD,CAAA,EAClG,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,UAAD;IACE,MAAK;IACL,eAAe;AAEb,KADA,EAAY,KAAK,EACjB,GAAe,MAAM,IAAI,EAAE;;IAE7B,WAAU;cACX;IAEQ,CAAA,EACT,kBAAC,UAAD;IACE,MAAK;IACL,eAAe,EAAS,aAAa;IACrC,WAAU;cACX;IAEQ,CAAA,CACL;KACF;MAKR,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD,EAAS,WAAU,WAAY,CAAA;EAC3B,CAAA;EAER;AAEF,SAAgB,GAAiB,GAA4B;AAa3D,QAZI,EAAM,cAAc,mBAEpB,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAAc,CAAA;YAChC,kBAAC,GAAD,EAAiB,CAAA;EACR,CAAA,GAEX,EAAM,cAAc,oBAEpB,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAAc,CAAA;YAChC,kBAAC,GAAD,EAAoB,CAAA;EACX,CAAA,GAGb,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAAc,CAAA;YAChC,kBAAC,GAAD,EAAA,UAAA;GACE,kBAAC,GAAD;IAAO,MAAK;IAAI,SAAS,kBAAC,GAAD,EAAgB,CAAA;IAAI,CAAA;GAC7C,kBAAC,GAAD;IAAO,MAAK;IAAc,SAAS,kBAAC,GAAD,EAAkB,CAAA;IAAI,CAAA;GACzD,kBAAC,GAAD;IAAO,MAAK;IAA2B,SAAS,kBAAC,GAAD,EAAqB,CAAA;IAAI,CAAA;GACzE,kBAAC,GAAD;IAAO,MAAK;IAAmC,SAAS,kBAAC,IAAD,EAAwB,CAAA;IAAI,CAAA;GACpF,kBAAC,GAAD;IAAO,MAAK;IAAe,SAAS,kBAAC,GAAD,EAAmB,CAAA;IAAI,CAAA;GAC3D,kBAAC,GAAD;IAAO,MAAK;IAAY,SAAS,kBAAC,GAAD,EAAgB,CAAA;IAAI,CAAA;GACrD,kBAAC,GAAD;IAAO,MAAK;IAAY,SAAS,kBAAC,GAAD,EAAgB,CAAA;IAAI,CAAA;GACrD,kBAAC,GAAD;IAAO,MAAK;IAAgB,SAAS,kBAAC,GAAD,EAAkB,CAAA;IAAI,CAAA;GAE3D,kBAAC,GAAD;IAAO,MAAK;IAAa,SAAS,kBAAC,GAAD,EAAiB,CAAA;IAAI,CAAA;GACvD,kBAAC,GAAD;IAAO,MAAK;IAAiB,SAAS,kBAAC,GAAD,EAAuB,CAAA;IAAI,CAAA;GACjE,kBAAC,GAAD;IAAO,MAAK;IAAyB,SAAS,kBAAC,GAAD,EAAoB,CAAA;IAAI,CAAA;GACtE,kBAAC,GAAD;IAAO,MAAK;IAA8B,SAAS,kBAAC,GAAD,EAAuB,CAAA;IAAI,CAAA;GAC9E,kBAAC,GAAD;IAAO,MAAK;IAAgC,SAAS,kBAAC,GAAD,EAAsB,CAAA;IAAI,CAAA;GAE/E,kBAAC,GAAD;IAAO,MAAK;IAAW,SAAS,kBAAC,GAAD,EAAmB,CAAA;IAAI,CAAA;GACvD,kBAAC,GAAD;IAAO,MAAK;IAAe,SAAS,kBAAC,GAAD,EAAqB,CAAA;IAAI,CAAA;GAC7D,kBAAC,GAAD;IAAO,MAAK;IAAqB,SAAS,kBAAC,GAAD,EAAkB,CAAA;IAAI,CAAA;GAChE,kBAAC,GAAD;IAAO,MAAK;IAA0B,SAAS,kBAAC,GAAD,EAAqB,CAAA;IAAI,CAAA;GAExE,kBAAC,GAAD;IAAO,MAAK;IAAiC,SAAS,kBAAC,GAAD,EAAmB,CAAA;IAAI,CAAA;GAC7E,kBAAC,GAAD;IAAO,MAAK;IAAqC,SAAS,kBAAC,GAAD,EAAqB,CAAA;IAAI,CAAA;GACnF,kBAAC,GAAD;IAAO,MAAK;IAA2C,SAAS,kBAAC,GAAD,EAAkB,CAAA;IAAI,CAAA;GACtF,kBAAC,GAAD;IAAO,MAAK;IAAgD,SAAS,kBAAC,GAAD,EAAqB,CAAA;IAAI,CAAA;GAK9F,kBAAC,GAAD;IAAO,MAAK;IAAa,SAAS,kBAAC,GAAD,EAAiB,CAAA;IAAI,CAAA;GACvD,kBAAC,GAAD;IAAO,MAAK;IAAmB,SAAS,kBAAC,GAAD,EAAiB,CAAA;IAAI,CAAA;GAC7D,kBAAC,GAAD;IAAO,MAAK;IAAiC,SAAS,kBAAC,GAAD,EAAoB,CAAA;IAAI,CAAA;GAC9E,kBAAC,GAAD;IAAO,MAAK;IAAkB,SAAS,kBAAC,GAAD,EAAiB,CAAA;IAAI,CAAA;GAE5D,kBAAC,GAAD;IAAO,MAAK;IAAiB,SAAS,kBAAC,GAAD,EAAuB,CAAA;IAAI,CAAA;GAEjE,kBAAC,GAAD;IAAO,MAAK;IAAqB,SAAS,kBAAC,GAAD,EAA0B,CAAA;IAAI,CAAA;GAKxE,kBAAC,GAAD;IAAO,MAAK;IAAkC,SAAS,kBAAC,GAAD,EAA2B,CAAA;IAAI,CAAA;GACtF,kBAAC,GAAD;IAAO,MAAK;IAAmC,SAAS,kBAAC,GAAD,EAA2B,CAAA;IAAI,CAAA;GAEvF,kBAAC,GAAD;IAAO,MAAK;IAAkB,SAAS,kBAAC,GAAD,EAAsB,CAAA;IAAI,CAAA;GACjE,kBAAC,GAAD;IAAO,MAAK;IAAyB,SAAS,kBAAC,GAAD,EAAuB,CAAA;IAAI,CAAA;GACzE,kBAAC,GAAD;IAAO,MAAK;IAAqB,SAAS,kBAAC,GAAD,EAAe,CAAA;IAAI,CAAA;GAC7D,kBAAC,GAAD;IAAO,MAAK;IAAuB,SAAS,kBAAC,GAAD,EAAiB,CAAA;IAAI,CAAA;GACjE,kBAAC,GAAD;IAAO,MAAK;IAAmB,SAAS,kBAAC,GAAD,EAAa,CAAA;IAAI,CAAA;GACzD,kBAAC,GAAD;IAAO,MAAK;IAAsB,SAAS,kBAAC,GAAD,EAAwB,CAAA;IAAI,CAAA;GAEvE,kBAAC,GAAD;IAAO,MAAK;IAAyB,SAAS,kBAAC,GAAD,EAAoB,CAAA;IAAI,CAAA;GACtE,kBAAC,GAAD;IAAO,MAAK;IAA8B,SAAS,kBAAC,IAAD,EAAsB,CAAA;IAAI,CAAA;GAG7E,kBAAC,GAAD;IAAO,MAAK;IAAyB,SAAS,kBAAC,GAAD,EAA2B,CAAA;IAAI,CAAA;GAE7E,kBAAC,GAAD;IAAO,MAAK;IAAQ,SAAS,kBAAC,GAAD;KAAU,IAAG;KAA6B,SAAA;KAAU,CAAA;IAAI,CAAA;GAErF,kBAAC,GAAD;IAAO,MAAK;IAAa,SAAS,kBAAC,GAAD,EAAiB,CAAA;IAAI,CAAA;GACvD,kBAAC,GAAD;IAAO,MAAK;IAAiB,SAAS,kBAAC,GAAD,EAAuB,CAAA;IAAI,CAAA;GACjE,kBAAC,GAAD;IAAO,MAAK;IAAyB,SAAS,kBAAC,GAAD,EAAoB,CAAA;IAAI,CAAA;GACtE,kBAAC,GAAD;IAAO,MAAK;IAA8B,SAAS,kBAAC,GAAD,EAAuB,CAAA;IAAI,CAAA;GACvE,EAAA,CAAA;EACA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantApi.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/assistantApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantApi.js","names":[],"sources":["../../../src/bigconsole/assistant/assistantApi.ts"],"sourcesContent":["/**\n * AI Assistant API service for BigConsole.\n *\n * All requests go through the wspace-public-gateway (GraphQL Federation):\n * Frontend → wspace-public-gateway → wspace-sandbox-svc → ai-assistant (sandbox)\n *\n * This is a faithful port of microfe-vibecontrols' `services/assistantApi.ts`,\n * adapted for BigConsole: the only product-specific difference is\n * `AI_ASSISTANT_PRODUCT=bigconsole` in the sandbox container env (drives the\n * agent's per-product docs fetch + system prompt).\n */\n\nimport { print, type DocumentNode, Kind, type OperationDefinitionNode } from 'graphql';\nimport { graphqlFetch } from '@burdenoff/fe-libs/shared/graphql';\n// Deep import: images.js has no dependencies, so this does not pull the shared\n// assistant barrel into the consumer's chunk. fe-libs owns the registry (ECR\n// since the AWS cutover), the image tags, the auth strategy and the mode\n// resolution; this file used to carry byte-for-byte copies of them.\nimport {\n ASSISTANT_API_AUTH_STRATEGY,\n getImageForMode as getSharedImageForMode,\n getImageTagForMode as getSharedImageTagForMode,\n resolveSandboxAssistantMode,\n} from '@burdenoff/fe-libs/shared/assistant/images';\nimport type { AssistantMode, AssistantRawMessage, AssistantRawSession, AssistantSandboxAuthContext } from './types';\nimport type { PageContext } from './pageContext';\nimport { BIGCONSOLE_PRODUCT } from './product';\nimport {\n CreateSandboxDocument,\n GetSandboxDocument,\n GetReusableAssistantSandboxDocument,\n GetActiveSandboxesDocument,\n ProxySandboxRequestDocument,\n ExtendSandboxTtlDocument,\n} from '../../generated/wspace-operations';\n\n// ── Product, runtime and image ─────────────────────────────────────\n\n/**\n * The product this transport stamps on every assistant sandbox it creates\n * (`metadata.assistantProduct`) — the same key the shared fe-libs assistant\n * stamps for HealthyBowl and VibeControls, and FluidGrids stamps for itself — and\n * the ONLY product whose sandboxes it will reuse (BOFF-7331).\n *\n * ★ The VALUE now comes from `./product`, which is the one place the id is\n * spelled. This constant keeps its name because the stamp, the env var and the\n * reuse predicate below all read it — but a second literal spelled the same way\n * is exactly how `AI_ASSISTANT_PRODUCT` and `metadata.assistantProduct` drift\n * apart, and `assistantSeamWiring.test.ts` now forbids one.\n */\nexport const ASSISTANT_PRODUCT = BIGCONSOLE_PRODUCT;\n\nexport function isProdRuntime(): boolean {\n if (typeof window === 'undefined') {\n return import.meta.env.VITE_DEPLOY_ENV === 'prod' || import.meta.env.VITE_APP_ENV === 'prod';\n }\n const host = window.location.hostname.toLowerCase();\n return host === 'app.bigconsole.com';\n}\n\n/**\n * Image tag recorded on the sandbox. It is metadata only: the sandbox\n * cf-proxy's AiAssistant pin decides which image actually runs (plan decision\n * D9), so the tag is NOT used to pick a sandbox for reuse — see\n * `isReusableAssistantSandbox`.\n */\nexport function getImageTagForMode(mode: AssistantMode, isProd: boolean = isProdRuntime()): string {\n return getSharedImageTagForMode(mode, isProd);\n}\n\n/**\n * `assistant` reuses the api-calls image (mode is selected at runtime via\n * AI_ASSISTANT_MODE). The registry is fe-libs' — the Azure registry this used to\n * hardcode was decommissioned on 2026-08-15 and is not in wspace-sandbox-svc's\n * default ALLOWED_IMAGE_REGISTRIES.\n */\nexport function getImageForMode(mode: AssistantMode, isProd: boolean = isProdRuntime()): string {\n return getSharedImageForMode(mode, isProd);\n}\n\nfunction getResourcesForMode(mode: AssistantMode): {\n cpuRequest: string;\n cpuLimit: string;\n memoryRequest: string;\n memoryLimit: string;\n} {\n switch (mode) {\n case 'general':\n return {\n cpuRequest: '100m',\n cpuLimit: '500m',\n memoryRequest: '256Mi',\n memoryLimit: '1Gi',\n };\n case 'vibe-plugins':\n case 'assistant':\n case 'api-calls':\n return {\n cpuRequest: '150m',\n cpuLimit: '750m',\n memoryRequest: '384Mi',\n memoryLimit: '1536Mi',\n };\n }\n}\n\n// ── Types ───────────────────────────────────────────────────────────\n\ninterface ProxyResponse {\n proxySandboxRequest: {\n status: number;\n body: Record<string, unknown>;\n };\n}\n\nfunction getOperationName(document: DocumentNode): string | undefined {\n const operation = document.definitions.find(\n (definition): definition is OperationDefinitionNode => definition.kind === Kind.OPERATION_DEFINITION\n );\n return operation?.name?.value;\n}\n\nfunction buildAssistantRequestId(): string {\n try {\n return `bc-assistant-${crypto.randomUUID()}`;\n } catch {\n return `bc-assistant-${Date.now()}-${Math.random().toString(36).slice(2)}`;\n }\n}\n\nfunction buildSandboxContextInput(\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext\n): Record<string, unknown> {\n return {\n workspaceId,\n ...(authContext?.organizationId\n ? {\n custom: {\n organizationId: authContext.organizationId,\n },\n }\n : {}),\n };\n}\n\nasync function executeSandboxGraphQL<TData>(params: {\n document: DocumentNode;\n variables: Record<string, unknown>;\n workspaceId: string;\n authContext?: AssistantSandboxAuthContext;\n}): Promise<TData> {\n // Retry transient failures (network drops, CORS preflight rejections,\n // gateway 524s, etc.) with bounded exponential backoff. The browser\n // surfaces these as \"Failed to fetch\" via fetch() throwing TypeError\n // before the runtime can inspect the response — so the only signal we\n // have is the throw itself. Bounded retries mask the gateway's\n // occasional CORS preflight races without papering over hard failures\n // (unauth, validation) which the inner block below raises as typed\n // errors that bubble up to the assistant's existing `isRecoverable`\n // retry path.\n const maxRetries = 3;\n let lastError: unknown;\n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n return await executeSandboxGraphQLOnce<TData>(params);\n } catch (error) {\n lastError = error;\n const message = error instanceof Error ? error.message.toLowerCase() : String(error).toLowerCase();\n // Only retry on transient network-level failures. Let domain errors\n // (auth, validation, server 5xx with a body) bubble immediately so\n // the outer `isRecoverable` logic can decide whether to drop the\n // sandbox and try a clean runtime instead.\n const isTransient =\n message.includes('failed to fetch') ||\n message.includes('networkerror') ||\n message.includes('network request failed') ||\n message.includes('aborted') ||\n message.includes('load failed');\n if (!isTransient || attempt === maxRetries - 1) {\n throw error;\n }\n // 250ms, 500ms, 1000ms — bounded so we don't blow the 90s gateway\n // execution timeout on a stuck connection.\n const backoff = 250 * Math.pow(2, attempt);\n console.warn('[BigConsole-Assistant] executeSandboxGraphQL transient failure, retrying', {\n attempt: attempt + 1,\n maxRetries,\n backoffMs: backoff,\n error: error instanceof Error ? error.message : String(error),\n });\n await new Promise((resolve) => setTimeout(resolve, backoff));\n }\n }\n // Unreachable — the loop either returns or throws.\n throw lastError;\n}\n\nasync function executeSandboxGraphQLOnce<TData>(params: {\n document: DocumentNode;\n variables: Record<string, unknown>;\n workspaceId: string;\n authContext?: AssistantSandboxAuthContext;\n}): Promise<TData> {\n const operationName = getOperationName(params.document);\n const result = await graphqlFetch<TData>({\n gateway: 'workspace',\n query: print(params.document),\n variables: params.variables,\n operationName,\n authToken: params.authContext?.accessToken ?? undefined,\n // Critical: always opt into workspace-token auto-minting here instead of\n // passing through a cached token string from the shell. If we pass a stale\n // string, graphqlFetch validates it for the current workspace/project and\n // nulls it out, but it WILL NOT mint a replacement unless the caller used\n // `workspaceToken: true`. That exact behavior caused proxySandboxRequest\n // calls to fail with `Dual-token authentication failed` even though the\n // browser had a login session and the workspace context was known.\n workspaceToken: true,\n workspaceId: params.workspaceId,\n organizationId: params.authContext?.organizationId ?? true,\n suppressGlobalErrorEvent: true,\n // Give assistant calls a unique queue key so they never batch with the\n // dashboard's burst of background widget requests. This avoids mixing\n // long-lived assistant polls with unrelated queries in the shared\n // graphqlFetch batching queue.\n extraHeaders: {\n 'x-request-id': buildAssistantRequestId(),\n },\n });\n\n if (!result) {\n throw new Error('Sandbox GraphQL returned empty response');\n }\n\n if (result.errors?.length) {\n console.error('[BigConsole-Assistant] executeSandboxGraphQL errors', {\n operationName,\n errors: result.errors,\n });\n throw new Error(result.errors.map((error: { message: string }) => error.message).join(', '));\n }\n\n if (!result.data) {\n throw new Error('Sandbox GraphQL returned no data');\n }\n\n return result.data;\n}\n\n// ── Find existing sandbox for a mode ───────────────────────────────\n\nexport interface ActiveAssistantSandbox {\n id: string;\n name: string;\n status: string;\n metadata: Record<string, unknown> | null;\n template: string;\n createdBy: string;\n}\n\n/**\n * May this active sandbox be reused for `mode`?\n *\n * Every product's assistant runs as the same user in the same workspace, so\n * `getActiveSandboxes` returns HealthyBowl's, VibeControls' and FluidGrids'\n * assistant sandboxes too (BOFF-7331). Adopting one of those runs the wrong\n * product guide, and HB/VC `api-calls` sandboxes have CONFIRM_WRITES on, which\n * the legacy widget BigConsole mounts has no Approve UI for. So:\n * - the sandbox must be stamped `assistantProduct: 'bigconsole'`. Unstamped\n * sandboxes — every BigConsole sandbox created before this change — are NOT\n * reused: their product cannot be proven. They lapse on their 600s TTL.\n * - a sandbox recording `confirmWrites: true` is never reused, whoever\n * stamped it: it waits for approvals this widget cannot give.\n * - the image tag is NOT compared (D9). It never decided what runs.\n * - ownership FAILS CLOSED: with no `userId` nothing is reusable. fe-libs'\n * AuthTokenProvider starts with `userId` null, and a super_admin caller is\n * handed every sandbox in the workspace, so skipping the owner check when\n * the id is unknown would adopt another user's BigConsole sandbox. The\n * caller creates a fresh sandbox instead.\n */\nexport function isReusableAssistantSandbox(\n sandbox: ActiveAssistantSandbox,\n mode: AssistantMode,\n userId?: string | null\n): boolean {\n return (\n (sandbox.status === 'RUNNING' || sandbox.status === 'PROVISIONING' || sandbox.status === 'PENDING') &&\n sandbox.template === 'AI_BUILDER' &&\n resolveSandboxAssistantMode(sandbox) === mode &&\n !!userId &&\n sandbox.createdBy === userId &&\n sandbox.metadata?.authStrategy === ASSISTANT_API_AUTH_STRATEGY &&\n sandbox.metadata?.assistantProduct === ASSISTANT_PRODUCT &&\n sandbox.metadata?.confirmWrites !== true\n );\n}\n\n/**\n * May a sandbox id cached from an earlier page lifecycle (sessionStorage) be\n * adopted for `mode`?\n *\n * A cached id carries no proof of what it points at: a tab that adopted another\n * product's, an unstamped or another user's sandbox under an older build would\n * otherwise keep driving it. So the sandbox is fetched and held to exactly the\n * same predicate as a freshly listed one. A sandbox that no longer exists is not\n * reusable. Transport errors propagate; the caller treats them as \"not reusable\".\n */\nexport async function isCachedAssistantSandboxReusable(\n sandboxId: string,\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext\n): Promise<boolean> {\n // Checked before the call so a caller with no identity yet costs no round-trip.\n if (!authContext?.userId) return false;\n const data = await executeSandboxGraphQL<{ getSandbox: ActiveAssistantSandbox | null }>({\n document: GetReusableAssistantSandboxDocument,\n variables: { id: sandboxId, context: buildSandboxContextInput(workspaceId, authContext) },\n workspaceId,\n authContext,\n });\n const sandbox = data.getSandbox;\n return !!sandbox && sandbox.id === sandboxId && isReusableAssistantSandbox(sandbox, mode, authContext.userId);\n}\n\nexport async function findExistingSandbox(\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext\n): Promise<string | null> {\n const data = await executeSandboxGraphQL<{\n getActiveSandboxes: ActiveAssistantSandbox[];\n }>({\n document: GetActiveSandboxesDocument,\n variables: { context: buildSandboxContextInput(workspaceId, authContext) },\n workspaceId,\n authContext,\n });\n const sandboxes = data.getActiveSandboxes ?? [];\n\n return sandboxes.find((s) => isReusableAssistantSandbox(s, mode, authContext?.userId))?.id ?? null;\n}\n\n// ── Sandbox lifecycle ──────────────────────────────────────────────\n\nexport async function createAssistantSandbox(\n mode: AssistantMode,\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext\n): Promise<string> {\n const resources = getResourcesForMode(mode);\n const env = [\n { name: 'AI_ASSISTANT_MODE', value: mode },\n { name: 'HOSTNAME', value: '0.0.0.0' },\n { name: 'WORKSPACE_ID', value: workspaceId },\n // Product the user is in — drives the agent's dynamic per-product docs fetch\n // (the docs repo is `<product>-docs`) and personalizes its system prompt.\n // This package is the BigConsole MFE, so the product is bigconsole.\n { name: 'AI_ASSISTANT_PRODUCT', value: ASSISTANT_PRODUCT },\n ];\n // Resolved once so the image and its recorded tag can never disagree.\n const isProd = isProdRuntime();\n\n const data = await executeSandboxGraphQL<{ createSandbox: { id: string } }>({\n document: CreateSandboxDocument,\n variables: {\n input: {\n name: `ai-assistant-${mode}-${Date.now()}`,\n description: `AI Assistant sandbox (${mode} mode)`,\n template: 'AI_BUILDER',\n mode: 'DEPLOYMENT',\n containers: [\n {\n name: 'ai-assistant',\n image: getImageForMode(mode, isProd),\n // The agent (start-assistant.sh) binds :8080; the sandbox svc proxies\n // to this declared containerPort, so it MUST be 8080.\n ports: [{ containerPort: 8080, name: 'http' }],\n env,\n },\n ],\n resources: {\n cpuRequest: resources.cpuRequest,\n cpuLimit: resources.cpuLimit,\n memoryRequest: resources.memoryRequest,\n memoryLimit: resources.memoryLimit,\n },\n ttlSeconds: 600,\n metadata: {\n assistantMode: mode,\n // Product stamp: the reuse filter only adopts sandboxes carrying it.\n assistantProduct: ASSISTANT_PRODUCT,\n assistantOwnerUserId: authContext?.userId ?? null,\n assistantOrganizationId: authContext?.organizationId ?? null,\n authStrategy: ASSISTANT_API_AUTH_STRATEGY,\n imageTag: getImageTagForMode(mode, isProd),\n // Recorded explicitly (as fe-libs does): the legacy widget has no\n // Approve UI, so these sandboxes never run with\n // AI_ASSISTANT_CONFIRM_WRITES.\n confirmWrites: false,\n },\n context: buildSandboxContextInput(workspaceId, authContext),\n },\n },\n workspaceId,\n authContext,\n });\n\n if (!data?.createSandbox?.id) {\n throw new Error('createSandbox returned empty response');\n }\n return data.createSandbox.id;\n}\n\nexport async function waitForSandboxReady(\n sandboxId: string,\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext,\n maxWaitMs = 300_000\n): Promise<void> {\n const start = Date.now();\n while (Date.now() - start < maxWaitMs) {\n const data = await executeSandboxGraphQL<{\n getSandbox: { status?: string; errorMessage?: string } | null;\n }>({\n document: GetSandboxDocument,\n variables: { id: sandboxId, context: buildSandboxContextInput(workspaceId, authContext) },\n workspaceId,\n authContext,\n });\n const status = data?.getSandbox?.status;\n const errorMessage = data?.getSandbox?.errorMessage as string | undefined;\n if (status === 'RUNNING') return;\n if (status === 'FAILED' || status === 'STOPPED' || status === 'EXPIRED') {\n throw new Error(\n errorMessage ? `Sandbox ${status.toLowerCase()}: ${errorMessage}` : `Sandbox ${status.toLowerCase()}`\n );\n }\n await new Promise((r) => setTimeout(r, 2000));\n }\n throw new Error('Sandbox startup timed out');\n}\n\n// ── Proxy calls to ai-assistant (via gateway → sandbox-svc) ───────\n\nasync function proxyToSandbox(\n sandboxId: string,\n workspaceId: string,\n path: string,\n method: string,\n body?: unknown,\n authContext?: AssistantSandboxAuthContext\n): Promise<Record<string, unknown>> {\n console.log('[BigConsole-Assistant] proxyToSandbox REQUEST', {\n sandboxId,\n workspaceId,\n path,\n method,\n hasBody: !!body,\n });\n const result = await executeSandboxGraphQL<ProxyResponse>({\n document: ProxySandboxRequestDocument,\n variables: {\n input: {\n sandboxId,\n path,\n method,\n body,\n context: buildSandboxContextInput(workspaceId, authContext),\n },\n },\n workspaceId,\n authContext,\n });\n\n const proxyResult = result.proxySandboxRequest;\n console.log('[BigConsole-Assistant] proxyToSandbox RESPONSE', { sandboxId, path, status: proxyResult?.status });\n if (!proxyResult || proxyResult.status >= 400) {\n const errBody = proxyResult?.body as Record<string, unknown> | undefined;\n console.error('[BigConsole-Assistant] proxyToSandbox ERROR', {\n sandboxId,\n path,\n status: proxyResult?.status,\n errBody,\n });\n throw new Error((errBody?.error as string) ?? `Proxy error: ${proxyResult?.status ?? 'unknown'}`);\n }\n\n return proxyResult.body;\n}\n\nexport async function waitForAssistantServiceReady(\n sandboxId: string,\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext,\n maxWaitMs = 90_000\n): Promise<void> {\n const startedAt = Date.now();\n\n while (Date.now() - startedAt < maxWaitMs) {\n try {\n // Use the documented assistant API contract itself as the readiness\n // signal. The assistant image definitively supports POST /sessions,\n // whereas /health is an implementation assumption and has proven to hang\n // behind the Cloudflare sandbox proxy.\n await proxyToSandbox(sandboxId, workspaceId, '/sessions', 'POST', { mode }, authContext);\n return;\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n if (!/proxy error: 502|proxy error: 503|proxy error: 404|service not available|timeout/i.test(message)) {\n throw error;\n }\n }\n\n await new Promise((resolve) => setTimeout(resolve, 2000));\n }\n\n throw new Error('Assistant service did not become ready before timeout');\n}\n\n// ── Session management ─────────────────────────────────────────────\n\nexport async function createAssistantSession(\n sandboxId: string,\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext\n): Promise<{ sessionId: string }> {\n const body = await proxyToSandbox(sandboxId, workspaceId, '/sessions', 'POST', { mode }, authContext);\n const session = body.session as Record<string, unknown>;\n return { sessionId: session.id as string };\n}\n\n/**\n * All conversations held by this sandbox, newest first.\n *\n * The sandbox is the source of truth for the transcript, so the History list is\n * built from it rather than from anything we cache client-side — what the user\n * can reopen is exactly what the agent still has.\n */\nexport async function listAssistantSessions(\n sandboxId: string,\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext\n): Promise<AssistantRawSession[]> {\n const body = await proxyToSandbox(sandboxId, workspaceId, '/sessions', 'GET', undefined, authContext);\n const sessions = body.sessions;\n return Array.isArray(sessions) ? (sessions as AssistantRawSession[]) : [];\n}\n\nexport async function deleteAssistantSession(\n sandboxId: string,\n workspaceId: string,\n sessionId: string,\n authContext?: AssistantSandboxAuthContext\n): Promise<void> {\n await proxyToSandbox(sandboxId, workspaceId, `/sessions/${sessionId}`, 'DELETE', undefined, authContext);\n}\n\n// ── Send prompt ────────────────────────────────────────────────────\n\nexport async function sendAssistantPromptAsync(\n sandboxId: string,\n workspaceId: string,\n sessionId: string,\n prompt: string,\n mode: AssistantMode,\n pageContext?: PageContext,\n authContext?: AssistantSandboxAuthContext\n): Promise<void> {\n const requestBody = {\n mode,\n prompt,\n pageContext: pageContext ?? undefined,\n };\n\n await proxyToSandbox(sandboxId, workspaceId, `/sessions/${sessionId}/prompt-async`, 'POST', requestBody, authContext);\n}\n\nexport async function getAssistantMessages(\n sandboxId: string,\n workspaceId: string,\n sessionId: string,\n authContext?: AssistantSandboxAuthContext,\n limit = 50\n): Promise<AssistantRawMessage[]> {\n const body = await proxyToSandbox(\n sandboxId,\n workspaceId,\n `/sessions/${sessionId}/messages?limit=${limit}`,\n 'GET',\n undefined,\n authContext\n );\n\n return (body.messages as AssistantRawMessage[] | undefined) ?? [];\n}\n\n// ── TTL extension (keep the sandbox warm across the turn) ──────────\n\nexport async function extendAssistantSandboxTTL(\n sandboxId: string,\n workspaceId: string,\n additionalSeconds = 600,\n authContext?: AssistantSandboxAuthContext\n): Promise<void> {\n await executeSandboxGraphQL<{ extendSandboxTTL: { id: string } }>({\n document: ExtendSandboxTtlDocument,\n variables: {\n id: sandboxId,\n additionalSeconds,\n context: buildSandboxContextInput(workspaceId, authContext),\n },\n workspaceId,\n authContext,\n });\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantProduct.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/assistantProduct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAQjG;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,oBAAoB,EAoCxD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,EAAE,qBA+E/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAC/C,IAAI,CAAC,6BAA6B,EAAE,UAAU,GAAG,kBAAkB,GAAG,cAAc,CAAC,CACtF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,0BA+B1C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantProduct.js","names":[],"sources":["../../../src/bigconsole/assistant/assistantProduct.ts"],"sourcesContent":["/**\n * BigConsole's answers to the shared assistant's product seam, as one value.\n *\n * ★★ Every capability field on fe-libs' `AssistantProductProvider` is OPTIONAL,\n * and a missing one does not throw — it degrades SILENTLY. No `gatherPageContext`\n * sends every turn with no page context; no `buildPrompt` drops both the\n * confirm-before-mutate guardrail and the language directive; no\n * `storageFolders` starts a second folder beside the one holding every saved\n * attachment.\n *\n * So the value is typed `Required<…>` over the provider's own props: forgetting\n * a field, or fe-libs ADDING one, is a type error in this file rather than a\n * quiet regression in production.\n */\nimport type { LocalUiCommandOptions } from '@burdenoff/fe-libs/shared/assistant/localUiCommands';\nimport type { AssistantEntityRoute } from '@burdenoff/fe-libs/shared/assistant/uiActions/entityRoutes';\nimport type { AssistantProductProviderProps } from '@burdenoff/fe-libs/shared/assistant/product';\n\nimport { buildPromptForMode } from './assistantPrompt';\nimport { BIGCONSOLE_RECORD_ADAPTERS } from './recordAdapters';\nimport { BIGCONSOLE_ASSISTANT_MODES } from './modes';\nimport { describeCurrentPage, gatherPageContext } from './pageContext';\nimport { BIGCONSOLE_PRODUCT } from './product';\n\n/**\n * Where this product's assistant files land in the workspace file library.\n *\n * ★★ Capitalised as a DISPLAY name while the product id is `bigconsole`, which\n * is exactly why fe-libs cannot derive it: its fallback is\n * `/${product}/AI Assistant/…` → `/bigconsole/AI Assistant/…`.\n *\n * These strings become load-bearing the moment anything is saved. A wrong value\n * does not fail loudly — it quietly starts a SECOND folder beside the first and\n * orphans everything in the original. Today nothing can be orphaned: BigConsole's\n * legacy transport extracts uploaded files into the prompt and saves nothing to\n * the library, so no `/BigConsole/AI Assistant/*` path exists yet. That makes\n * this a free choice now and an expensive one the moment BC4 ships attachments.\n */\nexport const STORAGE_FOLDERS = {\n attachments: '/BigConsole/AI Assistant/Attachments',\n artifacts: '/BigConsole/AI Assistant/Artifacts',\n} as const;\n\n/**\n * The pages of ONE record that no sidebar entry names (BOFF-8060 N1b), so \"take me\n * there\" can open them from a link in the assistant's own reply.\n *\n * ★★ `exclude` lists the router's STATIC siblings of each `:id` segment\n * (`BigConsoleRoutes.tsx`): `datasinks/new` is the builder, not a data source.\n * `entityRoutes.test.ts` resolves every template through the real route table and\n * checks every static sibling against them, so the two lists cannot drift from the\n * router unnoticed.\n *\n * ★ A workflow's address is `workflows/workflow/<key>/<version>` (a slug key such\n * as `github_user_profile` or a UUID, plus `v1`); the version-less\n * `workflows/:workflowId` is a different page and is deliberately not declared.\n *\n * ★ `/integrations/connections` is the app shell's Connected Systems page, shown\n * to whoever can see the Integrations entry.\n */\nexport const ENTITY_ROUTES: readonly AssistantEntityRoute[] = [\n {\n id: 'bigconsole-datasink',\n pattern: '/bigconsole/datasinks/:id',\n params: { id: { kind: 'id', exclude: ['new'] } },\n visibleWith: 'bigconsole-datasinks',\n noun: { key: 'entity.datasink', fallback: 'data source' },\n },\n {\n id: 'bigconsole-dashboard',\n pattern: '/bigconsole/dashboards/:id',\n params: { id: { kind: 'id' } },\n visibleWith: 'bigconsole-dashboards',\n noun: { key: 'entity.dashboard', fallback: 'dashboard' },\n },\n {\n id: 'bigconsole-parser',\n pattern: '/bigconsole/parsers/:id',\n params: { id: { kind: 'id', exclude: ['new'] } },\n visibleWith: 'bigconsole-parsers',\n noun: { key: 'entity.parser', fallback: 'parser' },\n },\n {\n id: 'bigconsole-workflow',\n pattern: '/bigconsole/workflows/workflow/:key/:version',\n params: { key: { kind: 'slug' }, version: { kind: 'slug' } },\n visibleWith: 'bigconsole-workflows-list',\n noun: { key: 'entity.workflow', fallback: 'workflow' },\n },\n {\n id: 'bigconsole-connections',\n pattern: '/integrations/connections',\n params: {},\n visibleWith: 'integrations',\n noun: { key: 'entity.connections', fallback: 'Connected Systems' },\n },\n];\n\n/**\n * How the panel reads a UI command it carries out itself (BOFF-7802), for\n * BigConsole.\n *\n * ★★ `mode-only` because BigConsole's CONTENT has themes of its own: a\n * dashboard has a theme, so \"use the dark theme\" in a dashboard builder is a\n * request about the dashboard, and must reach the model rather than flip the\n * app. fe-libs names this exact case (`LocalUiCommandOptions.themeWords`). Only\n * \"<name> mode\" (\"dark mode\") or a theme qualified as the app's (\"change the\n * app theme to dark\") still changes the app locally, with no turn.\n *\n * ★ Its own exported constant so the seam test can pin the field by identity,\n * like every other field on the seam value.\n */\nexport const LOCAL_UI_COMMANDS: LocalUiCommandOptions = {\n themeWords: 'mode-only',\n entityRoutes: ENTITY_ROUTES,\n // BOFF-8060 N1b: \"open the Coffee Shop Sales dashboard\" / data source, by name.\n records: BIGCONSOLE_RECORD_ADAPTERS,\n /**\n * ★ BOFF-8060 N2 (opt-in): each turn also offers the model the pages this\n * person may be taken to (fe-libs `buildUiCatalogue`): built ONLY from the\n * RBAC-filtered sidebar once its permissions have settled, never while they\n * load, after a failed permission fetch, or for a simulated role; capped at\n * 120 entries and 8 KB; labels and paths only, no record data.\n *\n * It is a body key on the sandbox prompt request. An AI runtime without N2\n * ignores an unknown key (the `conversationId` / `writeReply` precedent), so\n * this is inert on the prod runtime pinned today (2026.928.98) and active\n * where the N2 runtime runs (alpha, 2026.1007.103). Turning it off is this\n * one line.\n */\n uiCatalogue: true,\n /**\n * ★★ BOFF-8060 N3 + N4 (release gate): draw an \"Open {page}\" link under a reply\n * that offers one (`uiOffers`) AND attest that every editor which can hold a\n * draft reports it to the leave guard (`leaveGuard`). The two are one release\n * and travel only together: with `uiOffers` alone a typed or spoken \"yes\"\n * would leave a dirty editor and lose the draft. A tap on \"Open page\" is never\n * refused (sidebar parity); typed or spoken go-to, \"yes\" and \"take me there\"\n * are refused while an editor below is dirty.\n *\n * Attesting editors, 9 (each calls `useUnsavedChanges({ id, label, dirty })`):\n * dashboard-editor DashboardBuilderPage layout baseline (floats until the first placement)\n * dashboard-widget-properties PropertiesPanel the form compared BY VALUE with the opened widget\n * datasink-editor DataSinkBuilderPage whole-form compare against a baseline\n * parser-editor ParserBuilderPage form compare, seeded once per parser\n * pipeline-editor PipelineBuilderPage five-state compare against a baseline\n * bigconsole-settings SettingsPage settings compare against the last saved\n * datasink-alert-rule DataSinkAlertsPage the draft rule JSON against the original\n * insights-prompt InsightsPage the prompt or refine text typed and not yet submitted\n * workflow-editor embedded FluidGrids builder, FAIL-CLOSED: reported dirty while\n * mounted, because the SDK cannot report it (see BigConsoleRoutes)\n *\n * ★ THE WORKFLOW BUILDER IS ATTESTED BY THE HOST. In the deployed bigconsole-app,\n * AppRoutes.tsx routes /bigconsole/workflows/* to @burdenoff/microfe-workflows\n * (WorkflowsRoot) BEFORE /bigconsole/*, so the `workflow-editor` registration\n * above never mounts there. The host registers the same fail-closed id on the\n * builder pages of that package; a host that routes the builder through\n * BigConsoleRoutes is covered by this registration.\n *\n * ★ NAMED GAPS (not adopted, so a draft in them is not protected from a typed\n * go-to):\n * - CustomWidgetBuilderSheet and the dashboard template configuration modal;\n * - /workflows/settings and its log-streaming destination form (SettingsPage mounts\n * LogStreamingTab inside the workflows package);\n * - /workflows/variables (the variable dialog and the external secret-store form) and\n * /workflows/data-tables (the table dialog, the row dialog, CSV import), both served by\n * the FluidGrids SDK pages;\n * - WebhookConfigPanel inside the widget inspector (URL, method, headers): it holds its own\n * state apart from the form `dashboard-widget-properties` compares;\n * - WorkflowSinkLinkForm on /workflows/details/:workflowId (WorkflowViewPage);\n * - the inline forms WidgetComments composer, PageTabsManager rename, ShareDialog fields\n * and DataSinkRefreshDialog;\n * - in short, any dialog, sheet or inline form that is not one of the nine editors above;\n * - the modal dialog forms: CreateDashboardDialog, ParserFormDialog, the\n * Import*Dialogs, PublishToStoreDialog, EmbedTab, FilterEditor,\n * ActionConfigDialog, DrilldownConfigPanel, SavedViewsDropdown;\n * - the forms of the shared platform modules (files, calendar, groups, billing, support,\n * newsletter, devportal, the store, the shell-level connect-a-source modal, ...),\n * which register nothing in any product, so they are gaps everywhere;\n * - real dirty tracking for the workflow builder (the interim registration\n * over-refuses after a save).\n * Follow-ups are tracked separately.\n *\n * ★ `tests/unsavedChangesAdoption.test.ts` enforces the gate: every editor\n * route in BigConsoleRoutes.tsx must map to a registered editor id, or this\n * flag fails the build. It is inert until the AI runtime serves offers (prod\n * pin held), but the N4 refusal of assistant-initiated moves from a dirty\n * editor is live as soon as this ships.\n */\n uiOffers: true,\n leaveGuard: true,\n};\n\n/**\n * Every seam field, required — the provider's props minus its children, and\n * minus the two answers BigConsole deliberately does not give.\n *\n * ★★ `reportTokenUsage` is omitted ON EVIDENCE, not by oversight, and this\n * `Omit` member is the only place that decision is expressed in the type system.\n * `wspace-bigconsole-svc` declares NO token-usage mutation at all, and nothing in\n * this MFE reports one today. The obvious \"fix\" — wiring fe-libs' shared\n * reporter — would bill VibeControls for BigConsole turns: `reportAiTokenUsage`\n * is declared only in `wspace-vibecontrols-svc`, against the\n * `vibecontrols.ai.credits` quota. Metering BigConsole is a backend change.\n *\n * Note that BigConsole's `bigconsole.*` quotas are a different mechanism —\n * they cap entity counts, not AI spend — so their presence is not evidence that\n * turns are metered.\n *\n * ★★ `confirmWrite` is omitted so a HIGH-risk write proposal is confirmed in\n * fe-libs' shared `AssistantWriteConfirmDialog` (BOFF-7803 5a). That is the\n * documented default when a product has no dialog of its own, and BigConsole\n * has none. A product dialog must meet the whole contract fe-libs sets for it\n * (readback, target count, consequences, the exact confirm label, sensitive\n * values masked, never `window.confirm`), and the shared one already does, so a\n * BigConsole copy would only be a second place for that to go wrong. The\n * bigconsole-app ambient declaration of this value mirrors this `Omit`.\n */\nexport type BigConsoleAssistantProduct = Required<\n Omit<AssistantProductProviderProps, 'children' | 'reportTokenUsage' | 'confirmWrite'>\n>;\n\n/**\n * ★ Each field points at a product-owned implementation BY IDENTITY — no inline\n * arrow wrappers. The seam guard asserts `toBe`, because a wrapper is how a\n * function silently stops being the one the tests cover.\n *\n * ★ `writeAccess` is deliberately absent: it is a PROP on the shared panel, not\n * a seam field, so it belongs to BC4's panel mount rather than here. Same for\n * the preview controller, which the panel takes as `panelProps.preview`.\n */\nexport const BIGCONSOLE_ASSISTANT_PRODUCT: BigConsoleAssistantProduct = {\n product: BIGCONSOLE_PRODUCT,\n modes: BIGCONSOLE_ASSISTANT_MODES,\n describeCurrentPage,\n gatherPageContext,\n buildPrompt: buildPromptForMode,\n storageFolders: STORAGE_FOLDERS,\n localUiCommands: LOCAL_UI_COMMANDS,\n /**\n * ★ On. That is fe-libs' own default (on unless `false`, BOFF-7801) and\n * what BigConsole does today: this seam never set the field, so its turns\n * have been reported by default. The reports carry timings and coarse\n * dimensions only, and BigConsole is the first proposal-v1 product, so its\n * latency is the measurement the rollout needs.\n */\n reportTurnTimings: true,\n /**\n * ★★★ BigConsole is the FIRST proposal-v1 product (BOFF-7803 5a). At\n * `'proposal-v1'` fe-libs provisions Ask and Build (`api-calls`) through the\n * `assistant:use`-gated `provisionAssistantSandbox`, requests the proposal\n * flow for Build, and lets a spoken Build turn through when the sandbox's\n * own `/health` also says v1. Every change then waits for the button on its\n * card; the sandbox and wspace-sandbox-svc decide whether it runs.\n *\n * ★★ That provisioning path has NO `createSandbox` fallback: while\n * wspace-sandbox-svc answers it with 503 (its session relay switched off),\n * BigConsole's assistant cannot start at all. This flag reaches users only\n * when bigconsole-app pins the microfe version that carries it, so the app\n * bump is the release switch, and it waits for the relay.\n */\n writeApproval: 'proposal-v1',\n};\n"],"mappings":";;;;;;AAsCA,IAAa,IAAkB;CAC7B,aAAa;CACb,WAAW;CACZ,EA8LY,IAA2D;CACtE,SAAS;CACT,OAAO;CACP;CACA;CACA,aAAa;CACb,gBAAgB;CAChB,iBA9HsD;EACtD,YAAY;EACZ,cAtD4D;GAC5D;IACE,IAAI;IACJ,SAAS;IACT,QAAQ,EAAE,IAAI;KAAE,MAAM;KAAM,SAAS,CAAC,MAAM;KAAE,EAAE;IAChD,aAAa;IACb,MAAM;KAAE,KAAK;KAAmB,UAAU;KAAe;IAC1D;GACD;IACE,IAAI;IACJ,SAAS;IACT,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,EAAE;IAC9B,aAAa;IACb,MAAM;KAAE,KAAK;KAAoB,UAAU;KAAa;IACzD;GACD;IACE,IAAI;IACJ,SAAS;IACT,QAAQ,EAAE,IAAI;KAAE,MAAM;KAAM,SAAS,CAAC,MAAM;KAAE,EAAE;IAChD,aAAa;IACb,MAAM;KAAE,KAAK;KAAiB,UAAU;KAAU;IACnD;GACD;IACE,IAAI;IACJ,SAAS;IACT,QAAQ;KAAE,KAAK,EAAE,MAAM,QAAQ;KAAE,SAAS,EAAE,MAAM,QAAQ;KAAE;IAC5D,aAAa;IACb,MAAM;KAAE,KAAK;KAAmB,UAAU;KAAY;IACvD;GACD;IACE,IAAI;IACJ,SAAS;IACT,QAAQ,EAAE;IACV,aAAa;IACb,MAAM;KAAE,KAAK;KAAsB,UAAU;KAAqB;IACnE;GACF;EAoBC,SAAS;EAcT,aAAa;EA2Db,UAAU;EACV,YAAY;EACb;CAuDC,mBAAmB;CAenB,eAAe;CAChB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantPrompt.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/assistantPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAQ3B,CAAC;AAEb;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,QAAuE,CAAC;AAwEhH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,UAAQ,EACxB,QAAQ,UAAQ,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAWR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantPrompt.js","names":[],"sources":["../../../src/bigconsole/assistant/assistantPrompt.ts"],"sourcesContent":["/**\n * The write rules for the assistant's write mode, plus the language and\n * dictation instructions.\n *\n * The write rules depend on what the sandbox the turn goes to ENFORCES, which\n * fe-libs passes as `buildPrompt`'s sixth argument from that sandbox's own\n * `/health` (BOFF-7803 5a):\n *\n * - `legacy`: the in-sandbox agent executes mutations itself, so the turn asks\n * it to describe each write and wait for the user's \"yes\". ADVISORY: the\n * dependable guard is the host-side consent dialog plus the admin gate.\n * - `proposal-v1`: the helper only PROPOSES a mutation, and only the button on\n * its card confirms it. Asking for a typed \"yes\" there would contradict the\n * sandbox, so the turn carries fe-libs' `PROPOSAL_WRITE_RULES` instead.\n *\n * Either way the rules are prepended to the user's TURN, not to the session\n * system prompt. Sending them as `system` would REPLACE the whole mode prompt\n * and silently delete the agent's api-calls behaviour along with it.\n *\n * Ported from FluidGrids' `assistantPrompt.ts` (itself ported from\n * microfe-vibecontrols), with BigConsole nouns. The composition and the\n * delimiter discipline are unchanged on purpose — see `buildPromptForMode`.\n */\n\n/**\n * ★ The TRANSPORT's mode type, not BigConsole's narrower list. The shared panel\n * calls `buildPrompt` with whatever mode its store holds, which can be one this\n * product no longer offers (a restored conversation, or a build that dropped a\n * mode) until the panel resets it, so the parameter has to accept every mode the\n * panel can send.\n */\nimport type { AssistantPromptOptions } from '@burdenoff/fe-libs/shared/assistant/product';\nimport { PROPOSAL_WRITE_RULES } from '@burdenoff/fe-libs/shared/assistant/proposalWriteRules';\nimport type { AssistantMode } from '@burdenoff/fe-libs/shared/assistant/types';\n\n/**\n * Marks where our instructions stop and the user's words begin. Exactly one may\n * exist in a prompt, and it must be last — see `buildPromptForMode`.\n */\nexport const USER_REQUEST_DELIMITER = '--- User request ---';\n\n/**\n * The write rules for a Build turn to a LEGACY sandbox, which runs a mutation\n * itself. Unchanged by BOFF-7803 5a, byte for byte.\n */\nexport const API_CALLS_CONFIRM_PREAMBLE = [\n 'You are in api-calls mode for BigConsole and can run GraphQL queries and mutations on the user behalf.',\n 'Before performing ANY write (create, update, delete — any mutation):',\n '1. State exactly what you are about to change (entity, fields, and values).',\n '2. Ask the user to confirm, and WAIT for an explicit \"yes\"/\"confirm\" before executing it.',\n 'Read-only queries may run without confirmation. Confirm each write separately; never batch mutations behind a single confirmation.',\n '',\n USER_REQUEST_DELIMITER,\n].join('\\n');\n\n/**\n * The write rules for a Build turn to a PROPOSAL-V1 sandbox (BOFF-7803 5a),\n * composed exactly as fe-libs documents it: the shared rules, a blank line,\n * then this product's own delimiter.\n *\n * ★★ The rules are fe-libs' `PROPOSAL_WRITE_RULES`, not a BigConsole rewrite.\n * They are kept consistent with the sandbox's own proposal policy, so a local\n * copy would be a second text to keep in step with it. They carry no delimiter\n * of their own, so this one is the only one, and it is last, as after the\n * legacy preamble.\n */\nexport const API_CALLS_PROPOSAL_PREAMBLE = `${PROPOSAL_WRITE_RULES('BigConsole')}\\n\\n${USER_REQUEST_DELIMITER}`;\n\n/**\n * The write preamble for a Build turn, by what the receiving sandbox enforces.\n * Only exactly `proposal-v1` selects the proposal rules; anything else, or no\n * options at all, keeps the legacy text, which is what fe-libs sends for a\n * sandbox that has not reported the v1 protocol.\n */\nfunction writePreambleFor(options: AssistantPromptOptions | undefined): string {\n return options?.writeApproval === 'proposal-v1' ? API_CALLS_PROPOSAL_PREAMBLE : API_CALLS_CONFIRM_PREAMBLE;\n}\n\n/**\n * Ask for the reply in the user's language.\n *\n * ★ Nothing else does. The sandbox system prompt carries no language\n * instruction and the grounding documentation is entirely in English, so every\n * force in the session pushes the answer towards English regardless of what the\n * user wrote. The model's tendency to mirror its input is the only thing\n * resisting that, and it loses.\n *\n * The second clause is the one that matters: **translate the docs, do not\n * switch to their language.** Without it a grounded answer drifts back to\n * English mid-reply simply because the source material is English.\n */\nfunction buildLanguagePreamble(languageName: string, isExplicitChoice: boolean): string {\n return [\n isExplicitChoice\n ? `Reply in ${languageName}. The user has explicitly chosen this language, so use it even if they write to you in another one.`\n : `Reply in ${languageName}, matching the language the user wrote in.`,\n `Translate any English documentation you ground your answer in into ${languageName} rather than switching to English to quote it.`,\n 'Keep identifiers, code, CLI flags, API field names and product nouns in their original form — translating them would make them wrong.',\n ].join('\\n');\n}\n\n/**\n * Told to the model when the turn was SPOKEN rather than typed.\n *\n * ★ Speech recognition does not fail uniformly — it fails on specific words,\n * and in BigConsole the ones it fails on are predictable: data sink names,\n * dashboard ids, parser names and column headers. A recogniser has no model for\n * a dashboard id read aloud, so a sentence comes back mostly right with the\n * load-bearing words wrong.\n *\n * ★ The refusal to guess is the important half. Charitable interpretation is\n * right for a mangled verb and wrong for a mangled IDENTIFIER: acting on a\n * misheard dashboard id edits somebody else's dashboard. One extra question\n * costs a few seconds.\n */\nconst DICTATION_PREAMBLE = [\n 'This turn was DICTATED, so treat unusual words as probable speech-recognition errors rather than as what the user meant.',\n 'Repair obvious mis-hearings of technical terms, product nouns, column names and command names using the surrounding context.',\n 'Do NOT guess at a mis-heard data sink name, dashboard id, parser name, widget id or column header — ask which one the user meant before acting on it.',\n].join('\\n');\n\n/**\n * A dictated turn is a SPOKEN conversation, so the reply is spoken too.\n *\n * ★★ In Build only against a PROPOSAL-V1 sandbox. From fe-libs 2026.920.x,\n * `writeModeSendRefusal` refuses a dictated send in any `writeCapable` mode\n * before a prompt is composed (\"Voice can't be used in a mode that can change\n * your data\"), and Build is write-capable. fe-libs 2026.929.1 lifts that only\n * when the turn is proposal-bound: this product's flag is `proposal-v1` AND the\n * sandbox's own `/health` says v1 (BOFF-7803 5a, FE9). Then nothing spoken can\n * run a change, only a card's button can. So `dictated` and `api-calls` occur\n * together only with the proposal rules, never with the legacy \"wait for yes\".\n */\nconst VOICE_REPLY_PREAMBLE = [\n 'Your reply will be read aloud. Write it to be heard, not scanned:',\n 'short sentences, no markdown syntax, no tables, and no code blocks unless the user asked for code.',\n].join('\\n');\n\n/**\n * Compose the turn actually sent to the agent.\n *\n * Ordering is deliberate. Dictation goes AFTER the language lines and before the\n * delimiter: it is an instruction about the user's text, so it belongs with the\n * instructions rather than inside them.\n *\n * ★★ `USER_REQUEST_DELIMITER` is emitted exactly once, here. Both api-calls\n * preambles end with their own copy, so it must not be added again — a second\n * one mid-prompt leaves the safety instructions sitting *after* a \"User request\"\n * marker, i.e. presented to the model as though the user had written them.\n *\n * ★★ `options` is fe-libs' sixth argument (BOFF-7803 5a): what the sandbox this\n * turn goes to enforces, from its own `/health` — never this product's flag,\n * which only says what BigConsole ASKS for. A proposal-v1 sandbox gets the\n * proposal rules; every other turn is composed exactly as before.\n *\n * ★ No branch for Ask (`assistant`). It is read-only — its sandbox boots with\n * `AI_ASSISTANT_READONLY=1` — so there is no write to confirm, and inventing a\n * confirmation preamble for it would be copy that lies about what the mode does.\n */\nexport function buildPromptForMode(\n mode: AssistantMode,\n content: string,\n languageName?: string,\n isExplicitChoice = false,\n dictated = false,\n options?: AssistantPromptOptions\n): string {\n const preamble = [\n languageName ? buildLanguagePreamble(languageName, isExplicitChoice) : '',\n dictated ? DICTATION_PREAMBLE : '',\n dictated ? VOICE_REPLY_PREAMBLE : '',\n ]\n .filter(Boolean)\n .join('\\n\\n');\n const language = preamble ? `${preamble}\\n\\n` : '';\n if (mode === 'api-calls') return `${language}${writePreambleFor(options)}\\n${content}`;\n return language ? `${language}${USER_REQUEST_DELIMITER}\\n${content}` : content;\n}\n"],"mappings":";;AAuCA,IAAa,IAAyB,wBAMzB,IAA6B;CACxC;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC,KAAK,KAAK,EAaC,IAA8B,GAAG,EAAqB,aAAa,CAAC,MAAM;AAQvF,SAAS,EAAiB,GAAqD;AAC7E,QAAO,GAAS,kBAAkB,gBAAgB,IAA8B;;AAgBlF,SAAS,EAAsB,GAAsB,GAAmC;AACtF,QAAO;EACL,IACI,YAAY,EAAa,uGACzB,YAAY,EAAa;EAC7B,sEAAsE,EAAa;EACnF;EACD,CAAC,KAAK,KAAK;;AAiBd,IAAM,IAAqB;CACzB;CACA;CACA;CACD,CAAC,KAAK,KAAK,EAcN,IAAuB,CAC3B,qEACA,qGACD,CAAC,KAAK,KAAK;AAuBZ,SAAgB,EACd,GACA,GACA,GACA,IAAmB,IACnB,IAAW,IACX,GACQ;CACR,IAAM,IAAW;EACf,IAAe,EAAsB,GAAc,EAAiB,GAAG;EACvE,IAAW,IAAqB;EAChC,IAAW,IAAuB;EACnC,CACE,OAAO,QAAQ,CACf,KAAK,OAAO,EACT,IAAW,IAAW,GAAG,EAAS,QAAQ;AAEhD,QADI,MAAS,cAAoB,GAAG,IAAW,EAAiB,EAAQ,CAAC,IAAI,MACtE,IAAW,GAAG,IAAW,EAAuB,IAAI,MAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantRunPersistence.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/assistantRunPersistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,gEAAgE;AAChE,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAExE,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,IAAI,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IACjD,SAAS,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAmBD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAiED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,IAAI,CAgCjG;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,CAkBtG;AAED,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ5D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantRunPersistence.js","names":[],"sources":["../../../src/bigconsole/assistant/assistantRunPersistence.ts"],"sourcesContent":["/**\n * The build preview's run state, kept for the life of the TAB (BOFF-7799, A3).\n *\n * ★★★ WHY. BigConsole restores the conversation from the server\n * (`SERVER_HISTORY`), but the preview's run store lived only in memory. A\n * reload kept the chat and lost the page preview under the breadcrumb, so the\n * build a user had just watched was gone while the conversation that made it\n * was still on screen. This keeps the part the page preview draws, and nothing\n * else, in `sessionStorage`.\n *\n * ★★ WHAT IS KEPT, AND WHAT IS NOT. Kept: `hasRun`, whether the preview is\n * open, the four step statuses, the entity ids and the last-update time. None\n * of that is sensitive: the ids name workspace resources the server still\n * authorises on every fetch. NOT kept: the prompt (the user's own words), the\n * caption (the agent's narration) and the error text. `isRunning` is not kept\n * either: nothing can follow a turn across a reload, so a restored `running`\n * step drops back to `pending`, exactly as `finishRun` does.\n *\n * ★★ ONE ENTRY PER WORKSPACE, and it names its actor. The key carries the\n * workspace, so a reload in another workspace never reads this one. The record\n * carries the actor it was written for, because fe-libs found that the\n * workspace alone is not an identity: two accounts can share a workspace and a\n * tab (profile switching), and the second must not be shown the first one's\n * build (see fe-libs `AssistantPreviewRun.actorId`).\n *\n * ★ EVERY STORAGE ACCESS IS CONTAINED. `sessionStorage` can be missing (tests,\n * SSR), can throw on access (blocked site data, sandboxed frames) and can throw\n * on write (quota). Any of those means \"nothing kept\", never an exception in\n * the page surface or in the store action that triggered the write.\n */\nimport type { PreviewStepKey, PreviewStepStatus } from './assistantRunStore';\n\n/** `sessionStorage` key prefix; the workspace id follows it. */\nexport const RUN_STORAGE_PREFIX = 'bigconsole.assistant.previewRun.v1:';\n\n/** The slice of the run store that survives a reload. */\nexport interface PersistedRun {\n hasRun: true;\n conversationId?: string;\n previewOpen: boolean;\n steps: Record<PreviewStepKey, PreviewStepStatus>;\n entityIds: { datasink?: string; dashboard?: string; parser?: string };\n updatedAt: number | null;\n}\n\n/** What is actually written: the slice, its format version and its owner. */\ninterface StoredRun extends PersistedRun {\n v: 1;\n actorId: string | null;\n}\n\nconst STEP_KEYS: readonly PreviewStepKey[] = ['datasink', 'dashboard', 'parser', 'widget'];\nconst ENTITY_KEYS = ['datasink', 'dashboard', 'parser'] as const;\n\n/**\n * ★★ The id charset the store itself harvests (`ENTITY_LINK`, `JSON_ID_STEPS`).\n * Restored ids are interpolated into in-app paths (`/bigconsole/datasinks/<id>`),\n * so a value edited in devtools must not be able to smuggle `../` or a query\n * string into a navigation. Anything else is treated as a corrupt record.\n */\nconst ENTITY_ID = /^[A-Za-z0-9_-]{1,128}$/;\n\nexport function runStorageKey(workspaceId: string): string {\n return `${RUN_STORAGE_PREFIX}${workspaceId}`;\n}\n\n/** The tab's `sessionStorage`, or null wherever it cannot be used. */\nfunction sessionStore(): Storage | null {\n try {\n // ★ Reading the property is itself the access that throws when site data\n // is blocked, so the `typeof` guard sits inside the try, not before it.\n return typeof globalThis.sessionStorage === 'undefined' ? null : globalThis.sessionStorage;\n } catch {\n return null;\n }\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isStepStatus(value: unknown): value is PreviewStepStatus {\n return value === 'pending' || value === 'running' || value === 'done' || value === 'skipped';\n}\n\n/** Parses and validates one stored record. Any deviation reads as absent. */\nfunction parseStoredRun(raw: string): StoredRun | null {\n let value: unknown;\n try {\n value = JSON.parse(raw);\n } catch {\n return null;\n }\n if (!isRecord(value) || value.v !== 1 || value.hasRun !== true) return null;\n\n const { previewOpen, actorId, updatedAt, steps, entityIds, conversationId } = value;\n if (conversationId !== undefined && (typeof conversationId !== 'string' || !ENTITY_ID.test(conversationId)))\n return null;\n if (typeof previewOpen !== 'boolean') return null;\n if (actorId !== null && typeof actorId !== 'string') return null;\n if (updatedAt !== null && (typeof updatedAt !== 'number' || !Number.isFinite(updatedAt))) return null;\n\n if (!isRecord(steps)) return null;\n const { datasink, dashboard, parser, widget } = steps;\n if (!isStepStatus(datasink) || !isStepStatus(dashboard) || !isStepStatus(parser) || !isStepStatus(widget)) {\n return null;\n }\n\n if (!isRecord(entityIds)) return null;\n const ids: PersistedRun['entityIds'] = {};\n for (const key of ENTITY_KEYS) {\n const id = entityIds[key];\n if (id === undefined) continue;\n if (typeof id !== 'string' || !ENTITY_ID.test(id)) return null;\n ids[key] = id;\n }\n\n return {\n v: 1,\n actorId,\n hasRun: true,\n ...(typeof conversationId === 'string' ? { conversationId } : {}),\n previewOpen,\n steps: { datasink, dashboard, parser, widget },\n entityIds: ids,\n updatedAt,\n };\n}\n\n/**\n * The run kept for this workspace and actor, or null.\n *\n * ★ A record written for another actor is left in place, not deleted: it is\n * that actor's, and they may switch back. A corrupt record is removed.\n */\nexport function readPersistedRun(workspaceId: string, actorId: string | null): PersistedRun | null {\n const storage = sessionStore();\n if (!storage) return null;\n let raw: string | null;\n try {\n raw = storage.getItem(runStorageKey(workspaceId));\n } catch {\n return null;\n }\n if (raw === null) return null;\n\n const stored = parseStoredRun(raw);\n if (!stored) {\n removePersistedRun(workspaceId);\n return null;\n }\n if (stored.actorId !== actorId) return null;\n\n // Nothing follows a turn across a reload: a step that was in flight did not\n // land, so it drops back to `pending` for a later prompt (as `finishRun` does).\n const steps = { ...stored.steps };\n for (const key of STEP_KEYS) {\n if (steps[key] === 'running') steps[key] = 'pending';\n }\n return {\n hasRun: true,\n ...(stored.conversationId ? { conversationId: stored.conversationId } : {}),\n previewOpen: stored.previewOpen,\n steps,\n entityIds: stored.entityIds,\n updatedAt: stored.updatedAt,\n };\n}\n\n/** Keeps `run` for this workspace, owned by `actorId`. Best effort. */\nexport function writePersistedRun(workspaceId: string, actorId: string | null, run: PersistedRun): void {\n const storage = sessionStore();\n if (!storage) return;\n const stored: StoredRun = {\n v: 1,\n actorId,\n hasRun: true,\n ...(run.conversationId ? { conversationId: run.conversationId } : {}),\n previewOpen: run.previewOpen,\n steps: run.steps,\n entityIds: run.entityIds,\n updatedAt: run.updatedAt,\n };\n try {\n storage.setItem(runStorageKey(workspaceId), JSON.stringify(stored));\n } catch {\n // Quota or blocked storage: the preview simply does not survive a reload.\n }\n}\n\n/** Forgets the run kept for this workspace. Best effort. */\nexport function removePersistedRun(workspaceId: string): void {\n const storage = sessionStore();\n if (!storage) return;\n try {\n storage.removeItem(runStorageKey(workspaceId));\n } catch {\n // Blocked storage: there is nothing we could have read back either.\n }\n}\n"],"mappings":";AAiCA,IAAa,IAAqB,uCAkB5B,IAAuC;CAAC;CAAY;CAAa;CAAU;CAAS,EACpF,IAAc;CAAC;CAAY;CAAa;CAAS,EAQjD,IAAY;AAElB,SAAgB,EAAc,GAA6B;AACzD,QAAO,GAAG,IAAqB;;AAIjC,SAAS,IAA+B;AACtC,KAAI;AAGF,SAAc,WAAW,mBAAmB,SAAc,OAAO,WAAW;SACtE;AACN,SAAO;;;AAIX,SAAS,EAAS,GAAkD;AAClE,QAAO,OAAO,KAAU,cAAY,KAAkB,CAAC,MAAM,QAAQ,EAAM;;AAG7E,SAAS,EAAa,GAA4C;AAChE,QAAO,MAAU,aAAa,MAAU,aAAa,MAAU,UAAU,MAAU;;AAIrF,SAAS,EAAe,GAA+B;CACrD,IAAI;AACJ,KAAI;AACF,MAAQ,KAAK,MAAM,EAAI;SACjB;AACN,SAAO;;AAET,KAAI,CAAC,EAAS,EAAM,IAAI,EAAM,MAAM,KAAK,EAAM,WAAW,GAAM,QAAO;CAEvE,IAAM,EAAE,gBAAa,YAAS,cAAW,UAAO,cAAW,sBAAmB;AAO9E,KANI,MAAmB,KAAA,MAAc,OAAO,KAAmB,YAAY,CAAC,EAAU,KAAK,EAAe,KAEtG,OAAO,KAAgB,aACvB,MAAY,QAAQ,OAAO,KAAY,YACvC,MAAc,SAAS,OAAO,KAAc,YAAY,CAAC,OAAO,SAAS,EAAU,KAEnF,CAAC,EAAS,EAAM,CAAE,QAAO;CAC7B,IAAM,EAAE,aAAU,cAAW,WAAQ,cAAW;AAKhD,KAJI,CAAC,EAAa,EAAS,IAAI,CAAC,EAAa,EAAU,IAAI,CAAC,EAAa,EAAO,IAAI,CAAC,EAAa,EAAO,IAIrG,CAAC,EAAS,EAAU,CAAE,QAAO;CACjC,IAAM,IAAiC,EAAE;AACzC,MAAK,IAAM,KAAO,GAAa;EAC7B,IAAM,IAAK,EAAU;AACjB,YAAO,KAAA,GACX;OAAI,OAAO,KAAO,YAAY,CAAC,EAAU,KAAK,EAAG,CAAE,QAAO;AAC1D,KAAI,KAAO;;;AAGb,QAAO;EACL,GAAG;EACH;EACA,QAAQ;EACR,GAAI,OAAO,KAAmB,WAAW,EAAE,mBAAgB,GAAG,EAAE;EAChE;EACA,OAAO;GAAE;GAAU;GAAW;GAAQ;GAAQ;EAC9C,WAAW;EACX;EACD;;AASH,SAAgB,EAAiB,GAAqB,GAA6C;CACjG,IAAM,IAAU,GAAc;AAC9B,KAAI,CAAC,EAAS,QAAO;CACrB,IAAI;AACJ,KAAI;AACF,MAAM,EAAQ,QAAQ,EAAc,EAAY,CAAC;SAC3C;AACN,SAAO;;AAET,KAAI,MAAQ,KAAM,QAAO;CAEzB,IAAM,IAAS,EAAe,EAAI;AAClC,KAAI,CAAC,EAEH,QADA,EAAmB,EAAY,EACxB;AAET,KAAI,EAAO,YAAY,EAAS,QAAO;CAIvC,IAAM,IAAQ,EAAE,GAAG,EAAO,OAAO;AACjC,MAAK,IAAM,KAAO,EAChB,CAAI,EAAM,OAAS,cAAW,EAAM,KAAO;AAE7C,QAAO;EACL,QAAQ;EACR,GAAI,EAAO,iBAAiB,EAAE,gBAAgB,EAAO,gBAAgB,GAAG,EAAE;EAC1E,aAAa,EAAO;EACpB;EACA,WAAW,EAAO;EAClB,WAAW,EAAO;EACnB;;AAIH,SAAgB,EAAkB,GAAqB,GAAwB,GAAyB;CACtG,IAAM,IAAU,GAAc;AAC9B,KAAI,CAAC,EAAS;CACd,IAAM,IAAoB;EACxB,GAAG;EACH;EACA,QAAQ;EACR,GAAI,EAAI,iBAAiB,EAAE,gBAAgB,EAAI,gBAAgB,GAAG,EAAE;EACpE,aAAa,EAAI;EACjB,OAAO,EAAI;EACX,WAAW,EAAI;EACf,WAAW,EAAI;EAChB;AACD,KAAI;AACF,IAAQ,QAAQ,EAAc,EAAY,EAAE,KAAK,UAAU,EAAO,CAAC;SAC7D;;AAMV,SAAgB,EAAmB,GAA2B;CAC5D,IAAM,IAAU,GAAc;AACzB,OACL,KAAI;AACF,IAAQ,WAAW,EAAc,EAAY,CAAC;SACxC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantRunStore.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/assistantRunStore.ts"],"names":[],"mappings":"AA+BA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE3E,eAAO,MAAM,aAAa,EAAE,SAAS,cAAc,EAAkD,CAAC;AAEtG,UAAU,iBAAiB;IACzB,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,WAAW,EAAE,OAAO,CAAC;IACrB,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IACjD,6EAA6E;IAC7E,SAAS,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qFAAqF;IACrF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1E,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AA6ED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAE7G;AAED,eAAO,MAAM,oBAAoB,gFAuJ9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantRunStore.js","names":[],"sources":["../../../src/bigconsole/assistant/assistantRunStore.ts"],"sourcesContent":["/**\n * What the assistant is building, right now.\n *\n * Confirmed write results and narration drive this store into a UI-visible\n * monotone DataSink → Dashboard → Parser → Widget rail, plus the id of each\n * entity as it appears.\n *\n * Three rules make the parsing survive a model that phrases things differently:\n *\n * 1. Read the id from BOTH the link path (`/bigconsole/datasinks/<id>`) AND the\n * raw mutation JSON (`{ \"createDataSink\": { \"id\": \"<uuid>\", … } }`). The agent\n * freely prints one, the other, or both — if we only watched for the link a\n * turn that printed just JSON would leave the tab stuck on \"Waiting…\".\n * 2. Never regress. `progress.content` is REPLACED on every poll (not appended),\n * so a shorter string arriving later must not rewind the rail.\n * 3. Accumulate across an incremental conversation. Each prompt builds one piece;\n * a new prompt must NOT wipe the pieces already built, or the earlier tabs go\n * blank. `startRun` preserves prior steps/ids and only lights up the next one.\n *\n * ★★ It belongs to ONE workspace (BOFF-7799). The page surfaces bind the active\n * workspace (`bindWorkspace`); switching clears the run, and the slice the page\n * preview draws is kept in `sessionStorage` per workspace, so a reload in the\n * same tab brings the preview back beside the restored conversation. See\n * `assistantRunPersistence.ts` for what is kept and why.\n */\nimport { getActorId } from '@burdenoff/fe-libs/shared/assistant/context';\nimport { create } from 'zustand';\nimport { previewMutationEntities } from './previewMutationResult';\n\nimport { readPersistedRun, removePersistedRun, writePersistedRun, type PersistedRun } from './assistantRunPersistence';\n\nexport type PreviewStepKey = 'datasink' | 'dashboard' | 'parser' | 'widget';\nexport type PreviewStepStatus = 'pending' | 'running' | 'done' | 'skipped';\n\nexport const PREVIEW_STEPS: readonly PreviewStepKey[] = ['datasink', 'dashboard', 'parser', 'widget'];\n\ninterface AssistantRunState {\n /** A turn is in flight. */\n isRunning: boolean;\n /** The panel is on screen. Auto-opens when a turn starts; the user can close it. */\n previewOpen: boolean;\n /** True once any turn has run — gates the \"Preview\" button. */\n hasRun: boolean;\n /**\n * The full, context-rich panel (mounted inside BigConsoleRoot, with live entity\n * tabs) is on screen right now. The lightweight app-shell panel reads this and\n * steps aside so the two never render at once. It flips false the instant you\n * leave a /bigconsole page — that is what lets the mini panel take over and keep\n * the build visible on whatever screen you moved to.\n */\n richMounted: boolean;\n prompt: string;\n steps: Record<PreviewStepKey, PreviewStepStatus>;\n /** Ids harvested from the agent's links. A widget has no link of its own. */\n entityIds: { datasink?: string; dashboard?: string; parser?: string };\n /** Newest \"⏳ …\" line — what the agent says it is doing this second. */\n caption: string;\n /** Set when the turn fails, so the panel can stop pretending to be live. */\n error: string | null;\n /** Epoch ms of the last progress tick — drives the \"updated 3s ago\" strip. */\n updatedAt: number | null;\n /**\n * The workspace this run belongs to, and the one its kept copy is filed\n * under. Null until a page surface binds the active workspace.\n */\n workspaceId: string | null;\n /** The actor the kept copy is written for, read once when the workspace is bound. */\n actorId: string | null;\n\n conversationId: string | null;\n contentRevision: number;\n completedResultIds: string[];\n entityResultOrder: Partial<Record<PreviewStepKey, number>>;\n startRun: (prompt: string, conversationId?: string) => void;\n applyResult: (id: string, output: unknown, messageOrder?: number) => void;\n applyProgress: (content: string) => void;\n finishRun: (error: string | null) => void;\n openPreview: () => void;\n closePreview: () => void;\n setRichMounted: (mounted: boolean) => void;\n /**\n * Point the store at the active workspace. A change CLEARS the run and forgets\n * the previous workspace's kept copy, then restores this workspace's copy, if\n * this tab kept one for this actor. Binding the same workspace is a no-op, so\n * every surface may call it.\n */\n bindWorkspace: (workspaceId: string | null) => void;\n}\n\nconst IDLE_STEPS: Record<PreviewStepKey, PreviewStepStatus> = {\n datasink: 'pending',\n dashboard: 'pending',\n parser: 'pending',\n widget: 'pending',\n};\n\n/** `/bigconsole/datasinks/<id>` — the trustworthy part of the narration. */\nconst ENTITY_LINK = /\\/bigconsole\\/(datasinks|dashboards|parsers)\\/([A-Za-z0-9_-]+)/g;\n/** The widget links to its dashboard, so it can only be detected from the prose. */\nconst WIDGET_DONE = /widget\\s+(added|created)/i;\nconst RUNNING_LINE = /^⏳\\s*(.+?)…?$/;\n\nconst LINK_TO_STEP: Record<string, PreviewStepKey> = {\n datasinks: 'datasink',\n dashboards: 'dashboard',\n parsers: 'parser',\n};\n\n/**\n * The id straight out of a raw mutation response the agent printed instead of\n * (or as well as) a link, e.g. `{ \"createDataSink\": { \"id\": \"<uuid>\", … } }`.\n * `[^{}]` keeps each match inside its own object so we grab that mutation's id,\n * not a neighbour's. This is what stops \"Waiting…\" when no link is narrated.\n */\nconst JSON_ID_STEPS: ReadonlyArray<{ step: Exclude<PreviewStepKey, 'widget'>; re: RegExp }> = [\n { step: 'datasink', re: /\"createDataSink\"\\s*:\\s*\\{[^{}]*?\"id\"\\s*:\\s*\"([A-Za-z0-9_-]+)\"/ },\n { step: 'dashboard', re: /\"createBigConsoleDashboard\"\\s*:\\s*\\{[^{}]*?\"id\"\\s*:\\s*\"([A-Za-z0-9_-]+)\"/ },\n { step: 'parser', re: /\"createParser\"\\s*:\\s*\\{[^{}]*?\"id\"\\s*:\\s*\"([A-Za-z0-9_-]+)\"/ },\n];\n/** The widget has no page of its own; its create response is enough to mark it done. */\nconst WIDGET_CREATE_JSON = /\"createBigConsoleWidget\"\\s*:\\s*\\{/;\n\n/** Only ever moves a step forward. */\nfunction advance(current: PreviewStepStatus, next: PreviewStepStatus): PreviewStepStatus {\n const rank: Record<PreviewStepStatus, number> = { pending: 0, running: 1, skipped: 2, done: 3 };\n return rank[next] > rank[current] ? next : current;\n}\n\ntype RunFields = Pick<\n AssistantRunState,\n | 'isRunning'\n | 'previewOpen'\n | 'hasRun'\n | 'prompt'\n | 'steps'\n | 'entityIds'\n | 'caption'\n | 'error'\n | 'updatedAt'\n | 'conversationId'\n | 'contentRevision'\n | 'completedResultIds'\n | 'entityResultOrder'\n>;\n\n/** A run that has not started. `richMounted` is a mount flag, not run state, so it is not here. */\nfunction idleRun(): RunFields {\n return {\n conversationId: null,\n contentRevision: 0,\n completedResultIds: [],\n entityResultOrder: {},\n isRunning: false,\n previewOpen: false,\n hasRun: false,\n prompt: '',\n steps: { ...IDLE_STEPS },\n entityIds: {},\n caption: '',\n error: null,\n updatedAt: null,\n };\n}\n\n/**\n * May a run that started in `runWorkspaceId` drive a store bound to\n * `boundWorkspaceId`?\n *\n * ★★ WHY IT EXISTS. A workspace switch clears the store, but a turn started in\n * the previous workspace keeps streaming. Without this its next snapshot would\n * refill the cleared store, and the refill would be kept under the NEW\n * workspace's key, which is the leak the switch exists to prevent.\n *\n * ★ Lenient on null, deliberately: fe-libs reports `null` when it cannot read\n * the workspace, and an unbound store has nothing to protect. Refusing either\n * would silently stop every preview rather than guard one.\n */\nexport function runBelongsToWorkspace(runWorkspaceId: string | null, boundWorkspaceId: string | null): boolean {\n return runWorkspaceId === null || boundWorkspaceId === null || runWorkspaceId === boundWorkspaceId;\n}\n\nexport const useAssistantRunStore = create<AssistantRunState>()((set, get) => ({\n ...idleRun(),\n richMounted: false,\n workspaceId: null,\n actorId: null,\n\n startRun: (prompt, conversationId) =>\n set((previous) => {\n const state =\n conversationId && previous.hasRun && previous.conversationId !== conversationId\n ? { ...previous, ...idleRun() }\n : previous;\n // A new prompt CONTINUES the same use case (incremental flow) — keep every\n // step and id already built. Clear any stale spinner from the prior turn,\n // then light up the earliest step that has not landed yet so the \"working\n // on it\" indicator sits on the right tab.\n const steps = { ...state.steps };\n for (const key of PREVIEW_STEPS) {\n if (steps[key] === 'running') steps[key] = 'pending';\n }\n const next = PREVIEW_STEPS.find((key) => steps[key] === 'pending');\n if (next) steps[next] = 'running';\n return {\n ...state,\n conversationId: conversationId ?? state.conversationId,\n isRunning: true,\n // Auto-open: the whole point is that you SEE the build happen without\n // having to go looking for it.\n previewOpen: true,\n hasRun: true,\n prompt,\n steps,\n // entityIds intentionally preserved (merged) so earlier tabs keep content.\n caption: '',\n error: null,\n updatedAt: Date.now(),\n };\n }),\n\n applyProgress: (content) =>\n set((state) => {\n const steps = { ...state.steps };\n const entityIds = { ...state.entityIds };\n\n const markDone = (step: PreviewStepKey, id?: string) => {\n steps[step] = advance(steps[step], 'done');\n // Always record the freshest id seen this turn (never \"first wins\"): an\n // incremental prompt that rebuilds a piece must point the tab at the new\n // one. `step !== 'widget'` narrows to the keys entityIds actually holds.\n if (id && step !== 'widget') entityIds[step] = id;\n };\n\n // 1) Markdown link paths.\n for (const match of content.matchAll(ENTITY_LINK)) {\n const step = LINK_TO_STEP[match[1] ?? ''];\n if (step && match[2]) markDone(step, match[2]);\n }\n // 2) Raw mutation JSON (the agent often prints this instead of a link).\n for (const { step, re } of JSON_ID_STEPS) {\n const match = re.exec(content);\n if (match?.[1]) markDone(step, match[1]);\n }\n\n if (WIDGET_CREATE_JSON.test(content) || WIDGET_DONE.test(content)) {\n steps.widget = advance(steps.widget, 'done');\n }\n\n // The first step that has not finished is the one being worked on.\n const active = PREVIEW_STEPS.find((key) => steps[key] === 'pending' || steps[key] === 'running');\n if (active) steps[active] = advance(steps[active], 'running');\n\n const caption =\n content\n .split('\\n')\n .map((line) => line.trim())\n .reverse()\n .map((line) => RUNNING_LINE.exec(line)?.[1])\n .find((label): label is string => Boolean(label)) ?? state.caption;\n\n return { steps, entityIds, caption, updatedAt: Date.now() };\n }),\n\n applyResult: (id, output, messageOrder) =>\n set((state) => {\n if (state.completedResultIds.includes(id)) return state;\n const entities = previewMutationEntities(output);\n if (entities.length === 0) return state;\n const steps = { ...state.steps };\n const entityIds = { ...state.entityIds };\n const entityResultOrder = { ...state.entityResultOrder };\n let applied = false;\n const applyEntity = (step: PreviewStepKey, entityId: string) => {\n const previousOrder = entityResultOrder[step];\n // Separate issuing sessions are read concurrently. An older message's\n // successful write must not replace the selected conversation's newer\n // entity. Equal orders allow several approved actions in the same turn.\n if (messageOrder !== undefined && previousOrder !== undefined && messageOrder < previousOrder) return;\n if (messageOrder !== undefined) entityResultOrder[step] = messageOrder;\n steps[step] = 'done';\n if (step !== 'widget') entityIds[step] = entityId;\n applied = true;\n };\n for (const entity of entities) {\n applyEntity(entity.step, entity.id);\n if (entity.dashboardId) applyEntity('dashboard', entity.dashboardId);\n if (entity.parserId) applyEntity('parser', entity.parserId);\n }\n const completedResultIds = [...state.completedResultIds, id];\n if (!applied) return { completedResultIds };\n return {\n steps,\n entityIds,\n entityResultOrder,\n completedResultIds,\n contentRevision: state.contentRevision + 1,\n updatedAt: Date.now(),\n };\n }),\n\n finishRun: (error) =>\n set((state) => {\n // The turn is over — stop the live spinner. A step still 'running' didn't\n // land this turn, so drop it back to 'pending' (a later prompt can pick it\n // up). NEVER blanket-skip pending steps: in the incremental flow the later\n // steps simply have not been asked for yet, and 'done' steps must stay done.\n const steps = { ...state.steps };\n for (const key of PREVIEW_STEPS) {\n if (steps[key] === 'running') steps[key] = 'pending';\n }\n return {\n isRunning: false,\n error,\n steps,\n caption: '',\n contentRevision: state.contentRevision + 1,\n updatedAt: Date.now(),\n };\n }),\n\n openPreview: () => set({ previewOpen: true }),\n closePreview: () => set({ previewOpen: false }),\n setRichMounted: (mounted) => set({ richMounted: mounted }),\n\n bindWorkspace: (workspaceId) => {\n const previous = get().workspaceId;\n const actorId = workspaceId === null ? null : getActorId();\n if (previous === workspaceId && get().actorId === actorId) return;\n if (previous !== null && previous !== workspaceId) removePersistedRun(previous);\n const restored = workspaceId === null ? null : readPersistedRun(workspaceId, actorId);\n set({ ...idleRun(), ...restored, workspaceId, actorId });\n },\n}));\n\n/**\n * Keep the page preview's slice for the bound workspace on every change to it.\n *\n * ★ A subscription rather than a write in each action: five actions change the\n * slice, and a write missed in any one of them would restore a stale preview.\n * `bindWorkspace` also lands here, which is harmless: it rewrites what it read.\n */\nuseAssistantRunStore.subscribe((state, previous) => {\n if (state.workspaceId === null) return;\n if (\n state.workspaceId === previous.workspaceId &&\n state.actorId === previous.actorId &&\n state.hasRun === previous.hasRun &&\n state.previewOpen === previous.previewOpen &&\n state.steps === previous.steps &&\n state.entityIds === previous.entityIds &&\n state.updatedAt === previous.updatedAt\n ) {\n return;\n }\n if (!state.hasRun) {\n removePersistedRun(state.workspaceId);\n return;\n }\n const run: PersistedRun = {\n hasRun: true,\n ...(state.conversationId ? { conversationId: state.conversationId } : {}),\n previewOpen: state.previewOpen,\n steps: state.steps,\n entityIds: state.entityIds,\n updatedAt: state.updatedAt,\n };\n writePersistedRun(state.workspaceId, state.actorId, run);\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantRuntime.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/assistantRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AACrE,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AACrE,eAAO,MAAM,6BAA6B,EAAE,SAAS,MAAM,EAA2D,CAAC;AAEvH,sFAAsF;AACtF,MAAM,WAAW,mBAAmB;IAClC,gCAAgC,EAAE,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,2BAA2B,KACtC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,mBAAmB,EAAE,CACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,2BAA2B,KACtC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,sBAAsB,EAAE,CACtB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,KACtC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,mBAAmB,EAAE,CACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,4BAA4B,EAAE,CAC5B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,2BAA2B,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,sBAAsB,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE,2BAA2B,KACtC,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrC;AAED,sFAAsF;AACtF,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,qBAAqB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC3C,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAE/F;AAID,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,2BAA2B,CAAC;IACzC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,GAAG,EAAE,mBAAmB,CAAC;IACzB,cAAc,EAAE,MAAM,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsEpD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assistantRuntime.js","names":[],"sources":["../../../src/bigconsole/assistant/assistantRuntime.ts"],"sourcesContent":["/**\n * Resolves the sandbox + agent session a BigConsole assistant turn runs on.\n *\n * Kept out of the React hook so the adoption rules are testable without a DOM:\n * the hook supplies the storage-backed refs and the sandbox API, this decides\n * which sandbox may be driven.\n *\n * The rule (BOFF-7331): a sandbox is only driven once it has been proven to be\n * this user's BigConsole assistant sandbox in THIS page lifecycle — by being\n * created here, by passing `isReusableAssistantSandbox` in the active list, or,\n * for an id rehydrated from sessionStorage, by being fetched and passing the\n * same predicate. A cached id is never trusted on its own: it may have been\n * adopted by an older build that reused other products' and unstamped sandboxes.\n */\n\nimport type { AssistantMode, AssistantSandboxAuthContext } from './types';\n\n/**\n * sessionStorage keys for the warm sandbox + agent session. Versioned: the\n * unversioned keys were written by builds that adopted foreign and unstamped\n * sandboxes, so they are ignored (and cleared) rather than read. Re-validation\n * below is what actually guards adoption; the rename just means a pre-rollout\n * cache never even gets that far.\n */\nexport const ASSISTANT_SANDBOX_ID_KEY = 'bc-assistant-sandbox-id-v2';\nexport const ASSISTANT_SESSION_ID_KEY = 'bc-assistant-session-id-v2';\nexport const LEGACY_ASSISTANT_RUNTIME_KEYS: readonly string[] = ['bc-assistant-sandbox-id', 'bc-assistant-session-id'];\n\n/** The sandbox operations runtime resolution needs (the `assistantApi` functions). */\nexport interface AssistantRuntimeApi {\n isCachedAssistantSandboxReusable: (\n sandboxId: string,\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext\n ) => Promise<boolean>;\n findExistingSandbox: (\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext\n ) => Promise<string | null>;\n createAssistantSandbox: (\n mode: AssistantMode,\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext\n ) => Promise<string>;\n waitForSandboxReady: (\n sandboxId: string,\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext\n ) => Promise<void>;\n waitForAssistantServiceReady: (\n sandboxId: string,\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext\n ) => Promise<void>;\n createAssistantSession: (\n sandboxId: string,\n workspaceId: string,\n mode: AssistantMode,\n authContext?: AssistantSandboxAuthContext\n ) => Promise<{ sessionId: string }>;\n}\n\n/** The hook's refs. Setters persist to sessionStorage; `verified*` is memory only. */\nexport interface AssistantRuntimeStore {\n getSandboxId: () => string | null;\n setSandboxId: (id: string | null) => void;\n getSessionId: () => string | null;\n setSessionId: (id: string | null) => void;\n getVerifiedSandboxKey: () => string | null;\n setVerifiedSandboxKey: (key: string | null) => void;\n}\n\n/**\n * Identity of a proof that `sandboxId` may be driven by `userId`. Keyed on the\n * user too, so an identity change in the same tab re-validates. A missing user\n * id is part of the key rather than a reason to skip the key: a sandbox created\n * in this lifecycle before the id loaded must not be re-validated (it would fail\n * the fail-closed owner check) and replaced on every turn.\n */\nexport function verifiedSandboxKey(sandboxId: string, userId: string | null | undefined): string {\n return JSON.stringify([sandboxId, userId ?? null]);\n}\n\nconst LOG_PREFIX = '[BigConsole-Assistant]';\n\nexport async function resolveAssistantRuntime(params: {\n workspaceId: string;\n mode: AssistantMode;\n authContext: AssistantSandboxAuthContext;\n store: AssistantRuntimeStore;\n api: AssistantRuntimeApi;\n hasAccessToken: () => boolean;\n}): Promise<{ sandboxId: string; sessionId: string }> {\n const { workspaceId, mode, authContext, store, api } = params;\n\n let sandboxId = store.getSandboxId();\n console.log(`${LOG_PREFIX} ensureRuntime start`, { sandboxId, workspaceId });\n\n if (sandboxId && store.getVerifiedSandboxKey() !== verifiedSandboxKey(sandboxId, authContext.userId)) {\n let reusable = false;\n try {\n reusable = await api.isCachedAssistantSandboxReusable(sandboxId, workspaceId, mode, authContext);\n } catch (error) {\n // Fail closed: an unverifiable sandbox is not driven.\n console.warn(`${LOG_PREFIX} could not re-validate cached sandbox`, {\n sandboxId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n if (reusable) {\n store.setVerifiedSandboxKey(verifiedSandboxKey(sandboxId, authContext.userId));\n } else {\n console.warn(`${LOG_PREFIX} cached sandbox is not reusable, discarding it`, { sandboxId });\n // The session lives inside that sandbox, so it goes with it.\n store.setSandboxId(null);\n store.setSessionId(null);\n store.setVerifiedSandboxKey(null);\n sandboxId = null;\n }\n }\n\n if (!sandboxId) {\n if (!params.hasAccessToken()) {\n throw new Error('The assistant requires an authenticated session. Please sign in again.');\n }\n sandboxId = await api.findExistingSandbox(workspaceId, mode, authContext);\n console.log(`${LOG_PREFIX} findExistingSandbox result`, { sandboxId });\n\n if (sandboxId) {\n try {\n await api.waitForSandboxReady(sandboxId, workspaceId, authContext);\n await api.waitForAssistantServiceReady(sandboxId, workspaceId, mode, authContext);\n } catch (error) {\n console.warn(`${LOG_PREFIX} existing sandbox unusable, falling back to fresh sandbox`, {\n sandboxId,\n error: error instanceof Error ? error.message : String(error),\n });\n sandboxId = null;\n }\n }\n\n if (!sandboxId) {\n sandboxId = await api.createAssistantSandbox(mode, workspaceId, authContext);\n console.log(`${LOG_PREFIX} createAssistantSandbox result`, { sandboxId });\n await api.waitForSandboxReady(sandboxId, workspaceId, authContext);\n await api.waitForAssistantServiceReady(sandboxId, workspaceId, mode, authContext);\n }\n\n store.setSandboxId(sandboxId);\n store.setVerifiedSandboxKey(verifiedSandboxKey(sandboxId, authContext.userId));\n // Any session id held now belonged to a sandbox we no longer have.\n store.setSessionId(null);\n }\n\n let sessionId = store.getSessionId();\n if (!sessionId) {\n const result = await api.createAssistantSession(sandboxId, workspaceId, mode, authContext);\n sessionId = result.sessionId;\n store.setSessionId(sessionId);\n }\n\n return { sandboxId, sessionId };\n}\n"],"mappings":";AAwBA,IAAa,IAA2B,8BAC3B,IAA2B,8BAC3B,IAAmD,CAAC,2BAA2B,0BAA0B;AAwDtH,SAAgB,EAAmB,GAAmB,GAA2C;AAC/F,QAAO,KAAK,UAAU,CAAC,GAAW,KAAU,KAAK,CAAC;;AAGpD,IAAM,IAAa;AAEnB,eAAsB,EAAwB,GAOQ;CACpD,IAAM,EAAE,gBAAa,SAAM,gBAAa,UAAO,WAAQ,GAEnD,IAAY,EAAM,cAAc;AAGpC,KAFA,QAAQ,IAAI,GAAG,EAAW,uBAAuB;EAAE;EAAW;EAAa,CAAC,EAExE,KAAa,EAAM,uBAAuB,KAAK,EAAmB,GAAW,EAAY,OAAO,EAAE;EACpG,IAAI,IAAW;AACf,MAAI;AACF,OAAW,MAAM,EAAI,iCAAiC,GAAW,GAAa,GAAM,EAAY;WACzF,GAAO;AAEd,WAAQ,KAAK,GAAG,EAAW,wCAAwC;IACjE;IACA,OAAO,aAAiB,QAAQ,EAAM,UAAU,OAAO,EAAM;IAC9D,CAAC;;AAEJ,EAAI,IACF,EAAM,sBAAsB,EAAmB,GAAW,EAAY,OAAO,CAAC,IAE9E,QAAQ,KAAK,GAAG,EAAW,iDAAiD,EAAE,cAAW,CAAC,EAE1F,EAAM,aAAa,KAAK,EACxB,EAAM,aAAa,KAAK,EACxB,EAAM,sBAAsB,KAAK,EACjC,IAAY;;AAIhB,KAAI,CAAC,GAAW;AACd,MAAI,CAAC,EAAO,gBAAgB,CAC1B,OAAU,MAAM,yEAAyE;AAK3F,MAHA,IAAY,MAAM,EAAI,oBAAoB,GAAa,GAAM,EAAY,EACzE,QAAQ,IAAI,GAAG,EAAW,8BAA8B,EAAE,cAAW,CAAC,EAElE,EACF,KAAI;AAEF,GADA,MAAM,EAAI,oBAAoB,GAAW,GAAa,EAAY,EAClE,MAAM,EAAI,6BAA6B,GAAW,GAAa,GAAM,EAAY;WAC1E,GAAO;AAKd,GAJA,QAAQ,KAAK,GAAG,EAAW,4DAA4D;IACrF;IACA,OAAO,aAAiB,QAAQ,EAAM,UAAU,OAAO,EAAM;IAC9D,CAAC,EACF,IAAY;;AAchB,EAVK,MACH,IAAY,MAAM,EAAI,uBAAuB,GAAM,GAAa,EAAY,EAC5E,QAAQ,IAAI,GAAG,EAAW,iCAAiC,EAAE,cAAW,CAAC,EACzE,MAAM,EAAI,oBAAoB,GAAW,GAAa,EAAY,EAClE,MAAM,EAAI,6BAA6B,GAAW,GAAa,GAAM,EAAY,GAGnF,EAAM,aAAa,EAAU,EAC7B,EAAM,sBAAsB,EAAmB,GAAW,EAAY,OAAO,CAAC,EAE9E,EAAM,aAAa,KAAK;;CAG1B,IAAI,IAAY,EAAM,cAAc;AAOpC,QANK,MAEH,KADe,MAAM,EAAI,uBAAuB,GAAW,GAAa,GAAM,EAAY,EACvE,WACnB,EAAM,aAAa,EAAU,GAGxB;EAAE;EAAW;EAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachmentExtract.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/attachmentExtract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,yBAAyB,SAAU,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,MAAM,CAAC;AAuE5B;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBzE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachmentExtract.js","names":[],"sources":["../../../src/bigconsole/assistant/attachmentExtract.ts"],"sourcesContent":["/**\n * Client-side extraction of an uploaded data file into a capped text/rows\n * preview that gets folded into the assistant prompt.\n *\n * Lives in the BigConsole product layer (not fe-libs) because it pulls in the\n * xlsx / pdfjs parsers — fe-libs stays parsing-free and only carries the raw\n * `File`s through `AssistantSendArgs.attachments`. Heavy parsers are loaded via\n * dynamic `import()` so they code-split and only download when a file is\n * actually attached.\n *\n * The agent receives a CAPPED preview — enough to design a DataSink schema from,\n * not the whole file — because the payload rides the `proxySandboxRequest`\n * gateway call (bounded execution budget) and the model has a context limit.\n */\n\n/**\n * Characters of ONE file's text this widget folds into the prompt: ~100 KB.\n *\n * ★★ A CEILING THAT ALMOST NEVER BINDS, and exported so the seam can say so\n * out loud. `MAX_ROWS` is applied FIRST and wins for anything row-oriented: a\n * 200-row slice of a CSV is a few KB, so what this widget has actually been\n * sending is nowhere near 100,000 characters. Only a file with very long lines\n * — one-line JSON, a wide log — ever reaches this number.\n *\n * ★★ So `modes.ts` DELIBERATELY DOES NOT MATCH IT. The shared panel has no row\n * cap, and fe-libs spends a turn's inline budget greedily in attachment order,\n * so asking for 100,000 a file there would let two files eat the whole turn and\n * drop the third (BOFF-7532). `Build` asks for 15,155 instead — derived from\n * the BYTE envelope fe-libs enforces, not from this ceiling — which still\n * delivers MORE rows of a CSV than `MAX_ROWS` below.\n * `tests/assistantSeam.test.ts` guards that direction in rows actually served,\n * measured against the installed fe-libs; when this legacy transport goes,\n * delete the guard with it.\n */\nexport const MAX_INLINE_CHARS_PER_FILE = 100_000;\n\n/**\n * Rows of ONE row-oriented file this widget folds into the prompt.\n *\n * ★★ THE CAP THAT ACTUALLY BOUND, which is why it is exported: it, not\n * `MAX_INLINE_CHARS_PER_FILE`, is what the seam's parity guard compares\n * against. 200 rows of a CSV is a few KB, nowhere near 100,000 characters.\n */\nexport const MAX_ROWS = 200;\n\nfunction isTextLike(file: File): boolean {\n const name = file.name.toLowerCase();\n return (\n name.endsWith('.json') ||\n name.endsWith('.csv') ||\n name.endsWith('.txt') ||\n file.type === 'application/json' ||\n file.type === 'text/csv' ||\n file.type.startsWith('text/')\n );\n}\n\nasync function extractOne(file: File): Promise<string> {\n const name = file.name.toLowerCase();\n\n // JSON / CSV / plain text — native, no deps.\n if (isTextLike(file)) {\n return await file.text();\n }\n\n // Excel — SheetJS, dynamically imported. First sheet → CSV (compact + agent-friendly).\n if (name.endsWith('.xlsx') || name.endsWith('.xls')) {\n const XLSX = await import('@e965/xlsx');\n const buf = await file.arrayBuffer();\n const wb = XLSX.read(buf, { type: 'array' });\n const first = wb.SheetNames[0];\n if (!first) return '';\n return XLSX.utils.sheet_to_csv(wb.Sheets[first]);\n }\n\n // PDF — best-effort text-layer extraction via pdfjs (dynamically imported).\n // Unreliable for tabular data and useless for scanned PDFs; the caller shows a\n // graceful note if this throws. NOTE: pdfjs worker setup is Vite-specific and\n // must be verified against a running build.\n if (name.endsWith('.pdf') || file.type === 'application/pdf') {\n const pdfjs = await import('pdfjs-dist');\n const buf = await file.arrayBuffer();\n const doc = await pdfjs.getDocument({ data: new Uint8Array(buf) }).promise;\n const parts: string[] = [];\n const pages = Math.min(doc.numPages, 20);\n for (let page = 1; page <= pages; page += 1) {\n const content = await (await doc.getPage(page)).getTextContent();\n parts.push(content.items.map((item) => ('str' in item ? item.str : '')).join(' '));\n }\n return parts.join('\\n');\n }\n\n // Unknown extension → best-effort text.\n return await file.text();\n}\n\n/** Keep the first MAX_ROWS lines / MAX_INLINE_CHARS_PER_FILE chars so a huge\n * file can't blow the prompt. Returns whether anything was dropped so the\n * agent knows it's a sample. */\nfunction limit(text: string): { text: string; truncated: boolean } {\n let out = text;\n let truncated = false;\n const lines = out.split(/\\r?\\n/);\n if (lines.length > MAX_ROWS) {\n out = lines.slice(0, MAX_ROWS).join('\\n');\n truncated = true;\n }\n if (out.length > MAX_INLINE_CHARS_PER_FILE) {\n out = out.slice(0, MAX_INLINE_CHARS_PER_FILE);\n truncated = true;\n }\n return { text: out, truncated };\n}\n\n/**\n * Extract every attachment and format them as fenced \"Attached data source\"\n * blocks the agent can read and turn into a DataSink. Files that fail to parse\n * (e.g. a scanned PDF) produce a short note rather than aborting the send.\n */\nexport async function buildAttachmentBlock(files: File[]): Promise<string> {\n const blocks: string[] = [];\n for (const file of files) {\n let raw: string;\n try {\n raw = await extractOne(file);\n } catch (err) {\n const reason = err instanceof Error ? err.message : 'unknown error';\n blocks.push(\n `--- Attached file \"${file.name}\" could not be auto-read (${reason}). ` +\n `Please paste its rows here instead. ---`\n );\n continue;\n }\n const { text, truncated } = limit(raw.trim());\n const note = truncated\n ? ` (sample — first ${MAX_ROWS} rows / ~${Math.round(MAX_INLINE_CHARS_PER_FILE / 1000)}KB)`\n : '';\n blocks.push(`--- Attached data source: ${file.name}${note} ---\\n${text}\\n--- end ${file.name} ---`);\n }\n return blocks.join('\\n\\n');\n}\n"],"mappings":";AAkCA,IAAa,IAA4B;AAWzC,SAAS,EAAW,GAAqB;CACvC,IAAM,IAAO,EAAK,KAAK,aAAa;AACpC,QACE,EAAK,SAAS,QAAQ,IACtB,EAAK,SAAS,OAAO,IACrB,EAAK,SAAS,OAAO,IACrB,EAAK,SAAS,sBACd,EAAK,SAAS,cACd,EAAK,KAAK,WAAW,QAAQ;;AAIjC,eAAe,EAAW,GAA6B;CACrD,IAAM,IAAO,EAAK,KAAK,aAAa;AAGpC,KAAI,EAAW,EAAK,CAClB,QAAO,MAAM,EAAK,MAAM;AAI1B,KAAI,EAAK,SAAS,QAAQ,IAAI,EAAK,SAAS,OAAO,EAAE;EACnD,IAAM,IAAO,MAAM,OAAO,0CACpB,IAAM,MAAM,EAAK,aAAa,EAC9B,IAAK,EAAK,KAAK,GAAK,EAAE,MAAM,SAAS,CAAC,EACtC,IAAQ,EAAG,WAAW;AAE5B,SADK,IACE,EAAK,MAAM,aAAa,EAAG,OAAO,GAAO,GAD7B;;AAQrB,KAAI,EAAK,SAAS,OAAO,IAAI,EAAK,SAAS,mBAAmB;EAC5D,IAAM,IAAQ,MAAM,OAAO,+CACrB,IAAM,MAAM,EAAK,aAAa,EAC9B,IAAM,MAAM,EAAM,YAAY,EAAE,MAAM,IAAI,WAAW,EAAI,EAAE,CAAC,CAAC,SAC7D,IAAkB,EAAE,EACpB,IAAQ,KAAK,IAAI,EAAI,UAAU,GAAG;AACxC,OAAK,IAAI,IAAO,GAAG,KAAQ,GAAO,KAAQ,GAAG;GAC3C,IAAM,IAAU,OAAO,MAAM,EAAI,QAAQ,EAAK,EAAE,gBAAgB;AAChE,KAAM,KAAK,EAAQ,MAAM,KAAK,MAAU,SAAS,IAAO,EAAK,MAAM,GAAI,CAAC,KAAK,IAAI,CAAC;;AAEpF,SAAO,EAAM,KAAK,KAAK;;AAIzB,QAAO,MAAM,EAAK,MAAM;;AAM1B,SAAS,EAAM,GAAoD;CACjE,IAAI,IAAM,GACN,IAAY,IACV,IAAQ,EAAI,MAAM,QAAQ;AAShC,QARI,EAAM,SAAA,QACR,IAAM,EAAM,MAAM,GAAA,IAAY,CAAC,KAAK,KAAK,EACzC,IAAY,KAEV,EAAI,SAAA,QACN,IAAM,EAAI,MAAM,GAAG,EAA0B,EAC7C,IAAY,KAEP;EAAE,MAAM;EAAK;EAAW;;AAQjC,eAAsB,EAAqB,GAAgC;CACzE,IAAM,IAAmB,EAAE;AAC3B,MAAK,IAAM,KAAQ,GAAO;EACxB,IAAI;AACJ,MAAI;AACF,OAAM,MAAM,EAAW,EAAK;WACrB,GAAK;GACZ,IAAM,IAAS,aAAe,QAAQ,EAAI,UAAU;AACpD,KAAO,KACL,sBAAsB,EAAK,KAAK,4BAA4B,EAAO,4CAEpE;AACD;;EAEF,IAAM,EAAE,SAAM,iBAAc,EAAM,EAAI,MAAM,CAAC,EACvC,IAAO,IACT,gCAAwC,KAAK,MAAM,IAA4B,IAAK,CAAC,OACrF;AACJ,IAAO,KAAK,6BAA6B,EAAK,OAAO,EAAK,QAAQ,EAAK,YAAY,EAAK,KAAK,MAAM;;AAErG,QAAO,EAAO,KAAK,OAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conversationHistoryApi.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/conversationHistoryApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,eAAqB,CAAC;AAEvD,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsED,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,EACzC,KAAK,SAAK,GACT,OAAO,CAAC,4BAA4B,EAAE,CAAC,CASzC;AAED,wBAAsB,gCAAgC,CACpD,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,EACzC,KAAK,SAAM,GACV,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAWxC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,EACD,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,GACxC,OAAO,CAAC,4BAA4B,CAAC,CAiBvC;AAED,wBAAsB,2BAA2B,CAC/C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,2BAA2B,GACxC,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conversationHistoryApi.js","names":[],"sources":["../../../src/bigconsole/assistant/conversationHistoryApi.ts"],"sourcesContent":["/**\n * Durable assistant history, stored in wspace-conversations.\n *\n * The agent's own session lives in a sandbox with a 10-minute TTL and no\n * persistent volume, so it cannot be the store of record for a transcript the\n * user expects to keep. Every completed turn is written here instead, tagged\n * with the product that owns it, so history is durable AND product-scoped —\n * a BigConsole chat can never appear in another product's panel.\n *\n * Raw operation strings rather than generated documents: these ops are only used\n * here, and `graphqlFetch` takes a query string, so there is nothing to gain\n * from putting them through codegen.\n */\n\nimport { graphqlFetch } from '@burdenoff/fe-libs/shared/graphql';\n\nimport { BIGCONSOLE_PRODUCT } from './product';\nimport type { AssistantSandboxAuthContext } from './types';\n\n/**\n * Every conversation written from here belongs to BigConsole.\n *\n * ★ Same value as `assistantApi`'s `ASSISTANT_PRODUCT`, and now literally the\n * same source. These were two independent string literals under two different\n * names — history rows are tagged with this one while sandboxes are stamped with\n * that one, so a divergence would have hidden a product's whole transcript from\n * its own panel without failing anything.\n */\nexport const ASSISTANT_PRODUCT_ID = BIGCONSOLE_PRODUCT;\n\nexport interface AssistantConversationSummary {\n id: string;\n title: string | null;\n agentSessionId: string | null;\n updatedAt: string;\n}\n\nexport interface AssistantHistoryTurnMessage {\n id: string;\n role: 'USER' | 'ASSISTANT';\n content: string;\n createdAt: string;\n}\n\nconst CONVERSATION_FIELDS = `\n id\n title\n agentSessionId\n updatedAt\n`;\n\nconst LIST_CONVERSATIONS = `\n query AssistantConversations($productId: String!, $first: Int) {\n assistantConversations(productId: $productId, first: $first) { ${CONVERSATION_FIELDS} }\n }\n`;\n\nconst CONVERSATION_MESSAGES = `\n query AssistantConversationMessages($conversationId: ID!, $first: Int) {\n assistantConversationMessages(conversationId: $conversationId, first: $first) {\n id\n role\n content\n createdAt\n }\n }\n`;\n\nconst SAVE_TURN = `\n mutation SaveAssistantTurn($input: SaveAssistantTurnInput!) {\n saveAssistantTurn(input: $input) { ${CONVERSATION_FIELDS} }\n }\n`;\n\nconst DELETE_CONVERSATION = `\n mutation DeleteAssistantConversation($conversationId: ID!) {\n deleteAssistantConversation(conversationId: $conversationId)\n }\n`;\n\nasync function historyFetch<TData>(params: {\n query: string;\n operationName: string;\n variables: Record<string, unknown>;\n workspaceId: string;\n authContext?: AssistantSandboxAuthContext;\n}): Promise<TData> {\n const result = await graphqlFetch<TData>({\n gateway: 'workspace',\n query: params.query,\n operationName: params.operationName,\n variables: params.variables,\n authToken: params.authContext?.accessToken ?? undefined,\n // Mint the workspace token rather than passing a possibly-stale string —\n // same reasoning as assistantApi: a stale token is nulled out and NOT\n // replaced unless the caller opts in here.\n workspaceToken: true,\n workspaceId: params.workspaceId,\n organizationId: params.authContext?.organizationId ?? true,\n suppressGlobalErrorEvent: true,\n });\n\n if (result.errors?.length) {\n throw new Error(result.errors.map((error) => error.message).join(', '));\n }\n if (!result.data) {\n throw new Error(`${params.operationName} returned no data`);\n }\n\n return result.data;\n}\n\nexport async function listAssistantConversations(\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext,\n first = 25\n): Promise<AssistantConversationSummary[]> {\n const data = await historyFetch<{ assistantConversations: AssistantConversationSummary[] }>({\n query: LIST_CONVERSATIONS,\n operationName: 'AssistantConversations',\n variables: { productId: ASSISTANT_PRODUCT_ID, first },\n workspaceId,\n authContext,\n });\n return data.assistantConversations ?? [];\n}\n\nexport async function getAssistantConversationMessages(\n conversationId: string,\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext,\n first = 200\n): Promise<AssistantHistoryTurnMessage[]> {\n const data = await historyFetch<{\n assistantConversationMessages: AssistantHistoryTurnMessage[];\n }>({\n query: CONVERSATION_MESSAGES,\n operationName: 'AssistantConversationMessages',\n variables: { conversationId, first },\n workspaceId,\n authContext,\n });\n return data.assistantConversationMessages ?? [];\n}\n\n/**\n * Persist one completed turn. Creates the conversation on the first turn and\n * returns it, so the caller can hold on to the id.\n */\nexport async function saveAssistantTurn(\n params: {\n conversationId: string | null;\n prompt: string;\n reply: string;\n agentSessionId: string | null;\n },\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext\n): Promise<AssistantConversationSummary> {\n const data = await historyFetch<{ saveAssistantTurn: AssistantConversationSummary }>({\n query: SAVE_TURN,\n operationName: 'SaveAssistantTurn',\n variables: {\n input: {\n conversationId: params.conversationId,\n productId: ASSISTANT_PRODUCT_ID,\n prompt: params.prompt,\n reply: params.reply,\n agentSessionId: params.agentSessionId,\n },\n },\n workspaceId,\n authContext,\n });\n return data.saveAssistantTurn;\n}\n\nexport async function deleteAssistantConversation(\n conversationId: string,\n workspaceId: string,\n authContext?: AssistantSandboxAuthContext\n): Promise<void> {\n await historyFetch<{ deleteAssistantConversation: boolean }>({\n query: DELETE_CONVERSATION,\n operationName: 'DeleteAssistantConversation',\n variables: { conversationId },\n workspaceId,\n authContext,\n });\n}\n"],"mappings":";;;AA4BA,IAAa,IAAuB,GAgB9B,IAAsB,oDAOtB,IAAqB;;qEAE0C,EAAoB;;GAInF,IAAwB,yOAWxB,IAAY;;yCAEuB,EAAoB;;GAIvD,IAAsB;AAM5B,eAAe,EAAoB,GAMhB;CACjB,IAAM,IAAS,MAAM,EAAoB;EACvC,SAAS;EACT,OAAO,EAAO;EACd,eAAe,EAAO;EACtB,WAAW,EAAO;EAClB,WAAW,EAAO,aAAa,eAAe,KAAA;EAI9C,gBAAgB;EAChB,aAAa,EAAO;EACpB,gBAAgB,EAAO,aAAa,kBAAkB;EACtD,0BAA0B;EAC3B,CAAC;AAEF,KAAI,EAAO,QAAQ,OACjB,OAAU,MAAM,EAAO,OAAO,KAAK,MAAU,EAAM,QAAQ,CAAC,KAAK,KAAK,CAAC;AAEzE,KAAI,CAAC,EAAO,KACV,OAAU,MAAM,GAAG,EAAO,cAAc,mBAAmB;AAG7D,QAAO,EAAO;;AAGhB,eAAsB,EACpB,GACA,GACA,IAAQ,IACiC;AAQzC,SAPa,MAAM,EAAyE;EAC1F,OAAO;EACP,eAAe;EACf,WAAW;GAAE,WAAW;GAAsB;GAAO;EACrD;EACA;EACD,CAAC,EACU,0BAA0B,EAAE;;AAG1C,eAAsB,EACpB,GACA,GACA,GACA,IAAQ,KACgC;AAUxC,SATa,MAAM,EAEhB;EACD,OAAO;EACP,eAAe;EACf,WAAW;GAAE;GAAgB;GAAO;EACpC;EACA;EACD,CAAC,EACU,iCAAiC,EAAE;;AAOjD,eAAsB,EACpB,GAMA,GACA,GACuC;AAgBvC,SAfa,MAAM,EAAkE;EACnF,OAAO;EACP,eAAe;EACf,WAAW,EACT,OAAO;GACL,gBAAgB,EAAO;GACvB,WAAW;GACX,QAAQ,EAAO;GACf,OAAO,EAAO;GACd,gBAAgB,EAAO;GACxB,EACF;EACD;EACA;EACD,CAAC,EACU;;AAGd,eAAsB,EACpB,GACA,GACA,GACe;AACf,OAAM,EAAuD;EAC3D,OAAO;EACP,eAAe;EACf,WAAW,EAAE,mBAAgB;EAC7B;EACA;EACD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createSandboxAssistantTransport.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/assistant/createSandboxAssistantTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAmCH;;;;;;;;;GASG;AACH,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf;kFAC8E;IAC9E,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IACrB,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,2EAA2E;AAC3E,UAAU,uBAAuB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,4EAA4E;AAC5E,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,WAAW,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACtD,YAAY,EAAE,MAAM,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC5D,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;CAC1E;AAuVD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,kBAAkB,CAudjE"}
|