@vc-shell/framework 1.2.2 → 1.2.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/core/composables/index.ts +2 -0
  2. package/core/composables/useAssets/index.ts +72 -28
  3. package/core/composables/useAsync/index.ts +4 -1
  4. package/core/composables/useBladeRegistry/index.ts +6 -5
  5. package/core/composables/useBreadcrumbs/index.ts +4 -1
  6. package/core/composables/useErrorHandler/index.ts +4 -1
  7. package/core/composables/useFunctions/debounce.ts +0 -1
  8. package/core/composables/useFunctions/delay.ts +0 -1
  9. package/core/composables/useFunctions/index.ts +0 -1
  10. package/core/composables/useFunctions/once.ts +0 -1
  11. package/core/composables/useFunctions/sleep.ts +0 -1
  12. package/core/composables/useFunctions/throttle.ts +0 -1
  13. package/core/composables/useGlobalSearch/index.ts +3 -3
  14. package/core/composables/useMenuService/index.ts +5 -2
  15. package/core/composables/useNotifications/index.ts +5 -2
  16. package/core/composables/useTheme/index.ts +4 -1
  17. package/core/composables/useUser/index.ts +189 -20
  18. package/core/composables/useWidgets/index.ts +5 -2
  19. package/core/constants/defaults.ts +76 -0
  20. package/core/constants/index.ts +2 -0
  21. package/core/constants/ui.ts +68 -0
  22. package/core/interceptors/index.ts +5 -2
  23. package/core/plugins/ai-agent/README.md +336 -0
  24. package/core/plugins/ai-agent/components/VcAiAgentPanel.vue +125 -0
  25. package/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue +182 -0
  26. package/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue +77 -0
  27. package/core/plugins/ai-agent/components/index.ts +1 -0
  28. package/core/plugins/ai-agent/composables/index.ts +4 -0
  29. package/core/plugins/ai-agent/composables/useAiAgent.ts +231 -0
  30. package/core/plugins/ai-agent/composables/useAiAgentContext.ts +280 -0
  31. package/core/plugins/ai-agent/constants.ts +89 -0
  32. package/core/plugins/ai-agent/index.ts +91 -0
  33. package/core/plugins/ai-agent/services/ai-agent-service.ts +598 -0
  34. package/core/plugins/ai-agent/types.ts +310 -0
  35. package/core/plugins/modularity/index.ts +8 -6
  36. package/core/plugins/modularity/loader.ts +36 -33
  37. package/core/plugins/signalR/index.ts +6 -3
  38. package/core/services/app-bar-menu-service.ts +4 -1
  39. package/core/services/dashboard-service.ts +4 -1
  40. package/core/services/index.ts +2 -0
  41. package/core/services/menu-service.ts +4 -1
  42. package/core/services/settings-menu-service.ts +4 -1
  43. package/core/services/toolbar-service.ts +18 -3
  44. package/core/services/widget-service.ts +7 -4
  45. package/core/types/index.ts +3 -0
  46. package/core/types/services.ts +194 -0
  47. package/core/utilities/errorTypes.ts +126 -0
  48. package/core/utilities/index.ts +2 -0
  49. package/core/utilities/logger.ts +120 -0
  50. package/dist/core/composables/useAssets/index.d.ts.map +1 -1
  51. package/dist/core/composables/useAsync/index.d.ts.map +1 -1
  52. package/dist/core/composables/useBladeRegistry/index.d.ts.map +1 -1
  53. package/dist/core/composables/useBreadcrumbs/index.d.ts.map +1 -1
  54. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  55. package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
  56. package/dist/core/composables/useFunctions/delay.d.ts.map +1 -1
  57. package/dist/core/composables/useFunctions/index.d.ts.map +1 -1
  58. package/dist/core/composables/useFunctions/once.d.ts.map +1 -1
  59. package/dist/core/composables/useFunctions/sleep.d.ts.map +1 -1
  60. package/dist/core/composables/useFunctions/throttle.d.ts.map +1 -1
  61. package/dist/core/composables/useGlobalSearch/index.d.ts.map +1 -1
  62. package/dist/core/composables/useMenuService/index.d.ts.map +1 -1
  63. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  64. package/dist/core/composables/useTheme/index.d.ts.map +1 -1
  65. package/dist/core/composables/useUser/index.d.ts +8 -0
  66. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  67. package/dist/core/composables/useWidgets/index.d.ts.map +1 -1
  68. package/dist/core/constants/defaults.d.ts +63 -0
  69. package/dist/core/constants/defaults.d.ts.map +1 -0
  70. package/dist/core/constants/index.d.ts +2 -0
  71. package/dist/core/constants/index.d.ts.map +1 -1
  72. package/dist/core/constants/ui.d.ts +50 -0
  73. package/dist/core/constants/ui.d.ts.map +1 -0
  74. package/dist/core/interceptors/index.d.ts.map +1 -1
  75. package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts +3 -0
  76. package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts.map +1 -0
  77. package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts +15 -0
  78. package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts.map +1 -0
  79. package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue.d.ts +10 -0
  80. package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue.d.ts.map +1 -0
  81. package/dist/core/plugins/ai-agent/components/index.d.ts +2 -0
  82. package/dist/core/plugins/ai-agent/components/index.d.ts.map +1 -0
  83. package/dist/core/plugins/ai-agent/composables/index.d.ts +4 -0
  84. package/dist/core/plugins/ai-agent/composables/index.d.ts.map +1 -0
  85. package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts +95 -0
  86. package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts.map +1 -0
  87. package/dist/core/plugins/ai-agent/composables/useAiAgentContext.d.ts +55 -0
  88. package/dist/core/plugins/ai-agent/composables/useAiAgentContext.d.ts.map +1 -0
  89. package/dist/core/plugins/ai-agent/constants.d.ts +47 -0
  90. package/dist/core/plugins/ai-agent/constants.d.ts.map +1 -0
  91. package/dist/core/plugins/ai-agent/index.d.ts +48 -0
  92. package/dist/core/plugins/ai-agent/index.d.ts.map +1 -0
  93. package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts +45 -0
  94. package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts.map +1 -0
  95. package/dist/core/plugins/ai-agent/types.d.ts +258 -0
  96. package/dist/core/plugins/ai-agent/types.d.ts.map +1 -0
  97. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  98. package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
  99. package/dist/core/plugins/signalR/index.d.ts.map +1 -1
  100. package/dist/core/services/app-bar-menu-service.d.ts.map +1 -1
  101. package/dist/core/services/dashboard-service.d.ts.map +1 -1
  102. package/dist/core/services/menu-service.d.ts.map +1 -1
  103. package/dist/core/services/settings-menu-service.d.ts.map +1 -1
  104. package/dist/core/services/toolbar-service.d.ts.map +1 -1
  105. package/dist/core/services/widget-service.d.ts.map +1 -1
  106. package/dist/core/types/index.d.ts.map +1 -1
  107. package/dist/core/types/services.d.ts +169 -0
  108. package/dist/core/types/services.d.ts.map +1 -0
  109. package/dist/core/utilities/errorTypes.d.ts +61 -0
  110. package/dist/core/utilities/errorTypes.d.ts.map +1 -0
  111. package/dist/core/utilities/index.d.ts +2 -0
  112. package/dist/core/utilities/index.d.ts.map +1 -1
  113. package/dist/core/utilities/logger.d.ts +259 -0
  114. package/dist/core/utilities/logger.d.ts.map +1 -0
  115. package/dist/framework.js +9623 -8417
  116. package/dist/index.css +1 -1
  117. package/dist/index.d.ts +19 -0
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/injection-keys.d.ts +21 -6
  120. package/dist/injection-keys.d.ts.map +1 -1
  121. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  122. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  123. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  124. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.d.ts.map +1 -1
  125. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.d.ts.map +1 -1
  126. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/routerUtils.d.ts.map +1 -1
  127. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts.map +1 -1
  128. package/dist/shared/components/draggable-dashboard/composables/useLayoutPersistence.d.ts.map +1 -1
  129. package/dist/shared/components/notifications/composables/useContainer/index.d.ts.map +1 -1
  130. package/dist/shared/components/notifications/composables/useInstance/index.d.ts.map +1 -1
  131. package/dist/shared/components/notifications/core/notification.d.ts.map +1 -1
  132. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts.map +1 -1
  133. package/dist/shared/components/sign-in/useExternalProvider.d.ts.map +1 -1
  134. package/dist/shared/composables/index.d.ts +1 -0
  135. package/dist/shared/composables/index.d.ts.map +1 -1
  136. package/dist/shared/composables/useExternalWidgets.d.ts.map +1 -1
  137. package/dist/shared/composables/useMenuExpanded.d.ts.map +1 -1
  138. package/dist/shared/composables/useTableSelection.d.ts +57 -0
  139. package/dist/shared/composables/useTableSelection.d.ts.map +1 -0
  140. package/dist/shared/composables/useTableSort.d.ts.map +1 -1
  141. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  142. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  143. package/dist/shared/utilities/colorUtils.d.ts +0 -6
  144. package/dist/shared/utilities/colorUtils.d.ts.map +1 -1
  145. package/dist/tsconfig.tsbuildinfo +1 -1
  146. package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts.map +1 -1
  147. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +0 -15
  148. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  149. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
  150. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  151. package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
  152. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
  153. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  154. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
  155. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +0 -5
  156. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  157. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  158. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
  159. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  160. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  161. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  162. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  163. package/dist/ui/components/molecules/vc-toast/vc-toast.vue.d.ts.map +1 -1
  164. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  165. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  166. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  167. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
  168. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  169. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -1
  170. package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts.map +1 -1
  171. package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts.map +1 -1
  172. package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts.map +1 -1
  173. package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts.map +1 -1
  174. package/dist/{vendor-lodash-es-BqkGj3Jl.js → vendor-lodash-es-SgOIjJF8.js} +2 -0
  175. package/package.json +5 -5
  176. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +4 -1
  177. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +67 -4
  178. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +13 -10
  179. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.ts +7 -4
  180. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.ts +4 -1
  181. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/routerUtils.ts +4 -1
  182. package/shared/components/change-password/change-password.vue +1 -1
  183. package/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.ts +14 -5
  184. package/shared/components/draggable-dashboard/composables/useLayoutPersistence.ts +5 -2
  185. package/shared/components/index.ts +2 -0
  186. package/shared/components/notifications/composables/useContainer/index.ts +8 -6
  187. package/shared/components/notifications/composables/useInstance/index.ts +4 -1
  188. package/shared/components/notifications/core/notification.ts +10 -7
  189. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +20 -1
  190. package/shared/components/sign-in/useExternalProvider.ts +6 -4
  191. package/shared/composables/index.ts +1 -0
  192. package/shared/composables/useExternalWidgets.ts +7 -4
  193. package/shared/composables/useMenuExpanded.ts +15 -1
  194. package/shared/composables/useTableSelection.ts +151 -0
  195. package/shared/composables/useTableSort.ts +4 -4
  196. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +6 -3
  197. package/shared/pages/LoginPage/components/login/Login.vue +4 -1
  198. package/shared/utilities/colorUtils.ts +5 -12
  199. package/ui/components/atoms/vc-banner/vc-banner.vue +4 -1
  200. package/ui/components/atoms/vc-button/vc-button.vue +2 -25
  201. package/ui/components/atoms/vc-container/vc-container.vue +12 -3
  202. package/ui/components/atoms/vc-icon/vc-icon.vue +0 -10
  203. package/ui/components/atoms/vc-icon/vc-lucide-icon.vue +5 -2
  204. package/ui/components/atoms/vc-image/vc-image.vue +4 -1
  205. package/ui/components/atoms/vc-link/vc-link.vue +59 -54
  206. package/ui/components/atoms/vc-loading/vc-loading.vue +4 -0
  207. package/ui/components/atoms/vc-status/vc-status.vue +0 -5
  208. package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +4 -4
  209. package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +8 -1
  210. package/ui/components/atoms/vc-video/vc-video.vue +4 -2
  211. package/ui/components/atoms/vc-widget/vc-widget.vue +4 -1
  212. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +7 -2
  213. package/ui/components/molecules/vc-input/vc-input.vue +0 -1
  214. package/ui/components/molecules/vc-pagination/vc-pagination.vue +6 -1
  215. package/ui/components/molecules/vc-rating/vc-rating.vue +1 -1
  216. package/ui/components/molecules/vc-textarea/vc-textarea.vue +1 -1
  217. package/ui/components/molecules/vc-toast/vc-toast.vue +11 -1
  218. package/ui/components/organisms/vc-app/vc-app.vue +22 -3
  219. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +4 -1
  220. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +14 -14
  221. package/ui/components/organisms/vc-blade/vc-blade.vue +3 -1
  222. package/ui/components/organisms/vc-login-form/vc-login-form.vue +3 -1
  223. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +34 -2
  224. package/ui/components/organisms/vc-table/composables/useTableActions.ts +7 -10
  225. package/ui/components/organisms/vc-table/composables/useTableColumnResize.ts +4 -1
  226. package/ui/components/organisms/vc-table/composables/useTableRowReorder.ts +5 -2
  227. package/ui/components/organisms/vc-table/composables/useTableSelection.ts +26 -18
  228. package/ui/components/organisms/vc-table/composables/useTableState.ts +4 -1
  229. package/core/services/global-search-service.ts +0 -36
  230. package/dist/core/services/global-search-service.d.ts +0 -10
  231. package/dist/core/services/global-search-service.d.ts.map +0 -1
@@ -2,6 +2,9 @@ import { Component, ref, type Ref } from "vue";
2
2
  import * as _ from "lodash-es";
3
3
  import type { MenuItem } from "../types";
4
4
  import { createUnrefFn, useArrayFind } from "@vueuse/core";
5
+ import { createLogger } from "../utilities";
6
+
7
+ const logger = createLogger("menu-service");
5
8
 
6
9
  // Global state for pre-registering menu items
7
10
  const preregisteredMenuItems: Ref<MenuItem[]> = ref([]);
@@ -212,7 +215,7 @@ export function createMenuService(): MenuService {
212
215
  try {
213
216
  addMenuItem(item);
214
217
  } catch (e) {
215
- console.warn(`Failed to register preregistered menu item ${item.id || item.title}:`, e);
218
+ logger.warn(`Failed to register preregistered menu item ${item.id || item.title}:`, e);
216
219
  }
217
220
  });
218
221
 
@@ -1,4 +1,7 @@
1
1
  import { ref, computed, Component, ComputedRef } from "vue";
2
+ import { createLogger } from "../utilities";
3
+
4
+ const logger = createLogger("settings-menu-service");
2
5
 
3
6
  export interface ISettingsMenuItem {
4
7
  id: string;
@@ -63,7 +66,7 @@ export function createSettingsMenuService(): ISettingsMenuService {
63
66
  try {
64
67
  register(item);
65
68
  } catch (e) {
66
- console.warn(`Failed to register pre-added settings menu item ${item.id}:`, e);
69
+ logger.warn(`Failed to register pre-added settings menu item ${item.id}:`, e);
67
70
  }
68
71
  });
69
72
 
@@ -1,4 +1,4 @@
1
- import { reactive, ref, ComputedRef, Ref } from "vue";
1
+ import { reactive } from "vue";
2
2
  import { IBladeToolbar } from "../types";
3
3
 
4
4
  export interface IToolbarItem extends IBladeToolbar {
@@ -103,7 +103,22 @@ export function createToolbarService(): IToolbarService {
103
103
 
104
104
  const getToolbarItems = (bladeId: string): IToolbarItem[] => {
105
105
  const normalizedBladeId = bladeId ? bladeId.toLowerCase() : "";
106
- return toolbarRegistry[normalizedBladeId] || [];
106
+ const bladeItems = toolbarRegistry[normalizedBladeId] || [];
107
+
108
+ // Include global toolbar items registered with "*" (wildcard)
109
+ const globalItems = toolbarRegistry["*"] || [];
110
+
111
+ // Merge items, avoiding duplicates by id
112
+ const result = [...bladeItems];
113
+ const existingIds = new Set(result.map((item) => item.id));
114
+
115
+ globalItems.forEach((item) => {
116
+ if (!existingIds.has(item.id)) {
117
+ result.push(item);
118
+ }
119
+ });
120
+
121
+ return result;
107
122
  };
108
123
 
109
124
  const clearBladeToolbarItems = (bladeId: string): void => {
@@ -135,7 +150,7 @@ export function createToolbarService(): IToolbarService {
135
150
  try {
136
151
  registerToolbarItem(item.toolbarItem, item.bladeId);
137
152
  } catch (e) {
138
- console.warn(`Failed to register preregistered toolbar item ${item.toolbarItem.id}:`, e);
153
+ console.warn(`[toolbar-service] Failed to register preregistered toolbar item ${item.toolbarItem.id}:`, e);
139
154
  }
140
155
  });
141
156
 
@@ -1,6 +1,9 @@
1
1
  import { Component, reactive, ref, ComponentInternalInstance, ComputedRef, Ref, markRaw, Raw } from "vue";
2
2
  import { IBladeInstance } from "../../shared/components/blade-navigation/types";
3
3
  import { cloneDeep } from "lodash-es";
4
+ import { createLogger } from "../utilities";
5
+
6
+ const logger = createLogger("widget-service");
4
7
 
5
8
  export type WidgetEventHandler = (...args: unknown[]) => void;
6
9
 
@@ -151,7 +154,7 @@ export function createWidgetService(): IWidgetService {
151
154
  const customProps = widget.config.propsResolver(bladeData);
152
155
  resolvedProps = { ...widget.props, ...customProps };
153
156
  } catch (error) {
154
- console.error(`Error in propsResolver for widget '${widget.id}':`, error);
157
+ logger.error(`Error in propsResolver for widget '${widget.id}':`, error);
155
158
  // Fallback to existing props if resolver fails
156
159
  resolvedProps = { ...widget.props };
157
160
  }
@@ -168,7 +171,7 @@ export function createWidgetService(): IWidgetService {
168
171
  if (bladeData[bladeKey] !== undefined) {
169
172
  resolvedProps[key] = bladeData[bladeKey];
170
173
  } else {
171
- console.warn(`Required data '${key}' not found in blade data for widget '${widget.id}'`);
174
+ logger.warn(`Required data '${key}' not found in blade data for widget '${widget.id}'`);
172
175
  }
173
176
  });
174
177
 
@@ -272,7 +275,7 @@ export function createWidgetService(): IWidgetService {
272
275
  if (functionNameToCall && typeof activeExposed[functionNameToCall] === "function") {
273
276
  activeExposed[functionNameToCall]();
274
277
  } else {
275
- console.warn(`Widget '${widgetId}' does not have an exposed function named '${functionNameToCall}'.`);
278
+ logger.warn(`Widget '${widgetId}' does not have an exposed function named '${functionNameToCall}'.`);
276
279
  }
277
280
  }
278
281
  };
@@ -293,7 +296,7 @@ export function createWidgetService(): IWidgetService {
293
296
  try {
294
297
  registerWidget(widget.widget, widget.bladeId);
295
298
  } catch (e) {
296
- console.warn(`Failed to register preregistered widget ${widget.widget.id}:`, e);
299
+ logger.warn(`Failed to register preregistered widget ${widget.widget.id}:`, e);
297
300
  }
298
301
  });
299
302
 
@@ -3,6 +3,9 @@ import { CoreBladeExposed } from "../../shared";
3
3
  import { ComponentPublicInstanceConstructor } from "../../shared/utilities";
4
4
  import { IBladeInstance } from "../../shared/components/blade-navigation/types";
5
5
 
6
+ // AI Agent types are now part of the ai-agent plugin
7
+ // export * from "./plugins/ai-agent/types";
8
+
6
9
  // Type instead of interface here is workaround for:
7
10
  // https://github.com/microsoft/TypeScript/issues/15300
8
11
  // (index signature is missing for interfaces in Typescript,
@@ -0,0 +1,194 @@
1
+ import type { App, Ref } from "vue";
2
+
3
+ /**
4
+ * Service lifecycle interface for managing service creation and cleanup
5
+ */
6
+ export interface ServiceLifecycle<T> {
7
+ /**
8
+ * Creates a new instance of the service
9
+ */
10
+ create(): T;
11
+
12
+ /**
13
+ * Provides the service to the Vue application
14
+ */
15
+ provide(app: App): void;
16
+
17
+ /**
18
+ * Cleanup function called when the service is no longer needed
19
+ */
20
+ cleanup(): void;
21
+ }
22
+
23
+ /**
24
+ * Interface for services that support pre-registration of items
25
+ * before the service is fully initialized
26
+ */
27
+ export interface PreregistrationQueue<T> {
28
+ /**
29
+ * Items waiting to be registered
30
+ */
31
+ readonly items: readonly T[];
32
+
33
+ /**
34
+ * Register an item to be processed when the service initializes
35
+ */
36
+ register(item: T): void;
37
+
38
+ /**
39
+ * Flush all pending items and return them for processing
40
+ */
41
+ flush(): T[];
42
+
43
+ /**
44
+ * Clear the queue without processing
45
+ */
46
+ clear(): void;
47
+ }
48
+
49
+ /**
50
+ * Base interface for registry-type services
51
+ */
52
+ export interface RegistryService<TKey, TItem> {
53
+ /**
54
+ * Register a new item in the registry
55
+ */
56
+ register(key: TKey, item: TItem): void;
57
+
58
+ /**
59
+ * Unregister an item from the registry
60
+ */
61
+ unregister(key: TKey): boolean;
62
+
63
+ /**
64
+ * Get an item by its key
65
+ */
66
+ get(key: TKey): TItem | undefined;
67
+
68
+ /**
69
+ * Check if an item exists in the registry
70
+ */
71
+ has(key: TKey): boolean;
72
+
73
+ /**
74
+ * Get all registered items
75
+ */
76
+ getAll(): Map<TKey, TItem>;
77
+
78
+ /**
79
+ * Clear all items from the registry
80
+ */
81
+ clear(): void;
82
+ }
83
+
84
+ /**
85
+ * Interface for services that provide reactive lists
86
+ */
87
+ export interface ListService<T> {
88
+ /**
89
+ * Reactive reference to the list items
90
+ */
91
+ items: Ref<T[]>;
92
+
93
+ /**
94
+ * Add an item to the list
95
+ */
96
+ add(item: T): void;
97
+
98
+ /**
99
+ * Remove an item from the list
100
+ */
101
+ remove(item: T): boolean;
102
+
103
+ /**
104
+ * Find an item in the list
105
+ */
106
+ find(predicate: (item: T) => boolean): T | undefined;
107
+
108
+ /**
109
+ * Filter items in the list
110
+ */
111
+ filter(predicate: (item: T) => boolean): T[];
112
+ }
113
+
114
+ /**
115
+ * Interface for services with ordered items
116
+ */
117
+ export interface OrderedListService<T> extends ListService<T> {
118
+ /**
119
+ * Reorder an item to a new position
120
+ */
121
+ reorder(fromIndex: number, toIndex: number): void;
122
+
123
+ /**
124
+ * Get items sorted by priority
125
+ */
126
+ getSorted(): T[];
127
+ }
128
+
129
+ /**
130
+ * Result type for async service operations
131
+ */
132
+ export interface ServiceResult<T> {
133
+ success: boolean;
134
+ data?: T;
135
+ error?: {
136
+ code: string;
137
+ message: string;
138
+ details?: Record<string, unknown>;
139
+ };
140
+ }
141
+
142
+ /**
143
+ * Interface for services that support subscription to changes
144
+ */
145
+ export interface ObservableService<T> {
146
+ /**
147
+ * Subscribe to changes
148
+ */
149
+ subscribe(callback: (value: T) => void): () => void;
150
+
151
+ /**
152
+ * Get the current value
153
+ */
154
+ getValue(): T;
155
+ }
156
+
157
+ /**
158
+ * Type for widget registration
159
+ */
160
+ export interface WidgetRegistration<TProps = Record<string, unknown>> {
161
+ id: string;
162
+ component: unknown;
163
+ props?: TProps;
164
+ order?: number;
165
+ isVisible?: boolean | (() => boolean);
166
+ }
167
+
168
+ /**
169
+ * Type for menu item registration
170
+ */
171
+ export interface MenuItemRegistration {
172
+ id: string;
173
+ title: string;
174
+ icon?: string;
175
+ priority?: number;
176
+ permissions?: string | string[];
177
+ routeId?: string;
178
+ url?: string;
179
+ group?: string;
180
+ children?: MenuItemRegistration[];
181
+ }
182
+
183
+ /**
184
+ * Type for toolbar item registration
185
+ */
186
+ export interface ToolbarItemRegistration {
187
+ id: string;
188
+ title: string;
189
+ icon?: string;
190
+ order?: number;
191
+ disabled?: boolean;
192
+ clickHandler?: () => void;
193
+ permissions?: string | string[];
194
+ }
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Base error class for VC-Shell framework
3
+ * Provides structured error handling with error codes and context
4
+ */
5
+ export class FrameworkError extends Error {
6
+ constructor(
7
+ message: string,
8
+ public readonly code: string,
9
+ public readonly context?: Record<string, unknown>,
10
+ ) {
11
+ super(message);
12
+ this.name = "FrameworkError";
13
+
14
+ // Maintains proper stack trace for where our error was thrown (only available on V8)
15
+ if (Error.captureStackTrace) {
16
+ Error.captureStackTrace(this, FrameworkError);
17
+ }
18
+ }
19
+
20
+ toJSON() {
21
+ return {
22
+ name: this.name,
23
+ code: this.code,
24
+ message: this.message,
25
+ context: this.context,
26
+ stack: this.stack,
27
+ };
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Error thrown when validation fails
33
+ */
34
+ export class ValidationError extends FrameworkError {
35
+ constructor(message: string, context?: Record<string, unknown>) {
36
+ super(message, "VALIDATION_ERROR", context);
37
+ this.name = "ValidationError";
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Error thrown when a service operation fails
43
+ */
44
+ export class ServiceError extends FrameworkError {
45
+ constructor(message: string, context?: Record<string, unknown>) {
46
+ super(message, "SERVICE_ERROR", context);
47
+ this.name = "ServiceError";
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Error thrown when a required dependency is not provided
53
+ */
54
+ export class InjectionError extends FrameworkError {
55
+ constructor(serviceName: string, context?: Record<string, unknown>) {
56
+ super(`${serviceName} not provided. Make sure to call the corresponding 'provide' function.`, "INJECTION_ERROR", {
57
+ serviceName,
58
+ ...context,
59
+ });
60
+ this.name = "InjectionError";
61
+ }
62
+ }
63
+
64
+ /**
65
+ * Error thrown when component registration fails
66
+ */
67
+ export class RegistrationError extends FrameworkError {
68
+ constructor(componentName: string, reason: string, context?: Record<string, unknown>) {
69
+ super(`Failed to register '${componentName}': ${reason}`, "REGISTRATION_ERROR", {
70
+ componentName,
71
+ ...context,
72
+ });
73
+ this.name = "RegistrationError";
74
+ }
75
+ }
76
+
77
+ /**
78
+ * Error thrown when a blade operation fails
79
+ */
80
+ export class BladeError extends FrameworkError {
81
+ constructor(message: string, bladeId?: string, context?: Record<string, unknown>) {
82
+ super(message, "BLADE_ERROR", {
83
+ bladeId,
84
+ ...context,
85
+ });
86
+ this.name = "BladeError";
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Error thrown when module loading fails
92
+ */
93
+ export class ModuleLoadError extends FrameworkError {
94
+ constructor(moduleId: string, reason: string, context?: Record<string, unknown>) {
95
+ super(`Failed to load module '${moduleId}': ${reason}`, "MODULE_LOAD_ERROR", {
96
+ moduleId,
97
+ ...context,
98
+ });
99
+ this.name = "ModuleLoadError";
100
+ }
101
+ }
102
+
103
+ /**
104
+ * Type guard to check if an error is a FrameworkError
105
+ */
106
+ export function isFrameworkError(error: unknown): error is FrameworkError {
107
+ return error instanceof FrameworkError;
108
+ }
109
+
110
+ /**
111
+ * Wraps an unknown error into a FrameworkError
112
+ */
113
+ export function wrapError(error: unknown, code = "UNKNOWN_ERROR"): FrameworkError {
114
+ if (isFrameworkError(error)) {
115
+ return error;
116
+ }
117
+
118
+ if (error instanceof Error) {
119
+ return new FrameworkError(error.message, code, {
120
+ originalError: error.name,
121
+ stack: error.stack,
122
+ });
123
+ }
124
+
125
+ return new FrameworkError(String(error), code);
126
+ }
@@ -2,3 +2,5 @@ export * from "./camelToSnake";
2
2
  export * from "./kebabToCamel";
3
3
  export * from "./camelize";
4
4
  export * from "./generateId";
5
+ export * from "./logger";
6
+ export * from "./errorTypes";
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Logger utility for consistent logging throughout the framework.
3
+ * Provides conditional logging based on environment and log levels.
4
+ */
5
+
6
+ export type LogLevel = "debug" | "info" | "warn" | "error" | "none";
7
+
8
+ interface LoggerConfig {
9
+ level: LogLevel;
10
+ prefix: string;
11
+ enabled: boolean;
12
+ }
13
+
14
+ const LOG_LEVELS: Record<LogLevel, number> = {
15
+ debug: 0,
16
+ info: 1,
17
+ warn: 2,
18
+ error: 3,
19
+ none: 4,
20
+ };
21
+
22
+ /**
23
+ * Default configuration - can be overridden per logger instance
24
+ */
25
+ const defaultConfig: LoggerConfig = {
26
+ level: (import.meta.env?.DEV ? "debug" : "warn") as LogLevel,
27
+ prefix: "@vc-shell/framework",
28
+ enabled: true,
29
+ };
30
+
31
+ /**
32
+ * Creates a logger instance with optional context prefix
33
+ * @param context - Additional context prefix for log messages
34
+ * @returns Logger instance with log methods
35
+ */
36
+ export function createLogger(context?: string) {
37
+ const config = { ...defaultConfig };
38
+ const prefix = context ? `[${config.prefix}#${context}]` : `[${config.prefix}]`;
39
+
40
+ const shouldLog = (level: LogLevel): boolean => {
41
+ if (!config.enabled) return false;
42
+ return LOG_LEVELS[level] >= LOG_LEVELS[config.level];
43
+ };
44
+
45
+ return {
46
+ /**
47
+ * Log debug messages (only in development)
48
+ */
49
+ debug: (...args: unknown[]): void => {
50
+ if (shouldLog("debug")) {
51
+ console.debug(prefix, ...args);
52
+ }
53
+ },
54
+
55
+ /**
56
+ * Log info messages
57
+ */
58
+ info: (...args: unknown[]): void => {
59
+ if (shouldLog("info")) {
60
+ console.info(prefix, ...args);
61
+ }
62
+ },
63
+
64
+ /**
65
+ * Log warning messages
66
+ */
67
+ warn: (...args: unknown[]): void => {
68
+ if (shouldLog("warn")) {
69
+ console.warn(prefix, ...args);
70
+ }
71
+ },
72
+
73
+ /**
74
+ * Log error messages
75
+ */
76
+ error: (...args: unknown[]): void => {
77
+ if (shouldLog("error")) {
78
+ console.error(prefix, ...args);
79
+ }
80
+ },
81
+
82
+ /**
83
+ * Create a child logger with additional context
84
+ */
85
+ child: (childContext: string) => {
86
+ return createLogger(context ? `${context}:${childContext}` : childContext);
87
+ },
88
+
89
+ /**
90
+ * Set the log level for this logger instance
91
+ */
92
+ setLevel: (level: LogLevel): void => {
93
+ config.level = level;
94
+ },
95
+
96
+ /**
97
+ * Enable or disable logging
98
+ */
99
+ setEnabled: (enabled: boolean): void => {
100
+ config.enabled = enabled;
101
+ },
102
+ };
103
+ }
104
+
105
+ /**
106
+ * Default logger instance for general framework logging
107
+ */
108
+ export const logger = createLogger();
109
+
110
+ /**
111
+ * Pre-configured loggers for common contexts
112
+ */
113
+ export const loggers = {
114
+ core: createLogger("core"),
115
+ ui: createLogger("ui"),
116
+ shared: createLogger("shared"),
117
+ plugins: createLogger("plugins"),
118
+ services: createLogger("services"),
119
+ composables: createLogger("composables"),
120
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useAssets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,KAAK,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrG,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,CAAC;IAC3F,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,CAAC;IACxF,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,wBAAgB,SAAS,IAAI,UAAU,CAkFtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useAssets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,MAAM,KAAK,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQ3C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACrG,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,CAAC;IAC3F,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,CAAC;IACxF,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC/B;AAwDD,wBAAgB,SAAS,IAAI,UAAU,CAkEtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useAsync/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,WAAW,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEhH,MAAM,WAAW,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAE,SAAQ,UAAU;IACzE,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,wBAAgB,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EACpD,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,GACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAmB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useAsync/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,MAAM,MAAM,WAAW,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEhH,MAAM,WAAW,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAE,SAAQ,UAAU;IACzE,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,wBAAgB,QAAQ,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EACpD,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,GACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAmB3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useBladeRegistry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgC,WAAW,EAA2B,MAAM,KAAK,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,wBAAwB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CAEvB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAA0B,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACvF,0CAA0C;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,CAAC;IAC/D,kCAAkC;IAClC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACpF;AAeD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,sBAAsB,CAqGpE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAQjD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useBladeRegistry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgC,WAAW,EAA2B,MAAM,KAAK,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAK7F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,wBAAwB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CAEvB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAA0B,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACvF,0CAA0C;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,CAAC;IAC/D,kCAAkC;IAClC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACpF;AAeD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,sBAAsB,CAmGpE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAQjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useBreadcrumbs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAA+B,MAAM,KAAK,CAAC;AAQ/D,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,wBAAgB,cAAc;;uBAmBF,WAAW;kBAgChB,MAAM,EAAE;EAc9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useBreadcrumbs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAA+B,MAAM,KAAK,CAAC;AAW/D,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,wBAAgB,cAAc;;uBAmBF,WAAW;kBAgChB,MAAM,EAAE;EAc9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useErrorHandler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,GAAG,EAAY,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAErE,UAAU,gBAAgB;IACxB,KAAK,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAqDnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useErrorHandler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,GAAG,EAAY,MAAM,KAAK,CAAC;AAG9E,OAAO,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAKrE,UAAU,gBAAgB;IACxB,KAAK,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAqDnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/debounce.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAc5G"}
1
+ {"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/debounce.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAa5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/delay.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,SAAI,GAAG,IAAI,CAGjF"}
1
+ {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/delay.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,SAAI,GAAG,IAAI,CAEjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,UAAU,aAAa;IACrB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,QAAQ,CAAC;CAC3B;AAED,wBAAgB,YAAY,IAAI,aAAa,CAQ5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,UAAU,aAAa;IACrB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,QAAQ,CAAC;CAC3B;AAED,wBAAgB,YAAY,IAAI,aAAa,CAO5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/once.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAShG"}
1
+ {"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/once.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAQhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/sleep.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvD"}
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/sleep.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/throttle.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAahH"}
1
+ {"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../../../core/composables/useFunctions/throttle.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAYhH"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useGlobalSearch/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,sCAAsC,CAAC;AAEpG,wBAAgB,mBAAmB,sBAIlC;AAED,wBAAgB,eAAe,sBAQ9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useGlobalSearch/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,sCAAsC,CAAC;AAEpG,wBAAgB,mBAAmB,IAAI,iBAAiB,CAIvD;AAED,wBAAgB,eAAe,IAAI,iBAAiB,CAQnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useMenuService/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAqB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1F,wBAAgB,kBAAkB,IAAI,WAAW,CAIhD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAO5C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useMenuService/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAqB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAM1F,wBAAgB,kBAAkB,IAAI,WAAW,CAIhD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAO5C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useNotifications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAY,WAAW,EAAoB,MAAM,KAAK,CAAC;AAK9D,UAAU,cAAc;IACtB,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxD,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC9D,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjD,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,aAAa,IAAI,IAAI,CAAC;IACtB,sBAAsB,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;CACjF;AAgBD,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,CAsI/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useNotifications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAY,WAAW,EAAoB,MAAM,KAAK,CAAC;AAQ9D,UAAU,cAAc;IACtB,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxD,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC9D,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjD,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC5C,aAAa,IAAI,IAAI,CAAC;IACtB,sBAAsB,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;CACjF;AAgBD,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,CAsI/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useTheme/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAK3D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe,EAAE,KAAK,IAAI,CAAC;IACrE,UAAU,EAAE,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAKD,eAAO,MAAM,QAAQ,QAAO,SAkF3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useTheme/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAQ3D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,GAAG,eAAe,EAAE,KAAK,IAAI,CAAC;IACrE,UAAU,EAAE,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAKD,eAAO,MAAM,QAAQ,QAAO,SAkF3B,CAAC"}