@trops/dash-core 0.1.439 → 0.1.440

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -8364,6 +8364,60 @@ var DashboardWizardModal = function DashboardWizardModal(_ref) {
8364
8364
  });
8365
8365
  };
8366
8366
 
8367
+ /**
8368
+ * useWidgetRegistryVersion
8369
+ *
8370
+ * Returns a counter that increments every time the
8371
+ * `dash:widgets-updated` window event fires. Components that derive
8372
+ * lists from `ComponentManager.componentMap()` should pass the
8373
+ * returned value into their `useMemo` / `useEffect` deps so they
8374
+ * re-run when widgets are installed, updated, or uninstalled.
8375
+ *
8376
+ * Background: `componentMap()` returns a plain JS object held at
8377
+ * module scope. React doesn't observe it. Without a counter that
8378
+ * consumers can include in deps, every list (widget sidebar,
8379
+ * Settings → Widgets, Add Widget dropdown, Dependencies tab, etc.)
8380
+ * stays frozen at whatever it derived on first render even after
8381
+ * a new package installs and re-registers configs.
8382
+ *
8383
+ * The producer side is the single dispatch in dash-electron's
8384
+ * `Dash.js#handleWidgetInstalled` (and the `handleWidgetsLoaded`
8385
+ * + `handleWidgetUninstalled` siblings). That fires
8386
+ * `dash:widgets-updated` once per registry mutation; this hook is
8387
+ * the consumer-side contract.
8388
+ *
8389
+ * Usage:
8390
+ *
8391
+ * const widgetVersion = useWidgetRegistryVersion();
8392
+ * const allWidgets = useMemo(() => {
8393
+ * const cm = ComponentManager.componentMap();
8394
+ * return Object.keys(cm).filter((k) => cm[k].type === "widget");
8395
+ * }, [widgetVersion]);
8396
+ *
8397
+ * The hook subscribes once on mount and cleans up on unmount, so
8398
+ * adding it to a component is free.
8399
+ *
8400
+ * @returns {number} monotonically increasing counter, starts at 0
8401
+ */
8402
+ function useWidgetRegistryVersion() {
8403
+ var _useState = useState(0),
8404
+ _useState2 = _slicedToArray(_useState, 2),
8405
+ version = _useState2[0],
8406
+ setVersion = _useState2[1];
8407
+ useEffect(function () {
8408
+ var bump = function bump() {
8409
+ return setVersion(function (v) {
8410
+ return v + 1;
8411
+ });
8412
+ };
8413
+ window.addEventListener("dash:widgets-updated", bump);
8414
+ return function () {
8415
+ return window.removeEventListener("dash:widgets-updated", bump);
8416
+ };
8417
+ }, []);
8418
+ return version;
8419
+ }
8420
+
8367
8421
  var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
8368
8422
  var workspace = _ref.workspace,
8369
8423
  open = _ref.open,
@@ -8372,6 +8426,11 @@ var LayoutBuilderAddItemModal = function LayoutBuilderAddItemModal(_ref) {
8372
8426
  item = _ref$item === void 0 ? null : _ref$item,
8373
8427
  _ref$onSaveItem = _ref.onSaveItem,
8374
8428
  onSaveItem = _ref$onSaveItem === void 0 ? null : _ref$onSaveItem;
8429
+ // Re-render when the widget registry mutates (install / update /
8430
+ // uninstall) so the available-widgets list reflects the live state
8431
+ // without requiring the modal to be closed and reopened.
8432
+ // eslint-disable-next-line no-unused-vars
8433
+ useWidgetRegistryVersion();
8375
8434
  var _useContext = useContext(ThemeContext),
8376
8435
  currentTheme = _useContext.currentTheme;
8377
8436
  var _useState = useState(""),
@@ -18329,18 +18388,13 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
18329
18388
  return Object.values(groups);
18330
18389
  };
18331
18390
 
18332
- // Refresh widget list when installed widgets change
18391
+ // Refresh widget list when installed widgets change. Subscribing
18392
+ // via the shared registry-version hook keeps this in sync with
18393
+ // every other widget-list surface (sidebar, settings, etc.).
18394
+ var widgetRegistryVersion = useWidgetRegistryVersion();
18333
18395
  useEffect(function () {
18334
- var handleWidgetsUpdated = function handleWidgetsUpdated() {
18335
- if (isOpen && selectedSource === "Installed") {
18336
- loadWidgets();
18337
- }
18338
- };
18339
- window.addEventListener("dash:widgets-updated", handleWidgetsUpdated);
18340
- return function () {
18341
- return window.removeEventListener("dash:widgets-updated", handleWidgetsUpdated);
18342
- };
18343
- }, [isOpen, selectedSource, loadWidgets]);
18396
+ if (isOpen && selectedSource === "Installed") loadWidgets();
18397
+ }, [widgetRegistryVersion, isOpen, selectedSource, loadWidgets]);
18344
18398
 
18345
18399
  // Load widgets when source changes
18346
18400
  useEffect(function () {
@@ -49349,16 +49403,15 @@ var DiscoverWidgetsDetail = function DiscoverWidgetsDetail(_ref) {
49349
49403
  }
49350
49404
  }, _callee2, null, [[0, 2]]);
49351
49405
  })), []);
49406
+
49407
+ // Re-load whenever the registry mutates (install / update /
49408
+ // uninstall). The shared hook means this surface stays in sync
49409
+ // with the widget sidebar and Settings → Widgets without each
49410
+ // re-implementing the same listener.
49411
+ var widgetRegistryVersion = useWidgetRegistryVersion();
49352
49412
  useEffect(function () {
49353
49413
  loadInstalledPackages();
49354
- var handleWidgetsUpdated = function handleWidgetsUpdated() {
49355
- return loadInstalledPackages();
49356
- };
49357
- window.addEventListener("dash:widgets-updated", handleWidgetsUpdated);
49358
- return function () {
49359
- return window.removeEventListener("dash:widgets-updated", handleWidgetsUpdated);
49360
- };
49361
- }, [loadInstalledPackages]);
49414
+ }, [loadInstalledPackages, widgetRegistryVersion]);
49362
49415
 
49363
49416
  // Watch for install completion — same pattern as WidgetSidebar
49364
49417
  useEffect(function () {
@@ -50048,16 +50101,10 @@ var useInstalledWidgets = function useInstalledWidgets() {
50048
50101
  return _ref2.apply(this, arguments);
50049
50102
  };
50050
50103
  }(), [refresh, widgets]);
50104
+ var widgetRegistryVersion = useWidgetRegistryVersion();
50051
50105
  useEffect(function () {
50052
50106
  refresh();
50053
- var handleWidgetsUpdated = function handleWidgetsUpdated() {
50054
- return refresh();
50055
- };
50056
- window.addEventListener("dash:widgets-updated", handleWidgetsUpdated);
50057
- return function () {
50058
- return window.removeEventListener("dash:widgets-updated", handleWidgetsUpdated);
50059
- };
50060
- }, [refresh]);
50107
+ }, [refresh, widgetRegistryVersion]);
50061
50108
  return {
50062
50109
  widgets: widgets,
50063
50110
  isLoading: isLoading,
@@ -54366,22 +54413,9 @@ var WidgetSidebar = function WidgetSidebar(_ref4) {
54366
54413
  filterHasHandlers = _useState22[0],
54367
54414
  setFilterHasHandlers = _useState22[1];
54368
54415
 
54369
- // Counter to trigger re-computation when installed widgets change
54370
- var _useState23 = useState(0),
54371
- _useState24 = _slicedToArray(_useState23, 2),
54372
- widgetVersion = _useState24[0],
54373
- setWidgetVersion = _useState24[1];
54374
- useEffect(function () {
54375
- var handleWidgetsUpdated = function handleWidgetsUpdated() {
54376
- return setWidgetVersion(function (v) {
54377
- return v + 1;
54378
- });
54379
- };
54380
- window.addEventListener("dash:widgets-updated", handleWidgetsUpdated);
54381
- return function () {
54382
- return window.removeEventListener("dash:widgets-updated", handleWidgetsUpdated);
54383
- };
54384
- }, []);
54416
+ // Counter from the shared `dash:widgets-updated` event so the
54417
+ // sidebar re-derives whenever widgets install / update / uninstall.
54418
+ var widgetVersion = useWidgetRegistryVersion();
54385
54419
 
54386
54420
  // Flat list of all widgets
54387
54421
  var allWidgets = useMemo(function () {
@@ -54398,10 +54432,10 @@ var WidgetSidebar = function WidgetSidebar(_ref4) {
54398
54432
 
54399
54433
  // Set of installed package identifiers for "Installed" badge in Discover tab.
54400
54434
  // Stores folder names, package names, and "author/name" keys for matching.
54401
- var _useState25 = useState(new Set()),
54402
- _useState26 = _slicedToArray(_useState25, 2),
54403
- installedPackageNames = _useState26[0],
54404
- setInstalledPackageNames = _useState26[1];
54435
+ var _useState23 = useState(new Set()),
54436
+ _useState24 = _slicedToArray(_useState23, 2),
54437
+ installedPackageNames = _useState24[0],
54438
+ setInstalledPackageNames = _useState24[1];
54405
54439
  useEffect(function () {
54406
54440
  var cancelled = false;
54407
54441
  var loadInstalled = /*#__PURE__*/function () {
@@ -54797,18 +54831,10 @@ var useMissingWidgets = function useMissingWidgets(workspace) {
54797
54831
  })));
54798
54832
  setMissingComponents(missing);
54799
54833
  }, [workspace === null || workspace === void 0 ? void 0 : workspace.layout]);
54834
+ var widgetRegistryVersion = useWidgetRegistryVersion();
54800
54835
  useEffect(function () {
54801
54836
  check();
54802
- }, [check]);
54803
- useEffect(function () {
54804
- var handler = function handler() {
54805
- return check();
54806
- };
54807
- window.addEventListener("dash:widgets-updated", handler);
54808
- return function () {
54809
- return window.removeEventListener("dash:widgets-updated", handler);
54810
- };
54811
- }, [check]);
54837
+ }, [check, widgetRegistryVersion]);
54812
54838
  return {
54813
54839
  missingComponents: missingComponents,
54814
54840
  hasMissing: missingComponents.length > 0
@@ -62487,5 +62513,5 @@ function MarkdownFormEditor(_ref8) {
62487
62513
 
62488
62514
  ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
62489
62515
 
62490
- export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
62516
+ export { ALGOLIA_ANALYTICS_FOR_QUERY, ALGOLIA_ANALYTICS_FOR_QUERY_COMPLETE, ALGOLIA_ANALYTICS_FOR_QUERY_ERROR, ALGOLIA_LIST_INDICES, ALGOLIA_LIST_INDICES_COMPLETE, ALGOLIA_LIST_INDICES_ERROR, AVAILABLE_COLORS, AddMenuItemModal, AdvancedMcpConfig, AppContext, AppSettingsModal, AppThemeScope, AppWrapper, CHOOSE_FILE, CHOOSE_FILE_COMPLETE, CHOOSE_FILE_ERROR, ChatCore, ChatInput, ChatMessages, ColorModel, ComponentConfigModel, ComponentManager, ContextModel, DATA_JSON_TO_CSV_FILE, DATA_JSON_TO_CSV_FILE_COMPLETE, DATA_JSON_TO_CSV_FILE_ERROR, DATA_JSON_TO_CSV_STRING, DATA_JSON_TO_CSV_STRING_COMPLETE, DATA_JSON_TO_CSV_STRING_ERROR, DATA_READ_FROM_FILE, DATA_READ_FROM_FILE_COMPLETE, DATA_READ_FROM_FILE_ERROR, DATA_SAVE_TO_FILE, DATA_SAVE_TO_FILE_COMPLETE, DATA_SAVE_TO_FILE_ERROR, DashCommandPalette, DashNavbar, DashSidebar, DashTabBar, DashboardStage as Dashboard, DashboardActionsApi, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, DashboardWizardModal, DashboardWrapper, ElectronDashboardApi, ErrorBoundary, ExternalWidget, GRID_CELL_WIDGET_TYPE, HARMONY_STRATEGIES, LAYOUT_LIST, LAYOUT_LIST_COMPLETE, LAYOUT_LIST_ERROR, LAYOUT_SAVE, LAYOUT_SAVE_COMPLETE, LAYOUT_SAVE_ERROR, Layout, LayoutBuilder, LayoutBuilderAddItemModal, LayoutBuilderConfigContainerMenuItem, LayoutBuilderConfigMenuItem, LayoutBuilderConfigModal, LayoutBuilderEditItemModal, LayoutBuilderEventModal, LayoutBuilderGridItem, LayoutContainer, LayoutDragBuilder, LayoutDragBuilderEdit, LayoutGridContainer, LayoutManagerModal, LayoutModel, LayoutQuickAddMenu, MCP_CALL_TOOL_COMPLETE, MCP_CALL_TOOL_ERROR, MCP_GET_CATALOG_COMPLETE, MCP_GET_CATALOG_ERROR, MCP_LIST_RESOURCES_COMPLETE, MCP_LIST_RESOURCES_ERROR, MCP_LIST_TOOLS_COMPLETE, MCP_LIST_TOOLS_ERROR, MCP_READ_RESOURCE_COMPLETE, MCP_READ_RESOURCE_ERROR, MCP_RUN_AUTH_COMPLETE, MCP_RUN_AUTH_ERROR, MCP_SERVER_STATUS_COMPLETE, MCP_SERVER_STATUS_ERROR, MCP_START_SERVER_COMPLETE, MCP_START_SERVER_ERROR, MCP_STOP_SERVER_COMPLETE, MCP_STOP_SERVER_ERROR, MENU_ITEMS_DELETE, MENU_ITEMS_DELETE_COMPLETE, MENU_ITEMS_DELETE_ERROR, MENU_ITEMS_LIST, MENU_ITEMS_LIST_COMPLETE, MENU_ITEMS_LIST_ERROR, MENU_ITEMS_SAVE, MENU_ITEMS_SAVE_COMPLETE, MENU_ITEMS_SAVE_ERROR, MainMenu, MainMenuItem, MainMenuSection, MarkdownFormEditor, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, MessageBubble, MissingProviderPrompt, MockDashboardApi, PROVIDER_DELETE_COMPLETE, PROVIDER_DELETE_ERROR, PROVIDER_GET_COMPLETE, PROVIDER_GET_ERROR, PROVIDER_LIST_COMPLETE, PROVIDER_LIST_ERROR, PROVIDER_SAVE_COMPLETE, PROVIDER_SAVE_ERROR, PageTabBar, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, PanelEditItemProviders, PinnedSidebar, ProviderContext, ProviderErrorBoundary, ProviderForm, ProviderSelector, SECURE_STORAGE_ENCRYPT_STRING, SECURE_STORAGE_ENCRYPT_STRING_COMPLETE, SECURE_STORAGE_ENCRYPT_STRING_ERROR, SECURE_STORE_ENCRYPTION_CHECK, SECURE_STORE_ENCRYPTION_CHECK_COMPLETE, SECURE_STORE_ENCRYPTION_CHECK_ERROR, SECURE_STORE_GET_DATA, SECURE_STORE_GET_DATA_COMPLETE, SECURE_STORE_GET_DATA_ERROR, SECURE_STORE_SET_DATA, SECURE_STORE_SET_DATA_COMPLETE, SECURE_STORE_SET_DATA_ERROR, SETTINGS_GET, SETTINGS_GET_COMPLETE, SETTINGS_GET_ERROR, SETTINGS_SAVE, SETTINGS_SAVE_COMPLETE, SETTINGS_SAVE_ERROR, SIDEBAR_WIDGET_TYPE, SettingsModel, SideMenu, SplitCellModal, StreamingText, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_EXTRACT_FROM_URL, THEME_EXTRACT_FROM_URL_COMPLETE, THEME_EXTRACT_FROM_URL_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_MAP_PALETTE, THEME_MAP_PALETTE_COMPLETE, THEME_MAP_PALETTE_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeColorDots, ThemeManagerModal, ThemeModel, ThemeWrapper, ToolCallBlock, ToolSelector, WELCOME_STORAGE_KEY, WORKSPACE_DELETE, WORKSPACE_DELETE_COMPLETE, WORKSPACE_DELETE_ERROR, WORKSPACE_LIST, WORKSPACE_LIST_COMPLETE, WORKSPACE_LIST_ERROR, WORKSPACE_SAVE, WORKSPACE_SAVE_COMPLETE, WORKSPACE_SAVE_ERROR, WebDashboardApi, WelcomePrompt, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetNotFound, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, WizardCustomizeStep, WizardDiscoverStep, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, WorkspaceScopeContext, addChildToLayoutItem, addItemToItemLayout, bareComponentName, buildMcpConfigFromOverrides, canHaveChildren, changeDirectionForLayoutItem, createProviderRegistry, deriveFormFields, envMappingToRows, evaluateBundle, extractWidgetConfigs, formStateToMcpJson, formatFieldName, generateCustomTheme, generateHarmonyTheme, generateRandomTheme, generateThemeName, getBorderStyle, getChildrenForLayoutItem, getComponentInLayout, getContainerBorderColor, getContainerColor, getIndexOfLayoutChildrenForItem, getIndexOfLayoutItem, getLayoutItemById, getLayoutItemForWorkspace, getNearestParentWorkspace, getNextHighestId, getNextHighestItemInLayout, getNextHighestOrder, getNextHighestParentId, getNextLowestItemInLayout, getParentForLayoutItem, getParentWorkspaceForItem, getThemePresets, getUserConfigurableProviders, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, makeScopedComponentId, mcpJsonToFormState, moveWidgetAcrossContainers, numChildrenForLayout, parse, parseScopedComponentId, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, serialize, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpDashServer, useMcpProvider, useNotifications, useProvider, useProviderClient, useScheduler, useWebSocketProvider, useWidgetEvents, useWidgetProviders, useWidgetRegistryVersion, useWidgetSchedulerStatus, useWizardState, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, widgetCountToTemplate, withProviderDetection };
62491
62517
  //# sourceMappingURL=index.esm.js.map