@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.
- package/core/composables/index.ts +2 -0
- package/core/composables/useAssets/index.ts +72 -28
- package/core/composables/useAsync/index.ts +4 -1
- package/core/composables/useBladeRegistry/index.ts +6 -5
- package/core/composables/useBreadcrumbs/index.ts +4 -1
- package/core/composables/useErrorHandler/index.ts +4 -1
- package/core/composables/useFunctions/debounce.ts +0 -1
- package/core/composables/useFunctions/delay.ts +0 -1
- package/core/composables/useFunctions/index.ts +0 -1
- package/core/composables/useFunctions/once.ts +0 -1
- package/core/composables/useFunctions/sleep.ts +0 -1
- package/core/composables/useFunctions/throttle.ts +0 -1
- package/core/composables/useGlobalSearch/index.ts +3 -3
- package/core/composables/useMenuService/index.ts +5 -2
- package/core/composables/useNotifications/index.ts +5 -2
- package/core/composables/useTheme/index.ts +4 -1
- package/core/composables/useUser/index.ts +189 -20
- package/core/composables/useWidgets/index.ts +5 -2
- package/core/constants/defaults.ts +76 -0
- package/core/constants/index.ts +2 -0
- package/core/constants/ui.ts +68 -0
- package/core/interceptors/index.ts +5 -2
- package/core/plugins/ai-agent/README.md +336 -0
- package/core/plugins/ai-agent/components/VcAiAgentPanel.vue +125 -0
- package/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue +182 -0
- package/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue +77 -0
- package/core/plugins/ai-agent/components/index.ts +1 -0
- package/core/plugins/ai-agent/composables/index.ts +4 -0
- package/core/plugins/ai-agent/composables/useAiAgent.ts +231 -0
- package/core/plugins/ai-agent/composables/useAiAgentContext.ts +280 -0
- package/core/plugins/ai-agent/constants.ts +89 -0
- package/core/plugins/ai-agent/index.ts +91 -0
- package/core/plugins/ai-agent/services/ai-agent-service.ts +598 -0
- package/core/plugins/ai-agent/types.ts +310 -0
- package/core/plugins/modularity/index.ts +8 -6
- package/core/plugins/modularity/loader.ts +36 -33
- package/core/plugins/signalR/index.ts +6 -3
- package/core/services/app-bar-menu-service.ts +4 -1
- package/core/services/dashboard-service.ts +4 -1
- package/core/services/index.ts +2 -0
- package/core/services/menu-service.ts +4 -1
- package/core/services/settings-menu-service.ts +4 -1
- package/core/services/toolbar-service.ts +18 -3
- package/core/services/widget-service.ts +7 -4
- package/core/types/index.ts +3 -0
- package/core/types/services.ts +194 -0
- package/core/utilities/errorTypes.ts +126 -0
- package/core/utilities/index.ts +2 -0
- package/core/utilities/logger.ts +120 -0
- package/dist/core/composables/useAssets/index.d.ts.map +1 -1
- package/dist/core/composables/useAsync/index.d.ts.map +1 -1
- package/dist/core/composables/useBladeRegistry/index.d.ts.map +1 -1
- package/dist/core/composables/useBreadcrumbs/index.d.ts.map +1 -1
- package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
- package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
- package/dist/core/composables/useFunctions/delay.d.ts.map +1 -1
- package/dist/core/composables/useFunctions/index.d.ts.map +1 -1
- package/dist/core/composables/useFunctions/once.d.ts.map +1 -1
- package/dist/core/composables/useFunctions/sleep.d.ts.map +1 -1
- package/dist/core/composables/useFunctions/throttle.d.ts.map +1 -1
- package/dist/core/composables/useGlobalSearch/index.d.ts.map +1 -1
- package/dist/core/composables/useMenuService/index.d.ts.map +1 -1
- package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
- package/dist/core/composables/useTheme/index.d.ts.map +1 -1
- package/dist/core/composables/useUser/index.d.ts +8 -0
- package/dist/core/composables/useUser/index.d.ts.map +1 -1
- package/dist/core/composables/useWidgets/index.d.ts.map +1 -1
- package/dist/core/constants/defaults.d.ts +63 -0
- package/dist/core/constants/defaults.d.ts.map +1 -0
- package/dist/core/constants/index.d.ts +2 -0
- package/dist/core/constants/index.d.ts.map +1 -1
- package/dist/core/constants/ui.d.ts +50 -0
- package/dist/core/constants/ui.d.ts.map +1 -0
- package/dist/core/interceptors/index.d.ts.map +1 -1
- package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts +3 -0
- package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts +15 -0
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue.d.ts +10 -0
- package/dist/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/components/index.d.ts +2 -0
- package/dist/core/plugins/ai-agent/components/index.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/composables/index.d.ts +4 -0
- package/dist/core/plugins/ai-agent/composables/index.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts +95 -0
- package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/composables/useAiAgentContext.d.ts +55 -0
- package/dist/core/plugins/ai-agent/composables/useAiAgentContext.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/constants.d.ts +47 -0
- package/dist/core/plugins/ai-agent/constants.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/index.d.ts +48 -0
- package/dist/core/plugins/ai-agent/index.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts +45 -0
- package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts.map +1 -0
- package/dist/core/plugins/ai-agent/types.d.ts +258 -0
- package/dist/core/plugins/ai-agent/types.d.ts.map +1 -0
- package/dist/core/plugins/modularity/index.d.ts.map +1 -1
- package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
- package/dist/core/plugins/signalR/index.d.ts.map +1 -1
- package/dist/core/services/app-bar-menu-service.d.ts.map +1 -1
- package/dist/core/services/dashboard-service.d.ts.map +1 -1
- package/dist/core/services/menu-service.d.ts.map +1 -1
- package/dist/core/services/settings-menu-service.d.ts.map +1 -1
- package/dist/core/services/toolbar-service.d.ts.map +1 -1
- package/dist/core/services/widget-service.d.ts.map +1 -1
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/services.d.ts +169 -0
- package/dist/core/types/services.d.ts.map +1 -0
- package/dist/core/utilities/errorTypes.d.ts +61 -0
- package/dist/core/utilities/errorTypes.d.ts.map +1 -0
- package/dist/core/utilities/index.d.ts +2 -0
- package/dist/core/utilities/index.d.ts.map +1 -1
- package/dist/core/utilities/logger.d.ts +259 -0
- package/dist/core/utilities/logger.d.ts.map +1 -0
- package/dist/framework.js +9623 -8417
- package/dist/index.css +1 -1
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/injection-keys.d.ts +21 -6
- package/dist/injection-keys.d.ts.map +1 -1
- package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/routerUtils.d.ts.map +1 -1
- package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts.map +1 -1
- package/dist/shared/components/draggable-dashboard/composables/useLayoutPersistence.d.ts.map +1 -1
- package/dist/shared/components/notifications/composables/useContainer/index.d.ts.map +1 -1
- package/dist/shared/components/notifications/composables/useInstance/index.d.ts.map +1 -1
- package/dist/shared/components/notifications/core/notification.d.ts.map +1 -1
- package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts.map +1 -1
- package/dist/shared/components/sign-in/useExternalProvider.d.ts.map +1 -1
- package/dist/shared/composables/index.d.ts +1 -0
- package/dist/shared/composables/index.d.ts.map +1 -1
- package/dist/shared/composables/useExternalWidgets.d.ts.map +1 -1
- package/dist/shared/composables/useMenuExpanded.d.ts.map +1 -1
- package/dist/shared/composables/useTableSelection.d.ts +57 -0
- package/dist/shared/composables/useTableSelection.d.ts.map +1 -0
- package/dist/shared/composables/useTableSort.d.ts.map +1 -1
- package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
- package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
- package/dist/shared/utilities/colorUtils.d.ts +0 -6
- package/dist/shared/utilities/colorUtils.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +0 -15
- package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-icon/vc-lucide-icon.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +0 -5
- package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-toast/vc-toast.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- 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
- package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts.map +1 -1
- package/dist/{vendor-lodash-es-BqkGj3Jl.js → vendor-lodash-es-SgOIjJF8.js} +2 -0
- package/package.json +5 -5
- package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +4 -1
- package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +67 -4
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +13 -10
- package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.ts +7 -4
- package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.ts +4 -1
- package/shared/components/blade-navigation/composables/useBladeNavigation/internal/routerUtils.ts +4 -1
- package/shared/components/change-password/change-password.vue +1 -1
- package/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.ts +14 -5
- package/shared/components/draggable-dashboard/composables/useLayoutPersistence.ts +5 -2
- package/shared/components/index.ts +2 -0
- package/shared/components/notifications/composables/useContainer/index.ts +8 -6
- package/shared/components/notifications/composables/useInstance/index.ts +4 -1
- package/shared/components/notifications/core/notification.ts +10 -7
- package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +20 -1
- package/shared/components/sign-in/useExternalProvider.ts +6 -4
- package/shared/composables/index.ts +1 -0
- package/shared/composables/useExternalWidgets.ts +7 -4
- package/shared/composables/useMenuExpanded.ts +15 -1
- package/shared/composables/useTableSelection.ts +151 -0
- package/shared/composables/useTableSort.ts +4 -4
- package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +6 -3
- package/shared/pages/LoginPage/components/login/Login.vue +4 -1
- package/shared/utilities/colorUtils.ts +5 -12
- package/ui/components/atoms/vc-banner/vc-banner.vue +4 -1
- package/ui/components/atoms/vc-button/vc-button.vue +2 -25
- package/ui/components/atoms/vc-container/vc-container.vue +12 -3
- package/ui/components/atoms/vc-icon/vc-icon.vue +0 -10
- package/ui/components/atoms/vc-icon/vc-lucide-icon.vue +5 -2
- package/ui/components/atoms/vc-image/vc-image.vue +4 -1
- package/ui/components/atoms/vc-link/vc-link.vue +59 -54
- package/ui/components/atoms/vc-loading/vc-loading.vue +4 -0
- package/ui/components/atoms/vc-status/vc-status.vue +0 -5
- package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +4 -4
- package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +8 -1
- package/ui/components/atoms/vc-video/vc-video.vue +4 -2
- package/ui/components/atoms/vc-widget/vc-widget.vue +4 -1
- package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +7 -2
- package/ui/components/molecules/vc-input/vc-input.vue +0 -1
- package/ui/components/molecules/vc-pagination/vc-pagination.vue +6 -1
- package/ui/components/molecules/vc-rating/vc-rating.vue +1 -1
- package/ui/components/molecules/vc-textarea/vc-textarea.vue +1 -1
- package/ui/components/molecules/vc-toast/vc-toast.vue +11 -1
- package/ui/components/organisms/vc-app/vc-app.vue +22 -3
- 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
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +14 -14
- package/ui/components/organisms/vc-blade/vc-blade.vue +3 -1
- package/ui/components/organisms/vc-login-form/vc-login-form.vue +3 -1
- package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +34 -2
- package/ui/components/organisms/vc-table/composables/useTableActions.ts +7 -10
- package/ui/components/organisms/vc-table/composables/useTableColumnResize.ts +4 -1
- package/ui/components/organisms/vc-table/composables/useTableRowReorder.ts +5 -2
- package/ui/components/organisms/vc-table/composables/useTableSelection.ts +26 -18
- package/ui/components/organisms/vc-table/composables/useTableState.ts +4 -1
- package/core/services/global-search-service.ts +0 -36
- package/dist/core/services/global-search-service.d.ts +0 -10
- 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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
299
|
+
logger.warn(`Failed to register preregistered widget ${widget.widget.id}:`, e);
|
|
297
300
|
}
|
|
298
301
|
});
|
|
299
302
|
|
package/core/types/index.ts
CHANGED
|
@@ -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
|
+
}
|
package/core/utilities/index.ts
CHANGED
|
@@ -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,
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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"}
|