@acorex/connectivity 21.0.0-next.45 → 21.0.0-next.47
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-D8bzYltA.mjs → acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs} +1217 -864
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs.map +1 -0
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-Cr4KK7dn.mjs → acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-Cr4KK7dn.mjs.map → acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-BqnmiAgI.mjs → acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-BqnmiAgI.mjs.map → acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-D3NPqs6A.mjs → acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-D3NPqs6A.mjs.map → acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-tQbAVOfm.mjs → acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-tQbAVOfm.mjs.map → acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-BjwkpUBF.mjs → acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-user-roles-for-list-column.query-BjwkpUBF.mjs.map → acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs.map} +1 -1
- package/fesm2022/acorex-connectivity-mock.mjs +1 -1
- package/package.json +2 -2
- package/types/acorex-connectivity-mock.d.ts +26 -10
- package/fesm2022/acorex-connectivity-mock-acorex-connectivity-mock-D8bzYltA.mjs.map +0 -1
|
@@ -22,21 +22,22 @@ import { RootConfig as RootConfig$2, AXMPermissionsKeys, AXMApplicationService,
|
|
|
22
22
|
import { AXMAssetManagementFeatureKeys, RootConfig as RootConfig$4, AXMAssetStatus } from '@acorex/modules/asset-management';
|
|
23
23
|
import { AXMAssessmentManagementFeatureKeys, RootConfig as RootConfig$3, AXMAssessmentManagementPermissionKeys } from '@acorex/modules/assessment-management';
|
|
24
24
|
import { AXPCommonFeatureKeys, AXPWidgetsList } from '@acorex/modules/common';
|
|
25
|
+
import { AXPReportManagementFeatureKeys, RootConfig as RootConfig$t, AXPReportViewerService } from '@acorex/modules/report-management';
|
|
25
26
|
import { AXMDataManagementFeatureKeys, AXMPermissionsKeys as AXMPermissionsKeys$2, RootConfig as RootConfig$d, AXMQueryServiceImpl, ShowMetaDataFormPopupCommand, ShowMetaDataBuilderPopupCommand, AXMQueryService } from '@acorex/modules/data-management';
|
|
26
|
-
import { AXPHumanCapitalManagementFeatureKeys, AXMPermissionsKeys as AXMPermissionsKeys$
|
|
27
|
+
import { AXPHumanCapitalManagementFeatureKeys, AXMPermissionsKeys as AXMPermissionsKeys$6, RootConfig as RootConfig$j, AXM_POSITION_ASSIGNMENT_OVERLAPPING_STATUS_IDS } from '@acorex/modules/human-capital-management';
|
|
27
28
|
import { RootConfig as RootConfig$5 } from '@acorex/modules/locale-management';
|
|
28
29
|
import { AXMPermissionsKeys as AXMPermissionsKeys$1, AXMSubscriptionManagementSubscriptionEntityService, AXMSubscriptionManagementSubscriptionPlanItemEntityService, RootConfig as RootConfig$w } from '@acorex/modules/subscription-management';
|
|
29
30
|
import { AXPSecurityManagementPermissionKeys, AXMUserAccessState, resolveAXMUserEffectiveState, RootConfig as RootConfig$6, AXMUsersEntityService, AXMPolicyService } from '@acorex/modules/security-management';
|
|
30
31
|
import { AXMTenantManagementPermissionsKeys, AXMTenantService, AXMTenantManagementTenantUserEntityService, RootConfig as RootConfig$z } from '@acorex/modules/tenant-management';
|
|
31
|
-
import { AXMPermissionsKeys as AXMPermissionsKeys$
|
|
32
|
+
import { AXMPermissionsKeys as AXMPermissionsKeys$5, RootConfig as RootConfig$e, AXMDocumentTypeServiceImpl, AXPDocumentManagementService } from '@acorex/modules/document-management';
|
|
32
33
|
import { AXMSettingsManagementPermissionKeys } from '@acorex/modules/settings-management';
|
|
33
|
-
import { AXMPermissionsKeys as AXMPermissionsKeys$3, RootConfig as RootConfig$y, AXPWorkflowTaskProvider } from '@acorex/modules/task-management';
|
|
34
|
+
import { AXMPermissionsKeys as AXMPermissionsKeys$3, RootConfig as RootConfig$y, AXPWorkflowTaskProvider, matchesTaskBoardAssigneeFilter } from '@acorex/modules/task-management';
|
|
35
|
+
import { AXMPermissionsKeys as AXMPermissionsKeys$4, AXMChatConversationApi, AXMChatMessageApi, axmAssistLastTranscriptLine, axmBuildAssistTranscriptLinePayload, AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, AXMChatRealtimeApi, AXMChatUserApi, axmIsAssistPeerParticipant, AXMChatManagementService, AXMChatRealtimeService, AXMCommentManagementService, AXMCommentRealtimeService, RootConfig as RootConfig$a } from '@acorex/modules/conversation';
|
|
34
36
|
import { RootConfig as RootConfig$7 } from '@acorex/modules/business-core';
|
|
35
37
|
import { RootConfig as RootConfig$8 } from '@acorex/modules/calendar-management';
|
|
36
38
|
import { AXFileService } from '@acorex/core/file';
|
|
37
39
|
import { RootConfig as RootConfig$9, resolveTextTemplateLocalizedString, replaceTextTemplatePlaceholders, AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY } from '@acorex/modules/content-management';
|
|
38
40
|
import { conversationSharedStorage, axConversationIndexedDbStorage, AXConversationAiResponderService } from '@acorex/components/conversation2';
|
|
39
|
-
import { AXMChatConversationApi, AXMChatMessageApi, axmExtractAssistFinalDeliverableFromTranscript, AXMChatRealtimeApi, AXMChatUserApi, axmIsAssistPeerParticipant, AXMChatManagementService, AXMChatRealtimeService, AXMCommentManagementService, AXMCommentRealtimeService, RootConfig as RootConfig$a } from '@acorex/modules/conversation';
|
|
40
41
|
import { AXMNotificationEntityService, RootConfig as RootConfig$p, AXMNotificationEntityServiceImpl, AXMNotificationRealtimeService, NOTIFICATION_MANAGEMENT_EMAIL_SEND_COMMAND_KEY } from '@acorex/modules/notification-management';
|
|
41
42
|
import { AXToastService } from '@acorex/components/toast';
|
|
42
43
|
import { Observable, filter, pairwise, map, merge, take, throttleTime } from 'rxjs';
|
|
@@ -72,7 +73,6 @@ import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
|
|
|
72
73
|
import { RootConfig as RootConfig$q } from '@acorex/modules/person-core';
|
|
73
74
|
import { RootConfig as RootConfig$r } from '@acorex/modules/procurement-management';
|
|
74
75
|
import { RootConfig as RootConfig$s } from '@acorex/modules/product-catalog';
|
|
75
|
-
import { RootConfig as RootConfig$t, AXPReportViewerService } from '@acorex/modules/report-management';
|
|
76
76
|
import { RootConfig as RootConfig$u } from '@acorex/modules/project-management';
|
|
77
77
|
import { RootConfig as RootConfig$v } from '@acorex/modules/reservation-management';
|
|
78
78
|
import { AXMSessionStatusTypes, AXMDeviceSessionsServiceImpl, AXMDeviceSessionsService, AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';
|
|
@@ -81,7 +81,7 @@ import { RootConfig as RootConfig$x } from '@acorex/modules/supplier-management'
|
|
|
81
81
|
import { AXPLayoutBuilderService } from '@acorex/platform/layout/builder';
|
|
82
82
|
import { Router } from '@angular/router';
|
|
83
83
|
import { AXPWorkflowManager, AXPWorkflowDefinitionService, AXPActivityDefinitionService, AXP_WORKFLOW_PROVIDER, WorkflowExpressionScopeService, AXPWorkflowEngineError, AXP_WORKFLOW_ERROR_CODES, AXP_WORKFLOW_ENGINE } from '@acorex/platform/workflow';
|
|
84
|
-
import { RootConfig as RootConfig$A, AXMPermissionsKeys as AXMPermissionsKeys$
|
|
84
|
+
import { RootConfig as RootConfig$A, AXMPermissionsKeys as AXMPermissionsKeys$7 } from '@acorex/modules/workflow-management';
|
|
85
85
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
86
86
|
import { RootConfig as RootConfig$B } from '@acorex/modules/maintenance-management';
|
|
87
87
|
import { AXCExternalAuthorizationService } from '@acorex/connectivity/utils';
|
|
@@ -13404,7 +13404,7 @@ async function clearEntityDefinitionFirestoreCollections(db) {
|
|
|
13404
13404
|
|
|
13405
13405
|
//#region ---- Imports ----
|
|
13406
13406
|
//#endregion
|
|
13407
|
-
const M$
|
|
13407
|
+
const M$1b = createMultiLanguageString;
|
|
13408
13408
|
//#region ---- Stable IDs ----
|
|
13409
13409
|
/**
|
|
13410
13410
|
* Fixed UUIDs for OpenAI endpoint rows (referenced from AI model catalog).
|
|
@@ -13430,24 +13430,24 @@ function decodeMockOpenAiApiKeySecret(encoded) {
|
|
|
13430
13430
|
const OPEN_AI_ENDPOINT_MOCK = [
|
|
13431
13431
|
{
|
|
13432
13432
|
id: AXMAiOpenAiEndpointStableIds.openAiDirect,
|
|
13433
|
-
title: M$
|
|
13434
|
-
description: M$
|
|
13433
|
+
title: M$1b('OpenAI (direct)', 'OpenAI (مستقیم)'),
|
|
13434
|
+
description: M$1b('Official OpenAI API; set your API key on this row. Base URL ends at /v1.', 'API رسمی OpenAI؛ کلید API را در این رکورد تنظیم کنید. آدرس پایه با /v1 تمام میشود.'),
|
|
13435
13435
|
apiBase: 'https://api.openai.com/v1',
|
|
13436
13436
|
apiKey: decodeMockOpenAiApiKeySecret(OPEN_AI_DIRECT_MOCK_API_KEY_B64),
|
|
13437
13437
|
stream: true,
|
|
13438
13438
|
},
|
|
13439
13439
|
{
|
|
13440
13440
|
id: AXMAiOpenAiEndpointStableIds.demis,
|
|
13441
|
-
title: M$
|
|
13442
|
-
description: M$
|
|
13441
|
+
title: M$1b('Demis', 'دیمیس'),
|
|
13442
|
+
description: M$1b('DemisCo test API; OpenAI-compatible. Base URL ends at /v1.', 'API آزمایشی DemisCo؛ سازگار با OpenAI. آدرس پایه با /v1 تمام میشود.'),
|
|
13443
13443
|
apiBase: 'https://testapi.demisco.ai/v1',
|
|
13444
13444
|
apiKey: 'sk_live_H8haMWMzT41UqWNlCQHifOw__hWpbwNuXFjIn9tkW8o',
|
|
13445
13445
|
stream: true,
|
|
13446
13446
|
},
|
|
13447
13447
|
{
|
|
13448
13448
|
id: AXMAiOpenAiEndpointStableIds.lmStudio,
|
|
13449
|
-
title: M$
|
|
13450
|
-
description: M$
|
|
13449
|
+
title: M$1b('LM Studio', 'LM Studio'),
|
|
13450
|
+
description: M$1b('Local OpenAI-compatible API (LM Studio). Base URL ends at /v1. Disabled by default; enable when the server is running.', 'API محلی سازگار با OpenAI (LM Studio). آدرس پایه با /v1 تمام میشود. بهطور پیشفرض غیرفعال است؛ پس از اجرای سرور فعال کنید.'),
|
|
13451
13451
|
apiBase: 'http://localhost:1234/v1',
|
|
13452
13452
|
apiKey: '',
|
|
13453
13453
|
/** Local servers often behave better with one-shot JSON completions while debugging. */
|
|
@@ -13456,8 +13456,8 @@ const OPEN_AI_ENDPOINT_MOCK = [
|
|
|
13456
13456
|
},
|
|
13457
13457
|
{
|
|
13458
13458
|
id: AXMAiOpenAiEndpointStableIds.ollama,
|
|
13459
|
-
title: M$
|
|
13460
|
-
description: M$
|
|
13459
|
+
title: M$1b('Ollama', 'Ollama'),
|
|
13460
|
+
description: M$1b('Local OpenAI-compatible API (Ollama). Base URL ends at /v1. Disabled by default; enable when the server is running.', 'API محلی سازگار با OpenAI (Ollama). آدرس پایه با /v1 تمام میشود. بهطور پیشفرض غیرفعال است؛ پس از اجرای سرور فعال کنید.'),
|
|
13461
13461
|
apiBase: 'http://localhost:11434/v1',
|
|
13462
13462
|
apiKey: '',
|
|
13463
13463
|
stream: false,
|
|
@@ -13468,7 +13468,7 @@ const OPEN_AI_ENDPOINT_MOCK = [
|
|
|
13468
13468
|
|
|
13469
13469
|
//#region ---- Imports ----
|
|
13470
13470
|
//#endregion
|
|
13471
|
-
const M$
|
|
13471
|
+
const M$1a = createMultiLanguageString;
|
|
13472
13472
|
//#region ---- Stable IDs (seed + assist references) ----
|
|
13473
13473
|
/**
|
|
13474
13474
|
* Fixed UUIDs so assists and settings can reference models deterministically across reseeds.
|
|
@@ -13497,15 +13497,15 @@ const AXMAiModelStableIds = {
|
|
|
13497
13497
|
function mockOpenAiEndpointSnapshot(endpointId) {
|
|
13498
13498
|
switch (endpointId) {
|
|
13499
13499
|
case AXMAiOpenAiEndpointStableIds.openAiDirect:
|
|
13500
|
-
return { id: endpointId, title: M$
|
|
13500
|
+
return { id: endpointId, title: M$1a('OpenAI (direct)', 'OpenAI (مستقیم)') };
|
|
13501
13501
|
case AXMAiOpenAiEndpointStableIds.demis:
|
|
13502
|
-
return { id: endpointId, title: M$
|
|
13502
|
+
return { id: endpointId, title: M$1a('Demis', 'دیمیس') };
|
|
13503
13503
|
case AXMAiOpenAiEndpointStableIds.lmStudio:
|
|
13504
|
-
return { id: endpointId, title: M$
|
|
13504
|
+
return { id: endpointId, title: M$1a('LM Studio', 'LM Studio') };
|
|
13505
13505
|
case AXMAiOpenAiEndpointStableIds.ollama:
|
|
13506
|
-
return { id: endpointId, title: M$
|
|
13506
|
+
return { id: endpointId, title: M$1a('Ollama', 'Ollama') };
|
|
13507
13507
|
default:
|
|
13508
|
-
return { id: endpointId, title: M$
|
|
13508
|
+
return { id: endpointId, title: M$1a('Unknown Endpoint', 'نقطه پایان نامشخص') };
|
|
13509
13509
|
}
|
|
13510
13510
|
}
|
|
13511
13511
|
//#endregion
|
|
@@ -13514,8 +13514,8 @@ const AI_MODEL_MOCK = [
|
|
|
13514
13514
|
{
|
|
13515
13515
|
id: AXMAiModelStableIds.gemini25Flash,
|
|
13516
13516
|
name: 'gemini-2.5-flash',
|
|
13517
|
-
title: M$
|
|
13518
|
-
description: M$
|
|
13517
|
+
title: M$1a('Gemini 2.5 Flash', 'جمینای ۲٫۵ فلش'),
|
|
13518
|
+
description: M$1a('Fast and capable', 'سریع و توانا'),
|
|
13519
13519
|
chatTransport: 'gemini',
|
|
13520
13520
|
modelPurposes: ['chat', 'vision', 'speech'],
|
|
13521
13521
|
maxContextTokens: 1_048_576,
|
|
@@ -13528,8 +13528,8 @@ const AI_MODEL_MOCK = [
|
|
|
13528
13528
|
{
|
|
13529
13529
|
id: AXMAiModelStableIds.gpt54,
|
|
13530
13530
|
name: 'gpt-5.4',
|
|
13531
|
-
title: M$
|
|
13532
|
-
description: M$
|
|
13531
|
+
title: M$1a('GPT-5.4', 'GPT-5.4'),
|
|
13532
|
+
description: M$1a('OpenAI Standard: gpt-5.4 (<272K context) per pricing docs', 'استاندارد OpenAI: gpt-5.4 (زیر ۲۷۲K زمینه) طبق مستندات قیمتگذاری'),
|
|
13533
13533
|
chatTransport: 'openai',
|
|
13534
13534
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.openAiDirect,
|
|
13535
13535
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.openAiDirect),
|
|
@@ -13544,8 +13544,8 @@ const AI_MODEL_MOCK = [
|
|
|
13544
13544
|
{
|
|
13545
13545
|
id: AXMAiModelStableIds.gpt54Mini,
|
|
13546
13546
|
name: 'gpt-5.4-mini',
|
|
13547
|
-
title: M$
|
|
13548
|
-
description: M$
|
|
13547
|
+
title: M$1a('GPT-5.4 Mini', 'GPT-5.4 مینی'),
|
|
13548
|
+
description: M$1a('OpenAI Standard pricing (flagship table)', 'قیمتگذاری استاندارد OpenAI (جدول پرچمدار)'),
|
|
13549
13549
|
chatTransport: 'openai',
|
|
13550
13550
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.openAiDirect,
|
|
13551
13551
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.openAiDirect),
|
|
@@ -13560,8 +13560,8 @@ const AI_MODEL_MOCK = [
|
|
|
13560
13560
|
{
|
|
13561
13561
|
id: AXMAiModelStableIds.gpt54Nano,
|
|
13562
13562
|
name: 'gpt-5.4-nano',
|
|
13563
|
-
title: M$
|
|
13564
|
-
description: M$
|
|
13563
|
+
title: M$1a('GPT-5.4 Nano', 'GPT-5.4 نانو'),
|
|
13564
|
+
description: M$1a('OpenAI Standard pricing (flagship table)', 'قیمتگذاری استاندارد OpenAI (جدول پرچمدار)'),
|
|
13565
13565
|
chatTransport: 'openai',
|
|
13566
13566
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.openAiDirect,
|
|
13567
13567
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.openAiDirect),
|
|
@@ -13576,24 +13576,24 @@ const AI_MODEL_MOCK = [
|
|
|
13576
13576
|
{
|
|
13577
13577
|
id: AXMAiModelStableIds.demisAi,
|
|
13578
13578
|
name: 'c421bdd1-f3ea-43c0-a1d9-19bc92907304',
|
|
13579
|
-
title: M$
|
|
13580
|
-
description: M$
|
|
13579
|
+
title: M$1a('Demis AI Core (central payment)', 'هسته دیمیس AI (پرداخت متمرکز)'),
|
|
13580
|
+
description: M$1a('Demisco agent chat model (model_uuid). Used with the centralized payment guide agent; transport Demis.', 'مدل چت عامل Demisco (model_uuid). همراه عامل راهنمای پرداخت متمرکز؛ حملونقل Demis.'),
|
|
13581
13581
|
chatTransport: 'demis',
|
|
13582
13582
|
modelPurposes: ['chat'],
|
|
13583
13583
|
},
|
|
13584
13584
|
{
|
|
13585
13585
|
id: AXMAiModelStableIds.imagen4Generate001,
|
|
13586
13586
|
name: 'imagen-4.0-generate-001',
|
|
13587
|
-
title: M$
|
|
13588
|
-
description: M$
|
|
13587
|
+
title: M$1a('Imagen 4 (Gemini API)', 'Imagen 4 (Gemini API)'),
|
|
13588
|
+
description: M$1a('Text-to-image via Gemini API predict endpoint (paid tier; English prompts per Google docs)', 'متنبهتصویر از طریق endpoint پیشبینی Gemini API (لایه پولی؛ پرامپت انگلیسی طبق مستندات گوگل)'),
|
|
13589
13589
|
chatTransport: 'gemini',
|
|
13590
13590
|
modelPurposes: ['image'],
|
|
13591
13591
|
},
|
|
13592
13592
|
{
|
|
13593
13593
|
id: AXMAiModelStableIds.openaiGptImage1,
|
|
13594
13594
|
name: 'gpt-image-1',
|
|
13595
|
-
title: M$
|
|
13596
|
-
description: M$
|
|
13595
|
+
title: M$1a('OpenAI image (gpt-image-1)', 'تصویر OpenAI (gpt-image-1)'),
|
|
13596
|
+
description: M$1a('Image generation via OpenAI /v1/images/generations', 'تولید تصویر از طریق OpenAI /v1/images/generations'),
|
|
13597
13597
|
chatTransport: 'openai',
|
|
13598
13598
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.openAiDirect,
|
|
13599
13599
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.openAiDirect),
|
|
@@ -13602,8 +13602,8 @@ const AI_MODEL_MOCK = [
|
|
|
13602
13602
|
{
|
|
13603
13603
|
id: AXMAiModelStableIds.openaiWhisper1,
|
|
13604
13604
|
name: 'whisper-1',
|
|
13605
|
-
title: M$
|
|
13606
|
-
description: M$
|
|
13605
|
+
title: M$1a('OpenAI Whisper (speech-to-text)', 'OpenAI Whisper (گفتار به متن)'),
|
|
13606
|
+
description: M$1a('Audio transcription via OpenAI /v1/audio/transcriptions', 'رونویسی صوت از طریق OpenAI /v1/audio/transcriptions'),
|
|
13607
13607
|
chatTransport: 'openai',
|
|
13608
13608
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.openAiDirect,
|
|
13609
13609
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.openAiDirect),
|
|
@@ -13612,8 +13612,8 @@ const AI_MODEL_MOCK = [
|
|
|
13612
13612
|
{
|
|
13613
13613
|
id: AXMAiModelStableIds.openaiTts1,
|
|
13614
13614
|
name: 'tts-1',
|
|
13615
|
-
title: M$
|
|
13616
|
-
description: M$
|
|
13615
|
+
title: M$1a('OpenAI TTS (tts-1)', 'OpenAI TTS (tts-1)'),
|
|
13616
|
+
description: M$1a('Text-to-speech via OpenAI /v1/audio/speech', 'متنبهگفتار از طریق OpenAI /v1/audio/speech'),
|
|
13617
13617
|
chatTransport: 'openai',
|
|
13618
13618
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.openAiDirect,
|
|
13619
13619
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.openAiDirect),
|
|
@@ -13622,8 +13622,8 @@ const AI_MODEL_MOCK = [
|
|
|
13622
13622
|
{
|
|
13623
13623
|
id: AXMAiModelStableIds.lmStudioQwen35_9b,
|
|
13624
13624
|
name: 'qwen/qwen3.5-9b',
|
|
13625
|
-
title: M$
|
|
13626
|
-
description: M$
|
|
13625
|
+
title: M$1a('Qwen 3.5 9B (LM Studio)', 'Qwen 3.5 9B (LM Studio)'),
|
|
13626
|
+
description: M$1a('OpenAI-compatible chat; LM Studio endpoint (seed disabled).', 'چت سازگار با OpenAI؛ نقطه LM Studio (seed غیرفعال).'),
|
|
13627
13627
|
chatTransport: 'openai',
|
|
13628
13628
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.lmStudio,
|
|
13629
13629
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.lmStudio),
|
|
@@ -13634,8 +13634,8 @@ const AI_MODEL_MOCK = [
|
|
|
13634
13634
|
{
|
|
13635
13635
|
id: AXMAiModelStableIds.lmStudioQwen3_4b,
|
|
13636
13636
|
name: 'qwen3-4b-instruct-2507',
|
|
13637
|
-
title: M$
|
|
13638
|
-
description: M$
|
|
13637
|
+
title: M$1a('Qwen3 4B Instruct (LM Studio)', 'Qwen3 4B Instruct (LM Studio)'),
|
|
13638
|
+
description: M$1a('OpenAI-compatible chat; LM Studio endpoint (seed disabled).', 'چت سازگار با OpenAI؛ نقطه LM Studio (seed غیرفعال).'),
|
|
13639
13639
|
chatTransport: 'openai',
|
|
13640
13640
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.lmStudio,
|
|
13641
13641
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.lmStudio),
|
|
@@ -13646,8 +13646,8 @@ const AI_MODEL_MOCK = [
|
|
|
13646
13646
|
{
|
|
13647
13647
|
id: AXMAiModelStableIds.lmStudioGemma3_4b,
|
|
13648
13648
|
name: 'gemma-3-4b-it',
|
|
13649
|
-
title: M$
|
|
13650
|
-
description: M$
|
|
13649
|
+
title: M$1a('Gemma 3 4B IT (LM Studio)', 'Gemma 3 4B IT (LM Studio)'),
|
|
13650
|
+
description: M$1a('OpenAI-compatible chat; LM Studio endpoint (seed disabled).', 'چت سازگار با OpenAI؛ نقطه LM Studio (seed غیرفعال).'),
|
|
13651
13651
|
chatTransport: 'openai',
|
|
13652
13652
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.lmStudio,
|
|
13653
13653
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.lmStudio),
|
|
@@ -13658,8 +13658,8 @@ const AI_MODEL_MOCK = [
|
|
|
13658
13658
|
{
|
|
13659
13659
|
id: AXMAiModelStableIds.ollamaQwen35_9b,
|
|
13660
13660
|
name: 'qwen/qwen3.5-9b',
|
|
13661
|
-
title: M$
|
|
13662
|
-
description: M$
|
|
13661
|
+
title: M$1a('Qwen 3.5 9B (Ollama)', 'Qwen 3.5 9B (Ollama)'),
|
|
13662
|
+
description: M$1a('OpenAI-compatible chat; Ollama endpoint (seed disabled).', 'چت سازگار با OpenAI؛ نقطه Ollama (seed غیرفعال).'),
|
|
13663
13663
|
chatTransport: 'openai',
|
|
13664
13664
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.ollama,
|
|
13665
13665
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.ollama),
|
|
@@ -13670,8 +13670,8 @@ const AI_MODEL_MOCK = [
|
|
|
13670
13670
|
{
|
|
13671
13671
|
id: AXMAiModelStableIds.ollamaQwen3_4b,
|
|
13672
13672
|
name: 'qwen3-4b-instruct-2507',
|
|
13673
|
-
title: M$
|
|
13674
|
-
description: M$
|
|
13673
|
+
title: M$1a('Qwen3 4B Instruct (Ollama)', 'Qwen3 4B Instruct (Ollama)'),
|
|
13674
|
+
description: M$1a('OpenAI-compatible chat; Ollama endpoint (seed disabled).', 'چت سازگار با OpenAI؛ نقطه Ollama (seed غیرفعال).'),
|
|
13675
13675
|
chatTransport: 'openai',
|
|
13676
13676
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.ollama,
|
|
13677
13677
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.ollama),
|
|
@@ -13682,8 +13682,8 @@ const AI_MODEL_MOCK = [
|
|
|
13682
13682
|
{
|
|
13683
13683
|
id: AXMAiModelStableIds.ollamaGemma3_4b,
|
|
13684
13684
|
name: 'gemma-3-4b-it',
|
|
13685
|
-
title: M$
|
|
13686
|
-
description: M$
|
|
13685
|
+
title: M$1a('Gemma 3 4B IT (Ollama)', 'Gemma 3 4B IT (Ollama)'),
|
|
13686
|
+
description: M$1a('OpenAI-compatible chat; Ollama endpoint (seed disabled).', 'چت سازگار با OpenAI؛ نقطه Ollama (seed غیرفعال).'),
|
|
13687
13687
|
chatTransport: 'openai',
|
|
13688
13688
|
openAiEndpointId: AXMAiOpenAiEndpointStableIds.ollama,
|
|
13689
13689
|
openAiEndpoint: mockOpenAiEndpointSnapshot(AXMAiOpenAiEndpointStableIds.ollama),
|
|
@@ -13811,7 +13811,7 @@ const AXM_AI_REGISTRY_QUERY_NAME = {
|
|
|
13811
13811
|
|
|
13812
13812
|
//#region ---- Imports ----
|
|
13813
13813
|
//#endregion
|
|
13814
|
-
const M$
|
|
13814
|
+
const M$19 = createMultiLanguageString;
|
|
13815
13815
|
//#region ---- Helpers ----
|
|
13816
13816
|
function aiAgentCommandBinding(registryId, options = {}) {
|
|
13817
13817
|
return {
|
|
@@ -13928,8 +13928,8 @@ const AI_AGENT_MOCK = [
|
|
|
13928
13928
|
{
|
|
13929
13929
|
id: AXMAiAgentPlatformHelpId,
|
|
13930
13930
|
name: 'platform-help',
|
|
13931
|
-
title: M$
|
|
13932
|
-
description: M$
|
|
13931
|
+
title: M$19('Platform Help and Navigation', 'راهنمای پلتفرم و ناوبری'),
|
|
13932
|
+
description: M$19('Guides **end users** on how to use ACoreX: where to go in the app (menu discovery via **ListPlatformNavigationForAi**) and which **Module.Entity** backs a screen (via **ListRegisteredEntities**). Answers must sound **human and non-technical** unless the user asks for developer details. Read-only queries only; delegate storage/CRUD to **platform-entity**.', 'راهنمای **کاربر نهایی** برای استفاده از ACoreX: مسیر منو (**ListPlatformNavigationForAi**) و تطبیق موجودیت (**ListRegisteredEntities**). پاسخها باید **ساده و غیرفنی** باشند مگر کاربر جزئیات توسعهدهنده بخواهد. فقط پرسوجو؛ برای CRUD سرپرست **platform-entity** را واگذار میکند.'),
|
|
13933
13933
|
toolIds: [],
|
|
13934
13934
|
queryIds: [
|
|
13935
13935
|
aiAgentQueryBinding(axcResolveQueryRegistrySeedId(AXM_AI_REGISTRY_QUERY_NAME.listPlatformNavigationForAi)),
|
|
@@ -13969,8 +13969,8 @@ const AI_AGENT_MOCK = [
|
|
|
13969
13969
|
{
|
|
13970
13970
|
id: AXMAiAgentWidgetFollowUpChipsLayoutId,
|
|
13971
13971
|
name: 'widget-follow-up-chips-layout',
|
|
13972
|
-
title: M$
|
|
13973
|
-
description: M$
|
|
13972
|
+
title: M$19('Follow-Up Chips Agent', 'دستیار چیسپهای پیشنهادی'),
|
|
13973
|
+
description: M$19('Builds **follow-up chip** rows (**flex-layout** + **button-action**) for Conversation assist: discover option keys via scoped **Widgets:GetForAI** (`agent: widget-follow-up-chips-layout`), compose triggers that call **`methods.aiAssistFillComposerPrompt`** / **`methods.aiAssistNavigate`**, validate with **ValidateLayoutJsonForAi**. Supervisor wraps as {"type":"node","content":...}.', 'ردیف **چیسپ پیشنهادی** (**flex-layout** + **button-action**) برای دستیار مکالمه؛ کشف پارامتر با **Widgets:GetForAI** با scope چیسپ، trigger با **methods.aiAssist*** و اعتبارسنجی با **ValidateLayoutJsonForAi**؛ سرپرست خروجی را در envelope میپیچد.'),
|
|
13974
13974
|
toolIds: [
|
|
13975
13975
|
aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.aiFormbuilderValidateLayoutJsonForAi)),
|
|
13976
13976
|
],
|
|
@@ -14002,8 +14002,8 @@ const AI_AGENT_MOCK = [
|
|
|
14002
14002
|
{
|
|
14003
14003
|
id: AXMAiAgentPlatformEntityId,
|
|
14004
14004
|
name: 'platform-entity',
|
|
14005
|
-
title: M$
|
|
14006
|
-
description: M$
|
|
14005
|
+
title: M$19('Platform Entity Agent', 'دستیار موجودیت پلتفرم'),
|
|
14006
|
+
description: M$19('End-to-end work with platform entities: discover Module.Entity keys and field definitions, list or search stored rows, and create or update rows through the standard entity commands. Returns factual text/JSON — for tabular or form UI in chat, the supervisor should also call the **widget-form-layout** specialist; for **charts** (bar, line, donut, gauge, funnel, heatmap) **widget-chart-layout**; for clickable follow-up chips in Conversation assist, **widget-follow-up-chips-layout**.', 'کار با موجودیتهای پلتفرم: کشف کلیدهای Module.Entity و تعاریف فیلدها، فهرست یا جستجوی رکوردها، و ایجاد یا بهروزرسانی از طریق دستورات استاندارد موجودیت. خروجی متن/JSON واقعی — برای UI جدولی در چت سرپرست **widget-form-layout**، برای **نمودار** (میله، خط، …) **widget-chart-layout**، و برای چیسپ پیشنهادی در مکالمه **widget-follow-up-chips-layout** را فراخوانی کند.'),
|
|
14007
14007
|
toolIds: [
|
|
14008
14008
|
aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.entityCreate)),
|
|
14009
14009
|
aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.entityUpdate)),
|
|
@@ -14028,8 +14028,8 @@ const AI_AGENT_MOCK = [
|
|
|
14028
14028
|
{
|
|
14029
14029
|
id: AXMAiAgentWidgetFormLayoutId,
|
|
14030
14030
|
name: 'widget-form-layout',
|
|
14031
|
-
title: M$
|
|
14032
|
-
description: M$
|
|
14031
|
+
title: M$19('Form Layout Agent', 'دستیار چیدمان فرم'),
|
|
14032
|
+
description: M$19('Builds platform widget trees for forms and chat UI: **repeater-layout**, **select-editor** + **dataSource** (use **ListRegisteredDataSources**), **lookup-editor** + **ListRegisteredEntities**, **`text-editor`** last. Uses scoped **Widgets:GetForAI** (`agent: widget-form-layout`) and **ValidateLayoutJsonForAi**. Supervisor wraps as {"type":"node","content":...}.', 'درخت ویجت پلتفرم برای فرم و UI چت؛ repeater-layout، select-editor با dataSource، lookup-editor با ListRegisteredEntities، و در نهایت text-editor. از Widgets:GetForAI با scope فرم و ValidateLayoutJsonForAi استفاده میکند؛ سرپرست خروجی را در {"type":"node","content":...} میپیچد.'),
|
|
14033
14033
|
toolIds: [
|
|
14034
14034
|
aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.aiFormbuilderValidateLayoutJsonForAi)),
|
|
14035
14035
|
],
|
|
@@ -14192,8 +14192,8 @@ const AI_AGENT_MOCK = [
|
|
|
14192
14192
|
{
|
|
14193
14193
|
id: AXMAiAgentWidgetChartLayoutId,
|
|
14194
14194
|
name: 'widget-chart-layout',
|
|
14195
|
-
title: M$
|
|
14196
|
-
description: M$
|
|
14195
|
+
title: M$19('Chart Generator Agent', 'دستیار تولید نمودار'),
|
|
14196
|
+
description: M$19('Builds **chart visualization** widget trees (bar, line, donut, gauge, funnel, heatmap) as renderable layout JSON for chat or embedded UI — independent chart specialist. Uses scoped **Widgets:GetForAI** (`agent: widget-chart-layout`), **ListRegisteredDataSources**, and **ValidateLayoutJsonForAi**. Supervisor wraps as {"type":"node","content":...}.', 'درخت ویجت **نمودار** (میله، خط، دونات، گیج، قیف، heatmap) بهصورت JSON چیدمان قابل رندر برای چت؛ دستیار مستقل نمودار. از Widgets:GetForAI با scope نمودار، ListRegisteredDataSources و ValidateLayoutJsonForAi استفاده میکند.'),
|
|
14197
14197
|
toolIds: [
|
|
14198
14198
|
aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.aiFormbuilderValidateLayoutJsonForAi)),
|
|
14199
14199
|
],
|
|
@@ -14230,8 +14230,8 @@ const AI_AGENT_MOCK = [
|
|
|
14230
14230
|
{
|
|
14231
14231
|
id: AXMAiAgentCommonToolsId,
|
|
14232
14232
|
name: 'current-time',
|
|
14233
|
-
title: M$
|
|
14234
|
-
description: M$
|
|
14233
|
+
title: M$19('Current Time', 'زمان فعلی'),
|
|
14234
|
+
description: M$19('ONLY when the user explicitly asks for the current date/time, clock, timezone, or locale-specific time. Do NOT use for greetings, small talk, connectivity tests, or unrelated tasks. Registry tool: common.get_current_time.', 'فقط وقتی کاربر صریحاً تاریخ/زمان فعلی، ساعت، منطقهٔ زمانی یا زمان محلی را میخواهد. برای احوالپرسی، تست اتصال یا کارهای نامرتبط استفاده نکنید. ابزار رجیستری: common.get_current_time.'),
|
|
14235
14235
|
toolIds: [aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.commonGetCurrentTime))],
|
|
14236
14236
|
queryIds: [],
|
|
14237
14237
|
systemPrompt: [
|
|
@@ -14245,8 +14245,8 @@ const AI_AGENT_MOCK = [
|
|
|
14245
14245
|
{
|
|
14246
14246
|
id: AXMAiAgentImageGenerationId,
|
|
14247
14247
|
name: 'image-generation',
|
|
14248
|
-
title: M$
|
|
14249
|
-
description: M$
|
|
14248
|
+
title: M$19('Image Generation Agent', 'دستیار تولید تصویر'),
|
|
14249
|
+
description: M$19('In-chat image generation when AiManagement:ChatGenerateImage is registered in the command catalog. If no image tool is available, explain that image generation is not configured.', 'تولید تصویر در چت وقتی AiManagement:ChatGenerateImage در کاتالوگ فرمان ثبت شده باشد. اگر ابزار تصویر موجود نیست، توضیح دهید که تولید تصویر پیکربندی نشده است.'),
|
|
14250
14250
|
toolIds: [
|
|
14251
14251
|
aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.imageGeneration), {
|
|
14252
14252
|
// 'modelId': 'a0000001-0000-4000-8000-000000000031'
|
|
@@ -14265,8 +14265,8 @@ const AI_AGENT_MOCK = [
|
|
|
14265
14265
|
{
|
|
14266
14266
|
id: AXMAiAgentSpeechToTextId,
|
|
14267
14267
|
name: 'speech-to-text',
|
|
14268
|
-
title: M$
|
|
14269
|
-
description: M$
|
|
14268
|
+
title: M$19('Speech-to-Text Agent', 'دستیار گفتار به متن'),
|
|
14269
|
+
description: M$19('Transcribes user-attached audio when AiManagement:ChatTranscribeSpeech is registered. Default speech catalog model is set on this assist\u2019s delegated row (options.model).', 'رونویسی صوت پیوستشدهٔ کاربر وقتی AiManagement:ChatTranscribeSpeech ثبت شده باشد. مدل پیشفرض گفتار روی ردیف delegated این assist (options.model) تنظیم میشود.'),
|
|
14270
14270
|
toolIds: [aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.chatTranscribeSpeech))],
|
|
14271
14271
|
queryIds: [],
|
|
14272
14272
|
systemPrompt: [
|
|
@@ -14282,8 +14282,8 @@ const AI_AGENT_MOCK = [
|
|
|
14282
14282
|
{
|
|
14283
14283
|
id: AXMAiAgentTextToSpeechId,
|
|
14284
14284
|
name: 'text-to-speech',
|
|
14285
|
-
title: M$
|
|
14286
|
-
description: M$
|
|
14285
|
+
title: M$19('Text-to-Speech Agent', 'دستیار متن به گفتار'),
|
|
14286
|
+
description: M$19('Spoken audio from text when AiManagement:ChatSynthesizeSpeech is registered. Defaults for model and voice come from this assist\u2019s delegated specialist row (options.model / options.voice).', 'خروجی صوتی از متن وقتی AiManagement:ChatSynthesizeSpeech ثبت شده باشد. پیشفرض مدل و صدا از ردیف specialist delegated این assist (options.model / options.voice) میآید.'),
|
|
14287
14287
|
toolIds: [aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.chatSynthesizeSpeech))],
|
|
14288
14288
|
queryIds: [],
|
|
14289
14289
|
systemPrompt: [
|
|
@@ -14299,8 +14299,8 @@ const AI_AGENT_MOCK = [
|
|
|
14299
14299
|
{
|
|
14300
14300
|
id: AXMAiAgentDocumentOcrId,
|
|
14301
14301
|
name: 'document-ocr',
|
|
14302
|
-
title: M$
|
|
14303
|
-
description: M$
|
|
14302
|
+
title: M$19('Document Understanding Agent', 'دستیار درک اسناد'),
|
|
14303
|
+
description: M$19('Transcribes text from document or photo images (scans, forms, handwriting, medical paperwork). Uses AiManagement:ExtractDocumentText with a stored image fileId. Not a substitute for professional medical interpretation.', 'متن را از تصاویر سند یا عکس (اسکن، فرم، دستخط، پروندهٔ پزشکی) استخراج میکند؛ با AiManagement:ExtractDocumentText و fileId ذخیرهشده. جایگزین تفسیر پزشکی حرفهای نیست.'),
|
|
14304
14304
|
toolIds: [aiAgentCommandBinding(axcResolveCommandRegistrySeedId(AXM_AI_REGISTRY_COMMAND_NAME.extractDocumentText))],
|
|
14305
14305
|
queryIds: [],
|
|
14306
14306
|
systemPrompt: [
|
|
@@ -14316,8 +14316,9 @@ const AI_AGENT_MOCK = [
|
|
|
14316
14316
|
{
|
|
14317
14317
|
id: AXMAiAgentCentralizedPaymentGuideId,
|
|
14318
14318
|
name: '2a0e1e4d-ddfe-4f04-b7ba-2fd307eb5967',
|
|
14319
|
-
title: M$
|
|
14320
|
-
|
|
14319
|
+
title: M$19('Demis', 'دیمیس'),
|
|
14320
|
+
isAssist: true,
|
|
14321
|
+
description: M$19('Priority guide for the centralized commerce payment system. Assist should prefer delegating here whenever the topic is e-wallet or centralized payments (no platform command or query tools). Typical questions: paying via e-wallet, withdrawing from the wallet, charging or topping up the wallet, reporting and transaction history.', 'راهنمای اولویتدار سامانه پرداخت متمرکز تجارت؛ assist برای موضوعات کیف پول الکترونیک و پرداخت متمرکز باید تا حد ممکن این agent را فراخوانی کند (بدون ابزار فرمان یا پرسوجوی داخلی پلتفرم). نمونهٔ سوالات: نحوهٔ پرداخت از طریق کیف پول الکترونیک، برداشت از کیف پول، شارژ کیف پول، گزارشگیری و تاریخچهٔ تراکنشها.'),
|
|
14321
14322
|
toolIds: [],
|
|
14322
14323
|
queryIds: [],
|
|
14323
14324
|
systemPrompt: [
|
|
@@ -14333,13 +14334,13 @@ const AI_AGENT_MOCK = [
|
|
|
14333
14334
|
|
|
14334
14335
|
//#region ---- Imports ----
|
|
14335
14336
|
//#endregion
|
|
14336
|
-
const M$
|
|
14337
|
+
const M$18 = createMultiLanguageString;
|
|
14337
14338
|
//#region ---- Helpers ----
|
|
14338
14339
|
function aiModelRef(catalogId) {
|
|
14339
14340
|
const row = AI_MODEL_MOCK.find((m) => m.id === catalogId);
|
|
14340
14341
|
return {
|
|
14341
14342
|
id: catalogId,
|
|
14342
|
-
title: row?.title ?? M$
|
|
14343
|
+
title: row?.title ?? M$18('Unknown model', 'مدل نامشخص'),
|
|
14343
14344
|
name: row?.name ?? '',
|
|
14344
14345
|
};
|
|
14345
14346
|
}
|
|
@@ -14347,8 +14348,6 @@ function aiModelRef(catalogId) {
|
|
|
14347
14348
|
//#region ---- Stable assist id ----
|
|
14348
14349
|
/** Deterministic id for the platform assistant assist row. */
|
|
14349
14350
|
const AXMAiPlatformAssistantAssistId = 'b0000001-0000-4000-8000-000000000001';
|
|
14350
|
-
/** Deterministic id for the Demis AI assistant assist row (mirror of platform assistant, lighter delegation). */
|
|
14351
|
-
const AXMAiDemisAssistantAssistId = 'b0000001-0000-4000-8000-000000000004';
|
|
14352
14351
|
//#endregion
|
|
14353
14352
|
//#region ---- Seed text: supervisor assists ----
|
|
14354
14353
|
/** Supervisor assist: tools are delegated specialists (`agent:<AiAgent catalog id>`), not raw registry tools. */
|
|
@@ -14387,26 +14386,14 @@ const SEED_SUPERVISOR_AGENTS_HINT = [
|
|
|
14387
14386
|
'- `<AXPWidgetNode>` is the inner widget root from the delegated specialist (a `node` entry in `data.responses` when the specialist returns layout JSON). Use **widget-follow-up-chips-layout** for chip rows (`flex-layout` + `button-action`).',
|
|
14388
14387
|
'- Never paste bare inner widget JSON without the `{"type":"node","content":...}` wrapper — each wrapper becomes a separate interactive layout segment.',
|
|
14389
14388
|
].join('\n');
|
|
14390
|
-
/** Demis default assist only: single delegated agent (centralized payment guide)—no other specialist tools are available. */
|
|
14391
|
-
const SEED_DEMIS_CENTRALIZED_PAYMENT_GUIDE_ROUTING = [
|
|
14392
|
-
'Your available tools are delegated specialists; each function name is `agent:` plus the AiAgent catalog id from the tool list.',
|
|
14393
|
-
'',
|
|
14394
|
-
'## Centralized payment guide (priority delegation)',
|
|
14395
|
-
'- When the user asks about the **centralized commerce payment system**, **e-wallet**, or **wallet workflows**, **prefer** the **centralized payment guide** delegated agent **first** (pick the matching `agent:` tool from your list) instead of improvising steps from general knowledge.',
|
|
14396
|
-
'- Treat these as mandatory delegation signals: paying via the e-wallet, withdrawing from the wallet, charging or topping up the wallet, **transaction history**, and **payment reporting**.',
|
|
14397
|
-
'',
|
|
14398
|
-
'## Verbatim relay after the centralized payment guide replies',
|
|
14399
|
-
'- When that delegated `agent:` tool **succeeds** with user-visible text in a `text` segment inside `data.responses`, your **final assistant message must mirror that text exactly** when policy requires a verbatim relay: same wording, punctuation, line breaks, lists, and the specialist closing disclaimer line. **Do not** shorten, lengthen, paraphrase, translate, summarize, bullet-wrap differently, or add prefixes/suffixes ("Here is what the guide said:", "In short", follow-up questions) unless those words already appear inside the specialist text.',
|
|
14400
|
-
'- **Do not** wrap the relay in markdown fences or extra headings unless the specialist output already contains them.',
|
|
14401
|
-
].join('\n');
|
|
14402
14389
|
//#endregion
|
|
14403
14390
|
//#region ---- Default Assists ----
|
|
14404
14391
|
const AI_ASSIST_MOCK = [
|
|
14405
14392
|
{
|
|
14406
14393
|
id: AXMAiPlatformAssistantAssistId,
|
|
14407
14394
|
name: 'platform-assistant',
|
|
14408
|
-
title: M$
|
|
14409
|
-
description: M$
|
|
14395
|
+
title: M$18('Platform Assistant', 'دستیار پلتفرم'),
|
|
14396
|
+
description: M$18('Default platform assistant used when no specific assist is selected.', 'دستیار پیشفرض پلتفرم وقتی هیچ assist مشخصی انتخاب نشده باشد.'),
|
|
14410
14397
|
modelId: AXMAiModelStableIds.gpt54,
|
|
14411
14398
|
aiModel: aiModelRef(AXMAiModelStableIds.gpt54),
|
|
14412
14399
|
tools: [],
|
|
@@ -14476,32 +14463,11 @@ const AI_ASSIST_MOCK = [
|
|
|
14476
14463
|
},
|
|
14477
14464
|
],
|
|
14478
14465
|
},
|
|
14479
|
-
{
|
|
14480
|
-
id: AXMAiDemisAssistantAssistId,
|
|
14481
|
-
name: 'demis-assistant',
|
|
14482
|
-
title: M$17('Demis Assistant', 'دستیار دیمیس'),
|
|
14483
|
-
description: M$17('Default platform assistant used when no specific assist is selected.', 'دستیار پیشفرض پلتفرم وقتی هیچ assist مشخصی انتخاب نشده باشد.'),
|
|
14484
|
-
modelId: AXMAiModelStableIds.gpt54,
|
|
14485
|
-
aiModel: aiModelRef(AXMAiModelStableIds.gpt54),
|
|
14486
|
-
tools: [],
|
|
14487
|
-
systemPrompt: [
|
|
14488
|
-
'You are a helpful assistant for the ACoreX platform. Be **brief**, accurate, and safe. Skip jargon unless the user asks for technical detail.',
|
|
14489
|
-
'Answer in **this product’s** scope only; for menus, catalog, or stored data, call the matching delegated agent **before** answering — do not guess.',
|
|
14490
|
-
'',
|
|
14491
|
-
SEED_DEMIS_CENTRALIZED_PAYMENT_GUIDE_ROUTING,
|
|
14492
|
-
].join('\n'),
|
|
14493
|
-
initialMessages: '',
|
|
14494
|
-
professionImageUrl: '',
|
|
14495
|
-
imageModelId: AXMAiModelStableIds.openaiGptImage1,
|
|
14496
|
-
// No planning preamble: this assist only delegates to the payment guide; a tool-free planning turn would surface as "thinking" with little benefit.
|
|
14497
|
-
planningMode: 'off',
|
|
14498
|
-
delegatedAgents: [{ agent: { type: AXMAiAgentCentralizedPaymentGuideId } }],
|
|
14499
|
-
},
|
|
14500
14466
|
{
|
|
14501
14467
|
id: 'b0000001-0000-4000-8000-000000000002',
|
|
14502
14468
|
name: 'medical-assistant',
|
|
14503
|
-
title: M$
|
|
14504
|
-
description: M$
|
|
14469
|
+
title: M$18('Medical Assistant', 'دستیار پزشکی'),
|
|
14470
|
+
description: M$18('Assists with medical terminology, basic health information, and appointment-related questions.', 'کمک به اصطلاحات پزشکی، اطلاعات عمومی سلامت و پرسشهای مرتبط با نوبت.'),
|
|
14505
14471
|
modelId: AXMAiModelStableIds.gemini25Flash,
|
|
14506
14472
|
aiModel: aiModelRef(AXMAiModelStableIds.gemini25Flash),
|
|
14507
14473
|
tools: [],
|
|
@@ -14514,8 +14480,8 @@ const AI_ASSIST_MOCK = [
|
|
|
14514
14480
|
{
|
|
14515
14481
|
id: 'b0000001-0000-4000-8000-000000000003',
|
|
14516
14482
|
name: 'general-assistant',
|
|
14517
|
-
title: M$
|
|
14518
|
-
description: M$
|
|
14483
|
+
title: M$18('General Assistant', 'دستیار عمومی'),
|
|
14484
|
+
description: M$18('A general-purpose assistant that routes to platform help/navigation, platform entity tooling, utilities, media, image, and delegated layout specialists.', 'دستیار چندمنظوره که به دستیار راهنمای پلتفرم، موجودیت پلتفرم، ابزارها، رسانهها، تصویر و چیدمان (delegated specialists) متصل میشود.'),
|
|
14519
14485
|
modelId: AXMAiModelStableIds.gemini25Flash,
|
|
14520
14486
|
aiModel: aiModelRef(AXMAiModelStableIds.gemini25Flash),
|
|
14521
14487
|
tools: [],
|
|
@@ -14585,7 +14551,10 @@ class AXCAiAssistSeeder {
|
|
|
14585
14551
|
this.storageService = inject(AXPEntityStorageService);
|
|
14586
14552
|
}
|
|
14587
14553
|
async seed() {
|
|
14588
|
-
|
|
14554
|
+
const entityName = `${RootConfig.module.name}.${RootConfig.entities.assist.name}`;
|
|
14555
|
+
for (const assist of AI_ASSIST_MOCK) {
|
|
14556
|
+
await this.storageService.upsertOne(entityName, assist, { merge: true });
|
|
14557
|
+
}
|
|
14589
14558
|
}
|
|
14590
14559
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCAiAssistSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14591
14560
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXCAiAssistSeeder }); }
|
|
@@ -17778,7 +17747,7 @@ class AXCAiChatDemisProvider {
|
|
|
17778
17747
|
}
|
|
17779
17748
|
const agentUuid = await this.resolveAgentUuid(options);
|
|
17780
17749
|
if (!agentUuid) {
|
|
17781
|
-
throw new Error('Demis chat requires `agent_uuid` (AiAgent catalog `name` slug). Use a direct agent run, delegated agent, Demis options
|
|
17750
|
+
throw new Error('Demis chat requires `agent_uuid` (AiAgent catalog `name` slug). Use a direct agent run, delegated agent, or Demis options.');
|
|
17782
17751
|
}
|
|
17783
17752
|
const userMessage = buildDemisTranscriptUserMessage(options.messages);
|
|
17784
17753
|
const useStream = options.stream !== false;
|
|
@@ -17932,8 +17901,7 @@ class AXCAiChatDemisProvider {
|
|
|
17932
17901
|
if (ctxName) {
|
|
17933
17902
|
return ctxName;
|
|
17934
17903
|
}
|
|
17935
|
-
|
|
17936
|
-
return fromSetting.trim();
|
|
17904
|
+
return '';
|
|
17937
17905
|
}
|
|
17938
17906
|
async collectLatestUserMediaFiles(messages) {
|
|
17939
17907
|
let lastUser;
|
|
@@ -19382,7 +19350,7 @@ class AXCAiManagementMockModule {
|
|
|
19382
19350
|
provideCommandSetups([
|
|
19383
19351
|
{
|
|
19384
19352
|
key: 'AiManagement:ChatGenerateImage',
|
|
19385
|
-
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-
|
|
19353
|
+
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
|
|
19386
19354
|
},
|
|
19387
19355
|
{
|
|
19388
19356
|
key: 'AiManagement:ExtractDocumentText',
|
|
@@ -19394,11 +19362,11 @@ class AXCAiManagementMockModule {
|
|
|
19394
19362
|
},
|
|
19395
19363
|
{
|
|
19396
19364
|
key: 'AiManagement:ChatTranscribeSpeech',
|
|
19397
|
-
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
19365
|
+
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
|
|
19398
19366
|
},
|
|
19399
19367
|
{
|
|
19400
19368
|
key: 'AiManagement:ChatSynthesizeSpeech',
|
|
19401
|
-
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-
|
|
19369
|
+
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
|
|
19402
19370
|
},
|
|
19403
19371
|
]),
|
|
19404
19372
|
] }); }
|
|
@@ -19441,7 +19409,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
19441
19409
|
provideCommandSetups([
|
|
19442
19410
|
{
|
|
19443
19411
|
key: 'AiManagement:ChatGenerateImage',
|
|
19444
|
-
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-
|
|
19412
|
+
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-CBlDsPWY.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
|
|
19445
19413
|
},
|
|
19446
19414
|
{
|
|
19447
19415
|
key: 'AiManagement:ExtractDocumentText',
|
|
@@ -19453,11 +19421,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
19453
19421
|
},
|
|
19454
19422
|
{
|
|
19455
19423
|
key: 'AiManagement:ChatTranscribeSpeech',
|
|
19456
|
-
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
19424
|
+
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-DM6JF63R.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
|
|
19457
19425
|
},
|
|
19458
19426
|
{
|
|
19459
19427
|
key: 'AiManagement:ChatSynthesizeSpeech',
|
|
19460
|
-
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-
|
|
19428
|
+
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-BCSsNdNv.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
|
|
19461
19429
|
},
|
|
19462
19430
|
]),
|
|
19463
19431
|
],
|
|
@@ -19465,7 +19433,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
19465
19433
|
}] });
|
|
19466
19434
|
|
|
19467
19435
|
//#region ---- Helpers ----
|
|
19468
|
-
const M$
|
|
19436
|
+
const M$17 = createMultiLanguageString;
|
|
19469
19437
|
//#endregion
|
|
19470
19438
|
//#region ---- Category IDs (stable seeds for Application rows) ----
|
|
19471
19439
|
/** Stable UUIDs for ApplicationManagement.ApplicationCategory demo data. */
|
|
@@ -19481,56 +19449,56 @@ const APPLICATION_CATEGORY_IDS = {
|
|
|
19481
19449
|
const APPLICATION_CATEGORY_MOCKS = [
|
|
19482
19450
|
{
|
|
19483
19451
|
id: APPLICATION_CATEGORY_IDS.ecommerce,
|
|
19484
|
-
title: M$
|
|
19485
|
-
description: M$
|
|
19452
|
+
title: M$17('E-Commerce', 'تجارت الکترونیک'),
|
|
19453
|
+
description: M$17('Online commerce and storefront applications', 'اپلیکیشنهای فروشگاه و تجارت آنلاین'),
|
|
19486
19454
|
icon: 'fa-light fa-shopping-cart',
|
|
19487
19455
|
color: '#7b1fa2',
|
|
19488
19456
|
childrenCount: 0,
|
|
19489
19457
|
},
|
|
19490
19458
|
{
|
|
19491
19459
|
id: APPLICATION_CATEGORY_IDS.finance,
|
|
19492
|
-
title: M$
|
|
19493
|
-
description: M$
|
|
19460
|
+
title: M$17('Finance', 'مالی'),
|
|
19461
|
+
description: M$17('Budgeting, invoicing, and financial reporting', 'بودجهریزی، صورتحساب و گزارشهای مالی'),
|
|
19494
19462
|
icon: 'fa-light fa-dollar-sign',
|
|
19495
19463
|
color: '#c62828',
|
|
19496
19464
|
childrenCount: 0,
|
|
19497
19465
|
},
|
|
19498
19466
|
{
|
|
19499
19467
|
id: APPLICATION_CATEGORY_IDS.procurement,
|
|
19500
|
-
title: M$
|
|
19501
|
-
description: M$
|
|
19468
|
+
title: M$17('Procurement', 'تدارکات'),
|
|
19469
|
+
description: M$17('Ordering and procurement workflows', 'گردش کار سفارش و تدارکات'),
|
|
19502
19470
|
icon: 'fa-light fa-shopping-bag',
|
|
19503
19471
|
color: '#009688',
|
|
19504
19472
|
childrenCount: 0,
|
|
19505
19473
|
},
|
|
19506
19474
|
{
|
|
19507
19475
|
id: APPLICATION_CATEGORY_IDS.platform,
|
|
19508
|
-
title: M$
|
|
19509
|
-
description: M$
|
|
19476
|
+
title: M$17('Platform', 'پلتفرم'),
|
|
19477
|
+
description: M$17('Platform administration and operations', 'عملیات و مدیریت پلتفرم'),
|
|
19510
19478
|
icon: 'fa-light fa-terminal',
|
|
19511
19479
|
color: '#424242',
|
|
19512
19480
|
childrenCount: 0,
|
|
19513
19481
|
},
|
|
19514
19482
|
{
|
|
19515
19483
|
id: APPLICATION_CATEGORY_IDS.safety,
|
|
19516
|
-
title: M$
|
|
19517
|
-
description: M$
|
|
19484
|
+
title: M$17('Safety', 'ایمنی'),
|
|
19485
|
+
description: M$17('Safety and compliance management', 'مدیریت ایمنی و انطباق'),
|
|
19518
19486
|
icon: 'fa-light fa-shield-halved',
|
|
19519
19487
|
color: '#d32f2f',
|
|
19520
19488
|
childrenCount: 0,
|
|
19521
19489
|
},
|
|
19522
19490
|
{
|
|
19523
19491
|
id: APPLICATION_CATEGORY_IDS.crm,
|
|
19524
|
-
title: M$
|
|
19525
|
-
description: M$
|
|
19492
|
+
title: M$17('CRM', 'مدیریت ارتباط با مشتری'),
|
|
19493
|
+
description: M$17('Customer relationship management', 'مدیریت ارتباط با مشتری و فروش'),
|
|
19526
19494
|
icon: 'fa-light fa-users',
|
|
19527
19495
|
color: '#1976d2',
|
|
19528
19496
|
childrenCount: 0,
|
|
19529
19497
|
},
|
|
19530
19498
|
{
|
|
19531
19499
|
id: APPLICATION_CATEGORY_IDS.hr,
|
|
19532
|
-
title: M$
|
|
19533
|
-
description: M$
|
|
19500
|
+
title: M$17('HR', 'منابع انسانی'),
|
|
19501
|
+
description: M$17('Human resources and workforce', 'منابع انسانی و نیروی کار'),
|
|
19534
19502
|
icon: 'fa-light fa-briefcase',
|
|
19535
19503
|
color: '#f57c00',
|
|
19536
19504
|
childrenCount: 0,
|
|
@@ -19852,6 +19820,40 @@ const APPLICATION_TREE = [
|
|
|
19852
19820
|
},
|
|
19853
19821
|
],
|
|
19854
19822
|
},
|
|
19823
|
+
{
|
|
19824
|
+
id: '00000000-0000-0000-0000-000000000009',
|
|
19825
|
+
code: 'MAGFA-001',
|
|
19826
|
+
title: 'MAGFA Commerce',
|
|
19827
|
+
description: 'MAGFA commerce application: conversation, AI assist, reports, and notifications for Iranian trade operations.',
|
|
19828
|
+
version: '1.0.0',
|
|
19829
|
+
categoryId: APPLICATION_CATEGORY_IDS.ecommerce,
|
|
19830
|
+
tags: ['magfa', 'commerce', 'trade', 'iran', 'conversation', 'ai', 'reports'],
|
|
19831
|
+
statusId: AXPSystemStatusType.Active,
|
|
19832
|
+
icon: 'fa-light fa-store',
|
|
19833
|
+
color: '#5c6bc0',
|
|
19834
|
+
url: 'https://commerce.magfa.ir',
|
|
19835
|
+
documentationUrl: 'https://docs.magfa.ir/commerce',
|
|
19836
|
+
supportEmail: 'support@magfa.ir',
|
|
19837
|
+
releaseDate: new Date('2025-01-01'),
|
|
19838
|
+
isPublic: true,
|
|
19839
|
+
editions: [
|
|
19840
|
+
{
|
|
19841
|
+
id: '00000000-0000-0000-0000-000000000090',
|
|
19842
|
+
title: 'Standard',
|
|
19843
|
+
description: 'Conversation, AI, reports, and notifications for Iranian trade operations.',
|
|
19844
|
+
featureKeys: [
|
|
19845
|
+
'Conversation',
|
|
19846
|
+
'AiManagement',
|
|
19847
|
+
'ReportManagement',
|
|
19848
|
+
'NotificationManagement',
|
|
19849
|
+
'Common',
|
|
19850
|
+
AXPCommonFeatureKeys.GlobalSearch,
|
|
19851
|
+
AXPReportManagementFeatureKeys.ReportBuilder,
|
|
19852
|
+
AXPReportManagementFeatureKeys.SavedReports,
|
|
19853
|
+
],
|
|
19854
|
+
},
|
|
19855
|
+
],
|
|
19856
|
+
},
|
|
19855
19857
|
{
|
|
19856
19858
|
id: '00000000-0000-0000-0000-000000000008',
|
|
19857
19859
|
code: 'HRM-001',
|
|
@@ -19949,6 +19951,9 @@ const COSTMANAGER_PROFESSIONAL = EDITIONS.find((e) => e.id === '00000000-0000-00
|
|
|
19949
19951
|
const COSTMANAGER_ENTERPRISE = EDITIONS.find((e) => e.id === '00000000-0000-0000-0000-000000000062');
|
|
19950
19952
|
const CRM_ENTERPRISE = EDITIONS.find((e) => e.id === '00000000-0000-0000-0000-000000000072');
|
|
19951
19953
|
const HR_ENTERPRISE = EDITIONS.find((e) => e.id === '00000000-0000-0000-0000-000000000082');
|
|
19954
|
+
const MAGFA_COMMERCE_STANDARD = EDITIONS.find((e) => e.id === '00000000-0000-0000-0000-000000000090');
|
|
19955
|
+
/** @deprecated Use {@link MAGFA_COMMERCE_STANDARD}. */
|
|
19956
|
+
const COLLABORATION_STANDARD = MAGFA_COMMERCE_STANDARD;
|
|
19952
19957
|
//#endregion
|
|
19953
19958
|
|
|
19954
19959
|
//#region ---- Application Data Generation ----
|
|
@@ -24417,7 +24422,7 @@ const assetManagementMiddleware = {
|
|
|
24417
24422
|
//#region ---- Imports ----
|
|
24418
24423
|
//#endregion
|
|
24419
24424
|
//#region ---- Helpers ----
|
|
24420
|
-
const M$
|
|
24425
|
+
const M$16 = (en, fa) => createMultiLanguageString(en, fa);
|
|
24421
24426
|
/** English category label → id (roots and children). */
|
|
24422
24427
|
const MAINTENANCE_TYPE_CATEGORY_KEY_TO_ID = {};
|
|
24423
24428
|
//#endregion
|
|
@@ -24461,8 +24466,8 @@ function generateMaintenanceTypeCategories() {
|
|
|
24461
24466
|
MAINTENANCE_TYPE_CATEGORY_KEY_TO_ID[key] = id;
|
|
24462
24467
|
categories.push({
|
|
24463
24468
|
id,
|
|
24464
|
-
title: M$
|
|
24465
|
-
description: M$
|
|
24469
|
+
title: M$16(titleEn, titleFa),
|
|
24470
|
+
description: M$16(descEn, descFa),
|
|
24466
24471
|
childrenCount: 0,
|
|
24467
24472
|
});
|
|
24468
24473
|
});
|
|
@@ -24554,8 +24559,8 @@ function generateMaintenanceTypeCategories() {
|
|
|
24554
24559
|
MAINTENANCE_TYPE_CATEGORY_KEY_TO_ID[key] = id;
|
|
24555
24560
|
categories.push({
|
|
24556
24561
|
id,
|
|
24557
|
-
title: M$
|
|
24558
|
-
description: M$
|
|
24562
|
+
title: M$16(titleEn, titleFa),
|
|
24563
|
+
description: M$16(descEn, descFa),
|
|
24559
24564
|
parentId,
|
|
24560
24565
|
childrenCount: 0,
|
|
24561
24566
|
});
|
|
@@ -24576,7 +24581,7 @@ function createMaintenanceType(input) {
|
|
|
24576
24581
|
const categories = [
|
|
24577
24582
|
{
|
|
24578
24583
|
id: categoryId,
|
|
24579
|
-
title: entity?.title ?? M$
|
|
24584
|
+
title: entity?.title ?? M$16(categoryKey, categoryKey),
|
|
24580
24585
|
},
|
|
24581
24586
|
];
|
|
24582
24587
|
return {
|
|
@@ -25500,12 +25505,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
25500
25505
|
type: Injectable
|
|
25501
25506
|
}] });
|
|
25502
25507
|
|
|
25503
|
-
const M$
|
|
25508
|
+
const M$15 = createMultiLanguageString;
|
|
25504
25509
|
const financialCoreCurrencyMocks = [
|
|
25505
25510
|
{
|
|
25506
25511
|
id: AXPDataGenerator.uuid(),
|
|
25507
25512
|
code: 'USD',
|
|
25508
|
-
title: M$
|
|
25513
|
+
title: M$15('US Dollar', 'دلار آمریکا'),
|
|
25509
25514
|
symbol: '$',
|
|
25510
25515
|
isoNumber: '840',
|
|
25511
25516
|
decimalPlaces: 2,
|
|
@@ -25518,7 +25523,7 @@ const financialCoreCurrencyMocks = [
|
|
|
25518
25523
|
{
|
|
25519
25524
|
id: AXPDataGenerator.uuid(),
|
|
25520
25525
|
code: 'EUR',
|
|
25521
|
-
title: M$
|
|
25526
|
+
title: M$15('Euro', 'یورو'),
|
|
25522
25527
|
symbol: '€',
|
|
25523
25528
|
isoNumber: '978',
|
|
25524
25529
|
decimalPlaces: 2,
|
|
@@ -25531,7 +25536,7 @@ const financialCoreCurrencyMocks = [
|
|
|
25531
25536
|
{
|
|
25532
25537
|
id: AXPDataGenerator.uuid(),
|
|
25533
25538
|
code: 'NZD',
|
|
25534
|
-
title: M$
|
|
25539
|
+
title: M$15('New Zealand Dollar', 'دلار نیوزیلند'),
|
|
25535
25540
|
symbol: 'NZ$',
|
|
25536
25541
|
isoNumber: '554',
|
|
25537
25542
|
decimalPlaces: 2,
|
|
@@ -25544,7 +25549,7 @@ const financialCoreCurrencyMocks = [
|
|
|
25544
25549
|
{
|
|
25545
25550
|
id: AXPDataGenerator.uuid(),
|
|
25546
25551
|
code: 'AUD',
|
|
25547
|
-
title: M$
|
|
25552
|
+
title: M$15('Australian Dollar', 'دلار استرالیا'),
|
|
25548
25553
|
symbol: 'A$',
|
|
25549
25554
|
isoNumber: '036',
|
|
25550
25555
|
decimalPlaces: 2,
|
|
@@ -25557,7 +25562,7 @@ const financialCoreCurrencyMocks = [
|
|
|
25557
25562
|
{
|
|
25558
25563
|
id: AXPDataGenerator.uuid(),
|
|
25559
25564
|
code: 'IRR',
|
|
25560
|
-
title: M$
|
|
25565
|
+
title: M$15('Iranian Rial', 'ریال ایران'),
|
|
25561
25566
|
symbol: '﷼',
|
|
25562
25567
|
isoNumber: '364',
|
|
25563
25568
|
decimalPlaces: 0,
|
|
@@ -27979,89 +27984,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
27979
27984
|
}] });
|
|
27980
27985
|
|
|
27981
27986
|
/** Competency / proficiency tiers for skills — not organizational job grades (see organization-management JobLevel mocks). */
|
|
27982
|
-
const M$
|
|
27987
|
+
const M$14 = createMultiLanguageString;
|
|
27983
27988
|
const learningManagementSkillLevelMocks = [
|
|
27984
27989
|
{
|
|
27985
27990
|
id: AXPDataGenerator.uuid(),
|
|
27986
|
-
title: M$
|
|
27991
|
+
title: M$14('Foundation', 'پایه'),
|
|
27987
27992
|
levelNumber: 1,
|
|
27988
|
-
description: M$
|
|
27993
|
+
description: M$14('Understands core concepts and requires supervision.', 'مفاهیم اصلی را درک میکند و نیاز به نظارت دارد.'),
|
|
27989
27994
|
},
|
|
27990
27995
|
{
|
|
27991
27996
|
id: AXPDataGenerator.uuid(),
|
|
27992
|
-
title: M$
|
|
27997
|
+
title: M$14('Beginner', 'مبتدی'),
|
|
27993
27998
|
levelNumber: 2,
|
|
27994
|
-
description: M$
|
|
27999
|
+
description: M$14('Can perform basic tasks with guidance and support.', 'با راهنمایی و پشتیبانی میتواند وظایف پایه را انجام دهد.'),
|
|
27995
28000
|
},
|
|
27996
28001
|
{
|
|
27997
28002
|
id: AXPDataGenerator.uuid(),
|
|
27998
|
-
title: M$
|
|
28003
|
+
title: M$14('Practitioner', 'کاربردی'),
|
|
27999
28004
|
levelNumber: 3,
|
|
28000
|
-
description: M$
|
|
28005
|
+
description: M$14('Applies the skill independently in day-to-day scenarios.', 'مهارت را در سناریوهای روزمره بهصورت مستقل به کار میگیرد.'),
|
|
28001
28006
|
},
|
|
28002
28007
|
{
|
|
28003
28008
|
id: AXPDataGenerator.uuid(),
|
|
28004
|
-
title: M$
|
|
28009
|
+
title: M$14('Intermediate', 'متوسط'),
|
|
28005
28010
|
levelNumber: 4,
|
|
28006
|
-
description: M$
|
|
28011
|
+
description: M$14('Handles complex scenarios and troubleshoots common issues.', 'سناریوهای پیچیده را مدیریت میکند و مسائل رایج را عیبیابی میکند.'),
|
|
28007
28012
|
},
|
|
28008
28013
|
{
|
|
28009
28014
|
id: AXPDataGenerator.uuid(),
|
|
28010
|
-
title: M$
|
|
28015
|
+
title: M$14('Advanced', 'پیشرفته'),
|
|
28011
28016
|
levelNumber: 5,
|
|
28012
|
-
description: M$
|
|
28017
|
+
description: M$14('Masters complex techniques and can optimize processes.', 'تکنیکهای پیچیده را تسلط دارد و میتواند فرایندها را بهینه کند.'),
|
|
28013
28018
|
},
|
|
28014
28019
|
{
|
|
28015
28020
|
id: AXPDataGenerator.uuid(),
|
|
28016
|
-
title: M$
|
|
28021
|
+
title: M$14('Expert', 'خبره'),
|
|
28017
28022
|
levelNumber: 6,
|
|
28018
|
-
description: M$
|
|
28023
|
+
description: M$14('Shapes best practices and mentors others effectively.', 'شیوههای برتر را شکل میدهد و دیگران را بهخوبی راهنمایی میکند.'),
|
|
28019
28024
|
},
|
|
28020
28025
|
{
|
|
28021
28026
|
id: AXPDataGenerator.uuid(),
|
|
28022
|
-
title: M$
|
|
28027
|
+
title: M$14('Master', 'استاد'),
|
|
28023
28028
|
levelNumber: 7,
|
|
28024
|
-
description: M$
|
|
28029
|
+
description: M$14('Recognized authority who innovates and leads industry standards.', 'مرجع شناختهشده که نوآوری میکند و استانداردهای صنعت را رهبری میکند.'),
|
|
28025
28030
|
},
|
|
28026
28031
|
];
|
|
28027
28032
|
|
|
28028
28033
|
//#region ---- Imports ----
|
|
28029
28034
|
//#endregion
|
|
28030
28035
|
//#region ---- Skill category mocks ----
|
|
28031
|
-
const M$
|
|
28036
|
+
const M$13 = createMultiLanguageString;
|
|
28032
28037
|
const learningManagementSkillCategoryMocks = [
|
|
28033
28038
|
{
|
|
28034
28039
|
id: AXPDataGenerator.uuid(),
|
|
28035
|
-
title: M$
|
|
28036
|
-
description: M$
|
|
28040
|
+
title: M$13('Common Skills', 'مهارتهای عمومی'),
|
|
28041
|
+
description: M$13('Essential soft skills and competencies for all employees.', 'مهارتهای نرم و شایستگیهای پایه برای همه همکاران.'),
|
|
28037
28042
|
parentId: undefined,
|
|
28038
28043
|
childrenCount: 0,
|
|
28039
28044
|
},
|
|
28040
28045
|
{
|
|
28041
28046
|
id: AXPDataGenerator.uuid(),
|
|
28042
|
-
title: M$
|
|
28043
|
-
description: M$
|
|
28047
|
+
title: M$13('Health & Safety Compliance', 'ایمنی، بهداشت و انطباق'),
|
|
28048
|
+
description: M$13('Occupational health and safety compliance, standards, and regulations.', 'انطباق با الزامات ایمنی و بهداشت حرفهای، استانداردها و مقررات.'),
|
|
28044
28049
|
parentId: undefined,
|
|
28045
28050
|
childrenCount: 0,
|
|
28046
28051
|
},
|
|
28047
28052
|
{
|
|
28048
28053
|
id: AXPDataGenerator.uuid(),
|
|
28049
|
-
title: M$
|
|
28050
|
-
description: M$
|
|
28054
|
+
title: M$13('Environmental Management', 'مدیریت زیستمحیطی'),
|
|
28055
|
+
description: M$13('Environmental protection, waste management, and sustainability practices.', 'حفاظت از محیط زیست، مدیریت پسماند و رویکردهای پایداری.'),
|
|
28051
28056
|
parentId: undefined,
|
|
28052
28057
|
childrenCount: 0,
|
|
28053
28058
|
},
|
|
28054
28059
|
{
|
|
28055
28060
|
id: AXPDataGenerator.uuid(),
|
|
28056
|
-
title: M$
|
|
28057
|
-
description: M$
|
|
28061
|
+
title: M$13('Risk Assessment & Management', 'ارزیابی و مدیریت ریسک'),
|
|
28062
|
+
description: M$13('Hazard identification, risk assessment, and risk mitigation strategies.', 'شناسایی خطر، ارزیابی ریسک و راهکارهای کاهش ریسک.'),
|
|
28058
28063
|
parentId: undefined,
|
|
28059
28064
|
childrenCount: 0,
|
|
28060
28065
|
},
|
|
28061
28066
|
{
|
|
28062
28067
|
id: AXPDataGenerator.uuid(),
|
|
28063
|
-
title: M$
|
|
28064
|
-
description: M$
|
|
28068
|
+
title: M$13('Emergency Response & Preparedness', 'پاسخ و آمادگی اضطراری'),
|
|
28069
|
+
description: M$13('Emergency procedures, incident response, and crisis management.', 'رویههای اضطراری، پاسخ به حادثه و مدیریت بحران.'),
|
|
28065
28070
|
parentId: undefined,
|
|
28066
28071
|
childrenCount: 0,
|
|
28067
28072
|
},
|
|
@@ -28071,7 +28076,7 @@ const learningManagementSkillCategoryMocks = [
|
|
|
28071
28076
|
//#region ---- Imports ----
|
|
28072
28077
|
//#endregion
|
|
28073
28078
|
//#region ---- Mock seed helpers ----
|
|
28074
|
-
const M$
|
|
28079
|
+
const M$12 = createMultiLanguageString;
|
|
28075
28080
|
function findCategory$1(enDisplayTitle) {
|
|
28076
28081
|
const cat = learningManagementSkillCategoryMocks.find((c) => resolveMultiLanguageString(c.title, 'en-US') === enDisplayTitle);
|
|
28077
28082
|
if (!cat) {
|
|
@@ -28084,8 +28089,8 @@ function seedSkill(row) {
|
|
|
28084
28089
|
return {
|
|
28085
28090
|
id: AXPDataGenerator.uuid(),
|
|
28086
28091
|
name: row.name,
|
|
28087
|
-
title: M$
|
|
28088
|
-
description: M$
|
|
28092
|
+
title: M$12(row.titleEn, row.titleFa),
|
|
28093
|
+
description: M$12(row.descEn, row.descFa),
|
|
28089
28094
|
code: row.code,
|
|
28090
28095
|
categoryIds: [cat.id],
|
|
28091
28096
|
categories: [{ id: cat.id, title: cat.title }],
|
|
@@ -28551,117 +28556,117 @@ const SKILL_SEED = [
|
|
|
28551
28556
|
const learningManagementSkillMocks = SKILL_SEED.map((row) => seedSkill(row));
|
|
28552
28557
|
//#endregion
|
|
28553
28558
|
|
|
28554
|
-
const M$
|
|
28559
|
+
const M$11 = createMultiLanguageString;
|
|
28555
28560
|
const JOB_LEVELS_MOCK = [
|
|
28556
28561
|
{
|
|
28557
28562
|
id: AXPDataGenerator.uuid(),
|
|
28558
|
-
title: M$
|
|
28559
|
-
description: M$
|
|
28563
|
+
title: M$11('Employee', 'کارمند'),
|
|
28564
|
+
description: M$11('Entry individual-contributor level focused on assigned tasks and daily execution.', 'سطح پایه فردی با تمرکز بر انجام وظایف محوله و اجرای روزانه.'),
|
|
28560
28565
|
level: 1,
|
|
28561
28566
|
},
|
|
28562
28567
|
{
|
|
28563
28568
|
id: AXPDataGenerator.uuid(),
|
|
28564
|
-
title: M$
|
|
28565
|
-
description: M$
|
|
28569
|
+
title: M$11('Specialist', 'کارشناس'),
|
|
28570
|
+
description: M$11('Professional contributor with solid domain knowledge and reliable delivery.', 'متخصص حرفهای با دانش مناسب حوزه و تحویل قابل اتکا.'),
|
|
28566
28571
|
level: 2,
|
|
28567
28572
|
},
|
|
28568
28573
|
{
|
|
28569
28574
|
id: AXPDataGenerator.uuid(),
|
|
28570
|
-
title: M$
|
|
28571
|
-
description: M$
|
|
28575
|
+
title: M$11('Senior Specialist', 'کارشناس ارشد'),
|
|
28576
|
+
description: M$11('Experienced contributor who owns complex work and mentors less-experienced peers.', 'متخصص باتجربه که کارهای پیچیده را پیش میبرد و به همکاران کمتجربهتر راهنمایی میدهد.'),
|
|
28572
28577
|
level: 3,
|
|
28573
28578
|
},
|
|
28574
28579
|
{
|
|
28575
28580
|
id: AXPDataGenerator.uuid(),
|
|
28576
|
-
title: M$
|
|
28577
|
-
description: M$
|
|
28581
|
+
title: M$11('Supervisor', 'سرپرست'),
|
|
28582
|
+
description: M$11('First-line operational leadership responsible for a team or shift.', 'رهبری عملیاتی خط اول با مسئولیت یک تیم یا شیفت.'),
|
|
28578
28583
|
level: 4,
|
|
28579
28584
|
},
|
|
28580
28585
|
{
|
|
28581
28586
|
id: AXPDataGenerator.uuid(),
|
|
28582
|
-
title: M$
|
|
28583
|
-
description: M$
|
|
28587
|
+
title: M$11('Deputy Manager', 'معاون مدیر'),
|
|
28588
|
+
description: M$11('Supports managerial accountability and leads part of a function or unit.', 'پشتیبان مسئولیتهای مدیریتی و هدایت بخشی از یک واحد یا عملکرد.'),
|
|
28584
28589
|
level: 5,
|
|
28585
28590
|
},
|
|
28586
28591
|
{
|
|
28587
28592
|
id: AXPDataGenerator.uuid(),
|
|
28588
|
-
title: M$
|
|
28589
|
-
description: M$
|
|
28593
|
+
title: M$11('Manager', 'مدیر'),
|
|
28594
|
+
description: M$11('Responsible for people, delivery, and performance outcomes of a defined unit.', 'مسئول افراد، تحویل کار و نتایج عملکردی یک واحد مشخص.'),
|
|
28590
28595
|
level: 6,
|
|
28591
28596
|
},
|
|
28592
28597
|
{
|
|
28593
28598
|
id: AXPDataGenerator.uuid(),
|
|
28594
|
-
title: M$
|
|
28595
|
-
description: M$
|
|
28599
|
+
title: M$11('Senior Manager', 'مدیر ارشد'),
|
|
28600
|
+
description: M$11('Leads multiple teams or sub-functions with broader planning and coordination scope.', 'هدایت چند تیم یا زیروظیفه با دامنه برنامهریزی و هماهنگی گستردهتر.'),
|
|
28596
28601
|
level: 7,
|
|
28597
28602
|
},
|
|
28598
28603
|
{
|
|
28599
28604
|
id: AXPDataGenerator.uuid(),
|
|
28600
|
-
title: M$
|
|
28601
|
-
description: M$
|
|
28605
|
+
title: M$11('Director General', 'مدیرکل'),
|
|
28606
|
+
description: M$11('Owns strategic direction and cross-functional alignment for a major domain.', 'مالک جهتگیری راهبردی و همراستاسازی بینبخشی در یک حوزه اصلی.'),
|
|
28602
28607
|
level: 8,
|
|
28603
28608
|
},
|
|
28604
28609
|
{
|
|
28605
28610
|
id: AXPDataGenerator.uuid(),
|
|
28606
|
-
title: M$
|
|
28607
|
-
description: M$
|
|
28611
|
+
title: M$11('Vice President', 'معاونت سازمان'),
|
|
28612
|
+
description: M$11('Executive role accountable for strategic outcomes across several domains.', 'نقش اجرایی مسئول نتایج راهبردی در چندین حوزه سازمانی.'),
|
|
28608
28613
|
level: 9,
|
|
28609
28614
|
},
|
|
28610
28615
|
{
|
|
28611
28616
|
id: AXPDataGenerator.uuid(),
|
|
28612
|
-
title: M$
|
|
28613
|
-
description: M$
|
|
28617
|
+
title: M$11('Chief Executive Officer', 'مدیرعامل'),
|
|
28618
|
+
description: M$11('Top executive authority responsible for overall organizational strategy and performance.', 'بالاترین مقام اجرایی مسئول راهبرد کلان و عملکرد کلی سازمان.'),
|
|
28614
28619
|
level: 10,
|
|
28615
28620
|
},
|
|
28616
28621
|
];
|
|
28617
28622
|
|
|
28618
|
-
const M
|
|
28623
|
+
const M$10 = createMultiLanguageString;
|
|
28619
28624
|
const organizationManagementResponsibilityLevelMocks = [
|
|
28620
28625
|
{
|
|
28621
28626
|
id: AXPDataGenerator.uuid(),
|
|
28622
|
-
title: M
|
|
28627
|
+
title: M$10('Not Involved', 'بدون دخالت'),
|
|
28623
28628
|
level: 1,
|
|
28624
|
-
description: M
|
|
28629
|
+
description: M$10('No responsibility or involvement in this area.', 'بدون مسئولیت یا مشارکت در این حوزه.'),
|
|
28625
28630
|
},
|
|
28626
28631
|
{
|
|
28627
28632
|
id: AXPDataGenerator.uuid(),
|
|
28628
|
-
title: M
|
|
28633
|
+
title: M$10('Informed', 'مطلعشونده'),
|
|
28629
28634
|
level: 2,
|
|
28630
|
-
description: M
|
|
28635
|
+
description: M$10('Kept in the loop and receives updates, but has no active responsibility.', 'در جریان قرار میگیرد اما مسئولیت اجرایی ندارد.'),
|
|
28631
28636
|
},
|
|
28632
28637
|
{
|
|
28633
28638
|
id: AXPDataGenerator.uuid(),
|
|
28634
|
-
title: M
|
|
28639
|
+
title: M$10('Consulted', 'مشاور'),
|
|
28635
28640
|
level: 3,
|
|
28636
|
-
description: M
|
|
28641
|
+
description: M$10('Provides input and expertise when needed, but does not execute.', 'در صورت نیاز ورودی و تخصص میدهد اما اجرا نمیکند.'),
|
|
28637
28642
|
},
|
|
28638
28643
|
{
|
|
28639
28644
|
id: AXPDataGenerator.uuid(),
|
|
28640
|
-
title: M
|
|
28645
|
+
title: M$10('Responsible', 'مسئول اجرا'),
|
|
28641
28646
|
level: 4,
|
|
28642
|
-
description: M
|
|
28647
|
+
description: M$10('Executes the work and has direct responsibility for completion.', 'کار را اجرا میکند و مسئولیت مستقیم تکمیل دارد.'),
|
|
28643
28648
|
},
|
|
28644
28649
|
{
|
|
28645
28650
|
id: AXPDataGenerator.uuid(),
|
|
28646
|
-
title: M
|
|
28651
|
+
title: M$10('Accountable', 'پاسخگو'),
|
|
28647
28652
|
level: 5,
|
|
28648
|
-
description: M
|
|
28653
|
+
description: M$10('Owns the outcome and is answerable for the results.', 'مالک نتیجه است و در قبال نتایج پاسخگوست.'),
|
|
28649
28654
|
},
|
|
28650
28655
|
{
|
|
28651
28656
|
id: AXPDataGenerator.uuid(),
|
|
28652
|
-
title: M
|
|
28657
|
+
title: M$10('Lead Accountable', 'مسئول اصلی'),
|
|
28653
28658
|
level: 6,
|
|
28654
|
-
description: M
|
|
28659
|
+
description: M$10('Primary owner with authority to make decisions and delegate work.', 'مالک اصلی با اختیار تصمیمگیری و تفویض کار.'),
|
|
28655
28660
|
},
|
|
28656
28661
|
{
|
|
28657
28662
|
id: AXPDataGenerator.uuid(),
|
|
28658
|
-
title: M
|
|
28663
|
+
title: M$10('Ultimate Accountable', 'مسئول نهایی'),
|
|
28659
28664
|
level: 7,
|
|
28660
|
-
description: M
|
|
28665
|
+
description: M$10('Final decision-maker with ultimate authority and full ownership.', 'تصمیمگیر نهایی با اختیار کامل و مالکیت مطلق.'),
|
|
28661
28666
|
},
|
|
28662
28667
|
];
|
|
28663
28668
|
|
|
28664
|
-
const M
|
|
28669
|
+
const M$$ = createMultiLanguageString;
|
|
28665
28670
|
/** English category keys → id (stable lookup after localized titles). */
|
|
28666
28671
|
const RESPONSIBILITY_CATEGORY_KEY_TO_ID = {};
|
|
28667
28672
|
//#region ---- Responsibility category i18n (seed) ----
|
|
@@ -28738,8 +28743,8 @@ function generateResponsibilityCategories() {
|
|
|
28738
28743
|
const de = descriptionMap[key] ?? '';
|
|
28739
28744
|
categories.push({
|
|
28740
28745
|
id,
|
|
28741
|
-
title: M
|
|
28742
|
-
description: M
|
|
28746
|
+
title: M$$(key, rootTitleFa[key] ?? key),
|
|
28747
|
+
description: M$$(de, RESPONSIBILITY_ROOT_CATEGORY_DESCRIPTION_FA[key] ?? de),
|
|
28743
28748
|
childrenCount: 0,
|
|
28744
28749
|
});
|
|
28745
28750
|
});
|
|
@@ -28781,8 +28786,8 @@ function generateResponsibilityCategories() {
|
|
|
28781
28786
|
const de = descriptionMap[key] ?? '';
|
|
28782
28787
|
categories.push({
|
|
28783
28788
|
id,
|
|
28784
|
-
title: M
|
|
28785
|
-
description: M
|
|
28789
|
+
title: M$$(key, RESPONSIBILITY_CHILD_CATEGORY_TITLE_FA[key] ?? key),
|
|
28790
|
+
description: M$$(de, RESPONSIBILITY_CHILD_CATEGORY_DESCRIPTION_FA[key] ?? de),
|
|
28786
28791
|
parentId,
|
|
28787
28792
|
childrenCount: 0,
|
|
28788
28793
|
});
|
|
@@ -28800,7 +28805,7 @@ function responsibilityCategoryRef(key) {
|
|
|
28800
28805
|
}
|
|
28801
28806
|
/** Multi-language title + description for a responsibility seed row (en retained for lookups). */
|
|
28802
28807
|
function responsibilityMl(titleEn, titleFa, descEn, descFa) {
|
|
28803
|
-
return { title: M
|
|
28808
|
+
return { title: M$$(titleEn, titleFa), description: M$$(descEn, descFa) };
|
|
28804
28809
|
}
|
|
28805
28810
|
const RESPONSIBILITIES_MOCK = [
|
|
28806
28811
|
// Manufacturing Responsibilities
|
|
@@ -29056,7 +29061,7 @@ const RESPONSIBILITIES_MOCK = [
|
|
|
29056
29061
|
},
|
|
29057
29062
|
];
|
|
29058
29063
|
|
|
29059
|
-
const M$
|
|
29064
|
+
const M$_ = createMultiLanguageString;
|
|
29060
29065
|
//#region ---- Job definition category i18n (seed) ----
|
|
29061
29066
|
const JOB_DEFINITION_ROOT_CATEGORY_TITLE_FA = {
|
|
29062
29067
|
'Manufacturing Leadership': 'رهبری تولید',
|
|
@@ -29179,8 +29184,8 @@ function generateJobDefinitionCategories() {
|
|
|
29179
29184
|
const de = descriptionMap[key] ?? '';
|
|
29180
29185
|
categories.push({
|
|
29181
29186
|
id,
|
|
29182
|
-
title: M$
|
|
29183
|
-
description: M$
|
|
29187
|
+
title: M$_(key, JOB_DEFINITION_ROOT_CATEGORY_TITLE_FA[key] ?? key),
|
|
29188
|
+
description: M$_(de, JOB_DEFINITION_ROOT_CATEGORY_DESCRIPTION_FA[key] ?? de),
|
|
29184
29189
|
childrenCount: 0,
|
|
29185
29190
|
});
|
|
29186
29191
|
});
|
|
@@ -29234,8 +29239,8 @@ function generateJobDefinitionCategories() {
|
|
|
29234
29239
|
const de = descriptionMap[key] ?? '';
|
|
29235
29240
|
categories.push({
|
|
29236
29241
|
id,
|
|
29237
|
-
title: M$
|
|
29238
|
-
description: M$
|
|
29242
|
+
title: M$_(key, JOB_DEFINITION_CHILD_CATEGORY_TITLE_FA[key] ?? key),
|
|
29243
|
+
description: M$_(de, JOB_DEFINITION_CHILD_CATEGORY_DESCRIPTION_FA[key] ?? de),
|
|
29239
29244
|
parentId,
|
|
29240
29245
|
childrenCount: 0,
|
|
29241
29246
|
});
|
|
@@ -29461,8 +29466,8 @@ function generateJobDefinitions() {
|
|
|
29461
29466
|
'Professional job definition with specific responsibilities and requirements.';
|
|
29462
29467
|
jobDefinitions.push({
|
|
29463
29468
|
id: AXPDataGenerator.uuid(),
|
|
29464
|
-
title: M$
|
|
29465
|
-
description: M$
|
|
29469
|
+
title: M$_(title, JOB_DEFINITION_CHILD_CATEGORY_TITLE_FA[title] ?? title),
|
|
29470
|
+
description: M$_(desc, JOB_DEFINITION_ENTITY_DESCRIPTION_FA[title] ?? desc),
|
|
29466
29471
|
categoryIds: [parentObj.id],
|
|
29467
29472
|
categories: [{ id: parentObj.id, title: parentObj.title }],
|
|
29468
29473
|
responsibilityLevelIds,
|
|
@@ -29817,7 +29822,7 @@ async function axcSyncAllEmployeeDenormalizedOrgFields(storage, orgRoot, hcmRoot
|
|
|
29817
29822
|
}
|
|
29818
29823
|
//#endregion
|
|
29819
29824
|
|
|
29820
|
-
const M$
|
|
29825
|
+
const M$Z = createMultiLanguageString;
|
|
29821
29826
|
const en = (s) => resolveMultiLanguageString(s, 'en-US');
|
|
29822
29827
|
/** English job title → Persian for {@link createMultiLanguageString}. */
|
|
29823
29828
|
const POSITION_TITLE_FA = {
|
|
@@ -29878,7 +29883,7 @@ const POSITION_TITLE_FA = {
|
|
|
29878
29883
|
'HSE Manager': 'مدیر HSE',
|
|
29879
29884
|
};
|
|
29880
29885
|
function positionTitleMl(titleEn) {
|
|
29881
|
-
return M$
|
|
29886
|
+
return M$Z(titleEn, POSITION_TITLE_FA[titleEn] ?? titleEn);
|
|
29882
29887
|
}
|
|
29883
29888
|
function generatePositionsCategory() {
|
|
29884
29889
|
const categories = [];
|
|
@@ -29924,7 +29929,7 @@ function generatePositionsCategory() {
|
|
|
29924
29929
|
roots.forEach(({ en: tEn, fa: tFa, enDesc, faDesc }) => {
|
|
29925
29930
|
const id = AXPDataGenerator.uuid();
|
|
29926
29931
|
ids.set(tEn, id);
|
|
29927
|
-
categories.push({ id, title: M$
|
|
29932
|
+
categories.push({ id, title: M$Z(tEn, tFa), description: M$Z(enDesc, faDesc), childrenCount: 0 });
|
|
29928
29933
|
});
|
|
29929
29934
|
const children = [
|
|
29930
29935
|
{
|
|
@@ -30077,8 +30082,8 @@ function generatePositionsCategory() {
|
|
|
30077
30082
|
ids.set(tEn, id);
|
|
30078
30083
|
categories.push({
|
|
30079
30084
|
id,
|
|
30080
|
-
title: M$
|
|
30081
|
-
description: M$
|
|
30085
|
+
title: M$Z(tEn, tFa),
|
|
30086
|
+
description: M$Z(enDesc, faDesc),
|
|
30082
30087
|
parentId,
|
|
30083
30088
|
childrenCount: 0,
|
|
30084
30089
|
});
|
|
@@ -30091,63 +30096,63 @@ function generatePositionsCategory() {
|
|
|
30091
30096
|
}
|
|
30092
30097
|
const POSITIONS_CATEGORY_MOCK = generatePositionsCategory();
|
|
30093
30098
|
const POSITION_DESCRIPTIONS = {
|
|
30094
|
-
'Junior Frontend Engineer': M$
|
|
30095
|
-
'Frontend Engineer': M$
|
|
30096
|
-
'Senior Frontend Engineer': M$
|
|
30097
|
-
'Frontend Architect': M$
|
|
30098
|
-
'Junior Backend Engineer': M$
|
|
30099
|
-
'Backend Engineer': M$
|
|
30100
|
-
'Senior Backend Engineer': M$
|
|
30101
|
-
'Backend Architect': M$
|
|
30102
|
-
'Junior Mobile Developer': M$
|
|
30103
|
-
'Mobile Developer': M$
|
|
30104
|
-
'Senior Mobile Developer': M$
|
|
30105
|
-
'Mobile Architect': M$
|
|
30106
|
-
'QA Analyst': M$
|
|
30107
|
-
'QA Engineer': M$
|
|
30108
|
-
'Senior QA Engineer': M$
|
|
30109
|
-
'QA Manager': M$
|
|
30110
|
-
'Engineering Team Lead': M$
|
|
30111
|
-
'Engineering Manager': M$
|
|
30112
|
-
'Director of Engineering': M$
|
|
30113
|
-
'VP of Engineering': M$
|
|
30114
|
-
'Associate Product Manager': M$
|
|
30115
|
-
'Product Manager': M$
|
|
30116
|
-
'Senior Product Manager': M$
|
|
30117
|
-
'Director of Product': M$
|
|
30118
|
-
'UX Designer': M$
|
|
30119
|
-
'UI Designer': M$
|
|
30120
|
-
'Senior UX Designer': M$
|
|
30121
|
-
'UX Design Manager': M$
|
|
30122
|
-
'IT Support Specialist': M$
|
|
30123
|
-
'Systems Administrator': M$
|
|
30124
|
-
'Sales Associate': M$
|
|
30125
|
-
'Account Executive': M$
|
|
30126
|
-
'Sales Manager': M$
|
|
30127
|
-
'VP of Sales': M$
|
|
30128
|
-
CTO: M$
|
|
30129
|
-
CEO: M$
|
|
30130
|
-
CFO: M$
|
|
30131
|
-
COO: M$
|
|
30132
|
-
'DevOps Engineer': M$
|
|
30133
|
-
'Senior DevOps Engineer': M$
|
|
30134
|
-
'DevOps Manager': M$
|
|
30135
|
-
'Director of DevOps': M$
|
|
30136
|
-
'Production Supervisor': M$
|
|
30137
|
-
'Maintenance Technician': M$
|
|
30138
|
-
'Maintenance Engineer': M$
|
|
30139
|
-
'Quality Inspector': M$
|
|
30140
|
-
'Quality Engineer': M$
|
|
30141
|
-
'Procurement Specialist': M$
|
|
30142
|
-
'Warehouse Associate': M$
|
|
30143
|
-
'Warehouse Supervisor': M$
|
|
30144
|
-
'Production Planner': M$
|
|
30145
|
-
'HSE Officer': M$
|
|
30146
|
-
'Safety Officer': M$
|
|
30147
|
-
'Environmental Specialist': M$
|
|
30148
|
-
'HSE Manager': M$
|
|
30099
|
+
'Junior Frontend Engineer': M$Z('Entry-level frontend developer responsible for building user interfaces using HTML, CSS, and JavaScript frameworks. Focuses on learning best practices and contributing to team projects.', 'توسعهدهنده فرانتاند سطح ورودی؛ ساخت رابط کاربری با HTML، CSS و فریمورکهای جاوااسکریپت و یادگیری بهترین شیوهها.'),
|
|
30100
|
+
'Frontend Engineer': M$Z('Mid-level frontend developer who builds responsive web applications, implements UI/UX designs, and collaborates with design and backend teams.', 'مهندس فرانتاند میانی؛ ساخت وباپلیکیشنهای واکنشگرا و همکاری با تیم طراحی و بکاند.'),
|
|
30101
|
+
'Senior Frontend Engineer': M$Z('Experienced frontend developer who leads technical decisions, mentors junior developers, and architects scalable frontend solutions.', 'مهندس ارشد فرانتاند؛ تصمیمات فنی، منتورینگ و معماری راهحلهای مقیاسپذیر.'),
|
|
30102
|
+
'Frontend Architect': M$Z('Senior technical leader responsible for frontend architecture decisions, performance optimization, and setting technical standards for the frontend team.', 'رهبر فنی معماری فرانتاند، بهینهسازی عملکرد و استانداردهای فنی تیم.'),
|
|
30103
|
+
'Junior Backend Engineer': M$Z('Entry-level backend developer focused on building server-side logic, APIs, and database interactions. Learns backend technologies and best practices.', 'مهندس بکاند جونیور؛ منطق سمت سرور، API و پایگاه داده.'),
|
|
30104
|
+
'Backend Engineer': M$Z('Mid-level backend developer who designs and implements server-side applications, APIs, and database schemas.', 'مهندس بکاند میانی؛ طراحی و پیادهسازی اپلیکیشن سمت سرور و API.'),
|
|
30105
|
+
'Senior Backend Engineer': M$Z('Experienced backend developer who leads technical decisions, optimizes system performance, and mentors junior developers.', 'مهندس ارشد بکاند؛ بهینهسازی عملکرد و رهبری فنی.'),
|
|
30106
|
+
'Backend Architect': M$Z('Senior technical leader responsible for backend architecture, system design, and technical strategy for server-side systems.', 'معمار بکاند؛ طراحی سیستم و استراتژی فنی سمت سرور.'),
|
|
30107
|
+
'Junior Mobile Developer': M$Z('Entry-level mobile developer focused on building native or cross-platform mobile applications. Learns mobile development frameworks and best practices.', 'توسعهدهنده موبایل جونیور؛ اپلیکیشن بومی یا کراسپلتفرم.'),
|
|
30108
|
+
'Mobile Developer': M$Z('Mid-level mobile developer who creates mobile apps, implements features, and ensures app performance and user experience.', 'توسعهدهنده موبایل میانی؛ پیادهسازی ویژگیها و تجربه کاربری.'),
|
|
30109
|
+
'Senior Mobile Developer': M$Z('Experienced mobile developer who leads mobile development initiatives, optimizes app performance, and mentors junior developers.', 'توسعهدهنده ارشد موبایل؛ رهبری فنی و بهینهسازی.'),
|
|
30110
|
+
'Mobile Architect': M$Z('Senior technical leader responsible for mobile architecture decisions, platform strategy, and technical standards for mobile development.', 'معمار موبایل؛ استراتژی پلتفرم و استانداردها.'),
|
|
30111
|
+
'QA Analyst': M$Z('Entry-level quality assurance professional who executes test plans, reports bugs, and ensures software quality through systematic testing.', 'تحلیلگر QA؛ اجرای طرح تست و گزارش باگ.'),
|
|
30112
|
+
'QA Engineer': M$Z('Mid-level QA professional who designs test strategies, automates testing processes, and collaborates with development teams.', 'مهندس QA؛ استراتژی تست و اتوماسیون.'),
|
|
30113
|
+
'Senior QA Engineer': M$Z('Experienced QA professional who leads testing initiatives, implements quality processes, and mentors junior QA team members.', 'مهندس ارشد QA؛ فرآیندهای کیفیت و منتورینگ.'),
|
|
30114
|
+
'QA Manager': M$Z('Senior leader responsible for managing the QA team, establishing quality standards, and ensuring overall software quality.', 'مدیر QA؛ استانداردها و کیفیت نرمافزار.'),
|
|
30115
|
+
'Engineering Team Lead': M$Z('Technical leader who manages a small engineering team, provides technical guidance, and ensures project delivery.', 'لید فنی تیم کوچک مهندسی و تحویل پروژه.'),
|
|
30116
|
+
'Engineering Manager': M$Z('People manager responsible for team development, project planning, and technical decision-making for engineering teams.', 'مدیر مهندسی؛ توسعه تیم و برنامهریزی.'),
|
|
30117
|
+
'Director of Engineering': M$Z('Senior leader who manages multiple engineering teams, sets technical strategy, and drives engineering excellence.', 'مدیر ارشد مهندسی؛ چند تیم و استراتژی فنی.'),
|
|
30118
|
+
'VP of Engineering': M$Z('Executive leader responsible for overall engineering strategy, team growth, and technical direction across the organization.', 'معاون مهندسی؛ استراتژی و جهت فنی سازمان.'),
|
|
30119
|
+
'Associate Product Manager': M$Z('Entry-level product professional who supports product development, conducts research, and assists with product strategy.', 'همکار مدیر محصول؛ پشتیبانی از توسعه و تحقیق.'),
|
|
30120
|
+
'Product Manager': M$Z('Mid-level product professional who defines product vision, prioritizes features, and collaborates with cross-functional teams.', 'مدیر محصول؛ چشمانداز و اولویتبندی ویژگیها.'),
|
|
30121
|
+
'Senior Product Manager': M$Z('Experienced product professional who leads product strategy, mentors junior PMs, and drives product success.', 'مدیر ارشد محصول؛ استراتژی و منتورینگ.'),
|
|
30122
|
+
'Director of Product': M$Z('Senior leader responsible for product portfolio strategy, team leadership, and product vision across multiple products.', 'مدیر ارشد محصول؛ پرتفوی و چشمانداز چند محصول.'),
|
|
30123
|
+
'UX Designer': M$Z('Design professional focused on user experience research, user flows, and creating intuitive user interfaces.', 'طراح UX؛ تحقیق کاربر و جریانهای تعاملی.'),
|
|
30124
|
+
'UI Designer': M$Z('Visual designer who creates user interface designs, design systems, and ensures visual consistency across products.', 'طراح UI؛ سیستم طراحی و یکپارچگی بصری.'),
|
|
30125
|
+
'Senior UX Designer': M$Z('Experienced UX professional who leads design initiatives, mentors junior designers, and drives user experience strategy.', 'طراح ارشد UX؛ رهبری طرحهای طراحی.'),
|
|
30126
|
+
'UX Design Manager': M$Z('Senior leader responsible for managing the design team, establishing design processes, and ensuring design quality.', 'مدیر طراحی UX؛ فرآیندها و کیفیت طراحی.'),
|
|
30127
|
+
'IT Support Specialist': M$Z('Entry-level IT professional who provides technical support, troubleshoots issues, and maintains IT systems.', 'کارشناس پشتیبانی IT؛ عیبیابی و نگهداری.'),
|
|
30128
|
+
'Systems Administrator': M$Z('Mid-level IT professional who manages server infrastructure, implements security measures, and ensures system reliability.', 'مدیر سیستم؛ زیرساخت سرور و امنیت.'),
|
|
30129
|
+
'Sales Associate': M$Z('Entry-level sales professional who supports sales activities, qualifies leads, and assists with customer relationships.', 'همکار فروش؛ سرنخ و ارتباط با مشتری.'),
|
|
30130
|
+
'Account Executive': M$Z('Mid-level sales professional who manages customer accounts, drives sales growth, and builds client relationships.', 'مسئول حساب؛ رشد فروش و روابط مشتری.'),
|
|
30131
|
+
'Sales Manager': M$Z('Senior sales professional who leads sales teams, develops sales strategies, and drives revenue growth.', 'مدیر فروش؛ تیم و استراتژی فروش.'),
|
|
30132
|
+
'VP of Sales': M$Z('Executive leader responsible for overall sales strategy, team leadership, and revenue generation across the organization.', 'معاون فروش؛ استراتژی و درآمد.'),
|
|
30133
|
+
CTO: M$Z('Chief Technology Officer responsible for technology strategy, innovation, and technical leadership across the organization.', 'مدیر ارشد فناوری؛ استراتژی و نوآوری فنی.'),
|
|
30134
|
+
CEO: M$Z('Chief Executive Officer responsible for overall company strategy, leadership, and business success.', 'مدیرعامل؛ استراتژی و رهبری کسبوکار.'),
|
|
30135
|
+
CFO: M$Z('Chief Financial Officer responsible for financial strategy, planning, and financial operations.', 'مدیر ارشد مالی؛ برنامهریزی و عملیات مالی.'),
|
|
30136
|
+
COO: M$Z('Chief Operating Officer responsible for operational excellence, process optimization, and day-to-day business operations.', 'مدیر ارشد عملیات؛ بهینهسازی فرآیندها.'),
|
|
30137
|
+
'DevOps Engineer': M$Z('Mid-level DevOps professional who automates deployment processes, manages infrastructure, and ensures system reliability.', 'مهندس دوآپس؛ اتوماسیون استقرار و زیرساخت.'),
|
|
30138
|
+
'Senior DevOps Engineer': M$Z('Experienced DevOps professional who leads infrastructure initiatives, optimizes deployment processes, and mentors junior team members.', 'مهندس ارشد دوآپس؛ رهبری زیرساخت.'),
|
|
30139
|
+
'DevOps Manager': M$Z('Senior leader responsible for managing DevOps teams, establishing best practices, and driving operational excellence.', 'مدیر دوآپس؛ بهترین شیوهها و عملیات.'),
|
|
30140
|
+
'Director of DevOps': M$Z('Senior leader responsible for DevOps strategy, infrastructure planning, and technical leadership for operations teams.', 'مدیر ارشد دوآپس؛ استراتژی و برنامه زیرساخت.'),
|
|
30141
|
+
'Production Supervisor': M$Z('Leads production lines and teams, manages shift performance, and ensures production targets and quality standards are met.', 'سرپرست خط تولید؛ اهداف تولید و استانداردهای کیفیت.'),
|
|
30142
|
+
'Maintenance Technician': M$Z('Executes routine and corrective maintenance tasks to ensure equipment uptime.', 'تکنسین نگهداری؛ تعمیرات روزمره و اصلاحی.'),
|
|
30143
|
+
'Maintenance Engineer': M$Z('Plans maintenance strategies, analyzes failures, and drives reliability improvements.', 'مهندس نگهداری؛ استراتژی و قابلیت اطمینان.'),
|
|
30144
|
+
'Quality Inspector': M$Z('Performs incoming, in-process, and final inspections to ensure product conformance.', 'بازرس کیفیت؛ بازرسی ورودی، میانی و نهایی.'),
|
|
30145
|
+
'Quality Engineer': M$Z('Develops control plans, handles nonconformances, and leads continuous improvement initiatives.', 'مهندس کیفیت؛ طرح کنترل و بهبود مستمر.'),
|
|
30146
|
+
'Procurement Specialist': M$Z('Sources materials, negotiates contracts, and manages purchase orders.', 'کارشناس تدارکات؛ منبعیابی و قرارداد.'),
|
|
30147
|
+
'Warehouse Associate': M$Z('Handles receiving, storage, picking, packing, and shipping operations.', 'همکار انبار؛ دریافت، انبارداری و ارسال.'),
|
|
30148
|
+
'Warehouse Supervisor': M$Z('Oversees warehouse staff and processes, ensuring accuracy and on-time shipments.', 'سرپرست انبار؛ دقت و بهموقع بودن ارسال.'),
|
|
30149
|
+
'Production Planner': M$Z('Creates production schedules, coordinates materials and capacity, and monitors adherence.', 'برنامهریز تولید؛ زمانبندی و ظرفیت.'),
|
|
30150
|
+
'HSE Officer': M$Z('Professional supporting health and safety initiatives, audits, and safety training across operations.', 'مسئول HSE؛ ممیزی و آموزش ایمنی.'),
|
|
30151
|
+
'Safety Officer': M$Z('Specialist enforcing safety standards, conducting inspections, and coordinating incident investigations.', 'مسئول ایمنی؛ استانداردها و بازرسی.'),
|
|
30152
|
+
'Environmental Specialist': M$Z('Professional overseeing environmental compliance, waste management, and sustainability reporting.', 'کارشناس محیط زیست؛ انطباق و گزارش پایداری.'),
|
|
30153
|
+
'HSE Manager': M$Z('Leader managing HSE programs, regulatory compliance, and continuous improvement in safety performance.', 'مدیر HSE؛ برنامهها و انطباق مقررات.'),
|
|
30149
30154
|
};
|
|
30150
|
-
const DEFAULT_POSITION_DESC = M$
|
|
30155
|
+
const DEFAULT_POSITION_DESC = M$Z('Professional position with specific responsibilities and requirements.', 'موقعیت شغلی حرفهای با مسئولیتها و الزامات مشخص.');
|
|
30151
30156
|
function generatePositions() {
|
|
30152
30157
|
const positions = [];
|
|
30153
30158
|
const categories = POSITIONS_CATEGORY_MOCK;
|
|
@@ -30253,12 +30258,12 @@ const POSITIONS_MOCK = (() => {
|
|
|
30253
30258
|
return positions;
|
|
30254
30259
|
})();
|
|
30255
30260
|
|
|
30256
|
-
const M$
|
|
30261
|
+
const M$Y = createMultiLanguageString;
|
|
30257
30262
|
const uuid$m = AXPDataGenerator.uuid;
|
|
30258
30263
|
const BUSINESS_UNIT_TYPES_MOCK = [
|
|
30259
30264
|
{
|
|
30260
30265
|
id: uuid$m(),
|
|
30261
|
-
title: M$
|
|
30266
|
+
title: M$Y('Division', 'بخش'),
|
|
30262
30267
|
name: 'division',
|
|
30263
30268
|
isLocationBased: true,
|
|
30264
30269
|
allowsDirectPositions: true,
|
|
@@ -30267,7 +30272,7 @@ const BUSINESS_UNIT_TYPES_MOCK = [
|
|
|
30267
30272
|
},
|
|
30268
30273
|
{
|
|
30269
30274
|
id: uuid$m(),
|
|
30270
|
-
title: M$
|
|
30275
|
+
title: M$Y('Department', 'دپارتمان'),
|
|
30271
30276
|
name: 'department',
|
|
30272
30277
|
isLocationBased: false,
|
|
30273
30278
|
allowsDirectPositions: true,
|
|
@@ -30276,7 +30281,7 @@ const BUSINESS_UNIT_TYPES_MOCK = [
|
|
|
30276
30281
|
},
|
|
30277
30282
|
{
|
|
30278
30283
|
id: uuid$m(),
|
|
30279
|
-
title: M$
|
|
30284
|
+
title: M$Y('Branch', 'شعبه'),
|
|
30280
30285
|
name: 'branch',
|
|
30281
30286
|
isLocationBased: true,
|
|
30282
30287
|
allowsDirectPositions: false,
|
|
@@ -30522,7 +30527,7 @@ const BUSINESS_UNITS_MOCK = (() => {
|
|
|
30522
30527
|
return items;
|
|
30523
30528
|
})();
|
|
30524
30529
|
|
|
30525
|
-
const M$
|
|
30530
|
+
const M$X = createMultiLanguageString;
|
|
30526
30531
|
const educationLevelIds = {
|
|
30527
30532
|
lessThanHighSchool: AXPDataGenerator.uuid(),
|
|
30528
30533
|
highSchool: AXPDataGenerator.uuid(),
|
|
@@ -30535,42 +30540,42 @@ const educationLevelIds = {
|
|
|
30535
30540
|
const educationLevelMocks = [
|
|
30536
30541
|
{
|
|
30537
30542
|
id: educationLevelIds.lessThanHighSchool,
|
|
30538
|
-
title: M$
|
|
30539
|
-
description: M$
|
|
30543
|
+
title: M$X('Less than high school', 'زیر دیپلم'),
|
|
30544
|
+
description: M$X('Education below high school completion', 'تحصیلات زیر پایان دبیرستان'),
|
|
30540
30545
|
},
|
|
30541
30546
|
{
|
|
30542
30547
|
id: educationLevelIds.highSchool,
|
|
30543
|
-
title: M$
|
|
30544
|
-
description: M$
|
|
30548
|
+
title: M$X('High school', 'دبیرستان'),
|
|
30549
|
+
description: M$X('High school diploma or equivalent', 'دیپلم دبیرستان یا معادل'),
|
|
30545
30550
|
},
|
|
30546
30551
|
{
|
|
30547
30552
|
id: educationLevelIds.bachelors,
|
|
30548
|
-
title: M$
|
|
30549
|
-
description: M$
|
|
30553
|
+
title: M$X("Bachelor's degree", 'کارشناسی'),
|
|
30554
|
+
description: M$X('Undergraduate university degree', 'مدرک کارشناسی دانشگاهی'),
|
|
30550
30555
|
},
|
|
30551
30556
|
{
|
|
30552
30557
|
id: educationLevelIds.masters,
|
|
30553
|
-
title: M$
|
|
30554
|
-
description: M$
|
|
30558
|
+
title: M$X("Master's degree", 'کارشناسی ارشد'),
|
|
30559
|
+
description: M$X('Graduate university degree', 'مدرک تحصیلات تکمیلی'),
|
|
30555
30560
|
},
|
|
30556
30561
|
{
|
|
30557
30562
|
id: educationLevelIds.doctorate,
|
|
30558
|
-
title: M$
|
|
30559
|
-
description: M$
|
|
30563
|
+
title: M$X('Doctorate', 'دکتری'),
|
|
30564
|
+
description: M$X('Doctoral or professional doctorate degree', 'دکتری تخصصی یا حرفهای'),
|
|
30560
30565
|
},
|
|
30561
30566
|
{
|
|
30562
30567
|
id: educationLevelIds.associates,
|
|
30563
|
-
title: M$
|
|
30564
|
-
description: M$
|
|
30568
|
+
title: M$X('Associate degree', 'کاردانی'),
|
|
30569
|
+
description: M$X('Two-year college degree', 'مدرک دو ساله دانشگاهی'),
|
|
30565
30570
|
},
|
|
30566
30571
|
{
|
|
30567
30572
|
id: educationLevelIds.vocational,
|
|
30568
|
-
title: M$
|
|
30569
|
-
description: M$
|
|
30573
|
+
title: M$X('Vocational / Certificate', 'فنیحرفهای / گواهینامه'),
|
|
30574
|
+
description: M$X('Vocational training or certificate program', 'آموزش فنی یا دوره گواهینامه'),
|
|
30570
30575
|
},
|
|
30571
30576
|
];
|
|
30572
30577
|
|
|
30573
|
-
const M$
|
|
30578
|
+
const M$W = createMultiLanguageString;
|
|
30574
30579
|
const genderIds = {
|
|
30575
30580
|
male: 'b3000001-0000-4000-8000-000000000001',
|
|
30576
30581
|
female: 'b3000001-0000-4000-8000-000000000002',
|
|
@@ -30581,32 +30586,32 @@ const genderIds = {
|
|
|
30581
30586
|
const genderMocks = [
|
|
30582
30587
|
{
|
|
30583
30588
|
id: genderIds.male,
|
|
30584
|
-
title: M$
|
|
30585
|
-
description: M$
|
|
30589
|
+
title: M$W('Male', 'مرد'),
|
|
30590
|
+
description: M$W('Male gender identity', 'هویت جنسیتی مرد'),
|
|
30586
30591
|
},
|
|
30587
30592
|
{
|
|
30588
30593
|
id: genderIds.female,
|
|
30589
|
-
title: M$
|
|
30590
|
-
description: M$
|
|
30594
|
+
title: M$W('Female', 'زن'),
|
|
30595
|
+
description: M$W('Female gender identity', 'هویت جنسیتی زن'),
|
|
30591
30596
|
},
|
|
30592
30597
|
{
|
|
30593
30598
|
id: genderIds.nonBinary,
|
|
30594
|
-
title: M$
|
|
30595
|
-
description: M$
|
|
30599
|
+
title: M$W('Non-binary', 'غیردودویی'),
|
|
30600
|
+
description: M$W('Non-binary gender identity', 'هویت جنسیتی غیردودویی'),
|
|
30596
30601
|
},
|
|
30597
30602
|
{
|
|
30598
30603
|
id: genderIds.other,
|
|
30599
|
-
title: M$
|
|
30600
|
-
description: M$
|
|
30604
|
+
title: M$W('Other', 'سایر'),
|
|
30605
|
+
description: M$W('Another gender identity', 'سایر هویتهای جنسیتی'),
|
|
30601
30606
|
},
|
|
30602
30607
|
{
|
|
30603
30608
|
id: genderIds.preferNotToSay,
|
|
30604
|
-
title: M$
|
|
30605
|
-
description: M$
|
|
30609
|
+
title: M$W('Prefer not to say', 'ترجیح میدهم نگویم'),
|
|
30610
|
+
description: M$W('Decline to answer', 'عدم تمایل به پاسخ'),
|
|
30606
30611
|
},
|
|
30607
30612
|
];
|
|
30608
30613
|
|
|
30609
|
-
const M$
|
|
30614
|
+
const M$V = createMultiLanguageString;
|
|
30610
30615
|
const maritalStatusIds = {
|
|
30611
30616
|
single: 'b1000001-0000-4000-8000-000000000001',
|
|
30612
30617
|
married: 'b1000001-0000-4000-8000-000000000002',
|
|
@@ -30618,37 +30623,37 @@ const maritalStatusIds = {
|
|
|
30618
30623
|
const maritalStatusMocks = [
|
|
30619
30624
|
{
|
|
30620
30625
|
id: maritalStatusIds.single,
|
|
30621
|
-
title: M$
|
|
30622
|
-
description: M$
|
|
30626
|
+
title: M$V('Single', 'مجرد'),
|
|
30627
|
+
description: M$V('Not married', 'ازدواج نکرده'),
|
|
30623
30628
|
},
|
|
30624
30629
|
{
|
|
30625
30630
|
id: maritalStatusIds.married,
|
|
30626
|
-
title: M$
|
|
30627
|
-
description: M$
|
|
30631
|
+
title: M$V('Married', 'متأهل'),
|
|
30632
|
+
description: M$V('Legally or socially married', 'متأهل بهصورت رسمی یا عرفی'),
|
|
30628
30633
|
},
|
|
30629
30634
|
{
|
|
30630
30635
|
id: maritalStatusIds.divorced,
|
|
30631
|
-
title: M$
|
|
30632
|
-
description: M$
|
|
30636
|
+
title: M$V('Divorced', 'مطلقه'),
|
|
30637
|
+
description: M$V('Previously married and legally divorced', 'قبلاً ازدواج کرده و بهطور رسمی جدا شده'),
|
|
30633
30638
|
},
|
|
30634
30639
|
{
|
|
30635
30640
|
id: maritalStatusIds.widowed,
|
|
30636
|
-
title: M$
|
|
30637
|
-
description: M$
|
|
30641
|
+
title: M$V('Widowed', 'همسر فوت شده'),
|
|
30642
|
+
description: M$V('Spouse deceased', 'همسر فوت کرده است'),
|
|
30638
30643
|
},
|
|
30639
30644
|
{
|
|
30640
30645
|
id: maritalStatusIds.separated,
|
|
30641
|
-
title: M$
|
|
30642
|
-
description: M$
|
|
30646
|
+
title: M$V('Separated', 'جدا'),
|
|
30647
|
+
description: M$V('Separated but not legally divorced', 'جداشده بدون طلاق رسمی'),
|
|
30643
30648
|
},
|
|
30644
30649
|
{
|
|
30645
30650
|
id: maritalStatusIds.domesticPartnership,
|
|
30646
|
-
title: M$
|
|
30647
|
-
description: M$
|
|
30651
|
+
title: M$V('Domestic partnership', 'همزیستی مدنی'),
|
|
30652
|
+
description: M$V('Registered domestic or civil partnership', 'شراکت مدنی یا همبودی رسمی'),
|
|
30648
30653
|
},
|
|
30649
30654
|
];
|
|
30650
30655
|
|
|
30651
|
-
const M$
|
|
30656
|
+
const M$U = createMultiLanguageString;
|
|
30652
30657
|
const personTitleIds = {
|
|
30653
30658
|
mr: 'b2000001-0000-4000-8000-000000000001',
|
|
30654
30659
|
mrs: 'b2000001-0000-4000-8000-000000000002',
|
|
@@ -30662,43 +30667,43 @@ const personTitleIds = {
|
|
|
30662
30667
|
const personTitleMocks = [
|
|
30663
30668
|
{
|
|
30664
30669
|
id: personTitleIds.mr,
|
|
30665
|
-
title: M$
|
|
30666
|
-
description: M$
|
|
30670
|
+
title: M$U('Mr', 'آقا'),
|
|
30671
|
+
description: M$U('Male salutation', 'عنوان رسمی مردان'),
|
|
30667
30672
|
},
|
|
30668
30673
|
{
|
|
30669
30674
|
id: personTitleIds.mrs,
|
|
30670
|
-
title: M$
|
|
30671
|
-
description: M$
|
|
30675
|
+
title: M$U('Mrs', 'خانم'),
|
|
30676
|
+
description: M$U('Married or widowed woman', 'خانم (متأهل یا بیوه)'),
|
|
30672
30677
|
},
|
|
30673
30678
|
{
|
|
30674
30679
|
id: personTitleIds.ms,
|
|
30675
|
-
title: M$
|
|
30676
|
-
description: M$
|
|
30680
|
+
title: M$U('Ms', 'بانو'),
|
|
30681
|
+
description: M$U('Gender-neutral title for women', 'عنوان بدون اشاره به وضعیت تأهل'),
|
|
30677
30682
|
},
|
|
30678
30683
|
{
|
|
30679
30684
|
id: personTitleIds.miss,
|
|
30680
|
-
title: M$
|
|
30681
|
-
description: M$
|
|
30685
|
+
title: M$U('Miss', 'دوشیزه'),
|
|
30686
|
+
description: M$U('Traditionally unmarried woman', 'سنتاً خانم مجرد'),
|
|
30682
30687
|
},
|
|
30683
30688
|
{
|
|
30684
30689
|
id: personTitleIds.dr,
|
|
30685
|
-
title: M$
|
|
30686
|
-
description: M$
|
|
30690
|
+
title: M$U('Dr', 'دکتر'),
|
|
30691
|
+
description: M$U('Doctor (academic or medical)', 'دکتر (دانشگاهی یا پزشکی)'),
|
|
30687
30692
|
},
|
|
30688
30693
|
{
|
|
30689
30694
|
id: personTitleIds.prof,
|
|
30690
|
-
title: M$
|
|
30691
|
-
description: M$
|
|
30695
|
+
title: M$U('Prof', 'استاد'),
|
|
30696
|
+
description: M$U('Professor', 'استاد دانشگاه'),
|
|
30692
30697
|
},
|
|
30693
30698
|
{
|
|
30694
30699
|
id: personTitleIds.rev,
|
|
30695
|
-
title: M$
|
|
30696
|
-
description: M$
|
|
30700
|
+
title: M$U('Rev', 'روحانی'),
|
|
30701
|
+
description: M$U('Reverend or clergy', 'عنوان روحانی'),
|
|
30697
30702
|
},
|
|
30698
30703
|
{
|
|
30699
30704
|
id: personTitleIds.other,
|
|
30700
|
-
title: M$
|
|
30701
|
-
description: M$
|
|
30705
|
+
title: M$U('Other', 'سایر'),
|
|
30706
|
+
description: M$U('Other salutation', 'سایر عناوین'),
|
|
30702
30707
|
},
|
|
30703
30708
|
];
|
|
30704
30709
|
|
|
@@ -30710,6 +30715,10 @@ const personTitleMocks = [
|
|
|
30710
30715
|
const PLATFORM_TENANT_ID = AXPDataGenerator.uuid();
|
|
30711
30716
|
const TIMEPLICITY_TENANT_ID = AXPDataGenerator.uuid();
|
|
30712
30717
|
const LASER_PLUMBING_TENANT_ID = AXPDataGenerator.uuid();
|
|
30718
|
+
/** MAGFA (مگفا) — Iran commerce tenant for conversation / AI / reports demo. */
|
|
30719
|
+
const MAGFA_TENANT_ID = AXPDataGenerator.uuid();
|
|
30720
|
+
/** @deprecated Use {@link MAGFA_TENANT_ID}. */
|
|
30721
|
+
const COLLABORATION_TENANT_ID = MAGFA_TENANT_ID;
|
|
30713
30722
|
//#endregion
|
|
30714
30723
|
|
|
30715
30724
|
//#region ---- Imports ----
|
|
@@ -30836,7 +30845,9 @@ const mockRoleDefinitions = [
|
|
|
30836
30845
|
name: 'user',
|
|
30837
30846
|
title: 'Regular User',
|
|
30838
30847
|
description: 'Standard user with basic system access',
|
|
30839
|
-
permissions: [
|
|
30848
|
+
permissions: [
|
|
30849
|
+
AXMPermissionsKeys$4.Conversation.Management,
|
|
30850
|
+
],
|
|
30840
30851
|
ownershipInfo: {
|
|
30841
30852
|
tenantId: TIMEPLICITY_TENANT_ID, // Timeplicity tenant
|
|
30842
30853
|
},
|
|
@@ -30962,9 +30973,9 @@ const mockRoleDefinitions = [
|
|
|
30962
30973
|
AXPSecurityManagementPermissionKeys.Role.Edit,
|
|
30963
30974
|
AXPSecurityManagementPermissionKeys.Role.Delete,
|
|
30964
30975
|
//
|
|
30965
|
-
AXMPermissionsKeys$
|
|
30966
|
-
AXMPermissionsKeys$
|
|
30967
|
-
AXMPermissionsKeys$
|
|
30976
|
+
AXMPermissionsKeys$5.DocumentManagement.Management,
|
|
30977
|
+
AXMPermissionsKeys$5.DocumentManagement.Driver.Management,
|
|
30978
|
+
AXMPermissionsKeys$5.DocumentManagement.DocumentType.Management,
|
|
30968
30979
|
//
|
|
30969
30980
|
AXMPermissionsKeys$2.DataManagement.MetaDataDefinition.Management,
|
|
30970
30981
|
AXMPermissionsKeys$2.DataManagement.Tag.Management,
|
|
@@ -30972,9 +30983,11 @@ const mockRoleDefinitions = [
|
|
|
30972
30983
|
AXMAssessmentManagementPermissionKeys.AssessmentManagement.Questionnaire.Management,
|
|
30973
30984
|
AXMAssessmentManagementPermissionKeys.AssessmentManagement.QuestionBank,
|
|
30974
30985
|
//
|
|
30975
|
-
AXMPermissionsKeys$
|
|
30976
|
-
|
|
30977
|
-
AXMPermissionsKeys$
|
|
30986
|
+
AXMPermissionsKeys$4.Conversation.Management,
|
|
30987
|
+
//
|
|
30988
|
+
AXMPermissionsKeys$6.HumanCapitalManagement.Employee.Management,
|
|
30989
|
+
AXMPermissionsKeys$6.HumanCapitalManagement.LeaveType.Management,
|
|
30990
|
+
AXMPermissionsKeys$6.HumanCapitalManagement.LeaveRequest.Management,
|
|
30978
30991
|
//
|
|
30979
30992
|
AXMSettingsManagementPermissionKeys.TenantSettings.Management,
|
|
30980
30993
|
],
|
|
@@ -30991,6 +31004,26 @@ const mockRoleDefinitions = [
|
|
|
30991
31004
|
},
|
|
30992
31005
|
},
|
|
30993
31006
|
},
|
|
31007
|
+
{
|
|
31008
|
+
id: 'a0000001-0000-4000-a000-000000000099',
|
|
31009
|
+
name: 'conversation-only',
|
|
31010
|
+
title: 'Conversation Only',
|
|
31011
|
+
description: 'Conversation access only for MAGFA commerce (مگفا — تجارت)',
|
|
31012
|
+
permissions: [
|
|
31013
|
+
AXMPermissionsKeys$4.Conversation.Management,
|
|
31014
|
+
],
|
|
31015
|
+
ownershipInfo: {
|
|
31016
|
+
tenantId: MAGFA_TENANT_ID,
|
|
31017
|
+
},
|
|
31018
|
+
auditInfo: {
|
|
31019
|
+
created: {
|
|
31020
|
+
at: new Date('2024-01-01T00:00:00Z'),
|
|
31021
|
+
},
|
|
31022
|
+
updated: {
|
|
31023
|
+
at: new Date('2024-01-01T00:00:00Z'),
|
|
31024
|
+
},
|
|
31025
|
+
},
|
|
31026
|
+
},
|
|
30994
31027
|
];
|
|
30995
31028
|
//#endregion
|
|
30996
31029
|
|
|
@@ -31006,6 +31039,7 @@ const roleIdMap = {
|
|
|
31006
31039
|
finance: mockRoleDefinitions.find((r) => r.name === 'finance')?.id || '',
|
|
31007
31040
|
dev: mockRoleDefinitions.find((r) => r.name === 'dev')?.id || '',
|
|
31008
31041
|
tenantAdministrator: mockRoleDefinitions.find((r) => r.name === 'tenant-administrator')?.id || '',
|
|
31042
|
+
conversationOnly: mockRoleDefinitions.find((r) => r.name === 'conversation-only')?.id || '',
|
|
31009
31043
|
};
|
|
31010
31044
|
// Helper function to get roles by IDs
|
|
31011
31045
|
const getRolesByIds = (roleIds) => {
|
|
@@ -31038,6 +31072,7 @@ const userIds = {
|
|
|
31038
31072
|
yukiTanaka: 'f0000001-0000-4000-a000-000000000012',
|
|
31039
31073
|
rodJensen: 'f0000001-0000-4000-a000-000000000013',
|
|
31040
31074
|
heidiThonig: 'f0000001-0000-4000-a000-000000000014',
|
|
31075
|
+
mohamadPourGhorban: 'f0000001-0000-4000-a000-000000000015',
|
|
31041
31076
|
};
|
|
31042
31077
|
const rawMockUsers = [
|
|
31043
31078
|
{
|
|
@@ -31311,6 +31346,19 @@ const rawMockUsers = [
|
|
|
31311
31346
|
tenantId: TIMEPLICITY_TENANT_ID, // Timeplicity tenant (primary tenant based on tenant-user assignment)
|
|
31312
31347
|
},
|
|
31313
31348
|
},
|
|
31349
|
+
{
|
|
31350
|
+
id: userIds.mohamadPourGhorban,
|
|
31351
|
+
username: 'mohamad.pour.ghorban',
|
|
31352
|
+
displayName: 'Mohammad Pour Ghorban',
|
|
31353
|
+
roleIds: [roleIdMap.conversationOnly],
|
|
31354
|
+
roles: getRolesByIds([roleIdMap.conversationOnly]),
|
|
31355
|
+
password: '123',
|
|
31356
|
+
accountState: AXPSystemStatusType.Active,
|
|
31357
|
+
accessState: AXMUserAccessState.Allowed,
|
|
31358
|
+
ownershipInfo: {
|
|
31359
|
+
tenantId: MAGFA_TENANT_ID,
|
|
31360
|
+
},
|
|
31361
|
+
},
|
|
31314
31362
|
];
|
|
31315
31363
|
const mockUsers = rawMockUsers.map((u) => ({
|
|
31316
31364
|
...u,
|
|
@@ -31357,6 +31405,7 @@ const personIds = {
|
|
|
31357
31405
|
admin: 'ddd51595-13ab-4580-9db5-3b13b233ddf17',
|
|
31358
31406
|
rodJensen: 'ddd51595-13ab-4580-9db5-3b13b233ddf18',
|
|
31359
31407
|
heidiThonig: 'ddd51595-13ab-4580-9db5-3b13b233ddf19',
|
|
31408
|
+
mohamadPourGhorban: 'ddd51595-13ab-4580-9db5-3b13b233ddf20',
|
|
31360
31409
|
techSolutionsInc: 'c3000001-0000-0000-0000-000000000001',
|
|
31361
31410
|
acmeCorporation: 'c3000001-0000-0000-0000-000000000002',
|
|
31362
31411
|
globalSuppliersLtd: 'c3000001-0000-0000-0000-000000000003',
|
|
@@ -31393,6 +31442,7 @@ const personNaturalIds = {
|
|
|
31393
31442
|
admin: personIds.admin,
|
|
31394
31443
|
rodJensen: personIds.rodJensen,
|
|
31395
31444
|
heidiThonig: personIds.heidiThonig,
|
|
31445
|
+
mohamadPourGhorban: personIds.mohamadPourGhorban,
|
|
31396
31446
|
};
|
|
31397
31447
|
const personLegalIds = {
|
|
31398
31448
|
techSolutionsInc: personIds.techSolutionsInc,
|
|
@@ -31735,6 +31785,23 @@ const personMock = [
|
|
|
31735
31785
|
educationLevelId: educationLevelIds.masters,
|
|
31736
31786
|
educationLevel: educationLevelRef(educationLevelIds.masters),
|
|
31737
31787
|
},
|
|
31788
|
+
{
|
|
31789
|
+
id: personIds.mohamadPourGhorban,
|
|
31790
|
+
userId: userIds.mohamadPourGhorban,
|
|
31791
|
+
firstName: 'Mohammad',
|
|
31792
|
+
lastName: 'Pour Ghorban',
|
|
31793
|
+
fullName: 'Mohammad Pour Ghorban',
|
|
31794
|
+
personTitleId: personTitleIds.mr,
|
|
31795
|
+
personTitle: personTitleRef(personTitleIds.mr),
|
|
31796
|
+
birthDate: '1990-06-15',
|
|
31797
|
+
identityNumber: 'SSN-900615020',
|
|
31798
|
+
genderId: genderIds.male,
|
|
31799
|
+
gender: genderRef(genderIds.male),
|
|
31800
|
+
maritalStatusId: maritalStatusIds.single,
|
|
31801
|
+
maritalStatus: maritalStatusRef(maritalStatusIds.single),
|
|
31802
|
+
educationLevelId: educationLevelIds.bachelors,
|
|
31803
|
+
educationLevel: educationLevelRef(educationLevelIds.bachelors),
|
|
31804
|
+
},
|
|
31738
31805
|
];
|
|
31739
31806
|
//#endregion
|
|
31740
31807
|
|
|
@@ -32637,9 +32704,12 @@ class MockApplicationLoader {
|
|
|
32637
32704
|
}
|
|
32638
32705
|
mapToAXPApplication(item) {
|
|
32639
32706
|
const firstEdition = item.editions?.[0];
|
|
32707
|
+
const routeName = item.code === 'MAGFA-001'
|
|
32708
|
+
? 'magfa-commerce'
|
|
32709
|
+
: item.name || item.title?.toLowerCase().replace(/\s+/g, '-') || 'default-name';
|
|
32640
32710
|
return {
|
|
32641
32711
|
id: item.id,
|
|
32642
|
-
name:
|
|
32712
|
+
name: routeName,
|
|
32643
32713
|
title: item.title,
|
|
32644
32714
|
version: item.version || '1.0.0',
|
|
32645
32715
|
edition: firstEdition
|
|
@@ -33305,7 +33375,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
33305
33375
|
}]
|
|
33306
33376
|
}] });
|
|
33307
33377
|
|
|
33308
|
-
const M$
|
|
33378
|
+
const M$T = createMultiLanguageString;
|
|
33309
33379
|
const manufacturerCategoryIds = {
|
|
33310
33380
|
electronics: AXPDataGenerator.uuid(),
|
|
33311
33381
|
semiconductors: AXPDataGenerator.uuid(),
|
|
@@ -33329,16 +33399,16 @@ const manufacturerCategoryIds = {
|
|
|
33329
33399
|
const manufacturerCategoryMocks = [
|
|
33330
33400
|
{
|
|
33331
33401
|
id: manufacturerCategoryIds.electronics,
|
|
33332
|
-
title: M$
|
|
33333
|
-
description: M$
|
|
33402
|
+
title: M$T('Electronics Manufacturing', 'تولید الکترونیک'),
|
|
33403
|
+
description: M$T('Electronic equipment and component manufacturers', 'تجهیزات و قطعات الکترونیک'),
|
|
33334
33404
|
icon: 'fa-light fa-microchip',
|
|
33335
33405
|
color: '#3b82f6',
|
|
33336
33406
|
childrenCount: 2,
|
|
33337
33407
|
},
|
|
33338
33408
|
{
|
|
33339
33409
|
id: manufacturerCategoryIds.semiconductors,
|
|
33340
|
-
title: M$
|
|
33341
|
-
description: M$
|
|
33410
|
+
title: M$T('Semiconductors', 'نیمههادی'),
|
|
33411
|
+
description: M$T('Semiconductor and chip manufacturers', 'سازندگان چیپ و نیمههادی'),
|
|
33342
33412
|
parentId: manufacturerCategoryIds.electronics,
|
|
33343
33413
|
icon: 'fa-light fa-memory',
|
|
33344
33414
|
color: '#6366f1',
|
|
@@ -33346,8 +33416,8 @@ const manufacturerCategoryMocks = [
|
|
|
33346
33416
|
},
|
|
33347
33417
|
{
|
|
33348
33418
|
id: manufacturerCategoryIds.consumerElectronics,
|
|
33349
|
-
title: M$
|
|
33350
|
-
description: M$
|
|
33419
|
+
title: M$T('Consumer Electronics', 'الکترونیک مصرفی'),
|
|
33420
|
+
description: M$T('Consumer electronics manufacturers', 'تولیدکنندگان الکترونیک مصرفی'),
|
|
33351
33421
|
parentId: manufacturerCategoryIds.electronics,
|
|
33352
33422
|
icon: 'fa-light fa-tv',
|
|
33353
33423
|
color: '#8b5cf6',
|
|
@@ -33355,16 +33425,16 @@ const manufacturerCategoryMocks = [
|
|
|
33355
33425
|
},
|
|
33356
33426
|
{
|
|
33357
33427
|
id: manufacturerCategoryIds.automotive,
|
|
33358
|
-
title: M$
|
|
33359
|
-
description: M$
|
|
33428
|
+
title: M$T('Automotive', 'خودرو'),
|
|
33429
|
+
description: M$T('Automotive manufacturers', 'سازندگان خودرو'),
|
|
33360
33430
|
icon: 'fa-light fa-car',
|
|
33361
33431
|
color: '#ef4444',
|
|
33362
33432
|
childrenCount: 2,
|
|
33363
33433
|
},
|
|
33364
33434
|
{
|
|
33365
33435
|
id: manufacturerCategoryIds.vehicleParts,
|
|
33366
|
-
title: M$
|
|
33367
|
-
description: M$
|
|
33436
|
+
title: M$T('Vehicle Parts', 'قطعات خودرو'),
|
|
33437
|
+
description: M$T('Auto parts manufacturers', 'سازندگان قطعات خودرو'),
|
|
33368
33438
|
parentId: manufacturerCategoryIds.automotive,
|
|
33369
33439
|
icon: 'fa-light fa-gear',
|
|
33370
33440
|
color: '#dc2626',
|
|
@@ -33372,8 +33442,8 @@ const manufacturerCategoryMocks = [
|
|
|
33372
33442
|
},
|
|
33373
33443
|
{
|
|
33374
33444
|
id: manufacturerCategoryIds.electricVehicles,
|
|
33375
|
-
title: M$
|
|
33376
|
-
description: M$
|
|
33445
|
+
title: M$T('Electric Vehicles', 'خودروی برقی'),
|
|
33446
|
+
description: M$T('EV manufacturers', 'سازندگان خودروی برقی'),
|
|
33377
33447
|
parentId: manufacturerCategoryIds.automotive,
|
|
33378
33448
|
icon: 'fa-light fa-charging-station',
|
|
33379
33449
|
color: '#10b981',
|
|
@@ -33381,16 +33451,16 @@ const manufacturerCategoryMocks = [
|
|
|
33381
33451
|
},
|
|
33382
33452
|
{
|
|
33383
33453
|
id: manufacturerCategoryIds.textiles,
|
|
33384
|
-
title: M$
|
|
33385
|
-
description: M$
|
|
33454
|
+
title: M$T('Textiles & Apparel', 'نساجی و پوشاک'),
|
|
33455
|
+
description: M$T('Textile and apparel manufacturers', 'تولیدکنندگان نساجی و پوشاک'),
|
|
33386
33456
|
icon: 'fa-light fa-shirt',
|
|
33387
33457
|
color: '#ec4899',
|
|
33388
33458
|
childrenCount: 2,
|
|
33389
33459
|
},
|
|
33390
33460
|
{
|
|
33391
33461
|
id: manufacturerCategoryIds.apparel,
|
|
33392
|
-
title: M$
|
|
33393
|
-
description: M$
|
|
33462
|
+
title: M$T('Apparel', 'پوشاک'),
|
|
33463
|
+
description: M$T('Clothing manufacturers', 'تولیدکنندگان پوشاک'),
|
|
33394
33464
|
parentId: manufacturerCategoryIds.textiles,
|
|
33395
33465
|
icon: 'fa-light fa-vest',
|
|
33396
33466
|
color: '#db2777',
|
|
@@ -33398,8 +33468,8 @@ const manufacturerCategoryMocks = [
|
|
|
33398
33468
|
},
|
|
33399
33469
|
{
|
|
33400
33470
|
id: manufacturerCategoryIds.fabrics,
|
|
33401
|
-
title: M$
|
|
33402
|
-
description: M$
|
|
33471
|
+
title: M$T('Fabrics', 'پارچه'),
|
|
33472
|
+
description: M$T('Fabric manufacturers', 'تولیدکنندگان پارچه'),
|
|
33403
33473
|
parentId: manufacturerCategoryIds.textiles,
|
|
33404
33474
|
icon: 'fa-light fa-socks',
|
|
33405
33475
|
color: '#f472b6',
|
|
@@ -33407,16 +33477,16 @@ const manufacturerCategoryMocks = [
|
|
|
33407
33477
|
},
|
|
33408
33478
|
{
|
|
33409
33479
|
id: manufacturerCategoryIds.foodProcessing,
|
|
33410
|
-
title: M$
|
|
33411
|
-
description: M$
|
|
33480
|
+
title: M$T('Food & Beverage', 'غذا و نوشیدنی'),
|
|
33481
|
+
description: M$T('Food and beverage manufacturers', 'تولیدکنندگان غذا و نوشیدنی'),
|
|
33412
33482
|
icon: 'fa-light fa-utensils',
|
|
33413
33483
|
color: '#f59e0b',
|
|
33414
33484
|
childrenCount: 2,
|
|
33415
33485
|
},
|
|
33416
33486
|
{
|
|
33417
33487
|
id: manufacturerCategoryIds.beverageProduction,
|
|
33418
|
-
title: M$
|
|
33419
|
-
description: M$
|
|
33488
|
+
title: M$T('Beverage Production', 'تولید نوشیدنی'),
|
|
33489
|
+
description: M$T('Beverage manufacturers', 'تولیدکنندگان نوشیدنی'),
|
|
33420
33490
|
parentId: manufacturerCategoryIds.foodProcessing,
|
|
33421
33491
|
icon: 'fa-light fa-bottle-droplet',
|
|
33422
33492
|
color: '#06b6d4',
|
|
@@ -33424,8 +33494,8 @@ const manufacturerCategoryMocks = [
|
|
|
33424
33494
|
},
|
|
33425
33495
|
{
|
|
33426
33496
|
id: manufacturerCategoryIds.dairyProcessing,
|
|
33427
|
-
title: M$
|
|
33428
|
-
description: M$
|
|
33497
|
+
title: M$T('Dairy Processing', 'فرآوری لبنی'),
|
|
33498
|
+
description: M$T('Dairy product manufacturers', 'تولیدکنندگان لبنیات'),
|
|
33429
33499
|
parentId: manufacturerCategoryIds.foodProcessing,
|
|
33430
33500
|
icon: 'fa-light fa-cow',
|
|
33431
33501
|
color: '#eab308',
|
|
@@ -33433,16 +33503,16 @@ const manufacturerCategoryMocks = [
|
|
|
33433
33503
|
},
|
|
33434
33504
|
{
|
|
33435
33505
|
id: manufacturerCategoryIds.pharmaceuticals,
|
|
33436
|
-
title: M$
|
|
33437
|
-
description: M$
|
|
33506
|
+
title: M$T('Pharmaceuticals', 'دارویی'),
|
|
33507
|
+
description: M$T('Pharmaceutical manufacturers', 'تولیدکنندگان دارو'),
|
|
33438
33508
|
icon: 'fa-light fa-capsules',
|
|
33439
33509
|
color: '#14b8a6',
|
|
33440
33510
|
childrenCount: 2,
|
|
33441
33511
|
},
|
|
33442
33512
|
{
|
|
33443
33513
|
id: manufacturerCategoryIds.genericDrugs,
|
|
33444
|
-
title: M$
|
|
33445
|
-
description: M$
|
|
33514
|
+
title: M$T('Generic Drugs', 'داروی ژنریک'),
|
|
33515
|
+
description: M$T('Generic drug manufacturers', 'تولیدکنندگان داروی ژنریک'),
|
|
33446
33516
|
parentId: manufacturerCategoryIds.pharmaceuticals,
|
|
33447
33517
|
icon: 'fa-light fa-pills',
|
|
33448
33518
|
color: '#0d9488',
|
|
@@ -33450,8 +33520,8 @@ const manufacturerCategoryMocks = [
|
|
|
33450
33520
|
},
|
|
33451
33521
|
{
|
|
33452
33522
|
id: manufacturerCategoryIds.medicalDevices,
|
|
33453
|
-
title: M$
|
|
33454
|
-
description: M$
|
|
33523
|
+
title: M$T('Medical Devices', 'تجهیزات پزشکی'),
|
|
33524
|
+
description: M$T('Medical device manufacturers', 'سازندگان تجهیزات پزشکی'),
|
|
33455
33525
|
parentId: manufacturerCategoryIds.pharmaceuticals,
|
|
33456
33526
|
icon: 'fa-light fa-stethoscope',
|
|
33457
33527
|
color: '#2dd4bf',
|
|
@@ -33459,16 +33529,16 @@ const manufacturerCategoryMocks = [
|
|
|
33459
33529
|
},
|
|
33460
33530
|
{
|
|
33461
33531
|
id: manufacturerCategoryIds.chemicals,
|
|
33462
|
-
title: M$
|
|
33463
|
-
description: M$
|
|
33532
|
+
title: M$T('Chemicals', 'مواد شیمیایی'),
|
|
33533
|
+
description: M$T('Chemical manufacturers', 'تولیدکنندگان مواد شیمیایی'),
|
|
33464
33534
|
icon: 'fa-light fa-flask',
|
|
33465
33535
|
color: '#a855f7',
|
|
33466
33536
|
childrenCount: 2,
|
|
33467
33537
|
},
|
|
33468
33538
|
{
|
|
33469
33539
|
id: manufacturerCategoryIds.industrialChemicals,
|
|
33470
|
-
title: M$
|
|
33471
|
-
description: M$
|
|
33540
|
+
title: M$T('Industrial Chemicals', 'شیمیایی صنعتی'),
|
|
33541
|
+
description: M$T('Industrial chemical manufacturers', 'تولیدکنندگان مواد شیمیایی صنعتی'),
|
|
33472
33542
|
parentId: manufacturerCategoryIds.chemicals,
|
|
33473
33543
|
icon: 'fa-light fa-industry',
|
|
33474
33544
|
color: '#9333ea',
|
|
@@ -33476,8 +33546,8 @@ const manufacturerCategoryMocks = [
|
|
|
33476
33546
|
},
|
|
33477
33547
|
{
|
|
33478
33548
|
id: manufacturerCategoryIds.specialty,
|
|
33479
|
-
title: M$
|
|
33480
|
-
description: M$
|
|
33549
|
+
title: M$T('Specialty Chemicals', 'شیمیایی تخصصی'),
|
|
33550
|
+
description: M$T('Specialty chemical manufacturers', 'تولیدکنندگان مواد شیمیایی تخصصی'),
|
|
33481
33551
|
parentId: manufacturerCategoryIds.chemicals,
|
|
33482
33552
|
icon: 'fa-light fa-vial',
|
|
33483
33553
|
color: '#c084fc',
|
|
@@ -33485,7 +33555,7 @@ const manufacturerCategoryMocks = [
|
|
|
33485
33555
|
},
|
|
33486
33556
|
];
|
|
33487
33557
|
|
|
33488
|
-
const M$
|
|
33558
|
+
const M$S = createMultiLanguageString;
|
|
33489
33559
|
const manufacturerIds = {
|
|
33490
33560
|
techCorp: AXPDataGenerator.uuid(),
|
|
33491
33561
|
autoWorks: AXPDataGenerator.uuid(),
|
|
@@ -33503,8 +33573,8 @@ const manufacturerMocks = [
|
|
|
33503
33573
|
{
|
|
33504
33574
|
id: manufacturerIds.techCorp,
|
|
33505
33575
|
code: 'MFG-001',
|
|
33506
|
-
title: M$
|
|
33507
|
-
description: M$
|
|
33576
|
+
title: M$S('TechCorp Industries', 'صنایع تککورپ'),
|
|
33577
|
+
description: M$S('Leading electronics manufacturer', 'تولیدکننده پیشرو الکترونیک'),
|
|
33508
33578
|
countryOfOrigin: 'USA',
|
|
33509
33579
|
website: 'https://www.techcorp.com',
|
|
33510
33580
|
contactEmail: 'info@techcorp.com',
|
|
@@ -33519,8 +33589,8 @@ const manufacturerMocks = [
|
|
|
33519
33589
|
{
|
|
33520
33590
|
id: manufacturerIds.autoWorks,
|
|
33521
33591
|
code: 'MFG-002',
|
|
33522
|
-
title: M$
|
|
33523
|
-
description: M$
|
|
33592
|
+
title: M$S('AutoWorks Manufacturing', 'اتووورکس تولید'),
|
|
33593
|
+
description: M$S('Automotive parts and components', 'قطعات و اجزای خودرو'),
|
|
33524
33594
|
countryOfOrigin: 'Germany',
|
|
33525
33595
|
website: 'https://www.autoworks.de',
|
|
33526
33596
|
contactEmail: 'contact@autoworks.de',
|
|
@@ -33535,8 +33605,8 @@ const manufacturerMocks = [
|
|
|
33535
33605
|
{
|
|
33536
33606
|
id: manufacturerIds.texTile,
|
|
33537
33607
|
code: 'MFG-003',
|
|
33538
|
-
title: M$
|
|
33539
|
-
description: M$
|
|
33608
|
+
title: M$S('TexTile Global', 'نساجی جهانی'),
|
|
33609
|
+
description: M$S('Textile and fabric manufacturer', 'تولیدکننده پارچه و نساجی'),
|
|
33540
33610
|
countryOfOrigin: 'India',
|
|
33541
33611
|
website: 'https://www.textileglobal.in',
|
|
33542
33612
|
contactEmail: 'sales@textileglobal.in',
|
|
@@ -33551,8 +33621,8 @@ const manufacturerMocks = [
|
|
|
33551
33621
|
{
|
|
33552
33622
|
id: manufacturerIds.foodMasters,
|
|
33553
33623
|
code: 'MFG-004',
|
|
33554
|
-
title: M$
|
|
33555
|
-
description: M$
|
|
33624
|
+
title: M$S('FoodMasters Inc', 'فودمسترز'),
|
|
33625
|
+
description: M$S('Food processing and packaging', 'فرآوری و بستهبندی غذا'),
|
|
33556
33626
|
countryOfOrigin: 'Canada',
|
|
33557
33627
|
website: 'https://www.foodmasters.ca',
|
|
33558
33628
|
contactEmail: 'info@foodmasters.ca',
|
|
@@ -33566,8 +33636,8 @@ const manufacturerMocks = [
|
|
|
33566
33636
|
{
|
|
33567
33637
|
id: manufacturerIds.pharmaCo,
|
|
33568
33638
|
code: 'MFG-005',
|
|
33569
|
-
title: M$
|
|
33570
|
-
description: M$
|
|
33639
|
+
title: M$S('PharmaCo Solutions', 'فارماکو سولوشنز'),
|
|
33640
|
+
description: M$S('Pharmaceutical manufacturing', 'تولید دارو'),
|
|
33571
33641
|
countryOfOrigin: 'Switzerland',
|
|
33572
33642
|
website: 'https://www.pharmaco.ch',
|
|
33573
33643
|
contactEmail: 'contact@pharmaco.ch',
|
|
@@ -33585,8 +33655,8 @@ const manufacturerMocks = [
|
|
|
33585
33655
|
{
|
|
33586
33656
|
id: manufacturerIds.chemSolutions,
|
|
33587
33657
|
code: 'MFG-006',
|
|
33588
|
-
title: M$
|
|
33589
|
-
description: M$
|
|
33658
|
+
title: M$S('ChemSolutions Ltd', 'کمسولوشنز'),
|
|
33659
|
+
description: M$S('Industrial and specialty chemicals', 'مواد شیمیایی صنعتی و تخصصی'),
|
|
33590
33660
|
countryOfOrigin: 'UK',
|
|
33591
33661
|
website: 'https://www.chemsolutions.co.uk',
|
|
33592
33662
|
contactEmail: 'sales@chemsolutions.co.uk',
|
|
@@ -33604,8 +33674,8 @@ const manufacturerMocks = [
|
|
|
33604
33674
|
{
|
|
33605
33675
|
id: manufacturerIds.megaElectronics,
|
|
33606
33676
|
code: 'MFG-007',
|
|
33607
|
-
title: M$
|
|
33608
|
-
description: M$
|
|
33677
|
+
title: M$S('Mega Electronics', 'مگا الکترونیک'),
|
|
33678
|
+
description: M$S('Consumer electronics manufacturing', 'تولید الکترونیک مصرفی'),
|
|
33609
33679
|
countryOfOrigin: 'South Korea',
|
|
33610
33680
|
website: 'https://www.megaelectronics.kr',
|
|
33611
33681
|
contactEmail: 'info@megaelectronics.kr',
|
|
@@ -33622,8 +33692,8 @@ const manufacturerMocks = [
|
|
|
33622
33692
|
{
|
|
33623
33693
|
id: manufacturerIds.greenAuto,
|
|
33624
33694
|
code: 'MFG-008',
|
|
33625
|
-
title: M$
|
|
33626
|
-
description: M$
|
|
33695
|
+
title: M$S('GreenAuto Technologies', 'گریناتو فناوری'),
|
|
33696
|
+
description: M$S('Electric vehicle manufacturer', 'تولیدکننده خودروی برقی'),
|
|
33627
33697
|
countryOfOrigin: 'USA',
|
|
33628
33698
|
website: 'https://www.greenauto.com',
|
|
33629
33699
|
contactEmail: 'sales@greenauto.com',
|
|
@@ -33640,8 +33710,8 @@ const manufacturerMocks = [
|
|
|
33640
33710
|
{
|
|
33641
33711
|
id: manufacturerIds.styleFabrics,
|
|
33642
33712
|
code: 'MFG-009',
|
|
33643
|
-
title: M$
|
|
33644
|
-
description: M$
|
|
33713
|
+
title: M$S('StyleFabrics International', 'استایلفابریکس بینالملل'),
|
|
33714
|
+
description: M$S('Apparel manufacturing', 'تولید پوشاک'),
|
|
33645
33715
|
countryOfOrigin: 'Bangladesh',
|
|
33646
33716
|
website: 'https://www.stylefabrics.bd',
|
|
33647
33717
|
contactEmail: 'orders@stylefabrics.bd',
|
|
@@ -33653,8 +33723,8 @@ const manufacturerMocks = [
|
|
|
33653
33723
|
{
|
|
33654
33724
|
id: manufacturerIds.pureBeverage,
|
|
33655
33725
|
code: 'MFG-010',
|
|
33656
|
-
title: M$
|
|
33657
|
-
description: M$
|
|
33726
|
+
title: M$S('PureBeverage Co', 'پیوربیورج'),
|
|
33727
|
+
description: M$S('Beverage production and bottling', 'تولید و بطریسازی نوشیدنی'),
|
|
33658
33728
|
countryOfOrigin: 'France',
|
|
33659
33729
|
website: 'https://www.purebeverage.fr',
|
|
33660
33730
|
contactEmail: 'contact@purebeverage.fr',
|
|
@@ -33698,76 +33768,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
33698
33768
|
type: Injectable
|
|
33699
33769
|
}] });
|
|
33700
33770
|
|
|
33701
|
-
const M$
|
|
33771
|
+
const M$R = createMultiLanguageString;
|
|
33702
33772
|
const industryMocks = [
|
|
33703
33773
|
{
|
|
33704
33774
|
id: AXPDataGenerator.uuid(),
|
|
33705
33775
|
code: 'MANUF',
|
|
33706
|
-
title: M$
|
|
33707
|
-
description: M$
|
|
33776
|
+
title: M$R('Manufacturing', 'تولید و ساخت'),
|
|
33777
|
+
description: M$R('Manufacturing and production industries', 'صنایع تولیدی'),
|
|
33708
33778
|
isDisabled: false,
|
|
33709
33779
|
},
|
|
33710
33780
|
{
|
|
33711
33781
|
id: AXPDataGenerator.uuid(),
|
|
33712
33782
|
code: 'TECH',
|
|
33713
|
-
title: M$
|
|
33714
|
-
description: M$
|
|
33783
|
+
title: M$R('Technology', 'فناوری اطلاعات'),
|
|
33784
|
+
description: M$R('Information technology and software industries', 'نرمافزار و فناوری'),
|
|
33715
33785
|
isDisabled: false,
|
|
33716
33786
|
},
|
|
33717
33787
|
{
|
|
33718
33788
|
id: AXPDataGenerator.uuid(),
|
|
33719
33789
|
code: 'RETAIL',
|
|
33720
|
-
title: M$
|
|
33721
|
-
description: M$
|
|
33790
|
+
title: M$R('Retail', 'خردهفروشی'),
|
|
33791
|
+
description: M$R('Retail and consumer goods industries', 'کالای مصرفی'),
|
|
33722
33792
|
isDisabled: false,
|
|
33723
33793
|
},
|
|
33724
33794
|
{
|
|
33725
33795
|
id: AXPDataGenerator.uuid(),
|
|
33726
33796
|
code: 'HEALTH',
|
|
33727
|
-
title: M$
|
|
33728
|
-
description: M$
|
|
33797
|
+
title: M$R('Healthcare', 'بهداشت و درمان'),
|
|
33798
|
+
description: M$R('Healthcare and medical industries', 'پزشکی و درمان'),
|
|
33729
33799
|
isDisabled: false,
|
|
33730
33800
|
},
|
|
33731
33801
|
{
|
|
33732
33802
|
id: AXPDataGenerator.uuid(),
|
|
33733
33803
|
code: 'FINANCE',
|
|
33734
|
-
title: M$
|
|
33735
|
-
description: M$
|
|
33804
|
+
title: M$R('Financial Services', 'خدمات مالی'),
|
|
33805
|
+
description: M$R('Banking, insurance, and financial services', 'بانک، بیمه و مالی'),
|
|
33736
33806
|
isDisabled: false,
|
|
33737
33807
|
},
|
|
33738
33808
|
{
|
|
33739
33809
|
id: AXPDataGenerator.uuid(),
|
|
33740
33810
|
code: 'CONSTR',
|
|
33741
|
-
title: M$
|
|
33742
|
-
description: M$
|
|
33811
|
+
title: M$R('Construction', 'ساختوساز'),
|
|
33812
|
+
description: M$R('Construction and real estate industries', 'ساختمان و املاک'),
|
|
33743
33813
|
isDisabled: false,
|
|
33744
33814
|
},
|
|
33745
33815
|
{
|
|
33746
33816
|
id: AXPDataGenerator.uuid(),
|
|
33747
33817
|
code: 'EDUC',
|
|
33748
|
-
title: M$
|
|
33749
|
-
description: M$
|
|
33818
|
+
title: M$R('Education', 'آموزش'),
|
|
33819
|
+
description: M$R('Educational services and institutions', 'خدمات آموزشی'),
|
|
33750
33820
|
isDisabled: false,
|
|
33751
33821
|
},
|
|
33752
33822
|
{
|
|
33753
33823
|
id: AXPDataGenerator.uuid(),
|
|
33754
33824
|
code: 'ENERGY',
|
|
33755
|
-
title: M$
|
|
33756
|
-
description: M$
|
|
33825
|
+
title: M$R('Energy', 'انرژی'),
|
|
33826
|
+
description: M$R('Energy production and utilities', 'تولید انرژی و تأسیسات'),
|
|
33757
33827
|
isDisabled: false,
|
|
33758
33828
|
},
|
|
33759
33829
|
{
|
|
33760
33830
|
id: AXPDataGenerator.uuid(),
|
|
33761
33831
|
code: 'TRANSP',
|
|
33762
|
-
title: M$
|
|
33763
|
-
description: M$
|
|
33832
|
+
title: M$R('Transportation', 'حملونقل'),
|
|
33833
|
+
description: M$R('Transportation and logistics industries', 'لجستیک و ترابری'),
|
|
33764
33834
|
isDisabled: false,
|
|
33765
33835
|
},
|
|
33766
33836
|
{
|
|
33767
33837
|
id: AXPDataGenerator.uuid(),
|
|
33768
33838
|
code: 'AGRIC',
|
|
33769
|
-
title: M$
|
|
33770
|
-
description: M$
|
|
33839
|
+
title: M$R('Agriculture', 'کشاورزی'),
|
|
33840
|
+
description: M$R('Agriculture and farming industries', 'کشاورزی و دامپروری'),
|
|
33771
33841
|
isDisabled: false,
|
|
33772
33842
|
},
|
|
33773
33843
|
];
|
|
@@ -33786,62 +33856,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
33786
33856
|
type: Injectable
|
|
33787
33857
|
}] });
|
|
33788
33858
|
|
|
33789
|
-
const M$
|
|
33859
|
+
const M$Q = createMultiLanguageString;
|
|
33790
33860
|
const businessTypeMocks = [
|
|
33791
33861
|
{
|
|
33792
33862
|
id: AXPDataGenerator.uuid(),
|
|
33793
33863
|
code: 'CORP',
|
|
33794
|
-
title: M$
|
|
33795
|
-
description: M$
|
|
33864
|
+
title: M$Q('Corporation', 'شرکت سهامی'),
|
|
33865
|
+
description: M$Q('A corporation is a legal entity separate from its owners', 'شخصیت حقوقی مستقل از مالکان'),
|
|
33796
33866
|
isDisabled: false,
|
|
33797
33867
|
},
|
|
33798
33868
|
{
|
|
33799
33869
|
id: AXPDataGenerator.uuid(),
|
|
33800
33870
|
code: 'LLC',
|
|
33801
|
-
title: M$
|
|
33802
|
-
description: M$
|
|
33871
|
+
title: M$Q('Limited Liability Company', 'با مسئولیت محدود'),
|
|
33872
|
+
description: M$Q('A hybrid business structure that provides limited liability protection', 'ساختار ترکیبی با مسئولیت محدود'),
|
|
33803
33873
|
isDisabled: false,
|
|
33804
33874
|
},
|
|
33805
33875
|
{
|
|
33806
33876
|
id: AXPDataGenerator.uuid(),
|
|
33807
33877
|
code: 'PART',
|
|
33808
|
-
title: M$
|
|
33809
|
-
description: M$
|
|
33878
|
+
title: M$Q('Partnership', 'شراکت'),
|
|
33879
|
+
description: M$Q('A business owned by two or more persons', 'مالکیت دو یا چند نفره'),
|
|
33810
33880
|
isDisabled: false,
|
|
33811
33881
|
},
|
|
33812
33882
|
{
|
|
33813
33883
|
id: AXPDataGenerator.uuid(),
|
|
33814
33884
|
code: 'SOLE',
|
|
33815
|
-
title: M$
|
|
33816
|
-
description: M$
|
|
33885
|
+
title: M$Q('Sole Proprietorship', 'تکمالک'),
|
|
33886
|
+
description: M$Q('A business owned and operated by a single individual', 'مالک و اپراتور یک نفره'),
|
|
33817
33887
|
isDisabled: false,
|
|
33818
33888
|
},
|
|
33819
33889
|
{
|
|
33820
33890
|
id: AXPDataGenerator.uuid(),
|
|
33821
33891
|
code: 'NONPROFIT',
|
|
33822
|
-
title: M$
|
|
33823
|
-
description: M$
|
|
33892
|
+
title: M$Q('Non-Profit Organization', 'غیرانتفاعی'),
|
|
33893
|
+
description: M$Q('An organization that operates for charitable or social purposes', 'اهداف خیریه یا اجتماعی'),
|
|
33824
33894
|
isDisabled: false,
|
|
33825
33895
|
},
|
|
33826
33896
|
{
|
|
33827
33897
|
id: AXPDataGenerator.uuid(),
|
|
33828
33898
|
code: 'PUBLIC',
|
|
33829
|
-
title: M$
|
|
33830
|
-
description: M$
|
|
33899
|
+
title: M$Q('Public Company', 'عمومی (بورسی)'),
|
|
33900
|
+
description: M$Q('A corporation whose shares are traded on a public stock exchange', 'سهام در بورس معامله میشود'),
|
|
33831
33901
|
isDisabled: false,
|
|
33832
33902
|
},
|
|
33833
33903
|
{
|
|
33834
33904
|
id: AXPDataGenerator.uuid(),
|
|
33835
33905
|
code: 'PRIVATE',
|
|
33836
|
-
title: M$
|
|
33837
|
-
description: M$
|
|
33906
|
+
title: M$Q('Private Company', 'خصوصی'),
|
|
33907
|
+
description: M$Q('A corporation whose shares are not publicly traded', 'سهام غیرعمومی'),
|
|
33838
33908
|
isDisabled: false,
|
|
33839
33909
|
},
|
|
33840
33910
|
{
|
|
33841
33911
|
id: AXPDataGenerator.uuid(),
|
|
33842
33912
|
code: 'COOP',
|
|
33843
|
-
title: M$
|
|
33844
|
-
description: M$
|
|
33913
|
+
title: M$Q('Cooperative', 'تعاونی'),
|
|
33914
|
+
description: M$Q('A business owned and operated by a group of individuals for their mutual benefit', 'مالکیت گروهی برای منفعت مشترک'),
|
|
33845
33915
|
isDisabled: false,
|
|
33846
33916
|
},
|
|
33847
33917
|
];
|
|
@@ -33860,55 +33930,55 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
33860
33930
|
type: Injectable
|
|
33861
33931
|
}] });
|
|
33862
33932
|
|
|
33863
|
-
const M$
|
|
33933
|
+
const M$P = createMultiLanguageString;
|
|
33864
33934
|
const businessStatusMocks = [
|
|
33865
33935
|
{
|
|
33866
33936
|
id: AXPDataGenerator.uuid(),
|
|
33867
33937
|
code: 'ACTIVE',
|
|
33868
|
-
title: M$
|
|
33869
|
-
description: M$
|
|
33938
|
+
title: M$P('Active', 'فعال'),
|
|
33939
|
+
description: M$P('Business is currently active and operating', 'کسبوکار فعال است'),
|
|
33870
33940
|
isDisabled: false,
|
|
33871
33941
|
},
|
|
33872
33942
|
{
|
|
33873
33943
|
id: AXPDataGenerator.uuid(),
|
|
33874
33944
|
code: 'INACTIVE',
|
|
33875
|
-
title: M$
|
|
33876
|
-
description: M$
|
|
33945
|
+
title: M$P('Inactive', 'غیرفعال'),
|
|
33946
|
+
description: M$P('Business is temporarily inactive', 'موقتاً غیرفعال'),
|
|
33877
33947
|
isDisabled: false,
|
|
33878
33948
|
},
|
|
33879
33949
|
{
|
|
33880
33950
|
id: AXPDataGenerator.uuid(),
|
|
33881
33951
|
code: 'SUSPENDED',
|
|
33882
|
-
title: M$
|
|
33883
|
-
description: M$
|
|
33952
|
+
title: M$P('Suspended', 'معلق'),
|
|
33953
|
+
description: M$P('Business operations are suspended', 'عملیات تعلیق شده'),
|
|
33884
33954
|
isDisabled: false,
|
|
33885
33955
|
},
|
|
33886
33956
|
{
|
|
33887
33957
|
id: AXPDataGenerator.uuid(),
|
|
33888
33958
|
code: 'MERGED',
|
|
33889
|
-
title: M$
|
|
33890
|
-
description: M$
|
|
33959
|
+
title: M$P('Merged', 'ادغامشده'),
|
|
33960
|
+
description: M$P('Business has been merged with another entity', 'با موجودیت دیگر ادغام شده'),
|
|
33891
33961
|
isDisabled: false,
|
|
33892
33962
|
},
|
|
33893
33963
|
{
|
|
33894
33964
|
id: AXPDataGenerator.uuid(),
|
|
33895
33965
|
code: 'ACQUIRED',
|
|
33896
|
-
title: M$
|
|
33897
|
-
description: M$
|
|
33966
|
+
title: M$P('Acquired', 'خریداریشده'),
|
|
33967
|
+
description: M$P('Business has been acquired by another entity', 'توسط دیگری تصاحب شده'),
|
|
33898
33968
|
isDisabled: false,
|
|
33899
33969
|
},
|
|
33900
33970
|
{
|
|
33901
33971
|
id: AXPDataGenerator.uuid(),
|
|
33902
33972
|
code: 'DISSOLVED',
|
|
33903
|
-
title: M$
|
|
33904
|
-
description: M$
|
|
33973
|
+
title: M$P('Dissolved', 'منحلشده'),
|
|
33974
|
+
description: M$P('Business has been dissolved or liquidated', 'منحل یا تسویه شده'),
|
|
33905
33975
|
isDisabled: false,
|
|
33906
33976
|
},
|
|
33907
33977
|
{
|
|
33908
33978
|
id: AXPDataGenerator.uuid(),
|
|
33909
33979
|
code: 'PENDING',
|
|
33910
|
-
title: M$
|
|
33911
|
-
description: M$
|
|
33980
|
+
title: M$P('Pending Approval', 'در انتظار تأیید'),
|
|
33981
|
+
description: M$P('Business registration is pending approval', 'ثبت در انتظار تأیید'),
|
|
33912
33982
|
isDisabled: false,
|
|
33913
33983
|
},
|
|
33914
33984
|
];
|
|
@@ -33927,76 +33997,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
33927
33997
|
type: Injectable
|
|
33928
33998
|
}] });
|
|
33929
33999
|
|
|
33930
|
-
const M$
|
|
34000
|
+
const M$O = createMultiLanguageString;
|
|
33931
34001
|
const partyTypeMocks = [
|
|
33932
34002
|
{
|
|
33933
34003
|
id: AXPDataGenerator.uuid(),
|
|
33934
34004
|
code: 'MANUF',
|
|
33935
|
-
title: M$
|
|
33936
|
-
description: M$
|
|
34005
|
+
title: M$O('Manufacturer', 'تولیدکننده'),
|
|
34006
|
+
description: M$O('Direct manufacturer', 'تولیدکننده مستقیم'),
|
|
33937
34007
|
isDisabled: false,
|
|
33938
34008
|
},
|
|
33939
34009
|
{
|
|
33940
34010
|
id: AXPDataGenerator.uuid(),
|
|
33941
34011
|
code: 'DIST',
|
|
33942
|
-
title: M$
|
|
33943
|
-
description: M$
|
|
34012
|
+
title: M$O('Distributor', 'توزیعکننده'),
|
|
34013
|
+
description: M$O('Product distributor', 'توزیع محصول'),
|
|
33944
34014
|
isDisabled: false,
|
|
33945
34015
|
},
|
|
33946
34016
|
{
|
|
33947
34017
|
id: AXPDataGenerator.uuid(),
|
|
33948
34018
|
code: 'WHOL',
|
|
33949
|
-
title: M$
|
|
33950
|
-
description: M$
|
|
34019
|
+
title: M$O('Wholesaler', 'عمدهفروش'),
|
|
34020
|
+
description: M$O('Bulk supplier', 'تأمین عمده'),
|
|
33951
34021
|
isDisabled: false,
|
|
33952
34022
|
},
|
|
33953
34023
|
{
|
|
33954
34024
|
id: AXPDataGenerator.uuid(),
|
|
33955
34025
|
code: 'RETL',
|
|
33956
|
-
title: M$
|
|
33957
|
-
description: M$
|
|
34026
|
+
title: M$O('Retailer', 'خردهفروش'),
|
|
34027
|
+
description: M$O('Retail supplier', 'تأمین خرده'),
|
|
33958
34028
|
isDisabled: false,
|
|
33959
34029
|
},
|
|
33960
34030
|
{
|
|
33961
34031
|
id: AXPDataGenerator.uuid(),
|
|
33962
34032
|
code: 'SVC',
|
|
33963
|
-
title: M$
|
|
33964
|
-
description: M$
|
|
34033
|
+
title: M$O('Service Provider', 'ارائهدهنده خدمات'),
|
|
34034
|
+
description: M$O('Service-based supplier', 'تأمین مبتنی بر خدمات'),
|
|
33965
34035
|
isDisabled: false,
|
|
33966
34036
|
},
|
|
33967
34037
|
{
|
|
33968
34038
|
id: AXPDataGenerator.uuid(),
|
|
33969
34039
|
code: 'CUST',
|
|
33970
|
-
title: M$
|
|
33971
|
-
description: M$
|
|
34040
|
+
title: M$O('Customer', 'مشتری'),
|
|
34041
|
+
description: M$O('End customer or buyer', 'خریدار نهایی'),
|
|
33972
34042
|
isDisabled: false,
|
|
33973
34043
|
},
|
|
33974
34044
|
{
|
|
33975
34045
|
id: AXPDataGenerator.uuid(),
|
|
33976
34046
|
code: 'PROS',
|
|
33977
|
-
title: M$
|
|
33978
|
-
description: M$
|
|
34047
|
+
title: M$O('Prospect', 'سرنخ'),
|
|
34048
|
+
description: M$O('Potential customer', 'مشتری بالقوه'),
|
|
33979
34049
|
isDisabled: false,
|
|
33980
34050
|
},
|
|
33981
34051
|
{
|
|
33982
34052
|
id: AXPDataGenerator.uuid(),
|
|
33983
34053
|
code: 'CLNT',
|
|
33984
|
-
title: M$
|
|
33985
|
-
description: M$
|
|
34054
|
+
title: M$O('Client', 'کارفرما'),
|
|
34055
|
+
description: M$O('Standard customer', 'مشتری استاندارد'),
|
|
33986
34056
|
isDisabled: false,
|
|
33987
34057
|
},
|
|
33988
34058
|
{
|
|
33989
34059
|
id: AXPDataGenerator.uuid(),
|
|
33990
34060
|
code: 'ENT',
|
|
33991
|
-
title: M$
|
|
33992
|
-
description: M$
|
|
34061
|
+
title: M$O('Enterprise', 'سازمان بزرگ'),
|
|
34062
|
+
description: M$O('Large organization customer', 'مشتری سازمانی بزرگ'),
|
|
33993
34063
|
isDisabled: false,
|
|
33994
34064
|
},
|
|
33995
34065
|
{
|
|
33996
34066
|
id: AXPDataGenerator.uuid(),
|
|
33997
34067
|
code: 'RSLR',
|
|
33998
|
-
title: M$
|
|
33999
|
-
description: M$
|
|
34068
|
+
title: M$O('Reseller', 'فروشنده مجدد'),
|
|
34069
|
+
description: M$O('Partner reseller', 'شریک فروش'),
|
|
34000
34070
|
isDisabled: false,
|
|
34001
34071
|
},
|
|
34002
34072
|
];
|
|
@@ -34027,61 +34097,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
34027
34097
|
type: Injectable
|
|
34028
34098
|
}] });
|
|
34029
34099
|
|
|
34030
|
-
const M$
|
|
34100
|
+
const M$N = createMultiLanguageString;
|
|
34031
34101
|
const partySegmentMocks = [
|
|
34032
34102
|
{
|
|
34033
34103
|
id: AXPDataGenerator.uuid(),
|
|
34034
|
-
title: M$
|
|
34035
|
-
description: M$
|
|
34104
|
+
title: M$N('Strategic', 'استراتژیک'),
|
|
34105
|
+
description: M$N('Strategic partners', 'شرکای استراتژیک'),
|
|
34036
34106
|
color: '#3a3a89',
|
|
34037
34107
|
isArchived: false,
|
|
34038
34108
|
},
|
|
34039
34109
|
{
|
|
34040
34110
|
id: AXPDataGenerator.uuid(),
|
|
34041
|
-
title: M$
|
|
34042
|
-
description: M$
|
|
34111
|
+
title: M$N('Preferred', 'ترجیحی'),
|
|
34112
|
+
description: M$N('Preferred partners', 'شرکای ترجیحی'),
|
|
34043
34113
|
color: '#2bc4b0',
|
|
34044
34114
|
isArchived: false,
|
|
34045
34115
|
},
|
|
34046
34116
|
{
|
|
34047
34117
|
id: AXPDataGenerator.uuid(),
|
|
34048
|
-
title: M$
|
|
34049
|
-
description: M$
|
|
34118
|
+
title: M$N('Standard', 'استاندارد'),
|
|
34119
|
+
description: M$N('Standard partners', 'شرکای استاندارد'),
|
|
34050
34120
|
color: '#8e1c65',
|
|
34051
34121
|
isArchived: false,
|
|
34052
34122
|
},
|
|
34053
34123
|
{
|
|
34054
34124
|
id: AXPDataGenerator.uuid(),
|
|
34055
|
-
title: M$
|
|
34056
|
-
description: M$
|
|
34125
|
+
title: M$N('New', 'جدید'),
|
|
34126
|
+
description: M$N('New partners', 'شرکای جدید'),
|
|
34057
34127
|
color: '#f39c12',
|
|
34058
34128
|
isArchived: false,
|
|
34059
34129
|
},
|
|
34060
34130
|
{
|
|
34061
34131
|
id: AXPDataGenerator.uuid(),
|
|
34062
|
-
title: M$
|
|
34063
|
-
description: M$
|
|
34132
|
+
title: M$N('High-Risk', 'پرریسک'),
|
|
34133
|
+
description: M$N('High-risk partners', 'شرکای پرریسک'),
|
|
34064
34134
|
color: '#e74c3c',
|
|
34065
34135
|
isArchived: false,
|
|
34066
34136
|
},
|
|
34067
34137
|
{
|
|
34068
34138
|
id: AXPDataGenerator.uuid(),
|
|
34069
|
-
title: M$
|
|
34070
|
-
description: M$
|
|
34139
|
+
title: M$N('B2B', 'کسبوکار به کسبوکار'),
|
|
34140
|
+
description: M$N('Business to Business', 'فروش سازمانی'),
|
|
34071
34141
|
color: '#3a3a89',
|
|
34072
34142
|
isArchived: false,
|
|
34073
34143
|
},
|
|
34074
34144
|
{
|
|
34075
34145
|
id: AXPDataGenerator.uuid(),
|
|
34076
|
-
title: M$
|
|
34077
|
-
description: M$
|
|
34146
|
+
title: M$N('B2C', 'کسبوکار به مصرفکننده'),
|
|
34147
|
+
description: M$N('Business to Consumer', 'فروش به مصرفکننده'),
|
|
34078
34148
|
color: '#2bc4b0',
|
|
34079
34149
|
isArchived: false,
|
|
34080
34150
|
},
|
|
34081
34151
|
{
|
|
34082
34152
|
id: AXPDataGenerator.uuid(),
|
|
34083
|
-
title: M$
|
|
34084
|
-
description: M$
|
|
34153
|
+
title: M$N('SMB', 'کسبوکار کوچک و متوسط'),
|
|
34154
|
+
description: M$N('Small and Medium Business', 'شرکتهای کوچک و متوسط'),
|
|
34085
34155
|
color: '#8e1c65',
|
|
34086
34156
|
isArchived: false,
|
|
34087
34157
|
},
|
|
@@ -34111,37 +34181,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
34111
34181
|
type: Injectable
|
|
34112
34182
|
}] });
|
|
34113
34183
|
|
|
34114
|
-
const M$
|
|
34184
|
+
const M$M = createMultiLanguageString;
|
|
34115
34185
|
const lifecycleStageMocks = [
|
|
34116
34186
|
{
|
|
34117
34187
|
id: AXPDataGenerator.uuid(),
|
|
34118
|
-
title: M$
|
|
34188
|
+
title: M$M('Prospect', 'سرنخ'),
|
|
34119
34189
|
order: 1,
|
|
34120
|
-
description: M$
|
|
34190
|
+
description: M$M('Potential customer', 'مشتری بالقوه'),
|
|
34121
34191
|
},
|
|
34122
34192
|
{
|
|
34123
34193
|
id: AXPDataGenerator.uuid(),
|
|
34124
|
-
title: M$
|
|
34194
|
+
title: M$M('Onboarding', 'ورود و آغاز'),
|
|
34125
34195
|
order: 2,
|
|
34126
|
-
description: M$
|
|
34196
|
+
description: M$M('New customer onboarding', 'سوار کردن مشتری جدید'),
|
|
34127
34197
|
},
|
|
34128
34198
|
{
|
|
34129
34199
|
id: AXPDataGenerator.uuid(),
|
|
34130
|
-
title: M$
|
|
34200
|
+
title: M$M('Active', 'فعال'),
|
|
34131
34201
|
order: 3,
|
|
34132
|
-
description: M$
|
|
34202
|
+
description: M$M('Active customer', 'مشتری فعال'),
|
|
34133
34203
|
},
|
|
34134
34204
|
{
|
|
34135
34205
|
id: AXPDataGenerator.uuid(),
|
|
34136
|
-
title: M$
|
|
34206
|
+
title: M$M('Churn Risk', 'ریسک ریزش'),
|
|
34137
34207
|
order: 4,
|
|
34138
|
-
description: M$
|
|
34208
|
+
description: M$M('At risk of churning', 'در معرض از دست دادن'),
|
|
34139
34209
|
},
|
|
34140
34210
|
{
|
|
34141
34211
|
id: AXPDataGenerator.uuid(),
|
|
34142
|
-
title: M$
|
|
34212
|
+
title: M$M('Churned', 'ریزشیافته'),
|
|
34143
34213
|
order: 5,
|
|
34144
|
-
description: M$
|
|
34214
|
+
description: M$M('Churned customer', 'مشتری از دسترفته'),
|
|
34145
34215
|
},
|
|
34146
34216
|
];
|
|
34147
34217
|
const lifecycleStageIds = {
|
|
@@ -34166,7 +34236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
34166
34236
|
type: Injectable
|
|
34167
34237
|
}] });
|
|
34168
34238
|
|
|
34169
|
-
const M$
|
|
34239
|
+
const M$L = createMultiLanguageString;
|
|
34170
34240
|
const CUSTOMER_PARTIES = [
|
|
34171
34241
|
{ en: 'Tech Solutions Inc.', fa: 'فناوری راهحل (شرکت)' },
|
|
34172
34242
|
{ en: 'European Manufacturing Consortium', fa: 'کنسرسیوم تولید اروپا' },
|
|
@@ -34208,7 +34278,7 @@ const SUPPLIER_PARTY_CODES = [
|
|
|
34208
34278
|
const customerParties = CUSTOMER_PARTIES.map(({ en, fa }, i) => ({
|
|
34209
34279
|
id: AXPDataGenerator.uuid(),
|
|
34210
34280
|
code: CUSTOMER_PARTY_CODES[i],
|
|
34211
|
-
title: M$
|
|
34281
|
+
title: M$L(en, fa),
|
|
34212
34282
|
phones: [],
|
|
34213
34283
|
emails: [],
|
|
34214
34284
|
addresses: [],
|
|
@@ -34216,7 +34286,7 @@ const customerParties = CUSTOMER_PARTIES.map(({ en, fa }, i) => ({
|
|
|
34216
34286
|
const supplierParties = SUPPLIER_PARTIES.map(({ en, fa }, i) => ({
|
|
34217
34287
|
id: AXPDataGenerator.uuid(),
|
|
34218
34288
|
code: SUPPLIER_PARTY_CODES[i],
|
|
34219
|
-
title: M$
|
|
34289
|
+
title: M$L(en, fa),
|
|
34220
34290
|
phones: [],
|
|
34221
34291
|
emails: [],
|
|
34222
34292
|
addresses: [],
|
|
@@ -34256,7 +34326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
34256
34326
|
type: Injectable
|
|
34257
34327
|
}] });
|
|
34258
34328
|
|
|
34259
|
-
const M$
|
|
34329
|
+
const M$K = createMultiLanguageString;
|
|
34260
34330
|
// Export contact role IDs for use in other mocks (person, deal-contact-role, etc.)
|
|
34261
34331
|
const contactRoleIds = {
|
|
34262
34332
|
customer: AXPDataGenerator.uuid(),
|
|
@@ -34303,248 +34373,248 @@ const contactRoleMocks = [
|
|
|
34303
34373
|
id: contactRoleIds.customer,
|
|
34304
34374
|
type: ['person'],
|
|
34305
34375
|
name: 'customer',
|
|
34306
|
-
title: M$
|
|
34307
|
-
description: M$
|
|
34376
|
+
title: M$K('Customer', 'مشتری'),
|
|
34377
|
+
description: M$K('Customer or client relationship', 'رابطه مشتری یا مراجعهکننده'),
|
|
34308
34378
|
},
|
|
34309
34379
|
{
|
|
34310
34380
|
id: contactRoleIds.vendor,
|
|
34311
34381
|
type: ['person'],
|
|
34312
34382
|
name: 'vendor',
|
|
34313
|
-
title: M$
|
|
34314
|
-
description: M$
|
|
34383
|
+
title: M$K('Vendor', 'فروشنده'),
|
|
34384
|
+
description: M$K('Vendor or supplier relationship', 'رابطه فروشنده یا تأمینکننده'),
|
|
34315
34385
|
},
|
|
34316
34386
|
{
|
|
34317
34387
|
id: contactRoleIds.subcontractor,
|
|
34318
34388
|
type: ['person'],
|
|
34319
34389
|
name: 'subcontractor',
|
|
34320
|
-
title: M$
|
|
34321
|
-
description: M$
|
|
34390
|
+
title: M$K('Subcontractor', 'پیمانکار فرعی'),
|
|
34391
|
+
description: M$K('Subcontractor relationship', 'رابطه پیمانکار فرعی'),
|
|
34322
34392
|
},
|
|
34323
34393
|
{
|
|
34324
34394
|
id: contactRoleIds.client,
|
|
34325
34395
|
type: ['person'],
|
|
34326
34396
|
name: 'client',
|
|
34327
|
-
title: M$
|
|
34328
|
-
description: M$
|
|
34397
|
+
title: M$K('Client', 'کارفرما'),
|
|
34398
|
+
description: M$K('Client relationship', 'رابطه کارفرمایی'),
|
|
34329
34399
|
},
|
|
34330
34400
|
{
|
|
34331
34401
|
id: contactRoleIds.employee,
|
|
34332
34402
|
type: ['person'],
|
|
34333
34403
|
name: 'employee',
|
|
34334
|
-
title: M$
|
|
34335
|
-
description: M$
|
|
34404
|
+
title: M$K('Employee', 'کارمند'),
|
|
34405
|
+
description: M$K('Employee of the organization', 'کارمند سازمان'),
|
|
34336
34406
|
},
|
|
34337
34407
|
{
|
|
34338
34408
|
id: contactRoleIds.partner,
|
|
34339
34409
|
type: ['person'],
|
|
34340
34410
|
name: 'partner',
|
|
34341
|
-
title: M$
|
|
34342
|
-
description: M$
|
|
34411
|
+
title: M$K('Partner', 'شریک'),
|
|
34412
|
+
description: M$K('Business partner relationship', 'رابطه شریک تجاری'),
|
|
34343
34413
|
},
|
|
34344
34414
|
{
|
|
34345
34415
|
id: contactRoleIds.supplier,
|
|
34346
34416
|
type: ['person'],
|
|
34347
34417
|
name: 'supplier',
|
|
34348
|
-
title: M$
|
|
34349
|
-
description: M$
|
|
34418
|
+
title: M$K('Supplier', 'تأمینکننده'),
|
|
34419
|
+
description: M$K('Supplier relationship', 'رابطه تأمینکننده'),
|
|
34350
34420
|
},
|
|
34351
34421
|
{
|
|
34352
34422
|
id: contactRoleIds.member,
|
|
34353
34423
|
type: ['person'],
|
|
34354
34424
|
name: 'member',
|
|
34355
|
-
title: M$
|
|
34356
|
-
description: M$
|
|
34425
|
+
title: M$K('Member', 'عضو'),
|
|
34426
|
+
description: M$K('Organization or community member', 'عضو سازمان یا جامعه'),
|
|
34357
34427
|
},
|
|
34358
34428
|
{
|
|
34359
34429
|
id: contactRoleIds.other,
|
|
34360
34430
|
type: ['person', 'opportunity-contact', 'party-contact'],
|
|
34361
34431
|
name: 'other',
|
|
34362
|
-
title: M$
|
|
34363
|
-
description: M$
|
|
34432
|
+
title: M$K('Other', 'سایر'),
|
|
34433
|
+
description: M$K('Other role type', 'نوع نقش دیگر'),
|
|
34364
34434
|
},
|
|
34365
34435
|
// Location contact roles
|
|
34366
34436
|
{
|
|
34367
34437
|
id: contactRoleIds.siteManager,
|
|
34368
34438
|
type: ['location-contact'],
|
|
34369
34439
|
name: 'site-manager',
|
|
34370
|
-
title: M$
|
|
34371
|
-
description: M$
|
|
34440
|
+
title: M$K('Site Manager', 'مدیر سایت'),
|
|
34441
|
+
description: M$K('Primary contact for the location', 'مخاطب اصلی مکان'),
|
|
34372
34442
|
},
|
|
34373
34443
|
{
|
|
34374
34444
|
id: contactRoleIds.facilityContact,
|
|
34375
34445
|
type: ['location-contact'],
|
|
34376
34446
|
name: 'facility-contact',
|
|
34377
|
-
title: M$
|
|
34378
|
-
description: M$
|
|
34447
|
+
title: M$K('Facility Contact', 'مخاطب تاسیسات'),
|
|
34448
|
+
description: M$K('General facility contact', 'مخاطب عمومی تاسیسات'),
|
|
34379
34449
|
},
|
|
34380
34450
|
{
|
|
34381
34451
|
id: contactRoleIds.emergencyContact,
|
|
34382
34452
|
type: ['location-contact', 'person-relationship', 'family'],
|
|
34383
34453
|
name: 'emergency-contact',
|
|
34384
|
-
title: M$
|
|
34385
|
-
description: M$
|
|
34454
|
+
title: M$K('Emergency Contact', 'تماس اضطراری'),
|
|
34455
|
+
description: M$K('Contact for emergency situations (location, business, or family)', 'مخاطب برای شرایط اضطراری (مکان، کسبوکار یا خانواده)'),
|
|
34386
34456
|
},
|
|
34387
34457
|
{
|
|
34388
34458
|
id: contactRoleIds.maintenanceContact,
|
|
34389
34459
|
type: ['location-contact'],
|
|
34390
34460
|
name: 'maintenance-contact',
|
|
34391
|
-
title: M$
|
|
34392
|
-
description: M$
|
|
34461
|
+
title: M$K('Maintenance Contact', 'مخاطب نگهداری'),
|
|
34462
|
+
description: M$K('Contact for maintenance and repairs', 'مخاطب تعمیرات و نگهداری'),
|
|
34393
34463
|
},
|
|
34394
34464
|
{
|
|
34395
34465
|
id: contactRoleIds.securityContact,
|
|
34396
34466
|
type: ['location-contact'],
|
|
34397
34467
|
name: 'security-contact',
|
|
34398
|
-
title: M$
|
|
34399
|
-
description: M$
|
|
34468
|
+
title: M$K('Security Contact', 'مخاطب امنیتی'),
|
|
34469
|
+
description: M$K('Security-related contact', 'مخاطب امور امنیتی'),
|
|
34400
34470
|
},
|
|
34401
34471
|
{
|
|
34402
34472
|
id: contactRoleIds.receptionist,
|
|
34403
34473
|
type: ['location-contact'],
|
|
34404
34474
|
name: 'receptionist',
|
|
34405
|
-
title: M$
|
|
34406
|
-
description: M$
|
|
34475
|
+
title: M$K('Receptionist', 'پذیرش'),
|
|
34476
|
+
description: M$K('Front desk or reception contact', 'میز پذیرش'),
|
|
34407
34477
|
},
|
|
34408
34478
|
// Opportunity contact roles
|
|
34409
34479
|
{
|
|
34410
34480
|
id: contactRoleIds.decisionMaker,
|
|
34411
34481
|
type: ['opportunity-contact'],
|
|
34412
34482
|
name: 'decision-maker',
|
|
34413
|
-
title: M$
|
|
34414
|
-
description: M$
|
|
34483
|
+
title: M$K('Decision Maker', 'تصمیمگیرنده'),
|
|
34484
|
+
description: M$K('Key decision maker for the opportunity', 'تصمیمگیرنده کلیدی فرصت'),
|
|
34415
34485
|
},
|
|
34416
34486
|
{
|
|
34417
34487
|
id: contactRoleIds.influencer,
|
|
34418
34488
|
type: ['opportunity-contact'],
|
|
34419
34489
|
name: 'influencer',
|
|
34420
|
-
title: M$
|
|
34421
|
-
description: M$
|
|
34490
|
+
title: M$K('Influencer', 'تأثیرگذار'),
|
|
34491
|
+
description: M$K('Influences the decision', 'در تصمیم تأثیر دارد'),
|
|
34422
34492
|
},
|
|
34423
34493
|
{
|
|
34424
34494
|
id: contactRoleIds.economicBuyer,
|
|
34425
34495
|
type: ['opportunity-contact'],
|
|
34426
34496
|
name: 'economic-buyer',
|
|
34427
|
-
title: M$
|
|
34428
|
-
description: M$
|
|
34497
|
+
title: M$K('Economic Buyer', 'خریدار اقتصادی'),
|
|
34498
|
+
description: M$K('Controls the budget', 'کنترلکننده بودجه'),
|
|
34429
34499
|
},
|
|
34430
34500
|
{
|
|
34431
34501
|
id: contactRoleIds.user,
|
|
34432
34502
|
type: ['opportunity-contact'],
|
|
34433
34503
|
name: 'user',
|
|
34434
|
-
title: M$
|
|
34435
|
-
description: M$
|
|
34504
|
+
title: M$K('User', 'کاربر'),
|
|
34505
|
+
description: M$K('End user of the solution', 'کاربر نهایی راهحل'),
|
|
34436
34506
|
},
|
|
34437
34507
|
// Party contact roles
|
|
34438
34508
|
{
|
|
34439
34509
|
id: contactRoleIds.primaryContact,
|
|
34440
34510
|
type: ['party-contact'],
|
|
34441
34511
|
name: 'primary-contact',
|
|
34442
|
-
title: M$
|
|
34443
|
-
description: M$
|
|
34512
|
+
title: M$K('Primary Contact', 'مخاطب اصلی'),
|
|
34513
|
+
description: M$K('Main point of contact for the party', 'نقطه تماس اصلی طرف'),
|
|
34444
34514
|
},
|
|
34445
34515
|
{
|
|
34446
34516
|
id: contactRoleIds.accountManager,
|
|
34447
34517
|
type: ['party-contact'],
|
|
34448
34518
|
name: 'account-manager',
|
|
34449
|
-
title: M$
|
|
34450
|
-
description: M$
|
|
34519
|
+
title: M$K('Account Manager', 'مدیر حساب'),
|
|
34520
|
+
description: M$K('Manages the account relationship', 'مدیریت رابطه حساب'),
|
|
34451
34521
|
},
|
|
34452
34522
|
{
|
|
34453
34523
|
id: contactRoleIds.billingContact,
|
|
34454
34524
|
type: ['party-contact'],
|
|
34455
34525
|
name: 'billing-contact',
|
|
34456
|
-
title: M$
|
|
34457
|
-
description: M$
|
|
34526
|
+
title: M$K('Billing Contact', 'مخاطب صورتحساب'),
|
|
34527
|
+
description: M$K('Contact for billing and invoicing', 'مخاطب صورتحساب و فاکتور'),
|
|
34458
34528
|
},
|
|
34459
34529
|
{
|
|
34460
34530
|
id: contactRoleIds.technicalContact,
|
|
34461
34531
|
type: ['party-contact'],
|
|
34462
34532
|
name: 'technical-contact',
|
|
34463
|
-
title: M$
|
|
34464
|
-
description: M$
|
|
34533
|
+
title: M$K('Technical Contact', 'مخاطب فنی'),
|
|
34534
|
+
description: M$K('Technical contact for the party', 'مخاطب فنی طرف'),
|
|
34465
34535
|
},
|
|
34466
34536
|
{
|
|
34467
34537
|
id: contactRoleIds.salesContact,
|
|
34468
34538
|
type: ['party-contact'],
|
|
34469
34539
|
name: 'sales-contact',
|
|
34470
|
-
title: M$
|
|
34471
|
-
description: M$
|
|
34540
|
+
title: M$K('Sales Contact', 'مخاطب فروش'),
|
|
34541
|
+
description: M$K('Sales contact for the party', 'مخاطب فروش طرف'),
|
|
34472
34542
|
},
|
|
34473
34543
|
// Person-relationship roles (links between two people: employs, client-of, vendor-of, partner-of)
|
|
34474
34544
|
{
|
|
34475
34545
|
id: contactRoleIds.employs,
|
|
34476
34546
|
type: ['person-relationship'],
|
|
34477
34547
|
name: 'employs',
|
|
34478
|
-
title: M$
|
|
34479
|
-
description: M$
|
|
34548
|
+
title: M$K('Employs', 'استخدامکننده'),
|
|
34549
|
+
description: M$K('One person employs another person', 'یک نفر دیگری را استخدام میکند'),
|
|
34480
34550
|
},
|
|
34481
34551
|
{
|
|
34482
34552
|
id: contactRoleIds.clientOf,
|
|
34483
34553
|
type: ['person-relationship'],
|
|
34484
34554
|
name: 'client-of',
|
|
34485
|
-
title: M$
|
|
34486
|
-
description: M$
|
|
34555
|
+
title: M$K('Client Of', 'کارفرمای'),
|
|
34556
|
+
description: M$K('Client relationship from one person to another', 'رابطه کارفرمایی بین دو نفر'),
|
|
34487
34557
|
},
|
|
34488
34558
|
{
|
|
34489
34559
|
id: contactRoleIds.vendorOf,
|
|
34490
34560
|
type: ['person-relationship'],
|
|
34491
34561
|
name: 'vendor-of',
|
|
34492
|
-
title: M$
|
|
34493
|
-
description: M$
|
|
34562
|
+
title: M$K('Vendor Of', 'فروشندهٔ'),
|
|
34563
|
+
description: M$K('Vendor relationship from one person to another', 'رابطه فروشنده بین دو نفر'),
|
|
34494
34564
|
},
|
|
34495
34565
|
{
|
|
34496
34566
|
id: contactRoleIds.partnerOf,
|
|
34497
34567
|
type: ['person-relationship'],
|
|
34498
34568
|
name: 'partner-of',
|
|
34499
|
-
title: M$
|
|
34500
|
-
description: M$
|
|
34569
|
+
title: M$K('Partner Of', 'شریک'),
|
|
34570
|
+
description: M$K('Non-directional partnership between parties', 'شراکت بین طرفین'),
|
|
34501
34571
|
},
|
|
34502
34572
|
// Family/kinship roles
|
|
34503
34573
|
{
|
|
34504
34574
|
id: contactRoleIds.mother,
|
|
34505
34575
|
type: ['family'],
|
|
34506
34576
|
name: 'mother',
|
|
34507
|
-
title: M$
|
|
34508
|
-
description: M$
|
|
34577
|
+
title: M$K('Mother', 'مادر'),
|
|
34578
|
+
description: M$K('Mother or maternal parent', 'مادر'),
|
|
34509
34579
|
},
|
|
34510
34580
|
{
|
|
34511
34581
|
id: contactRoleIds.father,
|
|
34512
34582
|
type: ['family'],
|
|
34513
34583
|
name: 'father',
|
|
34514
|
-
title: M$
|
|
34515
|
-
description: M$
|
|
34584
|
+
title: M$K('Father', 'پدر'),
|
|
34585
|
+
description: M$K('Father or paternal parent', 'پدر'),
|
|
34516
34586
|
},
|
|
34517
34587
|
{
|
|
34518
34588
|
id: contactRoleIds.sibling,
|
|
34519
34589
|
type: ['family'],
|
|
34520
34590
|
name: 'sibling',
|
|
34521
|
-
title: M$
|
|
34522
|
-
description: M$
|
|
34591
|
+
title: M$K('Sibling', 'خواهر/برادر'),
|
|
34592
|
+
description: M$K('Brother or sister', 'همنژاد'),
|
|
34523
34593
|
},
|
|
34524
34594
|
{
|
|
34525
34595
|
id: contactRoleIds.spouse,
|
|
34526
34596
|
type: ['family'],
|
|
34527
34597
|
name: 'spouse',
|
|
34528
|
-
title: M$
|
|
34529
|
-
description: M$
|
|
34598
|
+
title: M$K('Spouse', 'همسر'),
|
|
34599
|
+
description: M$K('Husband or wife', 'زوج'),
|
|
34530
34600
|
},
|
|
34531
34601
|
{
|
|
34532
34602
|
id: contactRoleIds.child,
|
|
34533
34603
|
type: ['family'],
|
|
34534
34604
|
name: 'child',
|
|
34535
|
-
title: M$
|
|
34536
|
-
description: M$
|
|
34605
|
+
title: M$K('Child', 'فرزند'),
|
|
34606
|
+
description: M$K('Son or daughter', 'پسر یا دختر'),
|
|
34537
34607
|
},
|
|
34538
34608
|
{
|
|
34539
34609
|
id: contactRoleIds.guardian,
|
|
34540
34610
|
type: ['family'],
|
|
34541
34611
|
name: 'guardian',
|
|
34542
|
-
title: M$
|
|
34543
|
-
description: M$
|
|
34612
|
+
title: M$K('Guardian', 'سرپرست'),
|
|
34613
|
+
description: M$K('Legal guardian or caregiver', 'سرپرست قانونی یا مراقب'),
|
|
34544
34614
|
},
|
|
34545
34615
|
];
|
|
34546
34616
|
|
|
34547
|
-
const M$
|
|
34617
|
+
const M$J = createMultiLanguageString;
|
|
34548
34618
|
const PARTY_CONTACT_ROLES = [
|
|
34549
34619
|
contactRoleIds.primaryContact,
|
|
34550
34620
|
contactRoleIds.accountManager,
|
|
@@ -34552,7 +34622,7 @@ const PARTY_CONTACT_ROLES = [
|
|
|
34552
34622
|
contactRoleIds.technicalContact,
|
|
34553
34623
|
contactRoleIds.salesContact,
|
|
34554
34624
|
];
|
|
34555
|
-
const getRoleTitle$1 = (roleId) => contactRoleMocks.find((r) => r.id === roleId)?.title ?? M$
|
|
34625
|
+
const getRoleTitle$1 = (roleId) => contactRoleMocks.find((r) => r.id === roleId)?.title ?? M$J('Other', 'سایر');
|
|
34556
34626
|
const naturalPersonIds = Object.values(personNaturalIds);
|
|
34557
34627
|
const createPartyContactMock = () => {
|
|
34558
34628
|
const mock = [];
|
|
@@ -37148,7 +37218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
37148
37218
|
}] });
|
|
37149
37219
|
|
|
37150
37220
|
//#region ---- Helpers ----
|
|
37151
|
-
const M$
|
|
37221
|
+
const M$I = createMultiLanguageString;
|
|
37152
37222
|
//#endregion
|
|
37153
37223
|
//#region ---- Category ids ----
|
|
37154
37224
|
const textTemplateCategoryIds = {
|
|
@@ -37164,48 +37234,48 @@ const textTemplateCategoryIds = {
|
|
|
37164
37234
|
const textTemplateCategoryMocks = [
|
|
37165
37235
|
{
|
|
37166
37236
|
id: textTemplateCategoryIds.order,
|
|
37167
|
-
title: M$
|
|
37168
|
-
description: M$
|
|
37237
|
+
title: M$I('Order', 'سفارش'),
|
|
37238
|
+
description: M$I('Order-related templates (confirmation, shipping, etc.)', 'الگوهای مرتبط با سفارش (تأیید، ارسال و غیره)'),
|
|
37169
37239
|
icon: 'fa-light fa-shopping-cart',
|
|
37170
37240
|
color: '#3b82f6',
|
|
37171
37241
|
childrenCount: 0,
|
|
37172
37242
|
},
|
|
37173
37243
|
{
|
|
37174
37244
|
id: textTemplateCategoryIds.authentication,
|
|
37175
|
-
title: M$
|
|
37176
|
-
description: M$
|
|
37245
|
+
title: M$I('Authentication', 'احراز هویت'),
|
|
37246
|
+
description: M$I('Authentication and security templates (welcome, password reset, etc.)', 'الگوهای احراز هویت و امنیت (خوشآمدگویی، بازیابی رمز عبور و غیره)'),
|
|
37177
37247
|
icon: 'fa-light fa-key',
|
|
37178
37248
|
color: '#10b981',
|
|
37179
37249
|
childrenCount: 0,
|
|
37180
37250
|
},
|
|
37181
37251
|
{
|
|
37182
37252
|
id: textTemplateCategoryIds.marketing,
|
|
37183
|
-
title: M$
|
|
37184
|
-
description: M$
|
|
37253
|
+
title: M$I('Marketing', 'بازاریابی'),
|
|
37254
|
+
description: M$I('Marketing and promotion templates', 'الگوهای بازاریابی و تبلیغات'),
|
|
37185
37255
|
icon: 'fa-light fa-megaphone',
|
|
37186
37256
|
color: '#f59e0b',
|
|
37187
37257
|
childrenCount: 0,
|
|
37188
37258
|
},
|
|
37189
37259
|
{
|
|
37190
37260
|
id: textTemplateCategoryIds.broadcast,
|
|
37191
|
-
title: M$
|
|
37192
|
-
description: M$
|
|
37261
|
+
title: M$I('Employee communications', 'ارتباطات کارکنان'),
|
|
37262
|
+
description: M$I('Templates for employee-facing messages across email, SMS, push, and other channels (e.g. seasonal greetings, announcements)', 'الگوهای پیامهای کارکنان در ایمیل، پیامک، اعلان فشاری و سایر کانالها (مثلاً تبریکهای فصلی، اعلانها)'),
|
|
37193
37263
|
icon: 'fa-light fa-bullhorn',
|
|
37194
37264
|
color: '#e11d48',
|
|
37195
37265
|
childrenCount: 0,
|
|
37196
37266
|
},
|
|
37197
37267
|
{
|
|
37198
37268
|
id: textTemplateCategoryIds.transactional,
|
|
37199
|
-
title: M$
|
|
37200
|
-
description: M$
|
|
37269
|
+
title: M$I('Transactional', 'تراکنشی'),
|
|
37270
|
+
description: M$I('Transactional notification templates', 'الگوهای اعلان تراکنشی'),
|
|
37201
37271
|
icon: 'fa-light fa-bell',
|
|
37202
37272
|
color: '#8b5cf6',
|
|
37203
37273
|
childrenCount: 0,
|
|
37204
37274
|
},
|
|
37205
37275
|
{
|
|
37206
37276
|
id: textTemplateCategoryIds.support,
|
|
37207
|
-
title: M$
|
|
37208
|
-
description: M$
|
|
37277
|
+
title: M$I('Support', 'پشتیبانی'),
|
|
37278
|
+
description: M$I('Customer support and help desk templates', 'الگوهای پشتیبانی مشتری و میز راهنما'),
|
|
37209
37279
|
icon: 'fa-light fa-headset',
|
|
37210
37280
|
color: '#ec4899',
|
|
37211
37281
|
childrenCount: 0,
|
|
@@ -37228,30 +37298,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
37228
37298
|
}] });
|
|
37229
37299
|
|
|
37230
37300
|
//#region ---- Helpers ----
|
|
37231
|
-
const M$
|
|
37232
|
-
const getCategoryTitle$4 = (id) => textTemplateCategoryMocks.find((c) => c.id === id)?.title ?? M$
|
|
37301
|
+
const M$H = createMultiLanguageString;
|
|
37302
|
+
const getCategoryTitle$4 = (id) => textTemplateCategoryMocks.find((c) => c.id === id)?.title ?? M$H('', '');
|
|
37233
37303
|
//#endregion
|
|
37234
37304
|
//#region ---- Seed data ----
|
|
37235
37305
|
const TEXT_TEMPLATES = [
|
|
37236
37306
|
{
|
|
37237
37307
|
id: AXPDataGenerator.uuid(),
|
|
37238
37308
|
name: 'order-confirmation',
|
|
37239
|
-
title: M$
|
|
37309
|
+
title: M$H('Order Confirmation', 'تأیید سفارش'),
|
|
37240
37310
|
categoryIds: [textTemplateCategoryIds.order],
|
|
37241
37311
|
categories: [
|
|
37242
37312
|
{ id: textTemplateCategoryIds.order, title: getCategoryTitle$4(textTemplateCategoryIds.order) },
|
|
37243
37313
|
],
|
|
37244
37314
|
channels: {
|
|
37245
37315
|
email: {
|
|
37246
|
-
subject: M$
|
|
37247
|
-
body: M$
|
|
37316
|
+
subject: M$H('Order {{orderId}} Confirmed', 'سفارش {{orderId}} تأیید شد'),
|
|
37317
|
+
body: M$H('Dear {{customerName}},\n\nYour order {{orderId}} has been confirmed. Total: {{totalAmount}}.\n\nThank you for your purchase!', '{{customerName}} گرامی،\n\nسفارش {{orderId}} شما تأیید شد. جمع: {{totalAmount}}.\n\nاز خرید شما سپاسگزاریم!'),
|
|
37248
37318
|
},
|
|
37249
37319
|
},
|
|
37250
37320
|
},
|
|
37251
37321
|
{
|
|
37252
37322
|
id: AXPDataGenerator.uuid(),
|
|
37253
37323
|
name: 'welcome-sms',
|
|
37254
|
-
title: M$
|
|
37324
|
+
title: M$H('Welcome SMS', 'پیامک خوشآمدگویی'),
|
|
37255
37325
|
categoryIds: [textTemplateCategoryIds.authentication],
|
|
37256
37326
|
categories: [
|
|
37257
37327
|
{
|
|
@@ -37261,14 +37331,14 @@ const TEXT_TEMPLATES = [
|
|
|
37261
37331
|
],
|
|
37262
37332
|
channels: {
|
|
37263
37333
|
sms: {
|
|
37264
|
-
body: M$
|
|
37334
|
+
body: M$H('Welcome {{customerName}}! Thank you for signing up. Your code: {{verificationCode}}', '{{customerName}} عزیز، خوش آمدید! از ثبتنام شما سپاسگزاریم. کد شما: {{verificationCode}}'),
|
|
37265
37335
|
},
|
|
37266
37336
|
},
|
|
37267
37337
|
},
|
|
37268
37338
|
{
|
|
37269
37339
|
id: AXPDataGenerator.uuid(),
|
|
37270
37340
|
name: 'password-reset',
|
|
37271
|
-
title: M$
|
|
37341
|
+
title: M$H('Password Reset', 'بازیابی رمز عبور'),
|
|
37272
37342
|
categoryIds: [textTemplateCategoryIds.authentication],
|
|
37273
37343
|
categories: [
|
|
37274
37344
|
{
|
|
@@ -37278,33 +37348,33 @@ const TEXT_TEMPLATES = [
|
|
|
37278
37348
|
],
|
|
37279
37349
|
channels: {
|
|
37280
37350
|
email: {
|
|
37281
|
-
subject: M$
|
|
37282
|
-
body: M$
|
|
37351
|
+
subject: M$H('Reset Your Password', 'بازیابی رمز عبور'),
|
|
37352
|
+
body: M$H('<p>Hello {{userName}},</p><p>Click the link below to reset your password:</p><p><a href="{{resetLink}}">Reset Password</a></p><p>This link expires in {{expiryMinutes}} minutes.</p>', '<p>{{userName}} گرامی،</p><p>برای بازنشانی رمز عبور روی پیوند زیر کلیک کنید:</p><p><a href="{{resetLink}}">بازنشانی رمز عبور</a></p><p>این پیوند تا {{expiryMinutes}} دقیقه معتبر است.</p>'),
|
|
37283
37353
|
},
|
|
37284
37354
|
},
|
|
37285
37355
|
},
|
|
37286
37356
|
{
|
|
37287
37357
|
id: AXPDataGenerator.uuid(),
|
|
37288
37358
|
name: 'shipping-notification',
|
|
37289
|
-
title: M$
|
|
37359
|
+
title: M$H('Shipping Notification', 'اعلان ارسال'),
|
|
37290
37360
|
categoryIds: [textTemplateCategoryIds.order],
|
|
37291
37361
|
categories: [
|
|
37292
37362
|
{ id: textTemplateCategoryIds.order, title: getCategoryTitle$4(textTemplateCategoryIds.order) },
|
|
37293
37363
|
],
|
|
37294
37364
|
channels: {
|
|
37295
37365
|
email: {
|
|
37296
|
-
subject: M$
|
|
37297
|
-
body: M$
|
|
37366
|
+
subject: M$H('Your Order {{orderId}} Has Shipped', 'سفارش {{orderId}} شما ارسال شد'),
|
|
37367
|
+
body: M$H('<p>Hi {{customerName}},</p><p>Great news! Your order {{orderId}} has shipped.</p><p>Tracking number: {{trackingNumber}}</p><p>Ship to: {{shippingAddress}}</p><p>Thank you for your purchase!</p>', '<p>{{customerName}} عزیز،</p><p>سفارش {{orderId}} شما ارسال شد.</p><p>شماره پیگیری: {{trackingNumber}}</p><p>آدرس ارسال: {{shippingAddress}}</p><p>از خرید شما سپاسگزاریم!</p>'),
|
|
37298
37368
|
},
|
|
37299
37369
|
sms: {
|
|
37300
|
-
body: M$
|
|
37370
|
+
body: M$H('Your order {{orderId}} shipped! Track: {{trackingNumber}}', 'سفارش {{orderId}} ارسال شد! پیگیری: {{trackingNumber}}'),
|
|
37301
37371
|
},
|
|
37302
37372
|
},
|
|
37303
37373
|
},
|
|
37304
37374
|
{
|
|
37305
37375
|
id: AXPDataGenerator.uuid(),
|
|
37306
37376
|
name: 'email-verification',
|
|
37307
|
-
title: M$
|
|
37377
|
+
title: M$H('Email Verification', 'تأیید ایمیل'),
|
|
37308
37378
|
categoryIds: [textTemplateCategoryIds.authentication],
|
|
37309
37379
|
categories: [
|
|
37310
37380
|
{
|
|
@@ -37314,33 +37384,33 @@ const TEXT_TEMPLATES = [
|
|
|
37314
37384
|
],
|
|
37315
37385
|
channels: {
|
|
37316
37386
|
email: {
|
|
37317
|
-
subject: M$
|
|
37318
|
-
body: M$
|
|
37387
|
+
subject: M$H('Verify Your Email Address', 'تأیید آدرس ایمیل'),
|
|
37388
|
+
body: M$H('<p>Hello {{userName}},</p><p>Please verify your email using this code: <strong>{{verificationCode}}</strong></p><p>This code expires in {{expiryMinutes}} minutes.</p>', '<p>{{userName}} گرامی،</p><p>با این کد ایمیل خود را تأیید کنید: <strong>{{verificationCode}}</strong></p><p>این کد تا {{expiryMinutes}} دقیقه معتبر است.</p>'),
|
|
37319
37389
|
},
|
|
37320
37390
|
},
|
|
37321
37391
|
},
|
|
37322
37392
|
{
|
|
37323
37393
|
id: AXPDataGenerator.uuid(),
|
|
37324
37394
|
name: 'promotional-offer',
|
|
37325
|
-
title: M$
|
|
37395
|
+
title: M$H('Promotional Offer', 'پیشنهاد تبلیغاتی'),
|
|
37326
37396
|
categoryIds: [textTemplateCategoryIds.marketing],
|
|
37327
37397
|
categories: [
|
|
37328
37398
|
{ id: textTemplateCategoryIds.marketing, title: getCategoryTitle$4(textTemplateCategoryIds.marketing) },
|
|
37329
37399
|
],
|
|
37330
37400
|
channels: {
|
|
37331
37401
|
email: {
|
|
37332
|
-
subject: M$
|
|
37333
|
-
body: M$
|
|
37402
|
+
subject: M$H('Special Offer Just for You!', 'یک پیشنهاد ویژه برای شما!'),
|
|
37403
|
+
body: M$H('<p>Hi {{customerName}},</p><p>As a valued customer, use code <strong>{{verificationCode}}</strong> for 10% off your next order!</p><p>Offer expires in {{expiryMinutes}} minutes. Shop now!</p>', '<p>{{customerName}} عزیز،</p><p>بهعنوان مشتری ارزشمند، از کد <strong>{{verificationCode}}</strong> برای ۱۰٪ تخفیف سفارش بعدی استفاده کنید!</p><p>این پیشنهاد تا {{expiryMinutes}} دقیقه دیگر معتبر است. همین حالا خرید کنید!</p>'),
|
|
37334
37404
|
},
|
|
37335
37405
|
sms: {
|
|
37336
|
-
body: M$
|
|
37406
|
+
body: M$H('Hi {{customerName}}! Use {{verificationCode}} for 10% off. Shop now!', '{{customerName}} عزیز! برای ۱۰٪ تخفیف از {{verificationCode}} استفاده کنید.'),
|
|
37337
37407
|
},
|
|
37338
37408
|
},
|
|
37339
37409
|
},
|
|
37340
37410
|
{
|
|
37341
37411
|
id: AXPDataGenerator.uuid(),
|
|
37342
37412
|
name: 'payment-reminder',
|
|
37343
|
-
title: M$
|
|
37413
|
+
title: M$H('Payment Reminder', 'یادآوری پرداخت'),
|
|
37344
37414
|
categoryIds: [textTemplateCategoryIds.transactional],
|
|
37345
37415
|
categories: [
|
|
37346
37416
|
{
|
|
@@ -37350,15 +37420,15 @@ const TEXT_TEMPLATES = [
|
|
|
37350
37420
|
],
|
|
37351
37421
|
channels: {
|
|
37352
37422
|
email: {
|
|
37353
|
-
subject: M$
|
|
37354
|
-
body: M$
|
|
37423
|
+
subject: M$H('Payment Reminder - Invoice {{invoiceNumber}}', 'یادآوری پرداخت — فاکتور {{invoiceNumber}}'),
|
|
37424
|
+
body: M$H('<p>Hi {{customerName}},</p><p>This is a friendly reminder that payment of {{totalAmount}} for invoice {{invoiceNumber}} is due soon.</p><p>Thank you for your business.</p>', '<p>{{customerName}} گرامی،</p><p>یادآوری میکنیم که پرداخت مبلغ {{totalAmount}} برای فاکتور {{invoiceNumber}} نزدیک است.</p><p>از همکاری شما سپاسگزاریم.</p>'),
|
|
37355
37425
|
},
|
|
37356
37426
|
},
|
|
37357
37427
|
},
|
|
37358
37428
|
{
|
|
37359
37429
|
id: AXPDataGenerator.uuid(),
|
|
37360
37430
|
name: 'password-changed',
|
|
37361
|
-
title: M$
|
|
37431
|
+
title: M$H('Password Changed Confirmation', 'تأیید تغییر رمز عبور'),
|
|
37362
37432
|
categoryIds: [textTemplateCategoryIds.authentication],
|
|
37363
37433
|
categories: [
|
|
37364
37434
|
{
|
|
@@ -37368,110 +37438,110 @@ const TEXT_TEMPLATES = [
|
|
|
37368
37438
|
],
|
|
37369
37439
|
channels: {
|
|
37370
37440
|
email: {
|
|
37371
|
-
subject: M$
|
|
37372
|
-
body: M$
|
|
37441
|
+
subject: M$H('Your Password Has Been Changed', 'رمز عبور شما تغییر کرد'),
|
|
37442
|
+
body: M$H('<p>Hello {{userName}},</p><p>Your password was successfully changed. If you did not make this change, please contact support immediately.</p>', '<p>{{userName}} گرامی،</p><p>رمز عبور شما با موفقیت تغییر کرد. اگر این تغییر را انجام ندادهاید، فوراً با پشتیبانی تماس بگیرید.</p>'),
|
|
37373
37443
|
},
|
|
37374
37444
|
},
|
|
37375
37445
|
},
|
|
37376
37446
|
{
|
|
37377
37447
|
id: AXPDataGenerator.uuid(),
|
|
37378
37448
|
name: 'ticket-received',
|
|
37379
|
-
title: M$
|
|
37449
|
+
title: M$H('Support Ticket Received', 'دریافت تیکت پشتیبانی'),
|
|
37380
37450
|
categoryIds: [textTemplateCategoryIds.support],
|
|
37381
37451
|
categories: [
|
|
37382
37452
|
{ id: textTemplateCategoryIds.support, title: getCategoryTitle$4(textTemplateCategoryIds.support) },
|
|
37383
37453
|
],
|
|
37384
37454
|
channels: {
|
|
37385
37455
|
email: {
|
|
37386
|
-
subject: M$
|
|
37387
|
-
body: M$
|
|
37456
|
+
subject: M$H('Support Ticket {{supportTicketId}} Received', 'تیکت پشتیبانی {{supportTicketId}} دریافت شد'),
|
|
37457
|
+
body: M$H('<p>Hi {{customerName}},</p><p>We have received your support request (Ticket #{{supportTicketId}}).</p><p>Our team will get back to you soon. Your assigned agent is {{agentName}}.</p>', '<p>{{customerName}} گرامی،</p><p>درخواست پشتیبانی شما (تیکت شماره {{supportTicketId}}) دریافت شد.</p><p>تیم ما بهزودی پاسخ میدهد. کارشناس شما: {{agentName}}.</p>'),
|
|
37388
37458
|
},
|
|
37389
37459
|
},
|
|
37390
37460
|
},
|
|
37391
37461
|
{
|
|
37392
37462
|
id: AXPDataGenerator.uuid(),
|
|
37393
37463
|
name: 'ticket-resolved',
|
|
37394
|
-
title: M$
|
|
37464
|
+
title: M$H('Support Ticket Resolved', 'تیکت پشتیبانی حل شد'),
|
|
37395
37465
|
categoryIds: [textTemplateCategoryIds.support],
|
|
37396
37466
|
categories: [
|
|
37397
37467
|
{ id: textTemplateCategoryIds.support, title: getCategoryTitle$4(textTemplateCategoryIds.support) },
|
|
37398
37468
|
],
|
|
37399
37469
|
channels: {
|
|
37400
37470
|
email: {
|
|
37401
|
-
subject: M$
|
|
37402
|
-
body: M$
|
|
37471
|
+
subject: M$H('Ticket {{supportTicketId}} Resolved', 'تیکت {{supportTicketId}} حل شد'),
|
|
37472
|
+
body: M$H('<p>Hi {{customerName}},</p><p>Your support ticket {{supportTicketId}} has been resolved by {{agentName}}.</p><p>Thank you for contacting us!</p>', '<p>{{customerName}} گرامی،</p><p>تیکت پشتیبانی {{supportTicketId}} توسط {{agentName}} حل شد.</p><p>از تماس شما سپاسگزاریم!</p>'),
|
|
37403
37473
|
},
|
|
37404
37474
|
},
|
|
37405
37475
|
},
|
|
37406
37476
|
{
|
|
37407
37477
|
id: AXPDataGenerator.uuid(),
|
|
37408
37478
|
name: 'broadcast-valentines-day',
|
|
37409
|
-
title: M$
|
|
37479
|
+
title: M$H("Valentine's Day — Employee Broadcast", 'روز ولنتاین — پیام سازمانی'),
|
|
37410
37480
|
categoryIds: [textTemplateCategoryIds.broadcast],
|
|
37411
37481
|
categories: [
|
|
37412
37482
|
{ id: textTemplateCategoryIds.broadcast, title: getCategoryTitle$4(textTemplateCategoryIds.broadcast) },
|
|
37413
37483
|
],
|
|
37414
37484
|
channels: {
|
|
37415
37485
|
email: {
|
|
37416
|
-
subject: M$
|
|
37417
|
-
body: M$
|
|
37486
|
+
subject: M$H("Happy Valentine's Day, {{employeeName}}!", '{{employeeName}} عزیز، روز ولنتاین مبارک!'),
|
|
37487
|
+
body: M$H('<p>Dear {{employeeName}},</p><p>We wish you a wonderful Valentine\'s Day filled with kindness and appreciation. Thank you for everything you bring to our team.</p><p>With gratitude,<br/>Your organization</p>', '<p>{{employeeName}} گرامی،</p><p>برای شما روزی پر از مهربانی و قدردانی آرزومندیم. از همهٔ تلاشهایتان برای تیم سپاسگزاریم.</p><p>با احترام،<br/>سازمان شما</p>'),
|
|
37418
37488
|
},
|
|
37419
37489
|
sms: {
|
|
37420
|
-
body: M$
|
|
37490
|
+
body: M$H("Happy Valentine's Day, {{employeeName}}! Thanks for being a valued part of our team.", '{{employeeName}} عزیز، روز ولنتاین مبارک! از حضور ارزشمندتان در تیم سپاسگزاریم.'),
|
|
37421
37491
|
},
|
|
37422
37492
|
whatsapp: {
|
|
37423
|
-
body: M$
|
|
37493
|
+
body: M$H("Hi {{employeeName}}! Happy Valentine's Day from all of us. We appreciate you!", '{{employeeName}} گرامی! روز ولنتاین مبارک؛ از طرف همه دوستتان داریم.'),
|
|
37424
37494
|
},
|
|
37425
37495
|
push: {
|
|
37426
|
-
body: M$
|
|
37496
|
+
body: M$H("Happy Valentine's Day, {{employeeName}}!", '{{employeeName}} عزیز، روز ولنتاین مبارک!'),
|
|
37427
37497
|
},
|
|
37428
37498
|
},
|
|
37429
37499
|
},
|
|
37430
37500
|
{
|
|
37431
37501
|
id: AXPDataGenerator.uuid(),
|
|
37432
37502
|
name: 'broadcast-new-year',
|
|
37433
|
-
title: M$
|
|
37503
|
+
title: M$H('New Year — Employee Broadcast', 'سال نو — پیام سازمانی'),
|
|
37434
37504
|
categoryIds: [textTemplateCategoryIds.broadcast],
|
|
37435
37505
|
categories: [
|
|
37436
37506
|
{ id: textTemplateCategoryIds.broadcast, title: getCategoryTitle$4(textTemplateCategoryIds.broadcast) },
|
|
37437
37507
|
],
|
|
37438
37508
|
channels: {
|
|
37439
37509
|
email: {
|
|
37440
|
-
subject: M$
|
|
37441
|
-
body: M$
|
|
37510
|
+
subject: M$H('Happy New Year, {{employeeName}}!', '{{employeeName}} عزیز، سال نو مبارک!'),
|
|
37511
|
+
body: M$H('<p>Dear {{employeeName}},</p><p>As the year begins, we wish you health, success, and fresh opportunities. Thank you for your dedication—we look forward to achieving great things together.</p><p>Happy New Year!<br/>Your organization</p>', '<p>{{employeeName}} گرامی،</p><p>با آغاز سال، برای شما تندرستی، موفقیت و فرصتهای تازه آرزومندیم. از تعهد شما سپاسگزاریم؛ در کنار هم به دستاوردهای خوب امیدواریم.</p><p>سال نو مبارک!<br/>سازمان شما</p>'),
|
|
37442
37512
|
},
|
|
37443
37513
|
sms: {
|
|
37444
|
-
body: M$
|
|
37514
|
+
body: M$H('Happy New Year, {{employeeName}}! Wishing you a successful year ahead from our whole team.', '{{employeeName}} عزیز، سال نو مبارک! آرزوی یک سال موفق از طرف تمام تیم.'),
|
|
37445
37515
|
},
|
|
37446
37516
|
whatsapp: {
|
|
37447
|
-
body: M$
|
|
37517
|
+
body: M$H('Hi {{employeeName}}! Happy New Year—wishing you and yours all the best.', '{{employeeName}} گرامی! سال نو مبارک؛ برای شما و خانوادهتان بهترینها را آرزومندیم.'),
|
|
37448
37518
|
},
|
|
37449
37519
|
push: {
|
|
37450
|
-
body: M$
|
|
37520
|
+
body: M$H('Happy New Year, {{employeeName}}!', '{{employeeName}} عزیز، سال نو مبارک!'),
|
|
37451
37521
|
},
|
|
37452
37522
|
},
|
|
37453
37523
|
},
|
|
37454
37524
|
{
|
|
37455
37525
|
id: AXPDataGenerator.uuid(),
|
|
37456
37526
|
name: 'broadcast-holiday-season',
|
|
37457
|
-
title: M$
|
|
37527
|
+
title: M$H('Holiday Season — Employee Broadcast', 'فصل تعطیلات — پیام سازمانی'),
|
|
37458
37528
|
categoryIds: [textTemplateCategoryIds.broadcast],
|
|
37459
37529
|
categories: [
|
|
37460
37530
|
{ id: textTemplateCategoryIds.broadcast, title: getCategoryTitle$4(textTemplateCategoryIds.broadcast) },
|
|
37461
37531
|
],
|
|
37462
37532
|
channels: {
|
|
37463
37533
|
email: {
|
|
37464
|
-
subject: M$
|
|
37465
|
-
body: M$
|
|
37534
|
+
subject: M$H('Season\'s greetings, {{employeeName}}', 'تبریک فصل، {{employeeName}} گرامی'),
|
|
37535
|
+
body: M$H('<p>Dear {{employeeName}},</p><p>During this holiday season, we want to thank you for your hard work and wish you peace, joy, and time with those who matter most.</p><p>Warm regards,<br/>Your organization</p>', '<p>{{employeeName}} گرامی،</p><p>در این فصل تعطیلات از تلاش شما سپاسگزاریم و برایتان آرامش، شادی و اوقات خوب کنار عزیزانتان آرزومندیم.</p><p>با احترام،<br/>سازمان شما</p>'),
|
|
37466
37536
|
},
|
|
37467
37537
|
sms: {
|
|
37468
|
-
body: M$
|
|
37538
|
+
body: M$H('Season\'s greetings, {{employeeName}}! Thank you for a great year—we appreciate you.', 'تبریک فصل، {{employeeName}} عزیز! از شما بابت سالی پر تلاش سپاسگزاریم.'),
|
|
37469
37539
|
},
|
|
37470
37540
|
whatsapp: {
|
|
37471
|
-
body: M$
|
|
37541
|
+
body: M$H('Hi {{employeeName}}! Wishing you a joyful holiday season and a restful break.', '{{employeeName}} گرامی! فصل تعطیلات شادیبخش و استراحتی دلچسب برایتان آرزومندیم.'),
|
|
37472
37542
|
},
|
|
37473
37543
|
push: {
|
|
37474
|
-
body: M$
|
|
37544
|
+
body: M$H('Season\'s greetings, {{employeeName}}!', 'تبریک فصل، {{employeeName}} عزیز!'),
|
|
37475
37545
|
},
|
|
37476
37546
|
},
|
|
37477
37547
|
},
|
|
@@ -37587,6 +37657,30 @@ function axcExtractAssistIdFromMetadata(metadata) {
|
|
|
37587
37657
|
}
|
|
37588
37658
|
return undefined;
|
|
37589
37659
|
}
|
|
37660
|
+
/**
|
|
37661
|
+
* Resolves direct agent id from conversation metadata (agent-as-assist chat).
|
|
37662
|
+
*/
|
|
37663
|
+
function axcExtractDirectAgentIdFromMetadata(metadata) {
|
|
37664
|
+
if (!metadata) {
|
|
37665
|
+
return undefined;
|
|
37666
|
+
}
|
|
37667
|
+
const direct = metadata['directAgentId'];
|
|
37668
|
+
if (typeof direct === 'string' && direct.trim()) {
|
|
37669
|
+
return direct.trim();
|
|
37670
|
+
}
|
|
37671
|
+
const nested = metadata['metadata'];
|
|
37672
|
+
if (nested && typeof nested === 'object' && nested !== null) {
|
|
37673
|
+
const inner = nested['directAgentId'];
|
|
37674
|
+
if (typeof inner === 'string' && inner.trim()) {
|
|
37675
|
+
return inner.trim();
|
|
37676
|
+
}
|
|
37677
|
+
}
|
|
37678
|
+
return undefined;
|
|
37679
|
+
}
|
|
37680
|
+
/** True when the conversation targets an assist catalog row or a direct agent-as-assist chat. */
|
|
37681
|
+
function axcConversationHasAiChat(metadata) {
|
|
37682
|
+
return !!(axcExtractAssistIdFromMetadata(metadata) ?? axcExtractDirectAgentIdFromMetadata(metadata));
|
|
37683
|
+
}
|
|
37590
37684
|
//#endregion
|
|
37591
37685
|
|
|
37592
37686
|
//#region ---- Imports ----
|
|
@@ -37686,10 +37780,14 @@ class AXCConversationMockConversationApi extends AXMChatConversationApi {
|
|
|
37686
37780
|
await this.ensureAssistPeerParticipants(data);
|
|
37687
37781
|
const rawMetadata = (data.metadata ?? {});
|
|
37688
37782
|
const resolvedAssistId = axcExtractAssistIdFromMetadata(rawMetadata);
|
|
37783
|
+
const resolvedDirectAgentId = axcExtractDirectAgentIdFromMetadata(rawMetadata);
|
|
37689
37784
|
const storedMetadata = { ...rawMetadata };
|
|
37690
37785
|
if (resolvedAssistId) {
|
|
37691
37786
|
storedMetadata['assistId'] = resolvedAssistId;
|
|
37692
37787
|
}
|
|
37788
|
+
if (resolvedDirectAgentId) {
|
|
37789
|
+
storedMetadata['directAgentId'] = resolvedDirectAgentId;
|
|
37790
|
+
}
|
|
37693
37791
|
const createPayload = data;
|
|
37694
37792
|
const conversation = {
|
|
37695
37793
|
id: `conv-${Date.now()}`,
|
|
@@ -37908,14 +38006,16 @@ class AXCConversationMockConversationApi extends AXMChatConversationApi {
|
|
|
37908
38006
|
await conversationSharedStorage.loadFromIndexedDB();
|
|
37909
38007
|
const meta = (data.metadata ?? {});
|
|
37910
38008
|
const assistId = axcExtractAssistIdFromMetadata(meta);
|
|
38009
|
+
const directAgentId = axcExtractDirectAgentIdFromMetadata(meta);
|
|
38010
|
+
const catalogPeerId = directAgentId ?? assistId;
|
|
37911
38011
|
for (const participantId of data.participantIds) {
|
|
37912
38012
|
if (conversationSharedStorage.participants.get(participantId)) {
|
|
37913
38013
|
continue;
|
|
37914
38014
|
}
|
|
37915
|
-
if ((data.type !== 'private' && data.type !== 'bot') || !
|
|
38015
|
+
if ((data.type !== 'private' && data.type !== 'bot') || !catalogPeerId) {
|
|
37916
38016
|
continue;
|
|
37917
38017
|
}
|
|
37918
|
-
const expectedParticipantId = `assist-${
|
|
38018
|
+
const expectedParticipantId = `assist-${catalogPeerId}`;
|
|
37919
38019
|
if (participantId !== expectedParticipantId) {
|
|
37920
38020
|
continue;
|
|
37921
38021
|
}
|
|
@@ -37927,7 +38027,9 @@ class AXCConversationMockConversationApi extends AXMChatConversationApi {
|
|
|
37927
38027
|
avatar: typeof avatar === 'string' ? avatar : undefined,
|
|
37928
38028
|
status: 'online',
|
|
37929
38029
|
lastSeen: new Date(),
|
|
37930
|
-
metadata:
|
|
38030
|
+
metadata: directAgentId
|
|
38031
|
+
? { directAgentId, kind: 'agent-assist' }
|
|
38032
|
+
: { assistId: catalogPeerId, kind: 'assist' },
|
|
37931
38033
|
};
|
|
37932
38034
|
conversationSharedStorage.participants.set(participantId, participant);
|
|
37933
38035
|
await axConversationIndexedDbStorage.putParticipant(participant);
|
|
@@ -37959,6 +38061,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
37959
38061
|
this.assistRowData = this.entityService
|
|
37960
38062
|
.withEntity(RootConfig.module.name, RootConfig.entities.assist.name)
|
|
37961
38063
|
.data();
|
|
38064
|
+
this.agentRowData = this.entityService
|
|
38065
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.agent.name)
|
|
38066
|
+
.data();
|
|
37962
38067
|
}
|
|
37963
38068
|
//#endregion
|
|
37964
38069
|
//#region ---- Message CRUD ----
|
|
@@ -37989,9 +38094,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
37989
38094
|
console.warn('Failed to generate assist conversation title:', error);
|
|
37990
38095
|
});
|
|
37991
38096
|
}
|
|
37992
|
-
const
|
|
37993
|
-
if (
|
|
37994
|
-
void this.
|
|
38097
|
+
const aiTarget = this.getAiChatTarget(command.conversationId);
|
|
38098
|
+
if (aiTarget) {
|
|
38099
|
+
void this.generateAiChatResponse(command.conversationId, aiTarget).catch((error) => {
|
|
37995
38100
|
console.error('Failed to generate assist response:', error);
|
|
37996
38101
|
this.toastService.show({
|
|
37997
38102
|
color: 'warning',
|
|
@@ -38088,7 +38193,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38088
38193
|
}
|
|
38089
38194
|
if (rec['type'] === 'node') {
|
|
38090
38195
|
try {
|
|
38091
|
-
return JSON.stringify(rec['content'] ?? '')
|
|
38196
|
+
return JSON.stringify(rec['content'] ?? '')
|
|
38197
|
+
.toLowerCase()
|
|
38198
|
+
.includes(lowerQuery);
|
|
38092
38199
|
}
|
|
38093
38200
|
catch {
|
|
38094
38201
|
return false;
|
|
@@ -38505,11 +38612,18 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38505
38612
|
//
|
|
38506
38613
|
// Streaming/final payloads may include Persian or other RTL text; the assist message renderer
|
|
38507
38614
|
// applies per-segment `dir` from content (no mock-side metadata required).
|
|
38508
|
-
|
|
38615
|
+
getAiChatTarget(conversationId) {
|
|
38509
38616
|
const conversation = conversationSharedStorage.conversations.get(conversationId);
|
|
38510
38617
|
const meta = conversation?.metadata;
|
|
38511
|
-
const
|
|
38512
|
-
|
|
38618
|
+
const directAgentId = axcExtractDirectAgentIdFromMetadata(meta);
|
|
38619
|
+
if (directAgentId) {
|
|
38620
|
+
return { peerId: directAgentId, directAgentId };
|
|
38621
|
+
}
|
|
38622
|
+
const assistId = axcExtractAssistIdFromMetadata(meta);
|
|
38623
|
+
if (assistId) {
|
|
38624
|
+
return { peerId: assistId, assistId };
|
|
38625
|
+
}
|
|
38626
|
+
return null;
|
|
38513
38627
|
}
|
|
38514
38628
|
shouldGenerateAssistConversationTitle(command, message) {
|
|
38515
38629
|
if (message.senderId !== conversationSharedStorage.currentUserId) {
|
|
@@ -38526,8 +38640,8 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38526
38640
|
if (!conversation) {
|
|
38527
38641
|
return false;
|
|
38528
38642
|
}
|
|
38529
|
-
const
|
|
38530
|
-
if (!
|
|
38643
|
+
const aiTarget = this.getAiChatTarget(command.conversationId);
|
|
38644
|
+
if (!aiTarget) {
|
|
38531
38645
|
return false;
|
|
38532
38646
|
}
|
|
38533
38647
|
const userMessageCount = (conversationSharedStorage.messagesByConversation.get(command.conversationId) ?? [])
|
|
@@ -38544,11 +38658,11 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38544
38658
|
if (!conversation) {
|
|
38545
38659
|
return;
|
|
38546
38660
|
}
|
|
38547
|
-
const
|
|
38548
|
-
if (!
|
|
38661
|
+
const aiTarget = this.getAiChatTarget(conversationId);
|
|
38662
|
+
if (!aiTarget) {
|
|
38549
38663
|
return;
|
|
38550
38664
|
}
|
|
38551
|
-
const modelEntityId = await this.resolveModelEntityId(conversationId,
|
|
38665
|
+
const modelEntityId = await this.resolveModelEntityId(conversationId, aiTarget);
|
|
38552
38666
|
if (!modelEntityId) {
|
|
38553
38667
|
return;
|
|
38554
38668
|
}
|
|
@@ -38567,7 +38681,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38567
38681
|
`User message: ${firstUserText}`,
|
|
38568
38682
|
].join('\n');
|
|
38569
38683
|
const runResult = await this.aiEngine.run({
|
|
38570
|
-
|
|
38684
|
+
...(aiTarget.directAgentId
|
|
38685
|
+
? { directAgentId: aiTarget.directAgentId }
|
|
38686
|
+
: { assistId: aiTarget.assistId }),
|
|
38571
38687
|
modelEntityId,
|
|
38572
38688
|
maxSteps: 1,
|
|
38573
38689
|
messages: [axpAiChatTextMessage('user', titlePrompt)],
|
|
@@ -38603,35 +38719,35 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38603
38719
|
.trim();
|
|
38604
38720
|
return normalized.slice(0, 90).trim();
|
|
38605
38721
|
}
|
|
38606
|
-
async
|
|
38722
|
+
async generateAiChatResponse(conversationId, target) {
|
|
38607
38723
|
const conversation = conversationSharedStorage.conversations.get(conversationId);
|
|
38608
38724
|
if (!conversation)
|
|
38609
38725
|
return;
|
|
38610
|
-
const assistParticipantId = this.getAssistParticipantId(conversation,
|
|
38726
|
+
const assistParticipantId = this.getAssistParticipantId(conversation, target.peerId);
|
|
38611
38727
|
if (!assistParticipantId)
|
|
38612
38728
|
return;
|
|
38613
38729
|
this.setConversationTyping(conversationId, assistParticipantId, true);
|
|
38614
|
-
const placeholderMsg = this.createPlaceholderMessage(conversationId, assistParticipantId,
|
|
38730
|
+
const placeholderMsg = this.createPlaceholderMessage(conversationId, assistParticipantId, target);
|
|
38615
38731
|
this.publishPlaceholderMessage(placeholderMsg, conversationId);
|
|
38616
38732
|
const runStartedAt = Date.now();
|
|
38617
38733
|
let lastResolvedModelId;
|
|
38618
38734
|
try {
|
|
38619
|
-
const messages = await this.buildAiMessages(conversationId, assistParticipantId,
|
|
38620
|
-
const modelEntityId = await this.resolveModelEntityId(conversationId,
|
|
38735
|
+
const messages = await this.buildAiMessages(conversationId, assistParticipantId, target);
|
|
38736
|
+
const modelEntityId = await this.resolveModelEntityId(conversationId, target);
|
|
38621
38737
|
lastResolvedModelId = modelEntityId;
|
|
38622
38738
|
if (!modelEntityId) {
|
|
38623
|
-
this.finalizeMessage(placeholderMsg, 'No AI model available.', conversationId, [
|
|
38624
|
-
axpAiChatTextMessage('assistant', 'No AI model available.'),
|
|
38625
|
-
], { durationMs: Date.now() - runStartedAt });
|
|
38739
|
+
this.finalizeMessage(placeholderMsg, 'No AI model available.', conversationId, [axpAiChatTextMessage('assistant', 'No AI model available.')], { durationMs: Date.now() - runStartedAt });
|
|
38626
38740
|
return;
|
|
38627
38741
|
}
|
|
38628
|
-
const modelTitle = await this.resolveModelDisplayTitle(modelEntityId,
|
|
38742
|
+
const modelTitle = await this.resolveModelDisplayTitle(modelEntityId, target);
|
|
38629
38743
|
let streamTextAccumulator = '';
|
|
38630
38744
|
let streamThinkAccumulator = '';
|
|
38631
38745
|
/** Context size sent into the engine; `run` appends only new assistant/tool lines after this. */
|
|
38632
38746
|
const contextAiMessageCount = messages.length;
|
|
38633
38747
|
const runResult = await this.aiEngine.run({
|
|
38634
|
-
|
|
38748
|
+
...(target.directAgentId
|
|
38749
|
+
? { directAgentId: target.directAgentId }
|
|
38750
|
+
: { assistId: target.assistId }),
|
|
38635
38751
|
messages,
|
|
38636
38752
|
modelEntityId,
|
|
38637
38753
|
onRunEvent: (event) => {
|
|
@@ -38693,9 +38809,7 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38693
38809
|
}
|
|
38694
38810
|
catch (err) {
|
|
38695
38811
|
const friendlyError = this.buildUserFriendlyError(err);
|
|
38696
|
-
this.finalizeMessage(placeholderMsg, friendlyError, conversationId, [
|
|
38697
|
-
axpAiChatTextMessage('assistant', friendlyError),
|
|
38698
|
-
], {
|
|
38812
|
+
this.finalizeMessage(placeholderMsg, friendlyError, conversationId, [axpAiChatTextMessage('assistant', friendlyError)], {
|
|
38699
38813
|
durationMs: Date.now() - runStartedAt,
|
|
38700
38814
|
modelEntityId: lastResolvedModelId,
|
|
38701
38815
|
});
|
|
@@ -38707,7 +38821,7 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38707
38821
|
}
|
|
38708
38822
|
//#endregion
|
|
38709
38823
|
//#region ---- Placeholder & Streaming ----
|
|
38710
|
-
createPlaceholderMessage(conversationId, senderId,
|
|
38824
|
+
createPlaceholderMessage(conversationId, senderId, target) {
|
|
38711
38825
|
return {
|
|
38712
38826
|
id: `msg-assist-${Date.now()}-${Math.floor(Math.random() * 10000)}`,
|
|
38713
38827
|
conversationId,
|
|
@@ -38718,13 +38832,13 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38718
38832
|
status: 'sent',
|
|
38719
38833
|
reactions: [],
|
|
38720
38834
|
metadata: {
|
|
38721
|
-
assistId,
|
|
38835
|
+
...(target.assistId ? { assistId: target.assistId } : {}),
|
|
38836
|
+
...(target.directAgentId ? { directAgentId: target.directAgentId } : {}),
|
|
38722
38837
|
isAssistResponse: true,
|
|
38723
38838
|
isStreaming: true,
|
|
38724
38839
|
toolCalls: [],
|
|
38725
38840
|
streamDraftText: '',
|
|
38726
38841
|
streamDraftThink: '',
|
|
38727
|
-
aiTranscriptDraft: [],
|
|
38728
38842
|
},
|
|
38729
38843
|
};
|
|
38730
38844
|
}
|
|
@@ -38734,8 +38848,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38734
38848
|
const meta = next.metadata;
|
|
38735
38849
|
meta['streamDraftText'] = text;
|
|
38736
38850
|
meta['streamDraftThink'] = think;
|
|
38737
|
-
next.payload = { type: 'text', text };
|
|
38738
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38739
38851
|
this.emitMessageUpdate(next);
|
|
38740
38852
|
}
|
|
38741
38853
|
publishPlaceholderMessage(message, conversationId) {
|
|
@@ -38796,7 +38908,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38796
38908
|
}
|
|
38797
38909
|
entry.nestedStreamText = '';
|
|
38798
38910
|
meta['toolCalls'] = toolCalls;
|
|
38799
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38800
38911
|
this.emitMessageUpdate(next);
|
|
38801
38912
|
}
|
|
38802
38913
|
/** Appends streamed specialist text for a delegated agent run into that tool row (not the main bubble). */
|
|
@@ -38815,7 +38926,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38815
38926
|
}
|
|
38816
38927
|
entry.nestedStreamText = (entry.nestedStreamText ?? '') + delta;
|
|
38817
38928
|
meta['toolCalls'] = toolCalls;
|
|
38818
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38819
38929
|
this.emitMessageUpdate(next);
|
|
38820
38930
|
}
|
|
38821
38931
|
pushDelegatedNestedTool(message, delegationCallId, call) {
|
|
@@ -38834,7 +38944,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38834
38944
|
const prev = entry.nestedTools ?? [];
|
|
38835
38945
|
entry.nestedTools = [...prev, { id: call.id, name: call.name, arguments: call.arguments, state: 'running' }];
|
|
38836
38946
|
meta['toolCalls'] = toolCalls;
|
|
38837
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38838
38947
|
this.emitMessageUpdate(next);
|
|
38839
38948
|
}
|
|
38840
38949
|
completeDelegatedNestedTool(message, delegationCallId, call, output) {
|
|
@@ -38852,7 +38961,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38852
38961
|
}
|
|
38853
38962
|
entry.nestedTools = entry.nestedTools.map((t) => (t.id === call.id ? { ...t, state: 'done', output } : t));
|
|
38854
38963
|
meta['toolCalls'] = toolCalls;
|
|
38855
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38856
38964
|
this.emitMessageUpdate(next);
|
|
38857
38965
|
}
|
|
38858
38966
|
addToolCall(message, call) {
|
|
@@ -38862,7 +38970,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38862
38970
|
const toolCalls = meta['toolCalls'] ?? [];
|
|
38863
38971
|
toolCalls.push({ id: call.id, name: call.name, arguments: call.arguments, state: 'running' });
|
|
38864
38972
|
meta['toolCalls'] = toolCalls;
|
|
38865
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38866
38973
|
this.emitMessageUpdate(next);
|
|
38867
38974
|
}
|
|
38868
38975
|
completeToolCall(message, call, output) {
|
|
@@ -38877,123 +38984,24 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38877
38984
|
// Keep nestedStreamText / nestedTools for conversation UI after the run (same layout as during stream).
|
|
38878
38985
|
}
|
|
38879
38986
|
meta['toolCalls'] = toolCalls;
|
|
38880
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38881
38987
|
this.emitMessageUpdate(next);
|
|
38882
38988
|
}
|
|
38883
|
-
/**
|
|
38884
|
-
* Builds {@link AXPAiChatMessage} lines for the assist bot renderer while streaming.
|
|
38885
|
-
*/
|
|
38886
|
-
rebuildAiTranscriptDraft(message) {
|
|
38887
|
-
const meta = message.metadata;
|
|
38888
|
-
const think = String(meta['streamDraftThink'] ?? '');
|
|
38889
|
-
const text = String(meta['streamDraftText'] ?? '');
|
|
38890
|
-
const toolCalls = meta['toolCalls'] ?? [];
|
|
38891
|
-
const lines = [];
|
|
38892
|
-
if (think.trim()) {
|
|
38893
|
-
lines.push({
|
|
38894
|
-
role: 'assistant',
|
|
38895
|
-
responses: [{ type: 'think', content: think }],
|
|
38896
|
-
});
|
|
38897
|
-
}
|
|
38898
|
-
for (const tc of toolCalls) {
|
|
38899
|
-
const delegated = axpAiParseSupervisorAgentToolName(tc.name) != null;
|
|
38900
|
-
lines.push({
|
|
38901
|
-
role: 'assistant',
|
|
38902
|
-
responses: [
|
|
38903
|
-
delegated
|
|
38904
|
-
? {
|
|
38905
|
-
type: 'agent',
|
|
38906
|
-
callId: tc.id,
|
|
38907
|
-
content: { command: tc.name, arguments: tc.arguments },
|
|
38908
|
-
}
|
|
38909
|
-
: {
|
|
38910
|
-
type: 'tool',
|
|
38911
|
-
callId: tc.id,
|
|
38912
|
-
content: { command: tc.name, arguments: tc.arguments },
|
|
38913
|
-
},
|
|
38914
|
-
],
|
|
38915
|
-
});
|
|
38916
|
-
if (tc.state === 'done' && tc.output != null && tc.output !== '') {
|
|
38917
|
-
if (delegated) {
|
|
38918
|
-
let body;
|
|
38919
|
-
try {
|
|
38920
|
-
const parsed = JSON.parse(tc.output);
|
|
38921
|
-
if (parsed['success'] === false) {
|
|
38922
|
-
body = {
|
|
38923
|
-
success: false,
|
|
38924
|
-
error: typeof parsed['error'] === 'string' && parsed['error'].trim()
|
|
38925
|
-
? parsed['error'].trim()
|
|
38926
|
-
: 'Request failed.',
|
|
38927
|
-
};
|
|
38928
|
-
}
|
|
38929
|
-
else {
|
|
38930
|
-
const d = parsed['data'];
|
|
38931
|
-
const parsedSegs = axpAiParseDelegatedAgentResultSegmentsFromUnknown(d?.['responses']);
|
|
38932
|
-
body =
|
|
38933
|
-
parsedSegs.length > 0
|
|
38934
|
-
? {
|
|
38935
|
-
success: true,
|
|
38936
|
-
data: {
|
|
38937
|
-
...(typeof d?.['agentName'] === 'string' ? { agentName: d['agentName'] } : {}),
|
|
38938
|
-
...(typeof d?.['agentId'] === 'string' ? { agentId: d['agentId'] } : {}),
|
|
38939
|
-
responses: parsedSegs,
|
|
38940
|
-
},
|
|
38941
|
-
}
|
|
38942
|
-
: {
|
|
38943
|
-
success: true,
|
|
38944
|
-
data: {
|
|
38945
|
-
responses: [{ type: 'text', content: typeof tc.output === 'string' ? tc.output : '' }],
|
|
38946
|
-
},
|
|
38947
|
-
};
|
|
38948
|
-
}
|
|
38949
|
-
}
|
|
38950
|
-
catch {
|
|
38951
|
-
body = {
|
|
38952
|
-
success: true,
|
|
38953
|
-
data: { responses: [{ type: 'text', content: tc.output ?? '' }] },
|
|
38954
|
-
};
|
|
38955
|
-
}
|
|
38956
|
-
lines.push(axpAiChatAgentResultMessage(tc.id, body, tc.name));
|
|
38957
|
-
}
|
|
38958
|
-
else {
|
|
38959
|
-
let body;
|
|
38960
|
-
try {
|
|
38961
|
-
body = JSON.parse(tc.output);
|
|
38962
|
-
}
|
|
38963
|
-
catch {
|
|
38964
|
-
body = { success: true, data: tc.output };
|
|
38965
|
-
}
|
|
38966
|
-
lines.push(axpAiChatToolResultMessage(tc.id, body, tc.name));
|
|
38967
|
-
}
|
|
38968
|
-
}
|
|
38969
|
-
}
|
|
38970
|
-
if (text.trim()) {
|
|
38971
|
-
lines.push({
|
|
38972
|
-
role: 'assistant',
|
|
38973
|
-
responses: [{ type: 'text', content: text }],
|
|
38974
|
-
});
|
|
38975
|
-
}
|
|
38976
|
-
meta['aiTranscriptDraft'] = lines;
|
|
38977
|
-
}
|
|
38978
38989
|
finalizeMessage(message, text, conversationId, transcript, runDebug) {
|
|
38979
38990
|
const base = this.resolveStreamingAssistMessage(message);
|
|
38980
38991
|
const next = this.snapshotStreamingAssistMessage(base);
|
|
38981
38992
|
const transcriptLines = transcript ?? [];
|
|
38982
|
-
const
|
|
38983
|
-
if (
|
|
38984
|
-
next.payload =
|
|
38985
|
-
}
|
|
38986
|
-
else {
|
|
38987
|
-
next.payload = { type: 'text', text: delivery.text };
|
|
38993
|
+
const lastLine = axmAssistLastTranscriptLine(transcriptLines);
|
|
38994
|
+
if (lastLine) {
|
|
38995
|
+
next.payload = axmBuildAssistTranscriptLinePayload(lastLine);
|
|
38988
38996
|
}
|
|
38989
38997
|
const meta = next.metadata;
|
|
38990
38998
|
meta['isStreaming'] = false;
|
|
38991
|
-
delete meta['
|
|
38999
|
+
delete meta['transcriptDraft'];
|
|
38992
39000
|
delete meta['streamDraftText'];
|
|
38993
39001
|
delete meta['streamDraftThink'];
|
|
38994
39002
|
if (transcript && transcript.length > 0) {
|
|
38995
39003
|
// Full turn trace for assist renderer after reload (IndexedDB + in-memory store).
|
|
38996
|
-
meta['
|
|
39004
|
+
meta['transcripts'] = transcript;
|
|
38997
39005
|
}
|
|
38998
39006
|
if (runDebug) {
|
|
38999
39007
|
if (runDebug.usageTotals) {
|
|
@@ -39021,8 +39029,7 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39021
39029
|
else {
|
|
39022
39030
|
delete meta['assistRunLastProviderResult'];
|
|
39023
39031
|
}
|
|
39024
|
-
if (runDebug.delegatedTranscriptsByCallId &&
|
|
39025
|
-
Object.keys(runDebug.delegatedTranscriptsByCallId).length > 0) {
|
|
39032
|
+
if (runDebug.delegatedTranscriptsByCallId && Object.keys(runDebug.delegatedTranscriptsByCallId).length > 0) {
|
|
39026
39033
|
meta['assistRunDelegatedTranscriptsByCallId'] = runDebug.delegatedTranscriptsByCallId;
|
|
39027
39034
|
}
|
|
39028
39035
|
else {
|
|
@@ -39045,9 +39052,11 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39045
39052
|
* Order: conversation `metadata.modelEntityId` (info bar / overrides), then assist row `modelId`, then first catalog chat model.
|
|
39046
39053
|
* Empty-assist flow may send before the info bar writes `modelEntityId`, so assist `modelId` must be resolved here.
|
|
39047
39054
|
*/
|
|
39048
|
-
async resolveModelDisplayTitle(modelEntityId,
|
|
39055
|
+
async resolveModelDisplayTitle(modelEntityId, target) {
|
|
39049
39056
|
try {
|
|
39050
|
-
const models = await this.modelCatalog.listModels(
|
|
39057
|
+
const models = await this.modelCatalog.listModels(target.directAgentId
|
|
39058
|
+
? { directAgentId: target.directAgentId }
|
|
39059
|
+
: { assistId: target.assistId ?? '' });
|
|
39051
39060
|
const hit = models.find((m) => m.id === modelEntityId);
|
|
39052
39061
|
if (!hit) {
|
|
39053
39062
|
return modelEntityId;
|
|
@@ -39060,14 +39069,32 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39060
39069
|
return undefined;
|
|
39061
39070
|
}
|
|
39062
39071
|
}
|
|
39063
|
-
async resolveModelEntityId(conversationId,
|
|
39072
|
+
async resolveModelEntityId(conversationId, target) {
|
|
39064
39073
|
const conversation = conversationSharedStorage.conversations.get(conversationId);
|
|
39065
39074
|
const fromMetadata = conversation?.metadata?.['modelEntityId'];
|
|
39066
39075
|
if (typeof fromMetadata === 'string' && fromMetadata.trim()) {
|
|
39067
39076
|
return fromMetadata.trim();
|
|
39068
39077
|
}
|
|
39078
|
+
if (target.directAgentId) {
|
|
39079
|
+
try {
|
|
39080
|
+
const agent = await this.agentRowData.byKey(target.directAgentId.trim());
|
|
39081
|
+
const fromAgent = agent?.modelEntityId?.trim();
|
|
39082
|
+
if (fromAgent) {
|
|
39083
|
+
return fromAgent;
|
|
39084
|
+
}
|
|
39085
|
+
}
|
|
39086
|
+
catch {
|
|
39087
|
+
// Fall through to catalog default.
|
|
39088
|
+
}
|
|
39089
|
+
const models = await this.modelCatalog.listModels({ directAgentId: target.directAgentId });
|
|
39090
|
+
return models[0]?.id?.trim() || undefined;
|
|
39091
|
+
}
|
|
39092
|
+
const assistId = target.assistId?.trim();
|
|
39093
|
+
if (!assistId) {
|
|
39094
|
+
return undefined;
|
|
39095
|
+
}
|
|
39069
39096
|
try {
|
|
39070
|
-
const assist = await this.assistRowData.byKey(assistId
|
|
39097
|
+
const assist = await this.assistRowData.byKey(assistId);
|
|
39071
39098
|
const fromAssist = assist?.modelId?.trim();
|
|
39072
39099
|
if (fromAssist) {
|
|
39073
39100
|
return fromAssist;
|
|
@@ -39084,10 +39111,10 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39084
39111
|
/**
|
|
39085
39112
|
* Build chat lines for the AI engine. Only plain user/assistant text from each message
|
|
39086
39113
|
* {@link #extractMessageText} is included — never assist message metadata
|
|
39087
|
-
* (`toolCalls`, `
|
|
39114
|
+
* (`toolCalls`, `transcripts`, `streamDraft*`, `assistUi`, etc.), so the model does not
|
|
39088
39115
|
* see internal trace or UI state.
|
|
39089
39116
|
*/
|
|
39090
|
-
async buildAiMessages(conversationId, assistParticipantId,
|
|
39117
|
+
async buildAiMessages(conversationId, assistParticipantId, target) {
|
|
39091
39118
|
const ids = conversationSharedStorage.messagesByConversation.get(conversationId) ?? [];
|
|
39092
39119
|
const list = [];
|
|
39093
39120
|
for (const id of ids) {
|
|
@@ -39100,8 +39127,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39100
39127
|
.filter((m) => !this.isStreamingPlaceholder(m))
|
|
39101
39128
|
.map((m) => axpAiChatTextMessage(m.senderId === assistParticipantId ? 'assistant' : 'user', this.extractMessageText(m)));
|
|
39102
39129
|
const hasAssistantTurn = mapped.some((m) => m.role === 'assistant');
|
|
39103
|
-
|
|
39104
|
-
|
|
39130
|
+
const assistId = target.assistId?.trim();
|
|
39131
|
+
if (!hasAssistantTurn && assistId) {
|
|
39132
|
+
const row = await this.assistRowData.byKey(assistId);
|
|
39105
39133
|
const seed = axpAiAssistInitialMessagesToTranscript(row?.initialMessages ?? undefined);
|
|
39106
39134
|
if (seed.length > 0) {
|
|
39107
39135
|
return [...seed, ...mapped];
|
|
@@ -39139,6 +39167,13 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39139
39167
|
const pl = message.payload;
|
|
39140
39168
|
if (pl != null && typeof pl === 'object' && !Array.isArray(pl)) {
|
|
39141
39169
|
const rec = pl;
|
|
39170
|
+
if (rec['type'] === AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE) {
|
|
39171
|
+
const line = rec['line'];
|
|
39172
|
+
if (line != null && typeof line === 'object' && !Array.isArray(line)) {
|
|
39173
|
+
return axpAiChatMessageGetText(line).trim() || '[Assistant response]';
|
|
39174
|
+
}
|
|
39175
|
+
return '[Assistant response]';
|
|
39176
|
+
}
|
|
39142
39177
|
if (rec['type'] === 'node') {
|
|
39143
39178
|
return '[Assistant widget]';
|
|
39144
39179
|
}
|
|
@@ -39165,8 +39200,8 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39165
39200
|
}
|
|
39166
39201
|
//#endregion
|
|
39167
39202
|
//#region ---- Assist Utilities ----
|
|
39168
|
-
getAssistParticipantId(conversation,
|
|
39169
|
-
const expectedId = `assist-${
|
|
39203
|
+
getAssistParticipantId(conversation, peerId) {
|
|
39204
|
+
const expectedId = `assist-${peerId}`;
|
|
39170
39205
|
const ids = (conversation.participants ?? []).map((p) => p.id);
|
|
39171
39206
|
if (ids.includes(expectedId))
|
|
39172
39207
|
return expectedId;
|
|
@@ -40997,6 +41032,223 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
40997
41032
|
}]
|
|
40998
41033
|
}] });
|
|
40999
41034
|
|
|
41035
|
+
const M$G = createMultiLanguageString;
|
|
41036
|
+
/** Stable ids referenced by {@link DASHBOARDS} `categoryIds`. */
|
|
41037
|
+
const DASHBOARD_CATEGORY_IDS = {
|
|
41038
|
+
tenant: 'dcat-tenant',
|
|
41039
|
+
personal: 'dcat-personal',
|
|
41040
|
+
};
|
|
41041
|
+
const DASHBOARD_CATEGORY_MOCK = [
|
|
41042
|
+
{
|
|
41043
|
+
id: DASHBOARD_CATEGORY_IDS.tenant,
|
|
41044
|
+
title: M$G('Tenant dashboards', 'داشبوردهای سازمانی'),
|
|
41045
|
+
description: M$G('Shared dashboards for the organization', 'داشبوردهای مشترک سازمان'),
|
|
41046
|
+
childrenCount: 0,
|
|
41047
|
+
},
|
|
41048
|
+
{
|
|
41049
|
+
id: DASHBOARD_CATEGORY_IDS.personal,
|
|
41050
|
+
title: M$G('Personal dashboards', 'داشبوردهای شخصی'),
|
|
41051
|
+
description: M$G('User-owned dashboards', 'داشبوردهای متعلق به کاربر'),
|
|
41052
|
+
childrenCount: 0,
|
|
41053
|
+
},
|
|
41054
|
+
];
|
|
41055
|
+
|
|
41056
|
+
const M$F = createMultiLanguageString;
|
|
41057
|
+
const CONVERSATION_ONLY_ROLE_ID = mockRoleDefinitions.find((role) => role.name === 'conversation-only')?.id;
|
|
41058
|
+
if (!CONVERSATION_ONLY_ROLE_ID) {
|
|
41059
|
+
throw new Error('conversation-only role is required for MAGFA conversation dashboard mock');
|
|
41060
|
+
}
|
|
41061
|
+
/**
|
|
41062
|
+
* Tenant dashboard for MAGFA commerce users with conversation-only role.
|
|
41063
|
+
* Shortcuts: conversations list and Demis assist chat.
|
|
41064
|
+
*/
|
|
41065
|
+
const MAGFA_CONVERSATION_DASHBOARD = {
|
|
41066
|
+
id: '35385219-9198-4dd6-9d34-1dece63649b5',
|
|
41067
|
+
title: M$F('Magfa', 'مگفا'),
|
|
41068
|
+
description: M$F('', ''),
|
|
41069
|
+
widgets: [
|
|
41070
|
+
{
|
|
41071
|
+
config: {
|
|
41072
|
+
id: '67f1f968-7ebf-4030-8823-851ce6ebb1ce',
|
|
41073
|
+
lg: {
|
|
41074
|
+
id: '67f1f968-7ebf-4030-8823-851ce6ebb1ce',
|
|
41075
|
+
height: 2,
|
|
41076
|
+
width: 2,
|
|
41077
|
+
minHeight: 1,
|
|
41078
|
+
minWidth: 1,
|
|
41079
|
+
maxHeight: 2,
|
|
41080
|
+
maxWidth: 3,
|
|
41081
|
+
x: 0,
|
|
41082
|
+
y: 0,
|
|
41083
|
+
},
|
|
41084
|
+
md: {
|
|
41085
|
+
id: '67f1f968-7ebf-4030-8823-851ce6ebb1ce',
|
|
41086
|
+
height: 2,
|
|
41087
|
+
width: 2,
|
|
41088
|
+
minHeight: 1,
|
|
41089
|
+
minWidth: 1,
|
|
41090
|
+
maxHeight: 2,
|
|
41091
|
+
maxWidth: 3,
|
|
41092
|
+
},
|
|
41093
|
+
sm: {
|
|
41094
|
+
id: '67f1f968-7ebf-4030-8823-851ce6ebb1ce',
|
|
41095
|
+
width: 1,
|
|
41096
|
+
height: 2,
|
|
41097
|
+
minHeight: 1,
|
|
41098
|
+
maxHeight: 2,
|
|
41099
|
+
},
|
|
41100
|
+
},
|
|
41101
|
+
node: {
|
|
41102
|
+
type: 'DashboardManagement:Widget:Dashboard:Shortcut',
|
|
41103
|
+
options: {
|
|
41104
|
+
color: '#541db9',
|
|
41105
|
+
item: {
|
|
41106
|
+
name: 'menu',
|
|
41107
|
+
title: '@conversation:module.menus.conversations.title',
|
|
41108
|
+
icon: 'fa-light fa-comments',
|
|
41109
|
+
command: {
|
|
41110
|
+
name: 'navigate',
|
|
41111
|
+
options: {
|
|
41112
|
+
type: 'router',
|
|
41113
|
+
options: {
|
|
41114
|
+
path: 'platform-console/chat',
|
|
41115
|
+
},
|
|
41116
|
+
},
|
|
41117
|
+
},
|
|
41118
|
+
},
|
|
41119
|
+
},
|
|
41120
|
+
meta: {
|
|
41121
|
+
dimensions: {
|
|
41122
|
+
lg: {
|
|
41123
|
+
width: 2,
|
|
41124
|
+
height: 2,
|
|
41125
|
+
minWidth: 1,
|
|
41126
|
+
minHeight: 1,
|
|
41127
|
+
maxWidth: 3,
|
|
41128
|
+
maxHeight: 2,
|
|
41129
|
+
},
|
|
41130
|
+
md: {
|
|
41131
|
+
width: 2,
|
|
41132
|
+
height: 2,
|
|
41133
|
+
minWidth: 1,
|
|
41134
|
+
minHeight: 1,
|
|
41135
|
+
maxWidth: 3,
|
|
41136
|
+
maxHeight: 2,
|
|
41137
|
+
},
|
|
41138
|
+
sm: {
|
|
41139
|
+
height: 2,
|
|
41140
|
+
minHeight: 1,
|
|
41141
|
+
maxHeight: 2,
|
|
41142
|
+
},
|
|
41143
|
+
},
|
|
41144
|
+
},
|
|
41145
|
+
name: 'DashboardManagement:Widget:Dashboard:Shortcut-c412f2e0-f3bd-493d-8522-55d1612fb476',
|
|
41146
|
+
path: 'DashboardManagement:Widget:Dashboard:Shortcut-c412f2e0-f3bd-493d-8522-55d1612fb476',
|
|
41147
|
+
},
|
|
41148
|
+
},
|
|
41149
|
+
{
|
|
41150
|
+
config: {
|
|
41151
|
+
id: '0237edf1-ab9f-4434-9a04-9639d3bb8fd3',
|
|
41152
|
+
lg: {
|
|
41153
|
+
id: '0237edf1-ab9f-4434-9a04-9639d3bb8fd3',
|
|
41154
|
+
height: 2,
|
|
41155
|
+
width: 3,
|
|
41156
|
+
minHeight: 1,
|
|
41157
|
+
minWidth: 1,
|
|
41158
|
+
maxHeight: 2,
|
|
41159
|
+
maxWidth: 3,
|
|
41160
|
+
x: 2,
|
|
41161
|
+
y: 0,
|
|
41162
|
+
},
|
|
41163
|
+
md: {
|
|
41164
|
+
id: '0237edf1-ab9f-4434-9a04-9639d3bb8fd3',
|
|
41165
|
+
height: 2,
|
|
41166
|
+
width: 2,
|
|
41167
|
+
minHeight: 1,
|
|
41168
|
+
minWidth: 1,
|
|
41169
|
+
maxHeight: 2,
|
|
41170
|
+
maxWidth: 3,
|
|
41171
|
+
},
|
|
41172
|
+
sm: {
|
|
41173
|
+
id: '0237edf1-ab9f-4434-9a04-9639d3bb8fd3',
|
|
41174
|
+
width: 1,
|
|
41175
|
+
height: 2,
|
|
41176
|
+
minHeight: 1,
|
|
41177
|
+
maxHeight: 2,
|
|
41178
|
+
},
|
|
41179
|
+
},
|
|
41180
|
+
node: {
|
|
41181
|
+
type: 'DashboardManagement:Widget:Dashboard:Shortcut',
|
|
41182
|
+
options: {
|
|
41183
|
+
color: '#2395b8',
|
|
41184
|
+
item: {
|
|
41185
|
+
name: 'conversation-assist',
|
|
41186
|
+
title: M$F('Demis', 'دیمیس'),
|
|
41187
|
+
description: M$F('Priority guide for the centralized commerce payment system. Assist should prefer delegating here whenever the topic is e-wallet or centralized payments (no platform command or query tools). Typical questions: paying via e-wallet, withdrawing from the wallet, charging or topping up the wallet, reporting and transaction history.', 'راهنمای اولویتدار سامانه پرداخت متمرکز تجارت؛ assist برای موضوعات کیف پول الکترونیک و پرداخت متمرکز باید تا حد ممکن این agent را فراخوانی کند (بدون ابزار فرمان یا پرسوجوی داخلی پلتفرم). نمونهٔ سوالات: نحوهٔ پرداخت از طریق کیف پول الکترونیک، برداشت از کیف پول، شارژ کیف پول، گزارشگیری و تاریخچهٔ تراکنشها.'),
|
|
41188
|
+
icon: 'fa-solid fa-robot',
|
|
41189
|
+
command: {
|
|
41190
|
+
name: 'Conversation:StartAssistChat',
|
|
41191
|
+
options: {
|
|
41192
|
+
targetId: 'c0000001-0000-4000-8000-000000000009',
|
|
41193
|
+
targetKind: 'agent',
|
|
41194
|
+
},
|
|
41195
|
+
},
|
|
41196
|
+
},
|
|
41197
|
+
},
|
|
41198
|
+
meta: {
|
|
41199
|
+
dimensions: {
|
|
41200
|
+
lg: {
|
|
41201
|
+
width: 2,
|
|
41202
|
+
height: 2,
|
|
41203
|
+
minWidth: 1,
|
|
41204
|
+
minHeight: 1,
|
|
41205
|
+
maxWidth: 3,
|
|
41206
|
+
maxHeight: 2,
|
|
41207
|
+
},
|
|
41208
|
+
md: {
|
|
41209
|
+
width: 2,
|
|
41210
|
+
height: 2,
|
|
41211
|
+
minWidth: 1,
|
|
41212
|
+
minHeight: 1,
|
|
41213
|
+
maxWidth: 3,
|
|
41214
|
+
maxHeight: 2,
|
|
41215
|
+
},
|
|
41216
|
+
sm: {
|
|
41217
|
+
height: 2,
|
|
41218
|
+
minHeight: 1,
|
|
41219
|
+
maxHeight: 2,
|
|
41220
|
+
},
|
|
41221
|
+
},
|
|
41222
|
+
},
|
|
41223
|
+
name: 'DashboardManagement:Widget:Dashboard:Shortcut-e814c0bf-0d60-4dff-83db-da1a30736d92',
|
|
41224
|
+
path: 'DashboardManagement:Widget:Dashboard:Shortcut-e814c0bf-0d60-4dff-83db-da1a30736d92',
|
|
41225
|
+
},
|
|
41226
|
+
},
|
|
41227
|
+
],
|
|
41228
|
+
roleIds: [CONVERSATION_ONLY_ROLE_ID],
|
|
41229
|
+
isArchived: false,
|
|
41230
|
+
userId: 'f0000001-0000-4000-a000-000000000003',
|
|
41231
|
+
auditInfo: {
|
|
41232
|
+
created: {
|
|
41233
|
+
at: new Date('2026-05-20T06:33:30.689Z'),
|
|
41234
|
+
by: {
|
|
41235
|
+
id: 'f0000001-0000-4000-a000-000000000003',
|
|
41236
|
+
type: 'user',
|
|
41237
|
+
},
|
|
41238
|
+
},
|
|
41239
|
+
updated: {
|
|
41240
|
+
at: new Date('2026-05-20T07:40:09.104Z'),
|
|
41241
|
+
by: {
|
|
41242
|
+
id: 'f0000001-0000-4000-a000-000000000003',
|
|
41243
|
+
type: 'user',
|
|
41244
|
+
},
|
|
41245
|
+
},
|
|
41246
|
+
},
|
|
41247
|
+
scope: 'T',
|
|
41248
|
+
categoryIds: [DASHBOARD_CATEGORY_IDS.tenant],
|
|
41249
|
+
locked: true,
|
|
41250
|
+
};
|
|
41251
|
+
|
|
41000
41252
|
/**
|
|
41001
41253
|
* Kept for compatibility with existing widget generators importing this helper.
|
|
41002
41254
|
*/
|
|
@@ -41009,12 +41261,15 @@ function createWidgetLayoutConfig(dimensions) {
|
|
|
41009
41261
|
sm: { id, width: 1, ...(dimensions?.['sm'] ?? {}) },
|
|
41010
41262
|
};
|
|
41011
41263
|
}
|
|
41012
|
-
const ALL_ROLE_IDS = mockRoleDefinitions
|
|
41013
|
-
|
|
41264
|
+
const ALL_ROLE_IDS = mockRoleDefinitions
|
|
41265
|
+
.filter((role) => role.name !== 'conversation-only')
|
|
41266
|
+
.map((role) => role.id)
|
|
41267
|
+
.filter((id) => typeof id === 'string');
|
|
41268
|
+
const M$E = createMultiLanguageString;
|
|
41014
41269
|
const OPERATIONS_COCKPIT = {
|
|
41015
41270
|
id: '13814a7a-2eab-4392-aeee-3b262fee0e7d',
|
|
41016
|
-
title: M$
|
|
41017
|
-
description: M$
|
|
41271
|
+
title: M$E('Utility Dashboard', 'داشبورد ابزارها'),
|
|
41272
|
+
description: M$E('Utility dashboard with shortcuts, task tracking and utility widgets for daily execution.', 'داشبورد کاربردی با میانبرها، پیگیری وظایف و ویجت های ابزار برای اجرای روزانه.'),
|
|
41018
41273
|
widgets: [
|
|
41019
41274
|
{
|
|
41020
41275
|
config: {
|
|
@@ -41623,8 +41878,8 @@ const OPERATIONS_COCKPIT = {
|
|
|
41623
41878
|
};
|
|
41624
41879
|
const EXECUTIVE_ANALYTICS = {
|
|
41625
41880
|
id: '5180c813-c076-4c3c-baa3-53cb95748558',
|
|
41626
|
-
title: M$
|
|
41627
|
-
description: M$
|
|
41881
|
+
title: M$E('Executive Analytics', 'تحلیل های مدیریتی'),
|
|
41882
|
+
description: M$E('Cross-module analytics dashboard with charts, tasks and notifications from live project modules.', 'داشبورد تحلیلی بین ماژولی با نمودارها، وظایف و اعلان ها از ماژول های عملیاتی.'),
|
|
41628
41883
|
widgets: [
|
|
41629
41884
|
{
|
|
41630
41885
|
config: {
|
|
@@ -41879,7 +42134,11 @@ const EXECUTIVE_ANALYTICS = {
|
|
|
41879
42134
|
categoryIds: ['dcat-tenant'],
|
|
41880
42135
|
locked: true,
|
|
41881
42136
|
};
|
|
41882
|
-
const DASHBOARDS = [
|
|
42137
|
+
const DASHBOARDS = [
|
|
42138
|
+
OPERATIONS_COCKPIT,
|
|
42139
|
+
EXECUTIVE_ANALYTICS,
|
|
42140
|
+
MAGFA_CONVERSATION_DASHBOARD,
|
|
42141
|
+
];
|
|
41883
42142
|
|
|
41884
42143
|
class AXPDashboardDataSeeder {
|
|
41885
42144
|
constructor() {
|
|
@@ -41895,27 +42154,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
41895
42154
|
type: Injectable
|
|
41896
42155
|
}] });
|
|
41897
42156
|
|
|
41898
|
-
const M$E = createMultiLanguageString;
|
|
41899
|
-
/** Stable ids referenced by {@link DASHBOARDS} `categoryIds`. */
|
|
41900
|
-
const DASHBOARD_CATEGORY_IDS = {
|
|
41901
|
-
tenant: 'dcat-tenant',
|
|
41902
|
-
personal: 'dcat-personal',
|
|
41903
|
-
};
|
|
41904
|
-
const DASHBOARD_CATEGORY_MOCK = [
|
|
41905
|
-
{
|
|
41906
|
-
id: DASHBOARD_CATEGORY_IDS.tenant,
|
|
41907
|
-
title: M$E('Tenant dashboards', 'داشبوردهای سازمانی'),
|
|
41908
|
-
description: M$E('Shared dashboards for the organization', 'داشبوردهای مشترک سازمان'),
|
|
41909
|
-
childrenCount: 0,
|
|
41910
|
-
},
|
|
41911
|
-
{
|
|
41912
|
-
id: DASHBOARD_CATEGORY_IDS.personal,
|
|
41913
|
-
title: M$E('Personal dashboards', 'داشبوردهای شخصی'),
|
|
41914
|
-
description: M$E('User-owned dashboards', 'داشبوردهای متعلق به کاربر'),
|
|
41915
|
-
childrenCount: 0,
|
|
41916
|
-
},
|
|
41917
|
-
];
|
|
41918
|
-
|
|
41919
42157
|
class AXMDashboardCategoryDataSeeder {
|
|
41920
42158
|
constructor() {
|
|
41921
42159
|
this.storage = inject(AXPEntityStorageService);
|
|
@@ -63244,16 +63482,32 @@ class AXPSecurityManagementRoleDataSeeder {
|
|
|
63244
63482
|
constructor() {
|
|
63245
63483
|
this.storageService = inject(AXPEntityStorageService);
|
|
63246
63484
|
}
|
|
63247
|
-
// private permissionService = inject(AXPPermissionDefinitionProviderService);
|
|
63248
63485
|
async seed() {
|
|
63249
|
-
|
|
63250
|
-
// const permissionKeys = permissions.map((p) => p.name);
|
|
63251
|
-
// Generate roles with random permissions from the actual permission list
|
|
63486
|
+
const entityName = `${RootConfig$6.module.name}.${RootConfig$6.entities.roles.name}`;
|
|
63252
63487
|
const roles = mockRoleDefinitions.map((role) => ({
|
|
63253
63488
|
...role,
|
|
63254
|
-
// permissions: this.getRandomPermissions(permissionKeys, 2, 5), // Get 2-5 random permissions
|
|
63255
63489
|
}));
|
|
63256
|
-
await this.storageService.initial(
|
|
63490
|
+
await this.storageService.initial(entityName, roles);
|
|
63491
|
+
// Dexie `initial()` skips the whole batch when any role name already exists,
|
|
63492
|
+
// so permission changes in role.mock.ts would never reach IndexedDB without this sync.
|
|
63493
|
+
await this.syncRolePermissionsFromMock(entityName);
|
|
63494
|
+
}
|
|
63495
|
+
/**
|
|
63496
|
+
* Updates permissions (and metadata) on seeded roles when mock definitions change.
|
|
63497
|
+
*/
|
|
63498
|
+
async syncRolePermissionsFromMock(entityName) {
|
|
63499
|
+
const storedRoles = await this.storageService.getAll(entityName);
|
|
63500
|
+
for (const mockRole of mockRoleDefinitions) {
|
|
63501
|
+
const existing = storedRoles.find((role) => role.name === mockRole.name);
|
|
63502
|
+
if (!existing?.id) {
|
|
63503
|
+
continue;
|
|
63504
|
+
}
|
|
63505
|
+
await this.storageService.updateOne(entityName, existing.id, {
|
|
63506
|
+
permissions: mockRole.permissions ?? [],
|
|
63507
|
+
description: mockRole.description,
|
|
63508
|
+
title: mockRole.title,
|
|
63509
|
+
});
|
|
63510
|
+
}
|
|
63257
63511
|
}
|
|
63258
63512
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPSecurityManagementRoleDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63259
63513
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPSecurityManagementRoleDataSeeder }); }
|
|
@@ -63277,7 +63531,29 @@ class AXPSecurityManagementUserDataSeeder {
|
|
|
63277
63531
|
}
|
|
63278
63532
|
async seed() {
|
|
63279
63533
|
const entityName = `${RootConfig$6.module.name}.${RootConfig$6.entities.users.name}`;
|
|
63280
|
-
await this.storageService.initial(
|
|
63534
|
+
await this.storageService.initial(entityName, mockUsers);
|
|
63535
|
+
await this.syncCollaborationDemoUserRoles(entityName);
|
|
63536
|
+
}
|
|
63537
|
+
/**
|
|
63538
|
+
* Keeps MAGFA collaboration demo user aligned with the conversation-only role in storage.
|
|
63539
|
+
*/
|
|
63540
|
+
async syncCollaborationDemoUserRoles(usersEntityName) {
|
|
63541
|
+
const rolesEntityName = `${RootConfig$6.module.name}.${RootConfig$6.entities.roles.name}`;
|
|
63542
|
+
const storedRoles = await this.storageService.getAll(rolesEntityName);
|
|
63543
|
+
const conversationOnlyRole = storedRoles.find((role) => role.name === 'conversation-only');
|
|
63544
|
+
if (!conversationOnlyRole?.id) {
|
|
63545
|
+
return;
|
|
63546
|
+
}
|
|
63547
|
+
const storedUsers = await this.storageService.getAll(usersEntityName);
|
|
63548
|
+
const demoUser = storedUsers.find((u) => u.username === 'mohamad.pour.ghorban');
|
|
63549
|
+
if (!demoUser?.id) {
|
|
63550
|
+
return;
|
|
63551
|
+
}
|
|
63552
|
+
const roleIds = [conversationOnlyRole.id];
|
|
63553
|
+
await this.storageService.updateOne(usersEntityName, demoUser.id, {
|
|
63554
|
+
roleIds,
|
|
63555
|
+
roles: [{ id: conversationOnlyRole.id, title: conversationOnlyRole.title }],
|
|
63556
|
+
});
|
|
63281
63557
|
}
|
|
63282
63558
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPSecurityManagementUserDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63283
63559
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPSecurityManagementUserDataSeeder }); }
|
|
@@ -63532,7 +63808,7 @@ class AXCSecurityManagementMockModule {
|
|
|
63532
63808
|
provideQuerySetups([
|
|
63533
63809
|
{
|
|
63534
63810
|
key: 'SecurityManagement:User:RolesForListColumn',
|
|
63535
|
-
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
63811
|
+
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs').then((m) => m.UserRolesForListColumnQuery),
|
|
63536
63812
|
},
|
|
63537
63813
|
]),
|
|
63538
63814
|
] }); }
|
|
@@ -63576,7 +63852,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
63576
63852
|
provideQuerySetups([
|
|
63577
63853
|
{
|
|
63578
63854
|
key: 'SecurityManagement:User:RolesForListColumn',
|
|
63579
|
-
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
63855
|
+
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-2PnIbRxO.mjs').then((m) => m.UserRolesForListColumnQuery),
|
|
63580
63856
|
},
|
|
63581
63857
|
]),
|
|
63582
63858
|
],
|
|
@@ -64058,6 +64334,35 @@ function generateTenants() {
|
|
|
64058
64334
|
maxUsers: 300,
|
|
64059
64335
|
maxStorage: 3000,
|
|
64060
64336
|
},
|
|
64337
|
+
{
|
|
64338
|
+
id: MAGFA_TENANT_ID,
|
|
64339
|
+
name: 'magfa-tenant',
|
|
64340
|
+
title: 'مگفا',
|
|
64341
|
+
description: 'MAGFA (مگفا) — tenant ایران برای اپلیکیشن تجارت، گفتگو، هوش مصنوعی و گزارش.',
|
|
64342
|
+
statusId: AXPSystemStatusType.Active,
|
|
64343
|
+
email: 'contact@magfa.ir',
|
|
64344
|
+
phone: '+98-21-1234-5678',
|
|
64345
|
+
website: 'https://magfa.demisco.com',
|
|
64346
|
+
supportEmail: 'support@magfa.ir',
|
|
64347
|
+
countryId: findRegionByCode('IR', 'country')?.id,
|
|
64348
|
+
country: findRegionByCode('IR', 'country'),
|
|
64349
|
+
stateId: findRegionByCode('TEH', 'state')?.id,
|
|
64350
|
+
state: findRegionByCode('TEH', 'state'),
|
|
64351
|
+
cityId: findRegionByCode('TEHRAN', 'city', 'TEH')?.id,
|
|
64352
|
+
city: findRegionByCode('TEHRAN', 'city', 'TEH'),
|
|
64353
|
+
timezone: 'Asia/Tehran',
|
|
64354
|
+
timezoneData: findTimezoneByCode('Asia/Tehran'),
|
|
64355
|
+
language: 'fa-IR',
|
|
64356
|
+
languageData: findLocaleByCode('fa-IR'),
|
|
64357
|
+
domain: 'magfa.ir',
|
|
64358
|
+
subdomain: 'magfa',
|
|
64359
|
+
userId: findUserByUsername('mohamad.pour.ghorban'),
|
|
64360
|
+
color: '#5c6bc0',
|
|
64361
|
+
registrationDate: new Date('2025-01-01'),
|
|
64362
|
+
expiryDate: new Date('2028-12-31'),
|
|
64363
|
+
maxUsers: 50,
|
|
64364
|
+
maxStorage: 500,
|
|
64365
|
+
},
|
|
64061
64366
|
];
|
|
64062
64367
|
return tenants;
|
|
64063
64368
|
}
|
|
@@ -64092,6 +64397,7 @@ function generateSubscriptionPlans() {
|
|
|
64092
64397
|
const plan5Id = createPlan('Platform Console Plan', 'PC-001', 'Platform Console subscription plan for platform administration and management', false);
|
|
64093
64398
|
const plan6Id = createPlan('Safetyminder Basic Plan', 'SM-BASIC-001', 'Basic subscription plan for Safetyminder Application Basic Edition', false);
|
|
64094
64399
|
const plan7Id = createPlan('Cost Manager Enterprise Plan', 'CM-ENT-001', 'Enterprise subscription plan for Cost Manager Application Enterprise Edition', false);
|
|
64400
|
+
createPlan('MAGFA Commerce', 'MAGFA-001', 'MAGFA commerce application subscription (conversation, AI, reports)', false);
|
|
64095
64401
|
return plans;
|
|
64096
64402
|
}
|
|
64097
64403
|
const SUBSCRIPTION_PLANS_MOCK = generateSubscriptionPlans();
|
|
@@ -64135,6 +64441,7 @@ function generateSubscriptions() {
|
|
|
64135
64441
|
const platformConsolePlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'PC-001');
|
|
64136
64442
|
const safetyminderBasicPlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'SM-BASIC-001');
|
|
64137
64443
|
const costManagerEnterprisePlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'CM-ENT-001');
|
|
64444
|
+
const collaborationPlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'MAGFA-001');
|
|
64138
64445
|
// Platform tenant subscribes to Platform Console plan (platform administration only)
|
|
64139
64446
|
if (platformTenant && platformConsolePlan) {
|
|
64140
64447
|
createSubscription(platformTenant.id, // Subscriber is the tenant
|
|
@@ -64161,6 +64468,10 @@ function generateSubscriptions() {
|
|
|
64161
64468
|
if (laserPlumbingTenant && orderingStandardPlan) {
|
|
64162
64469
|
createSubscription(laserPlumbingTenant.id, laserPlumbingTenant.title, orderingStandardPlan.id, orderingStandardPlan.title, 'Tenant', AXPSystemStatusType.Active, new Date('2025-01-15T00:00:00'), new Date('2027-01-15T23:59:59'));
|
|
64163
64470
|
}
|
|
64471
|
+
const collaborationTenant = tenantMocks.find((t) => t.name === 'magfa-tenant');
|
|
64472
|
+
if (collaborationTenant && collaborationPlan) {
|
|
64473
|
+
createSubscription(collaborationTenant.id, collaborationTenant.title, collaborationPlan.id, collaborationPlan.title, 'Tenant', AXPSystemStatusType.Active, new Date('2025-01-15T00:00:00'), new Date('2027-01-15T23:59:59'));
|
|
64474
|
+
}
|
|
64164
64475
|
return subscriptions;
|
|
64165
64476
|
}
|
|
64166
64477
|
const SUBSCRIPTIONS_MOCK = generateSubscriptions();
|
|
@@ -64209,6 +64520,8 @@ function generateSubscriptionPlanItems() {
|
|
|
64209
64520
|
const orderingStandardPlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'ORD-STD-001');
|
|
64210
64521
|
const platformConsolePlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'PC-001');
|
|
64211
64522
|
const safetyminderBasicPlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'SM-BASIC-001');
|
|
64523
|
+
const collaborationPlan = SUBSCRIPTION_PLANS_MOCK.find((p) => p.code === 'MAGFA-001');
|
|
64524
|
+
const collaborationEdition = MAGFA_COMMERCE_STANDARD;
|
|
64212
64525
|
// Helper function to create subscription plan item
|
|
64213
64526
|
const createItem = (planId, subscribableType, edition) => {
|
|
64214
64527
|
if (!planId || !edition) {
|
|
@@ -64258,6 +64571,9 @@ function generateSubscriptionPlanItems() {
|
|
|
64258
64571
|
if (safetyminderBasicPlan) {
|
|
64259
64572
|
createItem(safetyminderBasicPlan.id, 'ApplicationEdition', safetyminderBasicEdition);
|
|
64260
64573
|
}
|
|
64574
|
+
if (collaborationPlan && collaborationEdition) {
|
|
64575
|
+
createItem(collaborationPlan.id, 'ApplicationEdition', collaborationEdition);
|
|
64576
|
+
}
|
|
64261
64577
|
return items;
|
|
64262
64578
|
}
|
|
64263
64579
|
const SUBSCRIPTION_PLAN_ITEMS_MOCK = generateSubscriptionPlanItems();
|
|
@@ -65317,6 +65633,7 @@ function generateTenantUsers() {
|
|
|
65317
65633
|
const timeplicityTenant = findTenantById(TIMEPLICITY_TENANT_ID);
|
|
65318
65634
|
const platformTenant = findTenantById(PLATFORM_TENANT_ID);
|
|
65319
65635
|
const laserPlumbingTenant = findTenantById(LASER_PLUMBING_TENANT_ID);
|
|
65636
|
+
const collaborationTenant = findTenantById(MAGFA_TENANT_ID);
|
|
65320
65637
|
if (!timeplicityTenant) {
|
|
65321
65638
|
throw new Error('Timeplicity tenant not found. Make sure tenant seeder runs before tenant user seeder.');
|
|
65322
65639
|
}
|
|
@@ -65333,6 +65650,26 @@ function generateTenantUsers() {
|
|
|
65333
65650
|
roleId = accountHolderRole.id;
|
|
65334
65651
|
}
|
|
65335
65652
|
const role = findRoleById(roleId);
|
|
65653
|
+
// Collaboration-only demo user: single tenant with conversation-only role
|
|
65654
|
+
if (user.username === 'mohamad.pour.ghorban') {
|
|
65655
|
+
const conversationOnlyRole = findRoleByName('conversation-only');
|
|
65656
|
+
if (collaborationTenant && conversationOnlyRole) {
|
|
65657
|
+
tenantUsers.push({
|
|
65658
|
+
id: AXPDataGenerator.uuid(),
|
|
65659
|
+
tenantId: collaborationTenant.id,
|
|
65660
|
+
userId: user.id,
|
|
65661
|
+
roleId: conversationOnlyRole.id,
|
|
65662
|
+
tenant: { ...collaborationTenant },
|
|
65663
|
+
user: { ...user },
|
|
65664
|
+
role: { ...conversationOnlyRole },
|
|
65665
|
+
statusId: AXPSystemStatusType.Active,
|
|
65666
|
+
startDate: new Date(),
|
|
65667
|
+
createdAt: new Date(),
|
|
65668
|
+
updatedAt: new Date(),
|
|
65669
|
+
});
|
|
65670
|
+
}
|
|
65671
|
+
return;
|
|
65672
|
+
}
|
|
65336
65673
|
// Skip root user - root user only has access to Platform Tenant
|
|
65337
65674
|
if (user.username === 'root' || user.username === 'root2' || user.username === 'super-root') {
|
|
65338
65675
|
// Root user has access only to platform tenant (console app)
|
|
@@ -72388,7 +72725,7 @@ class AXCWorkflowEngine {
|
|
|
72388
72725
|
return { success: true };
|
|
72389
72726
|
}
|
|
72390
72727
|
canReassignTaskToSelf() {
|
|
72391
|
-
return this.sessionService?.authorize(AXMPermissionsKeys$
|
|
72728
|
+
return this.sessionService?.authorize(AXMPermissionsKeys$7.WorkflowInstance.ReassignToSelf) ?? false;
|
|
72392
72729
|
}
|
|
72393
72730
|
validateHumanTaskReassignPayload(payload, uid) {
|
|
72394
72731
|
const activityType = String(payload['activityType'] ?? '');
|
|
@@ -73992,7 +74329,7 @@ class AXCWorkflowManagementMockModule {
|
|
|
73992
74329
|
provideCommandSetups([
|
|
73993
74330
|
{
|
|
73994
74331
|
key: 'workflow-activity:assign-to-manager',
|
|
73995
|
-
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-
|
|
74332
|
+
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs').then((c) => c.AssignToManagerActivity),
|
|
73996
74333
|
},
|
|
73997
74334
|
{
|
|
73998
74335
|
key: 'workflow-activity:get-current-user-manager',
|
|
@@ -74103,7 +74440,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
74103
74440
|
provideCommandSetups([
|
|
74104
74441
|
{
|
|
74105
74442
|
key: 'workflow-activity:assign-to-manager',
|
|
74106
|
-
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-
|
|
74443
|
+
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-B8bbsEQx.mjs').then((c) => c.AssignToManagerActivity),
|
|
74107
74444
|
},
|
|
74108
74445
|
{
|
|
74109
74446
|
key: 'workflow-activity:get-current-user-manager',
|
|
@@ -74318,10 +74655,7 @@ class AXPTaskBoardProjectManagementTaskProvider extends AXPWorkflowTaskProvider
|
|
|
74318
74655
|
}
|
|
74319
74656
|
// 2. Filter by Assignee IDs (if provided)
|
|
74320
74657
|
if (options?.assigneeIds && options.assigneeIds.length > 0) {
|
|
74321
|
-
|
|
74322
|
-
filteredList = filteredList.filter((task) =>
|
|
74323
|
-
// Check if the task has an assignee and if that assignee's ID is in the filter set.
|
|
74324
|
-
task.assignee ? assigneeIdSet.has(task.assignee.id) : false);
|
|
74658
|
+
filteredList = filteredList.filter((task) => matchesTaskBoardAssigneeFilter(task.assignee?.id, options.assigneeIds));
|
|
74325
74659
|
}
|
|
74326
74660
|
// 3. Filter by Priority (if provided)
|
|
74327
74661
|
if (options?.priorities && options.priorities.length > 0) {
|
|
@@ -74531,6 +74865,28 @@ class AXPTaskBoardPlatformManagementTaskProvider extends AXPWorkflowTaskProvider
|
|
|
74531
74865
|
username: 'lisadavis',
|
|
74532
74866
|
},
|
|
74533
74867
|
},
|
|
74868
|
+
{
|
|
74869
|
+
id: 15,
|
|
74870
|
+
title: 'Review orphaned platform alerts',
|
|
74871
|
+
startDate: this.calendarService.create(new Date()).add('day', 3).date,
|
|
74872
|
+
endDate: this.calendarService.create(new Date()).add('day', 4).date,
|
|
74873
|
+
description: 'Triage alerts with no owner assigned.',
|
|
74874
|
+
priority: 'medium',
|
|
74875
|
+
allDay: true,
|
|
74876
|
+
index: 2,
|
|
74877
|
+
status: {
|
|
74878
|
+
id: 'todo',
|
|
74879
|
+
title: 'Todo',
|
|
74880
|
+
},
|
|
74881
|
+
reporter: {
|
|
74882
|
+
id: '0',
|
|
74883
|
+
type: 'user',
|
|
74884
|
+
fullName: 'mojtaba',
|
|
74885
|
+
},
|
|
74886
|
+
data: {
|
|
74887
|
+
recievedDate: new Date(),
|
|
74888
|
+
},
|
|
74889
|
+
},
|
|
74534
74890
|
];
|
|
74535
74891
|
}
|
|
74536
74892
|
get name() {
|
|
@@ -74563,10 +74919,7 @@ class AXPTaskBoardPlatformManagementTaskProvider extends AXPWorkflowTaskProvider
|
|
|
74563
74919
|
}
|
|
74564
74920
|
// 2. Filter by Assignee IDs (if provided)
|
|
74565
74921
|
if (options?.assigneeIds && options.assigneeIds.length > 0) {
|
|
74566
|
-
|
|
74567
|
-
filteredList = filteredList.filter((task) =>
|
|
74568
|
-
// Check if the task has an assignee and if that assignee's ID is in the filter set.
|
|
74569
|
-
task.assignee ? assigneeIdSet.has(task.assignee.id) : false);
|
|
74922
|
+
filteredList = filteredList.filter((task) => matchesTaskBoardAssigneeFilter(task.assignee?.id, options.assigneeIds));
|
|
74570
74923
|
}
|
|
74571
74924
|
// 3. Filter by Priorities (if provided)
|
|
74572
74925
|
if (options?.priorities && options.priorities.length > 0) {
|
|
@@ -78289,5 +78642,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
78289
78642
|
* Generated bundle index. Do not edit.
|
|
78290
78643
|
*/
|
|
78291
78644
|
|
|
78292
|
-
export { AXCFinancialCoreMockModule as $, AXCAiChatRouterService as A, AXCCalendarDataSeeder as B, AXCCalendarEventDataSeeder as C, AXCCalendarManagementMockModule as D, AXCCommandRegistryDataSeeder as E, AXCCommonMockModule as F, AXCContactCoreMockModule as G, AXCContentManagementMockModule as H, AXCConversationDataSeeder as I, AXCConversationMockConversationApi as J, AXCConversationMockMessageApi as K, AXCConversationMockModule as L, AXCConversationMockRealtimeApi as M, AXCConversationMockUserApi as N, AXCCustomerManagementMockModule as O, AXCDashboardManagementMockModule as P, AXCDataManagementMockModule as Q, AXCDexieEntityStorageService as R, AXCDocumentManagementMockModule as S, AXCEditionDataSeeder as T, AXCEntityDefinitionSeederService as U, AXCEntityDefinitionsModule as V, AXCEntityStorageInsertCommand as W, AXCEntityStorageModule as X, AXCEntityStorageQueryQuery as Y, AXCFileStorageServiceDexie as Z, AXCFileStorageServiceFirestore as _, AXMAiModelStableIds as a, AXMEmploymentTypeDataSeeder as a$, AXCFirestoreEntityStorageService as a0, AXCFormTemplateManagementMockModule as a1, AXCGoogleStrategyMock as a2, AXCHealthCoreMockModule as a3, AXCHelpDeskMockModule as a4, AXCHumanCapitalManagementMockModule as a5, AXCIdentifierManagementMockModule as a6, AXCImageCaptchaChallengeProviderMock as a7, AXCLearningManagementMockModule as a8, AXCLocaleManagementMockModule as a9, AXCTenantManagementMockModule as aA, AXCTenantSeeder as aB, AXCTextTemplateRenderBackend as aC, AXCTokensDataSeeder as aD, AXCUserPassStrategyMock as aE, AXCVersionDB as aF, AXCVersioningService as aG, AXCWidgetCatalogDataSeeder as aH, AXCWorkflowCategorySeeder as aI, AXCWorkflowDefinitionDataSeeder as aJ, AXCWorkflowEngine as aK, AXCWorkflowExecutionDB as aL, AXCWorkflowExecutionStoreDexie as aM, AXCWorkflowExecutionStoreFirestore as aN, AXCWorkflowInstanceCartableDemoSeeder as aO, AXCWorkflowManagementMockModule as aP, AXC_ENTITY_STORAGE_BACKEND_TYPE as aQ, AXC_FIRESTORE_CONFIG as aR, AXC_FIRESTORE_DB as aS, AXC_WORKFLOW_EXECUTION_STORE as aT, AXMAiDemisAssistantAssistId as aU, AXMAiPlatformAssistantAssistId as aV, AXMAutomationDataSeeder as aW, AXMBusinessUnitDataSeeder as aX, AXMCalendarEventTypeSeeder as aY, AXMDashboardChartDataSourceDefinition as aZ, AXMEmployeeDataSeeder as a_, AXCLocationManagementMockModule as aa, AXCLockService as ab, AXCMeasurementCoreMockModule as ac, AXCMeetingManagementMockModule as ad, AXCMetaDataDefinitionDataSeeder as ae, AXCMetadataCategorySeeder as af, AXCMiddlewaresModule as ag, AXCMockCaptchaChallengeComponent as ah, AXCMockEntityLogListener as ai, AXCMockModule as aj, AXCMockShowMetaDataFormPopupCommand as ak, AXCNotificationManagementMockModule as al, AXCOrderManagementMockModule as am, AXCOrganizationManagementMockModule as an, AXCPersonCoreMockModule as ao, AXCPlatformManagementMockModule as ap, AXCProcurementManagementMockModule as aq, AXCProductCatalogMockModule as ar, AXCProjectManagementMockModule as as, AXCQueryRegistryDataSeeder as at, AXCReportManagementMockModule as au, AXCSecurityManagementMockModule as av, AXCStoredEntityDefinitionLoader as aw, AXCSubscriptionManagementMockModule as ax, AXCSupplierManagementMockModule as ay, AXCTaskManagementMockModule as az, resolveDelegatedAssistOptionString as b, HW as b$, AXMFormDataSourcesProvider as b0, AXMJobDefinitionDataSeeder as b1, AXMJobLevelDataSeeder as b2, AXMLeaveRequestDataSeeder as b3, AXMMeetingDataSeeder as b4, AXMMeetingFilesDataSeeder as b5, AXMMeetingParticipantDataSeeder as b6, AXMMeetingRoleTypeDataSeeder as b7, AXMMeetingSessionDataSeeder as b8, AXMMeetingTypeDataSeeder as b9, AXPMockSequenceProvider as bA, AXPRoomDataSeeder as bB, AXPSecurityManagementRoleDataSeeder as bC, AXPSecurityManagementUserDataSeeder as bD, AXPTaskBoardPlatformManagementTaskProvider as bE, AXPTaskBoardProjectManagementTaskProvider as bF, AXVChangeType as bG, BCC as bH, BOC as bI, BUSINESS_UNITS_MOCK as bJ, CHAT_LAST_MESSAGE_IDS as bK, COSTMANAGER_ENTERPRISE as bL, COSTMANAGER_PROFESSIONAL as bM, COSTMANAGER_STANDARD as bN, CP as bO, CRM_ENTERPRISE as bP, DASHBOARDS as bQ, EDITIONS as bR, EMPLOYEES_MOCK as bS, EMPLOYMENT_TYPES_MOCK as bT, ENTITY_DEFINITION_MAP as bU, ENTITY_REGISTRY as bV, FINANCE_BASIC as bW, FINANCE_ENTERPRISE as bX, FINANCE_PRO as bY, G as bZ, HR_ENTERPRISE as b_, AXMMeetingTypeFileTemplateDataSeeder as ba, AXMPositionAssignmentDataSeeder as bb, AXMPositionDataSeeder as bc, AXMQuestionBankItemCategoryDataSeeder as bd, AXMQuestionBankItemDataSeeder as be, AXMQuestionnaireCalculationDataSeeder as bf, AXMQuestionnaireCategoryDataSeeder as bg, AXMQuestionnaireDataSeeder as bh, AXMResponsibilityDataSeeder as bi, AXMTagDataSeeder as bj, AXMTeamBusinessUnitDataSeeder as bk, AXMTeamDataSeeder as bl, AXMTeamMemberDataSeeder as bm, AXMTeamMemberRoleDataSeeder as bn, AXMWorkflowDashboardChartDataSourceDefinition as bo, AXM_AI_REGISTRY_COMMAND_NAME as bp, AXM_AI_REGISTRY_QUERY_NAME as bq, AXM_CORPORATE_BUSINESS_UNIT_ID as br, AXPDashboardDataSeeder as bs, AXPIdentifierDB as bt, AXPMessageDataSeeder as bu, AXPMockChecksumProvider as bv, AXPMockClockProvider as bw, AXPMockIdentifierService as bx, AXPMockLookupProvider as by, AXPMockPolicyProvider as bz, axcSyncSingleEmployeeDenormalizedOrgFields as c, awaitConversationMockSharedStorage as c$, JOB_DEFINITIONS_CATEGORY_MOCK as c0, JOB_DEFINITIONS_MOCK as c1, JOB_DEFINITION_CATEGORY_KEY_TO_ID as c2, JOB_LEVELS_MOCK as c3, LASER_PLUMBING_TENANT_ID as c4, LEAVE_REQUESTS_MOCK as c5, METADATA_CATEGORY_IDS as c6, METADATA_GENERAL_CATEGORY_REFS as c7, METADATA_SYSTEM_CATEGORY_REFS as c8, MLC as c9, SHOP_BASIC as cA, SHOP_ENTERPRISE as cB, SHOP_PRO as cC, TAGS_MOCK as cD, TASKS as cE, TASK_STATUSES as cF, TASK_TEMPLATES as cG, TASK_TYPES as cH, TEAMS_CATEGORY_MOCK as cI, TEAMS_MOCK as cJ, TEAM_BUSINESS_UNITS_MOCK as cK, TEAM_CATEGORY_KEY_TO_ID as cL, TEAM_MEMBERS_MOCK as cM, TEAM_MEMBER_ROLES_MOCK as cN, TIMEPLICITY_TENANT_ID as cO, TLA as cP, TOKENS as cQ, TPC as cR, VISIBILITY_FILTER_BYPASS as cS, WORKFLOW_CATEGORIES as cT, WS as cU, activityCategoryMocks as cV, activityDefinitionEntityMock as cW, applyEntityDefinitionFirestoreSnapshot as cX, automationCommandMiddleware as cY, automationMock as cZ, avatarInterface as c_, OHR as ca, ORDERING_BASIC as cb, ORDERING_ENTERPRISE as cc, ORDERING_STANDARD as cd, OWNERSHIP_FILTER_BYPASS as ce, PLATFORM_CONSOLE as cf, PLATFORM_TENANT_ID as cg, PM as ch, POSITIONS_CATEGORY_MOCK as ci, POSITIONS_MOCK as cj, POSITION_ASSIGNMENTS_MOCK as ck, QCP as cl, QGEN as cm, QHW as cn, QOHR as co, QPM as cp, QTLE as cq, QUESTIONNAIRE_CATEGORY_MOCK as cr, QUESTION_BANK_ITEM_CATEGORY_MOCK as cs, QWS as ct, RESPONSIBILITIES_CATEGORY_MOCK as cu, RESPONSIBILITIES_MOCK as cv, RESPONSIBILITY_CATEGORY_KEY_TO_ID as cw, SAFETYMINDER_BASIC as cx, SAFETYMINDER_ENTERPRISE as cy, SAFETYMINDER_PROFESSIONAL as cz, ACTIVITY_CATEGORIES as d, mockParticipantIndexForSecurityUserId as d$, axVersionDB as d0, axWorkflowExecutionDB as d1, axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows as d2, axcPatchEmployeeActivePrimaryPositionRefsFromRows as d3, axcPatchEmployeeManagerRefsFromRows as d4, axcResolveCommandRegistrySeedId as d5, axcResolveQueryRegistrySeedId as d6, axcResolveWidgetCatalogSeedId as d7, bankCategory as d8, buildEntityStorageQuickSearchFilter as d9, fileUploaderInterface as dA, finalizeActivityCategoryItemCounts as dB, findEmployeeById as dC, folderStorageMiddleware as dD, groupOrderItemCalculatorMiddleware as dE, historyMiddleware as dF, identifierCommitMiddleware as dG, imageInterface as dH, inspectionOkXNaInterface as dI, loadMockPropertyDefinitions as dJ, lockGuardMiddleware as dK, longTextAnswerInterface as dL, lookupInterface as dM, lookupResolverMiddleware as dN, mapInterface as dO, meetingFilesMock as dP, meetingIds as dQ, meetingMock as dR, meetingParticipantMock as dS, meetingRoleTypeMock as dT, meetingSessionMock as dU, meetingTimeSlotMock as dV, meetingTypeFileTemplateMock as dW, meetingTypeMock as dX, mergeDetailRelationMiddleware as dY, mergeQuickSearchIntoRequest as dZ, metadataCategoryMocks as d_, buildWorkflowInstanceCartableDemoRows as da, bypassAllFilters as db, bypassOwnershipFilter as dc, bypassVisibilityFilter as dd, calendarEventMock as de, calendarEventTypeMockData as df, calendarMock as dg, chatMessageMock as dh, chatMock as di, checkboxInterface as dj, childCountMiddleware as dk, clearEntityDefinitionFirestoreCollections as dl, colorInterface as dm, computeDiff as dn, contactInterface as dp, conversationDemoSeedUserIds as dq, createFileCastMiddleware as dr, createWidgetLayoutConfig as ds, dateInterface as dt, dateTimeInterface as du, descriptionInterface as dv, documentFolderSyncMiddleware as dw, emailInterface as dx, entityDefDb as dy, entityValidationMiddleware as dz, ACTIVITY_CATEGORY_ID_BY_KEY as e, mockQuestionBankItemByName as e0, mockRoleDefinitions as e1, multipleChoiceInterface as e2, multipleSelectInterface as e3, normalizeAnyFileArrayForView as e4, normalizeSnapshotFileFieldsForView as e5, numberInterface as e6, parseEntityStorageInsertData as e7, parseEntityStorageQueryRequest as e8, participantIds as e9, textInterface as eA, timeDurationInterface as eB, titleInterface as eC, toUiRows as eD, toggleInterface as eE, tokenCategoryIds as eF, tokenCategoryMocks as eG, urlInterface as eH, versionInterface as eI, visibilityFilterMiddleware as eJ, workflowDefinitionEntityMock as eK, workflowDefinitionIds as eL, workflowDefinitionMock as eM, yesNoInterface as eN, participantMock as ea, passwordInterface as eb, personIdentifierTypeMock as ec, personIds as ed, personLegalIds as ee, personMock as ef, personNaturalIds as eg, phoneInterface as eh, primaryMiddleware as ei, provideMockPropertySetups as ej, qrcodeInterface as ek, questionBankItemMock as el, questionnaireCalculationMock as em, questionnaireMock as en, ratingInterface as eo, richTextInterface as ep, scaleInterface as eq, selectInterface as er, selectionListInterface as es, sexAtBirthInterface as et, signatureInterface as eu, signatureLoaderMiddleware as ev, statusDefaultMiddleware as ew, tagInterface as ex, tenantMocks as ey, textAreaInterface as ez, ACTIVITY_DEFINITIONS as f, AI_ASSIST_MOCK as g, AI_MODEL_MOCK as h, APPLICATIONS as i, APPLICATION_CATEGORY_IDS as j, APPLICATION_CATEGORY_MOCKS as k, AXCActivityCategorySeeder as l, mockUsers as m, AXCActivityDefinitionSeeder as n, AXCAiAssistSeeder as o, AXCAiManagementMockModule as p, AXCAiModelSeeder as q, resolveDelegatedAssistOptionModel as r, AXCAppTermDataSeeder as s, AXCAppVersionDataSeeder as t, AXCApplicationCategoryDataSeeder as u, AXCApplicationDataSeeder as v, AXCApplicationManagementMockModule as w, AXCAssessmentManagementMockModule as x, AXCAssetManagementMockModule as y, AXCAuthMockModule as z };
|
|
78293
|
-
//# sourceMappingURL=acorex-connectivity-mock-acorex-connectivity-mock-
|
|
78645
|
+
export { AXCFinancialCoreMockModule as $, AXCAiChatRouterService as A, AXCCalendarDataSeeder as B, AXCCalendarEventDataSeeder as C, AXCCalendarManagementMockModule as D, AXCCommandRegistryDataSeeder as E, AXCCommonMockModule as F, AXCContactCoreMockModule as G, AXCContentManagementMockModule as H, AXCConversationDataSeeder as I, AXCConversationMockConversationApi as J, AXCConversationMockMessageApi as K, AXCConversationMockModule as L, AXCConversationMockRealtimeApi as M, AXCConversationMockUserApi as N, AXCCustomerManagementMockModule as O, AXCDashboardManagementMockModule as P, AXCDataManagementMockModule as Q, AXCDexieEntityStorageService as R, AXCDocumentManagementMockModule as S, AXCEditionDataSeeder as T, AXCEntityDefinitionSeederService as U, AXCEntityDefinitionsModule as V, AXCEntityStorageInsertCommand as W, AXCEntityStorageModule as X, AXCEntityStorageQueryQuery as Y, AXCFileStorageServiceDexie as Z, AXCFileStorageServiceFirestore as _, AXMAiModelStableIds as a, AXMFormDataSourcesProvider as a$, AXCFirestoreEntityStorageService as a0, AXCFormTemplateManagementMockModule as a1, AXCGoogleStrategyMock as a2, AXCHealthCoreMockModule as a3, AXCHelpDeskMockModule as a4, AXCHumanCapitalManagementMockModule as a5, AXCIdentifierManagementMockModule as a6, AXCImageCaptchaChallengeProviderMock as a7, AXCLearningManagementMockModule as a8, AXCLocaleManagementMockModule as a9, AXCTenantManagementMockModule as aA, AXCTenantSeeder as aB, AXCTextTemplateRenderBackend as aC, AXCTokensDataSeeder as aD, AXCUserPassStrategyMock as aE, AXCVersionDB as aF, AXCVersioningService as aG, AXCWidgetCatalogDataSeeder as aH, AXCWorkflowCategorySeeder as aI, AXCWorkflowDefinitionDataSeeder as aJ, AXCWorkflowEngine as aK, AXCWorkflowExecutionDB as aL, AXCWorkflowExecutionStoreDexie as aM, AXCWorkflowExecutionStoreFirestore as aN, AXCWorkflowInstanceCartableDemoSeeder as aO, AXCWorkflowManagementMockModule as aP, AXC_ENTITY_STORAGE_BACKEND_TYPE as aQ, AXC_FIRESTORE_CONFIG as aR, AXC_FIRESTORE_DB as aS, AXC_WORKFLOW_EXECUTION_STORE as aT, AXMAiPlatformAssistantAssistId as aU, AXMAutomationDataSeeder as aV, AXMBusinessUnitDataSeeder as aW, AXMCalendarEventTypeSeeder as aX, AXMDashboardChartDataSourceDefinition as aY, AXMEmployeeDataSeeder as aZ, AXMEmploymentTypeDataSeeder as a_, AXCLocationManagementMockModule as aa, AXCLockService as ab, AXCMeasurementCoreMockModule as ac, AXCMeetingManagementMockModule as ad, AXCMetaDataDefinitionDataSeeder as ae, AXCMetadataCategorySeeder as af, AXCMiddlewaresModule as ag, AXCMockCaptchaChallengeComponent as ah, AXCMockEntityLogListener as ai, AXCMockModule as aj, AXCMockShowMetaDataFormPopupCommand as ak, AXCNotificationManagementMockModule as al, AXCOrderManagementMockModule as am, AXCOrganizationManagementMockModule as an, AXCPersonCoreMockModule as ao, AXCPlatformManagementMockModule as ap, AXCProcurementManagementMockModule as aq, AXCProductCatalogMockModule as ar, AXCProjectManagementMockModule as as, AXCQueryRegistryDataSeeder as at, AXCReportManagementMockModule as au, AXCSecurityManagementMockModule as av, AXCStoredEntityDefinitionLoader as aw, AXCSubscriptionManagementMockModule as ax, AXCSupplierManagementMockModule as ay, AXCTaskManagementMockModule as az, resolveDelegatedAssistOptionString as b, HW as b$, AXMJobDefinitionDataSeeder as b0, AXMJobLevelDataSeeder as b1, AXMLeaveRequestDataSeeder as b2, AXMMeetingDataSeeder as b3, AXMMeetingFilesDataSeeder as b4, AXMMeetingParticipantDataSeeder as b5, AXMMeetingRoleTypeDataSeeder as b6, AXMMeetingSessionDataSeeder as b7, AXMMeetingTypeDataSeeder as b8, AXMMeetingTypeFileTemplateDataSeeder as b9, AXPRoomDataSeeder as bA, AXPSecurityManagementRoleDataSeeder as bB, AXPSecurityManagementUserDataSeeder as bC, AXPTaskBoardPlatformManagementTaskProvider as bD, AXPTaskBoardProjectManagementTaskProvider as bE, AXVChangeType as bF, BCC as bG, BOC as bH, BUSINESS_UNITS_MOCK as bI, CHAT_LAST_MESSAGE_IDS as bJ, COLLABORATION_STANDARD as bK, COSTMANAGER_ENTERPRISE as bL, COSTMANAGER_PROFESSIONAL as bM, COSTMANAGER_STANDARD as bN, CP as bO, CRM_ENTERPRISE as bP, DASHBOARDS as bQ, EDITIONS as bR, EMPLOYEES_MOCK as bS, EMPLOYMENT_TYPES_MOCK as bT, ENTITY_DEFINITION_MAP as bU, ENTITY_REGISTRY as bV, FINANCE_BASIC as bW, FINANCE_ENTERPRISE as bX, FINANCE_PRO as bY, G as bZ, HR_ENTERPRISE as b_, AXMPositionAssignmentDataSeeder as ba, AXMPositionDataSeeder as bb, AXMQuestionBankItemCategoryDataSeeder as bc, AXMQuestionBankItemDataSeeder as bd, AXMQuestionnaireCalculationDataSeeder as be, AXMQuestionnaireCategoryDataSeeder as bf, AXMQuestionnaireDataSeeder as bg, AXMResponsibilityDataSeeder as bh, AXMTagDataSeeder as bi, AXMTeamBusinessUnitDataSeeder as bj, AXMTeamDataSeeder as bk, AXMTeamMemberDataSeeder as bl, AXMTeamMemberRoleDataSeeder as bm, AXMWorkflowDashboardChartDataSourceDefinition as bn, AXM_AI_REGISTRY_COMMAND_NAME as bo, AXM_AI_REGISTRY_QUERY_NAME as bp, AXM_CORPORATE_BUSINESS_UNIT_ID as bq, AXPDashboardDataSeeder as br, AXPIdentifierDB as bs, AXPMessageDataSeeder as bt, AXPMockChecksumProvider as bu, AXPMockClockProvider as bv, AXPMockIdentifierService as bw, AXPMockLookupProvider as bx, AXPMockPolicyProvider as by, AXPMockSequenceProvider as bz, axcSyncSingleEmployeeDenormalizedOrgFields as c, automationCommandMiddleware as c$, JOB_DEFINITIONS_CATEGORY_MOCK as c0, JOB_DEFINITIONS_MOCK as c1, JOB_DEFINITION_CATEGORY_KEY_TO_ID as c2, JOB_LEVELS_MOCK as c3, LASER_PLUMBING_TENANT_ID as c4, LEAVE_REQUESTS_MOCK as c5, MAGFA_COMMERCE_STANDARD as c6, MAGFA_CONVERSATION_DASHBOARD as c7, MAGFA_TENANT_ID as c8, METADATA_CATEGORY_IDS as c9, SAFETYMINDER_BASIC as cA, SAFETYMINDER_ENTERPRISE as cB, SAFETYMINDER_PROFESSIONAL as cC, SHOP_BASIC as cD, SHOP_ENTERPRISE as cE, SHOP_PRO as cF, TAGS_MOCK as cG, TASKS as cH, TASK_STATUSES as cI, TASK_TEMPLATES as cJ, TASK_TYPES as cK, TEAMS_CATEGORY_MOCK as cL, TEAMS_MOCK as cM, TEAM_BUSINESS_UNITS_MOCK as cN, TEAM_CATEGORY_KEY_TO_ID as cO, TEAM_MEMBERS_MOCK as cP, TEAM_MEMBER_ROLES_MOCK as cQ, TIMEPLICITY_TENANT_ID as cR, TLA as cS, TOKENS as cT, TPC as cU, VISIBILITY_FILTER_BYPASS as cV, WORKFLOW_CATEGORIES as cW, WS as cX, activityCategoryMocks as cY, activityDefinitionEntityMock as cZ, applyEntityDefinitionFirestoreSnapshot as c_, METADATA_GENERAL_CATEGORY_REFS as ca, METADATA_SYSTEM_CATEGORY_REFS as cb, MLC as cc, OHR as cd, ORDERING_BASIC as ce, ORDERING_ENTERPRISE as cf, ORDERING_STANDARD as cg, OWNERSHIP_FILTER_BYPASS as ch, PLATFORM_CONSOLE as ci, PLATFORM_TENANT_ID as cj, PM as ck, POSITIONS_CATEGORY_MOCK as cl, POSITIONS_MOCK as cm, POSITION_ASSIGNMENTS_MOCK as cn, QCP as co, QGEN as cp, QHW as cq, QOHR as cr, QPM as cs, QTLE as ct, QUESTIONNAIRE_CATEGORY_MOCK as cu, QUESTION_BANK_ITEM_CATEGORY_MOCK as cv, QWS as cw, RESPONSIBILITIES_CATEGORY_MOCK as cx, RESPONSIBILITIES_MOCK as cy, RESPONSIBILITY_CATEGORY_KEY_TO_ID as cz, ACTIVITY_CATEGORIES as d, mergeDetailRelationMiddleware as d$, automationMock as d0, avatarInterface as d1, awaitConversationMockSharedStorage as d2, axVersionDB as d3, axWorkflowExecutionDB as d4, axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows as d5, axcPatchEmployeeActivePrimaryPositionRefsFromRows as d6, axcPatchEmployeeManagerRefsFromRows as d7, axcResolveCommandRegistrySeedId as d8, axcResolveQueryRegistrySeedId as d9, emailInterface as dA, entityDefDb as dB, entityValidationMiddleware as dC, fileUploaderInterface as dD, finalizeActivityCategoryItemCounts as dE, findEmployeeById as dF, folderStorageMiddleware as dG, groupOrderItemCalculatorMiddleware as dH, historyMiddleware as dI, identifierCommitMiddleware as dJ, imageInterface as dK, inspectionOkXNaInterface as dL, loadMockPropertyDefinitions as dM, lockGuardMiddleware as dN, longTextAnswerInterface as dO, lookupInterface as dP, lookupResolverMiddleware as dQ, mapInterface as dR, meetingFilesMock as dS, meetingIds as dT, meetingMock as dU, meetingParticipantMock as dV, meetingRoleTypeMock as dW, meetingSessionMock as dX, meetingTimeSlotMock as dY, meetingTypeFileTemplateMock as dZ, meetingTypeMock as d_, axcResolveWidgetCatalogSeedId as da, bankCategory as db, buildEntityStorageQuickSearchFilter as dc, buildWorkflowInstanceCartableDemoRows as dd, bypassAllFilters as de, bypassOwnershipFilter as df, bypassVisibilityFilter as dg, calendarEventMock as dh, calendarEventTypeMockData as di, calendarMock as dj, chatMessageMock as dk, chatMock as dl, checkboxInterface as dm, childCountMiddleware as dn, clearEntityDefinitionFirestoreCollections as dp, colorInterface as dq, computeDiff as dr, contactInterface as ds, conversationDemoSeedUserIds as dt, createFileCastMiddleware as du, createWidgetLayoutConfig as dv, dateInterface as dw, dateTimeInterface as dx, descriptionInterface as dy, documentFolderSyncMiddleware as dz, ACTIVITY_CATEGORY_ID_BY_KEY as e, mergeQuickSearchIntoRequest as e0, metadataCategoryMocks as e1, mockParticipantIndexForSecurityUserId as e2, mockQuestionBankItemByName as e3, mockRoleDefinitions as e4, multipleChoiceInterface as e5, multipleSelectInterface as e6, normalizeAnyFileArrayForView as e7, normalizeSnapshotFileFieldsForView as e8, numberInterface as e9, tagInterface as eA, tenantMocks as eB, textAreaInterface as eC, textInterface as eD, timeDurationInterface as eE, titleInterface as eF, toUiRows as eG, toggleInterface as eH, tokenCategoryIds as eI, tokenCategoryMocks as eJ, urlInterface as eK, versionInterface as eL, visibilityFilterMiddleware as eM, workflowDefinitionEntityMock as eN, workflowDefinitionIds as eO, workflowDefinitionMock as eP, yesNoInterface as eQ, parseEntityStorageInsertData as ea, parseEntityStorageQueryRequest as eb, participantIds as ec, participantMock as ed, passwordInterface as ee, personIdentifierTypeMock as ef, personIds as eg, personLegalIds as eh, personMock as ei, personNaturalIds as ej, phoneInterface as ek, primaryMiddleware as el, provideMockPropertySetups as em, qrcodeInterface as en, questionBankItemMock as eo, questionnaireCalculationMock as ep, questionnaireMock as eq, ratingInterface as er, richTextInterface as es, scaleInterface as et, selectInterface as eu, selectionListInterface as ev, sexAtBirthInterface as ew, signatureInterface as ex, signatureLoaderMiddleware as ey, statusDefaultMiddleware as ez, ACTIVITY_DEFINITIONS as f, AI_ASSIST_MOCK as g, AI_MODEL_MOCK as h, APPLICATIONS as i, APPLICATION_CATEGORY_IDS as j, APPLICATION_CATEGORY_MOCKS as k, AXCActivityCategorySeeder as l, mockUsers as m, AXCActivityDefinitionSeeder as n, AXCAiAssistSeeder as o, AXCAiManagementMockModule as p, AXCAiModelSeeder as q, resolveDelegatedAssistOptionModel as r, AXCAppTermDataSeeder as s, AXCAppVersionDataSeeder as t, AXCApplicationCategoryDataSeeder as u, AXCApplicationDataSeeder as v, AXCApplicationManagementMockModule as w, AXCAssessmentManagementMockModule as x, AXCAssetManagementMockModule as y, AXCAuthMockModule as z };
|
|
78646
|
+
//# sourceMappingURL=acorex-connectivity-mock-acorex-connectivity-mock-CwWGrnVs.mjs.map
|