@acorex/connectivity 21.0.0-next.24 → 21.0.0-next.31
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/fesm2022/{acorex-connectivity-api-execute.command-Di850KiF.mjs → acorex-connectivity-api-execute.command-CiBl7z_H.mjs} +4 -4
- package/fesm2022/acorex-connectivity-api-execute.command-CiBl7z_H.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-api.mjs +37 -37
- package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-G8Opk5JU.mjs +65509 -0
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-G8Opk5JU.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-DTPM1eU1.mjs +79 -0
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-DTPM1eU1.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs +198 -0
- package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs → acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CPGQNlRz.mjs +114 -0
- package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CPGQNlRz.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-BXem7bHF.mjs +130 -0
- package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-BXem7bHF.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-TP4dUKlp.mjs +110 -0
- package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-TP4dUKlp.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-check-permission.command-C-AZTcHP.mjs → acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs} +8 -16
- package/fesm2022/acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs +56 -0
- package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs +968 -0
- package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs +16 -0
- package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-distribution-record.command-DMoZvago.mjs → acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs} +18 -6
- package/fesm2022/acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs +60 -0
- package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs +60 -0
- package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs +67 -0
- package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs +70 -0
- package/fesm2022/acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs +64 -0
- package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-application-versions-chart-data.query-B1TrIBvU.mjs → acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-application-versions-timeline.query-CvNjA4OH.mjs → acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-C6S4ZJgp.mjs +35 -0
- package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-C6S4ZJgp.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs +69 -0
- package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-employee-list.query--f2M5RgC.mjs → acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-location-list.query-Cz55arFF.mjs → acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-product-chart-data.query-C7v7D4ep.mjs → acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-product-list.query-DTj8RYwR.mjs → acorex-connectivity-mock-get-product-list.query-B06aC73T.mjs} +11 -6
- package/fesm2022/acorex-connectivity-mock-get-product-list.query-B06aC73T.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-product-pdf-data.query-DdLhRbP5.mjs → acorex-connectivity-mock-get-product-pdf-data.query-CM7bsjl7.mjs} +5 -5
- package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-CM7bsjl7.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-subscriptions-chart-data.query-ybmzmVl5.mjs → acorex-connectivity-mock-get-subscriptions-chart-data.query-BQT5a_hn.mjs} +5 -5
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-BQT5a_hn.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-subscriptions-timeline.query-kciEUx7d.mjs → acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-tenant-application-access.query-BDfrwf5Z.mjs → acorex-connectivity-mock-get-tenant-application-access.query-n1_Azada.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-n1_Azada.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-chart-data.query-BD4T2loB.mjs → acorex-connectivity-mock-get-tenant-registration-chart-data.query-Cg4ykZU2.mjs} +5 -5
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-Cg4ykZU2.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-timeline.query-CMJ8W3Ns.mjs → acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-get-tenant-user-distribution.query-C-gCUjbX.mjs → acorex-connectivity-mock-get-tenant-user-distribution.query-rD811gtM.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-rD811gtM.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs +35 -0
- package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs +49 -0
- package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs +60 -0
- package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-sample.command-CyrjdvEA.mjs → acorex-connectivity-mock-sample.command-CJmDL4pL.mjs} +4 -4
- package/fesm2022/acorex-connectivity-mock-sample.command-CJmDL4pL.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs +38 -0
- package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs +61 -0
- package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs.map +1 -0
- package/fesm2022/acorex-connectivity-mock.mjs +1 -66525
- package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
- package/fesm2022/acorex-connectivity-utils.mjs +7 -7
- package/fesm2022/acorex-connectivity-utils.mjs.map +1 -1
- package/fesm2022/acorex-connectivity.mjs.map +1 -1
- package/package.json +8 -7
- package/{mock/index.d.ts → types/acorex-connectivity-mock.d.ts} +2154 -1310
- package/fesm2022/acorex-connectivity-api-execute.command-Di850KiF.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-T6-ao4e9.mjs +0 -66
- package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-T6-ao4e9.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-check-permission.command-C-AZTcHP.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-CHci1rOa.mjs +0 -80
- package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-CHci1rOa.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-distribution-record.command-DMoZvago.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-B1TrIBvU.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-CvNjA4OH.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-employee-list.query--f2M5RgC.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-location-list.query-Cz55arFF.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-C7v7D4ep.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-product-list.query-DTj8RYwR.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-DdLhRbP5.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-ybmzmVl5.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-kciEUx7d.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BDfrwf5Z.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-BD4T2loB.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-CMJ8W3Ns.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-C-gCUjbX.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-notify-signers.command-DLMsWjWQ.mjs +0 -69
- package/fesm2022/acorex-connectivity-mock-notify-signers.command-DLMsWjWQ.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-request-signature.command-JNkj9-Yz.mjs +0 -72
- package/fesm2022/acorex-connectivity-mock-request-signature.command-JNkj9-Yz.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-sample.command-CyrjdvEA.mjs.map +0 -1
- package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-xKr94NrA.mjs +0 -81
- package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-xKr94NrA.mjs.map +0 -1
- /package/{api/index.d.ts → types/acorex-connectivity-api.d.ts} +0 -0
- /package/{utils/index.d.ts → types/acorex-connectivity-utils.d.ts} +0 -0
- /package/{index.d.ts → types/acorex-connectivity.d.ts} +0 -0
|
@@ -1,31 +1,42 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _acorex_platform_core from '@acorex/platform/core';
|
|
2
|
+
import { AXPAppStartUpService, AXPExecuteCommandResult, AXPQueryRequest, AXPCategoryEntity, AXPCategorizedEntityDto, AXPMultiLanguageString, AXPCategoryListItem, AXPExecuteCommand, AXPActionMenuItem, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPFileListItem, AXPDistributedEventListenerProvider } from '@acorex/platform/core';
|
|
2
3
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injector, Type } from '@angular/core';
|
|
4
|
+
import { Injector, Type, InjectionToken, EnvironmentProviders } from '@angular/core';
|
|
4
5
|
import * as _acorex_platform_auth from '@acorex/platform/auth';
|
|
5
|
-
import {
|
|
6
|
+
import { AXPAuthStrategy, AXPBaseCredentials, AXPSignInResult, AXPSessionContext, AXPLoginChallengeProvider, AXPChallengeCheckResult, AXPLoginChallengeData, AXPLoginChallengeComponentBase } from '@acorex/platform/auth';
|
|
6
7
|
import * as i1 from '@acorex/platform/runtime';
|
|
7
|
-
import { AXPQuery } from '@acorex/platform/runtime';
|
|
8
|
+
import { AXPCommand, AXPQuery } from '@acorex/platform/runtime';
|
|
8
9
|
import { Router } from '@angular/router';
|
|
9
10
|
import { AXMAuthConfigs } from '@acorex/modules/auth';
|
|
10
|
-
import {
|
|
11
|
+
import { AXDataSourceFilterOption } from '@acorex/cdk/common';
|
|
12
|
+
import * as _acorex_platform_common from '@acorex/platform/common';
|
|
13
|
+
import { AXPEntity, AXPLockService, AXPLockRequest, AXPLockInfo, AXPUnLockRequest, AXPLockGetInfoRequest, AXPFileStorageService, AXPFileStorageCreateRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileStorageFindRequest, AXPFileManyStorageInfo, AXPVersioningService, AXPVersionEntry as AXPVersionEntry$1, CanonicalChange as CanonicalChange$1, AXVChangeType as AXVChangeType$1 } from '@acorex/platform/common';
|
|
14
|
+
import { AXPEntityStorageService, AXPEntityDefinitionLoader, AXPDataSeeder, AXPRecordStateInfo, AXPEntityStorageMiddleware } from '@acorex/platform/layout/entity';
|
|
11
15
|
import Dexie, { Table } from 'dexie';
|
|
16
|
+
import { Firestore } from 'firebase/firestore';
|
|
17
|
+
import { AXPPropertyDefinition } from '@acorex/platform/domain';
|
|
18
|
+
import { AXPAiPlanningMode } from '@acorex/modules/ai-management';
|
|
12
19
|
import { AXMApplicationManagementApplicationEntityModel, AXMApplicationManagementEditionEntityModel } from '@acorex/modules/application-management';
|
|
20
|
+
import { PreQuestionnaireConfig, PostQuestionnaireConfig, QuestionnaireEntityDisplaySettings } from '@acorex/modules/assessment-management';
|
|
13
21
|
import { AXMTenantManagementTenantEntityModel } from '@acorex/modules/tenant-management';
|
|
14
22
|
import { AXMSecurityManagementRolesEntityModel, AXMSecurityManagementUsersEntityModel } from '@acorex/modules/security-management';
|
|
23
|
+
import { AXMHumanCapitalManagementEmploymentTypeEntityModel } from '@acorex/modules/human-capital-management';
|
|
15
24
|
import { AXPSpreadsheetData } from '@acorex/platform/layout/components';
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import {
|
|
19
|
-
import { AXPWorkflowDefinition, AXPActivityCategory, AXPActivityDefinition, AXPWorkflowCategory, AXPWorkflowInstance, AXPWorkflowEngine, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPGetWorkflowStateRequest, AXPWorkflowInstanceState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse } from '@acorex/platform/workflow';
|
|
25
|
+
import { AXMPersonCorePersonEntityModel, AXMPersonCorePersonIdentifierTypeEntityModel } from '@acorex/modules/person-core';
|
|
26
|
+
import * as _acorex_platform_workflow from '@acorex/platform/workflow';
|
|
27
|
+
import { AXPWorkflowInstance, AXPWorkflowEngine, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPGetWorkflowStateRequest, AXPWorkflowInstanceState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPWorkflowDefinition, AXPActivityCategory, AXPActivityDefinition, AXPWorkflowCategory } from '@acorex/platform/workflow';
|
|
20
28
|
import { AXMWorkflowManagementWorkflowDefinitionEntityModel } from '@acorex/modules/workflow-management';
|
|
21
29
|
import { AXPWorkflowTaskProvider, AXPTaskFilter, AXPTask, AXPExtraField, AXPTaskStatus } from '@acorex/modules/task-management';
|
|
22
|
-
import {
|
|
30
|
+
import { AXParticipant, AXUserProfileUpdate, AXUserSearchFilters, AXPresenceUpdate, AXPresenceStatus, AXBlockReportReason, AXConnectionStatus, AXConnectionOptions, AXConnectionEvent, AXMessage, AXConversation, AXTypingIndicator, AXNotificationEvent, AXCallEvent, AXConversationCreateData, AXPagination, AXConversationFilters, AXPaginatedResult, AXConversationUpdateData, AXParticipantUpdate, AXConversationSettingsUpdate, AXSendMessageCommand, AXMessagePayload, AXMessageSearchFilters, AXReadReceipt, AXMessageForwardData, AXPinnedMessage } from '@acorex/components/conversation2';
|
|
31
|
+
import { AXMChatUserApi, AXMChatRealtimeApi, AXMChatConversationApi, AXMChatMessageApi } from '@acorex/modules/conversation';
|
|
32
|
+
import { Observable } from 'rxjs';
|
|
33
|
+
import { ShowMetaDataFormPopupCommand, ShowMetaDataFormPopupInput, ResolveGroupsResult } from '@acorex/modules/data-management';
|
|
23
34
|
import { AXPDynamicFormGroupDefinition } from '@acorex/platform/layout/builder';
|
|
24
|
-
import {
|
|
25
|
-
import
|
|
26
|
-
import * as _acorex_modules_calendar_management from '@acorex/modules/calendar-management';
|
|
35
|
+
import { AXMCommonDashboardEntityModel, AXMDashboardWidgetLayoutMap } from '@acorex/modules/dashboard-management';
|
|
36
|
+
import * as dist_libs_modules_types_acorex_modules_calendar_management from 'dist/libs/modules/types/acorex-modules-calendar-management';
|
|
27
37
|
import { AXMCalendarManagementCalendarEventTypeEntityModel } from '@acorex/modules/calendar-management';
|
|
28
|
-
import {
|
|
38
|
+
import { AXPWidgetNode } from '@acorex/platform/layout/widget-core';
|
|
39
|
+
import { AXPIdentifierRule, AXPChecksumProvider, AXPClockProvider, AXPLookupProvider, AXPPolicyProvider, AXPSequenceProvider, AXPIdentifierService, AXPIdentifierRequest, AXPIdentifierResult, AXPIdentifierPeekResult } from '@acorex/modules/identifier-management';
|
|
29
40
|
|
|
30
41
|
declare class AXCCommonMockModule {
|
|
31
42
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCCommonMockModule, never>;
|
|
@@ -33,9 +44,19 @@ declare class AXCCommonMockModule {
|
|
|
33
44
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCCommonMockModule>;
|
|
34
45
|
}
|
|
35
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Module that provides entity storage backends (Dexie/IndexedDB and Firestore).
|
|
49
|
+
* When AXC_FIRESTORE_CONFIG is provided, AXC_FIRESTORE_DB is also provided so other mock storages (versioning, file-storage, identifier, workflow) can use Firestore.
|
|
50
|
+
*/
|
|
51
|
+
declare class AXCEntityStorageModule {
|
|
52
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCEntityStorageModule, never>;
|
|
53
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCEntityStorageModule, never, never, never>;
|
|
54
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXCEntityStorageModule>;
|
|
55
|
+
}
|
|
56
|
+
|
|
36
57
|
declare class AXCIdentifierManagementMockModule {
|
|
37
58
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCIdentifierManagementMockModule, never>;
|
|
38
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCIdentifierManagementMockModule, never,
|
|
59
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCIdentifierManagementMockModule, never, [typeof AXCEntityStorageModule], never>;
|
|
39
60
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCIdentifierManagementMockModule>;
|
|
40
61
|
}
|
|
41
62
|
|
|
@@ -87,12 +108,6 @@ declare class AXCSubscriptionManagementMockModule {
|
|
|
87
108
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCSubscriptionManagementMockModule>;
|
|
88
109
|
}
|
|
89
110
|
|
|
90
|
-
declare class AXCContactManagementMockModule {
|
|
91
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCContactManagementMockModule, never>;
|
|
92
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCContactManagementMockModule, never, never, never>;
|
|
93
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<AXCContactManagementMockModule>;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
111
|
declare class AXCLocationManagementMockModule {
|
|
97
112
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCLocationManagementMockModule, never>;
|
|
98
113
|
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCLocationManagementMockModule, never, never, never>;
|
|
@@ -147,6 +162,16 @@ declare class AXCAuthMockModule {
|
|
|
147
162
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCAuthMockModule>;
|
|
148
163
|
}
|
|
149
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Mock AI connectivity: {@link AXPAiEngine} plus leaf chat vendors and {@link AXCAiChatRouterService}
|
|
167
|
+
* as the single entry for chat, vision, and image generation.
|
|
168
|
+
*/
|
|
169
|
+
declare class AXCAiManagementMockModule {
|
|
170
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCAiManagementMockModule, never>;
|
|
171
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCAiManagementMockModule, never, never, never>;
|
|
172
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXCAiManagementMockModule>;
|
|
173
|
+
}
|
|
174
|
+
|
|
150
175
|
declare class AXCPlatformManagementMockModule {
|
|
151
176
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCPlatformManagementMockModule, never>;
|
|
152
177
|
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCPlatformManagementMockModule, never, never, never>;
|
|
@@ -208,8 +233,9 @@ declare class AXCDataManagementMockModule {
|
|
|
208
233
|
}
|
|
209
234
|
|
|
210
235
|
declare class AXCWorkflowManagementMockModule {
|
|
236
|
+
constructor(appInitService: AXPAppStartUpService, injector: Injector);
|
|
211
237
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowManagementMockModule, never>;
|
|
212
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCWorkflowManagementMockModule, never,
|
|
238
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCWorkflowManagementMockModule, never, [typeof AXCEntityStorageModule], never>;
|
|
213
239
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCWorkflowManagementMockModule>;
|
|
214
240
|
}
|
|
215
241
|
|
|
@@ -285,16 +311,33 @@ declare class AXCReservationManagementMockModule {
|
|
|
285
311
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCReservationManagementMockModule>;
|
|
286
312
|
}
|
|
287
313
|
|
|
314
|
+
declare class AXCMaintenanceManagementMockModule {
|
|
315
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMaintenanceManagementMockModule, never>;
|
|
316
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCMaintenanceManagementMockModule, never, never, never>;
|
|
317
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXCMaintenanceManagementMockModule>;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Provides entity definition loaders (Dexie, Firestore via AXCStoredEntityDefinitionLoader),
|
|
322
|
+
* CRUD service for management UI, seeder, and registration of module manifests from the same store.
|
|
323
|
+
*/
|
|
324
|
+
declare class AXCEntityDefinitionsModule {
|
|
325
|
+
constructor(appInitService: AXPAppStartUpService);
|
|
326
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCEntityDefinitionsModule, never>;
|
|
327
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCEntityDefinitionsModule, never, [typeof AXCEntityStorageModule], never>;
|
|
328
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXCEntityDefinitionsModule>;
|
|
329
|
+
}
|
|
330
|
+
|
|
288
331
|
declare class AXCMiddlewaresModule {
|
|
289
332
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMiddlewaresModule, never>;
|
|
290
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCMiddlewaresModule, never,
|
|
333
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCMiddlewaresModule, never, [typeof AXCEntityStorageModule, typeof AXCEntityDefinitionsModule], never>;
|
|
291
334
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCMiddlewaresModule>;
|
|
292
335
|
}
|
|
293
336
|
|
|
294
337
|
declare class AXCMockModule {
|
|
295
338
|
constructor(appInitService: AXPAppStartUpService, injector: Injector);
|
|
296
339
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMockModule, never>;
|
|
297
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCMockModule, never, [typeof _acorex_platform_auth.AXPAuthModule, typeof AXCCommonMockModule, typeof AXCIdentifierManagementMockModule, typeof AXCSecurityManagementMockModule, typeof AXCFormTemplateManagementMockModule, typeof AXCBusinessCoreMockModule, typeof AXCCustomerManagementMockModule, typeof AXCSupplierManagementMockModule, typeof AXCProcurementManagementMockModule, typeof AXCOrderManagementMockModule, typeof AXCSubscriptionManagementMockModule, typeof
|
|
340
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXCMockModule, never, [typeof _acorex_platform_auth.AXPAuthModule, typeof AXCCommonMockModule, typeof AXCIdentifierManagementMockModule, typeof AXCSecurityManagementMockModule, typeof AXCFormTemplateManagementMockModule, typeof AXCBusinessCoreMockModule, typeof AXCCustomerManagementMockModule, typeof AXCSupplierManagementMockModule, typeof AXCProcurementManagementMockModule, typeof AXCOrderManagementMockModule, typeof AXCSubscriptionManagementMockModule, typeof AXCLocationManagementMockModule, typeof AXCContactCoreMockModule, typeof AXCOrganizationManagementMockModule, typeof AXCHumanCapitalManagementMockModule, typeof AXCReportManagementMockModule, typeof AXCLocaleManagementMockModule, typeof AXCDashboardManagementMockModule, typeof AXCConversationMockModule, typeof AXCAuthMockModule, typeof AXCAiManagementMockModule, typeof AXCPlatformManagementMockModule, typeof AXCApplicationManagementMockModule, typeof AXCTenantManagementMockModule, typeof AXCLearningManagementMockModule, typeof AXCAssetManagementMockModule, typeof AXCProjectManagementMockModule, typeof AXCDocumentManagementMockModule, typeof AXCHelpDeskMockModule, typeof AXCCalendarManagementMockModule, typeof AXCDataManagementMockModule, typeof AXCWorkflowManagementMockModule, typeof AXCNotificationManagementMockModule, typeof AXCTaskManagementMockModule, typeof AXCPersonCoreMockModule, typeof AXCHealthCoreMockModule, typeof AXCContentManagementMockModule, typeof AXCMeetingManagementMockModule, typeof AXCSettingsManagementMockModule, typeof AXCAssessmentManagementMockModule, typeof AXCFinancialCoreMockModule, typeof AXCMeasurementCoreMockModule, typeof AXCProductCatalogMockModule, typeof AXCReservationManagementMockModule, typeof AXCMaintenanceManagementMockModule, typeof AXCMiddlewaresModule], never>;
|
|
298
341
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXCMockModule>;
|
|
299
342
|
}
|
|
300
343
|
|
|
@@ -435,6 +478,104 @@ declare class AXCMockCaptchaChallengeComponent extends AXPLoginChallengeComponen
|
|
|
435
478
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXCMockCaptchaChallengeComponent, "axc-mock-captcha-challenge", never, {}, {}, never, never, true, never>;
|
|
436
479
|
}
|
|
437
480
|
|
|
481
|
+
/** Same entity key as queries and CRUD seeds: `ModuleName.EntityName`. */
|
|
482
|
+
interface AXCEntityStorageInsertInput {
|
|
483
|
+
entity: string;
|
|
484
|
+
/**
|
|
485
|
+
* Field values for the new row (object or JSON string).
|
|
486
|
+
* Omit `id` to let storage generate a UUID; include `id` only when intentionally setting the primary key.
|
|
487
|
+
*/
|
|
488
|
+
data: Record<string, unknown> | string;
|
|
489
|
+
}
|
|
490
|
+
interface AXCEntityStorageInsertOutput {
|
|
491
|
+
id: string;
|
|
492
|
+
/** Persisted row after middleware (same shape as {@link AXPEntityStorageService#getOne}). */
|
|
493
|
+
record: unknown;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Inserts one row via {@link AXPEntityStorageService#insertOne} so storage middlewares
|
|
497
|
+
* (validation, lookups, identifiers, audit, …) run on the mock backend (Dexie or Firestore).
|
|
498
|
+
*/
|
|
499
|
+
declare class AXCEntityStorageInsertCommand implements AXPCommand<AXCEntityStorageInsertInput, AXCEntityStorageInsertOutput> {
|
|
500
|
+
private readonly entityStorage;
|
|
501
|
+
execute(input: AXCEntityStorageInsertInput): Promise<AXPExecuteCommandResult<AXCEntityStorageInsertOutput>>;
|
|
502
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCEntityStorageInsertCommand, never>;
|
|
503
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCEntityStorageInsertCommand>;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* Normalizes AI/tool payloads into a plain record for {@link AXPEntityStorageService#insertOne}.
|
|
508
|
+
* Returns null when the payload is missing or not a JSON object.
|
|
509
|
+
*/
|
|
510
|
+
declare function parseEntityStorageInsertData(raw: Record<string, unknown> | string | undefined | null): Record<string, unknown> | null;
|
|
511
|
+
|
|
512
|
+
interface AXCEntityStorageQueryInput {
|
|
513
|
+
/** Entity key as `ModuleName.EntityName` (same as CRUD / seeds). */
|
|
514
|
+
entity: string;
|
|
515
|
+
/**
|
|
516
|
+
* Optional {@link AXPQueryRequest} as object, or JSON string.
|
|
517
|
+
* Omitted fields default to `skip: 0`, `take: 100`.
|
|
518
|
+
* Ignored when {@link id} is set (single-record load uses `getOne`).
|
|
519
|
+
*/
|
|
520
|
+
queryRequest?: AXPQueryRequest | string;
|
|
521
|
+
/**
|
|
522
|
+
* Primary key of the row. When set, runs `getOne` and returns that row in `items` (0 or 1) —
|
|
523
|
+
* use only when the real storage id/GUID is known; do not pass product codes here.
|
|
524
|
+
*/
|
|
525
|
+
id?: string;
|
|
526
|
+
/**
|
|
527
|
+
* Free-text match (e.g. product code like PROD-007, name fragment). Converted inside the tool
|
|
528
|
+
* to OR filters on fixed baseline fields plus paths from the entity definition (string-like
|
|
529
|
+
* properties and lookup `expose` targets) and optional {@link quickSearchFieldPaths}.
|
|
530
|
+
* Ignored when {@link id} is set.
|
|
531
|
+
*/
|
|
532
|
+
quickSearch?: string;
|
|
533
|
+
/**
|
|
534
|
+
* Extra lodash-get paths to OR with `contains` for {@link quickSearch} (e.g. `tags`, `notes`).
|
|
535
|
+
* Merged with paths inferred from the registered entity definition; use when schema is missing
|
|
536
|
+
* or you need additional storage paths. May be a string array or a JSON / comma-separated string from tools.
|
|
537
|
+
*/
|
|
538
|
+
quickSearchFieldPaths?: string[] | string;
|
|
539
|
+
}
|
|
540
|
+
interface AXCEntityStorageQueryResult {
|
|
541
|
+
success: boolean;
|
|
542
|
+
total?: number;
|
|
543
|
+
items?: unknown[];
|
|
544
|
+
error?: string;
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Runs {@link AXPEntityStorageService#query} against the active mock storage backend (Dexie or Firestore).
|
|
548
|
+
*/
|
|
549
|
+
declare class AXCEntityStorageQueryQuery implements AXPQuery<AXCEntityStorageQueryInput, AXCEntityStorageQueryResult> {
|
|
550
|
+
private readonly entityStorage;
|
|
551
|
+
private readonly entityResolver;
|
|
552
|
+
fetch(input: AXCEntityStorageQueryInput): Promise<AXCEntityStorageQueryResult>;
|
|
553
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCEntityStorageQueryQuery, never>;
|
|
554
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCEntityStorageQueryQuery>;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* Normalizes tool/AI input into an {@link AXPQueryRequest} with safe defaults.
|
|
559
|
+
* Returns null when the payload cannot be parsed.
|
|
560
|
+
*/
|
|
561
|
+
declare function parseEntityStorageQueryRequest(raw: AXPQueryRequest | string | undefined | null): AXPQueryRequest | null;
|
|
562
|
+
/**
|
|
563
|
+
* Derives lodash-get paths for quick search from the entity definition: string-like property names
|
|
564
|
+
* plus lookup `expose[].target` paths (e.g. `brand.title`).
|
|
565
|
+
*/
|
|
566
|
+
declare function collectQuickSearchFieldPathsFromEntityDefinition(entity: AXPEntity | null | undefined): string[];
|
|
567
|
+
/**
|
|
568
|
+
* Builds a broad OR filter: fixed “usual suspects” plus optional extra paths (`contains` only on extras).
|
|
569
|
+
* Extra paths typically come from the entity definition and/or caller-supplied {@link quickSearchFieldPaths}.
|
|
570
|
+
*/
|
|
571
|
+
declare function buildEntityStorageQuickSearchFilter(term: string, extraContainsFieldPaths?: string[]): AXDataSourceFilterOption;
|
|
572
|
+
/**
|
|
573
|
+
* AND-combines an optional quick-search clause with any existing `request.filter`.
|
|
574
|
+
*
|
|
575
|
+
* @param quickSearchExtraContainsFieldPaths Merged: from entity schema, caller `quickSearchFieldPaths`, deduped with base fields.
|
|
576
|
+
*/
|
|
577
|
+
declare function mergeQuickSearchIntoRequest(request: AXPQueryRequest, quickSearch: string | undefined | null, quickSearchExtraContainsFieldPaths?: string[] | null): AXPQueryRequest;
|
|
578
|
+
|
|
438
579
|
declare class AXCDexieEntityStorageService extends Dexie implements AXPEntityStorageService<string, any> {
|
|
439
580
|
private sessionService;
|
|
440
581
|
constructor();
|
|
@@ -450,8 +591,8 @@ declare class AXCDexieEntityStorageService extends Dexie implements AXPEntitySto
|
|
|
450
591
|
* bulk-inserted.
|
|
451
592
|
*/
|
|
452
593
|
initial<T = any>(entityName: string, collection: T[], options?: {
|
|
453
|
-
mergeType
|
|
454
|
-
uniqueKeys
|
|
594
|
+
mergeType?: 'merge' | 'replace';
|
|
595
|
+
uniqueKeys?: string[];
|
|
455
596
|
}): Promise<T[]>;
|
|
456
597
|
getOne<T = any>(entityName: string, id: string): Promise<T>;
|
|
457
598
|
updateOne<T = any>(entityName: string, id: string, keyValue: {
|
|
@@ -460,37 +601,434 @@ declare class AXCDexieEntityStorageService extends Dexie implements AXPEntitySto
|
|
|
460
601
|
deleteOne(entityName: string, id: string): Promise<void>;
|
|
461
602
|
insertOne<T = any>(entityName: string, entity: T): Promise<string>;
|
|
462
603
|
getAll<T = any>(entityName: string): Promise<T[]>;
|
|
463
|
-
query<T = any>(entityName: string, request: AXPQueryRequest): Promise<AXPPagedListResult<T>>;
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
604
|
+
query<T = any>(entityName: string, request: AXPQueryRequest): Promise<_acorex_platform_core.AXPPagedListResult<T>>;
|
|
605
|
+
private getDirectChildCount;
|
|
606
|
+
private getAllChildCategoryIds;
|
|
607
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCDexieEntityStorageService, never>;
|
|
608
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCDexieEntityStorageService>;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
declare class AXCFirestoreEntityStorageService implements AXPEntityStorageService<string, any> {
|
|
612
|
+
private readonly sessionService;
|
|
613
|
+
private readonly db;
|
|
614
|
+
private ensureDb;
|
|
615
|
+
get dbName(): string;
|
|
468
616
|
/**
|
|
469
|
-
*
|
|
470
|
-
*
|
|
617
|
+
* Deletes all documents in `entity-store` (batched). No-op when Firestore is not configured.
|
|
618
|
+
* Used before mock data seeding so Firestore matches a fresh mock dataset.
|
|
471
619
|
*/
|
|
472
|
-
|
|
620
|
+
clearAllEntityStore(): Promise<void>;
|
|
621
|
+
initial<T = any>(entityName: string, collectionData: T[], options?: {
|
|
622
|
+
mergeType: 'merge' | 'replace';
|
|
623
|
+
uniqueKeys: string[];
|
|
624
|
+
}): Promise<T[]>;
|
|
625
|
+
getOne<T = any>(entityName: string, id: string): Promise<T>;
|
|
626
|
+
updateOne<T = any>(entityName: string, id: string, keyValue: {
|
|
627
|
+
[key: string]: any;
|
|
628
|
+
}): Promise<T>;
|
|
629
|
+
deleteOne(entityName: string, id: string): Promise<void>;
|
|
630
|
+
insertOne<T = any>(entityName: string, entity: T): Promise<string>;
|
|
631
|
+
getAll<T = any>(entityName: string): Promise<T[]>;
|
|
632
|
+
query<T = any>(entityName: string, request: AXPQueryRequest): Promise<_acorex_platform_core.AXPPagedListResult<T>>;
|
|
473
633
|
/**
|
|
474
|
-
*
|
|
634
|
+
* Load all documents for an entity (same approach as Dexie: load by entityName, filter in runEntityQuery).
|
|
635
|
+
* Firestore and Dexie share the same runEntityQuery + applyFilterArray so behavior stays consistent.
|
|
475
636
|
*/
|
|
637
|
+
private getRawAll;
|
|
476
638
|
private getDirectChildCount;
|
|
639
|
+
private getAllChildCategoryIds;
|
|
640
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCFirestoreEntityStorageService, never>;
|
|
641
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCFirestoreEntityStorageService>;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
/**
|
|
645
|
+
* Injected Firestore instance when Firebase is configured; null otherwise.
|
|
646
|
+
* Used by entity-storage, versioning, file-storage, identifier, workflow.
|
|
647
|
+
*/
|
|
648
|
+
declare const AXC_FIRESTORE_DB: InjectionToken<Firestore | null>;
|
|
649
|
+
|
|
650
|
+
type AXCEntityStorageBackendType = 'dexie' | 'firestore';
|
|
651
|
+
declare const AXC_ENTITY_STORAGE_BACKEND_TYPE: InjectionToken<AXCEntityStorageBackendType>;
|
|
652
|
+
interface AXCFirestoreConfig {
|
|
653
|
+
apiKey: string;
|
|
654
|
+
projectId: string;
|
|
655
|
+
authDomain?: string;
|
|
656
|
+
storageBucket?: string;
|
|
657
|
+
messagingSenderId?: string;
|
|
658
|
+
appId?: string;
|
|
659
|
+
}
|
|
660
|
+
declare const AXC_FIRESTORE_CONFIG: InjectionToken<AXCFirestoreConfig | null>;
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* Entity registry: one canonical id per entity.
|
|
664
|
+
* Canonical id = module.aggregate.entity (e.g. contactcore.emergencyservices.emergencyservice).
|
|
665
|
+
* Loaders return raw entity fragments for Dexie/Firestore seeding (fields-array shape).
|
|
666
|
+
*/
|
|
667
|
+
declare const ENTITY_REGISTRY: Array<{
|
|
668
|
+
canonicalId: string;
|
|
669
|
+
module: string;
|
|
670
|
+
aggregate: string;
|
|
671
|
+
loader: () => Promise<{
|
|
672
|
+
default: unknown;
|
|
673
|
+
}>;
|
|
674
|
+
}>;
|
|
675
|
+
/** Map canonicalId -> loader for seeder */
|
|
676
|
+
declare const ENTITY_DEFINITION_MAP: Record<string, () => Promise<{
|
|
677
|
+
default: unknown;
|
|
678
|
+
}>>;
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* Loads entity definitions from persistent storage (Dexie or Firestore) and converts to AXPEntity.
|
|
682
|
+
* Lookup: module first -> aggregates -> entity (module.aggregate.entity).
|
|
683
|
+
* Implements AXPEntityDefinitionLoader for layout.
|
|
684
|
+
*/
|
|
685
|
+
declare class AXCStoredEntityDefinitionLoader implements AXPEntityDefinitionLoader {
|
|
686
|
+
private readonly sourceType;
|
|
687
|
+
private readonly firestoreDb;
|
|
688
|
+
get(moduleName: string, entityName: string): Promise<AXPEntity | null>;
|
|
689
|
+
list(): Promise<{
|
|
690
|
+
name: string;
|
|
691
|
+
module: string;
|
|
692
|
+
}[]>;
|
|
693
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCStoredEntityDefinitionLoader, never>;
|
|
694
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCStoredEntityDefinitionLoader>;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* Seeds all definition collections from JSON files into Dexie or Firestore.
|
|
699
|
+
* Seed order: properties -> schemaDefinitions -> interfaces -> entities -> aggregates -> relations -> modules.
|
|
700
|
+
*/
|
|
701
|
+
declare class AXCEntityDefinitionSeederService {
|
|
702
|
+
private readonly sourceType;
|
|
703
|
+
private readonly firestoreDb;
|
|
704
|
+
private readonly crudService;
|
|
705
|
+
/** Inject so widget providers are instantiated and register with the registry before we seed interfaces. */
|
|
706
|
+
private readonly _widgetDefinitionProviders;
|
|
707
|
+
private readonly widgetRegistry;
|
|
708
|
+
seed(): Promise<void>;
|
|
709
|
+
private hasDataInDexie;
|
|
710
|
+
private hasDataInFirestore;
|
|
711
|
+
private seedToDexie;
|
|
712
|
+
private seedPropertiesToDexie;
|
|
713
|
+
private seedSchemaDefinitionsToDexie;
|
|
714
|
+
private seedEntitiesToDexie;
|
|
715
|
+
private seedToFirestore;
|
|
716
|
+
private seedPropertiesToFirestore;
|
|
717
|
+
private seedSchemaDefinitionsToFirestore;
|
|
718
|
+
private seedPluginDefinitionsToFirestore;
|
|
719
|
+
private seedValidationDefinitionsToFirestore;
|
|
720
|
+
private seedInterfaceDefinitionsToFirestore;
|
|
721
|
+
private loadAndResolveEntity;
|
|
722
|
+
private seedEntitiesToFirestore;
|
|
723
|
+
private seedAggregatesToFirestore;
|
|
724
|
+
private seedRelationsToFirestore;
|
|
725
|
+
private seedModulesToFirestore;
|
|
726
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCEntityDefinitionSeederService, never>;
|
|
727
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCEntityDefinitionSeederService>;
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
/**
|
|
731
|
+
* Loads mock {@link AXPPropertyDefinition} rows from schema-and-common-fields.data.ts (no JSON resolution).
|
|
732
|
+
*/
|
|
733
|
+
declare function loadMockPropertyDefinitions(): Promise<Array<{
|
|
734
|
+
definition: AXPPropertyDefinition;
|
|
735
|
+
}>>;
|
|
736
|
+
/**
|
|
737
|
+
* Registers mock property definitions in {@link AXPPropertyRegistry} when using mock connectivity.
|
|
738
|
+
*/
|
|
739
|
+
declare function provideMockPropertySetups(): EnvironmentProviders;
|
|
740
|
+
|
|
741
|
+
/**
|
|
742
|
+
* Serialized state of the Module aggregate root (snapshot), independent of store technology.
|
|
743
|
+
* Nested entities/aggregates are persisted elsewhere; this object is manifest metadata only.
|
|
744
|
+
*/
|
|
745
|
+
interface ModuleAggregateState {
|
|
746
|
+
/** Stable identity; must equal the persistence row key {@link ModulePersistedRecord.name} in this codebase. */
|
|
747
|
+
id: string;
|
|
748
|
+
/** Business name (matches RootConfig / manifest `name`). */
|
|
749
|
+
name: string;
|
|
750
|
+
/** Title (translation key or literal). */
|
|
751
|
+
title: string;
|
|
752
|
+
/** Icon class or token. */
|
|
753
|
+
icon: string;
|
|
754
|
+
/** Module version for manifest bridge (optional in seed data). */
|
|
755
|
+
version?: string;
|
|
756
|
+
/** Optional description for manifest. */
|
|
757
|
+
description?: string;
|
|
758
|
+
/** i18n scope name for manifest. */
|
|
759
|
+
i18n?: string;
|
|
760
|
+
/** Module dependencies for manifest. */
|
|
761
|
+
dependencies?: string[];
|
|
762
|
+
/** Whether module is required. */
|
|
763
|
+
required?: boolean;
|
|
764
|
+
/** Extra metadata for manifest. */
|
|
765
|
+
metadata?: Record<string, unknown>;
|
|
477
766
|
/**
|
|
478
|
-
*
|
|
479
|
-
*
|
|
767
|
+
* Loose bag for forward-compatible manifest keys and safe use with generic serialization/CRUD
|
|
768
|
+
* (`Record<string, unknown>`) without forcing casts at every call site.
|
|
480
769
|
*/
|
|
481
|
-
|
|
770
|
+
[key: string]: unknown;
|
|
771
|
+
}
|
|
772
|
+
/** Alias for {@link ModuleAggregateState}; kept for existing imports across the mock layer. */
|
|
773
|
+
type ModuleAggregateDefinition = ModuleAggregateState;
|
|
774
|
+
|
|
775
|
+
interface EntityRecord {
|
|
776
|
+
id: string;
|
|
777
|
+
definition: Record<string, unknown>;
|
|
778
|
+
}
|
|
779
|
+
interface AggregateRecord {
|
|
780
|
+
id: string;
|
|
781
|
+
definition: Record<string, unknown>;
|
|
782
|
+
}
|
|
783
|
+
interface RelationRecord {
|
|
784
|
+
id: string;
|
|
785
|
+
definition: Record<string, unknown>;
|
|
786
|
+
}
|
|
787
|
+
/**
|
|
788
|
+
* Dexie row: keyed by module slug; {@link ModuleAggregateDefinition} is the module aggregate root (no embedded aggregates).
|
|
789
|
+
*/
|
|
790
|
+
interface ModuleRecord {
|
|
791
|
+
name: string;
|
|
792
|
+
definition: ModuleAggregateDefinition;
|
|
793
|
+
}
|
|
794
|
+
interface SchemaDefinitionRecord {
|
|
795
|
+
name: string;
|
|
796
|
+
definition: Record<string, unknown>;
|
|
797
|
+
}
|
|
798
|
+
interface InterfaceRecord {
|
|
799
|
+
name: string;
|
|
800
|
+
definition: Record<string, unknown>;
|
|
801
|
+
}
|
|
802
|
+
interface PropertyRecord {
|
|
803
|
+
id: string;
|
|
804
|
+
definition: Record<string, unknown>;
|
|
805
|
+
}
|
|
806
|
+
interface PluginRecord {
|
|
807
|
+
name: string;
|
|
808
|
+
definition: Record<string, unknown>;
|
|
809
|
+
}
|
|
810
|
+
interface ValidationRecord {
|
|
811
|
+
name: string;
|
|
812
|
+
definition: Record<string, unknown>;
|
|
813
|
+
}
|
|
814
|
+
interface MenuRecord {
|
|
815
|
+
id: string;
|
|
816
|
+
definition: Record<string, unknown>;
|
|
817
|
+
}
|
|
818
|
+
interface CommandRecord {
|
|
819
|
+
id: string;
|
|
820
|
+
definition: Record<string, unknown>;
|
|
821
|
+
}
|
|
822
|
+
interface QueryRecord {
|
|
823
|
+
id: string;
|
|
824
|
+
definition: Record<string, unknown>;
|
|
825
|
+
}
|
|
826
|
+
interface PermissionGroupRecord {
|
|
827
|
+
id: string;
|
|
828
|
+
definition: Record<string, unknown>;
|
|
829
|
+
}
|
|
830
|
+
declare class EntityDefinitionDatabase extends Dexie {
|
|
831
|
+
entities: Table<EntityRecord, string>;
|
|
832
|
+
aggregates: Table<AggregateRecord, string>;
|
|
833
|
+
relations: Table<RelationRecord, string>;
|
|
834
|
+
modules: Table<ModuleRecord, string>;
|
|
835
|
+
schemaDefinitions: Table<SchemaDefinitionRecord, string>;
|
|
836
|
+
interfaces: Table<InterfaceRecord, string>;
|
|
837
|
+
properties: Table<PropertyRecord, string>;
|
|
838
|
+
plugins: Table<PluginRecord, string>;
|
|
839
|
+
validations: Table<ValidationRecord, string>;
|
|
840
|
+
menus: Table<MenuRecord, string>;
|
|
841
|
+
permissionGroups: Table<PermissionGroupRecord, string>;
|
|
842
|
+
commands: Table<CommandRecord, string>;
|
|
843
|
+
queries: Table<QueryRecord, string>;
|
|
844
|
+
constructor();
|
|
845
|
+
}
|
|
846
|
+
declare const entityDefDb: EntityDefinitionDatabase;
|
|
847
|
+
|
|
848
|
+
/**
|
|
849
|
+
* Seeds command registry rows into Dexie/Firestore via AXPEntityDefinitionCrudService.
|
|
850
|
+
* Data is generated from `scripts/runtime/generated/runtime-catalog.json` (see command-registry-seed.data.ts).
|
|
851
|
+
* Upserts by command name: updates existing rows or creates with stable ids from seed data.
|
|
852
|
+
*/
|
|
853
|
+
declare class AXCCommandRegistryDataSeeder implements AXPDataSeeder {
|
|
854
|
+
private readonly crud;
|
|
855
|
+
seed(): Promise<void>;
|
|
856
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCCommandRegistryDataSeeder, never>;
|
|
857
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCCommandRegistryDataSeeder>;
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* Seeds query registry rows into Dexie/Firestore via AXPEntityDefinitionCrudService.
|
|
862
|
+
* Data is generated from `scripts/runtime/generated/runtime-catalog.json` (see query-registry-seed.data.ts).
|
|
863
|
+
* Upserts by query name: updates existing rows or creates with stable ids from seed data.
|
|
864
|
+
*/
|
|
865
|
+
declare class AXCQueryRegistryDataSeeder implements AXPDataSeeder {
|
|
866
|
+
private readonly crud;
|
|
867
|
+
seed(): Promise<void>;
|
|
868
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCQueryRegistryDataSeeder, never>;
|
|
869
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCQueryRegistryDataSeeder>;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
/** Matches scripts/firebase/generated/entity-definition-firestore-snapshot.json */
|
|
873
|
+
interface FirestoreSnapshotOperation {
|
|
874
|
+
collection: string;
|
|
875
|
+
docId: string;
|
|
876
|
+
data: Record<string, unknown>;
|
|
877
|
+
}
|
|
878
|
+
interface EntityDefinitionFirestoreSnapshotFile {
|
|
879
|
+
snapshotVersion: 1;
|
|
880
|
+
generatedAt: string;
|
|
881
|
+
operations: FirestoreSnapshotOperation[];
|
|
882
|
+
warnings?: string[];
|
|
883
|
+
}
|
|
884
|
+
/**
|
|
885
|
+
* Applies a pre-generated entity-definition snapshot using batched writes (max 500 ops per batch).
|
|
886
|
+
* Yields between batches so the UI thread can stay responsive.
|
|
887
|
+
*/
|
|
888
|
+
declare function applyEntityDefinitionFirestoreSnapshot(db: Firestore, payload: EntityDefinitionFirestoreSnapshotFile, options?: {
|
|
889
|
+
yieldBetweenBatches?: boolean;
|
|
890
|
+
}): Promise<void>;
|
|
891
|
+
/**
|
|
892
|
+
* Deletes all documents in the entity-definition collections used by the mock seeder (best-effort).
|
|
893
|
+
* Call before applying a full snapshot when replacing existing mock data.
|
|
894
|
+
*/
|
|
895
|
+
declare function clearEntityDefinitionFirestoreCollections(db: Firestore): Promise<void>;
|
|
896
|
+
|
|
897
|
+
/**
|
|
898
|
+
* Fixed UUIDs so assists and settings can reference models deterministically across reseeds.
|
|
899
|
+
*/
|
|
900
|
+
declare const AXMAiModelStableIds: {
|
|
901
|
+
readonly gemini25Flash: "a0000001-0000-4000-8000-000000000001";
|
|
902
|
+
readonly gpt54: "a0000001-0000-4000-8000-000000000023";
|
|
903
|
+
readonly gpt54Mini: "a0000001-0000-4000-8000-000000000025";
|
|
904
|
+
readonly gpt54Nano: "a0000001-0000-4000-8000-000000000026";
|
|
905
|
+
readonly demisAi: "a0000001-0000-4000-8000-000000000024";
|
|
906
|
+
readonly imagen4Generate001: "a0000001-0000-4000-8000-000000000030";
|
|
907
|
+
readonly openaiGptImage1: "a0000001-0000-4000-8000-000000000031";
|
|
908
|
+
readonly lmStudioQwen35_9b: "a0000001-0000-4000-8000-000000000032";
|
|
909
|
+
readonly lmStudioQwen3_4b: "a0000001-0000-4000-8000-000000000033";
|
|
910
|
+
readonly lmStudioGemma3_4b: "a0000001-0000-4000-8000-000000000034";
|
|
911
|
+
readonly ollamaQwen35_9b: "a0000001-0000-4000-8000-000000000035";
|
|
912
|
+
readonly ollamaQwen3_4b: "a0000001-0000-4000-8000-000000000036";
|
|
913
|
+
readonly ollamaGemma3_4b: "a0000001-0000-4000-8000-000000000037";
|
|
914
|
+
readonly openaiWhisper1: "a0000001-0000-4000-8000-000000000040";
|
|
915
|
+
/** OpenAI audio/speech API (`tts-1`). */
|
|
916
|
+
readonly openaiTts1: "a0000001-0000-4000-8000-000000000042";
|
|
917
|
+
};
|
|
918
|
+
/**
|
|
919
|
+
* Catalog mock rows. Monetary fields are USD per 1M tokens (Standard / paid tier) unless noted.
|
|
920
|
+
*
|
|
921
|
+
* OpenAI: platform.openai.com/docs/pricing (Standard: input, cached input, output per 1M tokens).
|
|
922
|
+
* Gemini: ai.google.dev/gemini-api/docs/pricing (Paid tier Standard tables; context caching where listed).
|
|
923
|
+
*/
|
|
924
|
+
interface AXCAiModelMock {
|
|
925
|
+
id: string;
|
|
926
|
+
title: string;
|
|
927
|
+
/** Exact model id string sent to the vendor API (same as catalog `name`). */
|
|
928
|
+
name: string;
|
|
929
|
+
description?: string;
|
|
930
|
+
chatTransport: 'gemini' | 'openai';
|
|
931
|
+
/** Required when {@link chatTransport} is `openai`; OpenAiEndpoint catalog id. */
|
|
932
|
+
openAiEndpointId?: string;
|
|
482
933
|
/**
|
|
483
|
-
*
|
|
934
|
+
* Capability tags: `chat`, `vision` (image-in-chat), `image` (generation), `speech`, `tts`.
|
|
935
|
+
* Stored as tag titles (see AiModel entity tag-editor).
|
|
484
936
|
*/
|
|
485
|
-
|
|
937
|
+
modelPurposes?: ('chat' | 'vision' | 'image' | 'speech' | 'tts')[];
|
|
938
|
+
/** Total context window (tokens), for UI / estimation. */
|
|
939
|
+
maxContextTokens?: number;
|
|
940
|
+
maxOutputTokens?: number;
|
|
941
|
+
maxInputTokens?: number;
|
|
942
|
+
/** USD per 1M input tokens (reference). */
|
|
943
|
+
inputPricePerMillion?: number;
|
|
944
|
+
/** USD per 1M output tokens (reference). */
|
|
945
|
+
outputPricePerMillion?: number;
|
|
946
|
+
/** USD per 1M cached prompt tokens (OpenAI prompt cache) or context-cache input (Gemini), when documented. */
|
|
947
|
+
cachedInputPricePerMillion?: number;
|
|
948
|
+
/** Disable plugin: model excluded from chat when true. */
|
|
949
|
+
isDisabled?: boolean;
|
|
950
|
+
/** Denormalized: linked OpenAI endpoint is disabled (middleware-maintained). */
|
|
951
|
+
openAiEndpointIsDisabled?: boolean;
|
|
952
|
+
}
|
|
953
|
+
declare const AI_MODEL_MOCK: AXCAiModelMock[];
|
|
954
|
+
|
|
955
|
+
declare class AXCAiModelSeeder implements AXPDataSeeder {
|
|
956
|
+
private readonly storageService;
|
|
957
|
+
seed(): Promise<void>;
|
|
958
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCAiModelSeeder, never>;
|
|
959
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCAiModelSeeder>;
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
interface AXCAiAssistMock {
|
|
963
|
+
id: string;
|
|
964
|
+
name: string;
|
|
965
|
+
title: string;
|
|
966
|
+
description?: string;
|
|
967
|
+
/** Official chat model (AiModel catalog id) for supervisor assist runs. */
|
|
968
|
+
modelId?: string | null;
|
|
969
|
+
/** For list/column display; aligned with model catalog. */
|
|
970
|
+
aiModel?: {
|
|
971
|
+
id?: string;
|
|
972
|
+
title?: string;
|
|
973
|
+
name?: string;
|
|
974
|
+
};
|
|
975
|
+
/** Catalog id of a row whose `modelPurposes` includes `image`; must match chat transport when generating images. */
|
|
976
|
+
imageModelId?: string | null;
|
|
977
|
+
tools?: {
|
|
978
|
+
id: string;
|
|
979
|
+
title?: string;
|
|
980
|
+
name?: string;
|
|
981
|
+
}[];
|
|
982
|
+
systemPrompt?: string;
|
|
983
|
+
initialMessages?: string;
|
|
984
|
+
professionImageUrl?: string;
|
|
985
|
+
/** Assist default for tool-free planning preamble (`off` when omitted). */
|
|
986
|
+
planningMode?: AXPAiPlanningMode;
|
|
486
987
|
/**
|
|
487
|
-
*
|
|
988
|
+
* AI agent catalog rows this assist may delegate to (`type` = agent id, `options` = assist-locked / assist-default values).
|
|
488
989
|
*/
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
990
|
+
delegatedAgents?: {
|
|
991
|
+
type?: string;
|
|
992
|
+
options?: Record<string, unknown>;
|
|
993
|
+
}[] | null;
|
|
994
|
+
}
|
|
995
|
+
/** Deterministic id for the platform default assist row. */
|
|
996
|
+
declare const AXMAiPlatformDefaultAssistId = "b0000001-0000-4000-8000-000000000001";
|
|
997
|
+
/** Deterministic id for the Demis AI default assist row (mirror of platform default, Demis model). */
|
|
998
|
+
declare const AXMAiDemisDefaultAssistId = "b0000001-0000-4000-8000-000000000004";
|
|
999
|
+
declare const AI_ASSIST_MOCK: AXCAiAssistMock[];
|
|
1000
|
+
|
|
1001
|
+
declare class AXCAiAssistSeeder implements AXPDataSeeder {
|
|
1002
|
+
private readonly storageService;
|
|
1003
|
+
seed(): Promise<void>;
|
|
1004
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCAiAssistSeeder, never>;
|
|
1005
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCAiAssistSeeder>;
|
|
492
1006
|
}
|
|
493
1007
|
|
|
1008
|
+
/**
|
|
1009
|
+
* Returns the mock registry row id for a command `definition.name` from {@link COMMAND_REGISTRY_SEED}.
|
|
1010
|
+
* Add or regenerate rows in command-registry-seed.data.ts; do not hardcode `cmd_*` ids in agent seeds.
|
|
1011
|
+
*/
|
|
1012
|
+
declare function axcResolveCommandRegistrySeedId(registryName: string): string;
|
|
1013
|
+
/**
|
|
1014
|
+
* Returns the mock registry row id for a query `definition.name` from {@link QUERY_REGISTRY_SEED}.
|
|
1015
|
+
*/
|
|
1016
|
+
declare function axcResolveQueryRegistrySeedId(registryName: string): string;
|
|
1017
|
+
/** `definition.name` values used by AI agent mocks — ids come from {@link axcResolveCommandRegistrySeedId}. */
|
|
1018
|
+
declare const AXM_AI_REGISTRY_COMMAND_NAME: {
|
|
1019
|
+
readonly entityCreate: "Entity:Create";
|
|
1020
|
+
readonly entityUpdate: "Entity:Update";
|
|
1021
|
+
readonly commonGetCurrentTime: "common.get_current_time";
|
|
1022
|
+
readonly extractDocumentText: "AiManagement:ExtractDocumentText";
|
|
1023
|
+
readonly chatTranscribeSpeech: "AiManagement:ChatTranscribeSpeech";
|
|
1024
|
+
readonly chatSynthesizeSpeech: "AiManagement:ChatSynthesizeSpeech";
|
|
1025
|
+
};
|
|
1026
|
+
/** `definition.name` values used by AI agent mocks — ids come from {@link axcResolveQueryRegistrySeedId}. */
|
|
1027
|
+
declare const AXM_AI_REGISTRY_QUERY_NAME: {
|
|
1028
|
+
readonly listRegisteredEntities: "PlatformManagement:ListRegisteredEntities";
|
|
1029
|
+
readonly entityStorageQuery: "ConnectivityMock:EntityStorage:Query";
|
|
1030
|
+
};
|
|
1031
|
+
|
|
494
1032
|
declare const APPLICATIONS: AXMApplicationManagementApplicationEntityModel[];
|
|
495
1033
|
|
|
496
1034
|
declare class AXCApplicationDataSeeder implements AXPDataSeeder {
|
|
@@ -542,66 +1080,82 @@ declare class AXCAppTermDataSeeder implements AXPDataSeeder {
|
|
|
542
1080
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXCAppTermDataSeeder>;
|
|
543
1081
|
}
|
|
544
1082
|
|
|
1083
|
+
/**
|
|
1084
|
+
* Titles = short admin labels. `question` = full respondent text.
|
|
1085
|
+
* Mix of numbers, scales, ratings, long text, and a few yes/no for variety.
|
|
1086
|
+
*/
|
|
545
1087
|
interface QuestionBankItemMockDto extends AXPCategorizedEntityDto {
|
|
546
1088
|
id: string;
|
|
547
|
-
title:
|
|
548
|
-
|
|
1089
|
+
title: AXPMultiLanguageString;
|
|
1090
|
+
name?: string;
|
|
1091
|
+
question?: AXPMultiLanguageString;
|
|
1092
|
+
note?: AXPMultiLanguageString;
|
|
549
1093
|
interface?: any;
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
1094
|
+
/** Respondent comment box (viewer); default off when omitted. */
|
|
1095
|
+
comment?: {
|
|
1096
|
+
enabled: boolean;
|
|
1097
|
+
required: boolean;
|
|
1098
|
+
};
|
|
554
1099
|
difficulty?: 'easy' | 'medium' | 'hard';
|
|
555
1100
|
estimatedTime?: number;
|
|
556
1101
|
categoryIds: string[];
|
|
557
|
-
categories:
|
|
558
|
-
id: string;
|
|
559
|
-
title: string;
|
|
560
|
-
}[];
|
|
1102
|
+
categories: AXPCategoryListItem[];
|
|
561
1103
|
createdAt: Date;
|
|
562
1104
|
updatedAt: Date;
|
|
563
1105
|
}
|
|
564
1106
|
declare const QUESTION_BANK_ITEM_CATEGORY_MOCK: AXPCategoryEntity<string>[];
|
|
1107
|
+
type QuestionBankItemCategoryTitle = 'General' | 'Organization & Human Resources' | 'Health & Wellness' | 'Workplace Safety' | 'Plant Maintenance' | 'Compliance & Permits' | 'Team Lead & Leadership Assessment' | 'Technical & Professional Competencies' | 'Behavioral & Communication Competencies' | 'Management & Leadership Competencies' | 'Business & Organizational Competencies';
|
|
1108
|
+
declare function bankCategory(title: QuestionBankItemCategoryTitle): AXPCategoryEntity;
|
|
1109
|
+
declare const G: () => AXPCategoryEntity<string>;
|
|
1110
|
+
/** Root folder for HR / people programs (question bank tree). */
|
|
1111
|
+
declare const OHR: () => AXPCategoryEntity<string>;
|
|
1112
|
+
declare const HW: () => AXPCategoryEntity<string>;
|
|
1113
|
+
declare const WS: () => AXPCategoryEntity<string>;
|
|
1114
|
+
declare const PM: () => AXPCategoryEntity<string>;
|
|
1115
|
+
declare const CP: () => AXPCategoryEntity<string>;
|
|
1116
|
+
/** Parent folder for the four team-lead competency subcategories (question bank tree). */
|
|
1117
|
+
declare const TLA: () => AXPCategoryEntity<string>;
|
|
1118
|
+
declare const TPC: () => AXPCategoryEntity<string>;
|
|
1119
|
+
declare const BCC: () => AXPCategoryEntity<string>;
|
|
1120
|
+
declare const MLC: () => AXPCategoryEntity<string>;
|
|
1121
|
+
declare const BOC: () => AXPCategoryEntity<string>;
|
|
1122
|
+
|
|
565
1123
|
declare const questionBankItemMock: QuestionBankItemMockDto[];
|
|
1124
|
+
declare function mockQuestionBankItemByName(name: string): QuestionBankItemMockDto;
|
|
566
1125
|
|
|
567
|
-
|
|
1126
|
+
/** Questionnaire category mock row with bilingual title/description (matches seeded category storage). */
|
|
1127
|
+
interface QuestionnaireCategoryMockEntity extends Omit<AXPCategoryEntity, 'title' | 'description'> {
|
|
1128
|
+
title: AXPMultiLanguageString;
|
|
1129
|
+
description?: AXPMultiLanguageString;
|
|
1130
|
+
}
|
|
1131
|
+
interface QuestionnaireMockDto extends Omit<AXPCategorizedEntityDto, 'categories'> {
|
|
568
1132
|
id: string;
|
|
569
|
-
title:
|
|
570
|
-
description?:
|
|
1133
|
+
title: AXPMultiLanguageString;
|
|
1134
|
+
description?: AXPMultiLanguageString;
|
|
571
1135
|
type: 'questionnaire' | 'survey' | 'checklist' | 'test' | 'evaluation';
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
postSummaryContent?: string | Record<string, string>;
|
|
577
|
-
structure?: {
|
|
1136
|
+
pre?: PreQuestionnaireConfig;
|
|
1137
|
+
post?: PostQuestionnaireConfig;
|
|
1138
|
+
display?: QuestionnaireEntityDisplaySettings;
|
|
1139
|
+
questions?: {
|
|
578
1140
|
sections: Array<{
|
|
579
1141
|
id: string;
|
|
580
|
-
title:
|
|
581
|
-
description?:
|
|
1142
|
+
title: AXPMultiLanguageString;
|
|
1143
|
+
description?: AXPMultiLanguageString;
|
|
582
1144
|
order: number;
|
|
583
|
-
|
|
1145
|
+
isVisible?: boolean | string;
|
|
584
1146
|
scoringWeight?: number;
|
|
585
1147
|
items: Array<{
|
|
586
1148
|
id: string;
|
|
587
1149
|
questionBankItemId: string;
|
|
588
1150
|
order: number;
|
|
589
|
-
isRequired?: boolean;
|
|
590
|
-
|
|
591
|
-
requiredCondition?: string;
|
|
1151
|
+
isRequired?: boolean | string;
|
|
1152
|
+
isVisible?: boolean | string;
|
|
592
1153
|
scoringOverride?: {
|
|
593
1154
|
points?: number;
|
|
594
1155
|
weight?: number;
|
|
595
1156
|
};
|
|
596
1157
|
}>;
|
|
597
1158
|
}>;
|
|
598
|
-
displaySettings?: {
|
|
599
|
-
viewMode?: 'single-page' | 'page-per-group' | 'page-per-question';
|
|
600
|
-
showProgressBar?: boolean;
|
|
601
|
-
showTimer?: boolean;
|
|
602
|
-
showSectionTitles?: boolean;
|
|
603
|
-
showQuestionNumbers?: boolean;
|
|
604
|
-
};
|
|
605
1159
|
};
|
|
606
1160
|
scoringType: 'none' | 'cumulative' | 'weighted' | 'formula';
|
|
607
1161
|
passingScore?: number;
|
|
@@ -614,14 +1168,26 @@ interface QuestionnaireMockDto extends AXPCategorizedEntityDto {
|
|
|
614
1168
|
randomizeQuestions: boolean;
|
|
615
1169
|
requireAllAnswers: boolean;
|
|
616
1170
|
categoryIds: string[];
|
|
617
|
-
categories:
|
|
618
|
-
id: string;
|
|
619
|
-
title: string;
|
|
620
|
-
}[];
|
|
1171
|
+
categories: QuestionnaireCategoryMockEntity[];
|
|
621
1172
|
createdAt: Date;
|
|
622
1173
|
updatedAt: Date;
|
|
623
1174
|
}
|
|
624
|
-
declare const QUESTIONNAIRE_CATEGORY_MOCK:
|
|
1175
|
+
declare const QUESTIONNAIRE_CATEGORY_MOCK: QuestionnaireCategoryMockEntity[];
|
|
1176
|
+
type QuestionnaireCategoryTitle = 'General' | 'Organization & Human Resources' | 'Health & Wellness' | 'Workplace Safety' | 'Plant Maintenance' | 'Compliance & Permits' | 'Team Lead Evaluation';
|
|
1177
|
+
/** Category row for mock questionnaires (aligned with question-bank-item titles). */
|
|
1178
|
+
declare const QGEN: () => QuestionnaireCategoryMockEntity;
|
|
1179
|
+
declare const QOHR: () => QuestionnaireCategoryMockEntity;
|
|
1180
|
+
declare const QHW: () => QuestionnaireCategoryMockEntity;
|
|
1181
|
+
declare const QWS: () => QuestionnaireCategoryMockEntity;
|
|
1182
|
+
declare const QPM: () => QuestionnaireCategoryMockEntity;
|
|
1183
|
+
declare const QCP: () => QuestionnaireCategoryMockEntity;
|
|
1184
|
+
/** Questionnaires folder for team lead / supervisor evaluations. */
|
|
1185
|
+
declare const QTLE: () => QuestionnaireCategoryMockEntity;
|
|
1186
|
+
|
|
1187
|
+
/**
|
|
1188
|
+
* Mock questionnaires by category (General → … → Compliance; team-lead competencies).
|
|
1189
|
+
* Outcome rules use stable ids exported from each `questionnaires-*.mock.ts` file — see questionnaire-calculation.mock.ts.
|
|
1190
|
+
*/
|
|
625
1191
|
declare const questionnaireMock: QuestionnaireMockDto[];
|
|
626
1192
|
|
|
627
1193
|
declare class AXMQuestionBankItemCategoryDataSeeder implements AXPDataSeeder {
|
|
@@ -652,270 +1218,71 @@ declare class AXMQuestionnaireDataSeeder implements AXPDataSeeder {
|
|
|
652
1218
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMQuestionnaireDataSeeder>;
|
|
653
1219
|
}
|
|
654
1220
|
|
|
655
|
-
|
|
1221
|
+
/** Command payload for automation (activity key + parameters). */
|
|
1222
|
+
interface AutomationCommandDto {
|
|
1223
|
+
commandKey: string;
|
|
1224
|
+
params?: Record<string, unknown>;
|
|
1225
|
+
}
|
|
1226
|
+
/** Automation mock DTO (WorkflowManagement.Automation: refType + refId). */
|
|
1227
|
+
interface AutomationMockDto {
|
|
656
1228
|
id: string;
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
};
|
|
670
|
-
statusId: string;
|
|
671
|
-
createdAt: Date;
|
|
672
|
-
updatedAt: Date;
|
|
673
|
-
}[];
|
|
1229
|
+
refType: string;
|
|
1230
|
+
refId: string;
|
|
1231
|
+
name?: string;
|
|
1232
|
+
title?: string;
|
|
1233
|
+
description?: string;
|
|
1234
|
+
condition: Record<string, unknown>;
|
|
1235
|
+
/** Activity/command key and parameters (single field for form UX). */
|
|
1236
|
+
command: AutomationCommandDto;
|
|
1237
|
+
createdAt?: Date;
|
|
1238
|
+
updatedAt?: Date;
|
|
1239
|
+
}
|
|
1240
|
+
declare const automationMock: AutomationMockDto[];
|
|
674
1241
|
|
|
675
|
-
|
|
1242
|
+
/** Seeds WorkflowManagement.Automation with assessment questionnaire automations (refType + refId). */
|
|
1243
|
+
declare class AXMAutomationDataSeeder implements AXPDataSeeder {
|
|
676
1244
|
private storage;
|
|
677
1245
|
seed(): Promise<void>;
|
|
678
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
679
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
1246
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMAutomationDataSeeder, never>;
|
|
1247
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMAutomationDataSeeder>;
|
|
680
1248
|
}
|
|
681
1249
|
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
caseId: string;
|
|
685
|
-
case: {
|
|
686
|
-
id: string;
|
|
687
|
-
title: string;
|
|
688
|
-
};
|
|
689
|
-
responderId: string;
|
|
690
|
-
responder: {
|
|
691
|
-
id: string;
|
|
692
|
-
displayName: string;
|
|
693
|
-
};
|
|
694
|
-
role: string;
|
|
695
|
-
statusId: string;
|
|
696
|
-
startedAt: Date;
|
|
697
|
-
lastSavedAt: Date;
|
|
698
|
-
timeSpent: number;
|
|
699
|
-
progressPercentage: number;
|
|
700
|
-
answeredQuestionsCount: number;
|
|
701
|
-
answers: {
|
|
702
|
-
'item-1': {
|
|
703
|
-
value: string;
|
|
704
|
-
};
|
|
705
|
-
'item-2': {
|
|
706
|
-
value: number;
|
|
707
|
-
};
|
|
708
|
-
'item-3': {
|
|
709
|
-
value: string;
|
|
710
|
-
};
|
|
711
|
-
'item-4': {
|
|
712
|
-
value: string;
|
|
713
|
-
};
|
|
714
|
-
'item-5': {
|
|
715
|
-
value: string;
|
|
716
|
-
};
|
|
717
|
-
'item-6': {
|
|
718
|
-
value: string;
|
|
719
|
-
};
|
|
720
|
-
'item-7'?: undefined;
|
|
721
|
-
'item-8'?: undefined;
|
|
722
|
-
'item-9'?: undefined;
|
|
723
|
-
'item-10'?: undefined;
|
|
724
|
-
};
|
|
725
|
-
createdAt: Date;
|
|
726
|
-
updatedAt: Date;
|
|
727
|
-
previousId?: undefined;
|
|
728
|
-
} | {
|
|
1250
|
+
type QuestionnaireCalculationMockResultKind = 'number' | 'string' | 'boolean';
|
|
1251
|
+
interface QuestionnaireCalculationMockDto {
|
|
729
1252
|
id: string;
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
role: string;
|
|
741
|
-
statusId: string;
|
|
742
|
-
startedAt: Date;
|
|
743
|
-
lastSavedAt: Date;
|
|
744
|
-
timeSpent: number;
|
|
745
|
-
progressPercentage: number;
|
|
746
|
-
answeredQuestionsCount: number;
|
|
747
|
-
answers: {
|
|
748
|
-
'item-1': {
|
|
749
|
-
value: string;
|
|
750
|
-
};
|
|
751
|
-
'item-2': {
|
|
752
|
-
value: number;
|
|
753
|
-
};
|
|
754
|
-
'item-3': {
|
|
755
|
-
value: string;
|
|
756
|
-
};
|
|
757
|
-
'item-4': {
|
|
758
|
-
value: string;
|
|
759
|
-
};
|
|
760
|
-
'item-5': {
|
|
761
|
-
value: string;
|
|
762
|
-
};
|
|
763
|
-
'item-6': {
|
|
764
|
-
value: string;
|
|
765
|
-
};
|
|
766
|
-
'item-7': {
|
|
767
|
-
value: string;
|
|
768
|
-
};
|
|
769
|
-
'item-8': {
|
|
770
|
-
value: string;
|
|
771
|
-
};
|
|
772
|
-
'item-9': {
|
|
773
|
-
value: string;
|
|
774
|
-
};
|
|
775
|
-
'item-10': {
|
|
776
|
-
value: string;
|
|
777
|
-
};
|
|
778
|
-
};
|
|
779
|
-
createdAt: Date;
|
|
780
|
-
updatedAt: Date;
|
|
781
|
-
previousId?: undefined;
|
|
782
|
-
} | {
|
|
783
|
-
id: string;
|
|
784
|
-
caseId: string;
|
|
785
|
-
case: {
|
|
786
|
-
id: string;
|
|
787
|
-
title: string;
|
|
788
|
-
};
|
|
789
|
-
responderId: string;
|
|
790
|
-
responder: {
|
|
791
|
-
id: string;
|
|
792
|
-
displayName: string;
|
|
793
|
-
};
|
|
794
|
-
role: string;
|
|
795
|
-
statusId: string;
|
|
796
|
-
previousId: string;
|
|
797
|
-
startedAt: Date;
|
|
798
|
-
lastSavedAt: Date;
|
|
799
|
-
timeSpent: number;
|
|
800
|
-
progressPercentage: number;
|
|
801
|
-
answeredQuestionsCount: number;
|
|
802
|
-
answers: {
|
|
803
|
-
'item-1': {
|
|
804
|
-
value: string;
|
|
805
|
-
};
|
|
806
|
-
'item-2': {
|
|
807
|
-
value: number;
|
|
808
|
-
};
|
|
809
|
-
'item-3': {
|
|
810
|
-
value: string;
|
|
811
|
-
};
|
|
812
|
-
'item-4': {
|
|
813
|
-
value: string;
|
|
814
|
-
};
|
|
815
|
-
'item-5': {
|
|
816
|
-
value: string;
|
|
817
|
-
};
|
|
818
|
-
'item-6': {
|
|
819
|
-
value: string;
|
|
820
|
-
};
|
|
821
|
-
'item-7': {
|
|
822
|
-
value: string;
|
|
823
|
-
};
|
|
824
|
-
'item-8': {
|
|
825
|
-
value: string;
|
|
826
|
-
};
|
|
827
|
-
'item-9': {
|
|
828
|
-
value: string;
|
|
829
|
-
};
|
|
830
|
-
'item-10': {
|
|
831
|
-
value: string;
|
|
832
|
-
};
|
|
833
|
-
};
|
|
834
|
-
createdAt: Date;
|
|
835
|
-
updatedAt: Date;
|
|
836
|
-
} | {
|
|
837
|
-
id: string;
|
|
838
|
-
caseId: string;
|
|
839
|
-
case: {
|
|
840
|
-
id: string;
|
|
841
|
-
title: string;
|
|
842
|
-
};
|
|
843
|
-
responderId: string;
|
|
844
|
-
responder: {
|
|
845
|
-
id: string;
|
|
846
|
-
displayName: string;
|
|
847
|
-
};
|
|
848
|
-
role: string;
|
|
849
|
-
statusId: string;
|
|
850
|
-
progressPercentage: number;
|
|
851
|
-
answeredQuestionsCount: number;
|
|
852
|
-
answers: {
|
|
853
|
-
'item-1'?: undefined;
|
|
854
|
-
'item-2'?: undefined;
|
|
855
|
-
'item-3'?: undefined;
|
|
856
|
-
'item-4'?: undefined;
|
|
857
|
-
'item-5'?: undefined;
|
|
858
|
-
'item-6'?: undefined;
|
|
859
|
-
'item-7'?: undefined;
|
|
860
|
-
'item-8'?: undefined;
|
|
861
|
-
'item-9'?: undefined;
|
|
862
|
-
'item-10'?: undefined;
|
|
863
|
-
};
|
|
864
|
-
createdAt: Date;
|
|
865
|
-
updatedAt: Date;
|
|
866
|
-
startedAt?: undefined;
|
|
867
|
-
lastSavedAt?: undefined;
|
|
868
|
-
timeSpent?: undefined;
|
|
869
|
-
previousId?: undefined;
|
|
870
|
-
} | {
|
|
871
|
-
id: string;
|
|
872
|
-
caseId: string;
|
|
873
|
-
case: {
|
|
874
|
-
id: string;
|
|
875
|
-
title: string;
|
|
876
|
-
};
|
|
877
|
-
responderId: string;
|
|
878
|
-
responder: {
|
|
879
|
-
id: string;
|
|
880
|
-
displayName: string;
|
|
881
|
-
};
|
|
882
|
-
role: string;
|
|
883
|
-
statusId: string;
|
|
884
|
-
startedAt: Date;
|
|
885
|
-
lastSavedAt: Date;
|
|
886
|
-
timeSpent: number;
|
|
887
|
-
progressPercentage: number;
|
|
888
|
-
answeredQuestionsCount: number;
|
|
889
|
-
answers: {
|
|
890
|
-
'item-1': {
|
|
891
|
-
value: string;
|
|
892
|
-
};
|
|
893
|
-
'item-2': {
|
|
894
|
-
value: string;
|
|
895
|
-
};
|
|
896
|
-
'item-3': {
|
|
897
|
-
value: string;
|
|
898
|
-
};
|
|
899
|
-
'item-4'?: undefined;
|
|
900
|
-
'item-5'?: undefined;
|
|
901
|
-
'item-6'?: undefined;
|
|
902
|
-
'item-7'?: undefined;
|
|
903
|
-
'item-8'?: undefined;
|
|
904
|
-
'item-9'?: undefined;
|
|
905
|
-
'item-10'?: undefined;
|
|
906
|
-
};
|
|
907
|
-
createdAt: Date;
|
|
908
|
-
updatedAt: Date;
|
|
909
|
-
previousId?: undefined;
|
|
910
|
-
})[];
|
|
1253
|
+
questionnaireId: string;
|
|
1254
|
+
name?: string;
|
|
1255
|
+
title?: AXPMultiLanguageString;
|
|
1256
|
+
description?: AXPMultiLanguageString;
|
|
1257
|
+
resultKind: QuestionnaireCalculationMockResultKind;
|
|
1258
|
+
expression?: string;
|
|
1259
|
+
createdAt?: Date;
|
|
1260
|
+
updatedAt?: Date;
|
|
1261
|
+
}
|
|
1262
|
+
declare const questionnaireCalculationMock: QuestionnaireCalculationMockDto[];
|
|
911
1263
|
|
|
912
|
-
declare class
|
|
1264
|
+
declare class AXMQuestionnaireCalculationDataSeeder implements AXPDataSeeder {
|
|
913
1265
|
private storage;
|
|
914
1266
|
seed(): Promise<void>;
|
|
915
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
916
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
1267
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMQuestionnaireCalculationDataSeeder, never>;
|
|
1268
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMQuestionnaireCalculationDataSeeder>;
|
|
917
1269
|
}
|
|
918
1270
|
|
|
1271
|
+
type TokenCategoryMockDto = AXPCategoryEntity & {
|
|
1272
|
+
icon?: string;
|
|
1273
|
+
color?: string;
|
|
1274
|
+
};
|
|
1275
|
+
/** Token category IDs for reference in token mocks */
|
|
1276
|
+
declare const tokenCategoryIds: {
|
|
1277
|
+
platform: string;
|
|
1278
|
+
session: string;
|
|
1279
|
+
template: string;
|
|
1280
|
+
integration: string;
|
|
1281
|
+
commerce: string;
|
|
1282
|
+
support: string;
|
|
1283
|
+
};
|
|
1284
|
+
declare const tokenCategoryMocks: TokenCategoryMockDto[];
|
|
1285
|
+
|
|
919
1286
|
declare class AXCTokensDataSeeder implements AXPDataSeeder {
|
|
920
1287
|
private storageService;
|
|
921
1288
|
seed(): Promise<void>;
|
|
@@ -927,9 +1294,19 @@ declare const TOKENS: {
|
|
|
927
1294
|
id: string;
|
|
928
1295
|
name: string;
|
|
929
1296
|
title: string;
|
|
930
|
-
description: string;
|
|
931
|
-
|
|
1297
|
+
description: string | undefined;
|
|
1298
|
+
kind: "Context" | "Secret" | "Static";
|
|
1299
|
+
dataType: "Boolean" | "String" | "Integer";
|
|
1300
|
+
format: "None" | "Currency" | "Url";
|
|
932
1301
|
expression: string;
|
|
1302
|
+
sampleValue: string;
|
|
1303
|
+
isSensitive: boolean | undefined;
|
|
1304
|
+
maskPattern: "Partial" | undefined;
|
|
1305
|
+
categoryIds: string[];
|
|
1306
|
+
categories: {
|
|
1307
|
+
id: string;
|
|
1308
|
+
title: _acorex_platform_core.AXPMultiLanguageString;
|
|
1309
|
+
}[];
|
|
933
1310
|
}[];
|
|
934
1311
|
|
|
935
1312
|
/**
|
|
@@ -979,40 +1356,43 @@ interface AXCMockUserMockDto extends AXMSecurityManagementUsersEntityModel {
|
|
|
979
1356
|
}
|
|
980
1357
|
declare const mockUsers: AXCMockUserMockDto[];
|
|
981
1358
|
|
|
1359
|
+
/**
|
|
1360
|
+
* Stable id for the built-in enterprise-root business unit (C-suite and company-level positions).
|
|
1361
|
+
* Aligns with SAP/Oracle-style “corporate / headquarters” org unit — not nullable on assignments.
|
|
1362
|
+
*/
|
|
1363
|
+
declare const AXM_CORPORATE_BUSINESS_UNIT_ID = "a1b2c3d4-e5f6-4789-a012-34567890abcd";
|
|
982
1364
|
interface AXCBusinessUnitMockDto {
|
|
983
1365
|
id: string;
|
|
984
|
-
title:
|
|
985
|
-
description?:
|
|
1366
|
+
title: AXPMultiLanguageString;
|
|
1367
|
+
description?: AXPMultiLanguageString;
|
|
986
1368
|
typeId: string;
|
|
987
1369
|
parentId?: string | null;
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
country?: {
|
|
992
|
-
id: string;
|
|
993
|
-
title: string;
|
|
994
|
-
} | null;
|
|
995
|
-
state?: {
|
|
996
|
-
id: string;
|
|
997
|
-
title: string;
|
|
998
|
-
} | null;
|
|
999
|
-
city?: {
|
|
1370
|
+
geographicRegionId?: string | null;
|
|
1371
|
+
hasChild?: boolean;
|
|
1372
|
+
geographicRegion?: {
|
|
1000
1373
|
id: string;
|
|
1001
1374
|
title: string;
|
|
1002
1375
|
} | null;
|
|
1003
1376
|
parent?: {
|
|
1004
1377
|
id: string;
|
|
1005
|
-
title:
|
|
1378
|
+
title: AXPMultiLanguageString;
|
|
1006
1379
|
} | null;
|
|
1007
1380
|
type: {
|
|
1008
1381
|
id: string;
|
|
1009
|
-
title:
|
|
1382
|
+
title: AXPMultiLanguageString;
|
|
1383
|
+
isLocationBased?: boolean;
|
|
1010
1384
|
} | null;
|
|
1011
1385
|
positionIds?: string[];
|
|
1012
1386
|
positions?: {
|
|
1013
1387
|
id: string;
|
|
1014
1388
|
title: string;
|
|
1015
1389
|
}[];
|
|
1390
|
+
headPositionId?: string | null;
|
|
1391
|
+
headPosition?: {
|
|
1392
|
+
id: string;
|
|
1393
|
+
title: string;
|
|
1394
|
+
} | null;
|
|
1395
|
+
stateInfo?: AXPRecordStateInfo;
|
|
1016
1396
|
}
|
|
1017
1397
|
declare const BUSINESS_UNITS_MOCK: AXCBusinessUnitMockDto[];
|
|
1018
1398
|
|
|
@@ -1023,9 +1403,27 @@ declare class AXMBusinessUnitDataSeeder implements AXPDataSeeder {
|
|
|
1023
1403
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMBusinessUnitDataSeeder>;
|
|
1024
1404
|
}
|
|
1025
1405
|
|
|
1406
|
+
interface JobDefinitionMockDto extends AXPCategorizedEntityDto {
|
|
1407
|
+
id: string;
|
|
1408
|
+
title: AXPMultiLanguageString;
|
|
1409
|
+
description: AXPMultiLanguageString;
|
|
1410
|
+
categoryIds: string[];
|
|
1411
|
+
categories: AXPCategoryListItem[];
|
|
1412
|
+
responsibilityLevelIds?: string[];
|
|
1413
|
+
responsibilities?: AXPSpreadsheetData;
|
|
1414
|
+
jobLevelIds?: string[];
|
|
1415
|
+
jobLevels?: AXPCategoryListItem[];
|
|
1416
|
+
skillRequirements?: AXPSpreadsheetData;
|
|
1417
|
+
}
|
|
1418
|
+
/** English category keys → id (for parents after localized titles). */
|
|
1419
|
+
declare const JOB_DEFINITION_CATEGORY_KEY_TO_ID: Record<string, string>;
|
|
1420
|
+
declare const JOB_DEFINITIONS_CATEGORY_MOCK: AXPCategoryEntity<string>[];
|
|
1421
|
+
declare const JOB_DEFINITIONS_MOCK: JobDefinitionMockDto[];
|
|
1422
|
+
|
|
1026
1423
|
declare function findEmployeeById(employeeId: string): AXCEmployeeMockDto | undefined;
|
|
1027
1424
|
interface AXCEmployeeMockDto {
|
|
1028
1425
|
id: string;
|
|
1426
|
+
statusId: string;
|
|
1029
1427
|
userId?: string;
|
|
1030
1428
|
personId: string;
|
|
1031
1429
|
person: {
|
|
@@ -1036,38 +1434,36 @@ interface AXCEmployeeMockDto {
|
|
|
1036
1434
|
birthDate: Date;
|
|
1037
1435
|
employeeCode: string;
|
|
1038
1436
|
jobDefinitionId: string;
|
|
1039
|
-
jobDefinition:
|
|
1040
|
-
id: string;
|
|
1041
|
-
title: string;
|
|
1042
|
-
};
|
|
1437
|
+
jobDefinition: JobDefinitionMockDto;
|
|
1043
1438
|
employmentTypeId: string;
|
|
1044
|
-
employmentType:
|
|
1045
|
-
id: string;
|
|
1046
|
-
title: string;
|
|
1047
|
-
};
|
|
1439
|
+
employmentType: AXMHumanCapitalManagementEmploymentTypeEntityModel;
|
|
1048
1440
|
hireDate: Date;
|
|
1049
1441
|
managerId: string | null;
|
|
1050
1442
|
manager: AXCEmployeeMockDto | null;
|
|
1443
|
+
activePrimaryPositionId?: string | null;
|
|
1444
|
+
activePrimaryPosition?: {
|
|
1445
|
+
id: string;
|
|
1446
|
+
title?: unknown;
|
|
1447
|
+
} | null;
|
|
1051
1448
|
imageId: string[];
|
|
1052
1449
|
}
|
|
1053
1450
|
declare const EMPLOYEES_MOCK: AXCEmployeeMockDto[];
|
|
1451
|
+
/** Sync in-memory mock rows with `managerId` values (e.g. after storage reconciliation). */
|
|
1452
|
+
declare function axcPatchEmployeeManagerRefsFromRows(rows: {
|
|
1453
|
+
id: string;
|
|
1454
|
+
managerId?: string | null;
|
|
1455
|
+
}[]): void;
|
|
1456
|
+
/** Sync in-memory mock rows with `activePrimaryPositionId` / nested position (after storage reconciliation). */
|
|
1457
|
+
declare function axcPatchEmployeeActivePrimaryPositionRefsFromRows(rows: {
|
|
1458
|
+
id: string;
|
|
1459
|
+
activePrimaryPositionId?: string | null;
|
|
1460
|
+
}[]): void;
|
|
1054
1461
|
|
|
1055
1462
|
type AXCEmployeeMock$1 = (typeof EMPLOYEES_MOCK)[number];
|
|
1056
1463
|
interface AXCTeamMockDto {
|
|
1057
1464
|
id: string;
|
|
1058
|
-
title:
|
|
1059
|
-
description:
|
|
1060
|
-
leaderId: string;
|
|
1061
|
-
leader: AXCEmployeeMock$1;
|
|
1062
|
-
managerId: string;
|
|
1063
|
-
manager: AXCEmployeeMock$1;
|
|
1064
|
-
memberIds: string[];
|
|
1065
|
-
members: AXCEmployeeMock$1[];
|
|
1066
|
-
}
|
|
1067
|
-
interface AXCTeamMockDto {
|
|
1068
|
-
id: string;
|
|
1069
|
-
title: string;
|
|
1070
|
-
description: string;
|
|
1465
|
+
title: AXPMultiLanguageString;
|
|
1466
|
+
description: AXPMultiLanguageString;
|
|
1071
1467
|
leaderId: string;
|
|
1072
1468
|
leader: AXCEmployeeMock$1;
|
|
1073
1469
|
managerId: string;
|
|
@@ -1086,7 +1482,7 @@ declare class AXMTeamDataSeeder implements AXPDataSeeder {
|
|
|
1086
1482
|
|
|
1087
1483
|
interface AXCTeamMemberRoleMockDto {
|
|
1088
1484
|
id: string;
|
|
1089
|
-
title:
|
|
1485
|
+
title: AXPMultiLanguageString;
|
|
1090
1486
|
name: 'leader' | 'member' | 'co-leader' | 'advisor';
|
|
1091
1487
|
}
|
|
1092
1488
|
declare const TEAM_MEMBER_ROLES_MOCK: AXCTeamMemberRoleMockDto[];
|
|
@@ -1122,29 +1518,35 @@ declare class AXMTeamMemberDataSeeder implements AXPDataSeeder {
|
|
|
1122
1518
|
interface PositionMockDto extends AXPCategorizedEntityDto {
|
|
1123
1519
|
id: string;
|
|
1124
1520
|
code: string;
|
|
1125
|
-
title:
|
|
1126
|
-
description:
|
|
1521
|
+
title: AXPMultiLanguageString;
|
|
1522
|
+
description: AXPMultiLanguageString;
|
|
1127
1523
|
categoryIds: string[];
|
|
1128
1524
|
categories: {
|
|
1129
1525
|
id: string;
|
|
1130
|
-
title:
|
|
1526
|
+
title: AXPMultiLanguageString;
|
|
1131
1527
|
}[];
|
|
1132
1528
|
jobLevelId: string;
|
|
1133
1529
|
jobLevel?: {
|
|
1134
1530
|
id: string;
|
|
1135
|
-
title:
|
|
1531
|
+
title: AXPMultiLanguageString;
|
|
1136
1532
|
};
|
|
1137
1533
|
jobDefinitionId?: string;
|
|
1138
1534
|
jobDefinition?: {
|
|
1139
1535
|
id: string;
|
|
1140
|
-
title:
|
|
1536
|
+
title: AXPMultiLanguageString;
|
|
1141
1537
|
};
|
|
1142
1538
|
businessUnitId?: string;
|
|
1143
1539
|
businessUnit?: {
|
|
1144
1540
|
id: string;
|
|
1145
|
-
title:
|
|
1541
|
+
title: AXPMultiLanguageString;
|
|
1146
1542
|
};
|
|
1147
1543
|
capacity?: number;
|
|
1544
|
+
reportsToPositionId?: string;
|
|
1545
|
+
reportsToPosition?: {
|
|
1546
|
+
id: string;
|
|
1547
|
+
title: AXPMultiLanguageString;
|
|
1548
|
+
};
|
|
1549
|
+
isManager?: boolean;
|
|
1148
1550
|
}
|
|
1149
1551
|
declare const POSITIONS_CATEGORY_MOCK: AXPCategoryEntity<string>[];
|
|
1150
1552
|
declare const POSITIONS_MOCK: PositionMockDto[];
|
|
@@ -1156,27 +1558,6 @@ declare class AXMPositionDataSeeder implements AXPDataSeeder {
|
|
|
1156
1558
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMPositionDataSeeder>;
|
|
1157
1559
|
}
|
|
1158
1560
|
|
|
1159
|
-
interface JobDefinitionMockDto extends AXPCategorizedEntityDto {
|
|
1160
|
-
id: string;
|
|
1161
|
-
title: string;
|
|
1162
|
-
description: string;
|
|
1163
|
-
categoryIds: string[];
|
|
1164
|
-
categories: {
|
|
1165
|
-
id: string;
|
|
1166
|
-
title: string;
|
|
1167
|
-
}[];
|
|
1168
|
-
responsibilityLevelIds?: string[];
|
|
1169
|
-
responsibilities?: AXPSpreadsheetData;
|
|
1170
|
-
jobLevelIds?: string[];
|
|
1171
|
-
jobLevels?: {
|
|
1172
|
-
id: string;
|
|
1173
|
-
title: string;
|
|
1174
|
-
}[];
|
|
1175
|
-
skillRequirements?: AXPSpreadsheetData;
|
|
1176
|
-
}
|
|
1177
|
-
declare const JOB_DEFINITIONS_CATEGORY_MOCK: AXPCategoryEntity<string>[];
|
|
1178
|
-
declare const JOB_DEFINITIONS_MOCK: JobDefinitionMockDto[];
|
|
1179
|
-
|
|
1180
1561
|
declare class AXMJobDefinitionDataSeeder implements AXPDataSeeder {
|
|
1181
1562
|
private storageService;
|
|
1182
1563
|
seed(): Promise<void>;
|
|
@@ -1186,8 +1567,8 @@ declare class AXMJobDefinitionDataSeeder implements AXPDataSeeder {
|
|
|
1186
1567
|
|
|
1187
1568
|
interface JobLevelMockDto {
|
|
1188
1569
|
id: string;
|
|
1189
|
-
title:
|
|
1190
|
-
description?:
|
|
1570
|
+
title: AXPMultiLanguageString;
|
|
1571
|
+
description?: AXPMultiLanguageString;
|
|
1191
1572
|
level: number;
|
|
1192
1573
|
}
|
|
1193
1574
|
declare const JOB_LEVELS_MOCK: JobLevelMockDto[];
|
|
@@ -1201,14 +1582,16 @@ declare class AXMJobLevelDataSeeder implements AXPDataSeeder {
|
|
|
1201
1582
|
|
|
1202
1583
|
interface ResponsibilityMockDto extends AXPCategorizedEntityDto {
|
|
1203
1584
|
id: string;
|
|
1204
|
-
title:
|
|
1205
|
-
description:
|
|
1585
|
+
title: AXPMultiLanguageString;
|
|
1586
|
+
description: AXPMultiLanguageString;
|
|
1206
1587
|
categoryIds: string[];
|
|
1207
1588
|
categories: {
|
|
1208
1589
|
id: string;
|
|
1209
|
-
title:
|
|
1590
|
+
title: AXPMultiLanguageString;
|
|
1210
1591
|
}[];
|
|
1211
1592
|
}
|
|
1593
|
+
/** English category keys → id (stable lookup after localized titles). */
|
|
1594
|
+
declare const RESPONSIBILITY_CATEGORY_KEY_TO_ID: Record<string, string>;
|
|
1212
1595
|
declare const RESPONSIBILITIES_CATEGORY_MOCK: AXPCategoryEntity<string>[];
|
|
1213
1596
|
declare const RESPONSIBILITIES_MOCK: ResponsibilityMockDto[];
|
|
1214
1597
|
|
|
@@ -1248,7 +1631,7 @@ declare class AXMPositionAssignmentDataSeeder implements AXPDataSeeder {
|
|
|
1248
1631
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMPositionAssignmentDataSeeder>;
|
|
1249
1632
|
}
|
|
1250
1633
|
|
|
1251
|
-
declare const EMPLOYMENT_TYPES_MOCK:
|
|
1634
|
+
declare const EMPLOYMENT_TYPES_MOCK: AXMHumanCapitalManagementEmploymentTypeEntityModel[];
|
|
1252
1635
|
|
|
1253
1636
|
declare class AXMEmploymentTypeDataSeeder implements AXPDataSeeder {
|
|
1254
1637
|
private storageService;
|
|
@@ -1400,9 +1783,6 @@ declare const personMock: PersonMockDto[];
|
|
|
1400
1783
|
type PersonIdentifierTypeMockDto = AXMPersonCorePersonIdentifierTypeEntityModel;
|
|
1401
1784
|
declare const personIdentifierTypeMock: PersonIdentifierTypeMockDto[];
|
|
1402
1785
|
|
|
1403
|
-
type PersonRelationshipTypeMockDto = AXMPersonCorePersonRelationshipTypeEntityModel;
|
|
1404
|
-
declare const personRelationshipTypeMock: PersonRelationshipTypeMockDto[];
|
|
1405
|
-
|
|
1406
1786
|
interface TaskType {
|
|
1407
1787
|
id: string;
|
|
1408
1788
|
name: string;
|
|
@@ -1477,402 +1857,1093 @@ interface TaskTemplate {
|
|
|
1477
1857
|
declare const TASK_TEMPLATES: TaskTemplate[];
|
|
1478
1858
|
|
|
1479
1859
|
/**
|
|
1480
|
-
*
|
|
1481
|
-
*
|
|
1482
|
-
*/
|
|
1483
|
-
declare const workflowDefinitionMock: AXPWorkflowDefinition[];
|
|
1484
|
-
declare const workflowDefinitionIds: {
|
|
1485
|
-
createLeaveRequest: string;
|
|
1486
|
-
};
|
|
1487
|
-
/**
|
|
1488
|
-
* Mock workflow definition entities for the entity list and seeder.
|
|
1489
|
-
* Attach Staff category directly to entity (similar to other mocks that bind category in data).
|
|
1860
|
+
* Bookmark entity for IndexedDB storage.
|
|
1861
|
+
* Aligns with ERD: BOOKMARK table structure.
|
|
1490
1862
|
*/
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1863
|
+
interface AXCBookmarkEntity {
|
|
1864
|
+
id: string;
|
|
1865
|
+
instanceId: string;
|
|
1866
|
+
activityId: string;
|
|
1867
|
+
type: string;
|
|
1868
|
+
hash: string;
|
|
1869
|
+
payloadJson: string;
|
|
1870
|
+
isConsumed: boolean;
|
|
1871
|
+
createdAt: string;
|
|
1498
1872
|
}
|
|
1499
|
-
|
|
1500
1873
|
/**
|
|
1501
|
-
*
|
|
1502
|
-
*
|
|
1503
|
-
* - childrenCount: Direct child categories (for lazy loading)
|
|
1504
|
-
* - itemsCount: Direct activities in this category
|
|
1874
|
+
* Dexie database for workflow instances and bookmarks.
|
|
1875
|
+
* Aligns with ERD structure: WORKFLOW_INSTANCE + BOOKMARK tables.
|
|
1505
1876
|
*/
|
|
1506
|
-
declare
|
|
1507
|
-
/**
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
declare class AXCActivityDefinitionSeeder implements AXPDataSeeder {
|
|
1520
|
-
private readonly storageService;
|
|
1521
|
-
seed(): Promise<void>;
|
|
1522
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCActivityDefinitionSeeder, never>;
|
|
1523
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXCActivityDefinitionSeeder>;
|
|
1877
|
+
declare class AXCWorkflowExecutionDB extends Dexie {
|
|
1878
|
+
/**
|
|
1879
|
+
* Table for workflow instances.
|
|
1880
|
+
* Uses id as primary key.
|
|
1881
|
+
* Aligns with WORKFLOW_INSTANCE table in ERD.
|
|
1882
|
+
*/
|
|
1883
|
+
instances: Table<AXPWorkflowInstance, string>;
|
|
1884
|
+
/**
|
|
1885
|
+
* Table for workflow bookmarks.
|
|
1886
|
+
* Aligns with BOOKMARK table in ERD.
|
|
1887
|
+
*/
|
|
1888
|
+
bookmarks: Table<AXCBookmarkEntity, string>;
|
|
1889
|
+
constructor();
|
|
1524
1890
|
}
|
|
1525
|
-
|
|
1526
1891
|
/**
|
|
1527
|
-
*
|
|
1528
|
-
* Workflow provider maps this category to Leave Request workflow.
|
|
1892
|
+
* Singleton instance of workflow execution database.
|
|
1529
1893
|
*/
|
|
1530
|
-
declare const
|
|
1894
|
+
declare const axWorkflowExecutionDB: AXCWorkflowExecutionDB;
|
|
1531
1895
|
|
|
1896
|
+
declare const AXC_WORKFLOW_EXECUTION_STORE: InjectionToken<AXCWorkflowExecutionStore>;
|
|
1532
1897
|
/**
|
|
1533
|
-
*
|
|
1534
|
-
*
|
|
1898
|
+
* Abstraction for workflow instance and bookmark persistence.
|
|
1899
|
+
* Implementations: Dexie (IndexedDB) or Firestore.
|
|
1535
1900
|
*/
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1901
|
+
interface AXCWorkflowExecutionStore {
|
|
1902
|
+
addInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1903
|
+
getInstance(instanceId: string): Promise<AXPWorkflowInstance | null>;
|
|
1904
|
+
updateInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1905
|
+
putInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1906
|
+
getInstancesBySubStatus(subStatus: string): Promise<AXPWorkflowInstance[]>;
|
|
1907
|
+
addBookmark(bookmark: AXCBookmarkEntity): Promise<void>;
|
|
1908
|
+
updateBookmark(bookmark: AXCBookmarkEntity): Promise<void>;
|
|
1909
|
+
getBookmarksByInstanceAndActivity(instanceId: string, activityId: string, onlyActive: boolean): Promise<AXCBookmarkEntity[]>;
|
|
1910
|
+
getActiveBookmarks(instanceId: string): Promise<AXCBookmarkEntity[]>;
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
declare class AXCWorkflowExecutionStoreDexie implements AXCWorkflowExecutionStore {
|
|
1914
|
+
private readonly db;
|
|
1915
|
+
addInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1916
|
+
getInstance(instanceId: string): Promise<AXPWorkflowInstance | null>;
|
|
1917
|
+
updateInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1918
|
+
putInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1919
|
+
getInstancesBySubStatus(subStatus: string): Promise<AXPWorkflowInstance[]>;
|
|
1920
|
+
addBookmark(bookmark: AXCBookmarkEntity): Promise<void>;
|
|
1921
|
+
updateBookmark(bookmark: AXCBookmarkEntity): Promise<void>;
|
|
1922
|
+
getBookmarksByInstanceAndActivity(instanceId: string, activityId: string, onlyActive: boolean): Promise<AXCBookmarkEntity[]>;
|
|
1923
|
+
getActiveBookmarks(instanceId: string): Promise<AXCBookmarkEntity[]>;
|
|
1924
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowExecutionStoreDexie, never>;
|
|
1925
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowExecutionStoreDexie>;
|
|
1926
|
+
}
|
|
1927
|
+
|
|
1928
|
+
declare class AXCWorkflowExecutionStoreFirestore implements AXCWorkflowExecutionStore {
|
|
1929
|
+
private readonly db;
|
|
1930
|
+
constructor(db: Firestore);
|
|
1931
|
+
addInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1932
|
+
getInstance(instanceId: string): Promise<AXPWorkflowInstance | null>;
|
|
1933
|
+
updateInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1934
|
+
putInstance(instance: AXPWorkflowInstance): Promise<void>;
|
|
1935
|
+
getInstancesBySubStatus(subStatus: string): Promise<AXPWorkflowInstance[]>;
|
|
1936
|
+
addBookmark(bookmark: AXCBookmarkEntity): Promise<void>;
|
|
1937
|
+
updateBookmark(bookmark: AXCBookmarkEntity): Promise<void>;
|
|
1938
|
+
getBookmarksByInstanceAndActivity(instanceId: string, activityId: string, onlyActive: boolean): Promise<AXCBookmarkEntity[]>;
|
|
1939
|
+
getActiveBookmarks(instanceId: string): Promise<AXCBookmarkEntity[]>;
|
|
1940
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowExecutionStoreFirestore, never>;
|
|
1941
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowExecutionStoreFirestore>;
|
|
1541
1942
|
}
|
|
1542
1943
|
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1944
|
+
/**
|
|
1945
|
+
* Mock implementation of AXPWorkflowEngine.
|
|
1946
|
+
*
|
|
1947
|
+
* Uses IndexedDB (via Dexie) to store workflow instance states.
|
|
1948
|
+
*
|
|
1949
|
+
* @example
|
|
1950
|
+
* ```typescript
|
|
1951
|
+
* // In module providers
|
|
1952
|
+
* {
|
|
1953
|
+
* provide: AXP_WORKFLOW_ENGINE,
|
|
1954
|
+
* useClass: AXCWorkflowEngine,
|
|
1955
|
+
* }
|
|
1956
|
+
* ```
|
|
1957
|
+
*/
|
|
1958
|
+
declare class AXCWorkflowEngine implements AXPWorkflowEngine {
|
|
1959
|
+
private readonly store;
|
|
1960
|
+
private readonly commandService;
|
|
1961
|
+
private readonly entityStorageService;
|
|
1962
|
+
private readonly activityDefinitionService;
|
|
1963
|
+
private readonly workflowProviders;
|
|
1964
|
+
private readonly expressionScopeService;
|
|
1965
|
+
private readonly expressionEvaluator;
|
|
1552
1966
|
/**
|
|
1553
|
-
*
|
|
1554
|
-
*
|
|
1555
|
-
*
|
|
1967
|
+
* Get workflow definition by name using workflow providers.
|
|
1968
|
+
* Falls back to entity storage query by name if providers fail.
|
|
1969
|
+
*
|
|
1970
|
+
* [AXCWorkflowRuntimeService] Uses workflow providers for consistency with Workflow Management UI.
|
|
1556
1971
|
*/
|
|
1557
|
-
|
|
1558
|
-
items: AXPTask<extraFields$1>[];
|
|
1559
|
-
total: number;
|
|
1560
|
-
}>;
|
|
1972
|
+
private getDefinition;
|
|
1561
1973
|
/**
|
|
1562
|
-
*
|
|
1563
|
-
*
|
|
1564
|
-
*
|
|
1565
|
-
* @param tasksToUpdate An array of task objects to update. Each object must have an `id`.
|
|
1566
|
-
* @returns An array of the tasks that were successfully updated.
|
|
1974
|
+
* Secure task token storage.
|
|
1975
|
+
* Key: token (UUID)
|
|
1976
|
+
* Value: { instanceId, activityId, expiresAt }
|
|
1567
1977
|
*/
|
|
1568
|
-
|
|
1569
|
-
private isDurationMoreThan24Hours;
|
|
1570
|
-
executeCommand(command: AXPExecuteCommand): Promise<AXPExecuteCommandResult>;
|
|
1571
|
-
getActions(task?: AXPTask<extraFields$1>): Promise<AXPActionMenuItem[]>;
|
|
1572
|
-
getExtraFields(): Promise<AXPExtraField[]>;
|
|
1573
|
-
getStatuses(): Promise<AXPTaskStatus[]>;
|
|
1574
|
-
}
|
|
1575
|
-
|
|
1576
|
-
type extraFields = {
|
|
1577
|
-
recievedDate: Date;
|
|
1578
|
-
};
|
|
1579
|
-
declare class AXPTaskBoardPlatformManagementTaskProvider extends AXPWorkflowTaskProvider<extraFields> {
|
|
1580
|
-
private calendarService;
|
|
1581
|
-
private list;
|
|
1582
|
-
get name(): string;
|
|
1583
|
-
get title(): string;
|
|
1584
|
-
get icon(): string;
|
|
1978
|
+
private taskTokens;
|
|
1585
1979
|
/**
|
|
1586
|
-
*
|
|
1587
|
-
*
|
|
1588
|
-
* @returns A promise resolving to the paginated list of tasks and the total count of filtered tasks.
|
|
1980
|
+
* Token expiration time: 30 minutes.
|
|
1981
|
+
* Tasks in task board (human-task) may wait days; resume is allowed via bookmark fallback when token is expired.
|
|
1589
1982
|
*/
|
|
1590
|
-
|
|
1591
|
-
items: AXPTask<extraFields>[];
|
|
1592
|
-
total: number;
|
|
1593
|
-
}>;
|
|
1983
|
+
private readonly TOKEN_EXPIRATION_MS;
|
|
1594
1984
|
/**
|
|
1595
|
-
*
|
|
1596
|
-
* This method finds each task by its ID and applies the new properties from the input.
|
|
1597
|
-
* It also automatically recalculates the `allDay` flag based on the task's duration.
|
|
1598
|
-
* @param tasksToUpdate An array of task objects to update. Each object must have an `id`.
|
|
1599
|
-
* @returns An array of the tasks that were successfully updated.
|
|
1985
|
+
* Generate secure, non-guessable task token (UUID).
|
|
1600
1986
|
*/
|
|
1601
|
-
|
|
1602
|
-
private isDurationMoreThan24Hours;
|
|
1603
|
-
executeCommand(command: AXPExecuteCommand): Promise<AXPExecuteCommandResult>;
|
|
1604
|
-
getActions(task?: AXPTask<extraFields>): Promise<AXPActionMenuItem[]>;
|
|
1605
|
-
getExtraFields(): Promise<AXPExtraField[]>;
|
|
1606
|
-
getStatuses(): Promise<AXPTaskStatus[]>;
|
|
1607
|
-
}
|
|
1608
|
-
|
|
1609
|
-
declare class AXMAiResponderService {
|
|
1610
|
-
private readonly geminiApiKey;
|
|
1611
|
-
getAIResponse(prompt: string): Promise<string>;
|
|
1612
|
-
private getRandomReply;
|
|
1613
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXMAiResponderService, never>;
|
|
1614
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXMAiResponderService>;
|
|
1615
|
-
}
|
|
1616
|
-
|
|
1617
|
-
declare class AXPMessageDataSeeder implements AXPDataSeeder {
|
|
1618
|
-
private storageService;
|
|
1619
|
-
private chatService;
|
|
1620
|
-
private chatRealtimeService;
|
|
1621
|
-
private commentService;
|
|
1622
|
-
private commentRealtimeService;
|
|
1623
|
-
private aiResponderService;
|
|
1624
|
-
private usersService;
|
|
1625
|
-
private sessionService;
|
|
1626
|
-
private userNameCache;
|
|
1627
|
-
private getUserName;
|
|
1628
|
-
seed(): Promise<void>;
|
|
1629
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPMessageDataSeeder, never>;
|
|
1630
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMessageDataSeeder>;
|
|
1631
|
-
}
|
|
1632
|
-
|
|
1633
|
-
declare class AXPRoomDataSeeder implements AXPDataSeeder {
|
|
1634
|
-
private storageService;
|
|
1635
|
-
seed(): Promise<void>;
|
|
1636
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXPRoomDataSeeder, never>;
|
|
1637
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXPRoomDataSeeder>;
|
|
1638
|
-
}
|
|
1639
|
-
|
|
1640
|
-
declare class AXMFormDataSourcesProvider implements AXPDataSourceDefinitionProvider {
|
|
1641
|
-
private yesNoOptions;
|
|
1642
|
-
private yesNoNaOptions;
|
|
1643
|
-
private booleanOptions;
|
|
1644
|
-
private weatherConditions;
|
|
1645
|
-
private visibilityLevels;
|
|
1646
|
-
private workAreas;
|
|
1647
|
-
private departments;
|
|
1648
|
-
private permitTypes;
|
|
1649
|
-
private approvalStatus;
|
|
1650
|
-
private workCompletionStatus;
|
|
1651
|
-
private trainingStatus;
|
|
1652
|
-
private certificationStatus;
|
|
1653
|
-
private priorityLevels;
|
|
1654
|
-
private incidentTypes;
|
|
1655
|
-
private severityLevels;
|
|
1656
|
-
items(): Promise<AXPDataSourceDefinition[]>;
|
|
1657
|
-
}
|
|
1658
|
-
|
|
1659
|
-
interface ShowMetaDataFormPopupMockInput extends ShowMetaDataFormPopupInput {
|
|
1660
|
-
/** Manual groups for meta-data-form-editor (bypasses resolveGroups) */
|
|
1661
|
-
groups?: AXPDynamicFormGroupDefinition[];
|
|
1662
|
-
/** Manual record for initial form context (bypasses findRecord) */
|
|
1663
|
-
data?: Record<string, unknown>;
|
|
1664
|
-
}
|
|
1665
|
-
/**
|
|
1666
|
-
* Sample mock override of ShowMetaDataFormPopupCommand for testing.
|
|
1667
|
-
* Overrides findRecord and resolveGroups to support manual data and groups
|
|
1668
|
-
* from input, without overriding execute.
|
|
1669
|
-
*/
|
|
1670
|
-
declare class AXCMockShowMetaDataFormPopupCommand extends ShowMetaDataFormPopupCommand {
|
|
1671
|
-
protected findRecord(entity: string, id: string, input?: ShowMetaDataFormPopupInput): Promise<Record<string, unknown> | null>;
|
|
1672
|
-
protected resolveGroups(input: ShowMetaDataFormPopupInput, currentRecord: Record<string, unknown>): Promise<ResolveGroupsResult>;
|
|
1673
|
-
protected updateRecord(entity: string, id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
1674
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMockShowMetaDataFormPopupCommand, never>;
|
|
1675
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXCMockShowMetaDataFormPopupCommand>;
|
|
1676
|
-
}
|
|
1677
|
-
|
|
1678
|
-
declare class AXCMetaDataDefinitionDataSeeder implements AXPDataSeeder {
|
|
1679
|
-
private storageService;
|
|
1680
|
-
seed(): Promise<void>;
|
|
1681
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMetaDataDefinitionDataSeeder, never>;
|
|
1682
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXCMetaDataDefinitionDataSeeder>;
|
|
1683
|
-
}
|
|
1684
|
-
|
|
1685
|
-
interface CategoryMetadataInheritanceQueryParams {
|
|
1686
|
-
entityName: string;
|
|
1687
|
-
categoryId: string;
|
|
1688
|
-
}
|
|
1689
|
-
/**
|
|
1690
|
-
* Result structure that preserves groups organization
|
|
1691
|
-
*/
|
|
1692
|
-
interface CategoryMetadataInheritanceGroupResult {
|
|
1693
|
-
name: string;
|
|
1694
|
-
title?: string;
|
|
1695
|
-
description?: string;
|
|
1696
|
-
order: number;
|
|
1697
|
-
fields: Array<{
|
|
1698
|
-
id: string;
|
|
1699
|
-
name: string;
|
|
1700
|
-
title: string;
|
|
1701
|
-
description?: string;
|
|
1702
|
-
interface: string;
|
|
1703
|
-
configuration?: any;
|
|
1704
|
-
defaultValue?: any;
|
|
1705
|
-
order: number;
|
|
1706
|
-
}>;
|
|
1707
|
-
}
|
|
1708
|
-
type CategoryMetadataInheritanceResult = CategoryMetadataInheritanceGroupResult[];
|
|
1709
|
-
declare class AXCQueryCategoryMetadataInheritanceQuery implements AXPQuery<CategoryMetadataInheritanceQueryParams, CategoryMetadataInheritanceResult> {
|
|
1710
|
-
private injector;
|
|
1711
|
-
private metaDataService;
|
|
1712
|
-
fetch(params: CategoryMetadataInheritanceQueryParams): Promise<CategoryMetadataInheritanceResult>;
|
|
1713
|
-
private findCategoryById;
|
|
1714
|
-
private buildCategoryHierarchy;
|
|
1987
|
+
private generateTaskToken;
|
|
1715
1988
|
/**
|
|
1716
|
-
*
|
|
1717
|
-
*
|
|
1989
|
+
* Validate task token.
|
|
1990
|
+
* Returns true if token exists, not expired, and matches instanceId + activityId.
|
|
1718
1991
|
*/
|
|
1719
|
-
private
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
/**
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
private
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
private
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1992
|
+
private validateTaskToken;
|
|
1993
|
+
/**
|
|
1994
|
+
* Allow resume when token is missing/expired but instance is suspended and has an active bookmark for this step.
|
|
1995
|
+
* Used for task board tasks that may wait days (token is in-memory and expires after 30 min).
|
|
1996
|
+
*/
|
|
1997
|
+
private canResumeByBookmark;
|
|
1998
|
+
/**
|
|
1999
|
+
* Remove task token after completion to prevent replay.
|
|
2000
|
+
*/
|
|
2001
|
+
private removeTaskToken;
|
|
2002
|
+
/**
|
|
2003
|
+
* Cleanup expired tokens (lightweight).
|
|
2004
|
+
*/
|
|
2005
|
+
private cleanupExpiredTokens;
|
|
2006
|
+
/**
|
|
2007
|
+
* Start a new workflow instance.
|
|
2008
|
+
* Creates a workflow instance and stores it in IndexedDB.
|
|
2009
|
+
*/
|
|
2010
|
+
start(request: AXPStartWorkflowRequest): Promise<AXPStartWorkflowResponse>;
|
|
2011
|
+
/**
|
|
2012
|
+
* Find activity in Graph by ID.
|
|
2013
|
+
*/
|
|
2014
|
+
private findActivityInGraph;
|
|
2015
|
+
/**
|
|
2016
|
+
* Default outcome used when the requested outcome is not in the allowed list (standard scenario).
|
|
2017
|
+
*/
|
|
2018
|
+
private static readonly DEFAULT_UNMATCHED_OUTCOME;
|
|
2019
|
+
/**
|
|
2020
|
+
* Resolve allowed outcomes for the current activity from the workflow definition.
|
|
2021
|
+
* - First: use outgoing connection ports from the workflow graph (so workflow-defined ports like 'Submitted'/'Cancelled' are accepted).
|
|
2022
|
+
* - For human-task: parse activity instance inputs.actions (prefix/suffix) and use action names as outcomes.
|
|
2023
|
+
* - Otherwise: use activity definition outcomes or ['Done'].
|
|
2024
|
+
*/
|
|
2025
|
+
private getActivityAllowedOutcomes;
|
|
2026
|
+
/**
|
|
2027
|
+
* Normalize outcome: if it is in the allowed list, return as-is; otherwise use standard fallback and log.
|
|
2028
|
+
*/
|
|
2029
|
+
private normalizeOutcome;
|
|
2030
|
+
/**
|
|
2031
|
+
* Normalize value to a plain object for use as scope.outputs.
|
|
2032
|
+
* Used when building expression scope so that outputs.* (e.g. outputs.result, outputs.action) is available.
|
|
2033
|
+
*/
|
|
2034
|
+
private ensureOutputsForScope;
|
|
2035
|
+
/**
|
|
2036
|
+
* Resume a suspended workflow instance.
|
|
2037
|
+
*
|
|
2038
|
+
* After frontend completes its task:
|
|
2039
|
+
* 1. Validates taskToken (secure, non-guessable)
|
|
2040
|
+
* 2. Verifies resumed activity matches currentStepId/bookmark
|
|
2041
|
+
* 3. Marks related bookmark as consumed
|
|
2042
|
+
* 4. Applies frontend outputs into workflow state
|
|
2043
|
+
* 5. Traverses to next activity based on outcomes
|
|
2044
|
+
* 6. Executes ALL backend activities until hitting frontend activity or completion
|
|
2045
|
+
* 7. Returns either pendingTask (with new secure token) or completed status
|
|
2046
|
+
*/
|
|
2047
|
+
resume(request: AXPResumeWorkflowRequest): Promise<AXPResumeWorkflowResponse>;
|
|
2048
|
+
/**
|
|
2049
|
+
* Get current workflow execution state.
|
|
2050
|
+
*/
|
|
2051
|
+
getState(request: AXPGetWorkflowStateRequest): Promise<AXPWorkflowInstanceState>;
|
|
2052
|
+
/**
|
|
2053
|
+
* Cache for activity definitions to avoid repeated queries.
|
|
2054
|
+
*/
|
|
2055
|
+
private activityDefinitionCache;
|
|
2056
|
+
/**
|
|
2057
|
+
* Cache TTL: 5 minutes
|
|
2058
|
+
*/
|
|
2059
|
+
private readonly CACHE_TTL_MS;
|
|
2060
|
+
/**
|
|
2061
|
+
* Determine execution mode for an activity (async).
|
|
2062
|
+
*
|
|
2063
|
+
* Priority (highest to lowest):
|
|
2064
|
+
* 1. Activity instance's executionMode (from AXPActivity in workflow definition)
|
|
2065
|
+
* 2. ActivityDefinition's executionMode (from ActivityDefinitionService)
|
|
2066
|
+
* 3. Default: 'frontend'
|
|
2067
|
+
*
|
|
2068
|
+
* @param activityType - Activity type (e.g., 'workflow-activity:show-toast')
|
|
2069
|
+
* @param activity - Activity from workflow definition (AXPActivity)
|
|
2070
|
+
* @returns Promise of execution mode: 'frontend', 'backend', or 'both'
|
|
2071
|
+
*/
|
|
2072
|
+
private determineExecutionMode;
|
|
2073
|
+
/**
|
|
2074
|
+
* Create a task from a workflow activity.
|
|
2075
|
+
* Inspired by Temporal's Activity Task and Elsa's Bookmark pattern.
|
|
2076
|
+
* Uses same expression scope (inputs, variables, outputs, context.eval) as backend execution.
|
|
2077
|
+
*/
|
|
2078
|
+
private createTaskFromActivity;
|
|
2079
|
+
/**
|
|
2080
|
+
* Build variables table for entity: only variables defined in workflow definition (name, title, value).
|
|
2081
|
+
*/
|
|
2082
|
+
private computeWorkflowVariablesTable;
|
|
2083
|
+
/**
|
|
2084
|
+
* Compute overview display fields for entity model (statusDisplay, step progress, etc.).
|
|
2085
|
+
*/
|
|
2086
|
+
private computeOverviewDisplayFields;
|
|
2087
|
+
/**
|
|
2088
|
+
* Compute runtime details for task board style overview fields.
|
|
2089
|
+
*/
|
|
2090
|
+
private computeRuntimeDetails;
|
|
2091
|
+
/**
|
|
2092
|
+
* Resolve current step from active bookmark first, then running context.
|
|
2093
|
+
*/
|
|
2094
|
+
private resolveCurrentStepId;
|
|
2095
|
+
/**
|
|
2096
|
+
* Resolve friendly activity title using payload/title inputs and fallback label.
|
|
2097
|
+
*/
|
|
2098
|
+
private resolveActivityTitle;
|
|
2099
|
+
/**
|
|
2100
|
+
* Resolve next activity title from workflow graph and known outcome.
|
|
2101
|
+
*/
|
|
2102
|
+
private resolveNextActivityTitle;
|
|
2103
|
+
/**
|
|
2104
|
+
* Build current assignees display from bookmark payload.
|
|
2105
|
+
*/
|
|
2106
|
+
private resolveCurrentAssignees;
|
|
2107
|
+
/**
|
|
2108
|
+
* Parse bookmark payload safely.
|
|
2109
|
+
*/
|
|
2110
|
+
private parseBookmarkPayloadJson;
|
|
2111
|
+
/**
|
|
2112
|
+
* Convert technical identifier to readable title-case label.
|
|
2113
|
+
*/
|
|
2114
|
+
private formatReadableLabel;
|
|
2115
|
+
/**
|
|
2116
|
+
* Build a user-friendly task board status from workflow status and sub-status.
|
|
2117
|
+
* Returns plain English labels instead of translation keys.
|
|
2118
|
+
*/
|
|
2119
|
+
private getWorkflowStatusDisplay;
|
|
2120
|
+
/**
|
|
2121
|
+
* Save workflow instance to entity service for entity-based access.
|
|
2122
|
+
*/
|
|
2123
|
+
private saveInstanceToEntityService;
|
|
2124
|
+
/**
|
|
2125
|
+
* Update workflow instance in entity service.
|
|
2126
|
+
* Uses upsert pattern: try update first, if fails then insert.
|
|
2127
|
+
*/
|
|
2128
|
+
private updateInstanceInEntityService;
|
|
2129
|
+
/**
|
|
2130
|
+
* Execute backend activities locally using CommandBus.
|
|
2131
|
+
*
|
|
2132
|
+
* Backend activities are registered as Commands and executed via CommandService.
|
|
2133
|
+
* Uses WorkflowExpressionScopeService + AXPExpressionEvaluatorService for expression
|
|
2134
|
+
* evaluation (inputs, variables, outputs, context.eval) so backend activities get the
|
|
2135
|
+
* same expression handling as the platform ActivityExecutor.
|
|
2136
|
+
*/
|
|
2137
|
+
private executeBackendActivityLocally;
|
|
2138
|
+
/**
|
|
2139
|
+
* Build variable updates from activity output using activity's outputToVariables (BPMN-style: activity → variable).
|
|
2140
|
+
* For each entry in activity.outputToVariables, sets variables[variableName] = output[outputPath].
|
|
2141
|
+
*/
|
|
2142
|
+
private getVariableUpdatesFromOutput;
|
|
2143
|
+
/**
|
|
2144
|
+
* Normalize user/role id field to array for bookmark payload (task board expects array).
|
|
2145
|
+
* Expression may evaluate to single string (e.g. {{ variables.managerId }}) or already array.
|
|
2146
|
+
*/
|
|
2147
|
+
private normalizeUserIds;
|
|
2148
|
+
/**
|
|
2149
|
+
* Set variable activity - stores value(s) in workflow state.
|
|
2150
|
+
* Supports single variable (variableName + value) or multiple (variables: [{ variableName, value }, ...]).
|
|
2151
|
+
*/
|
|
2152
|
+
private executeSetVariable;
|
|
2153
|
+
/**
|
|
2154
|
+
* Execute HTTP request - makes real HTTP call.
|
|
2155
|
+
* Supports different HTTP methods and handles timeouts.
|
|
2156
|
+
*/
|
|
2157
|
+
private executeHttpRequest;
|
|
2158
|
+
/**
|
|
2159
|
+
* Create a bookmark for a workflow instance.
|
|
2160
|
+
* Aligns with ERD: BOOKMARK table structure.
|
|
2161
|
+
*
|
|
2162
|
+
* @param instanceId - Workflow instance ID
|
|
2163
|
+
* @param activityId - Activity ID where bookmark is created
|
|
2164
|
+
* @param type - Bookmark type (e.g., 'user-task', 'event', 'timer')
|
|
2165
|
+
* @param payload - Bookmark payload data
|
|
2166
|
+
* @returns Bookmark ID
|
|
2167
|
+
*/
|
|
2168
|
+
private createBookmark;
|
|
2169
|
+
/**
|
|
2170
|
+
* Consume (mark as consumed) a bookmark for a workflow instance.
|
|
2171
|
+
*
|
|
2172
|
+
* @param instanceId - Workflow instance ID
|
|
2173
|
+
* @param activityId - Activity ID of the bookmark to consume
|
|
2174
|
+
*/
|
|
2175
|
+
private consumeBookmark;
|
|
2176
|
+
/**
|
|
2177
|
+
* Get active bookmarks for a workflow instance.
|
|
2178
|
+
*
|
|
2179
|
+
* @param instanceId - Workflow instance ID
|
|
2180
|
+
* @returns Array of active (non-consumed) bookmarks
|
|
2181
|
+
*/
|
|
2182
|
+
private getActiveBookmarks;
|
|
2183
|
+
/**
|
|
2184
|
+
* Convert workflow instance to instance state.
|
|
2185
|
+
*
|
|
2186
|
+
* Aligns with ERD structure:
|
|
2187
|
+
* - WORKFLOW_INSTANCE: header fields (status, subStatus, timestamps)
|
|
2188
|
+
* - WORKFLOW_INSTANCE_STATE: heavy state (input, output, properties, stateJson)
|
|
2189
|
+
* - BOOKMARK: separate table (used to derive currentStepId)
|
|
2190
|
+
*/
|
|
2191
|
+
private instanceToInstanceState;
|
|
2192
|
+
/**
|
|
2193
|
+
* Update instance state in instance and save to IndexedDB.
|
|
2194
|
+
*
|
|
2195
|
+
* Aligns with ERD structure:
|
|
2196
|
+
* - WORKFLOW_INSTANCE: header fields (status, subStatus, timestamps, correlationId)
|
|
2197
|
+
* - WORKFLOW_INSTANCE_STATE: heavy state (input, output, properties, stateJson)
|
|
2198
|
+
*
|
|
2199
|
+
* Handles status transitions correctly:
|
|
2200
|
+
* - running → suspended (when frontend activity encountered)
|
|
2201
|
+
* - suspended → running → completed (when workflow finishes)
|
|
2202
|
+
* - any → error (on errors)
|
|
2203
|
+
*/
|
|
2204
|
+
private updateInstanceFromState;
|
|
2205
|
+
/**
|
|
2206
|
+
* Get workflow instance from IndexedDB.
|
|
2207
|
+
*/
|
|
2208
|
+
private getInstance;
|
|
2209
|
+
/**
|
|
2210
|
+
* Update workflow instance in store.
|
|
2211
|
+
*/
|
|
2212
|
+
private updateInstance;
|
|
2213
|
+
/**
|
|
2214
|
+
* Complete a frontend activity and continue workflow execution.
|
|
2215
|
+
*
|
|
2216
|
+
* This method is called when a frontend activity (ui-activity) completes execution.
|
|
2217
|
+
* It applies the frontend output to workflow state, finds the next activity based on outcome,
|
|
2218
|
+
* and executes all backend activities until reaching the next frontend activity or completion.
|
|
2219
|
+
*
|
|
2220
|
+
* Flow:
|
|
2221
|
+
* 1. Apply frontend output to workflow state
|
|
2222
|
+
* 2. Find next activity based on outcome from connections
|
|
2223
|
+
* 3. Execute ALL backend activities until hitting frontend activity or completion
|
|
2224
|
+
* 4. Return either nextTask (with new secure token) or completed status
|
|
2225
|
+
*
|
|
2226
|
+
* @param request - Front activity completion request with instanceId, activityNode, output, and outcome
|
|
2227
|
+
* @returns Response with nextTask (if frontend activity) or completion status
|
|
2228
|
+
*/
|
|
2229
|
+
frontActivtyComplete(request: AXPFrontActivityCompleteRequest): Promise<AXPFrontActivityCompleteResponse>;
|
|
2230
|
+
/**
|
|
2231
|
+
* Cleans up stale UI activities (form/popup) when user refreshed without submitting.
|
|
2232
|
+
* - Suspended instances with non-human-task bookmark → resume with outcome 'cancel'.
|
|
2233
|
+
* - Running instances with non-human-task bookmark (e.g. rejectionReasonDialog) → frontActivtyComplete with outcome 'cancel'.
|
|
2234
|
+
* So e.g. leave request: manager clicks Reject, dialog opens, user refreshes → dialog is "cancelled" and workflow goes back to managerConfirm (task board).
|
|
2235
|
+
*/
|
|
2236
|
+
resumeStaleNonHumanTaskSuspensions(): Promise<void>;
|
|
2237
|
+
private parseBookmarkPayload;
|
|
2238
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowEngine, never>;
|
|
2239
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowEngine>;
|
|
2240
|
+
}
|
|
2241
|
+
|
|
2242
|
+
/**
|
|
2243
|
+
* Mock workflow definitions for testing and demonstration.
|
|
2244
|
+
* Used by workflow-definition provider and entity list.
|
|
2245
|
+
*/
|
|
2246
|
+
declare const workflowDefinitionMock: AXPWorkflowDefinition[];
|
|
2247
|
+
declare const workflowDefinitionIds: {
|
|
2248
|
+
createLeaveRequest: string;
|
|
2249
|
+
documentReview: string;
|
|
2250
|
+
fillQuestionnaireForm: string;
|
|
2251
|
+
};
|
|
2252
|
+
/**
|
|
2253
|
+
* Mock workflow definition entities for the entity list and seeder.
|
|
2254
|
+
* Each workflow is attached to its category (Staff vs Documents).
|
|
2255
|
+
*/
|
|
2256
|
+
declare const workflowDefinitionEntityMock: AXMWorkflowManagementWorkflowDefinitionEntityModel[];
|
|
2257
|
+
|
|
2258
|
+
declare class AXCWorkflowDefinitionDataSeeder implements AXPDataSeeder {
|
|
2259
|
+
private readonly storageService;
|
|
2260
|
+
seed(): Promise<void>;
|
|
2261
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowDefinitionDataSeeder, never>;
|
|
2262
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowDefinitionDataSeeder>;
|
|
2263
|
+
}
|
|
2264
|
+
|
|
2265
|
+
/**
|
|
2266
|
+
* Activity categories for mock.
|
|
2267
|
+
* Same structure as workflow-category: only categories that have activities.
|
|
2268
|
+
* Only activities with a handler (backend command or frontend activity) are listed in activity-definition;
|
|
2269
|
+
* they are all under Command.
|
|
2270
|
+
*/
|
|
2271
|
+
/**
|
|
2272
|
+
* Same structure as WORKFLOW_CATEGORIES: id, title, description, parentId, childrenCount, itemsCount.
|
|
2273
|
+
*/
|
|
2274
|
+
declare const ACTIVITY_CATEGORIES: AXPActivityCategory[];
|
|
2275
|
+
/** @deprecated Use ACTIVITY_CATEGORIES. Kept for backward compatibility (seeder, etc.). */
|
|
2276
|
+
declare const activityCategoryMocks: AXPActivityCategory[];
|
|
2277
|
+
|
|
2278
|
+
declare class AXCActivityCategorySeeder implements AXPDataSeeder {
|
|
2279
|
+
private readonly storageService;
|
|
2280
|
+
seed(): Promise<void>;
|
|
2281
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCActivityCategorySeeder, never>;
|
|
2282
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCActivityCategorySeeder>;
|
|
2283
|
+
}
|
|
2284
|
+
|
|
2285
|
+
/** Raw definitions (category already set). */
|
|
2286
|
+
declare const ACTIVITY_DEFINITIONS: AXPActivityDefinition[];
|
|
2287
|
+
/**
|
|
2288
|
+
* Entity mock for storage/seeder – same pattern as workflow-definition (id + category per record).
|
|
2289
|
+
* Seeded as WorkflowManagement.ActivityDefinition; provider getList(categoryId) filters by category.
|
|
2290
|
+
*/
|
|
2291
|
+
declare const activityDefinitionEntityMock: {
|
|
2292
|
+
id: string;
|
|
2293
|
+
name: string;
|
|
2294
|
+
type: string;
|
|
2295
|
+
title?: string;
|
|
2296
|
+
description?: string;
|
|
2297
|
+
category?: string;
|
|
2298
|
+
icon?: string;
|
|
2299
|
+
executionMode?: "frontend" | "backend" | "both";
|
|
2300
|
+
taskType?: _acorex_platform_workflow.AXPTaskType;
|
|
2301
|
+
inputs?: _acorex_platform_workflow.AXPWorkflowInputDescriptor[];
|
|
2302
|
+
outputs?: _acorex_platform_workflow.AXPWorkflowOutputDescriptor[];
|
|
2303
|
+
outcomes?: string[];
|
|
2304
|
+
isBrowsable?: boolean;
|
|
2305
|
+
isContainer?: boolean;
|
|
2306
|
+
}[];
|
|
2307
|
+
|
|
2308
|
+
declare class AXCActivityDefinitionSeeder implements AXPDataSeeder {
|
|
2309
|
+
private readonly storageService;
|
|
2310
|
+
seed(): Promise<void>;
|
|
2311
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCActivityDefinitionSeeder, never>;
|
|
2312
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCActivityDefinitionSeeder>;
|
|
2313
|
+
}
|
|
2314
|
+
|
|
2315
|
+
/**
|
|
2316
|
+
* Workflow categories for mock.
|
|
2317
|
+
* Staff: leave request and HR workflows. Documents: document review (EDMS-style).
|
|
2318
|
+
*/
|
|
2319
|
+
declare const WORKFLOW_CATEGORIES: AXPWorkflowCategory[];
|
|
2320
|
+
|
|
2321
|
+
/**
|
|
2322
|
+
* Seeds workflow categories into entity storage.
|
|
2323
|
+
* Module’s AXMWorkflowCategoryProvider reads from this key (same pattern as report categories).
|
|
2324
|
+
*/
|
|
2325
|
+
declare class AXCWorkflowCategorySeeder implements AXPDataSeeder {
|
|
2326
|
+
private readonly storageService;
|
|
2327
|
+
seed(): Promise<void>;
|
|
2328
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowCategorySeeder, never>;
|
|
2329
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowCategorySeeder>;
|
|
2330
|
+
}
|
|
2331
|
+
|
|
2332
|
+
type extraFields$1 = {
|
|
2333
|
+
recievedDate: Date;
|
|
2334
|
+
};
|
|
2335
|
+
declare class AXPTaskBoardProjectManagementTaskProvider extends AXPWorkflowTaskProvider<extraFields$1> {
|
|
2336
|
+
private calendarService;
|
|
2337
|
+
private list;
|
|
2338
|
+
get name(): string;
|
|
2339
|
+
get title(): string;
|
|
2340
|
+
get icon(): string;
|
|
2341
|
+
/**
|
|
2342
|
+
* Retrieves a list of tasks, applying all provided filters and pagination.
|
|
2343
|
+
* @param options Filtering and pagination options.
|
|
2344
|
+
* @returns A promise resolving to the paginated list of tasks and the total count of filtered tasks.
|
|
2345
|
+
*/
|
|
2346
|
+
getTasks(options?: AXPTaskFilter): Promise<{
|
|
2347
|
+
items: AXPTask<extraFields$1>[];
|
|
2348
|
+
total: number;
|
|
2349
|
+
}>;
|
|
2350
|
+
/**
|
|
2351
|
+
* Updates one or more tasks in the provider's list.
|
|
2352
|
+
* This method finds each task by its ID and applies the new properties from the input.
|
|
2353
|
+
* It also automatically recalculates the `allDay` flag based on the task's duration.
|
|
2354
|
+
* @param tasksToUpdate An array of task objects to update. Each object must have an `id`.
|
|
2355
|
+
* @returns An array of the tasks that were successfully updated.
|
|
2356
|
+
*/
|
|
2357
|
+
updateTasks(tasksToUpdate: AXPTask<extraFields$1>[]): Promise<AXPTask<extraFields$1>[]>;
|
|
2358
|
+
private isDurationMoreThan24Hours;
|
|
2359
|
+
executeCommand(command: AXPExecuteCommand): Promise<AXPExecuteCommandResult>;
|
|
2360
|
+
getActions(task?: AXPTask<extraFields$1>): Promise<AXPActionMenuItem[]>;
|
|
2361
|
+
getExtraFields(): Promise<AXPExtraField[]>;
|
|
2362
|
+
getStatuses(): Promise<AXPTaskStatus[]>;
|
|
2363
|
+
}
|
|
2364
|
+
|
|
2365
|
+
type extraFields = {
|
|
2366
|
+
recievedDate: Date;
|
|
2367
|
+
};
|
|
2368
|
+
declare class AXPTaskBoardPlatformManagementTaskProvider extends AXPWorkflowTaskProvider<extraFields> {
|
|
2369
|
+
private calendarService;
|
|
2370
|
+
private list;
|
|
2371
|
+
get name(): string;
|
|
2372
|
+
get title(): string;
|
|
2373
|
+
get icon(): string;
|
|
2374
|
+
/**
|
|
2375
|
+
* Retrieves a list of tasks, applying all provided filters and pagination.
|
|
2376
|
+
* @param options Filtering and pagination options.
|
|
2377
|
+
* @returns A promise resolving to the paginated list of tasks and the total count of filtered tasks.
|
|
2378
|
+
*/
|
|
2379
|
+
getTasks(options?: AXPTaskFilter): Promise<{
|
|
2380
|
+
items: AXPTask<extraFields>[];
|
|
2381
|
+
total: number;
|
|
2382
|
+
}>;
|
|
2383
|
+
/**
|
|
2384
|
+
* Updates one or more tasks in the provider's list.
|
|
2385
|
+
* This method finds each task by its ID and applies the new properties from the input.
|
|
2386
|
+
* It also automatically recalculates the `allDay` flag based on the task's duration.
|
|
2387
|
+
* @param tasksToUpdate An array of task objects to update. Each object must have an `id`.
|
|
2388
|
+
* @returns An array of the tasks that were successfully updated.
|
|
2389
|
+
*/
|
|
2390
|
+
updateTasks(tasksToUpdate: AXPTask<extraFields>[]): Promise<AXPTask<extraFields>[]>;
|
|
2391
|
+
private isDurationMoreThan24Hours;
|
|
2392
|
+
executeCommand(command: AXPExecuteCommand): Promise<AXPExecuteCommandResult>;
|
|
2393
|
+
getActions(task?: AXPTask<extraFields>): Promise<AXPActionMenuItem[]>;
|
|
2394
|
+
getExtraFields(): Promise<AXPExtraField[]>;
|
|
2395
|
+
getStatuses(): Promise<AXPTaskStatus[]>;
|
|
2396
|
+
}
|
|
2397
|
+
|
|
2398
|
+
declare class AXMWorkflowDashboardChartDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
2399
|
+
private readonly colorVars500;
|
|
2400
|
+
private readonly pendingApprovalByAgeItems;
|
|
2401
|
+
private readonly workloadByProcessItems;
|
|
2402
|
+
private readonly slaComplianceItems;
|
|
2403
|
+
private readonly throughputItems;
|
|
2404
|
+
private pickColorVar;
|
|
2405
|
+
private getUniqueColorVars;
|
|
2406
|
+
private asRgbVar;
|
|
2407
|
+
private asRgbVarWithAlpha;
|
|
2408
|
+
private withRandomColor;
|
|
2409
|
+
private buildThroughputItems;
|
|
2410
|
+
private readonly workflowPendingApprovalByAgeDataSource;
|
|
2411
|
+
private readonly workflowWorkloadByProcessDataSource;
|
|
2412
|
+
private readonly workflowSlaComplianceDataSource;
|
|
2413
|
+
private readonly workflowThroughputLast8WeeksDataSource;
|
|
2414
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
2415
|
+
}
|
|
2416
|
+
|
|
2417
|
+
/**
|
|
2418
|
+
* Mock implementation of AXMChatUserApi using conversation shared storage.
|
|
2419
|
+
* Provides user profile, discovery, presence, blocking, and settings operations.
|
|
2420
|
+
*/
|
|
2421
|
+
declare class AXCConversationMockUserApi extends AXMChatUserApi {
|
|
2422
|
+
getCurrentUser(): Promise<AXParticipant>;
|
|
2423
|
+
updateProfile(updates: AXUserProfileUpdate): Promise<AXParticipant>;
|
|
2424
|
+
uploadAvatar(file: File): Promise<string>;
|
|
2425
|
+
getUsers(filters?: AXUserSearchFilters): Promise<AXParticipant[]>;
|
|
2426
|
+
searchUsers(query: string): Promise<AXParticipant[]>;
|
|
2427
|
+
getUserById(userId: string): Promise<AXParticipant>;
|
|
2428
|
+
getUsersByIds(userIds: string[]): Promise<AXParticipant[]>;
|
|
2429
|
+
getUserPresence(userId: string): Promise<AXPresenceUpdate>;
|
|
2430
|
+
updatePresence(_status: AXPresenceStatus, _statusText?: string): Promise<void>;
|
|
2431
|
+
blockUser(_userId: string, _reason?: AXBlockReportReason): Promise<void>;
|
|
2432
|
+
unblockUser(_userId: string): Promise<void>;
|
|
2433
|
+
getBlockedUsers(): Promise<string[]>;
|
|
2434
|
+
reportUser(_userId: string, _reason: AXBlockReportReason): Promise<void>;
|
|
2435
|
+
getUserSettings(): Promise<Record<string, unknown>>;
|
|
2436
|
+
updateUserSettings(_settings: Record<string, unknown>): Promise<void>;
|
|
2437
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCConversationMockUserApi, never>;
|
|
2438
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCConversationMockUserApi>;
|
|
2439
|
+
}
|
|
2440
|
+
|
|
2441
|
+
/**
|
|
2442
|
+
* Mock implementation of AXMChatRealtimeApi using conversation shared storage.
|
|
2443
|
+
* Provides connection management and real-time event subscriptions.
|
|
2444
|
+
*/
|
|
2445
|
+
declare class AXCConversationMockRealtimeApi extends AXMChatRealtimeApi {
|
|
2446
|
+
readonly connectionStatus$: Observable<AXConnectionStatus>;
|
|
2447
|
+
connect(_options?: AXConnectionOptions): Promise<void>;
|
|
2448
|
+
disconnect(): Promise<void>;
|
|
2449
|
+
isConnected(): boolean;
|
|
2450
|
+
reconnect(): Promise<void>;
|
|
2451
|
+
subscribeToConnectionEvents(): Observable<AXConnectionEvent>;
|
|
2452
|
+
subscribeToMessages(conversationId: string): Observable<AXMessage>;
|
|
2453
|
+
subscribeToMessageUpdates(_conversationId?: string): Observable<AXMessage>;
|
|
2454
|
+
subscribeToMessageDeletions(_conversationId?: string): Observable<string>;
|
|
2455
|
+
subscribeToMessageReactions(_conversationId?: string): Observable<AXMessage>;
|
|
2456
|
+
subscribeToConversationUpdates(): Observable<AXConversation>;
|
|
2457
|
+
subscribeToConversationCreated(): Observable<AXConversation>;
|
|
2458
|
+
subscribeToConversationDeleted(): Observable<string>;
|
|
2459
|
+
subscribeToTypingIndicators(conversationId: string): Observable<AXTypingIndicator>;
|
|
2460
|
+
subscribeToPresenceUpdates(_userIds?: string[]): Observable<AXPresenceUpdate>;
|
|
2461
|
+
subscribeToReadReceipts(_conversationId?: string): Observable<{
|
|
2462
|
+
messageId: string;
|
|
2463
|
+
userId: string;
|
|
2464
|
+
readAt: Date;
|
|
2465
|
+
}>;
|
|
2466
|
+
subscribeToNotifications(): Observable<AXNotificationEvent>;
|
|
2467
|
+
subscribeToCallEvents(): Observable<AXCallEvent>;
|
|
2468
|
+
subscribeToUserBlockEvents(): Observable<{
|
|
2469
|
+
userId: string;
|
|
2470
|
+
blocked: boolean;
|
|
2471
|
+
}>;
|
|
2472
|
+
subscribeToParticipantEvents(_conversationId?: string): Observable<{
|
|
2473
|
+
conversationId: string;
|
|
2474
|
+
userId: string;
|
|
2475
|
+
action: 'added' | 'removed';
|
|
2476
|
+
}>;
|
|
2477
|
+
subscribeToSystemEvents(): Observable<{
|
|
2478
|
+
type: string;
|
|
2479
|
+
message: string;
|
|
2480
|
+
data?: unknown;
|
|
2481
|
+
}>;
|
|
2482
|
+
subscribeToMessageStatusChanges(_conversationId?: string): Observable<{
|
|
2483
|
+
messageId: string;
|
|
2484
|
+
status: 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
|
|
2485
|
+
timestamp: Date;
|
|
2486
|
+
}>;
|
|
2487
|
+
subscribeToConversationSettingsChanges(_conversationId?: string): Observable<{
|
|
2488
|
+
conversationId: string;
|
|
2489
|
+
settings: Record<string, unknown>;
|
|
2490
|
+
}>;
|
|
2491
|
+
subscribeToDraftChanges(_conversationId?: string): Observable<{
|
|
2492
|
+
conversationId: string;
|
|
2493
|
+
draft: string | null;
|
|
2494
|
+
}>;
|
|
2495
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCConversationMockRealtimeApi, never>;
|
|
2496
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCConversationMockRealtimeApi>;
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2499
|
+
/**
|
|
2500
|
+
* Mock implementation of AXMChatConversationApi.
|
|
2501
|
+
* Manages conversations in conversation shared storage with assist peer support.
|
|
2502
|
+
* Assist replies are generated in {@link AXCConversationMockMessageApi}; RTL scripts in message
|
|
2503
|
+
* text are handled in the chat assist renderer.
|
|
2504
|
+
*/
|
|
2505
|
+
declare class AXCConversationMockConversationApi extends AXMChatConversationApi {
|
|
2506
|
+
createConversation(data: AXConversationCreateData): Promise<AXConversation>;
|
|
2507
|
+
getConversation(conversationId: string): Promise<AXConversation>;
|
|
2508
|
+
getConversations(pagination: AXPagination, _filters?: AXConversationFilters): Promise<AXPaginatedResult<AXConversation>>;
|
|
2509
|
+
updateConversation(conversationId: string, updates: AXConversationUpdateData): Promise<AXConversation>;
|
|
2510
|
+
deleteConversation(conversationId: string): Promise<boolean>;
|
|
2511
|
+
archiveConversation(conversationId: string): Promise<void>;
|
|
2512
|
+
unarchiveConversation(conversationId: string): Promise<void>;
|
|
2513
|
+
pinConversation(_conversationId: string): Promise<void>;
|
|
2514
|
+
unpinConversation(_conversationId: string): Promise<void>;
|
|
2515
|
+
markConversationAsRead(conversationId: string): Promise<void>;
|
|
2516
|
+
markConversationAsUnread(conversationId: string): Promise<void>;
|
|
2517
|
+
searchConversations(query: string): Promise<AXConversation[]>;
|
|
2518
|
+
filterConversations(_filters: AXConversationFilters, pagination?: AXPagination): Promise<AXPaginatedResult<AXConversation>>;
|
|
2519
|
+
getParticipants(conversationId: string): Promise<AXParticipant[]>;
|
|
2520
|
+
addParticipants(conversationId: string, _userIds: string[]): Promise<AXConversation>;
|
|
2521
|
+
removeParticipant(conversationId: string, _userId: string): Promise<AXConversation>;
|
|
2522
|
+
leaveConversation(_conversationId: string): Promise<void>;
|
|
2523
|
+
updateParticipant(conversationId: string, _update: AXParticipantUpdate): Promise<AXConversation>;
|
|
2524
|
+
getConversationSettings(conversationId: string): Promise<AXConversationSettingsUpdate>;
|
|
2525
|
+
updateConversationSettings(_conversationId: string, _settings: AXConversationSettingsUpdate): Promise<void>;
|
|
2526
|
+
muteConversation(_conversationId: string, _duration?: number): Promise<void>;
|
|
2527
|
+
unmuteConversation(_conversationId: string): Promise<void>;
|
|
2528
|
+
uploadConversationAvatar(_conversationId: string, file: File): Promise<string>;
|
|
2529
|
+
getConversationMedia(_conversationId: string, _pagination?: AXPagination): Promise<AXPaginatedResult<unknown>>;
|
|
2530
|
+
addConversationTags(_conversationId: string, _tags: string[]): Promise<void>;
|
|
2531
|
+
removeConversationTags(_conversationId: string, _tags: string[]): Promise<void>;
|
|
2532
|
+
getConversationTags(_conversationId: string): Promise<string[]>;
|
|
2533
|
+
getConversationPermissions(_conversationId: string): Promise<Record<string, boolean>>;
|
|
2534
|
+
updateConversationPermissions(_conversationId: string, _permissions: Record<string, boolean>): Promise<void>;
|
|
2535
|
+
saveDraft(_conversationId: string, _draft: string): Promise<void>;
|
|
2536
|
+
getDraft(_conversationId: string): Promise<string | null>;
|
|
2537
|
+
clearDraft(_conversationId: string): Promise<void>;
|
|
2538
|
+
/**
|
|
2539
|
+
* Ensures synthetic assist-{assistId} participants exist in shared storage
|
|
2540
|
+
* and IndexedDB for private chats with assist metadata.
|
|
2541
|
+
*/
|
|
2542
|
+
private ensureAssistPeerParticipants;
|
|
2543
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCConversationMockConversationApi, never>;
|
|
2544
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCConversationMockConversationApi>;
|
|
2545
|
+
}
|
|
2546
|
+
|
|
2547
|
+
/**
|
|
2548
|
+
* Mock implementation of AXMChatMessageApi.
|
|
2549
|
+
* Manages messages in conversation shared storage with AI assist response generation.
|
|
2550
|
+
*/
|
|
2551
|
+
declare class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
2552
|
+
private readonly aiEngine;
|
|
2553
|
+
private readonly modelCatalog;
|
|
2554
|
+
private readonly aiResponder;
|
|
2555
|
+
private readonly toastService;
|
|
2556
|
+
private readonly entityService;
|
|
2557
|
+
private readonly notificationService;
|
|
2558
|
+
private readonly assistRowData;
|
|
2559
|
+
sendMessage(command: AXSendMessageCommand): Promise<AXMessage>;
|
|
2560
|
+
getMessage(messageId: string): Promise<AXMessage>;
|
|
2561
|
+
getMessages(conversationId: string, pagination: AXPagination): Promise<AXPaginatedResult<AXMessage>>;
|
|
2562
|
+
editMessage(messageId: string, payload: AXMessagePayload): Promise<AXMessage>;
|
|
2563
|
+
deleteMessage(messageId: string, _forEveryone?: boolean): Promise<void>;
|
|
2564
|
+
deleteMessages(messageIds: string[], forEveryone?: boolean): Promise<void>;
|
|
2565
|
+
searchMessages(conversationId: string, filters: AXMessageSearchFilters, _pagination?: AXPagination): Promise<AXPaginatedResult<AXMessage>>;
|
|
2566
|
+
searchAllMessages(_filters: AXMessageSearchFilters, _pagination?: AXPagination): Promise<AXPaginatedResult<AXMessage>>;
|
|
2567
|
+
addReaction(messageId: string, emoji: string): Promise<void>;
|
|
2568
|
+
removeReaction(messageId: string, emoji: string): Promise<void>;
|
|
2569
|
+
getAvailableReactions(): Promise<string[]>;
|
|
2570
|
+
markAsRead(conversationId: string, messageIds: string[]): Promise<void>;
|
|
2571
|
+
markAsUnread(conversationId: string): Promise<void>;
|
|
2572
|
+
getReadReceipts(_messageId: string): Promise<AXReadReceipt[]>;
|
|
2573
|
+
forwardMessage(_data: AXMessageForwardData): Promise<AXMessage[]>;
|
|
2574
|
+
pinMessage(_conversationId: string, _messageId: string): Promise<void>;
|
|
2575
|
+
unpinMessage(_conversationId: string, _messageId: string): Promise<void>;
|
|
2576
|
+
getPinnedMessages(_conversationId: string): Promise<AXPinnedMessage[]>;
|
|
2577
|
+
getMessageReplies(messageId: string, pagination?: AXPagination): Promise<AXPaginatedResult<AXMessage>>;
|
|
2578
|
+
getReplyCount(messageId: string): Promise<number>;
|
|
2579
|
+
getForwardCount(messageId: string): Promise<number>;
|
|
2580
|
+
sendTypingIndicator(conversationId: string): Promise<void>;
|
|
2581
|
+
stopTypingIndicator(conversationId: string): Promise<void>;
|
|
2582
|
+
uploadFile(file: File, _conversationId: string): Promise<{
|
|
2583
|
+
url: string;
|
|
2584
|
+
thumbnailUrl?: string;
|
|
2585
|
+
size: number;
|
|
2586
|
+
mimeType: string;
|
|
2587
|
+
metadata?: Record<string, unknown>;
|
|
2588
|
+
}>;
|
|
2589
|
+
updateMessageMetadata(_messageId: string, _metadata: Record<string, unknown>): Promise<void>;
|
|
2590
|
+
getMessageMetadata(_messageId: string): Promise<Record<string, unknown>>;
|
|
2591
|
+
updateMessageStatus(_messageId: string, _status: 'sending' | 'sent' | 'delivered' | 'read' | 'failed'): Promise<void>;
|
|
2592
|
+
getMessageDeliveryStatus(_messageId: string): Promise<{
|
|
2593
|
+
delivered: number;
|
|
2594
|
+
read: number;
|
|
2595
|
+
total: number;
|
|
2596
|
+
}>;
|
|
2597
|
+
markMessagesAsRead(_messageIds: string[]): Promise<void>;
|
|
2598
|
+
bulkDeleteMessages(_conversationId: string, _messageIds: string[], _forEveryone?: boolean): Promise<void>;
|
|
2599
|
+
exportMessages(_conversationId: string, _format: 'json' | 'csv' | 'txt'): Promise<string | Blob>;
|
|
2600
|
+
private storeMessage;
|
|
2601
|
+
private updateConversationLastMessage;
|
|
2602
|
+
private createNotificationForIncomingMessage;
|
|
2603
|
+
private markNotificationsAsReadForMessages;
|
|
2604
|
+
private toUserReference;
|
|
2605
|
+
/**
|
|
2606
|
+
* Generates an automatic reply from a random participant for regular
|
|
2607
|
+
* (non-assist) conversations using the AI responder fallback service.
|
|
2608
|
+
*/
|
|
2609
|
+
private generateRegularAutoReply;
|
|
2610
|
+
/** Extracts a text context from a send command for AI processing. */
|
|
2611
|
+
private extractSendCommandContext;
|
|
2612
|
+
/** Builds a formatted conversation history string for AI context (last 20 messages). */
|
|
2613
|
+
private buildConversationHistory;
|
|
2614
|
+
private delay;
|
|
2615
|
+
private getAssistId;
|
|
2616
|
+
private shouldGenerateAssistConversationTitle;
|
|
2617
|
+
private generateAssistConversationTitle;
|
|
2618
|
+
private normalizeConversationTitle;
|
|
2619
|
+
private generateAssistResponse;
|
|
2620
|
+
private createPlaceholderMessage;
|
|
2621
|
+
private publishPlaceholderMessage;
|
|
2622
|
+
private emitMessageUpdate;
|
|
2623
|
+
private updateStreamingText;
|
|
2624
|
+
/** Clears nested specialist stream for one supervisor `agent:*` tool call (delegated sub-run round). */
|
|
2625
|
+
private resetDelegatedNestedStream;
|
|
2626
|
+
/** Appends streamed specialist text for a delegated agent run into that tool row (not the main bubble). */
|
|
2627
|
+
private appendDelegatedNestedStream;
|
|
2628
|
+
private pushDelegatedNestedTool;
|
|
2629
|
+
private completeDelegatedNestedTool;
|
|
2630
|
+
private addToolCall;
|
|
2631
|
+
private completeToolCall;
|
|
2632
|
+
/**
|
|
2633
|
+
* Builds {@link AXPAiChatMessage} lines for the assist bot renderer while streaming.
|
|
2634
|
+
*/
|
|
2635
|
+
private rebuildAiTranscriptDraft;
|
|
2636
|
+
private finalizeMessage;
|
|
2637
|
+
private resolveModelEntityId;
|
|
2638
|
+
private buildAiMessages;
|
|
2639
|
+
private isStreamingPlaceholder;
|
|
2640
|
+
private extractLatestAssistantContent;
|
|
2641
|
+
private extractMessageText;
|
|
2642
|
+
private getAssistParticipantId;
|
|
2643
|
+
private setConversationTyping;
|
|
2644
|
+
private buildUserFriendlyError;
|
|
2645
|
+
/**
|
|
2646
|
+
* Parses provider errors where JSON is wrapped by a text prefix,
|
|
2647
|
+
* e.g. "Gemini API error 429: { ... }".
|
|
2648
|
+
*/
|
|
2649
|
+
private extractApiErrorMessage;
|
|
2650
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCConversationMockMessageApi, never>;
|
|
2651
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCConversationMockMessageApi>;
|
|
2652
|
+
}
|
|
2653
|
+
|
|
2654
|
+
declare const participantMock: AXParticipant[];
|
|
2655
|
+
|
|
2656
|
+
declare const chatMock: AXConversation[];
|
|
2657
|
+
|
|
2658
|
+
declare const chatMessageMock: AXMessage[];
|
|
2659
|
+
/**
|
|
2660
|
+
* Mapping of last message IDs per conversation, used by the chat seeder
|
|
2661
|
+
* to set `lastMessage` references on conversations after messages are seeded.
|
|
2662
|
+
*/
|
|
2663
|
+
declare const CHAT_LAST_MESSAGE_IDS: Record<string, string>;
|
|
2664
|
+
|
|
2665
|
+
/**
|
|
2666
|
+
* Consolidated seeder for all conversation2 component data.
|
|
2667
|
+
* Seeds participants, conversations, and messages into conversationSharedStorage
|
|
2668
|
+
* and IndexedDB, then starts presence and message simulations.
|
|
2669
|
+
*/
|
|
2670
|
+
declare class AXCConversationDataSeeder implements AXPDataSeeder {
|
|
2671
|
+
private readonly notificationService;
|
|
2672
|
+
seed(): Promise<void>;
|
|
2673
|
+
private seedParticipants;
|
|
2674
|
+
private seedConversations;
|
|
2675
|
+
private seedMessages;
|
|
2676
|
+
/** Sets `lastMessage` on each conversation using the mapping from mock data. */
|
|
2677
|
+
private linkLastMessages;
|
|
2678
|
+
/** Randomly toggles participant online/offline/away status every 20-40 seconds. */
|
|
2679
|
+
private startPresenceSimulation;
|
|
2680
|
+
/** Sends random messages from online users every 30-90 seconds with typing indicators. */
|
|
2681
|
+
private startMessageSimulation;
|
|
2682
|
+
private isAssistConversation;
|
|
2683
|
+
private createNotificationForIncomingMessage;
|
|
2684
|
+
private toUserReference;
|
|
2685
|
+
private extractMessageText;
|
|
2686
|
+
private delay;
|
|
2687
|
+
/** Returns a contextual random message template based on conversation type. */
|
|
2688
|
+
private getMessageTemplate;
|
|
2689
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCConversationDataSeeder, never>;
|
|
2690
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCConversationDataSeeder>;
|
|
2691
|
+
}
|
|
2692
|
+
|
|
2693
|
+
declare class AXPMessageDataSeeder implements AXPDataSeeder {
|
|
2694
|
+
private storageService;
|
|
2695
|
+
private chatService;
|
|
2696
|
+
private chatRealtimeService;
|
|
2697
|
+
private commentService;
|
|
2698
|
+
private commentRealtimeService;
|
|
2699
|
+
private usersService;
|
|
2700
|
+
private sessionService;
|
|
2701
|
+
private userNameCache;
|
|
2702
|
+
private getUserName;
|
|
2703
|
+
seed(): Promise<void>;
|
|
2704
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPMessageDataSeeder, never>;
|
|
2705
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMessageDataSeeder>;
|
|
2706
|
+
}
|
|
2707
|
+
|
|
2708
|
+
declare class AXPRoomDataSeeder implements AXPDataSeeder {
|
|
2709
|
+
private storageService;
|
|
2710
|
+
seed(): Promise<void>;
|
|
2711
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPRoomDataSeeder, never>;
|
|
2712
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPRoomDataSeeder>;
|
|
2713
|
+
}
|
|
2714
|
+
|
|
2715
|
+
declare class AXMFormDataSourcesProvider implements AXPDataSourceDefinitionProvider {
|
|
2716
|
+
private yesNoOptions;
|
|
2717
|
+
private yesNoNaOptions;
|
|
2718
|
+
private booleanOptions;
|
|
2719
|
+
private weatherConditions;
|
|
2720
|
+
private visibilityLevels;
|
|
2721
|
+
private workAreas;
|
|
2722
|
+
private departments;
|
|
2723
|
+
private permitTypes;
|
|
2724
|
+
private approvalStatus;
|
|
2725
|
+
private workCompletionStatus;
|
|
2726
|
+
private trainingStatus;
|
|
2727
|
+
private certificationStatus;
|
|
2728
|
+
private priorityLevels;
|
|
2729
|
+
private incidentTypes;
|
|
2730
|
+
private severityLevels;
|
|
2731
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
2732
|
+
}
|
|
2733
|
+
|
|
2734
|
+
interface ShowMetaDataFormPopupMockInput extends ShowMetaDataFormPopupInput {
|
|
2735
|
+
/** Manual groups for meta-data-form-editor (bypasses resolveGroups) */
|
|
2736
|
+
groups?: AXPDynamicFormGroupDefinition[];
|
|
2737
|
+
/** Manual record for initial form context (bypasses findRecord) */
|
|
2738
|
+
data?: Record<string, unknown>;
|
|
2739
|
+
}
|
|
2740
|
+
/**
|
|
2741
|
+
* Sample mock override of ShowMetaDataFormPopupCommand for testing.
|
|
2742
|
+
* Overrides findRecord and resolveGroups to support manual data and groups
|
|
2743
|
+
* from input, without overriding execute.
|
|
2744
|
+
*/
|
|
2745
|
+
declare class AXCMockShowMetaDataFormPopupCommand extends ShowMetaDataFormPopupCommand {
|
|
2746
|
+
protected findRecord(entity: string, id: string, input?: ShowMetaDataFormPopupInput): Promise<Record<string, unknown> | null>;
|
|
2747
|
+
protected resolveGroups(input: ShowMetaDataFormPopupInput, currentRecord: Record<string, unknown>): Promise<ResolveGroupsResult>;
|
|
2748
|
+
protected updateRecord(entity: string, id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
2749
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMockShowMetaDataFormPopupCommand, never>;
|
|
2750
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCMockShowMetaDataFormPopupCommand>;
|
|
2751
|
+
}
|
|
2752
|
+
|
|
2753
|
+
declare class AXCMetaDataDefinitionDataSeeder implements AXPDataSeeder {
|
|
2754
|
+
private storageService;
|
|
2755
|
+
seed(): Promise<void>;
|
|
2756
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMetaDataDefinitionDataSeeder, never>;
|
|
2757
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCMetaDataDefinitionDataSeeder>;
|
|
2758
|
+
}
|
|
2759
|
+
|
|
2760
|
+
/** Stable ids for metadata definition categories (System tree). */
|
|
2761
|
+
declare const METADATA_CATEGORY_IDS: {
|
|
2762
|
+
readonly systemRoot: "cafe1000-0001-4000-8000-000000000001";
|
|
2763
|
+
readonly foundation: "cafe1000-0001-4000-8000-000000000002";
|
|
2764
|
+
readonly flagsAndState: "cafe1000-0001-4000-8000-000000000003";
|
|
2765
|
+
readonly classification: "cafe1000-0001-4000-8000-000000000004";
|
|
2766
|
+
readonly schedulingAndValidity: "cafe1000-0001-4000-8000-000000000005";
|
|
2767
|
+
readonly audit: "cafe1000-0001-4000-8000-000000000006";
|
|
2768
|
+
readonly amountsAndOrdering: "cafe1000-0001-4000-8000-000000000007";
|
|
2769
|
+
readonly location: "cafe1000-0001-4000-8000-000000000008";
|
|
2770
|
+
readonly generalRoot: "cafe3000-0001-4000-8000-000000000010";
|
|
2771
|
+
readonly generalRating: "cafe3000-0001-4000-8000-000000000012";
|
|
2772
|
+
readonly generalText: "cafe3000-0001-4000-8000-000000000013";
|
|
2773
|
+
readonly generalChoiceOptions: "cafe3000-0001-4000-8000-000000000014";
|
|
2774
|
+
readonly generalDate: "cafe3000-0001-4000-8000-000000000015";
|
|
2775
|
+
};
|
|
2776
|
+
type MetadataCategoryMockDto = Omit<AXPCategoryEntity, 'title' | 'description'> & {
|
|
2777
|
+
title: AXPMultiLanguageString;
|
|
2778
|
+
description?: AXPMultiLanguageString;
|
|
2779
|
+
stateInfo?: AXPRecordStateInfo;
|
|
2780
|
+
};
|
|
2781
|
+
/**
|
|
2782
|
+
* References for building metadata rows (id + MLS title).
|
|
2783
|
+
*/
|
|
2784
|
+
declare const METADATA_SYSTEM_CATEGORY_REFS: {
|
|
2785
|
+
readonly foundation: {
|
|
2786
|
+
readonly id: string;
|
|
2787
|
+
readonly title: AXPMultiLanguageString;
|
|
2788
|
+
};
|
|
2789
|
+
readonly flagsAndState: {
|
|
2790
|
+
readonly id: string;
|
|
2791
|
+
readonly title: AXPMultiLanguageString;
|
|
2792
|
+
};
|
|
2793
|
+
readonly classification: {
|
|
2794
|
+
readonly id: string;
|
|
2795
|
+
readonly title: AXPMultiLanguageString;
|
|
2796
|
+
};
|
|
2797
|
+
readonly schedulingAndValidity: {
|
|
2798
|
+
readonly id: string;
|
|
2799
|
+
readonly title: AXPMultiLanguageString;
|
|
2800
|
+
};
|
|
2801
|
+
readonly audit: {
|
|
2802
|
+
readonly id: string;
|
|
2803
|
+
readonly title: AXPMultiLanguageString;
|
|
2804
|
+
};
|
|
2805
|
+
readonly amountsAndOrdering: {
|
|
2806
|
+
readonly id: string;
|
|
2807
|
+
readonly title: AXPMultiLanguageString;
|
|
2808
|
+
};
|
|
2809
|
+
readonly location: {
|
|
2810
|
+
readonly id: string;
|
|
2811
|
+
readonly title: AXPMultiLanguageString;
|
|
2812
|
+
};
|
|
2813
|
+
};
|
|
2814
|
+
/**
|
|
2815
|
+
* General catalog categories (non-system): forms, surveys, common UX patterns.
|
|
2816
|
+
*/
|
|
2817
|
+
declare const METADATA_GENERAL_CATEGORY_REFS: {
|
|
2818
|
+
readonly choiceOptions: {
|
|
2819
|
+
readonly id: string;
|
|
2820
|
+
readonly title: AXPMultiLanguageString;
|
|
2821
|
+
};
|
|
2822
|
+
readonly rating: {
|
|
2823
|
+
readonly id: string;
|
|
2824
|
+
readonly title: AXPMultiLanguageString;
|
|
2825
|
+
};
|
|
2826
|
+
readonly text: {
|
|
2827
|
+
readonly id: string;
|
|
2828
|
+
readonly title: AXPMultiLanguageString;
|
|
2829
|
+
};
|
|
2830
|
+
readonly date: {
|
|
2831
|
+
readonly id: string;
|
|
2832
|
+
readonly title: AXPMultiLanguageString;
|
|
2833
|
+
};
|
|
2834
|
+
};
|
|
2835
|
+
declare const metadataCategoryMocks: MetadataCategoryMockDto[];
|
|
2836
|
+
|
|
2837
|
+
declare class AXCMetadataCategorySeeder implements AXPDataSeeder {
|
|
2838
|
+
private readonly storageService;
|
|
2839
|
+
seed(): Promise<void>;
|
|
2840
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCMetadataCategorySeeder, never>;
|
|
2841
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCMetadataCategorySeeder>;
|
|
2842
|
+
}
|
|
2843
|
+
|
|
2844
|
+
interface AXMTag {
|
|
2845
|
+
id: string;
|
|
2846
|
+
title: string;
|
|
2847
|
+
color: string;
|
|
2848
|
+
description?: string;
|
|
2849
|
+
scope: 'system' | 'tenant' | 'user';
|
|
2850
|
+
createdAt?: Date;
|
|
2851
|
+
}
|
|
2852
|
+
declare const TAGS_MOCK: AXMTag[];
|
|
2853
|
+
|
|
2854
|
+
declare class AXMTagDataSeeder implements AXPDataSeeder {
|
|
2855
|
+
private storageService;
|
|
2856
|
+
seed(): Promise<void>;
|
|
2857
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMTagDataSeeder, never>;
|
|
2858
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMTagDataSeeder>;
|
|
2859
|
+
}
|
|
2860
|
+
|
|
2861
|
+
/**
|
|
2862
|
+
* Creates a per-breakpoint widget layout config from the new dimensions format.
|
|
2863
|
+
* Each breakpoint node receives the shared widget id.
|
|
2864
|
+
*/
|
|
2865
|
+
declare function createWidgetLayoutConfig(dimensions: Record<string, any> | undefined): AXMDashboardWidgetLayoutMap;
|
|
2866
|
+
declare function generateUserDashboard(user: (typeof mockUsers)[0]): AXMCommonDashboardEntityModel;
|
|
2867
|
+
declare function createDashboardForUser(dashboardName: string, userId: string, widgetTypesInput: string[]): AXMCommonDashboardEntityModel;
|
|
2868
|
+
declare function createAndSaveDashboardForUser(params: {
|
|
2869
|
+
name: string;
|
|
2870
|
+
userId: string;
|
|
2871
|
+
widgetTypes: string[];
|
|
2872
|
+
}, injector: Injector): Promise<string>;
|
|
2873
|
+
declare const DASHBOARDS: AXMCommonDashboardEntityModel[];
|
|
2874
|
+
|
|
2875
|
+
declare class AXPDashboardDataSeeder implements AXPDataSeeder {
|
|
2876
|
+
private storageService;
|
|
2877
|
+
seed(): Promise<void>;
|
|
2878
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPDashboardDataSeeder, never>;
|
|
2879
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPDashboardDataSeeder>;
|
|
2880
|
+
}
|
|
2881
|
+
|
|
2882
|
+
declare class AXMDashboardChartDataSourceDefinition implements AXPDataSourceDefinitionProvider {
|
|
2883
|
+
private readonly barChartItems;
|
|
2884
|
+
private readonly donutChartItems;
|
|
2885
|
+
private readonly gaugeChartItems;
|
|
2886
|
+
private readonly lineChartItems;
|
|
2887
|
+
private readonly dataSources;
|
|
2888
|
+
private createDataSource;
|
|
2889
|
+
items(): Promise<AXPDataSourceDefinition[]>;
|
|
2890
|
+
}
|
|
2891
|
+
|
|
2892
|
+
declare const calendarMock: ({
|
|
2893
|
+
id: string;
|
|
2894
|
+
name: string;
|
|
2895
|
+
title: string;
|
|
2896
|
+
description: string;
|
|
2897
|
+
calendarTypeId: string;
|
|
2898
|
+
calendarType: {
|
|
2899
|
+
id: string;
|
|
2900
|
+
title: string;
|
|
2901
|
+
};
|
|
2902
|
+
parentId: null;
|
|
2903
|
+
parent: null;
|
|
2904
|
+
weekends: string[];
|
|
2905
|
+
firstDayOfWeek: string;
|
|
2906
|
+
workingHours: {
|
|
2907
|
+
start: string;
|
|
2908
|
+
end: string;
|
|
2909
|
+
breakStart: string;
|
|
2910
|
+
breakEnd: string;
|
|
2911
|
+
};
|
|
2912
|
+
timeZone: string;
|
|
2913
|
+
isTemplate: boolean;
|
|
2914
|
+
isActive: boolean;
|
|
2915
|
+
order: number;
|
|
2916
|
+
notes: string;
|
|
2917
|
+
created: {
|
|
2918
|
+
at: Date;
|
|
2919
|
+
};
|
|
2920
|
+
updated: {
|
|
2921
|
+
at: Date;
|
|
2922
|
+
};
|
|
2923
|
+
scope?: undefined;
|
|
2924
|
+
scopeEntityId?: undefined;
|
|
2925
|
+
} | {
|
|
2926
|
+
id: string;
|
|
2927
|
+
name: string;
|
|
2928
|
+
title: string;
|
|
2929
|
+
description: string;
|
|
2930
|
+
calendarTypeId: string;
|
|
2931
|
+
calendarType: {
|
|
2932
|
+
id: string;
|
|
2933
|
+
title: string;
|
|
2934
|
+
};
|
|
2935
|
+
parentId: null;
|
|
2936
|
+
parent: null;
|
|
2937
|
+
scope: string;
|
|
2938
|
+
scopeEntityId: null;
|
|
2939
|
+
weekends: string[];
|
|
2940
|
+
firstDayOfWeek: string;
|
|
2941
|
+
workingHours: {
|
|
2942
|
+
start: string;
|
|
2943
|
+
end: string;
|
|
2944
|
+
breakStart: string;
|
|
2945
|
+
breakEnd: string;
|
|
2946
|
+
};
|
|
1876
2947
|
timeZone: string;
|
|
1877
2948
|
isTemplate: boolean;
|
|
1878
2949
|
isActive: boolean;
|
|
@@ -1936,7 +3007,7 @@ declare const calendarEventMock: ({
|
|
|
1936
3007
|
title: string;
|
|
1937
3008
|
description: string;
|
|
1938
3009
|
typeId: string;
|
|
1939
|
-
type:
|
|
3010
|
+
type: dist_libs_modules_types_acorex_modules_calendar_management.AXMCalendarManagementCalendarEventTypeEntityModel;
|
|
1940
3011
|
date: Date;
|
|
1941
3012
|
isRecurring: boolean;
|
|
1942
3013
|
recurrenceRule: string;
|
|
@@ -1958,7 +3029,7 @@ declare const calendarEventMock: ({
|
|
|
1958
3029
|
title: string;
|
|
1959
3030
|
description: string;
|
|
1960
3031
|
typeId: string;
|
|
1961
|
-
type:
|
|
3032
|
+
type: dist_libs_modules_types_acorex_modules_calendar_management.AXMCalendarManagementCalendarEventTypeEntityModel;
|
|
1962
3033
|
date: Date;
|
|
1963
3034
|
isRecurring: boolean;
|
|
1964
3035
|
recurrenceRule: null;
|
|
@@ -2212,521 +3283,265 @@ declare const meetingTimeSlotMock: ({
|
|
|
2212
3283
|
id: string;
|
|
2213
3284
|
meetingId: string;
|
|
2214
3285
|
scheduleDate: Date;
|
|
2215
|
-
startTime: Date;
|
|
2216
|
-
endTime: Date;
|
|
2217
|
-
actualDate: Date;
|
|
2218
|
-
actualStartTime: Date;
|
|
2219
|
-
actualEndTime: Date;
|
|
2220
|
-
} | {
|
|
2221
|
-
id: string;
|
|
2222
|
-
meetingId: string;
|
|
2223
|
-
scheduleDate: Date;
|
|
2224
|
-
startTime: Date;
|
|
2225
|
-
endTime: Date;
|
|
2226
|
-
actualDate: Date;
|
|
2227
|
-
actualStartTime: Date;
|
|
2228
|
-
actualEndTime?: undefined;
|
|
2229
|
-
} | {
|
|
2230
|
-
id: string;
|
|
2231
|
-
meetingId: string;
|
|
2232
|
-
scheduleDate: Date;
|
|
2233
|
-
startTime: Date;
|
|
2234
|
-
endTime: Date;
|
|
2235
|
-
actualDate?: undefined;
|
|
2236
|
-
actualStartTime?: undefined;
|
|
2237
|
-
actualEndTime?: undefined;
|
|
2238
|
-
})[];
|
|
2239
|
-
|
|
2240
|
-
declare const meetingFilesMock: {
|
|
2241
|
-
id: string;
|
|
2242
|
-
meetingId: string;
|
|
2243
|
-
documentId: string;
|
|
2244
|
-
description: string;
|
|
2245
|
-
}[];
|
|
2246
|
-
|
|
2247
|
-
declare class AXMMeetingFilesDataSeeder implements AXPDataSeeder {
|
|
2248
|
-
private readonly storageService;
|
|
2249
|
-
seed(): Promise<void>;
|
|
2250
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXMMeetingFilesDataSeeder, never>;
|
|
2251
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXMMeetingFilesDataSeeder>;
|
|
2252
|
-
}
|
|
2253
|
-
|
|
2254
|
-
declare const participantIds: {
|
|
2255
|
-
participant1: string;
|
|
2256
|
-
participant2: string;
|
|
2257
|
-
participant3: string;
|
|
2258
|
-
participant4: string;
|
|
2259
|
-
participant5: string;
|
|
2260
|
-
participant6: string;
|
|
2261
|
-
participant7: string;
|
|
2262
|
-
participant8: string;
|
|
2263
|
-
participant9: string;
|
|
2264
|
-
};
|
|
2265
|
-
declare const meetingRoleTypeMock: {
|
|
2266
|
-
id: string;
|
|
2267
|
-
title: string;
|
|
2268
|
-
meetingParticipantId: string;
|
|
2269
|
-
}[];
|
|
2270
|
-
|
|
2271
|
-
declare class AXMMeetingRoleTypeDataSeeder implements AXPDataSeeder {
|
|
2272
|
-
private readonly storageService;
|
|
2273
|
-
seed(): Promise<void>;
|
|
2274
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXMMeetingRoleTypeDataSeeder, never>;
|
|
2275
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXMMeetingRoleTypeDataSeeder>;
|
|
2276
|
-
}
|
|
2277
|
-
|
|
2278
|
-
declare const meetingTypeFileTemplateMock: ({
|
|
2279
|
-
id: string;
|
|
2280
|
-
title: string;
|
|
2281
|
-
templateId: string;
|
|
2282
|
-
typeId: string;
|
|
2283
|
-
} | {
|
|
2284
|
-
id: string;
|
|
2285
|
-
title: string;
|
|
2286
|
-
templateId: string;
|
|
2287
|
-
typeId: {
|
|
2288
|
-
id: string;
|
|
2289
|
-
title: string;
|
|
2290
|
-
};
|
|
2291
|
-
})[];
|
|
2292
|
-
|
|
2293
|
-
declare class AXMMeetingTypeFileTemplateDataSeeder implements AXPDataSeeder {
|
|
2294
|
-
private readonly storageService;
|
|
2295
|
-
seed(): Promise<void>;
|
|
2296
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXMMeetingTypeFileTemplateDataSeeder, never>;
|
|
2297
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXMMeetingTypeFileTemplateDataSeeder>;
|
|
2298
|
-
}
|
|
2299
|
-
|
|
2300
|
-
declare class AXCLockService implements AXPLockService {
|
|
2301
|
-
private className;
|
|
2302
|
-
private db;
|
|
2303
|
-
constructor();
|
|
2304
|
-
private get lockTable();
|
|
2305
|
-
protected entityName: string;
|
|
2306
|
-
/**
|
|
2307
|
-
* Cache Time-To-Live in milliseconds. Default is 5 seconds but can be overridden
|
|
2308
|
-
* at runtime using {@link setCacheDuration}.
|
|
2309
|
-
*/
|
|
2310
|
-
private cacheTTL;
|
|
2311
|
-
/** In-memory cache for lock information. */
|
|
2312
|
-
private readonly cacheMap;
|
|
2313
|
-
/** Reference to the recurring cache-flush timer. */
|
|
2314
|
-
private cacheTimer;
|
|
2315
|
-
/**
|
|
2316
|
-
* Generates a unique cache key based on the lock request parameters.
|
|
2317
|
-
*/
|
|
2318
|
-
private getCacheKey;
|
|
2319
|
-
/**
|
|
2320
|
-
* Starts or restarts the interval that clears the cache.
|
|
2321
|
-
*/
|
|
2322
|
-
private startCacheTimer;
|
|
2323
|
-
/**
|
|
2324
|
-
* Allows consumers to change the cache duration (in milliseconds) at runtime.
|
|
2325
|
-
* The new duration is applied immediately.
|
|
2326
|
-
*/
|
|
2327
|
-
setCacheDuration(ms: number): void;
|
|
2328
|
-
lock(request: AXPLockRequest): Promise<AXPLockInfo>;
|
|
2329
|
-
unlock(request: AXPUnLockRequest): Promise<void>;
|
|
2330
|
-
check(request: AXPLockGetInfoRequest): Promise<boolean>;
|
|
2331
|
-
getInfo(request: AXPLockGetInfoRequest): Promise<AXPLockInfo>;
|
|
2332
|
-
getItems(request: AXPLockGetInfoRequest): Promise<AXPLockInfo[]>;
|
|
2333
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCLockService, never>;
|
|
2334
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXCLockService>;
|
|
2335
|
-
}
|
|
2336
|
-
|
|
2337
|
-
declare class AXCFileStorageService implements AXPFileStorageService {
|
|
2338
|
-
private fileService;
|
|
2339
|
-
private mapToFileStorageInfo;
|
|
2340
|
-
save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
|
|
2341
|
-
commit(fileId: string): Promise<void>;
|
|
2342
|
-
markForDeletion(fileId: string): Promise<void>;
|
|
2343
|
-
update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
|
|
2344
|
-
find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]>;
|
|
2345
|
-
getInfo(fileId: string): Promise<AXPFileStorageInfo>;
|
|
2346
|
-
remove(fileId: string): Promise<void>;
|
|
2347
|
-
private cleanupTemporaryFiles;
|
|
2348
|
-
private cleanupMarkedFiles;
|
|
2349
|
-
constructor();
|
|
2350
|
-
findMany(ids: string[]): Promise<AXPFileManyStorageInfo[]>;
|
|
2351
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCFileStorageService, never>;
|
|
2352
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXCFileStorageService>;
|
|
2353
|
-
}
|
|
2354
|
-
|
|
2355
|
-
interface AXPVersionStream {
|
|
2356
|
-
id: string;
|
|
2357
|
-
entityType: string;
|
|
2358
|
-
entityId: string;
|
|
2359
|
-
createdAt: string;
|
|
2360
|
-
}
|
|
2361
|
-
declare enum AXVChangeType {
|
|
2362
|
-
Create = "Create",
|
|
2363
|
-
Update = "Update",
|
|
2364
|
-
Delete = "Delete"
|
|
2365
|
-
}
|
|
2366
|
-
type CanonicalChangeOp = 'add' | 'remove' | 'replace' | 'rename' | 'metadata';
|
|
2367
|
-
interface CanonicalChange {
|
|
2368
|
-
path: string;
|
|
2369
|
-
op: CanonicalChangeOp;
|
|
2370
|
-
oldValue?: unknown;
|
|
2371
|
-
newValue?: unknown;
|
|
2372
|
-
meta?: Record<string, unknown>;
|
|
2373
|
-
}
|
|
2374
|
-
interface AXPVersionEntry {
|
|
2375
|
-
id: string;
|
|
2376
|
-
streamId: string;
|
|
2377
|
-
versionNumber: number;
|
|
2378
|
-
changeType: AXVChangeType;
|
|
2379
|
-
changedBy: string;
|
|
2380
|
-
changedAt: string;
|
|
2381
|
-
snapshotJson: unknown;
|
|
2382
|
-
patchFromPrevJson: CanonicalChange[];
|
|
2383
|
-
summary?: string;
|
|
2384
|
-
metadataJson?: unknown;
|
|
2385
|
-
}
|
|
2386
|
-
interface AXPVersionChange {
|
|
2387
|
-
id?: number;
|
|
2388
|
-
versionEntryId: string;
|
|
2389
|
-
path: string;
|
|
2390
|
-
op: CanonicalChangeOp;
|
|
2391
|
-
oldValue?: unknown;
|
|
2392
|
-
newValue?: unknown;
|
|
2393
|
-
}
|
|
2394
|
-
interface VersionedFileInfo {
|
|
2395
|
-
id: string;
|
|
2396
|
-
name: string;
|
|
2397
|
-
size: number;
|
|
2398
|
-
mime: string;
|
|
2399
|
-
hash: string;
|
|
2400
|
-
url?: string;
|
|
2401
|
-
thumbUrl?: string;
|
|
2402
|
-
}
|
|
2403
|
-
declare class AXCVersionDB extends Dexie {
|
|
2404
|
-
version_streams: Table<AXPVersionStream, string>;
|
|
2405
|
-
version_entries: Table<AXPVersionEntry, string>;
|
|
2406
|
-
version_changes: Table<AXPVersionChange, number>;
|
|
2407
|
-
constructor();
|
|
2408
|
-
}
|
|
2409
|
-
declare const axVersionDB: AXCVersionDB;
|
|
2410
|
-
|
|
2411
|
-
/**
|
|
2412
|
-
* Compute canonical JSON Patch-like changes with custom ops for file arrays.
|
|
2413
|
-
*/
|
|
2414
|
-
declare function computeDiff(prevSnapshot: unknown, nextSnapshot: unknown, basePath?: string): CanonicalChange$1[];
|
|
2415
|
-
declare class AXCVersioningService implements AXPVersioningService {
|
|
2416
|
-
private readonly db;
|
|
2417
|
-
private readonly fileStorage;
|
|
2418
|
-
upsertStream(entityType: string, entityId: string): Promise<string>;
|
|
2419
|
-
/** Gets stream id if it exists, otherwise returns null (does not create). */
|
|
2420
|
-
getStreamIdIfExists(entityType: string, entityId: string): Promise<string | null>;
|
|
2421
|
-
getCurrentVersion(streamId: string): Promise<number>;
|
|
2422
|
-
/** Lists version entries for a given stream, newest first. */
|
|
2423
|
-
listEntries(streamId: string, options?: {
|
|
2424
|
-
limit?: number;
|
|
2425
|
-
offset?: number;
|
|
2426
|
-
}): Promise<AXPVersionEntry$1[]>;
|
|
2427
|
-
createVersion(entityType: string, entityId: string, newSnapshot: unknown, changes?: CanonicalChange$1[], options?: {
|
|
2428
|
-
changeType?: AXVChangeType$1;
|
|
2429
|
-
changedBy?: string;
|
|
2430
|
-
summary?: string;
|
|
2431
|
-
metadata?: unknown;
|
|
2432
|
-
}): Promise<AXPVersionEntry$1>;
|
|
2433
|
-
getDiffForVersions(streamId: string, v1: number, v2: number): Promise<CanonicalChange$1[]>;
|
|
2434
|
-
getUiFriendlyDiff(streamId: string, v1: number, v2: number): Promise<Array<{
|
|
2435
|
-
badge: string;
|
|
2436
|
-
path: string;
|
|
2437
|
-
summary: string;
|
|
2438
|
-
oldValue?: unknown;
|
|
2439
|
-
newValue?: unknown;
|
|
2440
|
-
}>>;
|
|
2441
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AXCVersioningService, never>;
|
|
2442
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AXCVersioningService>;
|
|
2443
|
-
}
|
|
2444
|
-
|
|
2445
|
-
interface UIDiffRow {
|
|
2446
|
-
badge: 'Added' | 'Removed' | 'Replaced' | 'Renamed' | 'Metadata' | 'Updated';
|
|
2447
|
-
path: string;
|
|
2448
|
-
summary: string;
|
|
2449
|
-
oldValue?: unknown;
|
|
2450
|
-
newValue?: unknown;
|
|
2451
|
-
}
|
|
2452
|
-
declare function toUiRows(changes: CanonicalChange[]): UIDiffRow[];
|
|
2453
|
-
|
|
2454
|
-
declare function normalizeAnyFileArrayForView(arr: any[], fileStorage: AXPFileStorageService): Promise<AXPFileListItem[]>;
|
|
2455
|
-
declare function normalizeSnapshotFileFieldsForView(snapshot: any, fileStorage: AXPFileStorageService): Promise<any>;
|
|
3286
|
+
startTime: Date;
|
|
3287
|
+
endTime: Date;
|
|
3288
|
+
actualDate: Date;
|
|
3289
|
+
actualStartTime: Date;
|
|
3290
|
+
actualEndTime: Date;
|
|
3291
|
+
} | {
|
|
3292
|
+
id: string;
|
|
3293
|
+
meetingId: string;
|
|
3294
|
+
scheduleDate: Date;
|
|
3295
|
+
startTime: Date;
|
|
3296
|
+
endTime: Date;
|
|
3297
|
+
actualDate: Date;
|
|
3298
|
+
actualStartTime: Date;
|
|
3299
|
+
actualEndTime?: undefined;
|
|
3300
|
+
} | {
|
|
3301
|
+
id: string;
|
|
3302
|
+
meetingId: string;
|
|
3303
|
+
scheduleDate: Date;
|
|
3304
|
+
startTime: Date;
|
|
3305
|
+
endTime: Date;
|
|
3306
|
+
actualDate?: undefined;
|
|
3307
|
+
actualStartTime?: undefined;
|
|
3308
|
+
actualEndTime?: undefined;
|
|
3309
|
+
})[];
|
|
2456
3310
|
|
|
2457
|
-
|
|
2458
|
-
* Bookmark entity for IndexedDB storage.
|
|
2459
|
-
* Aligns with ERD: BOOKMARK table structure.
|
|
2460
|
-
*/
|
|
2461
|
-
interface AXCBookmarkEntity {
|
|
3311
|
+
declare const meetingFilesMock: {
|
|
2462
3312
|
id: string;
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
payloadJson: string;
|
|
2468
|
-
isConsumed: boolean;
|
|
2469
|
-
createdAt: string;
|
|
2470
|
-
}
|
|
2471
|
-
/**
|
|
2472
|
-
* Dexie database for workflow instances and bookmarks.
|
|
2473
|
-
* Aligns with ERD structure: WORKFLOW_INSTANCE + BOOKMARK tables.
|
|
2474
|
-
*/
|
|
2475
|
-
declare class AXCWorkflowExecutionDB extends Dexie {
|
|
2476
|
-
/**
|
|
2477
|
-
* Table for workflow instances.
|
|
2478
|
-
* Uses id as primary key.
|
|
2479
|
-
* Aligns with WORKFLOW_INSTANCE table in ERD.
|
|
2480
|
-
*/
|
|
2481
|
-
instances: Table<AXPWorkflowInstance, string>;
|
|
2482
|
-
/**
|
|
2483
|
-
* Table for workflow bookmarks.
|
|
2484
|
-
* Aligns with BOOKMARK table in ERD.
|
|
2485
|
-
*/
|
|
2486
|
-
bookmarks: Table<AXCBookmarkEntity, string>;
|
|
2487
|
-
constructor();
|
|
2488
|
-
}
|
|
2489
|
-
/**
|
|
2490
|
-
* Singleton instance of workflow execution database.
|
|
2491
|
-
*/
|
|
2492
|
-
declare const axWorkflowExecutionDB: AXCWorkflowExecutionDB;
|
|
3313
|
+
meetingId: string;
|
|
3314
|
+
documentId: string;
|
|
3315
|
+
description: string;
|
|
3316
|
+
}[];
|
|
2493
3317
|
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
private
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
private
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
*/
|
|
2554
|
-
start(request: AXPStartWorkflowRequest): Promise<AXPStartWorkflowResponse>;
|
|
2555
|
-
/**
|
|
2556
|
-
* Find activity in Graph by ID.
|
|
2557
|
-
*/
|
|
2558
|
-
private findActivityInGraph;
|
|
2559
|
-
/**
|
|
2560
|
-
* Default outcome used when the requested outcome is not in the allowed list (standard scenario).
|
|
2561
|
-
*/
|
|
2562
|
-
private static readonly DEFAULT_UNMATCHED_OUTCOME;
|
|
2563
|
-
/**
|
|
2564
|
-
* Resolve allowed outcomes for the current activity from the workflow definition.
|
|
2565
|
-
* - For human-task: parse activity instance inputs.actions (prefix/suffix) and use action names as outcomes.
|
|
2566
|
-
* - Otherwise: use activity definition outcomes or ['Done'].
|
|
2567
|
-
*/
|
|
2568
|
-
private getActivityAllowedOutcomes;
|
|
2569
|
-
/**
|
|
2570
|
-
* Normalize outcome: if it is in the allowed list, return as-is; otherwise use standard fallback and log.
|
|
2571
|
-
*/
|
|
2572
|
-
private normalizeOutcome;
|
|
2573
|
-
/**
|
|
2574
|
-
* Ensure value is a plain object for use as scope.outputs.
|
|
2575
|
-
* Each step overwrites outputs; the next activity's input sees this as outputs.id, outputs.xxx, etc.
|
|
2576
|
-
*/
|
|
2577
|
-
private ensureOutputsForScope;
|
|
2578
|
-
/**
|
|
2579
|
-
* Resume a suspended workflow instance.
|
|
2580
|
-
*
|
|
2581
|
-
* After frontend completes its task:
|
|
2582
|
-
* 1. Validates taskToken (secure, non-guessable)
|
|
2583
|
-
* 2. Verifies resumed activity matches currentStepId/bookmark
|
|
2584
|
-
* 3. Marks related bookmark as consumed
|
|
2585
|
-
* 4. Applies frontend outputs into workflow state
|
|
2586
|
-
* 5. Traverses to next activity based on outcomes
|
|
2587
|
-
* 6. Executes ALL backend activities until hitting frontend activity or completion
|
|
2588
|
-
* 7. Returns either pendingTask (with new secure token) or completed status
|
|
2589
|
-
*/
|
|
2590
|
-
resume(request: AXPResumeWorkflowRequest): Promise<AXPResumeWorkflowResponse>;
|
|
2591
|
-
/**
|
|
2592
|
-
* Get current workflow execution state.
|
|
2593
|
-
*/
|
|
2594
|
-
getState(request: AXPGetWorkflowStateRequest): Promise<AXPWorkflowInstanceState>;
|
|
2595
|
-
/**
|
|
2596
|
-
* Cache for activity definitions to avoid repeated queries.
|
|
2597
|
-
*/
|
|
2598
|
-
private activityDefinitionCache;
|
|
2599
|
-
/**
|
|
2600
|
-
* Cache TTL: 5 minutes
|
|
2601
|
-
*/
|
|
2602
|
-
private readonly CACHE_TTL_MS;
|
|
2603
|
-
/**
|
|
2604
|
-
* Determine execution mode for an activity (async).
|
|
2605
|
-
*
|
|
2606
|
-
* Priority (highest to lowest):
|
|
2607
|
-
* 1. Activity instance's executionMode (from AXPActivity in workflow definition)
|
|
2608
|
-
* 2. ActivityDefinition's executionMode (from ActivityDefinitionService)
|
|
2609
|
-
* 3. Default: 'frontend'
|
|
2610
|
-
*
|
|
2611
|
-
* @param activityType - Activity type (e.g., 'workflow-activity:show-toast')
|
|
2612
|
-
* @param activity - Activity from workflow definition (AXPActivity)
|
|
2613
|
-
* @returns Promise of execution mode: 'frontend', 'backend', or 'both'
|
|
2614
|
-
*/
|
|
2615
|
-
private determineExecutionMode;
|
|
2616
|
-
/**
|
|
2617
|
-
* Create a task from a workflow activity.
|
|
2618
|
-
* Inspired by Temporal's Activity Task and Elsa's Bookmark pattern.
|
|
2619
|
-
* Uses same expression scope (inputs, variables, outputs, context.eval) as backend execution.
|
|
2620
|
-
*/
|
|
2621
|
-
private createTaskFromActivity;
|
|
2622
|
-
/**
|
|
2623
|
-
* Save workflow instance to entity service for entity-based access.
|
|
2624
|
-
*/
|
|
2625
|
-
private saveInstanceToEntityService;
|
|
2626
|
-
/**
|
|
2627
|
-
* Update workflow instance in entity service.
|
|
2628
|
-
* Uses upsert pattern: try update first, if fails then insert.
|
|
2629
|
-
*/
|
|
2630
|
-
private updateInstanceInEntityService;
|
|
2631
|
-
/**
|
|
2632
|
-
* Execute backend activities locally using CommandBus.
|
|
2633
|
-
*
|
|
2634
|
-
* Backend activities are registered as Commands and executed via CommandService.
|
|
2635
|
-
* Uses WorkflowExpressionScopeService + AXPExpressionEvaluatorService for expression
|
|
2636
|
-
* evaluation (inputs, variables, outputs, context.eval) so backend activities get the
|
|
2637
|
-
* same expression handling as the platform ActivityExecutor.
|
|
2638
|
-
*/
|
|
2639
|
-
private executeBackendActivityLocally;
|
|
2640
|
-
/**
|
|
2641
|
-
* Build variable updates from activity output using activity's outputToVariables (BPMN-style: activity → variable).
|
|
2642
|
-
* For each entry in activity.outputToVariables, sets variables[variableName] = output[outputPath].
|
|
2643
|
-
*/
|
|
2644
|
-
private getVariableUpdatesFromOutput;
|
|
2645
|
-
/**
|
|
2646
|
-
* Set variable activity - stores value in workflow state.
|
|
2647
|
-
*/
|
|
2648
|
-
private executeSetVariable;
|
|
2649
|
-
/**
|
|
2650
|
-
* Execute HTTP request - makes real HTTP call.
|
|
2651
|
-
* Supports different HTTP methods and handles timeouts.
|
|
2652
|
-
*/
|
|
2653
|
-
private executeHttpRequest;
|
|
2654
|
-
/**
|
|
2655
|
-
* Create a bookmark for a workflow instance.
|
|
2656
|
-
* Aligns with ERD: BOOKMARK table structure.
|
|
2657
|
-
*
|
|
2658
|
-
* @param instanceId - Workflow instance ID
|
|
2659
|
-
* @param activityId - Activity ID where bookmark is created
|
|
2660
|
-
* @param type - Bookmark type (e.g., 'user-task', 'event', 'timer')
|
|
2661
|
-
* @param payload - Bookmark payload data
|
|
2662
|
-
* @returns Bookmark ID
|
|
2663
|
-
*/
|
|
2664
|
-
private createBookmark;
|
|
2665
|
-
/**
|
|
2666
|
-
* Consume (mark as consumed) a bookmark for a workflow instance.
|
|
2667
|
-
*
|
|
2668
|
-
* @param instanceId - Workflow instance ID
|
|
2669
|
-
* @param activityId - Activity ID of the bookmark to consume
|
|
2670
|
-
*/
|
|
2671
|
-
private consumeBookmark;
|
|
2672
|
-
/**
|
|
2673
|
-
* Get active bookmarks for a workflow instance.
|
|
2674
|
-
*
|
|
2675
|
-
* @param instanceId - Workflow instance ID
|
|
2676
|
-
* @returns Array of active (non-consumed) bookmarks
|
|
2677
|
-
*/
|
|
2678
|
-
private getActiveBookmarks;
|
|
2679
|
-
/**
|
|
2680
|
-
* Convert workflow instance to instance state.
|
|
2681
|
-
*
|
|
2682
|
-
* Aligns with ERD structure:
|
|
2683
|
-
* - WORKFLOW_INSTANCE: header fields (status, subStatus, timestamps)
|
|
2684
|
-
* - WORKFLOW_INSTANCE_STATE: heavy state (input, output, properties, stateJson)
|
|
2685
|
-
* - BOOKMARK: separate table (used to derive currentStepId)
|
|
2686
|
-
*/
|
|
2687
|
-
private instanceToInstanceState;
|
|
3318
|
+
declare class AXMMeetingFilesDataSeeder implements AXPDataSeeder {
|
|
3319
|
+
private readonly storageService;
|
|
3320
|
+
seed(): Promise<void>;
|
|
3321
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMMeetingFilesDataSeeder, never>;
|
|
3322
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMMeetingFilesDataSeeder>;
|
|
3323
|
+
}
|
|
3324
|
+
|
|
3325
|
+
declare const participantIds: {
|
|
3326
|
+
participant1: string;
|
|
3327
|
+
participant2: string;
|
|
3328
|
+
participant3: string;
|
|
3329
|
+
participant4: string;
|
|
3330
|
+
participant5: string;
|
|
3331
|
+
participant6: string;
|
|
3332
|
+
participant7: string;
|
|
3333
|
+
participant8: string;
|
|
3334
|
+
participant9: string;
|
|
3335
|
+
};
|
|
3336
|
+
declare const meetingRoleTypeMock: {
|
|
3337
|
+
id: string;
|
|
3338
|
+
title: string;
|
|
3339
|
+
meetingParticipantId: string;
|
|
3340
|
+
}[];
|
|
3341
|
+
|
|
3342
|
+
declare class AXMMeetingRoleTypeDataSeeder implements AXPDataSeeder {
|
|
3343
|
+
private readonly storageService;
|
|
3344
|
+
seed(): Promise<void>;
|
|
3345
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMMeetingRoleTypeDataSeeder, never>;
|
|
3346
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMMeetingRoleTypeDataSeeder>;
|
|
3347
|
+
}
|
|
3348
|
+
|
|
3349
|
+
declare const meetingTypeFileTemplateMock: ({
|
|
3350
|
+
id: string;
|
|
3351
|
+
title: string;
|
|
3352
|
+
templateId: string;
|
|
3353
|
+
typeId: string;
|
|
3354
|
+
} | {
|
|
3355
|
+
id: string;
|
|
3356
|
+
title: string;
|
|
3357
|
+
templateId: string;
|
|
3358
|
+
typeId: {
|
|
3359
|
+
id: string;
|
|
3360
|
+
title: string;
|
|
3361
|
+
};
|
|
3362
|
+
})[];
|
|
3363
|
+
|
|
3364
|
+
declare class AXMMeetingTypeFileTemplateDataSeeder implements AXPDataSeeder {
|
|
3365
|
+
private readonly storageService;
|
|
3366
|
+
seed(): Promise<void>;
|
|
3367
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXMMeetingTypeFileTemplateDataSeeder, never>;
|
|
3368
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXMMeetingTypeFileTemplateDataSeeder>;
|
|
3369
|
+
}
|
|
3370
|
+
|
|
3371
|
+
declare class AXCLockService implements AXPLockService {
|
|
3372
|
+
private className;
|
|
3373
|
+
private db;
|
|
3374
|
+
constructor();
|
|
3375
|
+
private get lockTable();
|
|
3376
|
+
protected entityName: string;
|
|
2688
3377
|
/**
|
|
2689
|
-
*
|
|
2690
|
-
*
|
|
2691
|
-
* Aligns with ERD structure:
|
|
2692
|
-
* - WORKFLOW_INSTANCE: header fields (status, subStatus, timestamps, correlationId)
|
|
2693
|
-
* - WORKFLOW_INSTANCE_STATE: heavy state (input, output, properties, stateJson)
|
|
2694
|
-
*
|
|
2695
|
-
* Handles status transitions correctly:
|
|
2696
|
-
* - running → suspended (when frontend activity encountered)
|
|
2697
|
-
* - suspended → running → completed (when workflow finishes)
|
|
2698
|
-
* - any → error (on errors)
|
|
3378
|
+
* Cache Time-To-Live in milliseconds. Default is 5 seconds but can be overridden
|
|
3379
|
+
* at runtime using {@link setCacheDuration}.
|
|
2699
3380
|
*/
|
|
2700
|
-
private
|
|
3381
|
+
private cacheTTL;
|
|
3382
|
+
/** In-memory cache for lock information. */
|
|
3383
|
+
private readonly cacheMap;
|
|
3384
|
+
/** Reference to the recurring cache-flush timer. */
|
|
3385
|
+
private cacheTimer;
|
|
2701
3386
|
/**
|
|
2702
|
-
*
|
|
3387
|
+
* Generates a unique cache key based on the lock request parameters.
|
|
2703
3388
|
*/
|
|
2704
|
-
private
|
|
3389
|
+
private getCacheKey;
|
|
2705
3390
|
/**
|
|
2706
|
-
*
|
|
3391
|
+
* Starts or restarts the interval that clears the cache.
|
|
2707
3392
|
*/
|
|
2708
|
-
private
|
|
3393
|
+
private startCacheTimer;
|
|
2709
3394
|
/**
|
|
2710
|
-
*
|
|
2711
|
-
*
|
|
2712
|
-
* This method is called when a frontend activity (ui-activity) completes execution.
|
|
2713
|
-
* It applies the frontend output to workflow state, finds the next activity based on outcome,
|
|
2714
|
-
* and executes all backend activities until reaching the next frontend activity or completion.
|
|
2715
|
-
*
|
|
2716
|
-
* Flow:
|
|
2717
|
-
* 1. Apply frontend output to workflow state
|
|
2718
|
-
* 2. Find next activity based on outcome from connections
|
|
2719
|
-
* 3. Execute ALL backend activities until hitting frontend activity or completion
|
|
2720
|
-
* 4. Return either nextTask (with new secure token) or completed status
|
|
2721
|
-
*
|
|
2722
|
-
* @param request - Front activity completion request with instanceId, activityNode, output, and outcome
|
|
2723
|
-
* @returns Response with nextTask (if frontend activity) or completion status
|
|
3395
|
+
* Allows consumers to change the cache duration (in milliseconds) at runtime.
|
|
3396
|
+
* The new duration is applied immediately.
|
|
2724
3397
|
*/
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
3398
|
+
setCacheDuration(ms: number): void;
|
|
3399
|
+
lock(request: AXPLockRequest): Promise<AXPLockInfo>;
|
|
3400
|
+
unlock(request: AXPUnLockRequest): Promise<void>;
|
|
3401
|
+
check(request: AXPLockGetInfoRequest): Promise<boolean>;
|
|
3402
|
+
getInfo(request: AXPLockGetInfoRequest): Promise<AXPLockInfo>;
|
|
3403
|
+
getItems(request: AXPLockGetInfoRequest): Promise<AXPLockInfo[]>;
|
|
3404
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCLockService, never>;
|
|
3405
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCLockService>;
|
|
3406
|
+
}
|
|
3407
|
+
|
|
3408
|
+
declare class AXCFileStorageServiceDexie implements AXPFileStorageService {
|
|
3409
|
+
private fileService;
|
|
3410
|
+
private mapToFileStorageInfo;
|
|
3411
|
+
save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
|
|
3412
|
+
commit(fileId: string): Promise<void>;
|
|
3413
|
+
markForDeletion(fileId: string): Promise<void>;
|
|
3414
|
+
update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
|
|
3415
|
+
find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]>;
|
|
3416
|
+
getInfo(fileId: string): Promise<AXPFileStorageInfo>;
|
|
3417
|
+
remove(fileId: string): Promise<void>;
|
|
3418
|
+
private cleanupTemporaryFiles;
|
|
3419
|
+
private cleanupMarkedFiles;
|
|
3420
|
+
constructor();
|
|
3421
|
+
findMany(ids: string[]): Promise<AXPFileManyStorageInfo[]>;
|
|
3422
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCFileStorageServiceDexie, never>;
|
|
3423
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCFileStorageServiceDexie>;
|
|
3424
|
+
}
|
|
3425
|
+
|
|
3426
|
+
declare class AXCFileStorageServiceFirestore implements AXPFileStorageService {
|
|
3427
|
+
private readonly db;
|
|
3428
|
+
private readonly fileService;
|
|
3429
|
+
constructor(db: Firestore);
|
|
3430
|
+
private docToFileStorageInfo;
|
|
3431
|
+
save(request: AXPFileStorageCreateRequest): Promise<AXPFileStorageInfo>;
|
|
3432
|
+
commit(fileId: string): Promise<void>;
|
|
3433
|
+
markForDeletion(fileId: string): Promise<void>;
|
|
3434
|
+
update(request: AXPFileStorageUpdateRequest): Promise<AXPFileStorageInfo>;
|
|
3435
|
+
find(request: AXPFileStorageFindRequest): Promise<AXPFileStorageInfo[]>;
|
|
3436
|
+
getInfo(fileId: string): Promise<AXPFileStorageInfo>;
|
|
3437
|
+
remove(fileId: string): Promise<void>;
|
|
3438
|
+
findMany(ids: string[]): Promise<AXPFileManyStorageInfo[]>;
|
|
3439
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCFileStorageServiceFirestore, never>;
|
|
3440
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCFileStorageServiceFirestore>;
|
|
3441
|
+
}
|
|
3442
|
+
|
|
3443
|
+
interface AXPVersionStream {
|
|
3444
|
+
id: string;
|
|
3445
|
+
entityType: string;
|
|
3446
|
+
entityId: string;
|
|
3447
|
+
createdAt: string;
|
|
3448
|
+
}
|
|
3449
|
+
declare enum AXVChangeType {
|
|
3450
|
+
Create = "Create",
|
|
3451
|
+
Update = "Update",
|
|
3452
|
+
Delete = "Delete"
|
|
3453
|
+
}
|
|
3454
|
+
type CanonicalChangeOp = 'add' | 'remove' | 'replace' | 'rename' | 'metadata';
|
|
3455
|
+
interface CanonicalChange {
|
|
3456
|
+
path: string;
|
|
3457
|
+
op: CanonicalChangeOp;
|
|
3458
|
+
oldValue?: unknown;
|
|
3459
|
+
newValue?: unknown;
|
|
3460
|
+
meta?: Record<string, unknown>;
|
|
3461
|
+
}
|
|
3462
|
+
interface AXPVersionEntry {
|
|
3463
|
+
id: string;
|
|
3464
|
+
streamId: string;
|
|
3465
|
+
versionNumber: number;
|
|
3466
|
+
changeType: AXVChangeType;
|
|
3467
|
+
changedBy: string;
|
|
3468
|
+
changedAt: string;
|
|
3469
|
+
snapshotJson: unknown;
|
|
3470
|
+
patchFromPrevJson: CanonicalChange[];
|
|
3471
|
+
summary?: string;
|
|
3472
|
+
metadataJson?: unknown;
|
|
3473
|
+
}
|
|
3474
|
+
interface AXPVersionChange {
|
|
3475
|
+
id?: number;
|
|
3476
|
+
versionEntryId: string;
|
|
3477
|
+
path: string;
|
|
3478
|
+
op: CanonicalChangeOp;
|
|
3479
|
+
oldValue?: unknown;
|
|
3480
|
+
newValue?: unknown;
|
|
3481
|
+
}
|
|
3482
|
+
interface VersionedFileInfo {
|
|
3483
|
+
id: string;
|
|
3484
|
+
name: string;
|
|
3485
|
+
size: number;
|
|
3486
|
+
mime: string;
|
|
3487
|
+
hash: string;
|
|
3488
|
+
url?: string;
|
|
3489
|
+
thumbUrl?: string;
|
|
3490
|
+
}
|
|
3491
|
+
declare class AXCVersionDB extends Dexie {
|
|
3492
|
+
version_streams: Table<AXPVersionStream, string>;
|
|
3493
|
+
version_entries: Table<AXPVersionEntry, string>;
|
|
3494
|
+
version_changes: Table<AXPVersionChange, number>;
|
|
3495
|
+
constructor();
|
|
3496
|
+
}
|
|
3497
|
+
declare const axVersionDB: AXCVersionDB;
|
|
3498
|
+
|
|
3499
|
+
/**
|
|
3500
|
+
* Compute canonical JSON Patch-like changes with custom ops for file arrays.
|
|
3501
|
+
*/
|
|
3502
|
+
declare function computeDiff(prevSnapshot: unknown, nextSnapshot: unknown, basePath?: string): CanonicalChange$1[];
|
|
3503
|
+
declare class AXCVersioningService implements AXPVersioningService {
|
|
3504
|
+
private readonly store;
|
|
3505
|
+
private readonly fileStorage;
|
|
3506
|
+
upsertStream(entityType: string, entityId: string): Promise<string>;
|
|
3507
|
+
/** Gets stream id if it exists, otherwise returns null (does not create). */
|
|
3508
|
+
getStreamIdIfExists(entityType: string, entityId: string): Promise<string | null>;
|
|
3509
|
+
getCurrentVersion(streamId: string): Promise<number>;
|
|
3510
|
+
/** Lists version entries for a given stream, newest first. */
|
|
3511
|
+
listEntries(streamId: string, options?: {
|
|
3512
|
+
limit?: number;
|
|
3513
|
+
offset?: number;
|
|
3514
|
+
}): Promise<AXPVersionEntry$1[]>;
|
|
3515
|
+
createVersion(entityType: string, entityId: string, newSnapshot: unknown, changes?: CanonicalChange$1[], options?: {
|
|
3516
|
+
changeType?: AXVChangeType$1;
|
|
3517
|
+
changedBy?: string;
|
|
3518
|
+
summary?: string;
|
|
3519
|
+
metadata?: unknown;
|
|
3520
|
+
}): Promise<AXPVersionEntry$1>;
|
|
3521
|
+
getDiffForVersions(streamId: string, v1: number, v2: number): Promise<CanonicalChange$1[]>;
|
|
3522
|
+
getUiFriendlyDiff(streamId: string, v1: number, v2: number): Promise<Array<{
|
|
3523
|
+
badge: string;
|
|
3524
|
+
path: string;
|
|
3525
|
+
summary: string;
|
|
3526
|
+
oldValue?: unknown;
|
|
3527
|
+
newValue?: unknown;
|
|
3528
|
+
}>>;
|
|
3529
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCVersioningService, never>;
|
|
3530
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCVersioningService>;
|
|
2728
3531
|
}
|
|
2729
3532
|
|
|
3533
|
+
interface UIDiffRow {
|
|
3534
|
+
badge: 'Added' | 'Removed' | 'Replaced' | 'Renamed' | 'Metadata' | 'Updated';
|
|
3535
|
+
path: string;
|
|
3536
|
+
summary: string;
|
|
3537
|
+
oldValue?: unknown;
|
|
3538
|
+
newValue?: unknown;
|
|
3539
|
+
}
|
|
3540
|
+
declare function toUiRows(changes: CanonicalChange[]): UIDiffRow[];
|
|
3541
|
+
|
|
3542
|
+
declare function normalizeAnyFileArrayForView(arr: any[], fileStorage: AXPFileStorageService): Promise<AXPFileListItem[]>;
|
|
3543
|
+
declare function normalizeSnapshotFileFieldsForView(snapshot: any, fileStorage: AXPFileStorageService): Promise<any>;
|
|
3544
|
+
|
|
2730
3545
|
declare const titleInterface: AXPWidgetNode;
|
|
2731
3546
|
declare const descriptionInterface: AXPWidgetNode;
|
|
2732
3547
|
declare const versionInterface: AXPWidgetNode;
|
|
@@ -2755,12 +3570,21 @@ declare const qrcodeInterface: AXPWidgetNode;
|
|
|
2755
3570
|
declare const avatarInterface: AXPWidgetNode;
|
|
2756
3571
|
declare const imageInterface: AXPWidgetNode;
|
|
2757
3572
|
declare const timeDurationInterface: AXPWidgetNode;
|
|
3573
|
+
/**
|
|
3574
|
+
* 1–5 scale via selection list (radio-style, horizontal).
|
|
3575
|
+
* Stored value is `id`: `1` | `2` | `3` | `4` | `5` (same as `scaleInterface` ids for formulas).
|
|
3576
|
+
*/
|
|
2758
3577
|
declare const ratingInterface: AXPWidgetNode;
|
|
2759
3578
|
declare const scaleInterface: AXPWidgetNode;
|
|
3579
|
+
/** Yes/No via selection list (radio-style); stored value is `id`: `yes` | `no`. */
|
|
2760
3580
|
declare const yesNoInterface: AXPWidgetNode;
|
|
3581
|
+
/** Field inspection status: OK, fault (X), or not applicable (N/A). Stored ids: `ok` | `x` | `na`. */
|
|
3582
|
+
declare const inspectionOkXNaInterface: AXPWidgetNode;
|
|
2761
3583
|
declare const multipleChoiceInterface: AXPWidgetNode;
|
|
2762
3584
|
declare const multipleSelectInterface: AXPWidgetNode;
|
|
2763
3585
|
declare const longTextAnswerInterface: AXPWidgetNode;
|
|
3586
|
+
/** Select for sex at birth; stored ids: female | male */
|
|
3587
|
+
declare const sexAtBirthInterface: AXPWidgetNode;
|
|
2764
3588
|
|
|
2765
3589
|
interface AXPRuleRow extends AXPIdentifierRule {
|
|
2766
3590
|
}
|
|
@@ -2808,7 +3632,7 @@ declare class AXPMockLookupProvider implements AXPLookupProvider {
|
|
|
2808
3632
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMockLookupProvider>;
|
|
2809
3633
|
}
|
|
2810
3634
|
declare class AXPMockSequenceProvider implements AXPSequenceProvider {
|
|
2811
|
-
private readonly
|
|
3635
|
+
private readonly store;
|
|
2812
3636
|
private readonly rulesFromProviders;
|
|
2813
3637
|
next(scopeHash: string, ruleId: string, options?: {
|
|
2814
3638
|
pad?: number;
|
|
@@ -2842,29 +3666,19 @@ declare class AXPMockIdentifierService extends AXPIdentifierService {
|
|
|
2842
3666
|
}
|
|
2843
3667
|
|
|
2844
3668
|
/**
|
|
2845
|
-
*
|
|
2846
|
-
*
|
|
2847
|
-
*
|
|
2848
|
-
*
|
|
2849
|
-
* - UPDATE: Updates the updated timestamp with current user info
|
|
2850
|
-
* - DELETE: Records deleted timestamp with user info (useful for soft delete or history tracking)
|
|
2851
|
-
*
|
|
2852
|
-
* The audit info follows the AXPAuditInfo interface with created, updated, and deleted events.
|
|
2853
|
-
* Ownership info includes tenantId and applicationId from the current session.
|
|
3669
|
+
* Pre-save middleware: loads entity definition and validates ctx.data before persist.
|
|
3670
|
+
* Validates required, minLength, maxLength, email and unique constraints
|
|
3671
|
+
* (from definition rule: 'unique' or layout extensions.uniqueFields).
|
|
3672
|
+
* Runs early (order: 5) before lock/audit middlewares.
|
|
2854
3673
|
*/
|
|
2855
|
-
declare const
|
|
3674
|
+
declare const entityValidationMiddleware: AXPEntityStorageMiddleware;
|
|
2856
3675
|
|
|
2857
3676
|
/**
|
|
2858
|
-
*
|
|
2859
|
-
*
|
|
2860
|
-
*
|
|
2861
|
-
* and persists categories: [{id, parentId, title}, ...] on the record.
|
|
2862
|
-
* - On getOne/query/getAll: enriches records that have categoryIds but no categories
|
|
2863
|
-
* (e.g. seeded data) so the column can display full paths.
|
|
2864
|
-
*
|
|
2865
|
-
* Real API can return the same shape via JOIN; mock enriches at write and read time.
|
|
3677
|
+
* Backend middleware: sets default status for entities with status plugin when creating/updating.
|
|
3678
|
+
* Runs before validation (order 3). Client must not trust client-sent status for security;
|
|
3679
|
+
* backend controls defaults and other security-sensitive fields.
|
|
2866
3680
|
*/
|
|
2867
|
-
declare const
|
|
3681
|
+
declare const statusDefaultMiddleware: AXPEntityStorageMiddleware;
|
|
2868
3682
|
|
|
2869
3683
|
declare const childCountMiddleware: AXPEntityStorageMiddleware;
|
|
2870
3684
|
|
|
@@ -2888,6 +3702,25 @@ declare const childCountMiddleware: AXPEntityStorageMiddleware;
|
|
|
2888
3702
|
*/
|
|
2889
3703
|
declare const createFileCastMiddleware: AXPEntityStorageMiddleware;
|
|
2890
3704
|
|
|
3705
|
+
/**
|
|
3706
|
+
* Folder Storage Middleware
|
|
3707
|
+
*
|
|
3708
|
+
* Applies folder-specific behavior via storage layer (no service override):
|
|
3709
|
+
* - create: enriches ownership from session, default inherit; after persist syncs parent.folders.
|
|
3710
|
+
* - update: after persist, removes from old parent if parentId changed, syncs parent.folders.
|
|
3711
|
+
* - delete: before delete loads folder, after delete removes from parent.folders.
|
|
3712
|
+
* - getOne: enriches childrenCount/itemsCount and inherited properties (ownership, documentTypes).
|
|
3713
|
+
*/
|
|
3714
|
+
declare const folderStorageMiddleware: AXPEntityStorageMiddleware;
|
|
3715
|
+
|
|
3716
|
+
/**
|
|
3717
|
+
* Document–Folder Sync Middleware
|
|
3718
|
+
*
|
|
3719
|
+
* Keeps parent folder's documents array in sync when documents are created, updated, or deleted.
|
|
3720
|
+
* Runs in storage layer so no document service override is needed.
|
|
3721
|
+
*/
|
|
3722
|
+
declare const documentFolderSyncMiddleware: AXPEntityStorageMiddleware;
|
|
3723
|
+
|
|
2891
3724
|
declare const identifierCommitMiddleware: AXPEntityStorageMiddleware;
|
|
2892
3725
|
|
|
2893
3726
|
/**
|
|
@@ -2915,11 +3748,22 @@ declare const identifierCommitMiddleware: AXPEntityStorageMiddleware;
|
|
|
2915
3748
|
*/
|
|
2916
3749
|
declare const lookupResolverMiddleware: AXPEntityStorageMiddleware;
|
|
2917
3750
|
|
|
3751
|
+
/**
|
|
3752
|
+
* Simple debug middleware for WorkflowManagement.Automation
|
|
3753
|
+
* Logs command payload on create/update so we can ensure it is persisted correctly.
|
|
3754
|
+
*/
|
|
3755
|
+
declare const automationCommandMiddleware: AXPEntityStorageMiddleware;
|
|
3756
|
+
|
|
2918
3757
|
declare const mergeDetailRelationMiddleware: AXPEntityStorageMiddleware;
|
|
2919
3758
|
|
|
2920
3759
|
declare const primaryMiddleware: AXPEntityStorageMiddleware;
|
|
2921
3760
|
|
|
2922
|
-
|
|
3761
|
+
/**
|
|
3762
|
+
* Combined middleware: enriches entity records with audit info (who/when) and records
|
|
3763
|
+
* version history for the "Change history" timeline. Version snapshots exclude auditInfo
|
|
3764
|
+
* (and stateInfo, ownershipInfo) so we don't log audit metadata again in the version store.
|
|
3765
|
+
*/
|
|
3766
|
+
declare const historyMiddleware: AXPEntityStorageMiddleware;
|
|
2923
3767
|
|
|
2924
3768
|
/**
|
|
2925
3769
|
* Signature Loader Middleware
|
|
@@ -3061,5 +3905,5 @@ declare function bypassAllFilters<T extends AXPQueryRequest>(request: T): T;
|
|
|
3061
3905
|
|
|
3062
3906
|
declare const AXCMockEntityLogListener: AXPDistributedEventListenerProvider<any>;
|
|
3063
3907
|
|
|
3064
|
-
export { ACTIVITY_CATEGORIES, ACTIVITY_DEFINITIONS, APPLICATIONS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationDataSeeder, AXCApplicationManagementMockModule, AXCAssessmentManagementMockModule, AXCAssetManagementMockModule, AXCAuthMockModule, AXCCalendarDataSeeder, AXCCalendarEventDataSeeder, AXCCalendarManagementMockModule, AXCCommonMockModule, AXCContactCoreMockModule,
|
|
3065
|
-
export type { AXCBookmarkEntity, AXCBusinessUnitMockDto, AXCLeaveRequestMockDto, AXCPositionAssignmentMockDto, AXCTeamMemberMockDto, AXCTeamMemberRoleMockDto, AXCTeamMockDto, AXMTag, AXPLogRow, AXPRuleRow, AXPSeqRow, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp,
|
|
3908
|
+
export { ACTIVITY_CATEGORIES, ACTIVITY_DEFINITIONS, AI_ASSIST_MOCK, AI_MODEL_MOCK, APPLICATIONS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAiAssistSeeder, AXCAiManagementMockModule, AXCAiModelSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationDataSeeder, AXCApplicationManagementMockModule, AXCAssessmentManagementMockModule, AXCAssetManagementMockModule, AXCAuthMockModule, AXCCalendarDataSeeder, AXCCalendarEventDataSeeder, AXCCalendarManagementMockModule, AXCCommandRegistryDataSeeder, AXCCommonMockModule, AXCContactCoreMockModule, AXCContentManagementMockModule, AXCConversationDataSeeder, AXCConversationMockConversationApi, AXCConversationMockMessageApi, AXCConversationMockModule, AXCConversationMockRealtimeApi, AXCConversationMockUserApi, AXCCustomerManagementMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDexieEntityStorageService, AXCDocumentManagementMockModule, AXCEditionDataSeeder, AXCEntityDefinitionSeederService, AXCEntityDefinitionsModule, AXCEntityStorageInsertCommand, AXCEntityStorageModule, AXCEntityStorageQueryQuery, AXCFileStorageServiceDexie, AXCFileStorageServiceFirestore, AXCFinancialCoreMockModule, AXCFirestoreEntityStorageService, AXCFormTemplateManagementMockModule, AXCGoogleStrategyMock, AXCHealthCoreMockModule, AXCHelpDeskMockModule, AXCHumanCapitalManagementMockModule, AXCIdentifierManagementMockModule, AXCImageCaptchaChallengeProviderMock, AXCLearningManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCMeasurementCoreMockModule, AXCMeetingManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMetadataCategorySeeder, AXCMiddlewaresModule, AXCMockCaptchaChallengeComponent, AXCMockEntityLogListener, AXCMockModule, AXCMockShowMetaDataFormPopupCommand, AXCNotificationManagementMockModule, AXCOrderManagementMockModule, AXCOrganizationManagementMockModule, AXCPersonCoreMockModule, AXCPlatformManagementMockModule, AXCProcurementManagementMockModule, AXCProductCatalogMockModule, AXCProjectManagementMockModule, AXCQueryRegistryDataSeeder, AXCReportManagementMockModule, AXCSecurityManagementMockModule, AXCStoredEntityDefinitionLoader, AXCSubscriptionManagementMockModule, AXCSupplierManagementMockModule, AXCTaskManagementMockModule, AXCTenantManagementMockModule, AXCTenantSeeder, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowExecutionStoreDexie, AXCWorkflowExecutionStoreFirestore, AXCWorkflowManagementMockModule, AXC_ENTITY_STORAGE_BACKEND_TYPE, AXC_FIRESTORE_CONFIG, AXC_FIRESTORE_DB, AXC_WORKFLOW_EXECUTION_STORE, AXMAiDemisDefaultAssistId, AXMAiModelStableIds, AXMAiPlatformDefaultAssistId, AXMAutomationDataSeeder, AXMBusinessUnitDataSeeder, AXMCalendarEventTypeSeeder, AXMDashboardChartDataSourceDefinition, AXMEmployeeDataSeeder, AXMEmploymentTypeDataSeeder, AXMFormDataSourcesProvider, AXMJobDefinitionDataSeeder, AXMJobLevelDataSeeder, AXMLeaveRequestDataSeeder, AXMMeetingDataSeeder, AXMMeetingFilesDataSeeder, AXMMeetingParticipantDataSeeder, AXMMeetingRoleTypeDataSeeder, AXMMeetingSessionDataSeeder, AXMMeetingTypeDataSeeder, AXMMeetingTypeFileTemplateDataSeeder, AXMPositionAssignmentDataSeeder, AXMPositionDataSeeder, AXMQuestionBankItemCategoryDataSeeder, AXMQuestionBankItemDataSeeder, AXMQuestionnaireCalculationDataSeeder, AXMQuestionnaireCategoryDataSeeder, AXMQuestionnaireDataSeeder, AXMResponsibilityDataSeeder, AXMTagDataSeeder, AXMTeamDataSeeder, AXMTeamMemberDataSeeder, AXMTeamMemberRoleDataSeeder, AXMWorkflowDashboardChartDataSourceDefinition, AXM_AI_REGISTRY_COMMAND_NAME, AXM_AI_REGISTRY_QUERY_NAME, AXM_CORPORATE_BUSINESS_UNIT_ID, AXPDashboardDataSeeder, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, AXPTaskBoardPlatformManagementTaskProvider, AXPTaskBoardProjectManagementTaskProvider, AXVChangeType, BCC, BOC, BUSINESS_UNITS_MOCK, CHAT_LAST_MESSAGE_IDS, COSTMANAGER_ENTERPRISE, COSTMANAGER_PROFESSIONAL, COSTMANAGER_STANDARD, CP, CRM_ENTERPRISE, DASHBOARDS, EDITIONS, EMPLOYEES_MOCK, EMPLOYMENT_TYPES_MOCK, ENTITY_DEFINITION_MAP, ENTITY_REGISTRY, FINANCE_BASIC, FINANCE_ENTERPRISE, FINANCE_PRO, G, HR_ENTERPRISE, HW, JOB_DEFINITIONS_CATEGORY_MOCK, JOB_DEFINITIONS_MOCK, JOB_DEFINITION_CATEGORY_KEY_TO_ID, JOB_LEVELS_MOCK, LASER_PLUMBING_TENANT_ID, LEAVE_REQUESTS_MOCK, METADATA_CATEGORY_IDS, METADATA_GENERAL_CATEGORY_REFS, METADATA_SYSTEM_CATEGORY_REFS, MLC, OHR, ORDERING_BASIC, ORDERING_ENTERPRISE, ORDERING_STANDARD, OWNERSHIP_FILTER_BYPASS, PLATFORM_CONSOLE, PLATFORM_TENANT_ID, PM, POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK, POSITION_ASSIGNMENTS_MOCK, QCP, QGEN, QHW, QOHR, QPM, QTLE, QUESTIONNAIRE_CATEGORY_MOCK, QUESTION_BANK_ITEM_CATEGORY_MOCK, QWS, RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK, RESPONSIBILITY_CATEGORY_KEY_TO_ID, SAFETYMINDER_BASIC, SAFETYMINDER_ENTERPRISE, SAFETYMINDER_PROFESSIONAL, SHOP_BASIC, SHOP_ENTERPRISE, SHOP_PRO, TAGS_MOCK, TASKS, TASK_STATUSES, TASK_TEMPLATES, TASK_TYPES, TEAMS_MOCK, TEAM_MEMBERS_MOCK, TEAM_MEMBER_ROLES_MOCK, TIMEPLICITY_TENANT_ID, TLA, TOKENS, TPC, VISIBILITY_FILTER_BYPASS, WORKFLOW_CATEGORIES, WS, activityCategoryMocks, activityDefinitionEntityMock, applyEntityDefinitionFirestoreSnapshot, automationCommandMiddleware, automationMock, avatarInterface, axVersionDB, axWorkflowExecutionDB, axcPatchEmployeeActivePrimaryPositionRefsFromRows, axcPatchEmployeeManagerRefsFromRows, axcResolveCommandRegistrySeedId, axcResolveQueryRegistrySeedId, bankCategory, buildEntityStorageQuickSearchFilter, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, chatMessageMock, chatMock, checkboxInterface, childCountMiddleware, clearEntityDefinitionFirestoreCollections, collectQuickSearchFieldPathsFromEntityDefinition, colorInterface, computeDiff, contactInterface, createAndSaveDashboardForUser, createDashboardForUser, createFileCastMiddleware, createWidgetLayoutConfig, dateInterface, dateTimeInterface, descriptionInterface, documentFolderSyncMiddleware, emailInterface, entityDefDb, entityValidationMiddleware, fileUploaderInterface, findEmployeeById, folderStorageMiddleware, generateUserDashboard, groupOrderItemCalculatorMiddleware, historyMiddleware, identifierCommitMiddleware, imageInterface, inspectionOkXNaInterface, loadMockPropertyDefinitions, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, mergeQuickSearchIntoRequest, metadataCategoryMocks, mockQuestionBankItemByName, mockRoleDefinitions, mockUsers, multipleChoiceInterface, multipleSelectInterface, normalizeAnyFileArrayForView, normalizeSnapshotFileFieldsForView, numberInterface, parseEntityStorageInsertData, parseEntityStorageQueryRequest, participantIds, participantMock, passwordInterface, personIdentifierTypeMock, personIds, personLegalIds, personMock, personNaturalIds, phoneInterface, primaryMiddleware, provideMockPropertySetups, qrcodeInterface, questionBankItemMock, questionnaireCalculationMock, questionnaireMock, ratingInterface, richTextInterface, scaleInterface, selectInterface, selectionListInterface, sexAtBirthInterface, signatureInterface, signatureLoaderMiddleware, statusDefaultMiddleware, tagInterface, tenantMocks, textAreaInterface, textInterface, timeDurationInterface, titleInterface, toUiRows, toggleInterface, tokenCategoryIds, tokenCategoryMocks, urlInterface, versionInterface, visibilityFilterMiddleware, workflowDefinitionEntityMock, workflowDefinitionIds, workflowDefinitionMock, yesNoInterface };
|
|
3909
|
+
export type { AXCAiAssistMock, AXCAiModelMock, AXCBookmarkEntity, AXCBusinessUnitMockDto, AXCEntityStorageBackendType, AXCEntityStorageInsertInput, AXCEntityStorageInsertOutput, AXCEntityStorageQueryInput, AXCEntityStorageQueryResult, AXCFirestoreConfig, AXCLeaveRequestMockDto, AXCPositionAssignmentMockDto, AXCTeamMemberMockDto, AXCTeamMemberRoleMockDto, AXCTeamMockDto, AXCWorkflowExecutionStore, AXMTag, AXPLogRow, AXPRuleRow, AXPSeqRow, AXPVersionChange, AXPVersionEntry, AXPVersionStream, AutomationCommandDto, AutomationMockDto, CanonicalChange, CanonicalChangeOp, EntityDefinitionFirestoreSnapshotFile, FirestoreSnapshotOperation, JobDefinitionMockDto, JobLevelMockDto, MockUserPassCredentials, PositionMockDto, QuestionBankItemCategoryTitle, QuestionBankItemMockDto, QuestionnaireCalculationMockDto, QuestionnaireCalculationMockResultKind, QuestionnaireCategoryTitle, QuestionnaireMockDto, ResponsibilityMockDto, ShowMetaDataFormPopupMockInput, Task, TaskStatus, TaskTemplate, TaskType, UIDiffRow, VersionedFileInfo };
|