adminizer 5.0.0-build.4 → 5.0.0-build.6
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/assets/{add-CoMADTQn.js → add-Brb-cV33.js} +1 -1
- package/assets/{add-group-CpYh05Gr.js → add-group-DY9pHQwo.js} +1 -1
- package/assets/{add-user-Z9WpJ_d_.js → add-user-DIuPWMB5.js} +1 -1
- package/assets/{app-layout-DVX2PU-T.js → app-layout-DPewS6HJ.js} +1 -1
- package/assets/app.js +33 -33
- package/assets/{catalog-KxmfEHFZ.js → catalog-BuJwUNfR.js} +1 -1
- package/assets/controls/ckeditor.es.js +267 -264
- package/assets/controls/jsoneditor.es.js +12955 -12879
- package/assets/controls/leaflet.es.js +1023 -1004
- package/assets/controls/toast-ui.es.js +1825 -1817
- package/assets/{dashboard-Fo2hkzUo.js → dashboard-1Qh1ZTlj.js} +1 -1
- package/assets/{history-BdY803dB.js → history-BG_35eEy.js} +1 -1
- package/assets/{list-CvvdHVTu.js → list-ChGmUbv1.js} +1 -1
- package/assets/manifest.json +24 -24
- package/assets/{module-CVMNuMJk.js → module-Ct-bvNzt.js} +1 -1
- package/assets/{notification-Bj9-bA_4.js → notification-DvCi_Ivk.js} +1 -1
- package/assets/{user-filters-list-Bxa5sRQ1.js → user-filters-list-CLQDcsCD.js} +1 -1
- package/assets/{welcome-Cv9aMbZo.js → welcome-CL4Z7ey_.js} +1 -1
- package/controllers/catalog/FrontendCatalogAdapter.d.ts +1 -1
- package/controllers/catalog/FrontentCatalogAdapter.d.ts +1 -1
- package/controllers/feedback/feedbackController.d.ts +1 -1
- package/controllers/history-actions/HistoryController.d.ts +1 -1
- package/controllers/media-manager/mediaManagerAdapter.d.ts +1 -1
- package/helpers/accessRightsHelper.d.ts +3 -3
- package/helpers/configHelper.d.ts +3 -3
- package/helpers/controllerHelper.d.ts +2 -2
- package/helpers/fieldsHelper.d.ts +2 -2
- package/helpers/filterDatetimeHelper.d.ts +1 -1
- package/helpers/inertiaActionsHelper.d.ts +2 -2
- package/helpers/inertiaAddHelper.d.ts +4 -4
- package/helpers/inertiaGroupHelper.d.ts +3 -3
- package/helpers/inertiaListHelper.d.ts +3 -3
- package/helpers/inertiaMenuHelper.d.ts +2 -2
- package/helpers/inertiaUserHelper.d.ts +3 -3
- package/helpers/menuHelper.d.ts +2 -2
- package/helpers/translationHelper.d.ts +2 -2
- package/index.d.ts +58 -58
- package/interfaces/adminpanelConfig.d.ts +4 -4
- package/interfaces/global.d.ts +6 -6
- package/interfaces/internalModelAccess.d.ts +1 -1
- package/interfaces/listQueryBuilder.d.ts +1 -1
- package/interfaces/types.d.ts +2 -2
- package/lib/Adminizer.d.ts +38 -26
- package/lib/Adminizer.js +19 -1
- package/lib/DataAccessor.d.ts +6 -6
- package/lib/MiddlewareManager.d.ts +1 -1
- package/lib/access-rights/AccessRightsHandler.d.ts +2 -2
- package/lib/ai-assistant/AbstractAiModelService.d.ts +2 -2
- package/lib/ai-assistant/AiAssistantHandler.d.ts +15 -5
- package/lib/ai-assistant/AiAssistantHandler.js +31 -1
- package/lib/app-manager/AdminizerApp.d.ts +10 -10
- package/lib/app-manager/AppManager.d.ts +2 -2
- package/lib/app-manager/AppManager.js +11 -8
- package/lib/app-manager/AssetHandler.d.ts +2 -2
- package/lib/app-manager/ConfigLayerHandler.d.ts +2 -2
- package/lib/app-manager/ControllerHandler.d.ts +2 -2
- package/lib/catalog/AbstractCatalog.d.ts +1 -1
- package/lib/catalog/CatalogHandler.d.ts +1 -1
- package/lib/controls/ControlsHandler.d.ts +1 -1
- package/lib/controls/codeEditor/MonacoEditor.d.ts +1 -1
- package/lib/controls/geojsoneditor/GeoEditor.d.ts +1 -1
- package/lib/controls/jsoneditor/JsonEditor.d.ts +1 -1
- package/lib/controls/markdown/ToastUiEditor.d.ts +1 -1
- package/lib/controls/table/Handsontable.d.ts +1 -1
- package/lib/controls/wysiwyg/CKeditor.d.ts +1 -1
- package/lib/feedback/FeedbackHandler.d.ts +2 -2
- package/lib/filters/ConditionValidator.d.ts +1 -1
- package/lib/filters/FilterCustomFieldHandler.d.ts +2 -2
- package/lib/filters/FilterService.d.ts +4 -4
- package/lib/filters/index.d.ts +6 -6
- package/lib/history-actions/AbstractHistoryAdapter.d.ts +6 -6
- package/lib/history-actions/DefaultHistoryAdapter.d.ts +4 -4
- package/lib/history-actions/HistoryHandler.d.ts +1 -1
- package/lib/list-query-builder/ListQueryBuilder.d.ts +7 -7
- package/lib/media-manager/AbstractMediaManager.d.ts +2 -2
- package/lib/media-manager/MediaManagerHandler.d.ts +1 -1
- package/lib/media-manager/Thumb.d.ts +1 -1
- package/lib/media-manager/helpers/MediaManagerHelper.d.ts +5 -5
- package/lib/model/AbstractModel.d.ts +3 -3
- package/lib/model/InternalModelAccessFactory.d.ts +2 -2
- package/lib/model/ModelHandler.d.ts +3 -3
- package/lib/model/adapter/sequelize.d.ts +2 -2
- package/lib/model/adapter/typeorm.d.ts +2 -2
- package/lib/model/internalModelRepository.d.ts +2 -2
- package/lib/notifications/AbstractNotificationService.d.ts +4 -4
- package/lib/notifications/GeneralNotificationService.d.ts +2 -2
- package/lib/notifications/NotificationHandler.d.ts +2 -2
- package/lib/notifications/SystemNotificationService.d.ts +2 -2
- package/lib/requestProcessor.d.ts +1 -1
- package/lib/widgets/abstractAction.d.ts +1 -1
- package/lib/widgets/abstractCustom.d.ts +2 -2
- package/lib/widgets/abstractInfo.d.ts +1 -1
- package/lib/widgets/abstractLink.d.ts +2 -2
- package/lib/widgets/abstractSwitch.d.ts +1 -1
- package/lib/widgets/abstractWidgetBase.d.ts +1 -1
- package/lib/widgets/widgetHandler.d.ts +9 -9
- package/models/Filter.d.ts +1 -1
- package/models/FilterColumn.d.ts +1 -1
- package/models/Group.d.ts +1 -1
- package/models/HistoryActions.d.ts +1 -1
- package/models/MediaManagerAP.d.ts +2 -2
- package/models/MediaManagerAssociationsAP.d.ts +1 -1
- package/models/MediaManagerMetaAP.d.ts +1 -1
- package/models/User.d.ts +2 -2
- package/models/UserNotification.d.ts +1 -1
- package/package.json +1 -1
- package/services/FeedService.d.ts +3 -3
- package/system/Router.d.ts +1 -1
- package/system/bindAccessRights.d.ts +1 -1
- package/system/bindAuthorization.d.ts +1 -1
- package/system/bindControls.d.ts +1 -1
- package/system/bindCors.d.ts +1 -1
- package/system/bindCustomFilterHandlers.d.ts +1 -1
- package/system/bindDashboardWidgets.d.ts +1 -1
- package/system/bindDev.d.ts +1 -1
- package/system/bindHistory.d.ts +1 -1
- package/system/bindInertia.d.ts +1 -1
- package/system/bindMediaManager.d.ts +1 -1
- package/system/bindNotifications.d.ts +1 -1
- package/system/bindReqFunctions.d.ts +1 -1
- package/system/bindTranslations.d.ts +1 -1
- package/system/buildInternalModelAccess.d.ts +3 -3
- package/system/defaults.d.ts +1 -1
- package/system/routePolicies.d.ts +1 -1
- package/system/systemModelContracts.d.ts +1 -1
- package/system/validateSystemModels.d.ts +1 -1
package/index.d.ts
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
export * from "./helpers/configHelper";
|
|
2
|
-
export * from "./helpers/accessRightsHelper";
|
|
3
|
-
export * from "./lib/widgets/abstractAction";
|
|
4
|
-
export * from "./lib/widgets/abstractInfo";
|
|
5
|
-
export * from "./lib/widgets/abstractCustom";
|
|
6
|
-
export * from "./lib/widgets/abstractLink";
|
|
7
|
-
export * from "./lib/widgets/abstractWidgetBase";
|
|
8
|
-
export * from "./lib/widgets/abstractSwitch";
|
|
9
|
-
export * from "./lib/widgets/widgetHandler";
|
|
10
|
-
export * from "./lib/catalog/AbstractCatalog";
|
|
11
|
-
export * from "./lib/catalog/CatalogHandler";
|
|
12
|
-
export * from "./lib/catalog/CatalogTemplateComponentHandler";
|
|
13
|
-
export * from "./lib/media-manager/MediaManagerHandler";
|
|
14
|
-
export * from "./controllers/media-manager/mediaManagerAdapter";
|
|
15
|
-
export * from "./interfaces/adminpanelConfig";
|
|
16
|
-
export * from "./interfaces/types";
|
|
17
|
-
export * from "./interfaces/queryCriteria";
|
|
18
|
-
export * from "./interfaces/listQueryBuilder";
|
|
19
|
-
export * from "./interfaces/internalModelAccess";
|
|
20
|
-
export * from "./interfaces/MaaterialIcons";
|
|
21
|
-
export * from "./lib/model/AbstractModel";
|
|
22
|
-
export * from "./lib/model/InternalModelAccessFactory";
|
|
23
|
-
export * from "./system/systemModelContracts";
|
|
24
|
-
export * from "./lib/model/adapter/sequelize";
|
|
25
|
-
export * from "./lib/model/adapter/typeorm";
|
|
26
|
-
export * from "./lib/media-manager/AbstractMediaManager";
|
|
27
|
-
export * from "./lib/controls/Control";
|
|
28
|
-
export * from "./lib/controls/ControlsHandler";
|
|
29
|
-
export * from "./lib/Adminizer";
|
|
30
|
-
export * from "./lib/I18n";
|
|
31
|
-
export * from "./models/Group";
|
|
32
|
-
export * from "./models/User";
|
|
33
|
-
export * from "./models/Filter";
|
|
34
|
-
export * from "./models/FilterColumn";
|
|
35
|
-
export * from "./models/HistoryActions";
|
|
36
|
-
export * from "./models/Notification";
|
|
37
|
-
export * from "./models/UserNotification";
|
|
38
|
-
export * from "./models/MediaManagerAP";
|
|
39
|
-
export * from "./models/MediaManagerAssociationsAP";
|
|
40
|
-
export * from "./models/MediaManagerMetaAP";
|
|
41
|
-
export * from "./policies/authPolicies";
|
|
42
|
-
export * from "./lib/helper/jwt";
|
|
43
|
-
export * from "./lib/notifications/AbstractNotificationService";
|
|
44
|
-
export * from "./lib/POWCaptcha";
|
|
45
|
-
export * from "./lib/ai-assistant/AbstractAiModelService";
|
|
46
|
-
export * from "./lib/ai-assistant/AiAssistantHandler";
|
|
47
|
-
export * from "./lib/DataAccessor";
|
|
48
|
-
export * from "./lib/history-actions/AbstractHistoryAdapter";
|
|
49
|
-
export * from "./lib/filters/CustomFilterHandler";
|
|
50
|
-
export * from "./lib/feedback/AbstractFeedbackHandler";
|
|
51
|
-
export * from "./lib/feedback/FeedbackHandler";
|
|
52
|
-
export * from "./lib/app-manager/AdminizerApp";
|
|
53
|
-
export * from "./lib/app-manager/AppManager";
|
|
54
|
-
export * from "./lib/app-manager/ControllerHandler";
|
|
55
|
-
export * from "./lib/app-manager/AssetHandler";
|
|
56
|
-
export * from "./lib/app-manager/ConfigLayerHandler";
|
|
57
|
-
export * from "./lib/access-rights/AccessRightsHandler";
|
|
58
|
-
export * from "./lib/media-manager/helpers/MediaManagerHelper";
|
|
1
|
+
export * from "./helpers/configHelper.js";
|
|
2
|
+
export * from "./helpers/accessRightsHelper.js";
|
|
3
|
+
export * from "./lib/widgets/abstractAction.js";
|
|
4
|
+
export * from "./lib/widgets/abstractInfo.js";
|
|
5
|
+
export * from "./lib/widgets/abstractCustom.js";
|
|
6
|
+
export * from "./lib/widgets/abstractLink.js";
|
|
7
|
+
export * from "./lib/widgets/abstractWidgetBase.js";
|
|
8
|
+
export * from "./lib/widgets/abstractSwitch.js";
|
|
9
|
+
export * from "./lib/widgets/widgetHandler.js";
|
|
10
|
+
export * from "./lib/catalog/AbstractCatalog.js";
|
|
11
|
+
export * from "./lib/catalog/CatalogHandler.js";
|
|
12
|
+
export * from "./lib/catalog/CatalogTemplateComponentHandler.js";
|
|
13
|
+
export * from "./lib/media-manager/MediaManagerHandler.js";
|
|
14
|
+
export * from "./controllers/media-manager/mediaManagerAdapter.js";
|
|
15
|
+
export * from "./interfaces/adminpanelConfig.js";
|
|
16
|
+
export * from "./interfaces/types.js";
|
|
17
|
+
export * from "./interfaces/queryCriteria.js";
|
|
18
|
+
export * from "./interfaces/listQueryBuilder.js";
|
|
19
|
+
export * from "./interfaces/internalModelAccess.js";
|
|
20
|
+
export * from "./interfaces/MaaterialIcons.js";
|
|
21
|
+
export * from "./lib/model/AbstractModel.js";
|
|
22
|
+
export * from "./lib/model/InternalModelAccessFactory.js";
|
|
23
|
+
export * from "./system/systemModelContracts.js";
|
|
24
|
+
export * from "./lib/model/adapter/sequelize.js";
|
|
25
|
+
export * from "./lib/model/adapter/typeorm.js";
|
|
26
|
+
export * from "./lib/media-manager/AbstractMediaManager.js";
|
|
27
|
+
export * from "./lib/controls/Control.js";
|
|
28
|
+
export * from "./lib/controls/ControlsHandler.js";
|
|
29
|
+
export * from "./lib/Adminizer.js";
|
|
30
|
+
export * from "./lib/I18n.js";
|
|
31
|
+
export * from "./models/Group.js";
|
|
32
|
+
export * from "./models/User.js";
|
|
33
|
+
export * from "./models/Filter.js";
|
|
34
|
+
export * from "./models/FilterColumn.js";
|
|
35
|
+
export * from "./models/HistoryActions.js";
|
|
36
|
+
export * from "./models/Notification.js";
|
|
37
|
+
export * from "./models/UserNotification.js";
|
|
38
|
+
export * from "./models/MediaManagerAP.js";
|
|
39
|
+
export * from "./models/MediaManagerAssociationsAP.js";
|
|
40
|
+
export * from "./models/MediaManagerMetaAP.js";
|
|
41
|
+
export * from "./policies/authPolicies.js";
|
|
42
|
+
export * from "./lib/helper/jwt.js";
|
|
43
|
+
export * from "./lib/notifications/AbstractNotificationService.js";
|
|
44
|
+
export * from "./lib/POWCaptcha.js";
|
|
45
|
+
export * from "./lib/ai-assistant/AbstractAiModelService.js";
|
|
46
|
+
export * from "./lib/ai-assistant/AiAssistantHandler.js";
|
|
47
|
+
export * from "./lib/DataAccessor.js";
|
|
48
|
+
export * from "./lib/history-actions/AbstractHistoryAdapter.js";
|
|
49
|
+
export * from "./lib/filters/CustomFilterHandler.js";
|
|
50
|
+
export * from "./lib/feedback/AbstractFeedbackHandler.js";
|
|
51
|
+
export * from "./lib/feedback/FeedbackHandler.js";
|
|
52
|
+
export * from "./lib/app-manager/AdminizerApp.js";
|
|
53
|
+
export * from "./lib/app-manager/AppManager.js";
|
|
54
|
+
export * from "./lib/app-manager/ControllerHandler.js";
|
|
55
|
+
export * from "./lib/app-manager/AssetHandler.js";
|
|
56
|
+
export * from "./lib/app-manager/ConfigLayerHandler.js";
|
|
57
|
+
export * from "./lib/access-rights/AccessRightsHandler.js";
|
|
58
|
+
export * from "./lib/media-manager/helpers/MediaManagerHelper.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MaterialIcon } from "./MaaterialIcons";
|
|
1
|
+
import { MaterialIcon } from "./MaaterialIcons.js";
|
|
2
2
|
import { EditorOptions } from "@toast-ui/editor/types/editor";
|
|
3
3
|
import { GridSettings as HandsontableSettings } from "handsontable/settings";
|
|
4
|
-
import { Group } from "../models/Group";
|
|
5
|
-
import { User } from "../models/User";
|
|
6
|
-
import { InternalModelAccessMap } from "./internalModelAccess";
|
|
4
|
+
import { Group } from "../models/Group.js";
|
|
5
|
+
import { User } from "../models/User.js";
|
|
6
|
+
import { InternalModelAccessMap } from "./internalModelAccess.js";
|
|
7
7
|
/**
|
|
8
8
|
* Controller function type - async function that handles requests and returns a response
|
|
9
9
|
*/
|
package/interfaces/global.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Adminizer } from "../lib/Adminizer";
|
|
1
|
+
import { Adminizer } from "../lib/Adminizer.js";
|
|
2
2
|
import { NextFunction, Request, Response } from "express";
|
|
3
3
|
import multer from "multer";
|
|
4
|
-
import { I18n } from "../lib/I18n";
|
|
5
|
-
import { Inertia } from "../lib/inertia/inertiaAdapter";
|
|
6
|
-
import { Flash } from "../lib/inertia/flash";
|
|
7
|
-
import { User } from "../models/User";
|
|
8
|
-
import { AppRuntime } from "../lib/app-manager/AdminizerApp";
|
|
4
|
+
import { I18n } from "../lib/I18n.js";
|
|
5
|
+
import { Inertia } from "../lib/inertia/inertiaAdapter.js";
|
|
6
|
+
import { Flash } from "../lib/inertia/flash.js";
|
|
7
|
+
import { User } from "../models/User.js";
|
|
8
|
+
import { AppRuntime } from "../lib/app-manager/AdminizerApp.js";
|
|
9
9
|
declare global {
|
|
10
10
|
/** @deprecated use import from TS model decalration */
|
|
11
11
|
type ModelsAP = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IsAny, QueryCriteria } from "./queryCriteria";
|
|
1
|
+
import { IsAny, QueryCriteria } from "./queryCriteria.js";
|
|
2
2
|
export type InternalModelAccessScope = string;
|
|
3
3
|
export type InternalModelAccessMap = Record<InternalModelAccessScope, string[]>;
|
|
4
4
|
export type InternalModelRelationId = string | number;
|
package/interfaces/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AbstractModel } from "../lib/model/AbstractModel";
|
|
2
|
-
import { ModelConfig } from "./adminpanelConfig";
|
|
1
|
+
import { AbstractModel } from "../lib/model/AbstractModel.js";
|
|
2
|
+
import { ModelConfig } from "./adminpanelConfig.js";
|
|
3
3
|
export interface ModelResource {
|
|
4
4
|
name: string;
|
|
5
5
|
config?: ModelConfig;
|
package/lib/Adminizer.d.ts
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import express, { Express } from "express";
|
|
2
2
|
import winston from "winston";
|
|
3
3
|
import EventEmitter from 'events';
|
|
4
|
-
import { AdminpanelConfig } from "../interfaces/adminpanelConfig";
|
|
5
|
-
import MiddlewareManager from "./MiddlewareManager";
|
|
6
|
-
import Router from "./../system/Router";
|
|
7
|
-
import { ModelHandler } from "./model/ModelHandler";
|
|
8
|
-
import { WidgetHandler } from "./widgets/widgetHandler";
|
|
9
|
-
import { AccessRightsHelper } from "../helpers/accessRightsHelper";
|
|
10
|
-
import { ConfigHelper } from "../helpers/configHelper";
|
|
11
|
-
import { I18n } from "./I18n";
|
|
12
|
-
import { AbstractAdapter } from "./model/AbstractModel";
|
|
4
|
+
import { AdminpanelConfig } from "../interfaces/adminpanelConfig.js";
|
|
5
|
+
import MiddlewareManager from "./MiddlewareManager.js";
|
|
6
|
+
import Router from "./../system/Router.js";
|
|
7
|
+
import { ModelHandler } from "./model/ModelHandler.js";
|
|
8
|
+
import { WidgetHandler } from "./widgets/widgetHandler.js";
|
|
9
|
+
import { AccessRightsHelper } from "../helpers/accessRightsHelper.js";
|
|
10
|
+
import { ConfigHelper } from "../helpers/configHelper.js";
|
|
11
|
+
import { I18n } from "./I18n.js";
|
|
12
|
+
import { AbstractAdapter } from "./model/AbstractModel.js";
|
|
13
13
|
import type { ViteDevServer } from 'vite';
|
|
14
|
-
import { MenuHelper } from "../helpers/menuHelper";
|
|
15
|
-
import { ControlsHandler } from "./controls/ControlsHandler";
|
|
16
|
-
import { CatalogHandler } from "./catalog/CatalogHandler";
|
|
17
|
-
import { CatalogTemplateComponentHandler } from "./catalog/CatalogTemplateComponentHandler";
|
|
18
|
-
import { AiAssistantHandler } from './ai-assistant/AiAssistantHandler';
|
|
19
|
-
import { NotificationHandler } from './notifications/NotificationHandler';
|
|
20
|
-
import { INotification } from "../interfaces/types";
|
|
21
|
-
import { MediaManagerHandler } from "./media-manager/MediaManagerHandler";
|
|
22
|
-
import { HistoryHandler } from "./history-actions/HistoryHandler";
|
|
23
|
-
import { CustomFilterHandler } from "./filters/CustomFilterHandler";
|
|
24
|
-
import { FeedbackHandler } from "./feedback/FeedbackHandler";
|
|
25
|
-
import { AppManager } from "./app-manager/AppManager";
|
|
26
|
-
import { ControllerHandler } from "./app-manager/ControllerHandler";
|
|
27
|
-
import { AssetHandler } from "./app-manager/AssetHandler";
|
|
28
|
-
import { ConfigLayerHandler } from "./app-manager/ConfigLayerHandler";
|
|
29
|
-
import { AccessRightsHandler } from "./access-rights/AccessRightsHandler";
|
|
14
|
+
import { MenuHelper } from "../helpers/menuHelper.js";
|
|
15
|
+
import { ControlsHandler } from "./controls/ControlsHandler.js";
|
|
16
|
+
import { CatalogHandler } from "./catalog/CatalogHandler.js";
|
|
17
|
+
import { CatalogTemplateComponentHandler } from "./catalog/CatalogTemplateComponentHandler.js";
|
|
18
|
+
import { AiAssistantHandler } from './ai-assistant/AiAssistantHandler.js';
|
|
19
|
+
import { NotificationHandler } from './notifications/NotificationHandler.js';
|
|
20
|
+
import { INotification } from "../interfaces/types.js";
|
|
21
|
+
import { MediaManagerHandler } from "./media-manager/MediaManagerHandler.js";
|
|
22
|
+
import { HistoryHandler } from "./history-actions/HistoryHandler.js";
|
|
23
|
+
import { CustomFilterHandler } from "./filters/CustomFilterHandler.js";
|
|
24
|
+
import { FeedbackHandler } from "./feedback/FeedbackHandler.js";
|
|
25
|
+
import { AppManager } from "./app-manager/AppManager.js";
|
|
26
|
+
import { ControllerHandler } from "./app-manager/ControllerHandler.js";
|
|
27
|
+
import { AssetHandler } from "./app-manager/AssetHandler.js";
|
|
28
|
+
import { ConfigLayerHandler } from "./app-manager/ConfigLayerHandler.js";
|
|
29
|
+
import { AccessRightsHandler } from "./access-rights/AccessRightsHandler.js";
|
|
30
30
|
export declare function createAdminizerLogger(): winston.Logger;
|
|
31
31
|
export interface EmitAsyncOptions {
|
|
32
32
|
/**
|
|
@@ -53,7 +53,7 @@ export declare class Adminizer {
|
|
|
53
53
|
router: Router;
|
|
54
54
|
notificationHandler: NotificationHandler;
|
|
55
55
|
historyHandler: HistoryHandler;
|
|
56
|
-
|
|
56
|
+
private _aiAssistantHandler?;
|
|
57
57
|
modelHandler: ModelHandler;
|
|
58
58
|
widgetHandler: WidgetHandler;
|
|
59
59
|
customFilterHandler: CustomFilterHandler;
|
|
@@ -71,6 +71,18 @@ export declare class Adminizer {
|
|
|
71
71
|
jwtSecret: string;
|
|
72
72
|
static logger: winston.Logger;
|
|
73
73
|
constructor(ormAdapters: AbstractAdapter[]);
|
|
74
|
+
/**
|
|
75
|
+
* Shared AI assistant model registry.
|
|
76
|
+
*
|
|
77
|
+
* Created lazily on first access, so host code can register models
|
|
78
|
+
* directly (`adminizer.aiAssistantHandler.registerModel(service)`) without
|
|
79
|
+
* declaring an app. Apps register their models in the same handler through
|
|
80
|
+
* `ctx.aiAssistant()` and own only their entries.
|
|
81
|
+
* `config.aiAssistant.enabled` stays a gate for controllers and the UI, not
|
|
82
|
+
* for the registry itself.
|
|
83
|
+
*/
|
|
84
|
+
get aiAssistantHandler(): AiAssistantHandler;
|
|
85
|
+
set aiAssistantHandler(handler: AiAssistantHandler | undefined);
|
|
74
86
|
getMiddleware(): (req: express.Request, res: express.Response, next: () => void) => void;
|
|
75
87
|
/**
|
|
76
88
|
* Vite middleware
|
package/lib/Adminizer.js
CHANGED
|
@@ -30,6 +30,7 @@ import { ControlsHandler } from "./controls/ControlsHandler.js";
|
|
|
30
30
|
import { CatalogHandler } from "./catalog/CatalogHandler.js";
|
|
31
31
|
import { CatalogTemplateComponentHandler } from "./catalog/CatalogTemplateComponentHandler.js";
|
|
32
32
|
import { v4 as uuid } from "uuid";
|
|
33
|
+
import { AiAssistantHandler } from './ai-assistant/AiAssistantHandler.js';
|
|
33
34
|
import { bindNotifications } from "../system/bindNotifications.js";
|
|
34
35
|
import { MediaManagerHandler } from "./media-manager/MediaManagerHandler.js";
|
|
35
36
|
import { bindCors } from "../system/bindCors.js";
|
|
@@ -107,7 +108,7 @@ export class Adminizer {
|
|
|
107
108
|
router;
|
|
108
109
|
notificationHandler;
|
|
109
110
|
historyHandler;
|
|
110
|
-
|
|
111
|
+
_aiAssistantHandler;
|
|
111
112
|
modelHandler;
|
|
112
113
|
widgetHandler;
|
|
113
114
|
customFilterHandler;
|
|
@@ -145,6 +146,23 @@ export class Adminizer {
|
|
|
145
146
|
this.configLayerHandler = new ConfigLayerHandler(this);
|
|
146
147
|
this.appManager = new AppManager(this);
|
|
147
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Shared AI assistant model registry.
|
|
151
|
+
*
|
|
152
|
+
* Created lazily on first access, so host code can register models
|
|
153
|
+
* directly (`adminizer.aiAssistantHandler.registerModel(service)`) without
|
|
154
|
+
* declaring an app. Apps register their models in the same handler through
|
|
155
|
+
* `ctx.aiAssistant()` and own only their entries.
|
|
156
|
+
* `config.aiAssistant.enabled` stays a gate for controllers and the UI, not
|
|
157
|
+
* for the registry itself.
|
|
158
|
+
*/
|
|
159
|
+
get aiAssistantHandler() {
|
|
160
|
+
this._aiAssistantHandler ??= new AiAssistantHandler(this);
|
|
161
|
+
return this._aiAssistantHandler;
|
|
162
|
+
}
|
|
163
|
+
set aiAssistantHandler(handler) {
|
|
164
|
+
this._aiAssistantHandler = handler;
|
|
165
|
+
}
|
|
148
166
|
getMiddleware() {
|
|
149
167
|
return (req, res, next) => {
|
|
150
168
|
try {
|
package/lib/DataAccessor.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The class manages the interaction between the user and the database entry, taking into account user permissions and the main config file settings.
|
|
3
3
|
*/
|
|
4
|
-
import { ModelResource } from "../interfaces/types";
|
|
5
|
-
import { ActionType } from "../interfaces/adminpanelConfig";
|
|
6
|
-
import { Fields } from "../helpers/fieldsHelper";
|
|
7
|
-
import { Adminizer } from "./Adminizer";
|
|
8
|
-
import { User } from "../models/User";
|
|
9
|
-
import { QueryCriteria } from "../interfaces/queryCriteria";
|
|
4
|
+
import { ModelResource } from "../interfaces/types.js";
|
|
5
|
+
import { ActionType } from "../interfaces/adminpanelConfig.js";
|
|
6
|
+
import { Fields } from "../helpers/fieldsHelper.js";
|
|
7
|
+
import { Adminizer } from "./Adminizer.js";
|
|
8
|
+
import { User } from "../models/User.js";
|
|
9
|
+
import { QueryCriteria } from "../interfaces/queryCriteria.js";
|
|
10
10
|
export declare class DataAccessor {
|
|
11
11
|
readonly adminizer: Adminizer;
|
|
12
12
|
user: User;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AccessRightsToken } from "../../interfaces/types";
|
|
2
|
-
import type { Adminizer } from "../Adminizer";
|
|
1
|
+
import type { AccessRightsToken } from "../../interfaces/types.js";
|
|
2
|
+
import type { Adminizer } from "../Adminizer.js";
|
|
3
3
|
export interface AccessRightsRecord {
|
|
4
4
|
id: string;
|
|
5
5
|
appName: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AiAssistantMessage, AiAssistantModelInfo } from '../../interfaces/types';
|
|
2
|
-
import { User } from '../../models/User';
|
|
1
|
+
import { AiAssistantMessage, AiAssistantModelInfo } from '../../interfaces/types.js';
|
|
2
|
+
import { User } from '../../models/User.js';
|
|
3
3
|
/**
|
|
4
4
|
* Base class for AI assistant models. App modules register access rights
|
|
5
5
|
* and expose model metadata through this service.
|
|
@@ -1,13 +1,23 @@
|
|
|
1
|
-
import { Adminizer } from '../Adminizer';
|
|
2
|
-
import { AbstractAiModelService } from './AbstractAiModelService';
|
|
3
|
-
import { AiAssistantMessage, AiAssistantModelInfo } from '../../interfaces/types';
|
|
4
|
-
import { User } from '../../models/User';
|
|
1
|
+
import { Adminizer } from '../Adminizer.js';
|
|
2
|
+
import { AbstractAiModelService } from './AbstractAiModelService.js';
|
|
3
|
+
import { AiAssistantMessage, AiAssistantModelInfo } from '../../interfaces/types.js';
|
|
4
|
+
import { User } from '../../models/User.js';
|
|
5
5
|
export declare class AiAssistantHandler {
|
|
6
6
|
private readonly adminizer;
|
|
7
7
|
private readonly models;
|
|
8
|
+
private readonly owners;
|
|
8
9
|
private readonly history;
|
|
9
10
|
constructor(adminizer: Adminizer);
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @param owner App name when the model belongs to an app. Models without an
|
|
13
|
+
* owner belong to the host application and are never removed automatically.
|
|
14
|
+
*/
|
|
15
|
+
registerModel(service: AbstractAiModelService, owner?: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* @param owner When passed, the model is kept if it is owned by someone
|
|
18
|
+
* else, so a disabled app never removes another owner's model.
|
|
19
|
+
*/
|
|
20
|
+
unregisterModel(id: string, owner?: string): void;
|
|
11
21
|
getModel(id: string): AbstractAiModelService | undefined;
|
|
12
22
|
getModels(): AiAssistantModelInfo[];
|
|
13
23
|
getHistory(userId: number, modelId: string): AiAssistantMessage[];
|
|
@@ -3,15 +3,45 @@ import { Adminizer } from '../Adminizer.js';
|
|
|
3
3
|
export class AiAssistantHandler {
|
|
4
4
|
adminizer;
|
|
5
5
|
models = new Map();
|
|
6
|
+
owners = new Map();
|
|
6
7
|
history = new Map();
|
|
7
8
|
constructor(adminizer) {
|
|
8
9
|
this.adminizer = adminizer;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @param owner App name when the model belongs to an app. Models without an
|
|
13
|
+
* owner belong to the host application and are never removed automatically.
|
|
14
|
+
*/
|
|
15
|
+
registerModel(service, owner) {
|
|
11
16
|
if (this.models.has(service.id)) {
|
|
12
17
|
Adminizer.log.warn(`AI assistant model with id "${service.id}" is already registered. Overwriting.`);
|
|
13
18
|
}
|
|
14
19
|
this.models.set(service.id, service);
|
|
20
|
+
if (owner) {
|
|
21
|
+
this.owners.set(service.id, owner);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.owners.delete(service.id);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @param owner When passed, the model is kept if it is owned by someone
|
|
29
|
+
* else, so a disabled app never removes another owner's model.
|
|
30
|
+
*/
|
|
31
|
+
unregisterModel(id, owner) {
|
|
32
|
+
if (!this.models.has(id)) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (owner && this.owners.get(id) !== owner) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.models.delete(id);
|
|
39
|
+
this.owners.delete(id);
|
|
40
|
+
for (const key of this.history.keys()) {
|
|
41
|
+
if (key.endsWith(`:${id}`)) {
|
|
42
|
+
this.history.delete(key);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
15
45
|
}
|
|
16
46
|
getModel(id) {
|
|
17
47
|
return this.models.get(id);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { ActionType, AdminpanelConfig, AdminpanelIcon, ModelConfig } from "../../interfaces/adminpanelConfig";
|
|
2
|
-
import type { AccessRightsToken, INotification, ModelResource } from "../../interfaces/types";
|
|
3
|
-
import type { AbstractCatalog } from "../catalog/AbstractCatalog";
|
|
4
|
-
import type { CatalogTemplateComponentResource } from "../catalog/CatalogTemplateComponentHandler";
|
|
5
|
-
import type { AppModelAccess } from "../model/ModelHandler";
|
|
6
|
-
import type { AbstractMediaManager } from "../media-manager/AbstractMediaManager";
|
|
7
|
-
import type { Config, ControlType } from "../controls/Control";
|
|
8
|
-
import type { User } from "../../models/User";
|
|
9
|
-
import type { DataAccessor } from "../DataAccessor";
|
|
10
|
-
import type { AbstractAiModelService } from "../ai-assistant/AbstractAiModelService";
|
|
1
|
+
import type { ActionType, AdminpanelConfig, AdminpanelIcon, ModelConfig } from "../../interfaces/adminpanelConfig.js";
|
|
2
|
+
import type { AccessRightsToken, INotification, ModelResource } from "../../interfaces/types.js";
|
|
3
|
+
import type { AbstractCatalog } from "../catalog/AbstractCatalog.js";
|
|
4
|
+
import type { CatalogTemplateComponentResource } from "../catalog/CatalogTemplateComponentHandler.js";
|
|
5
|
+
import type { AppModelAccess } from "../model/ModelHandler.js";
|
|
6
|
+
import type { AbstractMediaManager } from "../media-manager/AbstractMediaManager.js";
|
|
7
|
+
import type { Config, ControlType } from "../controls/Control.js";
|
|
8
|
+
import type { User } from "../../models/User.js";
|
|
9
|
+
import type { DataAccessor } from "../DataAccessor.js";
|
|
10
|
+
import type { AbstractAiModelService } from "../ai-assistant/AbstractAiModelService.js";
|
|
11
11
|
export type AppDisposer = () => void | Promise<void>;
|
|
12
12
|
export type AppEventName = string | symbol;
|
|
13
13
|
export type AppEventHandler<TPayload = any> = (payload: TPayload, runtime: AppRuntime) => void | Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Adminizer } from "../Adminizer";
|
|
2
|
-
import { AbstractAdminizerApp, AppRuntime, AppRuntimeAppState } from "./AdminizerApp";
|
|
1
|
+
import { Adminizer } from "../Adminizer.js";
|
|
2
|
+
import { AbstractAdminizerApp, AppRuntime, AppRuntimeAppState } from "./AdminizerApp.js";
|
|
3
3
|
export type AppState = AppRuntimeAppState;
|
|
4
4
|
export declare class AppManager {
|
|
5
5
|
private adminizer;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Adminizer } from "../Adminizer.js";
|
|
2
|
-
import { AiAssistantHandler } from "../ai-assistant/AiAssistantHandler.js";
|
|
3
2
|
import { DataAccessor } from "../DataAccessor.js";
|
|
4
3
|
class RuntimeAppSetupContext {
|
|
5
4
|
adminizer;
|
|
@@ -141,24 +140,28 @@ class RuntimeAppSetupContext {
|
|
|
141
140
|
await this.runRegistrationPhase(this.pendingCatalogRegistrations);
|
|
142
141
|
}
|
|
143
142
|
async registerAiAssistant(resource) {
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
// Models go into the shared handler instead of replacing it, so models
|
|
144
|
+
// registered directly by the host application keep working and several
|
|
145
|
+
// apps can contribute models at the same time.
|
|
146
|
+
const handler = this.adminizer.aiAssistantHandler;
|
|
146
147
|
const context = this.createAiAssistantContext();
|
|
148
|
+
const modelIds = [];
|
|
147
149
|
for (const modelFactory of resource.models) {
|
|
148
150
|
const model = await modelFactory(context);
|
|
149
|
-
handler.registerModel(model);
|
|
151
|
+
handler.registerModel(model, this.appName);
|
|
152
|
+
modelIds.push(model.id);
|
|
150
153
|
}
|
|
151
|
-
this.adminizer.aiAssistantHandler = handler;
|
|
152
154
|
this.adminizer.emitter.emit("app:ai-assistant:registered", {
|
|
153
155
|
appName: this.appName,
|
|
154
|
-
models:
|
|
156
|
+
models: modelIds,
|
|
155
157
|
});
|
|
156
158
|
this.disposers.push(() => {
|
|
157
|
-
|
|
158
|
-
this.adminizer.aiAssistantHandler
|
|
159
|
+
for (const modelId of modelIds) {
|
|
160
|
+
this.adminizer.aiAssistantHandler.unregisterModel(modelId, this.appName);
|
|
159
161
|
}
|
|
160
162
|
this.adminizer.emitter.emit("app:ai-assistant:unregistered", {
|
|
161
163
|
appName: this.appName,
|
|
164
|
+
models: modelIds,
|
|
162
165
|
});
|
|
163
166
|
});
|
|
164
167
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Adminizer } from "../Adminizer";
|
|
2
|
-
import type { AppConfigPatch } from "./AdminizerApp";
|
|
1
|
+
import type { Adminizer } from "../Adminizer.js";
|
|
2
|
+
import type { AppConfigPatch } from "./AdminizerApp.js";
|
|
3
3
|
export interface ConfigLayerRecord {
|
|
4
4
|
id: string;
|
|
5
5
|
appName: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Adminizer } from "../Adminizer";
|
|
2
|
-
import type { AppController, AppControllerMethod } from "./AdminizerApp";
|
|
1
|
+
import type { Adminizer } from "../Adminizer.js";
|
|
2
|
+
import type { AppController, AppControllerMethod } from "./AdminizerApp.js";
|
|
3
3
|
interface ControllerRecord {
|
|
4
4
|
id: string;
|
|
5
5
|
appName: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Control, ControlType, Path, Config } from "../Control";
|
|
1
|
+
import { Control, ControlType, Path, Config } from "../Control.js";
|
|
2
2
|
export declare class JsonEditor implements Control {
|
|
3
3
|
readonly config: Record<string, string | string[] | object | number | boolean>;
|
|
4
4
|
readonly name: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Control, ControlType, Path, Config } from "../Control";
|
|
1
|
+
import { Control, ControlType, Path, Config } from "../Control.js";
|
|
2
2
|
export declare class ToastUiEditor implements Control {
|
|
3
3
|
readonly config: Record<string, string | string[] | object | number | boolean>;
|
|
4
4
|
readonly name: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Adminizer } from '../Adminizer';
|
|
2
|
-
import { AbstractFeedbackHandler } from './AbstractFeedbackHandler';
|
|
1
|
+
import { Adminizer } from '../Adminizer.js';
|
|
2
|
+
import { AbstractFeedbackHandler } from './AbstractFeedbackHandler.js';
|
|
3
3
|
export declare class FeedbackHandler {
|
|
4
4
|
private handler;
|
|
5
5
|
private adminizer;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './CustomFilterHandler';
|
|
2
|
-
export { default } from './CustomFilterHandler';
|
|
1
|
+
export * from './CustomFilterHandler.js';
|
|
2
|
+
export { default } from './CustomFilterHandler.js';
|