@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.
Files changed (118) hide show
  1. package/fesm2022/{acorex-connectivity-api-execute.command-Di850KiF.mjs → acorex-connectivity-api-execute.command-CiBl7z_H.mjs} +4 -4
  2. package/fesm2022/acorex-connectivity-api-execute.command-CiBl7z_H.mjs.map +1 -0
  3. package/fesm2022/acorex-connectivity-api.mjs +37 -37
  4. package/fesm2022/acorex-connectivity-api.mjs.map +1 -1
  5. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-G8Opk5JU.mjs +65509 -0
  6. package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-G8Opk5JU.mjs.map +1 -0
  7. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-DTPM1eU1.mjs +79 -0
  8. package/fesm2022/acorex-connectivity-mock-assign-to-manager.activity-DTPM1eU1.mjs.map +1 -0
  9. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs +198 -0
  10. package/fesm2022/acorex-connectivity-mock-category-metadata-inheritance.query-CWRL1dTa.mjs.map +1 -0
  11. package/fesm2022/{acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs → acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs} +4 -4
  12. package/fesm2022/acorex-connectivity-mock-category-with-items.query-Cj6FWu7S.mjs.map +1 -0
  13. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CPGQNlRz.mjs +114 -0
  14. package/fesm2022/acorex-connectivity-mock-chat-generate-image.command-CPGQNlRz.mjs.map +1 -0
  15. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-BXem7bHF.mjs +130 -0
  16. package/fesm2022/acorex-connectivity-mock-chat-synthesize-speech.command-BXem7bHF.mjs.map +1 -0
  17. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-TP4dUKlp.mjs +110 -0
  18. package/fesm2022/acorex-connectivity-mock-chat-transcribe-speech.command-TP4dUKlp.mjs.map +1 -0
  19. package/fesm2022/{acorex-connectivity-mock-check-permission.command-C-AZTcHP.mjs → acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs} +8 -16
  20. package/fesm2022/acorex-connectivity-mock-check-permission.activity-vr3OHtjC.mjs.map +1 -0
  21. package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs +56 -0
  22. package/fesm2022/acorex-connectivity-mock-complete-signature-process.activity-BO-IFsHT.mjs.map +1 -0
  23. package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs +968 -0
  24. package/fesm2022/acorex-connectivity-mock-contact-core.module-5TLCGWOR.mjs.map +1 -0
  25. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs +16 -0
  26. package/fesm2022/acorex-connectivity-mock-content-management.module-GQdqKsPB.mjs.map +1 -0
  27. package/fesm2022/{acorex-connectivity-mock-distribution-record.command-DMoZvago.mjs → acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs} +18 -6
  28. package/fesm2022/acorex-connectivity-mock-distribution-record.activity-DuNluOzA.mjs.map +1 -0
  29. package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs +60 -0
  30. package/fesm2022/acorex-connectivity-mock-entity-create.activity-Ca19tIj4.mjs.map +1 -0
  31. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs +60 -0
  32. package/fesm2022/acorex-connectivity-mock-entity-delete.activity-ErEN1c24.mjs.map +1 -0
  33. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs +67 -0
  34. package/fesm2022/acorex-connectivity-mock-entity-read.activity-1fJW8gVe.mjs.map +1 -0
  35. package/fesm2022/acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs +70 -0
  36. package/fesm2022/acorex-connectivity-mock-entity-update.activity-D0hyBha-.mjs.map +1 -0
  37. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs +64 -0
  38. package/fesm2022/acorex-connectivity-mock-extract-document-text.command-nGfUTSf6.mjs.map +1 -0
  39. 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
  40. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-DwVuYuKx.mjs.map +1 -0
  41. package/fesm2022/{acorex-connectivity-mock-get-application-versions-timeline.query-CvNjA4OH.mjs → acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs} +4 -4
  42. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-sFKYynZA.mjs.map +1 -0
  43. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-C6S4ZJgp.mjs +35 -0
  44. package/fesm2022/acorex-connectivity-mock-get-current-session-user.activity-C6S4ZJgp.mjs.map +1 -0
  45. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs +69 -0
  46. package/fesm2022/acorex-connectivity-mock-get-current-user-manager.activity-C1mj2bgB.mjs.map +1 -0
  47. package/fesm2022/{acorex-connectivity-mock-get-employee-list.query--f2M5RgC.mjs → acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs} +4 -4
  48. package/fesm2022/acorex-connectivity-mock-get-employee-list.query-DifHwuqH.mjs.map +1 -0
  49. package/fesm2022/{acorex-connectivity-mock-get-location-list.query-Cz55arFF.mjs → acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs} +4 -4
  50. package/fesm2022/acorex-connectivity-mock-get-location-list.query-bMjkZnzq.mjs.map +1 -0
  51. package/fesm2022/{acorex-connectivity-mock-get-product-chart-data.query-C7v7D4ep.mjs → acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs} +4 -4
  52. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-D7DBzLT-.mjs.map +1 -0
  53. package/fesm2022/{acorex-connectivity-mock-get-product-list.query-DTj8RYwR.mjs → acorex-connectivity-mock-get-product-list.query-B06aC73T.mjs} +11 -6
  54. package/fesm2022/acorex-connectivity-mock-get-product-list.query-B06aC73T.mjs.map +1 -0
  55. package/fesm2022/{acorex-connectivity-mock-get-product-pdf-data.query-DdLhRbP5.mjs → acorex-connectivity-mock-get-product-pdf-data.query-CM7bsjl7.mjs} +5 -5
  56. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-CM7bsjl7.mjs.map +1 -0
  57. 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
  58. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-BQT5a_hn.mjs.map +1 -0
  59. package/fesm2022/{acorex-connectivity-mock-get-subscriptions-timeline.query-kciEUx7d.mjs → acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs} +4 -4
  60. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-D4qfDfeV.mjs.map +1 -0
  61. 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
  62. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-n1_Azada.mjs.map +1 -0
  63. 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
  64. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-Cg4ykZU2.mjs.map +1 -0
  65. package/fesm2022/{acorex-connectivity-mock-get-tenant-registration-timeline.query-CMJ8W3Ns.mjs → acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs} +4 -4
  66. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-0sCBtdbp.mjs.map +1 -0
  67. 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
  68. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-rD811gtM.mjs.map +1 -0
  69. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs +35 -0
  70. package/fesm2022/acorex-connectivity-mock-if.activity-DvzuhItL.mjs.map +1 -0
  71. package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs +49 -0
  72. package/fesm2022/acorex-connectivity-mock-notify-signers.activity-Dg0sKGip.mjs.map +1 -0
  73. package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs +60 -0
  74. package/fesm2022/acorex-connectivity-mock-request-signature.activity-CoRT_H2u.mjs.map +1 -0
  75. package/fesm2022/{acorex-connectivity-mock-sample.command-CyrjdvEA.mjs → acorex-connectivity-mock-sample.command-CJmDL4pL.mjs} +4 -4
  76. package/fesm2022/acorex-connectivity-mock-sample.command-CJmDL4pL.mjs.map +1 -0
  77. package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs +38 -0
  78. package/fesm2022/acorex-connectivity-mock-structured-text-completion.command-l31pjl9-.mjs.map +1 -0
  79. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs +61 -0
  80. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.activity-JuHjNFFS.mjs.map +1 -0
  81. package/fesm2022/acorex-connectivity-mock.mjs +1 -66525
  82. package/fesm2022/acorex-connectivity-mock.mjs.map +1 -1
  83. package/fesm2022/acorex-connectivity-utils.mjs +7 -7
  84. package/fesm2022/acorex-connectivity-utils.mjs.map +1 -1
  85. package/fesm2022/acorex-connectivity.mjs.map +1 -1
  86. package/package.json +8 -7
  87. package/{mock/index.d.ts → types/acorex-connectivity-mock.d.ts} +2154 -1310
  88. package/fesm2022/acorex-connectivity-api-execute.command-Di850KiF.mjs.map +0 -1
  89. package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-T6-ao4e9.mjs +0 -66
  90. package/fesm2022/acorex-connectivity-mock-assign-to-manager.command-T6-ao4e9.mjs.map +0 -1
  91. package/fesm2022/acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs.map +0 -1
  92. package/fesm2022/acorex-connectivity-mock-check-permission.command-C-AZTcHP.mjs.map +0 -1
  93. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-CHci1rOa.mjs +0 -80
  94. package/fesm2022/acorex-connectivity-mock-complete-signature-process.command-CHci1rOa.mjs.map +0 -1
  95. package/fesm2022/acorex-connectivity-mock-distribution-record.command-DMoZvago.mjs.map +0 -1
  96. package/fesm2022/acorex-connectivity-mock-get-application-versions-chart-data.query-B1TrIBvU.mjs.map +0 -1
  97. package/fesm2022/acorex-connectivity-mock-get-application-versions-timeline.query-CvNjA4OH.mjs.map +0 -1
  98. package/fesm2022/acorex-connectivity-mock-get-employee-list.query--f2M5RgC.mjs.map +0 -1
  99. package/fesm2022/acorex-connectivity-mock-get-location-list.query-Cz55arFF.mjs.map +0 -1
  100. package/fesm2022/acorex-connectivity-mock-get-product-chart-data.query-C7v7D4ep.mjs.map +0 -1
  101. package/fesm2022/acorex-connectivity-mock-get-product-list.query-DTj8RYwR.mjs.map +0 -1
  102. package/fesm2022/acorex-connectivity-mock-get-product-pdf-data.query-DdLhRbP5.mjs.map +0 -1
  103. package/fesm2022/acorex-connectivity-mock-get-subscriptions-chart-data.query-ybmzmVl5.mjs.map +0 -1
  104. package/fesm2022/acorex-connectivity-mock-get-subscriptions-timeline.query-kciEUx7d.mjs.map +0 -1
  105. package/fesm2022/acorex-connectivity-mock-get-tenant-application-access.query-BDfrwf5Z.mjs.map +0 -1
  106. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-chart-data.query-BD4T2loB.mjs.map +0 -1
  107. package/fesm2022/acorex-connectivity-mock-get-tenant-registration-timeline.query-CMJ8W3Ns.mjs.map +0 -1
  108. package/fesm2022/acorex-connectivity-mock-get-tenant-user-distribution.query-C-gCUjbX.mjs.map +0 -1
  109. package/fesm2022/acorex-connectivity-mock-notify-signers.command-DLMsWjWQ.mjs +0 -69
  110. package/fesm2022/acorex-connectivity-mock-notify-signers.command-DLMsWjWQ.mjs.map +0 -1
  111. package/fesm2022/acorex-connectivity-mock-request-signature.command-JNkj9-Yz.mjs +0 -72
  112. package/fesm2022/acorex-connectivity-mock-request-signature.command-JNkj9-Yz.mjs.map +0 -1
  113. package/fesm2022/acorex-connectivity-mock-sample.command-CyrjdvEA.mjs.map +0 -1
  114. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-xKr94NrA.mjs +0 -81
  115. package/fesm2022/acorex-connectivity-mock-validate-all-signatures.command-xKr94NrA.mjs.map +0 -1
  116. /package/{api/index.d.ts → types/acorex-connectivity-api.d.ts} +0 -0
  117. /package/{utils/index.d.ts → types/acorex-connectivity-utils.d.ts} +0 -0
  118. /package/{index.d.ts → types/acorex-connectivity.d.ts} +0 -0
@@ -1,31 +1,42 @@
1
- import { AXPAppStartUpService, AXPQueryRequest, AXPPagedListResult, AXPCategorizedEntityDto, AXPCategoryEntity, AXPExecuteCommand, AXPExecuteCommandResult, AXPActionMenuItem, AXPDataSourceDefinitionProvider, AXPDataSourceDefinition, AXPFileListItem, AXPDistributedEventListenerProvider } from '@acorex/platform/core';
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 { AXPBaseCredentials, AXPAuthStrategy, AXPSignInResult, AXPSessionContext, AXPLoginChallengeProvider, AXPChallengeCheckResult, AXPLoginChallengeData, AXPLoginChallengeComponentBase } from '@acorex/platform/auth';
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 { AXPEntityStorageService, AXPDataSeeder, AXPEntityStorageMiddleware } from '@acorex/platform/layout/entity';
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 * as _acorex_platform_common from '@acorex/platform/common';
17
- import { AXPLockService, AXPLockRequest, AXPLockInfo, AXPUnLockRequest, AXPLockGetInfoRequest, AXPFileStorageService, AXPFileStorageCreateRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileStorageFindRequest, AXPFileManyStorageInfo, CanonicalChange as CanonicalChange$1, AXPVersioningService, AXPVersionEntry as AXPVersionEntry$1, AXVChangeType as AXVChangeType$1 } from '@acorex/platform/common';
18
- import { AXMPersonCorePersonEntityModel, AXMPersonCorePersonIdentifierTypeEntityModel, AXMPersonCorePersonRelationshipTypeEntityModel } from '@acorex/modules/person-core';
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 { ShowMetaDataFormPopupInput, ShowMetaDataFormPopupCommand, ResolveGroupsResult, AXMMetaDataDefinitionEntityModel, AXMMetaDataSelectorValue, AXMDataManagementEquipmentEntityModel } from '@acorex/modules/data-management';
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 { AXPWidgetNode } from '@acorex/platform/layout/widget-core';
25
- import { AXMCommonDashboardEntityModel } from '@acorex/modules/dashboard-management';
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 { AXPIdentifierRule, AXPClockProvider, AXPChecksumProvider, AXPPolicyProvider, AXPLookupProvider, AXPSequenceProvider, AXPIdentifierService, AXPIdentifierRequest, AXPIdentifierResult, AXPIdentifierPeekResult } from '@acorex/modules/identifier-management';
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, never, 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, never, 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, never, 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 AXCContactManagementMockModule, typeof AXCLocationManagementMockModule, typeof AXCContactCoreMockModule, typeof AXCOrganizationManagementMockModule, typeof AXCHumanCapitalManagementMockModule, typeof AXCReportManagementMockModule, typeof AXCLocaleManagementMockModule, typeof AXCDashboardManagementMockModule, typeof AXCConversationMockModule, typeof AXCAuthMockModule, 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 AXCMiddlewaresModule], never>;
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: 'merge' | 'replace';
454
- uniqueKeys: string[];
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
- * Check if the entity is a category entity (ends with 'Category')
466
- */
467
- private isCategoryEntity;
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
- * Calculate childrenCount for each category entity.
470
- * Uses stored childrenCount when present; computes only when missing or invalid.
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
- private calculateChildrenCounts;
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
- * Get the count of direct children for a category
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
- * Check if the filter is a category filter (contains operator on categoryIds field)
479
- * Handles both simple filters and compound filters
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
- private isCategoryFilter;
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
- * Apply recursive category filtering - finds entities that belong to the category or any of its children
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
- private applyRecursiveCategoryFilter;
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
- * Recursively gets all child category IDs including the parent category itself
988
+ * AI agent catalog rows this assist may delegate to (`type` = agent id, `options` = assist-locked / assist-default values).
488
989
  */
489
- private getAllChildCategoryIds;
490
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCDexieEntityStorageService, never>;
491
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCDexieEntityStorageService>;
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: string;
548
- description?: string;
1089
+ title: AXPMultiLanguageString;
1090
+ name?: string;
1091
+ question?: AXPMultiLanguageString;
1092
+ note?: AXPMultiLanguageString;
549
1093
  interface?: any;
550
- scoringType?: 'none' | 'points' | 'weighted' | 'formula';
551
- points?: number;
552
- weight?: number;
553
- correctAnswer?: any;
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
- interface QuestionnaireMockDto extends AXPCategorizedEntityDto {
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: string;
570
- description?: string;
1133
+ title: AXPMultiLanguageString;
1134
+ description?: AXPMultiLanguageString;
571
1135
  type: 'questionnaire' | 'survey' | 'checklist' | 'test' | 'evaluation';
572
- preEnabled?: boolean;
573
- preContent?: string | Record<string, string>;
574
- postReviewEnabled?: boolean;
575
- postSummaryEnabled?: boolean;
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: string;
581
- description?: string;
1142
+ title: AXPMultiLanguageString;
1143
+ description?: AXPMultiLanguageString;
582
1144
  order: number;
583
- visibilityCondition?: string;
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
- visibilityCondition?: string;
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: AXPCategoryEntity<string>[];
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
- declare const assessmentCaseMock: {
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
- questionnaireId: string;
658
- questionnaire: {
659
- id: string;
660
- title: string;
661
- type: "questionnaire" | "survey" | "checklist" | "test" | "evaluation";
662
- };
663
- title: string;
664
- description: string;
665
- subjectRef: {
666
- type: string;
667
- id: string;
668
- title: string;
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
- declare class AXMAssessmentCaseDataSeeder implements AXPDataSeeder {
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<AXMAssessmentCaseDataSeeder, never>;
679
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMAssessmentCaseDataSeeder>;
1246
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMAutomationDataSeeder, never>;
1247
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMAutomationDataSeeder>;
680
1248
  }
681
1249
 
682
- declare const assessmentSessionMock: ({
683
- id: string;
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
- caseId: string;
731
- case: {
732
- id: string;
733
- title: string;
734
- };
735
- responderId: string;
736
- responder: {
737
- id: string;
738
- displayName: string;
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 AXMAssessmentSessionDataSeeder implements AXPDataSeeder {
1264
+ declare class AXMQuestionnaireCalculationDataSeeder implements AXPDataSeeder {
913
1265
  private storage;
914
1266
  seed(): Promise<void>;
915
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMAssessmentSessionDataSeeder, never>;
916
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMAssessmentSessionDataSeeder>;
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
- type: "String" | "Integer" | "Boolean" | "Expression";
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: string;
985
- description?: string;
1366
+ title: AXPMultiLanguageString;
1367
+ description?: AXPMultiLanguageString;
986
1368
  typeId: string;
987
1369
  parentId?: string | null;
988
- countryId?: string | null;
989
- stateId?: string | null;
990
- cityId?: string | null;
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: string;
1378
+ title: AXPMultiLanguageString;
1006
1379
  } | null;
1007
1380
  type: {
1008
1381
  id: string;
1009
- title: string;
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: string;
1059
- description: string;
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: string;
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: string;
1126
- description: string;
1521
+ title: AXPMultiLanguageString;
1522
+ description: AXPMultiLanguageString;
1127
1523
  categoryIds: string[];
1128
1524
  categories: {
1129
1525
  id: string;
1130
- title: string;
1526
+ title: AXPMultiLanguageString;
1131
1527
  }[];
1132
1528
  jobLevelId: string;
1133
1529
  jobLevel?: {
1134
1530
  id: string;
1135
- title: string;
1531
+ title: AXPMultiLanguageString;
1136
1532
  };
1137
1533
  jobDefinitionId?: string;
1138
1534
  jobDefinition?: {
1139
1535
  id: string;
1140
- title: string;
1536
+ title: AXPMultiLanguageString;
1141
1537
  };
1142
1538
  businessUnitId?: string;
1143
1539
  businessUnit?: {
1144
1540
  id: string;
1145
- title: string;
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: string;
1190
- description?: string;
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: string;
1205
- description: string;
1585
+ title: AXPMultiLanguageString;
1586
+ description: AXPMultiLanguageString;
1206
1587
  categoryIds: string[];
1207
1588
  categories: {
1208
1589
  id: string;
1209
- title: string;
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: any[];
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
- * Mock workflow definitions for testing and demonstration.
1481
- * Used by workflow-definition provider and entity list.
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
- declare const workflowDefinitionEntityMock: AXMWorkflowManagementWorkflowDefinitionEntityModel[];
1492
-
1493
- declare class AXCWorkflowDefinitionDataSeeder implements AXPDataSeeder {
1494
- private readonly storageService;
1495
- seed(): Promise<void>;
1496
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowDefinitionDataSeeder, never>;
1497
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowDefinitionDataSeeder>;
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
- * Activity categories with stable IDs (same pattern as metadata-category).
1502
- * Uses childrenCount & itemsCount for performance:
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 const activityCategoryMocks: AXPActivityCategory[];
1507
- /** @deprecated Use activityCategoryMocks. Kept for backward compatibility (seeder, etc.). */
1508
- declare const ACTIVITY_CATEGORIES: AXPActivityCategory[];
1509
-
1510
- declare class AXCActivityCategorySeeder implements AXPDataSeeder {
1511
- private readonly storageService;
1512
- seed(): Promise<void>;
1513
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCActivityCategorySeeder, never>;
1514
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCActivityCategorySeeder>;
1515
- }
1516
-
1517
- declare const ACTIVITY_DEFINITIONS: AXPActivityDefinition[];
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
- * Single workflow category for company: Staff.
1528
- * Workflow provider maps this category to Leave Request workflow.
1892
+ * Singleton instance of workflow execution database.
1529
1893
  */
1530
- declare const WORKFLOW_CATEGORIES: AXPWorkflowCategory[];
1894
+ declare const axWorkflowExecutionDB: AXCWorkflowExecutionDB;
1531
1895
 
1896
+ declare const AXC_WORKFLOW_EXECUTION_STORE: InjectionToken<AXCWorkflowExecutionStore>;
1532
1897
  /**
1533
- * Seeds workflow categories into entity storage.
1534
- * Module’s AXMWorkflowCategoryProvider reads from this key (same pattern as report categories).
1898
+ * Abstraction for workflow instance and bookmark persistence.
1899
+ * Implementations: Dexie (IndexedDB) or Firestore.
1535
1900
  */
1536
- declare class AXCWorkflowCategorySeeder implements AXPDataSeeder {
1537
- private readonly storageService;
1538
- seed(): Promise<void>;
1539
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowCategorySeeder, never>;
1540
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowCategorySeeder>;
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
- type extraFields$1 = {
1544
- recievedDate: Date;
1545
- };
1546
- declare class AXPTaskBoardProjectManagementTaskProvider extends AXPWorkflowTaskProvider<extraFields$1> {
1547
- private calendarService;
1548
- private list;
1549
- get name(): string;
1550
- get title(): string;
1551
- get icon(): string;
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
- * Retrieves a list of tasks, applying all provided filters and pagination.
1554
- * @param options Filtering and pagination options.
1555
- * @returns A promise resolving to the paginated list of tasks and the total count of filtered tasks.
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
- getTasks(options?: AXPTaskFilter): Promise<{
1558
- items: AXPTask<extraFields$1>[];
1559
- total: number;
1560
- }>;
1972
+ private getDefinition;
1561
1973
  /**
1562
- * Updates one or more tasks in the provider's list.
1563
- * This method finds each task by its ID and applies the new properties from the input.
1564
- * It also automatically recalculates the `allDay` flag based on the task's duration.
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
- updateTasks(tasksToUpdate: AXPTask<extraFields$1>[]): Promise<AXPTask<extraFields$1>[]>;
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
- * Retrieves a list of tasks, applying all provided filters and pagination.
1587
- * @param options Filtering and pagination options.
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
- getTasks(options?: AXPTaskFilter): Promise<{
1591
- items: AXPTask<extraFields>[];
1592
- total: number;
1593
- }>;
1983
+ private readonly TOKEN_EXPIRATION_MS;
1594
1984
  /**
1595
- * Updates one or more tasks in the provider's list.
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
- updateTasks(tasksToUpdate: AXPTask<extraFields>[]): Promise<AXPTask<extraFields>[]>;
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
- * Merge metadata groups from category hierarchy, preserving group structure
1717
- * Groups are merged by name, with fields from child categories taking precedence
1989
+ * Validate task token.
1990
+ * Returns true if token exists, not expired, and matches instanceId + activityId.
1718
1991
  */
1719
- private mergeMetadataGroupsFromHierarchy;
1720
- private collectInheritedMetadata;
1721
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCQueryCategoryMetadataInheritanceQuery, never>;
1722
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCQueryCategoryMetadataInheritanceQuery>;
1723
- }
1724
-
1725
- type MetadataCategoryMockDto = AXPCategoryEntity;
1726
- declare const metadataCategoryMocks: MetadataCategoryMockDto[];
1727
-
1728
- declare class AXCMetadataCategorySeeder implements AXPDataSeeder {
1729
- private readonly storageService;
1730
- seed(): Promise<void>;
1731
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCMetadataCategorySeeder, never>;
1732
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCMetadataCategorySeeder>;
1733
- }
1734
-
1735
- interface MetadataElectricityMockDto extends AXMMetaDataDefinitionEntityModel, AXPCategorizedEntityDto {
1736
- id: string;
1737
- name: string;
1738
- title: string;
1739
- defaultValue: string;
1740
- interface: AXPWidgetNode;
1741
- }
1742
- /** Single category for all electricity metadata (تجهیزات) */
1743
- declare const EQUIPMENT_CATEGORY_ID = "equipment";
1744
- declare const metadataElectricityCategoryMocks: AXPCategoryEntity<string>[];
1745
- declare const METADATA_ELECTRICITY_MOCK: MetadataElectricityMockDto[];
1746
-
1747
- declare class AXCMetaDataDefinitionElectricityDataSeeder implements AXPDataSeeder {
1748
- private storageService;
1749
- seed(): Promise<void>;
1750
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCMetaDataDefinitionElectricityDataSeeder, never>;
1751
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCMetaDataDefinitionElectricityDataSeeder>;
1752
- }
1753
-
1754
- declare class AXCMetadataElectricityCategorySeeder implements AXPDataSeeder {
1755
- private readonly storageService;
1756
- seed(): Promise<void>;
1757
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCMetadataElectricityCategorySeeder, never>;
1758
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCMetadataElectricityCategorySeeder>;
1759
- }
1760
-
1761
- /**
1762
- * Equipment categories built from equipment-type-meta-data-list.json.
1763
- * Each entry has typeCode, categoryId, and metaDataList (groups with fields).
1764
- */
1765
- type EquipmentCategoryMockDto = AXPCategoryEntity & {
1766
- icon?: string;
1767
- color?: string;
1768
- metaDataList?: AXMMetaDataSelectorValue;
1769
- };
1770
- declare const equipmentCategoryMocks: EquipmentCategoryMockDto[];
1771
-
1772
- declare class AXCEquipmentCategorySeeder implements AXPDataSeeder {
1773
- private readonly storageService;
1774
- seed(): Promise<void>;
1775
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCEquipmentCategorySeeder, never>;
1776
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCEquipmentCategorySeeder>;
1777
- }
1778
-
1779
- declare const equipmentMocks: AXMDataManagementEquipmentEntityModel[];
1780
-
1781
- declare class AXCEquipmentSeeder implements AXPDataSeeder {
1782
- private readonly storageService;
1783
- seed(): Promise<void>;
1784
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCEquipmentSeeder, never>;
1785
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCEquipmentSeeder>;
1786
- }
1787
-
1788
- interface AXMTag {
1789
- id: string;
1790
- title: string;
1791
- color: string;
1792
- description?: string;
1793
- scope: 'system' | 'tenant' | 'user';
1794
- createdAt?: Date;
1795
- }
1796
- declare const TAGS_MOCK: AXMTag[];
1797
-
1798
- declare class AXMTagDataSeeder implements AXPDataSeeder {
1799
- private storageService;
1800
- seed(): Promise<void>;
1801
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMTagDataSeeder, never>;
1802
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMTagDataSeeder>;
1803
- }
1804
-
1805
- declare function generateUserDashboard(user: (typeof mockUsers)[0]): AXMCommonDashboardEntityModel;
1806
- declare function createDashboardForUser(dashboardName: string, userId: string, widgetTypesInput: string[]): AXMCommonDashboardEntityModel;
1807
- declare function createAndSaveDashboardForUser(params: {
1808
- name: string;
1809
- userId: string;
1810
- widgetTypes: string[];
1811
- }, injector: Injector): Promise<string>;
1812
- declare const DASHBOARDS: AXMCommonDashboardEntityModel[];
1813
-
1814
- declare class AXPDashboardDataSeeder implements AXPDataSeeder {
1815
- private storageService;
1816
- seed(): Promise<void>;
1817
- static ɵfac: i0.ɵɵFactoryDeclaration<AXPDashboardDataSeeder, never>;
1818
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPDashboardDataSeeder>;
1819
- }
1820
-
1821
- declare const calendarMock: ({
1822
- id: string;
1823
- name: string;
1824
- title: string;
1825
- description: string;
1826
- calendarTypeId: string;
1827
- calendarType: {
1828
- id: string;
1829
- title: string;
1830
- };
1831
- parentId: null;
1832
- parent: null;
1833
- weekends: string[];
1834
- firstDayOfWeek: string;
1835
- workingHours: {
1836
- start: string;
1837
- end: string;
1838
- breakStart: string;
1839
- breakEnd: string;
1840
- };
1841
- timeZone: string;
1842
- isTemplate: boolean;
1843
- isActive: boolean;
1844
- order: number;
1845
- notes: string;
1846
- created: {
1847
- at: Date;
1848
- };
1849
- updated: {
1850
- at: Date;
1851
- };
1852
- scope?: undefined;
1853
- scopeEntityId?: undefined;
1854
- } | {
1855
- id: string;
1856
- name: string;
1857
- title: string;
1858
- description: string;
1859
- calendarTypeId: string;
1860
- calendarType: {
1861
- id: string;
1862
- title: string;
1863
- };
1864
- parentId: null;
1865
- parent: null;
1866
- scope: string;
1867
- scopeEntityId: null;
1868
- weekends: string[];
1869
- firstDayOfWeek: string;
1870
- workingHours: {
1871
- start: string;
1872
- end: string;
1873
- breakStart: string;
1874
- breakEnd: string;
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: _acorex_modules_calendar_management.AXMCalendarManagementCalendarEventTypeEntityModel;
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: _acorex_modules_calendar_management.AXMCalendarManagementCalendarEventTypeEntityModel;
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
- instanceId: string;
2464
- activityId: string;
2465
- type: string;
2466
- hash: string;
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
- * Mock implementation of AXPWorkflowEngine.
2496
- *
2497
- * Uses IndexedDB (via Dexie) to store workflow instance states.
2498
- *
2499
- * @example
2500
- * ```typescript
2501
- * // In module providers
2502
- * {
2503
- * provide: AXP_WORKFLOW_ENGINE,
2504
- * useClass: AXCWorkflowEngine,
2505
- * }
2506
- * ```
2507
- */
2508
- declare class AXCWorkflowEngine implements AXPWorkflowEngine {
2509
- private readonly db;
2510
- private readonly commandService;
2511
- private readonly entityStorageService;
2512
- private readonly activityDefinitionService;
2513
- private readonly workflowProviders;
2514
- private readonly expressionScopeService;
2515
- private readonly expressionEvaluator;
2516
- /**
2517
- * Get workflow definition by name using workflow providers.
2518
- * Falls back to entity storage query by name if providers fail.
2519
- *
2520
- * [AXCWorkflowRuntimeService] Uses workflow providers for consistency with Workflow Management UI.
2521
- */
2522
- private getDefinition;
2523
- /**
2524
- * Secure task token storage.
2525
- * Key: token (UUID)
2526
- * Value: { instanceId, activityId, expiresAt }
2527
- */
2528
- private taskTokens;
2529
- /**
2530
- * Token expiration time: 30 minutes
2531
- */
2532
- private readonly TOKEN_EXPIRATION_MS;
2533
- /**
2534
- * Generate secure, non-guessable task token (UUID).
2535
- */
2536
- private generateTaskToken;
2537
- /**
2538
- * Validate task token.
2539
- * Returns true if token exists, not expired, and matches instanceId + activityId.
2540
- */
2541
- private validateTaskToken;
2542
- /**
2543
- * Remove task token after completion to prevent replay.
2544
- */
2545
- private removeTaskToken;
2546
- /**
2547
- * Cleanup expired tokens (lightweight).
2548
- */
2549
- private cleanupExpiredTokens;
2550
- /**
2551
- * Start a new workflow instance.
2552
- * Creates a workflow instance and stores it in IndexedDB.
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
- * Update instance state in instance and save to IndexedDB.
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 updateInstanceFromState;
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
- * Get workflow instance from IndexedDB.
3387
+ * Generates a unique cache key based on the lock request parameters.
2703
3388
  */
2704
- private getInstance;
3389
+ private getCacheKey;
2705
3390
  /**
2706
- * Update workflow instance in IndexedDB.
3391
+ * Starts or restarts the interval that clears the cache.
2707
3392
  */
2708
- private updateInstance;
3393
+ private startCacheTimer;
2709
3394
  /**
2710
- * Complete a frontend activity and continue workflow execution.
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
- frontActivtyComplete(request: AXPFrontActivityCompleteRequest): Promise<AXPFrontActivityCompleteResponse>;
2726
- static ɵfac: i0.ɵɵFactoryDeclaration<AXCWorkflowEngine, never>;
2727
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCWorkflowEngine>;
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 db;
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
- * Middleware that automatically tracks audit information for entity operations.
2846
- *
2847
- * Tracks:
2848
- * - CREATE: Sets created and updated timestamps with user info, initializes stateInfo and ownershipInfo
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 auditLoggerMiddleware: AXPEntityStorageMiddleware;
3674
+ declare const entityValidationMiddleware: AXPEntityStorageMiddleware;
2856
3675
 
2857
3676
  /**
2858
- * Category Resolver Middleware
2859
- *
2860
- * - On create/update: resolves categoryIds to full category objects with ancestor chain
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 categoryResolverMiddleware: AXPEntityStorageMiddleware;
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
- declare const historyLoggerMiddleware: AXPEntityStorageMiddleware;
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, AXCContactManagementMockModule, AXCContentManagementMockModule, AXCConversationMockModule, AXCCustomerManagementMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDexieEntityStorageService, AXCDocumentManagementMockModule, AXCEditionDataSeeder, AXCEquipmentCategorySeeder, AXCEquipmentSeeder, AXCFileStorageService, AXCFinancialCoreMockModule, AXCFormTemplateManagementMockModule, AXCGoogleStrategyMock, AXCHealthCoreMockModule, AXCHelpDeskMockModule, AXCHumanCapitalManagementMockModule, AXCIdentifierManagementMockModule, AXCImageCaptchaChallengeProviderMock, AXCLearningManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCMeasurementCoreMockModule, AXCMeetingManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMetaDataDefinitionElectricityDataSeeder, AXCMetadataCategorySeeder, AXCMetadataElectricityCategorySeeder, AXCMiddlewaresModule, AXCMockCaptchaChallengeComponent, AXCMockEntityLogListener, AXCMockModule, AXCMockShowMetaDataFormPopupCommand, AXCNotificationManagementMockModule, AXCOrderManagementMockModule, AXCOrganizationManagementMockModule, AXCPersonCoreMockModule, AXCPlatformManagementMockModule, AXCProcurementManagementMockModule, AXCProductCatalogMockModule, AXCProjectManagementMockModule, AXCQueryCategoryMetadataInheritanceQuery, AXCReportManagementMockModule, AXCSecurityManagementMockModule, AXCSubscriptionManagementMockModule, AXCSupplierManagementMockModule, AXCTaskManagementMockModule, AXCTenantManagementMockModule, AXCTenantSeeder, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowManagementMockModule, AXMAiResponderService, AXMAssessmentCaseDataSeeder, AXMAssessmentSessionDataSeeder, AXMBusinessUnitDataSeeder, AXMCalendarEventTypeSeeder, AXMEmployeeDataSeeder, AXMEmploymentTypeDataSeeder, AXMFormDataSourcesProvider, AXMJobDefinitionDataSeeder, AXMJobLevelDataSeeder, AXMLeaveRequestDataSeeder, AXMMeetingDataSeeder, AXMMeetingFilesDataSeeder, AXMMeetingParticipantDataSeeder, AXMMeetingRoleTypeDataSeeder, AXMMeetingSessionDataSeeder, AXMMeetingTypeDataSeeder, AXMMeetingTypeFileTemplateDataSeeder, AXMPositionAssignmentDataSeeder, AXMPositionDataSeeder, AXMQuestionBankItemCategoryDataSeeder, AXMQuestionBankItemDataSeeder, AXMQuestionnaireCategoryDataSeeder, AXMQuestionnaireDataSeeder, AXMResponsibilityDataSeeder, AXMTagDataSeeder, AXMTeamDataSeeder, AXMTeamMemberDataSeeder, AXMTeamMemberRoleDataSeeder, AXPDashboardDataSeeder, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, AXPTaskBoardPlatformManagementTaskProvider, AXPTaskBoardProjectManagementTaskProvider, AXVChangeType, BUSINESS_UNITS_MOCK, COSTMANAGER_ENTERPRISE, COSTMANAGER_PROFESSIONAL, COSTMANAGER_STANDARD, CRM_ENTERPRISE, DASHBOARDS, EDITIONS, EMPLOYEES_MOCK, EMPLOYMENT_TYPES_MOCK, EQUIPMENT_CATEGORY_ID, FINANCE_BASIC, FINANCE_ENTERPRISE, FINANCE_PRO, HR_ENTERPRISE, JOB_DEFINITIONS_CATEGORY_MOCK, JOB_DEFINITIONS_MOCK, JOB_LEVELS_MOCK, LASER_PLUMBING_TENANT_ID, LEAVE_REQUESTS_MOCK, METADATA_ELECTRICITY_MOCK, ORDERING_BASIC, ORDERING_ENTERPRISE, ORDERING_STANDARD, OWNERSHIP_FILTER_BYPASS, PLATFORM_CONSOLE, PLATFORM_TENANT_ID, POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK, POSITION_ASSIGNMENTS_MOCK, QUESTIONNAIRE_CATEGORY_MOCK, QUESTION_BANK_ITEM_CATEGORY_MOCK, RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK, 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, TOKENS, VISIBILITY_FILTER_BYPASS, WORKFLOW_CATEGORIES, activityCategoryMocks, assessmentCaseMock, assessmentSessionMock, auditLoggerMiddleware, avatarInterface, axVersionDB, axWorkflowExecutionDB, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, categoryResolverMiddleware, checkboxInterface, childCountMiddleware, colorInterface, computeDiff, contactInterface, createAndSaveDashboardForUser, createDashboardForUser, createFileCastMiddleware, dateInterface, dateTimeInterface, descriptionInterface, emailInterface, equipmentCategoryMocks, equipmentMocks, fileUploaderInterface, findEmployeeById, generateUserDashboard, groupOrderItemCalculatorMiddleware, historyLoggerMiddleware, identifierCommitMiddleware, imageInterface, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, metadataCategoryMocks, metadataElectricityCategoryMocks, mockRoleDefinitions, mockUsers, multipleChoiceInterface, multipleSelectInterface, normalizeAnyFileArrayForView, normalizeSnapshotFileFieldsForView, numberInterface, participantIds, passwordInterface, personIdentifierTypeMock, personIds, personLegalIds, personMock, personNaturalIds, personRelationshipTypeMock, phoneInterface, primaryMiddleware, qrcodeInterface, questionBankItemMock, questionnaireMock, ratingInterface, richTextInterface, scaleInterface, selectInterface, selectionListInterface, signatureInterface, signatureLoaderMiddleware, tagInterface, tenantMocks, textAreaInterface, textInterface, timeDurationInterface, titleInterface, toUiRows, toggleInterface, urlInterface, versionInterface, visibilityFilterMiddleware, workflowDefinitionEntityMock, workflowDefinitionIds, workflowDefinitionMock, yesNoInterface };
3065
- export type { AXCBookmarkEntity, AXCBusinessUnitMockDto, AXCLeaveRequestMockDto, AXCPositionAssignmentMockDto, AXCTeamMemberMockDto, AXCTeamMemberRoleMockDto, AXCTeamMockDto, AXMTag, AXPLogRow, AXPRuleRow, AXPSeqRow, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, CategoryMetadataInheritanceGroupResult, CategoryMetadataInheritanceQueryParams, CategoryMetadataInheritanceResult, JobDefinitionMockDto, JobLevelMockDto, MetadataElectricityMockDto, MockUserPassCredentials, PositionMockDto, QuestionBankItemMockDto, QuestionnaireMockDto, ResponsibilityMockDto, ShowMetaDataFormPopupMockInput, Task, TaskStatus, TaskTemplate, TaskType, UIDiffRow, VersionedFileInfo };
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 };