@trops/dash-core 0.1.123 → 0.1.124

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
@@ -13170,6 +13170,13 @@ function mcpJsonToFormState(jsonString, nextRowId) {
13170
13170
  return result;
13171
13171
  }
13172
13172
 
13173
+ var getUserConfigurableProviders = function getUserConfigurableProviders(providers) {
13174
+ if (!providers) return [];
13175
+ return providers.filter(function (p) {
13176
+ return p.providerClass !== "api";
13177
+ });
13178
+ };
13179
+
13173
13180
  function _createForOfIteratorHelper$8(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$8(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
13174
13181
  function _unsupportedIterableToArray$8(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$8(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$8(r, a) : void 0; } }
13175
13182
  function _arrayLikeToArray$8(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -13530,8 +13537,9 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
13530
13537
  var providers = new Set();
13531
13538
  providers.add("none"); // For widgets without providers
13532
13539
  widgets.forEach(function (widget) {
13533
- if (widget.providers && widget.providers.length > 0) {
13534
- widget.providers.forEach(function (provider) {
13540
+ var configurable = getUserConfigurableProviders(widget.providers);
13541
+ if (configurable.length > 0) {
13542
+ configurable.forEach(function (provider) {
13535
13543
  providers.add(provider.type);
13536
13544
  });
13537
13545
  }
@@ -13556,9 +13564,9 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
13556
13564
  var matchesProvider = true;
13557
13565
  if (selectedProvider !== "all") {
13558
13566
  if (selectedProvider === "none") {
13559
- matchesProvider = !widget.providers || widget.providers.length === 0;
13567
+ matchesProvider = getUserConfigurableProviders(widget.providers).length === 0;
13560
13568
  } else {
13561
- matchesProvider = widget.providers && widget.providers.some(function (p) {
13569
+ matchesProvider = getUserConfigurableProviders(widget.providers).some(function (p) {
13562
13570
  return p.type === selectedProvider;
13563
13571
  });
13564
13572
  }
@@ -13985,7 +13993,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
13985
13993
  }
13986
13994
 
13987
13995
  // Check providers: all required providers must be selected
13988
- var hasRequiredProviders = selectedWidget.providers ? selectedWidget.providers.filter(function (p) {
13996
+ var hasRequiredProviders = selectedWidget.providers ? getUserConfigurableProviders(selectedWidget.providers).filter(function (p) {
13989
13997
  return p.required === true;
13990
13998
  }).every(function (p) {
13991
13999
  return selectedProviders[p.type] && selectedProviders[p.type] !== "";
@@ -14107,7 +14115,6 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14107
14115
  })
14108
14116
  })
14109
14117
  }), expandedPackages.has(group.name) && group.widgets.map(function (widget) {
14110
- var _widget$providers;
14111
14118
  return /*#__PURE__*/jsx(MenuItem3, {
14112
14119
  onClick: function onClick() {
14113
14120
  return handleWidgetSelect(widget);
@@ -14127,9 +14134,9 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14127
14134
  }), widget.description && /*#__PURE__*/jsx("div", {
14128
14135
  className: "text-xs opacity-50 truncate",
14129
14136
  children: widget.description
14130
- }), ((_widget$providers = widget.providers) === null || _widget$providers === void 0 ? void 0 : _widget$providers.length) > 0 && /*#__PURE__*/jsx("div", {
14137
+ }), getUserConfigurableProviders(widget.providers).length > 0 && /*#__PURE__*/jsx("div", {
14131
14138
  className: "flex flex-wrap gap-1 mt-0.5",
14132
- children: widget.providers.map(function (p) {
14139
+ children: getUserConfigurableProviders(widget.providers).map(function (p) {
14133
14140
  return /*#__PURE__*/jsx("span", {
14134
14141
  className: "text-[10px] px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-300",
14135
14142
  children: p.type
@@ -14151,7 +14158,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14151
14158
  padding: true,
14152
14159
  height: "h-full",
14153
14160
  children: filteredWidgets.map(function (widget) {
14154
- var _widget$providers2;
14161
+ var _widget$providers;
14155
14162
  return /*#__PURE__*/jsx(MenuItem3, {
14156
14163
  onClick: function onClick() {
14157
14164
  return handleWidgetSelect(widget);
@@ -14171,7 +14178,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14171
14178
  }), widget.description && /*#__PURE__*/jsx("div", {
14172
14179
  className: "text-xs opacity-50 truncate",
14173
14180
  children: widget.description
14174
- }), ((_widget$providers2 = widget.providers) === null || _widget$providers2 === void 0 ? void 0 : _widget$providers2.length) > 0 && /*#__PURE__*/jsx("div", {
14181
+ }), ((_widget$providers = widget.providers) === null || _widget$providers === void 0 ? void 0 : _widget$providers.length) > 0 && /*#__PURE__*/jsx("div", {
14175
14182
  className: "flex flex-wrap gap-1 mt-0.5",
14176
14183
  children: widget.providers.map(function (p) {
14177
14184
  return /*#__PURE__*/jsx("span", {
@@ -14259,9 +14266,9 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14259
14266
  }), w.description && /*#__PURE__*/jsx("div", {
14260
14267
  className: "text-xs text-gray-400 mt-0.5",
14261
14268
  children: w.description
14262
- }), w.providers && w.providers.length > 0 && /*#__PURE__*/jsx("div", {
14269
+ }), getUserConfigurableProviders(w.providers).length > 0 && /*#__PURE__*/jsx("div", {
14263
14270
  className: "flex gap-1 mt-1",
14264
- children: w.providers.map(function (p, pidx) {
14271
+ children: getUserConfigurableProviders(w.providers).map(function (p, pidx) {
14265
14272
  return /*#__PURE__*/jsxs("span", {
14266
14273
  className: "text-xs px-1.5 py-0.5 rounded bg-blue-900/30 text-blue-400",
14267
14274
  children: [p.type, p.required ? " *" : ""]
@@ -14467,7 +14474,6 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14467
14474
  children: groupedInstalledWidgets[groupName].length
14468
14475
  })]
14469
14476
  }), expandedGroups.has(groupName) && groupedInstalledWidgets[groupName].map(function (widget) {
14470
- var _widget$providers3;
14471
14477
  return /*#__PURE__*/jsx(MenuItem3, {
14472
14478
  onClick: function onClick() {
14473
14479
  return handleWidgetSelect(widget);
@@ -14487,9 +14493,9 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14487
14493
  }), widget.description && /*#__PURE__*/jsx("div", {
14488
14494
  className: "text-xs opacity-50 truncate",
14489
14495
  children: widget.description
14490
- }), ((_widget$providers3 = widget.providers) === null || _widget$providers3 === void 0 ? void 0 : _widget$providers3.length) > 0 && /*#__PURE__*/jsx("div", {
14496
+ }), getUserConfigurableProviders(widget.providers).length > 0 && /*#__PURE__*/jsx("div", {
14491
14497
  className: "flex flex-wrap gap-1 mt-0.5",
14492
- children: widget.providers.map(function (p) {
14498
+ children: getUserConfigurableProviders(widget.providers).map(function (p) {
14493
14499
  return /*#__PURE__*/jsx("span", {
14494
14500
  className: "text-[10px] px-1.5 py-0.5 rounded bg-blue-500/20 text-blue-300",
14495
14501
  children: p.type
@@ -14547,7 +14553,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14547
14553
  className: "text-sm",
14548
14554
  children: selectedWidget.description
14549
14555
  })
14550
- }), selectedWidget.providers && selectedWidget.providers.length > 0 && /*#__PURE__*/jsxs("div", {
14556
+ }), getUserConfigurableProviders(selectedWidget.providers).length > 0 && /*#__PURE__*/jsxs("div", {
14551
14557
  className: "mb-2",
14552
14558
  children: [/*#__PURE__*/jsx(Paragraph, {
14553
14559
  padding: false,
@@ -14555,7 +14561,7 @@ var EnhancedWidgetDropdown = function EnhancedWidgetDropdown(_ref) {
14555
14561
  children: "REQUIRED PROVIDERS"
14556
14562
  }), /*#__PURE__*/jsx("div", {
14557
14563
  className: "space-y-2",
14558
- children: selectedWidget.providers.map(function (providerReq, idx) {
14564
+ children: getUserConfigurableProviders(selectedWidget.providers).map(function (providerReq, idx) {
14559
14565
  var _inlineCatalogEntry$m, _inlineCatalogEntry$m2, _inlineCatalogEntry$m3, _inlineCatalogEntry$m4, _inlineCatalogEntry$m5, _inlineTestResult$too;
14560
14566
  // Get available providers of this type
14561
14567
  var providersOfType = Object.values(availableProviders).filter(function (p) {
@@ -36902,14 +36908,14 @@ var InstalledWidgetDetail = function InstalledWidgetDetail(_ref) {
36902
36908
  className: "text-sm opacity-70",
36903
36909
  children: widget.workspace
36904
36910
  })]
36905
- }), widget.providers && widget.providers.length > 0 && /*#__PURE__*/jsxs("div", {
36911
+ }), getUserConfigurableProviders(widget.providers).length > 0 && /*#__PURE__*/jsxs("div", {
36906
36912
  className: "flex flex-col space-y-1",
36907
36913
  children: [/*#__PURE__*/jsx("span", {
36908
36914
  className: "text-xs font-semibold opacity-50",
36909
36915
  children: "PROVIDERS"
36910
36916
  }), /*#__PURE__*/jsx("div", {
36911
36917
  className: "flex flex-wrap gap-1.5",
36912
- children: widget.providers.map(function (p, i) {
36918
+ children: getUserConfigurableProviders(widget.providers).map(function (p, i) {
36913
36919
  return /*#__PURE__*/jsxs("div", {
36914
36920
  className: "flex flex-col gap-1",
36915
36921
  children: [/*#__PURE__*/jsxs("span", {
@@ -37108,22 +37114,22 @@ var RegistryPackageDetail = function RegistryPackageDetail(_ref) {
37108
37114
  }), w.description && /*#__PURE__*/jsx("div", {
37109
37115
  className: "text-xs opacity-50 mt-0.5",
37110
37116
  children: w.description
37111
- }), w.providers && w.providers.length > 0 && /*#__PURE__*/jsxs("div", {
37117
+ }), getUserConfigurableProviders(w.providers).length > 0 && /*#__PURE__*/jsxs("div", {
37112
37118
  className: "space-y-1 mt-1",
37113
37119
  children: [/*#__PURE__*/jsx("div", {
37114
37120
  className: "flex gap-1 flex-wrap",
37115
- children: w.providers.map(function (p, pidx) {
37121
+ children: getUserConfigurableProviders(w.providers).map(function (p, pidx) {
37116
37122
  return /*#__PURE__*/jsxs("span", {
37117
37123
  className: "text-xs px-1.5 py-0.5 rounded bg-blue-900/30 text-blue-400",
37118
37124
  children: [p.type, p.required ? " *" : ""]
37119
37125
  }, pidx);
37120
37126
  })
37121
- }), w.providers.some(function (p) {
37127
+ }), getUserConfigurableProviders(w.providers).some(function (p) {
37122
37128
  var _p$requiredTools;
37123
37129
  return ((_p$requiredTools = p.requiredTools) === null || _p$requiredTools === void 0 ? void 0 : _p$requiredTools.length) > 0;
37124
37130
  }) && /*#__PURE__*/jsx("div", {
37125
37131
  className: "flex flex-wrap gap-1 ml-1",
37126
- children: w.providers.filter(function (p) {
37132
+ children: getUserConfigurableProviders(w.providers).filter(function (p) {
37127
37133
  var _p$requiredTools2;
37128
37134
  return ((_p$requiredTools2 = p.requiredTools) === null || _p$requiredTools2 === void 0 ? void 0 : _p$requiredTools2.length) > 0;
37129
37135
  }).flatMap(function (p) {
@@ -38058,7 +38064,7 @@ var WidgetsSection = function WidgetsSection(_ref) {
38058
38064
  }, [widgets]);
38059
38065
  var uniqueProviders = useMemo(function () {
38060
38066
  return _toConsumableArray(new Set(widgets.flatMap(function (w) {
38061
- return (w.providers || []).map(function (p) {
38067
+ return getUserConfigurableProviders(w.providers || []).map(function (p) {
38062
38068
  return p.type;
38063
38069
  });
38064
38070
  }))).sort();
@@ -38082,9 +38088,9 @@ var WidgetsSection = function WidgetsSection(_ref) {
38082
38088
  // Provider filter
38083
38089
  if (filterProvider !== "all") {
38084
38090
  if (filterProvider === "none") {
38085
- if (w.providers && w.providers.length > 0) return false;
38091
+ if (getUserConfigurableProviders(w.providers).length > 0) return false;
38086
38092
  } else {
38087
- if (!w.providers || !w.providers.some(function (p) {
38093
+ if (!getUserConfigurableProviders(w.providers).some(function (p) {
38088
38094
  return p.type === filterProvider;
38089
38095
  })) return false;
38090
38096
  }
@@ -43463,5 +43469,5 @@ var WorkspaceMenu = function WorkspaceMenu(_ref) {
43463
43469
 
43464
43470
  ComponentManager.registerContainerTypes(LayoutContainer, LayoutGridContainer);
43465
43471
 
43466
- 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, 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, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, 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, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, 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, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, 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, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeManagerModal, ThemeModel, ThemeWrapper, 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, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, 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, getWidgetsForWorkspace, getWorkspacesForWorkspace, headerTemplateToRows, isContainer, isLikelySecret, isMaxOrderForItem, isMinOrderForItem, isWidget, isWidgetResolvable, isWorkspace, layoutItemHasWorkspaceAsChild, loadWidgetBundle, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useNotifications, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
43472
+ 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, 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, DashboardApi, DashboardContext, DashboardFooter, DashboardHeader, DashboardMenuItem, DashboardModel, DashboardMonitor, DashboardPublisher, DashboardStage, DashboardThemeProvider, 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, McpServerPicker, MenuItemModel, MenuSlideOverlay, MergeCellsModal, 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, PanelCode, PanelEditItem, PanelEditItemHandlers, PanelEditItemNotifications, 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, THEME_DELETE, THEME_DELETE_COMPLETE, THEME_DELETE_ERROR, THEME_LIST, THEME_LIST_COMPLETE, THEME_LIST_ERROR, THEME_SAVE, THEME_SAVE_COMPLETE, THEME_SAVE_ERROR, ThemeApi, ThemeManagerModal, ThemeModel, ThemeWrapper, 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, Widget, WidgetApi, WidgetConfigPanel, WidgetContext, WidgetFactory, WidgetPopoutStage, WidgetProviderWrapper, WidgetSidebar, Workspace, WorkspaceContext, WorkspaceFooter, WorkspaceMenu, WorkspaceModel, addChildToLayoutItem, addItemToItemLayout, 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, mcpJsonToFormState, numChildrenForLayout, removeItemFromLayout, renderComponent, renderGridLayout, renderGridLayoutFlow, _renderLayout as renderLayout, renderLayoutMenu, replaceItemInLayout, resolveIcon, setHostModules, traverseParentTree, updateLayoutItem, updateParentForItem, useDashboard, useMcpProvider, useNotifications, useProvider, useProviderClient, useWidgetEvents, useWidgetProviders, validateCellMerge, validateGridCell, validateGridPlacement, validateWidgetPlacement, withProviderDetection };
43467
43473
  //# sourceMappingURL=index.esm.js.map