@acorex/connectivity 21.0.0-next.50 → 21.0.0-next.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs → acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs} +72 -45
- package/fesm2022/{acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs.map → acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs → acorex-connectivity-mock-assign-to-manager.activity-DcsMxP4h.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs.map → acorex-connectivity-mock-assign-to-manager.activity-DcsMxP4h.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs → acorex-connectivity-mock-chat-generate-image.command-ihYQR4Wt.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs.map → acorex-connectivity-mock-chat-generate-image.command-ihYQR4Wt.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs → acorex-connectivity-mock-chat-synthesize-speech.command-HWKR08gj.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs.map → acorex-connectivity-mock-chat-synthesize-speech.command-HWKR08gj.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs → acorex-connectivity-mock-chat-transcribe-speech.command-BrFX59uP.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs.map → acorex-connectivity-mock-chat-transcribe-speech.command-BrFX59uP.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs → acorex-connectivity-mock-user-roles-for-list-column.query-Ch--rL7K.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs.map → acorex-connectivity-mock-user-roles-for-list-column.query-Ch--rL7K.mjs.map} +1 -1
- package/fesm2022/acorex-connectivity-mock.mjs +1 -1
- package/package.json +2 -2
- package/types/acorex-connectivity-mock.d.ts +8 -2
|
@@ -5,7 +5,7 @@ import { RootConfig as RootConfig$2 } from '@acorex/modules/organization-managem
|
|
|
5
5
|
import { RootConfig as RootConfig$1 } from '@acorex/modules/person-core';
|
|
6
6
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
7
7
|
import { AXPEntityStorageService } from '@acorex/platform/layout/entity';
|
|
8
|
-
import { c as axcSyncSingleEmployeeDenormalizedOrgFields } from './acorex-connectivity-mock-acorex-connectivity-mock-
|
|
8
|
+
import { c as axcSyncSingleEmployeeDenormalizedOrgFields } from './acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs';
|
|
9
9
|
|
|
10
10
|
const EMPLOYEE_ENTITY = RootConfig.entities.employee.source;
|
|
11
11
|
const PERSON_ENTITY = `${RootConfig$1.module.name}.${RootConfig$1.entities.person.name}`;
|
|
@@ -285,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
285
285
|
}] });
|
|
286
286
|
|
|
287
287
|
export { AssignToManagerActivity };
|
|
288
|
-
//# sourceMappingURL=acorex-connectivity-mock-assign-to-manager.activity-
|
|
288
|
+
//# sourceMappingURL=acorex-connectivity-mock-assign-to-manager.activity-DcsMxP4h.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs","sources":["../../../../libs/connectivity/mock/src/lib/workflow-management/activities/assign-to-manager.activity.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { RootConfig as HcmRootConfig } from '@acorex/modules/human-capital-management';\nimport { RootConfig as OrgRootConfig } from '@acorex/modules/organization-management';\nimport { RootConfig as PersonRootConfig } from '@acorex/modules/person-core';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { axcSyncSingleEmployeeDenormalizedOrgFields } from '../../organization-management/org-chart/employee-manager-resolution';\n\nconst EMPLOYEE_ENTITY = HcmRootConfig.entities.employee.source;\nconst PERSON_ENTITY = `${PersonRootConfig.module.name}.${PersonRootConfig.entities.person.name}`;\n\n//#region ---- Helpers ----\n\n/**\n * Resolves a persisted FK or lookup snapshot to a scalar id (avoids `String([object Object])` from expanded rows).\n */\nfunction axcScalarEntityId(value: unknown): string | null {\n if (value == null || value === '') {\n return null;\n }\n if (typeof value === 'string' || typeof value === 'number') {\n const s = String(value).trim();\n return s.length > 0 ? s : null;\n }\n if (typeof value === 'object' && value !== null && 'id' in value) {\n const id = (value as { id: unknown }).id;\n if (id == null || id === '') {\n return null;\n }\n const s = String(id).trim();\n return s.length > 0 ? s : null;\n }\n return null;\n}\n\n/** Non-empty trimmed string or undefined (for optional workflow command inputs). */\nfunction axcOptionalTrimmedString(raw: unknown): string | undefined {\n if (raw == null || raw === '') {\n return undefined;\n }\n const s = typeof raw === 'string' ? raw.trim() : String(raw).trim();\n return s.length > 0 ? s : undefined;\n}\n\ntype EmployeeOutputShape = { displayName: string; [key: string]: unknown };\n\n/**\n * Reads subject employee FK from any aggregate row (leave request, lifecycle process, etc.).\n */\nfunction axcExtractSubjectEmployeeIdFromRecord(record: Record<string, unknown>): {\n subjectEmployeeId: string | null;\n nestedEmployeeHint: EmployeeOutputShape | null;\n nameHint: string | undefined;\n} {\n const scalarFields = [\n 'employeeId',\n 'assigneeEmployeeId',\n 'subjectEmployeeId',\n 'requesterEmployeeId',\n 'ownerEmployeeId',\n ] as const;\n\n for (const field of scalarFields) {\n const id = axcScalarEntityId(record[field]);\n if (id) {\n return { subjectEmployeeId: id, nestedEmployeeHint: null, nameHint: undefined };\n }\n }\n\n const nestedFields = ['employee', 'assignee', 'subject'] as const;\n for (const field of nestedFields) {\n const nested = record[field];\n const id = axcScalarEntityId(nested);\n if (!id) {\n continue;\n }\n let hint: EmployeeOutputShape | null = null;\n if (nested !== null && typeof nested === 'object') {\n const o = nested as {\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n };\n hint = {\n displayName: o.person?.displayName ?? o.displayName ?? '',\n ...o,\n };\n }\n return { subjectEmployeeId: id, nestedEmployeeHint: hint, nameHint: undefined };\n }\n\n const nameHintRaw = record['employeeName'];\n const nameHint =\n typeof nameHintRaw === 'string' && nameHintRaw.trim() !== ''\n ? nameHintRaw.trim()\n : typeof nameHintRaw === 'object' &&\n nameHintRaw !== null &&\n 'en-US' in (nameHintRaw as object)\n ? String((nameHintRaw as { 'en-US'?: unknown })['en-US'] ?? '').trim() || undefined\n : undefined;\n\n return {\n subjectEmployeeId: null,\n nestedEmployeeHint: null,\n nameHint,\n };\n}\n\n//#endregion\n\nexport interface AssignToManagerInput {\n /** When set (scalar or `{ id }`), resolves manager for this employee (highest precedence). */\n employeeId?: unknown;\n /**\n * Full entity source key for the workflow aggregate (e.g. `HumanCapitalManagement.LeaveRequest`).\n * Used with `sourceRecordId` when `employeeId` is not set.\n */\n sourceEntity?: unknown;\n /** Primary key of the record under `sourceEntity`. */\n sourceRecordId?: unknown;\n /** When org manager cannot be resolved, this platform user id is returned as `managerId` (e.g. initiator for review fallback). */\n fallbackUserId?: unknown;\n}\n\nexport interface AssignToManagerOutput {\n /** Manager's login **user** id — use for `assignedUserIds` / `candidateUserIds`. */\n managerId: string | null;\n /** HumanCapitalManagement.Employee id for the line manager when resolved from org chart. */\n managerEmployeeId: string | null;\n /** Resolved manager employee row (displayName + stored fields). */\n manager: EmployeeOutputShape;\n /** Subject employee under evaluation (whose manager was resolved). */\n employee: EmployeeOutputShape;\n}\n\n/**\n * Assign To Manager Activity (Backend - Mock)\n *\n * Resolves the line-manager **employee** from org chart storage, then the manager's **login user id**\n * (`Employee.userId` or `Person.userId`). Works for any workflow: pass `employeeId`, or `sourceEntity` + `sourceRecordId`\n * for an aggregate that carries an employee FK / nested employee.\n *\n * Execution Mode: backend\n * Activity Type: workflow-activity:assign-to-manager\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AssignToManagerActivity implements AXPCommand<AssignToManagerInput, AssignToManagerOutput> {\n private readonly entityStorage = inject(AXPEntityStorageService);\n private readonly sessionService = inject(AXPSessionService);\n\n //#region ---- Employee / manager resolution ----\n\n /**\n * Resolves login user id for an employee row (storage may omit `userId` while Person still links the account).\n */\n private async resolveLoginUserIdForEmployeeRow(\n managerEmp: { userId?: string | null; personId?: string | null } | null,\n ): Promise<string | null> {\n const direct =\n managerEmp?.userId != null && String(managerEmp.userId).trim() !== '' ? String(managerEmp.userId).trim() : null;\n if (direct) {\n return direct;\n }\n const personId =\n managerEmp?.personId != null && String(managerEmp.personId).trim() !== ''\n ? String(managerEmp.personId).trim()\n : null;\n if (!personId) {\n return null;\n }\n try {\n const person = (await this.entityStorage.getOne(PERSON_ENTITY, personId)) as { userId?: string | null } | null;\n const uid =\n person?.userId != null && String(person.userId).trim() !== '' ? String(person.userId).trim() : null;\n return uid;\n } catch {\n return null;\n }\n }\n\n private mapEmployeeRowToOutput(\n emp:\n | ({\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n } & { id?: string })\n | null,\n ): EmployeeOutputShape {\n if (!emp) {\n return { displayName: '' };\n }\n return {\n displayName: emp.person?.displayName ?? emp.displayName ?? '',\n ...emp,\n };\n }\n\n /**\n * Syncs denormalized manager on the subject employee, loads manager employee, returns ids + row shape.\n */\n private async resolveManagerDetails(employeeId: string): Promise<{\n managerUserId: string | null;\n managerEmployeeId: string | null;\n manager: EmployeeOutputShape;\n }> {\n await axcSyncSingleEmployeeDenormalizedOrgFields(\n this.entityStorage,\n OrgRootConfig,\n HcmRootConfig,\n String(employeeId),\n true,\n );\n\n const emp = (await this.entityStorage.getOne(EMPLOYEE_ENTITY, String(employeeId))) as {\n managerId?: string | null;\n } | null;\n\n const managerEmployeeIdRaw = emp?.managerId != null ? String(emp.managerId).trim() : '';\n if (!managerEmployeeIdRaw) {\n return {\n managerUserId: null,\n managerEmployeeId: null,\n manager: { displayName: '' },\n };\n }\n\n const managerEmp = (await this.entityStorage.getOne(EMPLOYEE_ENTITY, managerEmployeeIdRaw)) as {\n userId?: string | null;\n personId?: string | null;\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n } | null;\n\n const managerUserId = await this.resolveLoginUserIdForEmployeeRow(managerEmp);\n\n return {\n managerUserId,\n managerEmployeeId: managerEmployeeIdRaw,\n manager: this.mapEmployeeRowToOutput(managerEmp),\n };\n }\n\n private async findEmployeeIdByUserId(userId: string): Promise<string | null> {\n try {\n const result = await this.entityStorage.query(EMPLOYEE_ENTITY, {\n skip: 0,\n take: 1,\n filter: {\n field: 'userId',\n operator: { type: 'equal' },\n value: userId,\n },\n });\n const row = result.items?.[0] as { id?: string } | undefined;\n return row?.id != null ? String(row.id) : null;\n } catch {\n return null;\n }\n }\n\n private async loadSubjectEmployeeOutput(subjectEmployeeId: string): Promise<EmployeeOutputShape> {\n try {\n const emp = (await this.entityStorage.getOne(EMPLOYEE_ENTITY, subjectEmployeeId)) as {\n managerId?: string;\n userId?: string;\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n } | null;\n return emp ? this.mapEmployeeRowToOutput(emp) : { displayName: '' };\n } catch {\n return { displayName: '' };\n }\n }\n\n //#endregion\n\n async execute(input: AssignToManagerInput): Promise<AXPExecuteCommandResult<AssignToManagerOutput>> {\n const sourceEntity = axcOptionalTrimmedString(input.sourceEntity);\n const sourceRecordId = axcOptionalTrimmedString(input.sourceRecordId);\n\n let managerId: string | null = null;\n let managerEmployeeId: string | null = null;\n let manager: EmployeeOutputShape = { displayName: '' };\n let employee: EmployeeOutputShape = { displayName: '' };\n\n let subjectEmployeeId: string | null = null;\n\n const employeeIdFromInput = axcScalarEntityId(input.employeeId);\n\n const applyManagerResolution = async (empId: string): Promise<void> => {\n subjectEmployeeId = empId;\n employee = await this.loadSubjectEmployeeOutput(empId);\n const details = await this.resolveManagerDetails(empId);\n managerId = details.managerUserId;\n managerEmployeeId = details.managerEmployeeId;\n manager = details.manager;\n };\n\n if (employeeIdFromInput) {\n try {\n await applyManagerResolution(employeeIdFromInput);\n } catch {\n // keep defaults\n }\n } else if (sourceEntity && sourceRecordId) {\n try {\n const record = (await this.entityStorage.getOne(sourceEntity, sourceRecordId)) as Record<string, unknown> | null;\n if (record) {\n const { subjectEmployeeId: fromRecord, nestedEmployeeHint, nameHint } =\n axcExtractSubjectEmployeeIdFromRecord(record);\n\n if (fromRecord) {\n await applyManagerResolution(fromRecord);\n if (!employee.displayName && nestedEmployeeHint) {\n employee = {\n ...nestedEmployeeHint,\n displayName: nestedEmployeeHint.displayName || employee.displayName,\n };\n }\n }\n\n if (!employee.displayName && nameHint) {\n employee = {\n ...employee,\n displayName: nameHint,\n };\n }\n }\n } catch {\n // keep defaults\n }\n }\n\n const sessionUserId = this.sessionService.user?.id;\n if (managerId == null && sessionUserId && !subjectEmployeeId) {\n const initiatorEmployeeId = await this.findEmployeeIdByUserId(String(sessionUserId));\n if (initiatorEmployeeId) {\n try {\n await applyManagerResolution(initiatorEmployeeId);\n } catch {\n // ignore\n }\n }\n }\n\n const fallbackUserId = axcScalarEntityId(input.fallbackUserId);\n if (managerId == null && fallbackUserId) {\n managerId = fallbackUserId;\n }\n\n console.log('[WFM-LifecycleTaskTrace] assign-to-manager', {\n subjectEmployeeId,\n managerEmployeeId,\n managerId,\n fallbackUserId: fallbackUserId ?? null,\n usedSourceRecordPath: !!(sourceEntity && sourceRecordId) && !employeeIdFromInput,\n sourceEntity: sourceEntity ?? null,\n sourceRecordId: sourceRecordId ?? null,\n });\n\n return {\n success: true,\n data: {\n managerId,\n managerEmployeeId,\n manager,\n employee,\n },\n metadata: {\n outcome: 'done',\n },\n };\n }\n}\n"],"names":["HcmRootConfig","PersonRootConfig","OrgRootConfig"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-connectivity-mock-assign-to-manager.activity-DcsMxP4h.mjs","sources":["../../../../libs/connectivity/mock/src/lib/workflow-management/activities/assign-to-manager.activity.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { RootConfig as HcmRootConfig } from '@acorex/modules/human-capital-management';\nimport { RootConfig as OrgRootConfig } from '@acorex/modules/organization-management';\nimport { RootConfig as PersonRootConfig } from '@acorex/modules/person-core';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { axcSyncSingleEmployeeDenormalizedOrgFields } from '../../organization-management/org-chart/employee-manager-resolution';\n\nconst EMPLOYEE_ENTITY = HcmRootConfig.entities.employee.source;\nconst PERSON_ENTITY = `${PersonRootConfig.module.name}.${PersonRootConfig.entities.person.name}`;\n\n//#region ---- Helpers ----\n\n/**\n * Resolves a persisted FK or lookup snapshot to a scalar id (avoids `String([object Object])` from expanded rows).\n */\nfunction axcScalarEntityId(value: unknown): string | null {\n if (value == null || value === '') {\n return null;\n }\n if (typeof value === 'string' || typeof value === 'number') {\n const s = String(value).trim();\n return s.length > 0 ? s : null;\n }\n if (typeof value === 'object' && value !== null && 'id' in value) {\n const id = (value as { id: unknown }).id;\n if (id == null || id === '') {\n return null;\n }\n const s = String(id).trim();\n return s.length > 0 ? s : null;\n }\n return null;\n}\n\n/** Non-empty trimmed string or undefined (for optional workflow command inputs). */\nfunction axcOptionalTrimmedString(raw: unknown): string | undefined {\n if (raw == null || raw === '') {\n return undefined;\n }\n const s = typeof raw === 'string' ? raw.trim() : String(raw).trim();\n return s.length > 0 ? s : undefined;\n}\n\ntype EmployeeOutputShape = { displayName: string; [key: string]: unknown };\n\n/**\n * Reads subject employee FK from any aggregate row (leave request, lifecycle process, etc.).\n */\nfunction axcExtractSubjectEmployeeIdFromRecord(record: Record<string, unknown>): {\n subjectEmployeeId: string | null;\n nestedEmployeeHint: EmployeeOutputShape | null;\n nameHint: string | undefined;\n} {\n const scalarFields = [\n 'employeeId',\n 'assigneeEmployeeId',\n 'subjectEmployeeId',\n 'requesterEmployeeId',\n 'ownerEmployeeId',\n ] as const;\n\n for (const field of scalarFields) {\n const id = axcScalarEntityId(record[field]);\n if (id) {\n return { subjectEmployeeId: id, nestedEmployeeHint: null, nameHint: undefined };\n }\n }\n\n const nestedFields = ['employee', 'assignee', 'subject'] as const;\n for (const field of nestedFields) {\n const nested = record[field];\n const id = axcScalarEntityId(nested);\n if (!id) {\n continue;\n }\n let hint: EmployeeOutputShape | null = null;\n if (nested !== null && typeof nested === 'object') {\n const o = nested as {\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n };\n hint = {\n displayName: o.person?.displayName ?? o.displayName ?? '',\n ...o,\n };\n }\n return { subjectEmployeeId: id, nestedEmployeeHint: hint, nameHint: undefined };\n }\n\n const nameHintRaw = record['employeeName'];\n const nameHint =\n typeof nameHintRaw === 'string' && nameHintRaw.trim() !== ''\n ? nameHintRaw.trim()\n : typeof nameHintRaw === 'object' &&\n nameHintRaw !== null &&\n 'en-US' in (nameHintRaw as object)\n ? String((nameHintRaw as { 'en-US'?: unknown })['en-US'] ?? '').trim() || undefined\n : undefined;\n\n return {\n subjectEmployeeId: null,\n nestedEmployeeHint: null,\n nameHint,\n };\n}\n\n//#endregion\n\nexport interface AssignToManagerInput {\n /** When set (scalar or `{ id }`), resolves manager for this employee (highest precedence). */\n employeeId?: unknown;\n /**\n * Full entity source key for the workflow aggregate (e.g. `HumanCapitalManagement.LeaveRequest`).\n * Used with `sourceRecordId` when `employeeId` is not set.\n */\n sourceEntity?: unknown;\n /** Primary key of the record under `sourceEntity`. */\n sourceRecordId?: unknown;\n /** When org manager cannot be resolved, this platform user id is returned as `managerId` (e.g. initiator for review fallback). */\n fallbackUserId?: unknown;\n}\n\nexport interface AssignToManagerOutput {\n /** Manager's login **user** id — use for `assignedUserIds` / `candidateUserIds`. */\n managerId: string | null;\n /** HumanCapitalManagement.Employee id for the line manager when resolved from org chart. */\n managerEmployeeId: string | null;\n /** Resolved manager employee row (displayName + stored fields). */\n manager: EmployeeOutputShape;\n /** Subject employee under evaluation (whose manager was resolved). */\n employee: EmployeeOutputShape;\n}\n\n/**\n * Assign To Manager Activity (Backend - Mock)\n *\n * Resolves the line-manager **employee** from org chart storage, then the manager's **login user id**\n * (`Employee.userId` or `Person.userId`). Works for any workflow: pass `employeeId`, or `sourceEntity` + `sourceRecordId`\n * for an aggregate that carries an employee FK / nested employee.\n *\n * Execution Mode: backend\n * Activity Type: workflow-activity:assign-to-manager\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AssignToManagerActivity implements AXPCommand<AssignToManagerInput, AssignToManagerOutput> {\n private readonly entityStorage = inject(AXPEntityStorageService);\n private readonly sessionService = inject(AXPSessionService);\n\n //#region ---- Employee / manager resolution ----\n\n /**\n * Resolves login user id for an employee row (storage may omit `userId` while Person still links the account).\n */\n private async resolveLoginUserIdForEmployeeRow(\n managerEmp: { userId?: string | null; personId?: string | null } | null,\n ): Promise<string | null> {\n const direct =\n managerEmp?.userId != null && String(managerEmp.userId).trim() !== '' ? String(managerEmp.userId).trim() : null;\n if (direct) {\n return direct;\n }\n const personId =\n managerEmp?.personId != null && String(managerEmp.personId).trim() !== ''\n ? String(managerEmp.personId).trim()\n : null;\n if (!personId) {\n return null;\n }\n try {\n const person = (await this.entityStorage.getOne(PERSON_ENTITY, personId)) as { userId?: string | null } | null;\n const uid =\n person?.userId != null && String(person.userId).trim() !== '' ? String(person.userId).trim() : null;\n return uid;\n } catch {\n return null;\n }\n }\n\n private mapEmployeeRowToOutput(\n emp:\n | ({\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n } & { id?: string })\n | null,\n ): EmployeeOutputShape {\n if (!emp) {\n return { displayName: '' };\n }\n return {\n displayName: emp.person?.displayName ?? emp.displayName ?? '',\n ...emp,\n };\n }\n\n /**\n * Syncs denormalized manager on the subject employee, loads manager employee, returns ids + row shape.\n */\n private async resolveManagerDetails(employeeId: string): Promise<{\n managerUserId: string | null;\n managerEmployeeId: string | null;\n manager: EmployeeOutputShape;\n }> {\n await axcSyncSingleEmployeeDenormalizedOrgFields(\n this.entityStorage,\n OrgRootConfig,\n HcmRootConfig,\n String(employeeId),\n true,\n );\n\n const emp = (await this.entityStorage.getOne(EMPLOYEE_ENTITY, String(employeeId))) as {\n managerId?: string | null;\n } | null;\n\n const managerEmployeeIdRaw = emp?.managerId != null ? String(emp.managerId).trim() : '';\n if (!managerEmployeeIdRaw) {\n return {\n managerUserId: null,\n managerEmployeeId: null,\n manager: { displayName: '' },\n };\n }\n\n const managerEmp = (await this.entityStorage.getOne(EMPLOYEE_ENTITY, managerEmployeeIdRaw)) as {\n userId?: string | null;\n personId?: string | null;\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n } | null;\n\n const managerUserId = await this.resolveLoginUserIdForEmployeeRow(managerEmp);\n\n return {\n managerUserId,\n managerEmployeeId: managerEmployeeIdRaw,\n manager: this.mapEmployeeRowToOutput(managerEmp),\n };\n }\n\n private async findEmployeeIdByUserId(userId: string): Promise<string | null> {\n try {\n const result = await this.entityStorage.query(EMPLOYEE_ENTITY, {\n skip: 0,\n take: 1,\n filter: {\n field: 'userId',\n operator: { type: 'equal' },\n value: userId,\n },\n });\n const row = result.items?.[0] as { id?: string } | undefined;\n return row?.id != null ? String(row.id) : null;\n } catch {\n return null;\n }\n }\n\n private async loadSubjectEmployeeOutput(subjectEmployeeId: string): Promise<EmployeeOutputShape> {\n try {\n const emp = (await this.entityStorage.getOne(EMPLOYEE_ENTITY, subjectEmployeeId)) as {\n managerId?: string;\n userId?: string;\n displayName?: string;\n person?: { displayName?: string };\n [key: string]: unknown;\n } | null;\n return emp ? this.mapEmployeeRowToOutput(emp) : { displayName: '' };\n } catch {\n return { displayName: '' };\n }\n }\n\n //#endregion\n\n async execute(input: AssignToManagerInput): Promise<AXPExecuteCommandResult<AssignToManagerOutput>> {\n const sourceEntity = axcOptionalTrimmedString(input.sourceEntity);\n const sourceRecordId = axcOptionalTrimmedString(input.sourceRecordId);\n\n let managerId: string | null = null;\n let managerEmployeeId: string | null = null;\n let manager: EmployeeOutputShape = { displayName: '' };\n let employee: EmployeeOutputShape = { displayName: '' };\n\n let subjectEmployeeId: string | null = null;\n\n const employeeIdFromInput = axcScalarEntityId(input.employeeId);\n\n const applyManagerResolution = async (empId: string): Promise<void> => {\n subjectEmployeeId = empId;\n employee = await this.loadSubjectEmployeeOutput(empId);\n const details = await this.resolveManagerDetails(empId);\n managerId = details.managerUserId;\n managerEmployeeId = details.managerEmployeeId;\n manager = details.manager;\n };\n\n if (employeeIdFromInput) {\n try {\n await applyManagerResolution(employeeIdFromInput);\n } catch {\n // keep defaults\n }\n } else if (sourceEntity && sourceRecordId) {\n try {\n const record = (await this.entityStorage.getOne(sourceEntity, sourceRecordId)) as Record<string, unknown> | null;\n if (record) {\n const { subjectEmployeeId: fromRecord, nestedEmployeeHint, nameHint } =\n axcExtractSubjectEmployeeIdFromRecord(record);\n\n if (fromRecord) {\n await applyManagerResolution(fromRecord);\n if (!employee.displayName && nestedEmployeeHint) {\n employee = {\n ...nestedEmployeeHint,\n displayName: nestedEmployeeHint.displayName || employee.displayName,\n };\n }\n }\n\n if (!employee.displayName && nameHint) {\n employee = {\n ...employee,\n displayName: nameHint,\n };\n }\n }\n } catch {\n // keep defaults\n }\n }\n\n const sessionUserId = this.sessionService.user?.id;\n if (managerId == null && sessionUserId && !subjectEmployeeId) {\n const initiatorEmployeeId = await this.findEmployeeIdByUserId(String(sessionUserId));\n if (initiatorEmployeeId) {\n try {\n await applyManagerResolution(initiatorEmployeeId);\n } catch {\n // ignore\n }\n }\n }\n\n const fallbackUserId = axcScalarEntityId(input.fallbackUserId);\n if (managerId == null && fallbackUserId) {\n managerId = fallbackUserId;\n }\n\n console.log('[WFM-LifecycleTaskTrace] assign-to-manager', {\n subjectEmployeeId,\n managerEmployeeId,\n managerId,\n fallbackUserId: fallbackUserId ?? null,\n usedSourceRecordPath: !!(sourceEntity && sourceRecordId) && !employeeIdFromInput,\n sourceEntity: sourceEntity ?? null,\n sourceRecordId: sourceRecordId ?? null,\n });\n\n return {\n success: true,\n data: {\n managerId,\n managerEmployeeId,\n manager,\n employee,\n },\n metadata: {\n outcome: 'done',\n },\n };\n }\n}\n"],"names":["HcmRootConfig","PersonRootConfig","OrgRootConfig"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
import { inject, Injectable } from '@angular/core';
|
|
4
4
|
import { AXPFileStorageService } from '@acorex/platform/common';
|
|
5
5
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
6
|
-
import { A as AXCAiChatRouterService, r as resolveDelegatedAssistOptionModel, a as AXMAiModelStableIds } from './acorex-connectivity-mock-acorex-connectivity-mock-
|
|
6
|
+
import { A as AXCAiChatRouterService, r as resolveDelegatedAssistOptionModel, a as AXMAiModelStableIds } from './acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs';
|
|
7
7
|
|
|
8
8
|
//#region ---- Imports ----
|
|
9
9
|
function parseGenerateImageInput(args) {
|
|
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
105
105
|
}] });
|
|
106
106
|
|
|
107
107
|
export { AiManagementChatGenerateImageCommand };
|
|
108
|
-
//# sourceMappingURL=acorex-connectivity-mock-chat-generate-image.command-
|
|
108
|
+
//# sourceMappingURL=acorex-connectivity-mock-chat-generate-image.command-ihYQR4Wt.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-mock-chat-generate-image.command-
|
|
1
|
+
{"version":3,"file":"acorex-connectivity-mock-chat-generate-image.command-ihYQR4Wt.mjs","sources":["../../../../libs/connectivity/mock/src/lib/ai-management/commands/chat-generate-image.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport {\n AI_CHAT_GENERATED_IMAGE_REF_TYPE,\n AI_GENERATED_IMAGE_MAX_REMOTE_URL_IN_TOOL,\n AXPAiChatToolRunContextService,\n blobOrFileFromImageResult,\n persistAiGeneratedImage,\n RootConfig,\n} from '@acorex/modules/ai-management';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\n\nimport type { AXMAiAssistRow } from '../ai-agent-engine.types';\nimport { resolveDelegatedAssistOptionModel } from '../ai-delegated-agent-parameters.util';\nimport { AXCAiChatRouterService } from '../chat/ai-chat-router.service';\nimport { AXMAiModelStableIds } from '../model/model.mock';\n\n//#endregion\n\n//#region ---- Command: AiManagement:ChatGenerateImage ----\n\nexport interface AiManagementChatGenerateImageInput {\n /**\n * Catalog `AiModel` row id for an image-purpose model. When omitted, uses\n * `delegatedAgents[].options.model` for the active delegated specialist (`agentId` in run context),\n * then falls back to the mock catalog default (OpenAI gpt-image-1).\n */\n model?: string;\n prompt?: string;\n size?: string;\n style?: string;\n}\n\nfunction parseGenerateImageInput(args: unknown):\n | { ok: true; model?: string; prompt: string; size?: string; style?: string }\n | { ok: false; error: string } {\n const obj =\n args != null && typeof args === 'object' && !Array.isArray(args)\n ? (args as Record<string, unknown>)\n : null;\n if (!obj) {\n return { ok: false, error: 'Invalid arguments: expected an object.' };\n }\n const prompt = typeof obj['prompt'] === 'string' ? obj['prompt'].trim() : '';\n if (!prompt) {\n return { ok: false, error: 'Invalid arguments: \"prompt\" is required and must be non-empty.' };\n }\n const model = typeof obj['model'] === 'string' ? obj['model'].trim() : undefined;\n const size = typeof obj['size'] === 'string' ? obj['size'].trim() : undefined;\n const style = typeof obj['style'] === 'string' ? obj['style'].trim() : undefined;\n return {\n ok: true,\n prompt,\n ...(model ? { model } : {}),\n ...(size ? { size } : {}),\n ...(style ? { style } : {}),\n };\n}\n\n@Injectable()\nexport class AiManagementChatGenerateImageCommand\n implements AXPCommand<AiManagementChatGenerateImageInput, { fileId?: string; prompt: string; imageUrl?: string }>\n{\n private readonly aiChatRouter = inject(AXCAiChatRouterService);\n private readonly runContext = inject(AXPAiChatToolRunContextService);\n private readonly fileStorage = inject(AXPFileStorageService);\n private readonly entityService = inject(AXPEntityService);\n\n private readonly assistData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.assist.name)\n .data<string, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow>();\n\n async execute(\n input: AiManagementChatGenerateImageInput,\n ): Promise<AXPExecuteCommandResult<{ fileId?: string; prompt: string; imageUrl?: string }>> {\n const ctx = this.runContext.getContext();\n if (!ctx?.assistId?.trim()) {\n return {\n success: false,\n message: {\n text: 'Image generation requires an active AI chat run context (assist id).',\n },\n };\n }\n\n const parsed = parseGenerateImageInput(input);\n if (!parsed.ok) {\n return { success: false, message: { text: parsed.error } };\n }\n\n try {\n const assist = await this.assistData.byKey(ctx.assistId.trim());\n if (!assist) {\n return {\n success: false,\n message: { text: `Assist row was not found (id: ${ctx.assistId.trim()}).` },\n };\n }\n\n const modelEntityId =\n parsed.model?.trim() ||\n resolveDelegatedAssistOptionModel(assist, ctx.agentId) ||\n AXMAiModelStableIds.openaiGptImage1;\n\n let composedPrompt = parsed.prompt;\n if (parsed.style?.trim()) {\n composedPrompt = `${composedPrompt}\\nStyle: ${parsed.style.trim()}`;\n }\n\n const { imageUrl } = await this.aiChatRouter.generateImage({\n modelEntityId,\n prompt: composedPrompt,\n size: parsed.size?.trim() || undefined,\n });\n\n try {\n const file = await blobOrFileFromImageResult(imageUrl);\n const { fileId } = await persistAiGeneratedImage(this.fileStorage, file, {\n refId: assist.id,\n refType: AI_CHAT_GENERATED_IMAGE_REF_TYPE,\n });\n return { success: true, data: { fileId, prompt: parsed.prompt } };\n } catch (persistErr) {\n const u = imageUrl.trim();\n if (u.startsWith('https://') && u.length <= AI_GENERATED_IMAGE_MAX_REMOTE_URL_IN_TOOL) {\n return {\n success: true,\n data: { prompt: parsed.prompt, imageUrl: u },\n };\n }\n const pmsg = persistErr instanceof Error ? persistErr.message : String(persistErr);\n throw new Error(`Could not store generated image for chat replay. ${pmsg}`);\n }\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n return { success: false, message: { text: msg } };\n }\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
import { inject, Injectable } from '@angular/core';
|
|
4
4
|
import { AXPFileStorageService } from '@acorex/platform/common';
|
|
5
5
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
6
|
-
import { A as AXCAiChatRouterService, r as resolveDelegatedAssistOptionModel, b as resolveDelegatedAssistOptionString } from './acorex-connectivity-mock-acorex-connectivity-mock-
|
|
6
|
+
import { A as AXCAiChatRouterService, r as resolveDelegatedAssistOptionModel, b as resolveDelegatedAssistOptionString } from './acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs';
|
|
7
7
|
|
|
8
8
|
//#region ---- Imports ----
|
|
9
9
|
function extForMime(mime) {
|
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
127
127
|
}] });
|
|
128
128
|
|
|
129
129
|
export { AiManagementChatSynthesizeSpeechCommand };
|
|
130
|
-
//# sourceMappingURL=acorex-connectivity-mock-chat-synthesize-speech.command-
|
|
130
|
+
//# sourceMappingURL=acorex-connectivity-mock-chat-synthesize-speech.command-HWKR08gj.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs","sources":["../../../../libs/connectivity/mock/src/lib/ai-management/commands/chat-synthesize-speech.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport {\n AI_CHAT_GENERATED_SPEECH_REF_TYPE,\n AXPAiChatToolRunContextService,\n persistAiGeneratedSpeech,\n RootConfig,\n} from '@acorex/modules/ai-management';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\n\nimport type { AXMAiAssistRow } from '../ai-agent-engine.types';\nimport {\n resolveDelegatedAssistOptionModel,\n resolveDelegatedAssistOptionString,\n} from '../ai-delegated-agent-parameters.util';\nimport { AXCAiChatRouterService } from '../chat/ai-chat-router.service';\n\n//#endregion\n\n//#region ---- Command: AiManagement:ChatSynthesizeSpeech ----\n\nexport interface AiManagementChatSynthesizeSpeechInput {\n /** Catalog `AiModel` row id (purpose `tts`). When omitted, uses `delegatedAgents[].options.model` for the active delegated specialist. */\n model?: string;\n text?: string;\n voice?: string;\n responseFormat?: string;\n}\n\nfunction extForMime(mime: string): string {\n const m = mime.toLowerCase();\n if (m.includes('mpeg') || m.includes('mp3')) {\n return 'mp3';\n }\n if (m.includes('wav')) {\n return 'wav';\n }\n if (m.includes('opus')) {\n return 'opus';\n }\n if (m.includes('ogg')) {\n return 'ogg';\n }\n if (m.includes('aac')) {\n return 'aac';\n }\n if (m.includes('flac')) {\n return 'flac';\n }\n return 'bin';\n}\n\nfunction parseSynthesizeInput(args: unknown):\n | { ok: true; model?: string; text: string; voice?: string; responseFormat?: string }\n | { ok: false; error: string } {\n const obj =\n args != null && typeof args === 'object' && !Array.isArray(args)\n ? (args as Record<string, unknown>)\n : null;\n if (!obj) {\n return { ok: false, error: 'Invalid arguments: expected an object.' };\n }\n const text = typeof obj['text'] === 'string' ? obj['text'].trim() : '';\n if (!text) {\n return { ok: false, error: 'Invalid arguments: \"text\" is required and must be non-empty.' };\n }\n const model = typeof obj['model'] === 'string' ? obj['model'].trim() : undefined;\n const voice = typeof obj['voice'] === 'string' ? obj['voice'].trim() : undefined;\n const responseFormat =\n typeof obj['responseFormat'] === 'string' ? obj['responseFormat'].trim() : undefined;\n return {\n ok: true,\n text,\n ...(model ? { model } : {}),\n ...(voice ? { voice } : {}),\n ...(responseFormat ? { responseFormat } : {}),\n };\n}\n\n@Injectable()\nexport class AiManagementChatSynthesizeSpeechCommand\n implements\n AXPCommand<\n AiManagementChatSynthesizeSpeechInput,\n { fileId?: string; text: string; mimeType?: string }\n >\n{\n private readonly aiChatRouter = inject(AXCAiChatRouterService);\n private readonly runContext = inject(AXPAiChatToolRunContextService);\n private readonly fileStorage = inject(AXPFileStorageService);\n private readonly entityService = inject(AXPEntityService);\n\n private readonly assistData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.assist.name)\n .data<string, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow>();\n\n async execute(\n input: AiManagementChatSynthesizeSpeechInput,\n ): Promise<AXPExecuteCommandResult<{ fileId?: string; text: string; mimeType?: string }>> {\n const ctx = this.runContext.getContext();\n if (!ctx?.assistId?.trim()) {\n return {\n success: false,\n message: {\n text: 'Text-to-speech requires an active AI chat run context (assist id).',\n },\n };\n }\n\n const parsed = parseSynthesizeInput(input);\n if (!parsed.ok) {\n return { success: false, message: { text: parsed.error } };\n }\n\n try {\n const assist = await this.assistData.byKey(ctx.assistId.trim());\n if (!assist) {\n return {\n success: false,\n message: { text: `Assist row was not found (id: ${ctx.assistId.trim()}).` },\n };\n }\n\n const modelEntityId =\n parsed.model?.trim() || resolveDelegatedAssistOptionModel(assist, ctx.agentId) || '';\n if (!modelEntityId) {\n return {\n success: false,\n message: {\n text:\n 'No TTS model: pass \"model\" (catalog id) or set options.model on the text-to-speech delegated specialist row for this assist.',\n },\n };\n }\n\n const voiceFromAssist =\n resolveDelegatedAssistOptionString(assist, ctx.agentId, 'voice') || undefined;\n const voice = parsed.voice?.trim() || voiceFromAssist || 'alloy';\n\n const { audioBytes, mimeType } = await this.aiChatRouter.synthesizeSpeech({\n modelEntityId,\n text: parsed.text,\n voice,\n ...(parsed.responseFormat?.trim() ? { responseFormat: parsed.responseFormat.trim() } : {}),\n });\n\n const mt = mimeType?.trim() || 'application/octet-stream';\n const ext = extForMime(mt);\n const file = new File([audioBytes], `ai-tts.${ext}`, { type: mt });\n\n try {\n const { fileId } = await persistAiGeneratedSpeech(this.fileStorage, file, {\n refId: assist.id,\n refType: AI_CHAT_GENERATED_SPEECH_REF_TYPE,\n });\n return { success: true, data: { fileId, text: parsed.text, mimeType: mt } };\n } catch (persistErr) {\n const pmsg = persistErr instanceof Error ? persistErr.message : String(persistErr);\n throw new Error(`Could not store synthesized speech for chat replay. ${pmsg}`);\n }\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n return { success: false, message: { text: msg } };\n }\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;;AAAA;AAiCA,SAAS,UAAU,CAAC,IAAY,EAAA;AAC9B,IAAA,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;AAC5B,IAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3C,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrB,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtB,QAAA,OAAO,MAAM;IACf;AACA,IAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrB,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrB,QAAA,OAAO,KAAK;IACd;AACA,IAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtB,QAAA,OAAO,MAAM;IACf;AACA,IAAA,OAAO,KAAK;AACd;AAEA,SAAS,oBAAoB,CAAC,IAAa,EAAA;AAGzC,IAAA,MAAM,GAAG,GACP,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;AAC7D,UAAG;UACD,IAAI;IACV,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE;IACvE;IACA,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;IACtE,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8DAA8D,EAAE;IAC7F;IACA,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS;IAChF,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS;IAChF,MAAM,cAAc,GAClB,OAAO,GAAG,CAAC,gBAAgB,CAAC,KAAK,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS;IACtF,OAAO;AACL,QAAA,EAAE,EAAE,IAAI;QACR,IAAI;AACJ,QAAA,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC3B,QAAA,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC3B,QAAA,IAAI,cAAc,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;KAC9C;AACH;MAGa,uCAAuC,CAAA;AADpD,IAAA,WAAA,GAAA;AAQmB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC7C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,8BAA8B,CAAC;AACnD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAC3C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAExC,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC;AAChC,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;AAClE,aAAA,IAAI,EAA0E;AAuElF,IAAA;IArEC,MAAM,OAAO,CACX,KAA4C,EAAA;QAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;QACxC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC1B,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,oEAAoE;AAC3E,iBAAA;aACF;QACH;AAEA,QAAA,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC;AAC1C,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AACd,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE;QAC5D;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA,8BAAA,EAAiC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA,EAAA,CAAI,EAAE;iBAC5E;YACH;AAEA,YAAA,MAAM,aAAa,GACjB,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,iCAAiC,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;YACtF,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EACF,8HAA8H;AACjI,qBAAA;iBACF;YACH;AAEA,YAAA,MAAM,eAAe,GACnB,kCAAkC,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,SAAS;AAC/E,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,eAAe,IAAI,OAAO;AAEhE,YAAA,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBACxE,aAAa;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK;gBACL,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC;AAC3F,aAAA,CAAC;YAEF,MAAM,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,0BAA0B;AACzD,YAAA,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC;AAC1B,YAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,CAAA,CAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAElE,YAAA,IAAI;AACF,gBAAA,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;oBACxE,KAAK,EAAE,MAAM,CAAC,EAAE;AAChB,oBAAA,OAAO,EAAE,iCAAiC;AAC3C,iBAAA,CAAC;gBACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;YAC7E;YAAE,OAAO,UAAU,EAAE;AACnB,gBAAA,MAAM,IAAI,GAAG,UAAU,YAAY,KAAK,GAAG,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAClF,gBAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAA,CAAE,CAAC;YAChF;QACF;QAAE,OAAO,CAAC,EAAE;AACV,YAAA,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;AACtD,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;QACnD;IACF;8GApFW,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAvC,uCAAuC,EAAA,CAAA,CAAA;;2FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBADnD;;;;;"}
|
|
1
|
+
{"version":3,"file":"acorex-connectivity-mock-chat-synthesize-speech.command-HWKR08gj.mjs","sources":["../../../../libs/connectivity/mock/src/lib/ai-management/commands/chat-synthesize-speech.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport {\n AI_CHAT_GENERATED_SPEECH_REF_TYPE,\n AXPAiChatToolRunContextService,\n persistAiGeneratedSpeech,\n RootConfig,\n} from '@acorex/modules/ai-management';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\n\nimport type { AXMAiAssistRow } from '../ai-agent-engine.types';\nimport {\n resolveDelegatedAssistOptionModel,\n resolveDelegatedAssistOptionString,\n} from '../ai-delegated-agent-parameters.util';\nimport { AXCAiChatRouterService } from '../chat/ai-chat-router.service';\n\n//#endregion\n\n//#region ---- Command: AiManagement:ChatSynthesizeSpeech ----\n\nexport interface AiManagementChatSynthesizeSpeechInput {\n /** Catalog `AiModel` row id (purpose `tts`). When omitted, uses `delegatedAgents[].options.model` for the active delegated specialist. */\n model?: string;\n text?: string;\n voice?: string;\n responseFormat?: string;\n}\n\nfunction extForMime(mime: string): string {\n const m = mime.toLowerCase();\n if (m.includes('mpeg') || m.includes('mp3')) {\n return 'mp3';\n }\n if (m.includes('wav')) {\n return 'wav';\n }\n if (m.includes('opus')) {\n return 'opus';\n }\n if (m.includes('ogg')) {\n return 'ogg';\n }\n if (m.includes('aac')) {\n return 'aac';\n }\n if (m.includes('flac')) {\n return 'flac';\n }\n return 'bin';\n}\n\nfunction parseSynthesizeInput(args: unknown):\n | { ok: true; model?: string; text: string; voice?: string; responseFormat?: string }\n | { ok: false; error: string } {\n const obj =\n args != null && typeof args === 'object' && !Array.isArray(args)\n ? (args as Record<string, unknown>)\n : null;\n if (!obj) {\n return { ok: false, error: 'Invalid arguments: expected an object.' };\n }\n const text = typeof obj['text'] === 'string' ? obj['text'].trim() : '';\n if (!text) {\n return { ok: false, error: 'Invalid arguments: \"text\" is required and must be non-empty.' };\n }\n const model = typeof obj['model'] === 'string' ? obj['model'].trim() : undefined;\n const voice = typeof obj['voice'] === 'string' ? obj['voice'].trim() : undefined;\n const responseFormat =\n typeof obj['responseFormat'] === 'string' ? obj['responseFormat'].trim() : undefined;\n return {\n ok: true,\n text,\n ...(model ? { model } : {}),\n ...(voice ? { voice } : {}),\n ...(responseFormat ? { responseFormat } : {}),\n };\n}\n\n@Injectable()\nexport class AiManagementChatSynthesizeSpeechCommand\n implements\n AXPCommand<\n AiManagementChatSynthesizeSpeechInput,\n { fileId?: string; text: string; mimeType?: string }\n >\n{\n private readonly aiChatRouter = inject(AXCAiChatRouterService);\n private readonly runContext = inject(AXPAiChatToolRunContextService);\n private readonly fileStorage = inject(AXPFileStorageService);\n private readonly entityService = inject(AXPEntityService);\n\n private readonly assistData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.assist.name)\n .data<string, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow>();\n\n async execute(\n input: AiManagementChatSynthesizeSpeechInput,\n ): Promise<AXPExecuteCommandResult<{ fileId?: string; text: string; mimeType?: string }>> {\n const ctx = this.runContext.getContext();\n if (!ctx?.assistId?.trim()) {\n return {\n success: false,\n message: {\n text: 'Text-to-speech requires an active AI chat run context (assist id).',\n },\n };\n }\n\n const parsed = parseSynthesizeInput(input);\n if (!parsed.ok) {\n return { success: false, message: { text: parsed.error } };\n }\n\n try {\n const assist = await this.assistData.byKey(ctx.assistId.trim());\n if (!assist) {\n return {\n success: false,\n message: { text: `Assist row was not found (id: ${ctx.assistId.trim()}).` },\n };\n }\n\n const modelEntityId =\n parsed.model?.trim() || resolveDelegatedAssistOptionModel(assist, ctx.agentId) || '';\n if (!modelEntityId) {\n return {\n success: false,\n message: {\n text:\n 'No TTS model: pass \"model\" (catalog id) or set options.model on the text-to-speech delegated specialist row for this assist.',\n },\n };\n }\n\n const voiceFromAssist =\n resolveDelegatedAssistOptionString(assist, ctx.agentId, 'voice') || undefined;\n const voice = parsed.voice?.trim() || voiceFromAssist || 'alloy';\n\n const { audioBytes, mimeType } = await this.aiChatRouter.synthesizeSpeech({\n modelEntityId,\n text: parsed.text,\n voice,\n ...(parsed.responseFormat?.trim() ? { responseFormat: parsed.responseFormat.trim() } : {}),\n });\n\n const mt = mimeType?.trim() || 'application/octet-stream';\n const ext = extForMime(mt);\n const file = new File([audioBytes], `ai-tts.${ext}`, { type: mt });\n\n try {\n const { fileId } = await persistAiGeneratedSpeech(this.fileStorage, file, {\n refId: assist.id,\n refType: AI_CHAT_GENERATED_SPEECH_REF_TYPE,\n });\n return { success: true, data: { fileId, text: parsed.text, mimeType: mt } };\n } catch (persistErr) {\n const pmsg = persistErr instanceof Error ? persistErr.message : String(persistErr);\n throw new Error(`Could not store synthesized speech for chat replay. ${pmsg}`);\n }\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n return { success: false, message: { text: msg } };\n }\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
import { inject, Injectable } from '@angular/core';
|
|
4
4
|
import { AXPFileStorageService } from '@acorex/platform/common';
|
|
5
5
|
import { AXPEntityService } from '@acorex/platform/layout/entity';
|
|
6
|
-
import { A as AXCAiChatRouterService, r as resolveDelegatedAssistOptionModel, b as resolveDelegatedAssistOptionString } from './acorex-connectivity-mock-acorex-connectivity-mock-
|
|
6
|
+
import { A as AXCAiChatRouterService, r as resolveDelegatedAssistOptionModel, b as resolveDelegatedAssistOptionString } from './acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs';
|
|
7
7
|
|
|
8
8
|
//#region ---- Imports ----
|
|
9
9
|
function parseTranscribeInput(args) {
|
|
@@ -107,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
107
107
|
}] });
|
|
108
108
|
|
|
109
109
|
export { AiManagementChatTranscribeSpeechCommand };
|
|
110
|
-
//# sourceMappingURL=acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
110
|
+
//# sourceMappingURL=acorex-connectivity-mock-chat-transcribe-speech.command-BrFX59uP.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
1
|
+
{"version":3,"file":"acorex-connectivity-mock-chat-transcribe-speech.command-BrFX59uP.mjs","sources":["../../../../libs/connectivity/mock/src/lib/ai-management/commands/chat-transcribe-speech.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPAiChatToolRunContextService, RootConfig } from '@acorex/modules/ai-management';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPExecuteCommandResult } from '@acorex/platform/core';\nimport { AXPCommand } from '@acorex/platform/runtime';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\n\nimport type { AXMAiAssistRow } from '../ai-agent-engine.types';\nimport {\n resolveDelegatedAssistOptionModel,\n resolveDelegatedAssistOptionString,\n} from '../ai-delegated-agent-parameters.util';\nimport { AXCAiChatRouterService } from '../chat/ai-chat-router.service';\n\n//#endregion\n\n//#region ---- Command: AiManagement:ChatTranscribeSpeech ----\n\nexport interface AiManagementChatTranscribeSpeechInput {\n /** Catalog `AiModel` row id for a speech-purpose model. When omitted, uses `delegatedAgents[].options.model` for the active delegated specialist (`agentId` in run context). */\n model?: string;\n fileId?: string;\n language?: string;\n}\n\nfunction parseTranscribeInput(args: unknown):\n | { ok: true; model?: string; fileId: string; language?: string }\n | { ok: false; error: string } {\n const obj =\n args != null && typeof args === 'object' && !Array.isArray(args)\n ? (args as Record<string, unknown>)\n : null;\n if (!obj) {\n return { ok: false, error: 'Invalid arguments: expected an object.' };\n }\n const fileId = typeof obj['fileId'] === 'string' ? obj['fileId'].trim() : '';\n if (!fileId) {\n return { ok: false, error: 'Invalid arguments: \"fileId\" is required and must be non-empty.' };\n }\n const model = typeof obj['model'] === 'string' ? obj['model'].trim() : undefined;\n const language = typeof obj['language'] === 'string' ? obj['language'].trim() : undefined;\n return {\n ok: true,\n fileId,\n ...(model ? { model } : {}),\n ...(language ? { language } : {}),\n };\n}\n\n@Injectable()\nexport class AiManagementChatTranscribeSpeechCommand\n implements AXPCommand<AiManagementChatTranscribeSpeechInput, { text: string }>\n{\n private readonly aiChatRouter = inject(AXCAiChatRouterService);\n private readonly runContext = inject(AXPAiChatToolRunContextService);\n private readonly fileStorage = inject(AXPFileStorageService);\n private readonly entityService = inject(AXPEntityService);\n\n private readonly assistData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.assist.name)\n .data<string, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow, AXMAiAssistRow>();\n\n async execute(\n input: AiManagementChatTranscribeSpeechInput,\n ): Promise<AXPExecuteCommandResult<{ text: string }>> {\n const ctx = this.runContext.getContext();\n if (!ctx?.assistId?.trim()) {\n return {\n success: false,\n message: {\n text: 'Speech transcription requires an active AI chat run context (assist id).',\n },\n };\n }\n\n const parsed = parseTranscribeInput(input);\n if (!parsed.ok) {\n return { success: false, message: { text: parsed.error } };\n }\n\n try {\n const assist = await this.assistData.byKey(ctx.assistId.trim());\n if (!assist) {\n return {\n success: false,\n message: { text: `Assist row was not found (id: ${ctx.assistId.trim()}).` },\n };\n }\n\n const modelEntityId =\n parsed.model?.trim() || resolveDelegatedAssistOptionModel(assist, ctx.agentId) || '';\n if (!modelEntityId) {\n return {\n success: false,\n message: {\n text:\n 'No speech model: pass \"model\" (catalog id) or set options.model on the speech-to-text delegated specialist row for this assist.',\n },\n };\n }\n\n let mimeType = 'application/octet-stream';\n let audioBytes: ArrayBuffer;\n try {\n const info = await this.fileStorage.getInfo(parsed.fileId);\n const file = info.binary;\n mimeType = info.mimeType?.trim() || file.type?.trim() || mimeType;\n audioBytes = await file.arrayBuffer();\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n return {\n success: false,\n message: { text: `Could not read audio file (fileId: ${parsed.fileId}). ${msg}` },\n };\n }\n\n const language =\n parsed.language?.trim() ||\n resolveDelegatedAssistOptionString(assist, ctx.agentId, 'language') ||\n undefined;\n\n const { text } = await this.aiChatRouter.transcribeSpeech({\n modelEntityId,\n audioBytes,\n mimeType,\n fileName: parsed.fileId,\n ...(language ? { language } : {}),\n });\n\n return { success: true, data: { text } };\n } catch (e) {\n const msg = e instanceof Error ? e.message : String(e);\n return { success: false, message: { text: msg } };\n }\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import { m as mockUsers } from './acorex-connectivity-mock-acorex-connectivity-mock-
|
|
3
|
+
import { m as mockUsers } from './acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs';
|
|
4
4
|
|
|
5
5
|
//#endregion
|
|
6
6
|
/**
|
|
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
27
27
|
}] });
|
|
28
28
|
|
|
29
29
|
export { UserRolesForListColumnQuery };
|
|
30
|
-
//# sourceMappingURL=acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
30
|
+
//# sourceMappingURL=acorex-connectivity-mock-user-roles-for-list-column.query-Ch--rL7K.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
1
|
+
{"version":3,"file":"acorex-connectivity-mock-user-roles-for-list-column.query-Ch--rL7K.mjs","sources":["../../../../libs/connectivity/mock/src/lib/security-management/user/user-roles-for-list-column.query.ts"],"sourcesContent":["import { AXPQuery } from '@acorex/platform/runtime';\nimport { Injectable } from '@angular/core';\nimport { mockUsers } from './user.mock';\n\n//#region ---- Types ----\n\nexport interface UserRolesForListColumnQueryInput {\n userId?: string;\n}\n\nexport interface UserRolesForListColumnQueryResult {\n items: { id: string; title: unknown }[];\n}\n\n//#endregion\n\n/**\n * Resolves role rows for the user list lookup column when using {@link countOnly} column resolve.\n */\n@Injectable({ providedIn: 'root' })\nexport class UserRolesForListColumnQuery implements AXPQuery<UserRolesForListColumnQueryInput, UserRolesForListColumnQueryResult> {\n async fetch(input: UserRolesForListColumnQueryInput): Promise<UserRolesForListColumnQueryResult> {\n const userId = input?.userId?.trim();\n if (!userId) {\n return { items: [] };\n }\n const user = mockUsers.find((u) => u.id === userId);\n if (!user?.roles?.length) {\n return { items: [] };\n }\n return { items: user.roles };\n }\n}\n"],"names":[],"mappings":";;;;AAcA;AAEA;;AAEG;MAEU,2BAA2B,CAAA;IACtC,MAAM,KAAK,CAAC,KAAuC,EAAA;QACjD,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QACpC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACtB;AACA,QAAA,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC;AACnD,QAAA,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AACxB,YAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACtB;AACA,QAAA,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;IAC9B;8GAXW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cADd,MAAM,EAAA,CAAA,CAAA;;2FACnB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { d as ACTIVITY_CATEGORIES, e as ACTIVITY_CATEGORY_ID_BY_KEY, f as ACTIVITY_DEFINITIONS, g as AI_ASSIST_MOCK, h as AI_MODEL_MOCK, i as APPLICATIONS, j as APPLICATION_CATEGORY_IDS, k as APPLICATION_CATEGORY_MOCKS, l as AXCActivityCategorySeeder, n as AXCActivityDefinitionSeeder, o as AXCAiAssistSeeder, p as AXCAiManagementMockModule, q as AXCAiModelSeeder, s as AXCAppTermDataSeeder, t as AXCAppVersionDataSeeder, u as AXCApplicationCategoryDataSeeder, v as AXCApplicationDataSeeder, w as AXCApplicationManagementMockModule, x as AXCAssessmentManagementMockModule, y as AXCAssetManagementMockModule, z as AXCAuthMockModule, B as AXCCalendarDataSeeder, C as AXCCalendarEventDataSeeder, D as AXCCalendarManagementMockModule, E as AXCCommandRegistryDataSeeder, F as AXCCommonMockModule, G as AXCContactCoreMockModule, H as AXCContentManagementMockModule, I as AXCConversationDataSeeder, J as AXCConversationMockConversationApi, K as AXCConversationMockMessageApi, L as AXCConversationMockModule, M as AXCConversationMockRealtimeApi, N as AXCConversationMockUserApi, O as AXCCustomerManagementMockModule, P as AXCDashboardManagementMockModule, Q as AXCDataManagementMockModule, R as AXCDexieEntityStorageService, S as AXCDocumentManagementMockModule, T as AXCEditionDataSeeder, U as AXCEntityDefinitionSeederService, V as AXCEntityDefinitionsModule, W as AXCEntityStorageInsertCommand, X as AXCEntityStorageModule, Y as AXCEntityStorageQueryQuery, Z as AXCFileStorageServiceDexie, _ as AXCFileStorageServiceFirestore, $ as AXCFinancialCoreMockModule, a0 as AXCFirestoreEntityStorageService, a1 as AXCFormTemplateManagementMockModule, a2 as AXCGoogleStrategyMock, a3 as AXCHealthCoreMockModule, a4 as AXCHelpDeskMockModule, a5 as AXCHumanCapitalManagementMockModule, a6 as AXCIdentifierManagementMockModule, a7 as AXCImageCaptchaChallengeProviderMock, a8 as AXCLearningManagementMockModule, a9 as AXCLocaleManagementMockModule, aa as AXCLocationManagementMockModule, ab as AXCLockService, ac as AXCMeasurementCoreMockModule, ad as AXCMeetingManagementMockModule, ae as AXCMetaDataDefinitionDataSeeder, af as AXCMetadataCategorySeeder, ag as AXCMiddlewaresModule, ah as AXCMockCaptchaChallengeComponent, ai as AXCMockEntityLogListener, aj as AXCMockModule, ak as AXCMockShowMetaDataFormPopupCommand, al as AXCNotificationManagementMockModule, am as AXCOrderManagementMockModule, an as AXCOrganizationManagementMockModule, ao as AXCPersonCoreMockModule, ap as AXCPlatformManagementMockModule, aq as AXCProcurementManagementMockModule, ar as AXCProductCatalogMockModule, as as AXCProjectManagementMockModule, at as AXCQueryRegistryDataSeeder, au as AXCReportManagementMockModule, av as AXCSecurityManagementMockModule, aw as AXCStoredEntityDefinitionLoader, ax as AXCSubscriptionManagementMockModule, ay as AXCSupplierManagementMockModule, az as AXCTaskManagementMockModule, aA as AXCTenantManagementMockModule, aB as AXCTenantSeeder, aC as AXCTextTemplateRenderBackend, aD as AXCTokensDataSeeder, aE as AXCUserPassStrategyMock, aF as AXCVersionDB, aG as AXCVersioningService, aH as AXCWidgetCatalogDataSeeder, aI as AXCWorkflowCategorySeeder, aJ as AXCWorkflowDefinitionDataSeeder, aK as AXCWorkflowEngine, aL as AXCWorkflowExecutionDB, aM as AXCWorkflowExecutionStoreDexie, aN as AXCWorkflowExecutionStoreFirestore, aO as AXCWorkflowInstanceCartableDemoSeeder, aP as AXCWorkflowManagementMockModule, aQ as AXC_ENTITY_STORAGE_BACKEND_TYPE, aR as AXC_FIRESTORE_CONFIG, aS as AXC_FIRESTORE_DB, aT as AXC_WORKFLOW_EXECUTION_STORE, a as AXMAiModelStableIds, aU as AXMAiPlatformAssistantAssistId, aV as AXMAutomationDataSeeder, aW as AXMBusinessUnitDataSeeder, aX as AXMCalendarEventTypeSeeder, aY as AXMDashboardChartDataSourceDefinition, aZ as AXMEmployeeDataSeeder, a_ as AXMEmploymentTypeDataSeeder, a$ as AXMFormDataSourcesProvider, b0 as AXMJobDefinitionDataSeeder, b1 as AXMJobLevelDataSeeder, b2 as AXMLeaveRequestDataSeeder, b3 as AXMMeetingDataSeeder, b4 as AXMMeetingFilesDataSeeder, b5 as AXMMeetingParticipantDataSeeder, b6 as AXMMeetingRoleTypeDataSeeder, b7 as AXMMeetingSessionDataSeeder, b8 as AXMMeetingTypeDataSeeder, b9 as AXMMeetingTypeFileTemplateDataSeeder, ba as AXMPositionAssignmentDataSeeder, bb as AXMPositionDataSeeder, bc as AXMQuestionBankItemCategoryDataSeeder, bd as AXMQuestionBankItemDataSeeder, be as AXMQuestionnaireCalculationDataSeeder, bf as AXMQuestionnaireCategoryDataSeeder, bg as AXMQuestionnaireDataSeeder, bh as AXMResponsibilityDataSeeder, bi as AXMTagDataSeeder, bj as AXMTeamBusinessUnitDataSeeder, bk as AXMTeamDataSeeder, bl as AXMTeamMemberDataSeeder, bm as AXMTeamMemberRoleDataSeeder, bn as AXMWorkflowDashboardChartDataSourceDefinition, bo as AXM_AI_REGISTRY_COMMAND_NAME, bp as AXM_AI_REGISTRY_QUERY_NAME, bq as AXM_CORPORATE_BUSINESS_UNIT_ID, br as AXPDashboardDataSeeder, bs as AXPIdentifierDB, bt as AXPMessageDataSeeder, bu as AXPMockChecksumProvider, bv as AXPMockClockProvider, bw as AXPMockIdentifierService, bx as AXPMockLookupProvider, by as AXPMockPolicyProvider, bz as AXPMockSequenceProvider, bA as AXPRoomDataSeeder, bB as AXPSecurityManagementRoleDataSeeder, bC as AXPSecurityManagementUserDataSeeder, bD as AXPTaskBoardPlatformManagementTaskProvider, bE as AXPTaskBoardProjectManagementTaskProvider, bF as AXVChangeType, bG as BCC, bH as BOC, bI as BUSINESS_UNITS_MOCK, bJ as CHAT_LAST_MESSAGE_IDS, bK as COLLABORATION_STANDARD, bL as COSTMANAGER_ENTERPRISE, bM as COSTMANAGER_PROFESSIONAL, bN as COSTMANAGER_STANDARD, bO as CP, bP as CRM_ENTERPRISE, bQ as DASHBOARDS, bR as EDITIONS, bS as EMPLOYEES_MOCK, bT as EMPLOYMENT_TYPES_MOCK, bU as ENTITY_DEFINITION_MAP, bV as ENTITY_REGISTRY, bW as FINANCE_BASIC, bX as FINANCE_ENTERPRISE, bY as FINANCE_PRO, bZ as G, b_ as HR_ENTERPRISE, b$ as HW, c0 as JOB_DEFINITIONS_CATEGORY_MOCK, c1 as JOB_DEFINITIONS_MOCK, c2 as JOB_DEFINITION_CATEGORY_KEY_TO_ID, c3 as JOB_LEVELS_MOCK, c4 as LASER_PLUMBING_TENANT_ID, c5 as LEAVE_REQUESTS_MOCK, c6 as MAGFA_COMMERCE_STANDARD, c7 as MAGFA_CONVERSATION_DASHBOARD, c8 as MAGFA_TENANT_ID, c9 as METADATA_CATEGORY_IDS, ca as METADATA_GENERAL_CATEGORY_REFS, cb as METADATA_SYSTEM_CATEGORY_REFS, cc as MLC, cd as OHR, ce as ORDERING_BASIC, cf as ORDERING_ENTERPRISE, cg as ORDERING_STANDARD, ch as OWNERSHIP_FILTER_BYPASS, ci as PLATFORM_CONSOLE, cj as PLATFORM_TENANT_ID, ck as PM, cl as POSITIONS_CATEGORY_MOCK, cm as POSITIONS_MOCK, cn as POSITION_ASSIGNMENTS_MOCK, co as QCP, cp as QGEN, cq as QHW, cr as QOHR, cs as QPM, ct as QTLE, cu as QUESTIONNAIRE_CATEGORY_MOCK, cv as QUESTION_BANK_ITEM_CATEGORY_MOCK, cw as QWS, cx as RESPONSIBILITIES_CATEGORY_MOCK, cy as RESPONSIBILITIES_MOCK, cz as RESPONSIBILITY_CATEGORY_KEY_TO_ID, cA as SAFETYMINDER_BASIC, cB as SAFETYMINDER_ENTERPRISE, cC as SAFETYMINDER_PROFESSIONAL, cD as SHOP_BASIC, cE as SHOP_ENTERPRISE, cF as SHOP_PRO, cG as TAGS_MOCK, cH as TASKS, cI as TASK_STATUSES, cJ as TASK_TEMPLATES, cK as TASK_TYPES, cL as TEAMS_CATEGORY_MOCK, cM as TEAMS_MOCK, cN as TEAM_BUSINESS_UNITS_MOCK, cO as TEAM_CATEGORY_KEY_TO_ID, cP as TEAM_MEMBERS_MOCK, cQ as TEAM_MEMBER_ROLES_MOCK, cR as TIMEPLICITY_TENANT_ID, cS as TLA, cT as TOKENS, cU as TPC, cV as VISIBILITY_FILTER_BYPASS, cW as WORKFLOW_CATEGORIES, cX as WS, cY as activityCategoryMocks, cZ as activityDefinitionEntityMock, c_ as applyEntityDefinitionFirestoreSnapshot, c$ as automationCommandMiddleware, d0 as automationMock, d1 as avatarInterface, d2 as awaitConversationMockSharedStorage, d3 as axVersionDB, d4 as axWorkflowExecutionDB, d5 as axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows, d6 as axcPatchEmployeeActivePrimaryPositionRefsFromRows, d7 as axcPatchEmployeeManagerRefsFromRows, d8 as axcResolveCommandRegistrySeedId, d9 as axcResolveQueryRegistrySeedId, da as axcResolveWidgetCatalogSeedId, db as bankCategory, dc as buildEntityStorageQuickSearchFilter, dd as buildWorkflowInstanceCartableDemoRows, de as bypassAllFilters, df as bypassOwnershipFilter, dg as bypassVisibilityFilter, dh as calendarEventMock, di as calendarEventTypeMockData, dj as calendarMock, dk as chatMessageMock, dl as chatMock, dm as checkboxInterface, dn as childCountMiddleware, dp as clearEntityDefinitionFirestoreCollections, dq as colorInterface, dr as computeDiff, ds as contactInterface, dt as conversationDemoSeedUserIds, du as createFileCastMiddleware, dv as createWidgetLayoutConfig, dw as dateInterface, dx as dateTimeInterface, dy as descriptionInterface, dz as documentFolderSyncMiddleware, dA as emailInterface, dB as entityDefDb, dC as entityValidationMiddleware, dD as fileUploaderInterface, dE as finalizeActivityCategoryItemCounts, dF as findEmployeeById, dG as folderStorageMiddleware, dH as groupOrderItemCalculatorMiddleware, dI as historyMiddleware, dJ as identifierCommitMiddleware, dK as imageInterface, dL as inspectionOkXNaInterface, dM as loadMockPropertyDefinitions, dN as lockGuardMiddleware, dO as longTextAnswerInterface, dP as lookupInterface, dQ as lookupResolverMiddleware, dR as mapInterface, dS as meetingFilesMock, dT as meetingIds, dU as meetingMock, dV as meetingParticipantMock, dW as meetingRoleTypeMock, dX as meetingSessionMock, dY as meetingTimeSlotMock, dZ as meetingTypeFileTemplateMock, d_ as meetingTypeMock, d$ as mergeDetailRelationMiddleware, e0 as mergeQuickSearchIntoRequest, e1 as metadataCategoryMocks, e2 as mockParticipantIndexForSecurityUserId, e3 as mockQuestionBankItemByName, e4 as mockRoleDefinitions, m as mockUsers, e5 as multipleChoiceInterface, e6 as multipleSelectInterface, e7 as normalizeAnyFileArrayForView, e8 as normalizeSnapshotFileFieldsForView, e9 as numberInterface, ea as parseEntityStorageInsertData, eb as parseEntityStorageQueryRequest, ec as participantIds, ed as participantMock, ee as passwordInterface, ef as personIdentifierTypeMock, eg as personIds, eh as personLegalIds, ei as personMock, ej as personNaturalIds, ek as phoneInterface, el as primaryMiddleware, em as provideMockPropertySetups, en as qrcodeInterface, eo as questionBankItemMock, ep as questionnaireCalculationMock, eq as questionnaireMock, er as ratingInterface, es as richTextInterface, et as scaleInterface, eu as selectInterface, ev as selectionListInterface, ew as sexAtBirthInterface, ex as signatureInterface, ey as signatureLoaderMiddleware, ez as statusDefaultMiddleware, eA as tagInterface, eB as tenantMocks, eC as textAreaInterface, eD as textInterface, eE as timeDurationInterface, eF as titleInterface, eG as toUiRows, eH as toggleInterface, eI as tokenCategoryIds, eJ as tokenCategoryMocks, eK as urlInterface, eL as versionInterface, eM as visibilityFilterMiddleware, eN as workflowDefinitionEntityMock, eO as workflowDefinitionIds, eP as workflowDefinitionMock, eQ as yesNoInterface } from './acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs';
|
|
1
|
+
export { d as ACTIVITY_CATEGORIES, e as ACTIVITY_CATEGORY_ID_BY_KEY, f as ACTIVITY_DEFINITIONS, g as AI_ASSIST_MOCK, h as AI_MODEL_MOCK, i as APPLICATIONS, j as APPLICATION_CATEGORY_IDS, k as APPLICATION_CATEGORY_MOCKS, l as AXCActivityCategorySeeder, n as AXCActivityDefinitionSeeder, o as AXCAiAssistSeeder, p as AXCAiManagementMockModule, q as AXCAiModelSeeder, s as AXCAppTermDataSeeder, t as AXCAppVersionDataSeeder, u as AXCApplicationCategoryDataSeeder, v as AXCApplicationDataSeeder, w as AXCApplicationManagementMockModule, x as AXCAssessmentManagementMockModule, y as AXCAssetManagementMockModule, z as AXCAuthMockModule, B as AXCCalendarDataSeeder, C as AXCCalendarEventDataSeeder, D as AXCCalendarManagementMockModule, E as AXCCommandRegistryDataSeeder, F as AXCCommonMockModule, G as AXCContactCoreMockModule, H as AXCContentManagementMockModule, I as AXCConversationDataSeeder, J as AXCConversationMockConversationApi, K as AXCConversationMockMessageApi, L as AXCConversationMockModule, M as AXCConversationMockRealtimeApi, N as AXCConversationMockUserApi, O as AXCCustomerManagementMockModule, P as AXCDashboardManagementMockModule, Q as AXCDataManagementMockModule, R as AXCDexieEntityStorageService, S as AXCDocumentManagementMockModule, T as AXCEditionDataSeeder, U as AXCEntityDefinitionSeederService, V as AXCEntityDefinitionsModule, W as AXCEntityStorageInsertCommand, X as AXCEntityStorageModule, Y as AXCEntityStorageQueryQuery, Z as AXCFileStorageServiceDexie, _ as AXCFileStorageServiceFirestore, $ as AXCFinancialCoreMockModule, a0 as AXCFirestoreEntityStorageService, a1 as AXCFormTemplateManagementMockModule, a2 as AXCGoogleStrategyMock, a3 as AXCHealthCoreMockModule, a4 as AXCHelpDeskMockModule, a5 as AXCHumanCapitalManagementMockModule, a6 as AXCIdentifierManagementMockModule, a7 as AXCImageCaptchaChallengeProviderMock, a8 as AXCLearningManagementMockModule, a9 as AXCLocaleManagementMockModule, aa as AXCLocationManagementMockModule, ab as AXCLockService, ac as AXCMeasurementCoreMockModule, ad as AXCMeetingManagementMockModule, ae as AXCMetaDataDefinitionDataSeeder, af as AXCMetadataCategorySeeder, ag as AXCMiddlewaresModule, ah as AXCMockCaptchaChallengeComponent, ai as AXCMockEntityLogListener, aj as AXCMockModule, ak as AXCMockShowMetaDataFormPopupCommand, al as AXCNotificationManagementMockModule, am as AXCOrderManagementMockModule, an as AXCOrganizationManagementMockModule, ao as AXCPersonCoreMockModule, ap as AXCPlatformManagementMockModule, aq as AXCProcurementManagementMockModule, ar as AXCProductCatalogMockModule, as as AXCProjectManagementMockModule, at as AXCQueryRegistryDataSeeder, au as AXCReportManagementMockModule, av as AXCSecurityManagementMockModule, aw as AXCStoredEntityDefinitionLoader, ax as AXCSubscriptionManagementMockModule, ay as AXCSupplierManagementMockModule, az as AXCTaskManagementMockModule, aA as AXCTenantManagementMockModule, aB as AXCTenantSeeder, aC as AXCTextTemplateRenderBackend, aD as AXCTokensDataSeeder, aE as AXCUserPassStrategyMock, aF as AXCVersionDB, aG as AXCVersioningService, aH as AXCWidgetCatalogDataSeeder, aI as AXCWorkflowCategorySeeder, aJ as AXCWorkflowDefinitionDataSeeder, aK as AXCWorkflowEngine, aL as AXCWorkflowExecutionDB, aM as AXCWorkflowExecutionStoreDexie, aN as AXCWorkflowExecutionStoreFirestore, aO as AXCWorkflowInstanceCartableDemoSeeder, aP as AXCWorkflowManagementMockModule, aQ as AXC_ENTITY_STORAGE_BACKEND_TYPE, aR as AXC_FIRESTORE_CONFIG, aS as AXC_FIRESTORE_DB, aT as AXC_WORKFLOW_EXECUTION_STORE, aU as AXMAiDemisAssistAgentUuid, aV as AXMAiDemisAssistId, a as AXMAiModelStableIds, aW as AXMAiPlatformAssistantAssistId, aX as AXMAutomationDataSeeder, aY as AXMBusinessUnitDataSeeder, aZ as AXMCalendarEventTypeSeeder, a_ as AXMDashboardChartDataSourceDefinition, a$ as AXMEmployeeDataSeeder, b0 as AXMEmploymentTypeDataSeeder, b1 as AXMFormDataSourcesProvider, b2 as AXMJobDefinitionDataSeeder, b3 as AXMJobLevelDataSeeder, b4 as AXMLeaveRequestDataSeeder, b5 as AXMMeetingDataSeeder, b6 as AXMMeetingFilesDataSeeder, b7 as AXMMeetingParticipantDataSeeder, b8 as AXMMeetingRoleTypeDataSeeder, b9 as AXMMeetingSessionDataSeeder, ba as AXMMeetingTypeDataSeeder, bb as AXMMeetingTypeFileTemplateDataSeeder, bc as AXMPositionAssignmentDataSeeder, bd as AXMPositionDataSeeder, be as AXMQuestionBankItemCategoryDataSeeder, bf as AXMQuestionBankItemDataSeeder, bg as AXMQuestionnaireCalculationDataSeeder, bh as AXMQuestionnaireCategoryDataSeeder, bi as AXMQuestionnaireDataSeeder, bj as AXMResponsibilityDataSeeder, bk as AXMTagDataSeeder, bl as AXMTeamBusinessUnitDataSeeder, bm as AXMTeamDataSeeder, bn as AXMTeamMemberDataSeeder, bo as AXMTeamMemberRoleDataSeeder, bp as AXMWorkflowDashboardChartDataSourceDefinition, bq as AXM_AI_REGISTRY_COMMAND_NAME, br as AXM_AI_REGISTRY_QUERY_NAME, bs as AXM_CORPORATE_BUSINESS_UNIT_ID, bt as AXPDashboardDataSeeder, bu as AXPIdentifierDB, bv as AXPMessageDataSeeder, bw as AXPMockChecksumProvider, bx as AXPMockClockProvider, by as AXPMockIdentifierService, bz as AXPMockLookupProvider, bA as AXPMockPolicyProvider, bB as AXPMockSequenceProvider, bC as AXPRoomDataSeeder, bD as AXPSecurityManagementRoleDataSeeder, bE as AXPSecurityManagementUserDataSeeder, bF as AXPTaskBoardPlatformManagementTaskProvider, bG as AXPTaskBoardProjectManagementTaskProvider, bH as AXVChangeType, bI as BCC, bJ as BOC, bK as BUSINESS_UNITS_MOCK, bL as CHAT_LAST_MESSAGE_IDS, bM as COLLABORATION_STANDARD, bN as COSTMANAGER_ENTERPRISE, bO as COSTMANAGER_PROFESSIONAL, bP as COSTMANAGER_STANDARD, bQ as CP, bR as CRM_ENTERPRISE, bS as DASHBOARDS, bT as EDITIONS, bU as EMPLOYEES_MOCK, bV as EMPLOYMENT_TYPES_MOCK, bW as ENTITY_DEFINITION_MAP, bX as ENTITY_REGISTRY, bY as FINANCE_BASIC, bZ as FINANCE_ENTERPRISE, b_ as FINANCE_PRO, b$ as G, c0 as HR_ENTERPRISE, c1 as HW, c2 as JOB_DEFINITIONS_CATEGORY_MOCK, c3 as JOB_DEFINITIONS_MOCK, c4 as JOB_DEFINITION_CATEGORY_KEY_TO_ID, c5 as JOB_LEVELS_MOCK, c6 as LASER_PLUMBING_TENANT_ID, c7 as LEAVE_REQUESTS_MOCK, c8 as MAGFA_COMMERCE_STANDARD, c9 as MAGFA_CONVERSATION_DASHBOARD, ca as MAGFA_TENANT_ID, cb as METADATA_CATEGORY_IDS, cc as METADATA_GENERAL_CATEGORY_REFS, cd as METADATA_SYSTEM_CATEGORY_REFS, ce as MLC, cf as OHR, cg as ORDERING_BASIC, ch as ORDERING_ENTERPRISE, ci as ORDERING_STANDARD, cj as OWNERSHIP_FILTER_BYPASS, ck as PLATFORM_CONSOLE, cl as PLATFORM_TENANT_ID, cm as PM, cn as POSITIONS_CATEGORY_MOCK, co as POSITIONS_MOCK, cp as POSITION_ASSIGNMENTS_MOCK, cq as QCP, cr as QGEN, cs as QHW, ct as QOHR, cu as QPM, cv as QTLE, cw as QUESTIONNAIRE_CATEGORY_MOCK, cx as QUESTION_BANK_ITEM_CATEGORY_MOCK, cy as QWS, cz as RESPONSIBILITIES_CATEGORY_MOCK, cA as RESPONSIBILITIES_MOCK, cB as RESPONSIBILITY_CATEGORY_KEY_TO_ID, cC as SAFETYMINDER_BASIC, cD as SAFETYMINDER_ENTERPRISE, cE as SAFETYMINDER_PROFESSIONAL, cF as SHOP_BASIC, cG as SHOP_ENTERPRISE, cH as SHOP_PRO, cI as TAGS_MOCK, cJ as TASKS, cK as TASK_STATUSES, cL as TASK_TEMPLATES, cM as TASK_TYPES, cN as TEAMS_CATEGORY_MOCK, cO as TEAMS_MOCK, cP as TEAM_BUSINESS_UNITS_MOCK, cQ as TEAM_CATEGORY_KEY_TO_ID, cR as TEAM_MEMBERS_MOCK, cS as TEAM_MEMBER_ROLES_MOCK, cT as TIMEPLICITY_TENANT_ID, cU as TLA, cV as TOKENS, cW as TPC, cX as VISIBILITY_FILTER_BYPASS, cY as WORKFLOW_CATEGORIES, cZ as WS, c_ as activityCategoryMocks, c$ as activityDefinitionEntityMock, d0 as applyEntityDefinitionFirestoreSnapshot, d1 as automationCommandMiddleware, d2 as automationMock, d3 as avatarInterface, d4 as awaitConversationMockSharedStorage, d5 as axVersionDB, d6 as axWorkflowExecutionDB, d7 as axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows, d8 as axcPatchEmployeeActivePrimaryPositionRefsFromRows, d9 as axcPatchEmployeeManagerRefsFromRows, da as axcResolveCommandRegistrySeedId, db as axcResolveQueryRegistrySeedId, dc as axcResolveWidgetCatalogSeedId, dd as bankCategory, de as buildEntityStorageQuickSearchFilter, df as buildWorkflowInstanceCartableDemoRows, dg as bypassAllFilters, dh as bypassOwnershipFilter, di as bypassVisibilityFilter, dj as calendarEventMock, dk as calendarEventTypeMockData, dl as calendarMock, dm as chatMessageMock, dn as chatMock, dp as checkboxInterface, dq as childCountMiddleware, dr as clearEntityDefinitionFirestoreCollections, ds as colorInterface, dt as computeDiff, du as contactInterface, dv as conversationDemoSeedUserIds, dw as createFileCastMiddleware, dx as createWidgetLayoutConfig, dy as dateInterface, dz as dateTimeInterface, dA as descriptionInterface, dB as documentFolderSyncMiddleware, dC as emailInterface, dD as entityDefDb, dE as entityValidationMiddleware, dF as fileUploaderInterface, dG as finalizeActivityCategoryItemCounts, dH as findEmployeeById, dI as folderStorageMiddleware, dJ as groupOrderItemCalculatorMiddleware, dK as historyMiddleware, dL as identifierCommitMiddleware, dM as imageInterface, dN as inspectionOkXNaInterface, dO as loadMockPropertyDefinitions, dP as lockGuardMiddleware, dQ as longTextAnswerInterface, dR as lookupInterface, dS as lookupResolverMiddleware, dT as mapInterface, dU as meetingFilesMock, dV as meetingIds, dW as meetingMock, dX as meetingParticipantMock, dY as meetingRoleTypeMock, dZ as meetingSessionMock, d_ as meetingTimeSlotMock, d$ as meetingTypeFileTemplateMock, e0 as meetingTypeMock, e1 as mergeDetailRelationMiddleware, e2 as mergeQuickSearchIntoRequest, e3 as metadataCategoryMocks, e4 as mockParticipantIndexForSecurityUserId, e5 as mockQuestionBankItemByName, e6 as mockRoleDefinitions, m as mockUsers, e7 as multipleChoiceInterface, e8 as multipleSelectInterface, e9 as normalizeAnyFileArrayForView, ea as normalizeSnapshotFileFieldsForView, eb as numberInterface, ec as parseEntityStorageInsertData, ed as parseEntityStorageQueryRequest, ee as participantIds, ef as participantMock, eg as passwordInterface, eh as personIdentifierTypeMock, ei as personIds, ej as personLegalIds, ek as personMock, el as personNaturalIds, em as phoneInterface, en as primaryMiddleware, eo as provideMockPropertySetups, ep as qrcodeInterface, eq as questionBankItemMock, er as questionnaireCalculationMock, es as questionnaireMock, et as ratingInterface, eu as richTextInterface, ev as scaleInterface, ew as selectInterface, ex as selectionListInterface, ey as sexAtBirthInterface, ez as signatureInterface, eA as signatureLoaderMiddleware, eB as statusDefaultMiddleware, eC as tagInterface, eD as tenantMocks, eE as textAreaInterface, eF as textInterface, eG as timeDurationInterface, eH as titleInterface, eI as toUiRows, eJ as toggleInterface, eK as tokenCategoryIds, eL as tokenCategoryMocks, eM as urlInterface, eN as versionInterface, eO as visibilityFilterMiddleware, eP as workflowDefinitionEntityMock, eQ as workflowDefinitionIds, eR as workflowDefinitionMock, eS as yesNoInterface } from './acorex-connectivity-mock-acorex-connectivity-mock-D2T8rLl4.mjs';
|
|
2
2
|
export { AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY } from '@acorex/modules/content-management';
|
|
3
3
|
//# sourceMappingURL=acorex-connectivity-mock.mjs.map
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex/connectivity",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.51",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@acorex/modules": "21.0.0-next.
|
|
5
|
+
"@acorex/modules": "21.0.0-next.51"
|
|
6
6
|
},
|
|
7
7
|
"sideEffects": false,
|
|
8
8
|
"module": "fesm2022/acorex-connectivity.mjs",
|
|
@@ -1004,6 +1004,12 @@ interface AXMAiManagementAssistMockModel extends AXMAiManagementAssistEntityMode
|
|
|
1004
1004
|
}
|
|
1005
1005
|
/** Deterministic id for the platform assistant assist row. */
|
|
1006
1006
|
declare const AXMAiPlatformAssistantAssistId = "b0000001-0000-4000-8000-000000000001";
|
|
1007
|
+
/** Demisco centralized payment guide — Conversation “Chat with AI” and Demis transport. */
|
|
1008
|
+
declare const AXMAiDemisAssistId = "c0000001-0000-4000-8000-000000000009";
|
|
1009
|
+
/**
|
|
1010
|
+
* Demisco `agent_uuid` sent to `/core/agent/chat/` — stored on the assist row as programmatic `name`.
|
|
1011
|
+
*/
|
|
1012
|
+
declare const AXMAiDemisAssistAgentUuid = "2a0e1e4d-ddfe-4f04-b7ba-2fd307eb5967";
|
|
1007
1013
|
declare const AI_ASSIST_MOCK: AXMAiManagementAssistMockModel[];
|
|
1008
1014
|
|
|
1009
1015
|
declare class AXCAiAssistSeeder implements AXPDataSeeder {
|
|
@@ -1359,7 +1365,7 @@ declare const TOKENS: {
|
|
|
1359
1365
|
declare const PLATFORM_TENANT_ID: string;
|
|
1360
1366
|
declare const TIMEPLICITY_TENANT_ID: string;
|
|
1361
1367
|
declare const LASER_PLUMBING_TENANT_ID: string;
|
|
1362
|
-
/** MAGFA
|
|
1368
|
+
/** MAGFA — Iran commerce tenant for conversation / AI / reports demo. */
|
|
1363
1369
|
declare const MAGFA_TENANT_ID: string;
|
|
1364
1370
|
|
|
1365
1371
|
declare const tenantMocks: AXMTenantManagementTenantEntityModel[];
|
|
@@ -4123,5 +4129,5 @@ declare function bypassAllFilters<T extends AXPQueryRequest>(request: T): T;
|
|
|
4123
4129
|
|
|
4124
4130
|
declare const AXCMockEntityLogListener: AXPDistributedEventListenerProvider<any>;
|
|
4125
4131
|
|
|
4126
|
-
export { ACTIVITY_CATEGORIES, ACTIVITY_CATEGORY_ID_BY_KEY, ACTIVITY_DEFINITIONS, AI_ASSIST_MOCK, AI_MODEL_MOCK, APPLICATIONS, APPLICATION_CATEGORY_IDS, APPLICATION_CATEGORY_MOCKS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAiAssistSeeder, AXCAiManagementMockModule, AXCAiModelSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationCategoryDataSeeder, 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, AXCTextTemplateRenderBackend, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWidgetCatalogDataSeeder, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowExecutionStoreDexie, AXCWorkflowExecutionStoreFirestore, AXCWorkflowInstanceCartableDemoSeeder, AXCWorkflowManagementMockModule, AXC_ENTITY_STORAGE_BACKEND_TYPE, AXC_FIRESTORE_CONFIG, AXC_FIRESTORE_DB, AXC_WORKFLOW_EXECUTION_STORE, AXMAiModelStableIds, AXMAiPlatformAssistantAssistId, 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, AXMTeamBusinessUnitDataSeeder, 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, COLLABORATION_STANDARD, 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, MAGFA_COMMERCE_STANDARD, MAGFA_CONVERSATION_DASHBOARD, MAGFA_TENANT_ID, 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_CATEGORY_MOCK, TEAMS_MOCK, TEAM_BUSINESS_UNITS_MOCK, TEAM_CATEGORY_KEY_TO_ID, 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, awaitConversationMockSharedStorage, axVersionDB, axWorkflowExecutionDB, axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows, axcPatchEmployeeActivePrimaryPositionRefsFromRows, axcPatchEmployeeManagerRefsFromRows, axcResolveCommandRegistrySeedId, axcResolveQueryRegistrySeedId, axcResolveWidgetCatalogSeedId, bankCategory, buildEntityStorageQuickSearchFilter, buildWorkflowInstanceCartableDemoRows, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, chatMessageMock, chatMock, checkboxInterface, childCountMiddleware, clearEntityDefinitionFirestoreCollections, colorInterface, computeDiff, contactInterface, conversationDemoSeedUserIds, createFileCastMiddleware, createWidgetLayoutConfig, dateInterface, dateTimeInterface, descriptionInterface, documentFolderSyncMiddleware, emailInterface, entityDefDb, entityValidationMiddleware, fileUploaderInterface, finalizeActivityCategoryItemCounts, findEmployeeById, folderStorageMiddleware, groupOrderItemCalculatorMiddleware, historyMiddleware, identifierCommitMiddleware, imageInterface, inspectionOkXNaInterface, loadMockPropertyDefinitions, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, mergeQuickSearchIntoRequest, metadataCategoryMocks, mockParticipantIndexForSecurityUserId, 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 };
|
|
4132
|
+
export { ACTIVITY_CATEGORIES, ACTIVITY_CATEGORY_ID_BY_KEY, ACTIVITY_DEFINITIONS, AI_ASSIST_MOCK, AI_MODEL_MOCK, APPLICATIONS, APPLICATION_CATEGORY_IDS, APPLICATION_CATEGORY_MOCKS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAiAssistSeeder, AXCAiManagementMockModule, AXCAiModelSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationCategoryDataSeeder, 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, AXCTextTemplateRenderBackend, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWidgetCatalogDataSeeder, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowExecutionStoreDexie, AXCWorkflowExecutionStoreFirestore, AXCWorkflowInstanceCartableDemoSeeder, AXCWorkflowManagementMockModule, AXC_ENTITY_STORAGE_BACKEND_TYPE, AXC_FIRESTORE_CONFIG, AXC_FIRESTORE_DB, AXC_WORKFLOW_EXECUTION_STORE, AXMAiDemisAssistAgentUuid, AXMAiDemisAssistId, AXMAiModelStableIds, AXMAiPlatformAssistantAssistId, 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, AXMTeamBusinessUnitDataSeeder, 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, COLLABORATION_STANDARD, 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, MAGFA_COMMERCE_STANDARD, MAGFA_CONVERSATION_DASHBOARD, MAGFA_TENANT_ID, 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_CATEGORY_MOCK, TEAMS_MOCK, TEAM_BUSINESS_UNITS_MOCK, TEAM_CATEGORY_KEY_TO_ID, 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, awaitConversationMockSharedStorage, axVersionDB, axWorkflowExecutionDB, axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows, axcPatchEmployeeActivePrimaryPositionRefsFromRows, axcPatchEmployeeManagerRefsFromRows, axcResolveCommandRegistrySeedId, axcResolveQueryRegistrySeedId, axcResolveWidgetCatalogSeedId, bankCategory, buildEntityStorageQuickSearchFilter, buildWorkflowInstanceCartableDemoRows, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, chatMessageMock, chatMock, checkboxInterface, childCountMiddleware, clearEntityDefinitionFirestoreCollections, colorInterface, computeDiff, contactInterface, conversationDemoSeedUserIds, createFileCastMiddleware, createWidgetLayoutConfig, dateInterface, dateTimeInterface, descriptionInterface, documentFolderSyncMiddleware, emailInterface, entityDefDb, entityValidationMiddleware, fileUploaderInterface, finalizeActivityCategoryItemCounts, findEmployeeById, folderStorageMiddleware, groupOrderItemCalculatorMiddleware, historyMiddleware, identifierCommitMiddleware, imageInterface, inspectionOkXNaInterface, loadMockPropertyDefinitions, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, mergeQuickSearchIntoRequest, metadataCategoryMocks, mockParticipantIndexForSecurityUserId, 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 };
|
|
4127
4133
|
export type { AXCBookmarkEntity, AXCEntityStorageBackendType, AXCEntityStorageInsertInput, AXCEntityStorageInsertOutput, AXCEntityStorageQueryInput, AXCEntityStorageQueryResult, AXCFirestoreConfig, AXCLeaveRequestMockDto, AXCPositionAssignmentMockDto, AXCWorkflowExecutionStore, AXMAiManagementAssistMockModel, AXMAiManagementModelMockModel, AXMApplicationManagementApplicationCategoryMockModel, AXMOrganizationManagementBusinessUnitMockModel, AXMOrganizationManagementJobDefinitionMockModel, AXMOrganizationManagementJobLevelMockModel, AXMOrganizationManagementPositionMockModel, AXMOrganizationManagementResponsibilityMockModel, AXMOrganizationManagementTeamBusinessUnitMockModel, AXMOrganizationManagementTeamMemberMockModel, AXMOrganizationManagementTeamMemberRoleMockModel, AXMOrganizationManagementTeamMockModel, AXMTag, AXPLogRow, AXPRuleRow, AXPSeqRow, AXPTextTemplateRenderRequest, AXPTextTemplateRenderResult, AXPVersionChange, AXPVersionEntry, AXPVersionStream, AutomationCommandDto, AutomationMockDto, CanonicalChange, CanonicalChangeOp, EntityDefinitionFirestoreSnapshotFile, FirestoreSnapshotOperation, MockUserPassCredentials, QuestionBankItemCategoryTitle, QuestionBankItemMockDto, QuestionnaireCalculationMockDto, QuestionnaireCalculationMockResultKind, QuestionnaireCategoryTitle, QuestionnaireMockDto, ShowMetaDataFormPopupMockInput, Task, TaskStatus, TaskTemplate, TaskType, UIDiffRow, VersionedFileInfo, WorkflowInstanceEntityBookmark };
|