@acorex/connectivity 21.0.0-next.45 → 21.0.0-next.46
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-CPvIJXWl.mjs} +160 -213
- package/fesm2022/{acorex-connectivity-mock-acorex-connectivity-mock-D8bzYltA.mjs.map → acorex-connectivity-mock-acorex-connectivity-mock-CPvIJXWl.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-Cr4KK7dn.mjs → acorex-connectivity-mock-assign-to-manager.activity-Bl5qwPIP.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-assign-to-manager.activity-Cr4KK7dn.mjs.map → acorex-connectivity-mock-assign-to-manager.activity-Bl5qwPIP.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-BqnmiAgI.mjs → acorex-connectivity-mock-chat-generate-image.command-B5IoaRXb.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-generate-image.command-BqnmiAgI.mjs.map → acorex-connectivity-mock-chat-generate-image.command-B5IoaRXb.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-D3NPqs6A.mjs → acorex-connectivity-mock-chat-synthesize-speech.command-C1fGlYi6.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-synthesize-speech.command-D3NPqs6A.mjs.map → acorex-connectivity-mock-chat-synthesize-speech.command-C1fGlYi6.mjs.map} +1 -1
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-tQbAVOfm.mjs → acorex-connectivity-mock-chat-transcribe-speech.command-Dhe8T9vA.mjs} +2 -2
- package/fesm2022/{acorex-connectivity-mock-chat-transcribe-speech.command-tQbAVOfm.mjs.map → acorex-connectivity-mock-chat-transcribe-speech.command-Dhe8T9vA.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-DOXlY-R3.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-DOXlY-R3.mjs.map} +1 -1
- package/fesm2022/acorex-connectivity-mock.mjs +1 -1
- package/package.json +2 -2
- package/types/acorex-connectivity-mock.d.ts +5 -10
|
@@ -30,13 +30,13 @@ import { AXPSecurityManagementPermissionKeys, AXMUserAccessState, resolveAXMUser
|
|
|
30
30
|
import { AXMTenantManagementPermissionsKeys, AXMTenantService, AXMTenantManagementTenantUserEntityService, RootConfig as RootConfig$z } from '@acorex/modules/tenant-management';
|
|
31
31
|
import { AXMPermissionsKeys as AXMPermissionsKeys$4, RootConfig as RootConfig$e, AXMDocumentTypeServiceImpl, AXPDocumentManagementService } from '@acorex/modules/document-management';
|
|
32
32
|
import { AXMSettingsManagementPermissionKeys } from '@acorex/modules/settings-management';
|
|
33
|
-
import { AXMPermissionsKeys as AXMPermissionsKeys$3, RootConfig as RootConfig$y, AXPWorkflowTaskProvider } from '@acorex/modules/task-management';
|
|
33
|
+
import { AXMPermissionsKeys as AXMPermissionsKeys$3, RootConfig as RootConfig$y, AXPWorkflowTaskProvider, matchesTaskBoardAssigneeFilter } from '@acorex/modules/task-management';
|
|
34
34
|
import { RootConfig as RootConfig$7 } from '@acorex/modules/business-core';
|
|
35
35
|
import { RootConfig as RootConfig$8 } from '@acorex/modules/calendar-management';
|
|
36
36
|
import { AXFileService } from '@acorex/core/file';
|
|
37
37
|
import { RootConfig as RootConfig$9, resolveTextTemplateLocalizedString, replaceTextTemplatePlaceholders, AXC_TEXT_TEMPLATE_RENDER_COMMAND_KEY } from '@acorex/modules/content-management';
|
|
38
38
|
import { conversationSharedStorage, axConversationIndexedDbStorage, AXConversationAiResponderService } from '@acorex/components/conversation2';
|
|
39
|
-
import { AXMChatConversationApi, AXMChatMessageApi,
|
|
39
|
+
import { 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';
|
|
40
40
|
import { AXMNotificationEntityService, RootConfig as RootConfig$p, AXMNotificationEntityServiceImpl, AXMNotificationRealtimeService, NOTIFICATION_MANAGEMENT_EMAIL_SEND_COMMAND_KEY } from '@acorex/modules/notification-management';
|
|
41
41
|
import { AXToastService } from '@acorex/components/toast';
|
|
42
42
|
import { Observable, filter, pairwise, map, merge, take, throttleTime } from 'rxjs';
|
|
@@ -14316,7 +14316,8 @@ const AI_AGENT_MOCK = [
|
|
|
14316
14316
|
{
|
|
14317
14317
|
id: AXMAiAgentCentralizedPaymentGuideId,
|
|
14318
14318
|
name: '2a0e1e4d-ddfe-4f04-b7ba-2fd307eb5967',
|
|
14319
|
-
title: M$18('
|
|
14319
|
+
title: M$18('Demis', 'دیمیس'),
|
|
14320
|
+
isAssist: true,
|
|
14320
14321
|
description: M$18('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: [],
|
|
@@ -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,18 +14386,6 @@ 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 = [
|
|
@@ -14476,27 +14463,6 @@ 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',
|
|
@@ -19382,7 +19348,7 @@ class AXCAiManagementMockModule {
|
|
|
19382
19348
|
provideCommandSetups([
|
|
19383
19349
|
{
|
|
19384
19350
|
key: 'AiManagement:ChatGenerateImage',
|
|
19385
|
-
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-
|
|
19351
|
+
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-B5IoaRXb.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
|
|
19386
19352
|
},
|
|
19387
19353
|
{
|
|
19388
19354
|
key: 'AiManagement:ExtractDocumentText',
|
|
@@ -19394,11 +19360,11 @@ class AXCAiManagementMockModule {
|
|
|
19394
19360
|
},
|
|
19395
19361
|
{
|
|
19396
19362
|
key: 'AiManagement:ChatTranscribeSpeech',
|
|
19397
|
-
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
19363
|
+
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-Dhe8T9vA.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
|
|
19398
19364
|
},
|
|
19399
19365
|
{
|
|
19400
19366
|
key: 'AiManagement:ChatSynthesizeSpeech',
|
|
19401
|
-
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-
|
|
19367
|
+
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-C1fGlYi6.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
|
|
19402
19368
|
},
|
|
19403
19369
|
]),
|
|
19404
19370
|
] }); }
|
|
@@ -19441,7 +19407,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
19441
19407
|
provideCommandSetups([
|
|
19442
19408
|
{
|
|
19443
19409
|
key: 'AiManagement:ChatGenerateImage',
|
|
19444
|
-
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-
|
|
19410
|
+
command: () => import('./acorex-connectivity-mock-chat-generate-image.command-B5IoaRXb.mjs').then((c) => c.AiManagementChatGenerateImageCommand),
|
|
19445
19411
|
},
|
|
19446
19412
|
{
|
|
19447
19413
|
key: 'AiManagement:ExtractDocumentText',
|
|
@@ -19453,11 +19419,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
19453
19419
|
},
|
|
19454
19420
|
{
|
|
19455
19421
|
key: 'AiManagement:ChatTranscribeSpeech',
|
|
19456
|
-
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-
|
|
19422
|
+
command: () => import('./acorex-connectivity-mock-chat-transcribe-speech.command-Dhe8T9vA.mjs').then((c) => c.AiManagementChatTranscribeSpeechCommand),
|
|
19457
19423
|
},
|
|
19458
19424
|
{
|
|
19459
19425
|
key: 'AiManagement:ChatSynthesizeSpeech',
|
|
19460
|
-
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-
|
|
19426
|
+
command: () => import('./acorex-connectivity-mock-chat-synthesize-speech.command-C1fGlYi6.mjs').then((c) => c.AiManagementChatSynthesizeSpeechCommand),
|
|
19461
19427
|
},
|
|
19462
19428
|
]),
|
|
19463
19429
|
],
|
|
@@ -37587,6 +37553,30 @@ function axcExtractAssistIdFromMetadata(metadata) {
|
|
|
37587
37553
|
}
|
|
37588
37554
|
return undefined;
|
|
37589
37555
|
}
|
|
37556
|
+
/**
|
|
37557
|
+
* Resolves direct agent id from conversation metadata (agent-as-assist chat).
|
|
37558
|
+
*/
|
|
37559
|
+
function axcExtractDirectAgentIdFromMetadata(metadata) {
|
|
37560
|
+
if (!metadata) {
|
|
37561
|
+
return undefined;
|
|
37562
|
+
}
|
|
37563
|
+
const direct = metadata['directAgentId'];
|
|
37564
|
+
if (typeof direct === 'string' && direct.trim()) {
|
|
37565
|
+
return direct.trim();
|
|
37566
|
+
}
|
|
37567
|
+
const nested = metadata['metadata'];
|
|
37568
|
+
if (nested && typeof nested === 'object' && nested !== null) {
|
|
37569
|
+
const inner = nested['directAgentId'];
|
|
37570
|
+
if (typeof inner === 'string' && inner.trim()) {
|
|
37571
|
+
return inner.trim();
|
|
37572
|
+
}
|
|
37573
|
+
}
|
|
37574
|
+
return undefined;
|
|
37575
|
+
}
|
|
37576
|
+
/** True when the conversation targets an assist catalog row or a direct agent-as-assist chat. */
|
|
37577
|
+
function axcConversationHasAiChat(metadata) {
|
|
37578
|
+
return !!(axcExtractAssistIdFromMetadata(metadata) ?? axcExtractDirectAgentIdFromMetadata(metadata));
|
|
37579
|
+
}
|
|
37590
37580
|
//#endregion
|
|
37591
37581
|
|
|
37592
37582
|
//#region ---- Imports ----
|
|
@@ -37686,10 +37676,14 @@ class AXCConversationMockConversationApi extends AXMChatConversationApi {
|
|
|
37686
37676
|
await this.ensureAssistPeerParticipants(data);
|
|
37687
37677
|
const rawMetadata = (data.metadata ?? {});
|
|
37688
37678
|
const resolvedAssistId = axcExtractAssistIdFromMetadata(rawMetadata);
|
|
37679
|
+
const resolvedDirectAgentId = axcExtractDirectAgentIdFromMetadata(rawMetadata);
|
|
37689
37680
|
const storedMetadata = { ...rawMetadata };
|
|
37690
37681
|
if (resolvedAssistId) {
|
|
37691
37682
|
storedMetadata['assistId'] = resolvedAssistId;
|
|
37692
37683
|
}
|
|
37684
|
+
if (resolvedDirectAgentId) {
|
|
37685
|
+
storedMetadata['directAgentId'] = resolvedDirectAgentId;
|
|
37686
|
+
}
|
|
37693
37687
|
const createPayload = data;
|
|
37694
37688
|
const conversation = {
|
|
37695
37689
|
id: `conv-${Date.now()}`,
|
|
@@ -37908,14 +37902,16 @@ class AXCConversationMockConversationApi extends AXMChatConversationApi {
|
|
|
37908
37902
|
await conversationSharedStorage.loadFromIndexedDB();
|
|
37909
37903
|
const meta = (data.metadata ?? {});
|
|
37910
37904
|
const assistId = axcExtractAssistIdFromMetadata(meta);
|
|
37905
|
+
const directAgentId = axcExtractDirectAgentIdFromMetadata(meta);
|
|
37906
|
+
const catalogPeerId = directAgentId ?? assistId;
|
|
37911
37907
|
for (const participantId of data.participantIds) {
|
|
37912
37908
|
if (conversationSharedStorage.participants.get(participantId)) {
|
|
37913
37909
|
continue;
|
|
37914
37910
|
}
|
|
37915
|
-
if ((data.type !== 'private' && data.type !== 'bot') || !
|
|
37911
|
+
if ((data.type !== 'private' && data.type !== 'bot') || !catalogPeerId) {
|
|
37916
37912
|
continue;
|
|
37917
37913
|
}
|
|
37918
|
-
const expectedParticipantId = `assist-${
|
|
37914
|
+
const expectedParticipantId = `assist-${catalogPeerId}`;
|
|
37919
37915
|
if (participantId !== expectedParticipantId) {
|
|
37920
37916
|
continue;
|
|
37921
37917
|
}
|
|
@@ -37927,7 +37923,9 @@ class AXCConversationMockConversationApi extends AXMChatConversationApi {
|
|
|
37927
37923
|
avatar: typeof avatar === 'string' ? avatar : undefined,
|
|
37928
37924
|
status: 'online',
|
|
37929
37925
|
lastSeen: new Date(),
|
|
37930
|
-
metadata:
|
|
37926
|
+
metadata: directAgentId
|
|
37927
|
+
? { directAgentId, kind: 'agent-assist' }
|
|
37928
|
+
: { assistId: catalogPeerId, kind: 'assist' },
|
|
37931
37929
|
};
|
|
37932
37930
|
conversationSharedStorage.participants.set(participantId, participant);
|
|
37933
37931
|
await axConversationIndexedDbStorage.putParticipant(participant);
|
|
@@ -37959,6 +37957,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
37959
37957
|
this.assistRowData = this.entityService
|
|
37960
37958
|
.withEntity(RootConfig.module.name, RootConfig.entities.assist.name)
|
|
37961
37959
|
.data();
|
|
37960
|
+
this.agentRowData = this.entityService
|
|
37961
|
+
.withEntity(RootConfig.module.name, RootConfig.entities.agent.name)
|
|
37962
|
+
.data();
|
|
37962
37963
|
}
|
|
37963
37964
|
//#endregion
|
|
37964
37965
|
//#region ---- Message CRUD ----
|
|
@@ -37989,9 +37990,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
37989
37990
|
console.warn('Failed to generate assist conversation title:', error);
|
|
37990
37991
|
});
|
|
37991
37992
|
}
|
|
37992
|
-
const
|
|
37993
|
-
if (
|
|
37994
|
-
void this.
|
|
37993
|
+
const aiTarget = this.getAiChatTarget(command.conversationId);
|
|
37994
|
+
if (aiTarget) {
|
|
37995
|
+
void this.generateAiChatResponse(command.conversationId, aiTarget).catch((error) => {
|
|
37995
37996
|
console.error('Failed to generate assist response:', error);
|
|
37996
37997
|
this.toastService.show({
|
|
37997
37998
|
color: 'warning',
|
|
@@ -38088,7 +38089,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38088
38089
|
}
|
|
38089
38090
|
if (rec['type'] === 'node') {
|
|
38090
38091
|
try {
|
|
38091
|
-
return JSON.stringify(rec['content'] ?? '')
|
|
38092
|
+
return JSON.stringify(rec['content'] ?? '')
|
|
38093
|
+
.toLowerCase()
|
|
38094
|
+
.includes(lowerQuery);
|
|
38092
38095
|
}
|
|
38093
38096
|
catch {
|
|
38094
38097
|
return false;
|
|
@@ -38505,11 +38508,18 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38505
38508
|
//
|
|
38506
38509
|
// Streaming/final payloads may include Persian or other RTL text; the assist message renderer
|
|
38507
38510
|
// applies per-segment `dir` from content (no mock-side metadata required).
|
|
38508
|
-
|
|
38511
|
+
getAiChatTarget(conversationId) {
|
|
38509
38512
|
const conversation = conversationSharedStorage.conversations.get(conversationId);
|
|
38510
38513
|
const meta = conversation?.metadata;
|
|
38511
|
-
const
|
|
38512
|
-
|
|
38514
|
+
const directAgentId = axcExtractDirectAgentIdFromMetadata(meta);
|
|
38515
|
+
if (directAgentId) {
|
|
38516
|
+
return { peerId: directAgentId, directAgentId };
|
|
38517
|
+
}
|
|
38518
|
+
const assistId = axcExtractAssistIdFromMetadata(meta);
|
|
38519
|
+
if (assistId) {
|
|
38520
|
+
return { peerId: assistId, assistId };
|
|
38521
|
+
}
|
|
38522
|
+
return null;
|
|
38513
38523
|
}
|
|
38514
38524
|
shouldGenerateAssistConversationTitle(command, message) {
|
|
38515
38525
|
if (message.senderId !== conversationSharedStorage.currentUserId) {
|
|
@@ -38526,8 +38536,8 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38526
38536
|
if (!conversation) {
|
|
38527
38537
|
return false;
|
|
38528
38538
|
}
|
|
38529
|
-
const
|
|
38530
|
-
if (!
|
|
38539
|
+
const aiTarget = this.getAiChatTarget(command.conversationId);
|
|
38540
|
+
if (!aiTarget) {
|
|
38531
38541
|
return false;
|
|
38532
38542
|
}
|
|
38533
38543
|
const userMessageCount = (conversationSharedStorage.messagesByConversation.get(command.conversationId) ?? [])
|
|
@@ -38544,11 +38554,11 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38544
38554
|
if (!conversation) {
|
|
38545
38555
|
return;
|
|
38546
38556
|
}
|
|
38547
|
-
const
|
|
38548
|
-
if (!
|
|
38557
|
+
const aiTarget = this.getAiChatTarget(conversationId);
|
|
38558
|
+
if (!aiTarget) {
|
|
38549
38559
|
return;
|
|
38550
38560
|
}
|
|
38551
|
-
const modelEntityId = await this.resolveModelEntityId(conversationId,
|
|
38561
|
+
const modelEntityId = await this.resolveModelEntityId(conversationId, aiTarget);
|
|
38552
38562
|
if (!modelEntityId) {
|
|
38553
38563
|
return;
|
|
38554
38564
|
}
|
|
@@ -38567,7 +38577,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38567
38577
|
`User message: ${firstUserText}`,
|
|
38568
38578
|
].join('\n');
|
|
38569
38579
|
const runResult = await this.aiEngine.run({
|
|
38570
|
-
|
|
38580
|
+
...(aiTarget.directAgentId
|
|
38581
|
+
? { directAgentId: aiTarget.directAgentId }
|
|
38582
|
+
: { assistId: aiTarget.assistId }),
|
|
38571
38583
|
modelEntityId,
|
|
38572
38584
|
maxSteps: 1,
|
|
38573
38585
|
messages: [axpAiChatTextMessage('user', titlePrompt)],
|
|
@@ -38603,35 +38615,35 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38603
38615
|
.trim();
|
|
38604
38616
|
return normalized.slice(0, 90).trim();
|
|
38605
38617
|
}
|
|
38606
|
-
async
|
|
38618
|
+
async generateAiChatResponse(conversationId, target) {
|
|
38607
38619
|
const conversation = conversationSharedStorage.conversations.get(conversationId);
|
|
38608
38620
|
if (!conversation)
|
|
38609
38621
|
return;
|
|
38610
|
-
const assistParticipantId = this.getAssistParticipantId(conversation,
|
|
38622
|
+
const assistParticipantId = this.getAssistParticipantId(conversation, target.peerId);
|
|
38611
38623
|
if (!assistParticipantId)
|
|
38612
38624
|
return;
|
|
38613
38625
|
this.setConversationTyping(conversationId, assistParticipantId, true);
|
|
38614
|
-
const placeholderMsg = this.createPlaceholderMessage(conversationId, assistParticipantId,
|
|
38626
|
+
const placeholderMsg = this.createPlaceholderMessage(conversationId, assistParticipantId, target);
|
|
38615
38627
|
this.publishPlaceholderMessage(placeholderMsg, conversationId);
|
|
38616
38628
|
const runStartedAt = Date.now();
|
|
38617
38629
|
let lastResolvedModelId;
|
|
38618
38630
|
try {
|
|
38619
|
-
const messages = await this.buildAiMessages(conversationId, assistParticipantId,
|
|
38620
|
-
const modelEntityId = await this.resolveModelEntityId(conversationId,
|
|
38631
|
+
const messages = await this.buildAiMessages(conversationId, assistParticipantId, target);
|
|
38632
|
+
const modelEntityId = await this.resolveModelEntityId(conversationId, target);
|
|
38621
38633
|
lastResolvedModelId = modelEntityId;
|
|
38622
38634
|
if (!modelEntityId) {
|
|
38623
|
-
this.finalizeMessage(placeholderMsg, 'No AI model available.', conversationId, [
|
|
38624
|
-
axpAiChatTextMessage('assistant', 'No AI model available.'),
|
|
38625
|
-
], { durationMs: Date.now() - runStartedAt });
|
|
38635
|
+
this.finalizeMessage(placeholderMsg, 'No AI model available.', conversationId, [axpAiChatTextMessage('assistant', 'No AI model available.')], { durationMs: Date.now() - runStartedAt });
|
|
38626
38636
|
return;
|
|
38627
38637
|
}
|
|
38628
|
-
const modelTitle = await this.resolveModelDisplayTitle(modelEntityId,
|
|
38638
|
+
const modelTitle = await this.resolveModelDisplayTitle(modelEntityId, target);
|
|
38629
38639
|
let streamTextAccumulator = '';
|
|
38630
38640
|
let streamThinkAccumulator = '';
|
|
38631
38641
|
/** Context size sent into the engine; `run` appends only new assistant/tool lines after this. */
|
|
38632
38642
|
const contextAiMessageCount = messages.length;
|
|
38633
38643
|
const runResult = await this.aiEngine.run({
|
|
38634
|
-
|
|
38644
|
+
...(target.directAgentId
|
|
38645
|
+
? { directAgentId: target.directAgentId }
|
|
38646
|
+
: { assistId: target.assistId }),
|
|
38635
38647
|
messages,
|
|
38636
38648
|
modelEntityId,
|
|
38637
38649
|
onRunEvent: (event) => {
|
|
@@ -38693,9 +38705,7 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38693
38705
|
}
|
|
38694
38706
|
catch (err) {
|
|
38695
38707
|
const friendlyError = this.buildUserFriendlyError(err);
|
|
38696
|
-
this.finalizeMessage(placeholderMsg, friendlyError, conversationId, [
|
|
38697
|
-
axpAiChatTextMessage('assistant', friendlyError),
|
|
38698
|
-
], {
|
|
38708
|
+
this.finalizeMessage(placeholderMsg, friendlyError, conversationId, [axpAiChatTextMessage('assistant', friendlyError)], {
|
|
38699
38709
|
durationMs: Date.now() - runStartedAt,
|
|
38700
38710
|
modelEntityId: lastResolvedModelId,
|
|
38701
38711
|
});
|
|
@@ -38707,7 +38717,7 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38707
38717
|
}
|
|
38708
38718
|
//#endregion
|
|
38709
38719
|
//#region ---- Placeholder & Streaming ----
|
|
38710
|
-
createPlaceholderMessage(conversationId, senderId,
|
|
38720
|
+
createPlaceholderMessage(conversationId, senderId, target) {
|
|
38711
38721
|
return {
|
|
38712
38722
|
id: `msg-assist-${Date.now()}-${Math.floor(Math.random() * 10000)}`,
|
|
38713
38723
|
conversationId,
|
|
@@ -38718,13 +38728,13 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38718
38728
|
status: 'sent',
|
|
38719
38729
|
reactions: [],
|
|
38720
38730
|
metadata: {
|
|
38721
|
-
assistId,
|
|
38731
|
+
...(target.assistId ? { assistId: target.assistId } : {}),
|
|
38732
|
+
...(target.directAgentId ? { directAgentId: target.directAgentId } : {}),
|
|
38722
38733
|
isAssistResponse: true,
|
|
38723
38734
|
isStreaming: true,
|
|
38724
38735
|
toolCalls: [],
|
|
38725
38736
|
streamDraftText: '',
|
|
38726
38737
|
streamDraftThink: '',
|
|
38727
|
-
aiTranscriptDraft: [],
|
|
38728
38738
|
},
|
|
38729
38739
|
};
|
|
38730
38740
|
}
|
|
@@ -38734,8 +38744,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38734
38744
|
const meta = next.metadata;
|
|
38735
38745
|
meta['streamDraftText'] = text;
|
|
38736
38746
|
meta['streamDraftThink'] = think;
|
|
38737
|
-
next.payload = { type: 'text', text };
|
|
38738
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38739
38747
|
this.emitMessageUpdate(next);
|
|
38740
38748
|
}
|
|
38741
38749
|
publishPlaceholderMessage(message, conversationId) {
|
|
@@ -38796,7 +38804,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38796
38804
|
}
|
|
38797
38805
|
entry.nestedStreamText = '';
|
|
38798
38806
|
meta['toolCalls'] = toolCalls;
|
|
38799
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38800
38807
|
this.emitMessageUpdate(next);
|
|
38801
38808
|
}
|
|
38802
38809
|
/** Appends streamed specialist text for a delegated agent run into that tool row (not the main bubble). */
|
|
@@ -38815,7 +38822,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38815
38822
|
}
|
|
38816
38823
|
entry.nestedStreamText = (entry.nestedStreamText ?? '') + delta;
|
|
38817
38824
|
meta['toolCalls'] = toolCalls;
|
|
38818
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38819
38825
|
this.emitMessageUpdate(next);
|
|
38820
38826
|
}
|
|
38821
38827
|
pushDelegatedNestedTool(message, delegationCallId, call) {
|
|
@@ -38834,7 +38840,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38834
38840
|
const prev = entry.nestedTools ?? [];
|
|
38835
38841
|
entry.nestedTools = [...prev, { id: call.id, name: call.name, arguments: call.arguments, state: 'running' }];
|
|
38836
38842
|
meta['toolCalls'] = toolCalls;
|
|
38837
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38838
38843
|
this.emitMessageUpdate(next);
|
|
38839
38844
|
}
|
|
38840
38845
|
completeDelegatedNestedTool(message, delegationCallId, call, output) {
|
|
@@ -38852,7 +38857,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38852
38857
|
}
|
|
38853
38858
|
entry.nestedTools = entry.nestedTools.map((t) => (t.id === call.id ? { ...t, state: 'done', output } : t));
|
|
38854
38859
|
meta['toolCalls'] = toolCalls;
|
|
38855
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38856
38860
|
this.emitMessageUpdate(next);
|
|
38857
38861
|
}
|
|
38858
38862
|
addToolCall(message, call) {
|
|
@@ -38862,7 +38866,6 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38862
38866
|
const toolCalls = meta['toolCalls'] ?? [];
|
|
38863
38867
|
toolCalls.push({ id: call.id, name: call.name, arguments: call.arguments, state: 'running' });
|
|
38864
38868
|
meta['toolCalls'] = toolCalls;
|
|
38865
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38866
38869
|
this.emitMessageUpdate(next);
|
|
38867
38870
|
}
|
|
38868
38871
|
completeToolCall(message, call, output) {
|
|
@@ -38877,123 +38880,24 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
38877
38880
|
// Keep nestedStreamText / nestedTools for conversation UI after the run (same layout as during stream).
|
|
38878
38881
|
}
|
|
38879
38882
|
meta['toolCalls'] = toolCalls;
|
|
38880
|
-
this.rebuildAiTranscriptDraft(next);
|
|
38881
38883
|
this.emitMessageUpdate(next);
|
|
38882
38884
|
}
|
|
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
38885
|
finalizeMessage(message, text, conversationId, transcript, runDebug) {
|
|
38979
38886
|
const base = this.resolveStreamingAssistMessage(message);
|
|
38980
38887
|
const next = this.snapshotStreamingAssistMessage(base);
|
|
38981
38888
|
const transcriptLines = transcript ?? [];
|
|
38982
|
-
const
|
|
38983
|
-
if (
|
|
38984
|
-
next.payload =
|
|
38985
|
-
}
|
|
38986
|
-
else {
|
|
38987
|
-
next.payload = { type: 'text', text: delivery.text };
|
|
38889
|
+
const lastLine = axmAssistLastTranscriptLine(transcriptLines);
|
|
38890
|
+
if (lastLine) {
|
|
38891
|
+
next.payload = axmBuildAssistTranscriptLinePayload(lastLine);
|
|
38988
38892
|
}
|
|
38989
38893
|
const meta = next.metadata;
|
|
38990
38894
|
meta['isStreaming'] = false;
|
|
38991
|
-
delete meta['
|
|
38895
|
+
delete meta['transcriptDraft'];
|
|
38992
38896
|
delete meta['streamDraftText'];
|
|
38993
38897
|
delete meta['streamDraftThink'];
|
|
38994
38898
|
if (transcript && transcript.length > 0) {
|
|
38995
38899
|
// Full turn trace for assist renderer after reload (IndexedDB + in-memory store).
|
|
38996
|
-
meta['
|
|
38900
|
+
meta['transcripts'] = transcript;
|
|
38997
38901
|
}
|
|
38998
38902
|
if (runDebug) {
|
|
38999
38903
|
if (runDebug.usageTotals) {
|
|
@@ -39021,8 +38925,7 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39021
38925
|
else {
|
|
39022
38926
|
delete meta['assistRunLastProviderResult'];
|
|
39023
38927
|
}
|
|
39024
|
-
if (runDebug.delegatedTranscriptsByCallId &&
|
|
39025
|
-
Object.keys(runDebug.delegatedTranscriptsByCallId).length > 0) {
|
|
38928
|
+
if (runDebug.delegatedTranscriptsByCallId && Object.keys(runDebug.delegatedTranscriptsByCallId).length > 0) {
|
|
39026
38929
|
meta['assistRunDelegatedTranscriptsByCallId'] = runDebug.delegatedTranscriptsByCallId;
|
|
39027
38930
|
}
|
|
39028
38931
|
else {
|
|
@@ -39045,9 +38948,11 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39045
38948
|
* Order: conversation `metadata.modelEntityId` (info bar / overrides), then assist row `modelId`, then first catalog chat model.
|
|
39046
38949
|
* Empty-assist flow may send before the info bar writes `modelEntityId`, so assist `modelId` must be resolved here.
|
|
39047
38950
|
*/
|
|
39048
|
-
async resolveModelDisplayTitle(modelEntityId,
|
|
38951
|
+
async resolveModelDisplayTitle(modelEntityId, target) {
|
|
39049
38952
|
try {
|
|
39050
|
-
const models = await this.modelCatalog.listModels(
|
|
38953
|
+
const models = await this.modelCatalog.listModels(target.directAgentId
|
|
38954
|
+
? { directAgentId: target.directAgentId }
|
|
38955
|
+
: { assistId: target.assistId ?? '' });
|
|
39051
38956
|
const hit = models.find((m) => m.id === modelEntityId);
|
|
39052
38957
|
if (!hit) {
|
|
39053
38958
|
return modelEntityId;
|
|
@@ -39060,14 +38965,32 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39060
38965
|
return undefined;
|
|
39061
38966
|
}
|
|
39062
38967
|
}
|
|
39063
|
-
async resolveModelEntityId(conversationId,
|
|
38968
|
+
async resolveModelEntityId(conversationId, target) {
|
|
39064
38969
|
const conversation = conversationSharedStorage.conversations.get(conversationId);
|
|
39065
38970
|
const fromMetadata = conversation?.metadata?.['modelEntityId'];
|
|
39066
38971
|
if (typeof fromMetadata === 'string' && fromMetadata.trim()) {
|
|
39067
38972
|
return fromMetadata.trim();
|
|
39068
38973
|
}
|
|
38974
|
+
if (target.directAgentId) {
|
|
38975
|
+
try {
|
|
38976
|
+
const agent = await this.agentRowData.byKey(target.directAgentId.trim());
|
|
38977
|
+
const fromAgent = agent?.modelEntityId?.trim();
|
|
38978
|
+
if (fromAgent) {
|
|
38979
|
+
return fromAgent;
|
|
38980
|
+
}
|
|
38981
|
+
}
|
|
38982
|
+
catch {
|
|
38983
|
+
// Fall through to catalog default.
|
|
38984
|
+
}
|
|
38985
|
+
const models = await this.modelCatalog.listModels({ directAgentId: target.directAgentId });
|
|
38986
|
+
return models[0]?.id?.trim() || undefined;
|
|
38987
|
+
}
|
|
38988
|
+
const assistId = target.assistId?.trim();
|
|
38989
|
+
if (!assistId) {
|
|
38990
|
+
return undefined;
|
|
38991
|
+
}
|
|
39069
38992
|
try {
|
|
39070
|
-
const assist = await this.assistRowData.byKey(assistId
|
|
38993
|
+
const assist = await this.assistRowData.byKey(assistId);
|
|
39071
38994
|
const fromAssist = assist?.modelId?.trim();
|
|
39072
38995
|
if (fromAssist) {
|
|
39073
38996
|
return fromAssist;
|
|
@@ -39084,10 +39007,10 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39084
39007
|
/**
|
|
39085
39008
|
* Build chat lines for the AI engine. Only plain user/assistant text from each message
|
|
39086
39009
|
* {@link #extractMessageText} is included — never assist message metadata
|
|
39087
|
-
* (`toolCalls`, `
|
|
39010
|
+
* (`toolCalls`, `transcripts`, `streamDraft*`, `assistUi`, etc.), so the model does not
|
|
39088
39011
|
* see internal trace or UI state.
|
|
39089
39012
|
*/
|
|
39090
|
-
async buildAiMessages(conversationId, assistParticipantId,
|
|
39013
|
+
async buildAiMessages(conversationId, assistParticipantId, target) {
|
|
39091
39014
|
const ids = conversationSharedStorage.messagesByConversation.get(conversationId) ?? [];
|
|
39092
39015
|
const list = [];
|
|
39093
39016
|
for (const id of ids) {
|
|
@@ -39100,8 +39023,9 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39100
39023
|
.filter((m) => !this.isStreamingPlaceholder(m))
|
|
39101
39024
|
.map((m) => axpAiChatTextMessage(m.senderId === assistParticipantId ? 'assistant' : 'user', this.extractMessageText(m)));
|
|
39102
39025
|
const hasAssistantTurn = mapped.some((m) => m.role === 'assistant');
|
|
39103
|
-
|
|
39104
|
-
|
|
39026
|
+
const assistId = target.assistId?.trim();
|
|
39027
|
+
if (!hasAssistantTurn && assistId) {
|
|
39028
|
+
const row = await this.assistRowData.byKey(assistId);
|
|
39105
39029
|
const seed = axpAiAssistInitialMessagesToTranscript(row?.initialMessages ?? undefined);
|
|
39106
39030
|
if (seed.length > 0) {
|
|
39107
39031
|
return [...seed, ...mapped];
|
|
@@ -39139,6 +39063,13 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39139
39063
|
const pl = message.payload;
|
|
39140
39064
|
if (pl != null && typeof pl === 'object' && !Array.isArray(pl)) {
|
|
39141
39065
|
const rec = pl;
|
|
39066
|
+
if (rec['type'] === AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE) {
|
|
39067
|
+
const line = rec['line'];
|
|
39068
|
+
if (line != null && typeof line === 'object' && !Array.isArray(line)) {
|
|
39069
|
+
return axpAiChatMessageGetText(line).trim() || '[Assistant response]';
|
|
39070
|
+
}
|
|
39071
|
+
return '[Assistant response]';
|
|
39072
|
+
}
|
|
39142
39073
|
if (rec['type'] === 'node') {
|
|
39143
39074
|
return '[Assistant widget]';
|
|
39144
39075
|
}
|
|
@@ -39165,8 +39096,8 @@ class AXCConversationMockMessageApi extends AXMChatMessageApi {
|
|
|
39165
39096
|
}
|
|
39166
39097
|
//#endregion
|
|
39167
39098
|
//#region ---- Assist Utilities ----
|
|
39168
|
-
getAssistParticipantId(conversation,
|
|
39169
|
-
const expectedId = `assist-${
|
|
39099
|
+
getAssistParticipantId(conversation, peerId) {
|
|
39100
|
+
const expectedId = `assist-${peerId}`;
|
|
39170
39101
|
const ids = (conversation.participants ?? []).map((p) => p.id);
|
|
39171
39102
|
if (ids.includes(expectedId))
|
|
39172
39103
|
return expectedId;
|
|
@@ -63532,7 +63463,7 @@ class AXCSecurityManagementMockModule {
|
|
|
63532
63463
|
provideQuerySetups([
|
|
63533
63464
|
{
|
|
63534
63465
|
key: 'SecurityManagement:User:RolesForListColumn',
|
|
63535
|
-
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
63466
|
+
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-DOXlY-R3.mjs').then((m) => m.UserRolesForListColumnQuery),
|
|
63536
63467
|
},
|
|
63537
63468
|
]),
|
|
63538
63469
|
] }); }
|
|
@@ -63576,7 +63507,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
63576
63507
|
provideQuerySetups([
|
|
63577
63508
|
{
|
|
63578
63509
|
key: 'SecurityManagement:User:RolesForListColumn',
|
|
63579
|
-
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-
|
|
63510
|
+
loader: () => import('./acorex-connectivity-mock-user-roles-for-list-column.query-DOXlY-R3.mjs').then((m) => m.UserRolesForListColumnQuery),
|
|
63580
63511
|
},
|
|
63581
63512
|
]),
|
|
63582
63513
|
],
|
|
@@ -73992,7 +73923,7 @@ class AXCWorkflowManagementMockModule {
|
|
|
73992
73923
|
provideCommandSetups([
|
|
73993
73924
|
{
|
|
73994
73925
|
key: 'workflow-activity:assign-to-manager',
|
|
73995
|
-
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-
|
|
73926
|
+
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-Bl5qwPIP.mjs').then((c) => c.AssignToManagerActivity),
|
|
73996
73927
|
},
|
|
73997
73928
|
{
|
|
73998
73929
|
key: 'workflow-activity:get-current-user-manager',
|
|
@@ -74103,7 +74034,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
74103
74034
|
provideCommandSetups([
|
|
74104
74035
|
{
|
|
74105
74036
|
key: 'workflow-activity:assign-to-manager',
|
|
74106
|
-
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-
|
|
74037
|
+
command: () => import('./acorex-connectivity-mock-assign-to-manager.activity-Bl5qwPIP.mjs').then((c) => c.AssignToManagerActivity),
|
|
74107
74038
|
},
|
|
74108
74039
|
{
|
|
74109
74040
|
key: 'workflow-activity:get-current-user-manager',
|
|
@@ -74318,10 +74249,7 @@ class AXPTaskBoardProjectManagementTaskProvider extends AXPWorkflowTaskProvider
|
|
|
74318
74249
|
}
|
|
74319
74250
|
// 2. Filter by Assignee IDs (if provided)
|
|
74320
74251
|
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);
|
|
74252
|
+
filteredList = filteredList.filter((task) => matchesTaskBoardAssigneeFilter(task.assignee?.id, options.assigneeIds));
|
|
74325
74253
|
}
|
|
74326
74254
|
// 3. Filter by Priority (if provided)
|
|
74327
74255
|
if (options?.priorities && options.priorities.length > 0) {
|
|
@@ -74531,6 +74459,28 @@ class AXPTaskBoardPlatformManagementTaskProvider extends AXPWorkflowTaskProvider
|
|
|
74531
74459
|
username: 'lisadavis',
|
|
74532
74460
|
},
|
|
74533
74461
|
},
|
|
74462
|
+
{
|
|
74463
|
+
id: 15,
|
|
74464
|
+
title: 'Review orphaned platform alerts',
|
|
74465
|
+
startDate: this.calendarService.create(new Date()).add('day', 3).date,
|
|
74466
|
+
endDate: this.calendarService.create(new Date()).add('day', 4).date,
|
|
74467
|
+
description: 'Triage alerts with no owner assigned.',
|
|
74468
|
+
priority: 'medium',
|
|
74469
|
+
allDay: true,
|
|
74470
|
+
index: 2,
|
|
74471
|
+
status: {
|
|
74472
|
+
id: 'todo',
|
|
74473
|
+
title: 'Todo',
|
|
74474
|
+
},
|
|
74475
|
+
reporter: {
|
|
74476
|
+
id: '0',
|
|
74477
|
+
type: 'user',
|
|
74478
|
+
fullName: 'mojtaba',
|
|
74479
|
+
},
|
|
74480
|
+
data: {
|
|
74481
|
+
recievedDate: new Date(),
|
|
74482
|
+
},
|
|
74483
|
+
},
|
|
74534
74484
|
];
|
|
74535
74485
|
}
|
|
74536
74486
|
get name() {
|
|
@@ -74563,10 +74513,7 @@ class AXPTaskBoardPlatformManagementTaskProvider extends AXPWorkflowTaskProvider
|
|
|
74563
74513
|
}
|
|
74564
74514
|
// 2. Filter by Assignee IDs (if provided)
|
|
74565
74515
|
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);
|
|
74516
|
+
filteredList = filteredList.filter((task) => matchesTaskBoardAssigneeFilter(task.assignee?.id, options.assigneeIds));
|
|
74570
74517
|
}
|
|
74571
74518
|
// 3. Filter by Priorities (if provided)
|
|
74572
74519
|
if (options?.priorities && options.priorities.length > 0) {
|
|
@@ -78289,5 +78236,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
78289
78236
|
* Generated bundle index. Do not edit.
|
|
78290
78237
|
*/
|
|
78291
78238
|
|
|
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-
|
|
78239
|
+
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, JOB_DEFINITIONS_CATEGORY_MOCK 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, COSTMANAGER_ENTERPRISE as bK, COSTMANAGER_PROFESSIONAL as bL, COSTMANAGER_STANDARD as bM, CP as bN, CRM_ENTERPRISE as bO, DASHBOARDS as bP, EDITIONS as bQ, EMPLOYEES_MOCK as bR, EMPLOYMENT_TYPES_MOCK as bS, ENTITY_DEFINITION_MAP as bT, ENTITY_REGISTRY as bU, FINANCE_BASIC as bV, FINANCE_ENTERPRISE as bW, FINANCE_PRO as bX, G as bY, HR_ENTERPRISE as bZ, HW 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, axVersionDB as c$, JOB_DEFINITIONS_MOCK as c0, JOB_DEFINITION_CATEGORY_KEY_TO_ID as c1, JOB_LEVELS_MOCK as c2, LASER_PLUMBING_TENANT_ID as c3, LEAVE_REQUESTS_MOCK as c4, METADATA_CATEGORY_IDS as c5, METADATA_GENERAL_CATEGORY_REFS as c6, METADATA_SYSTEM_CATEGORY_REFS as c7, MLC as c8, OHR as c9, SHOP_ENTERPRISE as cA, SHOP_PRO as cB, TAGS_MOCK as cC, TASKS as cD, TASK_STATUSES as cE, TASK_TEMPLATES as cF, TASK_TYPES as cG, TEAMS_CATEGORY_MOCK as cH, TEAMS_MOCK as cI, TEAM_BUSINESS_UNITS_MOCK as cJ, TEAM_CATEGORY_KEY_TO_ID as cK, TEAM_MEMBERS_MOCK as cL, TEAM_MEMBER_ROLES_MOCK as cM, TIMEPLICITY_TENANT_ID as cN, TLA as cO, TOKENS as cP, TPC as cQ, VISIBILITY_FILTER_BYPASS as cR, WORKFLOW_CATEGORIES as cS, WS as cT, activityCategoryMocks as cU, activityDefinitionEntityMock as cV, applyEntityDefinitionFirestoreSnapshot as cW, automationCommandMiddleware as cX, automationMock as cY, avatarInterface as cZ, awaitConversationMockSharedStorage as c_, ORDERING_BASIC as ca, ORDERING_ENTERPRISE as cb, ORDERING_STANDARD as cc, OWNERSHIP_FILTER_BYPASS as cd, PLATFORM_CONSOLE as ce, PLATFORM_TENANT_ID as cf, PM as cg, POSITIONS_CATEGORY_MOCK as ch, POSITIONS_MOCK as ci, POSITION_ASSIGNMENTS_MOCK as cj, QCP as ck, QGEN as cl, QHW as cm, QOHR as cn, QPM as co, QTLE as cp, QUESTIONNAIRE_CATEGORY_MOCK as cq, QUESTION_BANK_ITEM_CATEGORY_MOCK as cr, QWS as cs, RESPONSIBILITIES_CATEGORY_MOCK as ct, RESPONSIBILITIES_MOCK as cu, RESPONSIBILITY_CATEGORY_KEY_TO_ID as cv, SAFETYMINDER_BASIC as cw, SAFETYMINDER_ENTERPRISE as cx, SAFETYMINDER_PROFESSIONAL as cy, SHOP_BASIC as cz, ACTIVITY_CATEGORIES as d, mockQuestionBankItemByName as d$, axWorkflowExecutionDB as d0, axcPatchEmployeeActivePrimaryBusinessUnitRefsFromRows as d1, axcPatchEmployeeActivePrimaryPositionRefsFromRows as d2, axcPatchEmployeeManagerRefsFromRows as d3, axcResolveCommandRegistrySeedId as d4, axcResolveQueryRegistrySeedId as d5, axcResolveWidgetCatalogSeedId as d6, bankCategory as d7, buildEntityStorageQuickSearchFilter as d8, buildWorkflowInstanceCartableDemoRows as d9, finalizeActivityCategoryItemCounts as dA, findEmployeeById as dB, folderStorageMiddleware as dC, groupOrderItemCalculatorMiddleware as dD, historyMiddleware as dE, identifierCommitMiddleware as dF, imageInterface as dG, inspectionOkXNaInterface as dH, loadMockPropertyDefinitions as dI, lockGuardMiddleware as dJ, longTextAnswerInterface as dK, lookupInterface as dL, lookupResolverMiddleware as dM, mapInterface as dN, meetingFilesMock as dO, meetingIds as dP, meetingMock as dQ, meetingParticipantMock as dR, meetingRoleTypeMock as dS, meetingSessionMock as dT, meetingTimeSlotMock as dU, meetingTypeFileTemplateMock as dV, meetingTypeMock as dW, mergeDetailRelationMiddleware as dX, mergeQuickSearchIntoRequest as dY, metadataCategoryMocks as dZ, mockParticipantIndexForSecurityUserId as d_, bypassAllFilters as da, bypassOwnershipFilter as db, bypassVisibilityFilter as dc, calendarEventMock as dd, calendarEventTypeMockData as de, calendarMock as df, chatMessageMock as dg, chatMock as dh, checkboxInterface as di, childCountMiddleware as dj, clearEntityDefinitionFirestoreCollections as dk, colorInterface as dl, computeDiff as dm, contactInterface as dn, conversationDemoSeedUserIds as dp, createFileCastMiddleware as dq, createWidgetLayoutConfig as dr, dateInterface as ds, dateTimeInterface as dt, descriptionInterface as du, documentFolderSyncMiddleware as dv, emailInterface as dw, entityDefDb as dx, entityValidationMiddleware as dy, fileUploaderInterface as dz, ACTIVITY_CATEGORY_ID_BY_KEY as e, mockRoleDefinitions as e0, multipleChoiceInterface as e1, multipleSelectInterface as e2, normalizeAnyFileArrayForView as e3, normalizeSnapshotFileFieldsForView as e4, numberInterface as e5, parseEntityStorageInsertData as e6, parseEntityStorageQueryRequest as e7, participantIds as e8, participantMock as e9, timeDurationInterface as eA, titleInterface as eB, toUiRows as eC, toggleInterface as eD, tokenCategoryIds as eE, tokenCategoryMocks as eF, urlInterface as eG, versionInterface as eH, visibilityFilterMiddleware as eI, workflowDefinitionEntityMock as eJ, workflowDefinitionIds as eK, workflowDefinitionMock as eL, yesNoInterface as eM, passwordInterface as ea, personIdentifierTypeMock as eb, personIds as ec, personLegalIds as ed, personMock as ee, personNaturalIds as ef, phoneInterface as eg, primaryMiddleware as eh, provideMockPropertySetups as ei, qrcodeInterface as ej, questionBankItemMock as ek, questionnaireCalculationMock as el, questionnaireMock as em, ratingInterface as en, richTextInterface as eo, scaleInterface as ep, selectInterface as eq, selectionListInterface as er, sexAtBirthInterface as es, signatureInterface as et, signatureLoaderMiddleware as eu, statusDefaultMiddleware as ev, tagInterface as ew, tenantMocks as ex, textAreaInterface as ey, textInterface 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 };
|
|
78240
|
+
//# sourceMappingURL=acorex-connectivity-mock-acorex-connectivity-mock-CPvIJXWl.mjs.map
|