@acorex-platform/module-conversation-client 0.0.30 → 0.0.33
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-platform-module-conversation-client-acorex-platform-module-conversation-client-C6fmww4a.mjs → acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs} +8218 -6974
- package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-CmDyRc1Y.mjs → acorex-platform-module-conversation-client-after-message-sent.command-yzW01skh.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-CmDyRc1Y.mjs.map → acorex-platform-module-conversation-client-after-message-sent.command-yzW01skh.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-CgXdPrQH.mjs → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-DhRvuCex.mjs} +6 -6
- package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-CgXdPrQH.mjs.map → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-DhRvuCex.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-assist-tool-detail-popup.component-GC58B_n0.mjs → acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BRW1cHN6.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-conversation-client-assist-tool-detail-popup.component-GC58B_n0.mjs.map → acorex-platform-module-conversation-client-assist-tool-detail-popup.component-BRW1cHN6.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-C47tt1me.mjs +1386 -0
- package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-C47tt1me.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-CjDlRcZn.mjs → acorex-platform-module-conversation-client-chat-call-start-popup.component-EZjVSlhm.mjs} +4 -4
- package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-CjDlRcZn.mjs.map → acorex-platform-module-conversation-client-chat-call-start-popup.component-EZjVSlhm.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-BVJdVPke.mjs → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-BVJdVPke.mjs.map → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-conversation-client-chat-conversation-info-panel.component-BBL8iEqc.mjs +472 -0
- package/fesm2022/acorex-platform-module-conversation-client-chat-conversation-info-panel.component-BBL8iEqc.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-5wGD4EjK.mjs → acorex-platform-module-conversation-client-comments-page.component-Djn8EikR.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-5wGD4EjK.mjs.map → acorex-platform-module-conversation-client-comments-page.component-Djn8EikR.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs +274 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs +295 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs +52 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs +242 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs +263 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs +2 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-conversation-client-contracts.mjs +39 -6
- package/fesm2022/acorex-platform-module-conversation-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs +30 -0
- package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-xUnxBY_Y.mjs → acorex-platform-module-conversation-client-mark-conversation-unread.command-BoTNaBxS.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-xUnxBY_Y.mjs.map → acorex-platform-module-conversation-client-mark-conversation-unread.command-BoTNaBxS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-B03q60Qx.mjs → acorex-platform-module-conversation-client-open-chat.command-VgeGqj-z.mjs} +16 -1
- package/fesm2022/acorex-platform-module-conversation-client-open-chat.command-VgeGqj-z.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-CPpgvLKH.mjs → acorex-platform-module-conversation-client-retry-assist-response.command-DYIpLKDB.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-CPpgvLKH.mjs.map → acorex-platform-module-conversation-client-retry-assist-response.command-DYIpLKDB.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-D97E8VvL.mjs +50 -0
- package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-D97E8VvL.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-conversation-client.mjs +1 -1
- package/package.json +18 -2
- package/types/acorex-platform-module-conversation-client-contracts-entities-message.d.ts +5 -0
- package/types/acorex-platform-module-conversation-client-contracts-entities-room.d.ts +5 -0
- package/types/acorex-platform-module-conversation-client-contracts-entity-catalog.d.ts +10 -0
- package/types/acorex-platform-module-conversation-client-contracts.d.ts +28 -18
- package/types/acorex-platform-module-conversation-client-local-entities.d.ts +12 -0
- package/types/acorex-platform-module-conversation-client.d.ts +149 -74
- package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-C6fmww4a.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-C8b3D66q.mjs +0 -871
- package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-C8b3D66q.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-conversation-client-open-chat.command-B03q60Qx.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-B6v_j64v.mjs +0 -142
- package/fesm2022/acorex-platform-module-conversation-client-sync-read-state.command-B6v_j64v.mjs.map +0 -1
|
@@ -187,7 +187,7 @@ interface AXPollPayload {
|
|
|
187
187
|
expiresAt?: Date;
|
|
188
188
|
totalVotes?: number;
|
|
189
189
|
}
|
|
190
|
-
type AXSystemEventType = 'user_joined' | 'user_left' | 'title_changed' | 'avatar_changed' | 'call_declined' | 'call_missed' | 'call_cancelled' | 'custom';
|
|
190
|
+
type AXSystemEventType = 'user_joined' | 'user_left' | 'title_changed' | 'avatar_changed' | 'call_declined' | 'call_missed' | 'call_cancelled' | 'call_completed' | 'custom';
|
|
191
191
|
interface AXSystemPayload {
|
|
192
192
|
type: 'system';
|
|
193
193
|
eventType: AXSystemEventType;
|
|
@@ -203,7 +203,7 @@ interface AXNodePayload {
|
|
|
203
203
|
/** Aligned with `@acorex/components/conversation` — node payloads use {@link AXNodePayload} at runtime with an explicit cast. */
|
|
204
204
|
type AXMessagePayload = AXTextPayload | AXImagePayload | AXVideoPayload | AXAudioPayload | AXVoicePayload | AXFilePayload | AXLocationPayload | AXStickerPayload | AXPollPayload | AXSystemPayload;
|
|
205
205
|
type AXMessageStatus = 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
|
|
206
|
-
type AXMessageType = 'text' | 'image' | 'video' | 'audio' | 'voice' | 'file' | 'location' | 'sticker' | 'poll' | 'system' | 'node' | 'assist-response' | string;
|
|
206
|
+
type AXMessageType = 'text' | 'image' | 'video' | 'audio' | 'voice' | 'file' | 'location' | 'sticker' | 'poll' | 'call-log' | 'system' | 'node' | 'assist-response' | string;
|
|
207
207
|
/** Reaction on a message. */
|
|
208
208
|
interface AXReaction {
|
|
209
209
|
/** Emoji character */
|
|
@@ -270,8 +270,9 @@ interface AXMConversationMessage extends AXPEntityModel<string> {
|
|
|
270
270
|
name?: string;
|
|
271
271
|
}
|
|
272
272
|
|
|
273
|
-
type AXParticipantRole = 'admin' | 'moderator' | 'member';
|
|
274
|
-
|
|
273
|
+
type AXParticipantRole = 'owner' | 'admin' | 'moderator' | 'member' | 'guest';
|
|
274
|
+
/** @deprecated Presence lives on the user store, not the participant snapshot. */
|
|
275
|
+
type AXParticipantStatus = 'online' | 'offline' | 'away' | 'busy';
|
|
275
276
|
/** Extended profile fields shown in private-chat info panels. */
|
|
276
277
|
interface AXUserProfile {
|
|
277
278
|
bio?: string;
|
|
@@ -282,7 +283,7 @@ interface AXUserProfile {
|
|
|
282
283
|
company?: string;
|
|
283
284
|
title?: string;
|
|
284
285
|
}
|
|
285
|
-
/** Represents a user/member in a conversation. */
|
|
286
|
+
/** Represents a user/member in a conversation (identity snapshot; live presence is per-user). */
|
|
286
287
|
interface AXParticipant {
|
|
287
288
|
/** Unique identifier for the participant */
|
|
288
289
|
id: string;
|
|
@@ -303,26 +304,26 @@ interface AXParticipant {
|
|
|
303
304
|
icon?: string;
|
|
304
305
|
/** Role in the conversation (for groups/channels) */
|
|
305
306
|
role?: AXParticipantRole;
|
|
306
|
-
/** Current online status */
|
|
307
|
-
status?: AXParticipantStatus;
|
|
308
|
-
/** Last seen timestamp (when offline/away) */
|
|
309
|
-
lastSeen?: Date;
|
|
310
307
|
/** Custom metadata */
|
|
311
308
|
metadata?: Record<string, unknown>;
|
|
312
309
|
}
|
|
313
310
|
type AXConversationType = 'private' | 'group' | 'channel' | 'bot';
|
|
314
|
-
/**
|
|
311
|
+
/**
|
|
312
|
+
* @deprecated Typing and presence are ephemeral (service + realtime), not stored on the room.
|
|
313
|
+
*/
|
|
315
314
|
interface AXConversationStatus {
|
|
316
315
|
/** Whether someone is typing */
|
|
317
316
|
isTyping: boolean;
|
|
318
317
|
/** User IDs currently typing */
|
|
319
318
|
typingUsers: string[];
|
|
320
319
|
/** Online presence (for private chats) */
|
|
321
|
-
presence?: 'online' | 'offline' | 'away';
|
|
320
|
+
presence?: 'online' | 'offline' | 'away' | 'busy';
|
|
322
321
|
/** Last seen timestamp (for private chats when offline) */
|
|
323
322
|
lastSeen?: Date;
|
|
324
323
|
}
|
|
325
|
-
/**
|
|
324
|
+
/**
|
|
325
|
+
* @deprecated Mute/notifications are per-user room preferences (`AXConversationRoomPreferences`), not room fields.
|
|
326
|
+
*/
|
|
326
327
|
interface AXConversationSettings {
|
|
327
328
|
/** Muted until timestamp */
|
|
328
329
|
mutedUntil?: Date;
|
|
@@ -355,6 +356,8 @@ interface AXConversationMetadata extends Record<string, unknown> {
|
|
|
355
356
|
* Defaults to `true` when omitted.
|
|
356
357
|
*/
|
|
357
358
|
reactionsEnabled?: boolean;
|
|
359
|
+
/** Optional composer draft for REST backends (not a canonical room field). */
|
|
360
|
+
draft?: string;
|
|
358
361
|
}
|
|
359
362
|
|
|
360
363
|
/** Distinguishes chat inbox rooms from entity comment threads in the unified store. */
|
|
@@ -387,10 +390,6 @@ interface AXMConversationRoom extends AXPEntityModel<string> {
|
|
|
387
390
|
unreadCount: number;
|
|
388
391
|
/** Number of unread mentions */
|
|
389
392
|
unreadMentions?: number;
|
|
390
|
-
/** Current status (typing, presence, etc.) */
|
|
391
|
-
status: AXConversationStatus;
|
|
392
|
-
/** User-specific settings */
|
|
393
|
-
settings: AXConversationSettings;
|
|
394
393
|
/** Pinned messages IDs */
|
|
395
394
|
pinnedMessageIds?: string[];
|
|
396
395
|
/** Conversation creation timestamp */
|
|
@@ -403,7 +402,10 @@ interface AXMConversationRoom extends AXPEntityModel<string> {
|
|
|
403
402
|
pinned?: boolean;
|
|
404
403
|
/** Whether conversation is archived */
|
|
405
404
|
archived?: boolean;
|
|
406
|
-
/**
|
|
405
|
+
/**
|
|
406
|
+
* Composer draft persisted on the room for REST backends.
|
|
407
|
+
* Not part of the `@acorex/components/conversation` room model.
|
|
408
|
+
*/
|
|
407
409
|
draft?: string;
|
|
408
410
|
/** Custom metadata */
|
|
409
411
|
metadata?: AXConversationMetadata;
|
|
@@ -453,7 +455,15 @@ type ConversationAssistWireEvent = {
|
|
|
453
455
|
};
|
|
454
456
|
|
|
455
457
|
declare function axmExtractAssistIdFromMetadata(metadata: Record<string, unknown> | undefined): string | undefined;
|
|
458
|
+
/**
|
|
459
|
+
* Legacy detector for unsupported agent-as-chat rooms. Not an engine targeting API.
|
|
460
|
+
*/
|
|
456
461
|
declare function axmExtractDirectAgentIdFromMetadata(metadata: Record<string, unknown> | undefined): string | undefined;
|
|
462
|
+
/**
|
|
463
|
+
* True when the room is a leftover agent-as-chat conversation with no Assist id.
|
|
464
|
+
* Callers must fail explicitly; do not map these rooms onto the default Assist.
|
|
465
|
+
*/
|
|
466
|
+
declare function axmIsUnsupportedLegacyAgentAssistConversation(metadata: Record<string, unknown> | undefined): boolean;
|
|
457
467
|
declare function axmConversationHasAiChat(metadata: Record<string, unknown> | undefined): boolean;
|
|
458
468
|
declare function axmChatAiPeerParticipantId(catalogId: string): string;
|
|
459
469
|
declare function axmReadAssistResponseStatus(metadata: Record<string, unknown> | undefined): string | undefined;
|
|
@@ -493,5 +503,5 @@ interface AXMConversationAssistMessageHandler {
|
|
|
493
503
|
}
|
|
494
504
|
declare const AXM_CONVERSATION_ASSIST_MESSAGE_HANDLER: unique symbol;
|
|
495
505
|
|
|
496
|
-
export { AXMPermissionsKeys, AXM_ASSIST_CONVERSATION_TITLE_SYSTEM_PROMPT, AXM_COMMENT_LIKE_EMOJI, AXM_CONVERSATION_ASSIST_MESSAGE_HANDLER, AXPCollaborationPermissionKeys, AXPConversationMenuKeys, RootConfig, axmBuildHeuristicConversationTitleFallback, axmChatAiPeerParticipantId, axmCoerceMessageTimestampMs, axmCompareMessagesChronologically, axmConversationHasAiChat, axmEnsureAssistMessageSortsAfterReplyTarget, axmExtractAssistIdFromMetadata, axmExtractDirectAgentIdFromMetadata, axmNormalizeConversationTitle, axmReadAssistResponseStatus, axmReadReplyToUserMessageId, axmResolveAssistMessageTimestamp, axmSanitizeAiGeneratedConversationTitle, extractMessageTextFromPayload };
|
|
506
|
+
export { AXMPermissionsKeys, AXM_ASSIST_CONVERSATION_TITLE_SYSTEM_PROMPT, AXM_COMMENT_LIKE_EMOJI, AXM_CONVERSATION_ASSIST_MESSAGE_HANDLER, AXPCollaborationPermissionKeys, AXPConversationMenuKeys, RootConfig, axmBuildHeuristicConversationTitleFallback, axmChatAiPeerParticipantId, axmCoerceMessageTimestampMs, axmCompareMessagesChronologically, axmConversationHasAiChat, axmEnsureAssistMessageSortsAfterReplyTarget, axmExtractAssistIdFromMetadata, axmExtractDirectAgentIdFromMetadata, axmIsUnsupportedLegacyAgentAssistConversation, axmNormalizeConversationTitle, axmReadAssistResponseStatus, axmReadReplyToUserMessageId, axmResolveAssistMessageTimestamp, axmSanitizeAiGeneratedConversationTitle, extractMessageTextFromPayload };
|
|
497
507
|
export type { AXAudioMediaItem, AXAudioPayload, AXConversationMessageListBackground, AXConversationMessageListThemeBackground, AXConversationMetadata, AXConversationSettings, AXConversationStatus, AXConversationType, AXFileMediaItem, AXFilePayload, AXImageMediaItem, AXImagePayload, AXLink, AXLinkPreview, AXLocationPayload, AXMCommentEntityData, AXMConversationAssistMessageHandler, AXMConversationMessage, AXMConversationReaction, AXMConversationRoom, AXMConversationRoomKind, AXMReactionType, AXMediaItemFields, AXMention, AXMessagePayload, AXMessageStatus, AXMessageType, AXNodePayload, AXParticipant, AXParticipantRole, AXParticipantStatus, AXPollOption, AXPollPayload, AXReaction, AXStickerPayload, AXSystemEventType, AXSystemPayload, AXTextFormat, AXTextPayload, AXUserProfile, AXVideoMediaItem, AXVideoPayload, AXVoicePayload, ConversationAssistFrontendToolCall, ConversationAssistWireEvent };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
export { conversationLocalEntityCatalog } from '@acorex-platform/module-conversation-client/contracts/entity-catalog';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Registers conversation layouts on the client from packaged factories.
|
|
6
|
+
* Each `import()` targets a secondary entry so unused entities stay out of the
|
|
7
|
+
* bundle. Do not add this to the demo app; demo continues to load layouts via
|
|
8
|
+
* `Domain:GetEntityLayout`.
|
|
9
|
+
*/
|
|
10
|
+
declare function provideConversationLocalEntities(): _angular_core.EnvironmentProviders;
|
|
11
|
+
|
|
12
|
+
export { provideConversationLocalEntities };
|
|
@@ -8,7 +8,7 @@ import { AXPExecuteCommand, AXPMultiLanguageString, AXPWidgetNode, AXPUserRefere
|
|
|
8
8
|
import { AXPDeviceService } from '@acorex-platform/framework-client/core';
|
|
9
9
|
import { AXPPageLayoutBaseComponent } from '@acorex-platform/framework-client/layout/views';
|
|
10
10
|
import * as _acorex_components_conversation from '@acorex/components/conversation';
|
|
11
|
-
import { AXConversationApi, AXConversation, AXConversationMessageApi, AXConversationMessage, AXConversationRealtimeApi, AXConversationUserApi, AXConversationCreateData, AXConversationPagination, AXConversationFilters, AXConversationPaginatedResult, AXConversationUpdateData, AXConversationParticipant, AXConversationParticipantUpdate,
|
|
11
|
+
import { AXConversationApi, AXConversation, AXConversationMessageApi, AXConversationMessage, AXConversationRealtimeApi, AXConversationUserApi, AXConversationCreateData, AXConversationPagination, AXConversationFilters, AXConversationPaginatedResult, AXConversationUpdateData, AXConversationParticipant, AXConversationParticipantUpdate, AXConversationSendMessageCommand, AXConversationMessagePayload, AXConversationMessageSearchFilters, AXConversationReadReceipt, AXConversationMessageForwardData, AXConversationPinnedMessage, AXConversationTypingIndicator, AXConversationUser, AXConversationUserProfileUpdate, AXConversationUserSearchFilters, AXConversationPresenceUpdate, AXConversationPresenceStatus, AXConversationBlockReportReason, AXConversationRoomPreferencesMap, AXConversationRoomPreferences, AXConversationTab, AXConversationConnectionStatus, AXConversationService } from '@acorex/components/conversation';
|
|
12
12
|
import { AXMConversationRoom, AXMConversationMessage, AXMCommentEntityData, AXReaction, AXMessagePayload, AXMReactionType } from '@acorex-platform/module-conversation-client/contracts';
|
|
13
13
|
import { Observable } from 'rxjs';
|
|
14
14
|
import { AXClickEvent, AXStyleLookType, AXPlacement } from '@acorex/cdk/common';
|
|
@@ -19,6 +19,8 @@ import { AXWysiwygContainerComponent } from '@acorex/components/wysiwyg';
|
|
|
19
19
|
import { AXPCommand, AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';
|
|
20
20
|
import { AXBasePageComponent } from '@acorex/components/page';
|
|
21
21
|
import { AXPWidgetConfig } from '@acorex-platform/framework-shared/widget-core';
|
|
22
|
+
import * as _ngrx_signals from '@ngrx/signals';
|
|
23
|
+
import * as _acorex_platform_framework_client_themes_shared from '@acorex-platform/framework-client/themes/shared';
|
|
22
24
|
|
|
23
25
|
declare class AXMConversationModule {
|
|
24
26
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMConversationModule, never>;
|
|
@@ -44,7 +46,6 @@ declare class AXMChatComponent extends AXPPageLayoutBaseComponent {
|
|
|
44
46
|
#private;
|
|
45
47
|
private readonly conversationService;
|
|
46
48
|
private readonly chatConversationApi;
|
|
47
|
-
private readonly assistResponse;
|
|
48
49
|
private readonly miniChatPanelService;
|
|
49
50
|
private readonly composerService;
|
|
50
51
|
private readonly infoBarService;
|
|
@@ -52,10 +53,11 @@ declare class AXMChatComponent extends AXPPageLayoutBaseComponent {
|
|
|
52
53
|
private readonly _assistChatDebugModeInit;
|
|
53
54
|
private readonly activatedRoute;
|
|
54
55
|
private readonly dialogService;
|
|
55
|
-
private readonly popupService;
|
|
56
56
|
private readonly badgeService;
|
|
57
57
|
protected readonly deviceService: AXPDeviceService;
|
|
58
|
+
private readonly destroyRef;
|
|
58
59
|
private readonly routeConversationId;
|
|
60
|
+
private readonly routerUrl;
|
|
59
61
|
ngOnInit(): Promise<void>;
|
|
60
62
|
/**
|
|
61
63
|
* Computed signal to check if there is an active conversation selected.
|
|
@@ -69,32 +71,21 @@ declare class AXMChatComponent extends AXPPageLayoutBaseComponent {
|
|
|
69
71
|
/**
|
|
70
72
|
* Handles conversation selection from the sidebar.
|
|
71
73
|
* Navigates to the selected conversation route.
|
|
72
|
-
* On mobile, closes the sidebar after selection.
|
|
73
74
|
* @param conversationId - The ID of the selected conversation.
|
|
74
75
|
*/
|
|
75
76
|
onConversationSelected(conversationId: string): void;
|
|
76
|
-
/**
|
|
77
|
-
* Navigates back to the conversation list (mobile view).
|
|
78
|
-
* Removes the route param and clears the active conversation.
|
|
79
|
-
* Opens the sidebar to show the conversation list.
|
|
80
|
-
*/
|
|
77
|
+
/** Mobile back: return to the full-screen conversation list (no layout sidebar). */
|
|
81
78
|
openChatList(): void;
|
|
82
79
|
/**
|
|
83
80
|
* Opens the platform conversation info panel when the info-bar title/avatar area is clicked.
|
|
84
81
|
*/
|
|
85
82
|
onInfoBarClick(): void;
|
|
86
|
-
/** Composer Stop — abort server-side assist generation and SSE stream updates. */
|
|
87
|
-
onComposerGenerationCancelled(): void;
|
|
88
83
|
/**
|
|
89
84
|
* Handles Escape key from chat container.
|
|
90
85
|
* Replicates conversation source behavior by closing active conversation here.
|
|
91
86
|
* Also keeps URL and chat state in sync.
|
|
92
87
|
*/
|
|
93
88
|
onContainerEscape(): void;
|
|
94
|
-
/**
|
|
95
|
-
* Toggles the start side (sidebar) visibility.
|
|
96
|
-
*/
|
|
97
|
-
protected toggleStartSide(): void;
|
|
98
89
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatComponent, never>;
|
|
99
90
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMChatComponent, "axm-chat", never, {}, {}, never, never, true, never>;
|
|
100
91
|
}
|
|
@@ -170,7 +161,6 @@ declare class AXMChatEntityConversationApi extends AXMChatConversationApi {
|
|
|
170
161
|
pinConversation(conversationId: string): Promise<void>;
|
|
171
162
|
unpinConversation(conversationId: string): Promise<void>;
|
|
172
163
|
markConversationAsRead(conversationId: string): Promise<void>;
|
|
173
|
-
markConversationAsUnread(conversationId: string): Promise<void>;
|
|
174
164
|
searchConversations(query: string): Promise<AXConversation[]>;
|
|
175
165
|
filterConversations(filters: AXConversationFilters, pagination?: AXConversationPagination): Promise<AXConversationPaginatedResult<AXConversation>>;
|
|
176
166
|
findEntityConversations(entityType: string, entityId: string): Promise<AXConversation[]>;
|
|
@@ -179,10 +169,6 @@ declare class AXMChatEntityConversationApi extends AXMChatConversationApi {
|
|
|
179
169
|
removeParticipant(conversationId: string, userId: string): Promise<AXConversation>;
|
|
180
170
|
leaveConversation(conversationId: string): Promise<void>;
|
|
181
171
|
updateParticipant(conversationId: string, update: AXConversationParticipantUpdate): Promise<AXConversation>;
|
|
182
|
-
getConversationSettings(conversationId: string): Promise<AXConversationSettingsUpdate>;
|
|
183
|
-
updateConversationSettings(conversationId: string, settings: AXConversationSettingsUpdate): Promise<void>;
|
|
184
|
-
muteConversation(conversationId: string, duration?: number): Promise<void>;
|
|
185
|
-
unmuteConversation(conversationId: string): Promise<void>;
|
|
186
172
|
uploadConversationAvatar(_conversationId: string, _file: File): Promise<string>;
|
|
187
173
|
getConversationMedia(_conversationId: string, pagination?: AXConversationPagination): Promise<AXConversationPaginatedResult<unknown>>;
|
|
188
174
|
addConversationTags(_conversationId: string, _tags: string[]): Promise<void>;
|
|
@@ -201,14 +187,20 @@ declare class AXMChatEntityConversationApi extends AXMChatConversationApi {
|
|
|
201
187
|
declare class AXMChatEntityConversationFocusHandler {
|
|
202
188
|
private readonly userApi;
|
|
203
189
|
private readonly commandService;
|
|
190
|
+
private readonly session;
|
|
204
191
|
private readonly focusService;
|
|
192
|
+
private readonly inAppSync;
|
|
205
193
|
private readonly assistResponse;
|
|
206
194
|
private readonly realtimeConnection;
|
|
195
|
+
private readonly document;
|
|
196
|
+
private readonly destroyRef;
|
|
207
197
|
private subscribedConversationId;
|
|
208
198
|
private focusSyncTimer;
|
|
209
199
|
private pendingFocusConversationId;
|
|
200
|
+
constructor();
|
|
210
201
|
reportFocusedConversation(conversationId: string | null): void;
|
|
211
202
|
private runFocusedConversationSync;
|
|
203
|
+
private dismissInboxForVisibleFocus;
|
|
212
204
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatEntityConversationFocusHandler, never>;
|
|
213
205
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMChatEntityConversationFocusHandler>;
|
|
214
206
|
}
|
|
@@ -240,6 +232,11 @@ declare function axmRoomEntityToConversation(room: AXMConversationRoom, currentU
|
|
|
240
232
|
* Maps a persisted message entity to the conversation {@link AXConversationMessage} contract.
|
|
241
233
|
*/
|
|
242
234
|
declare function axmMessageEntityToMessage(message: AXMConversationMessage): AXConversationMessage;
|
|
235
|
+
/**
|
|
236
|
+
* Builds a UI message from a realtime envelope, filling id/conversationId when
|
|
237
|
+
* the snapshot omitted them (Mongo `_id`, partial payloads).
|
|
238
|
+
*/
|
|
239
|
+
declare function axmHydrateRealtimeConversationMessage(snapshot: Record<string, unknown> | undefined, messageId: string, conversationId: string): AXConversationMessage | null;
|
|
243
240
|
/**
|
|
244
241
|
* Maps a security-management user row to {@link AXConversationParticipant}.
|
|
245
242
|
*/
|
|
@@ -247,6 +244,7 @@ declare function axmUserRowToParticipant(user: {
|
|
|
247
244
|
id: string;
|
|
248
245
|
displayName?: string;
|
|
249
246
|
username?: string;
|
|
247
|
+
avatar?: string | null;
|
|
250
248
|
}): AXConversationParticipant;
|
|
251
249
|
|
|
252
250
|
/**
|
|
@@ -263,6 +261,9 @@ declare class AXMChatEntityMessageApi extends AXMChatMessageApi {
|
|
|
263
261
|
private readonly conversationStore;
|
|
264
262
|
private readonly realtime;
|
|
265
263
|
private readonly typingStopTimers;
|
|
264
|
+
private readonly typingEmitState;
|
|
265
|
+
private static readonly TYPING_EMIT_THROTTLE_MS;
|
|
266
|
+
private static readonly TYPING_STOP_IDLE_MS;
|
|
266
267
|
private readonly messageData;
|
|
267
268
|
private readonly roomData;
|
|
268
269
|
private requireConversationParticipant;
|
|
@@ -316,57 +317,27 @@ declare class AXMChatEntityMessageApi extends AXMChatMessageApi {
|
|
|
316
317
|
*/
|
|
317
318
|
declare class AXMChatEntityRealtimeApi extends AXMChatRealtimeApi {
|
|
318
319
|
private readonly bus;
|
|
319
|
-
private readonly realtimeConnection;
|
|
320
320
|
private readonly presence;
|
|
321
|
-
readonly
|
|
322
|
-
connect(_options?: AXConversationConnectionOptions): Promise<void>;
|
|
323
|
-
disconnect(): Promise<void>;
|
|
324
|
-
isConnected(): boolean;
|
|
325
|
-
reconnect(): Promise<void>;
|
|
326
|
-
subscribeToConnectionEvents(): Observable<AXConversationConnectionEvent>;
|
|
321
|
+
private readonly chatLastSeen;
|
|
327
322
|
subscribeToMessages(conversationId: string): Observable<AXConversationMessage>;
|
|
328
323
|
subscribeToMessageUpdates(conversationId?: string): Observable<AXConversationMessage>;
|
|
329
324
|
subscribeToMessageDeletions(_conversationId?: string): Observable<string>;
|
|
330
|
-
subscribeToMessageReactions(conversationId?: string): Observable<AXConversationMessage>;
|
|
331
|
-
subscribeToConversationUpdates(): Observable<AXConversation>;
|
|
332
|
-
subscribeToConversationCreated(): Observable<AXConversation>;
|
|
333
|
-
subscribeToConversationDeleted(): Observable<string>;
|
|
334
|
-
subscribeToTypingIndicators(conversationId: string): Observable<AXConversationTypingIndicator>;
|
|
335
|
-
subscribeToPresenceUpdates(userIds?: string[]): Observable<_acorex_components_conversation.AXConversationPresenceUpdate>;
|
|
336
|
-
subscribeToReadReceipts(conversationId?: string): Observable<{
|
|
337
|
-
messageId: string;
|
|
338
|
-
userId: string;
|
|
339
|
-
readAt: Date;
|
|
340
|
-
}>;
|
|
341
|
-
subscribeToNotifications(): Observable<AXConversationNotificationEvent>;
|
|
342
|
-
subscribeToCallEvents(): Observable<AXConversationCallEvent>;
|
|
343
|
-
subscribeToUserBlockEvents(): Observable<{
|
|
344
|
-
userId: string;
|
|
345
|
-
blocked: boolean;
|
|
346
|
-
}>;
|
|
347
|
-
subscribeToParticipantEvents(_conversationId?: string): Observable<{
|
|
348
|
-
conversationId: string;
|
|
349
|
-
userId: string;
|
|
350
|
-
action: 'added' | 'removed';
|
|
351
|
-
}>;
|
|
352
|
-
subscribeToSystemEvents(): Observable<{
|
|
353
|
-
type: string;
|
|
354
|
-
message: string;
|
|
355
|
-
data?: unknown;
|
|
356
|
-
}>;
|
|
357
325
|
subscribeToMessageStatusChanges(conversationId?: string): Observable<{
|
|
358
326
|
messageId: string;
|
|
359
327
|
status: 'sending' | 'sent' | 'delivered' | 'read' | 'failed';
|
|
360
328
|
timestamp: Date;
|
|
361
329
|
}>;
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
subscribeToDraftChanges(_conversationId?: string): Observable<{
|
|
367
|
-
conversationId: string;
|
|
368
|
-
draft: string | null;
|
|
330
|
+
subscribeToReadReceipts(conversationId?: string): Observable<{
|
|
331
|
+
messageId: string;
|
|
332
|
+
userId: string;
|
|
333
|
+
readAt: Date;
|
|
369
334
|
}>;
|
|
335
|
+
subscribeToConversationUpdates(): Observable<AXConversation>;
|
|
336
|
+
subscribeToConversationCreated(): Observable<AXConversation>;
|
|
337
|
+
subscribeToConversationDeleted(): Observable<string>;
|
|
338
|
+
subscribeToTypingIndicators(conversationId: string): Observable<AXConversationTypingIndicator>;
|
|
339
|
+
subscribeToPresenceUpdates(userIds?: string[]): Observable<_acorex_components_conversation.AXConversationPresenceUpdate>;
|
|
340
|
+
private hydratePresenceLastSeen;
|
|
370
341
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatEntityRealtimeApi, never>;
|
|
371
342
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMChatEntityRealtimeApi>;
|
|
372
343
|
}
|
|
@@ -380,14 +351,17 @@ declare class AXMChatEntityUserApi extends AXMChatUserApi {
|
|
|
380
351
|
private readonly entityService;
|
|
381
352
|
private readonly usersData;
|
|
382
353
|
private readonly presence;
|
|
383
|
-
|
|
384
|
-
|
|
354
|
+
private readonly chatLastSeen;
|
|
355
|
+
private readonly preferencesByUserId;
|
|
356
|
+
getCurrentUser(): Promise<AXConversationUser>;
|
|
357
|
+
updateProfile(updates: AXConversationUserProfileUpdate): Promise<AXConversationUser>;
|
|
385
358
|
uploadAvatar(_file: File): Promise<string>;
|
|
386
359
|
getUsers(pagination?: AXConversationPagination, filters?: AXConversationUserSearchFilters): Promise<AXConversationPaginatedResult<AXConversationParticipant>>;
|
|
387
360
|
searchUsers(query: string): Promise<AXConversationParticipant[]>;
|
|
388
361
|
getUserById(userId: string): Promise<AXConversationParticipant>;
|
|
389
362
|
getUsersByIds(userIds: string[]): Promise<AXConversationParticipant[]>;
|
|
390
363
|
getUserPresence(userId: string): Promise<AXConversationPresenceUpdate>;
|
|
364
|
+
getUsersPresence(userIds: string[]): Promise<AXConversationPresenceUpdate[]>;
|
|
391
365
|
updatePresence(status: AXConversationPresenceStatus, _statusText?: string): Promise<void>;
|
|
392
366
|
blockUser(_userId: string, _reason?: AXConversationBlockReportReason): Promise<void>;
|
|
393
367
|
unblockUser(_userId: string): Promise<void>;
|
|
@@ -395,6 +369,9 @@ declare class AXMChatEntityUserApi extends AXMChatUserApi {
|
|
|
395
369
|
reportUser(_userId: string, _reason: AXConversationBlockReportReason): Promise<void>;
|
|
396
370
|
getUserSettings(): Promise<Record<string, unknown>>;
|
|
397
371
|
updateUserSettings(_settings: Record<string, unknown>): Promise<void>;
|
|
372
|
+
getConversationPreferences(): Promise<AXConversationRoomPreferencesMap>;
|
|
373
|
+
getConversationPreferencesForRoom(conversationId: string): Promise<AXConversationRoomPreferences>;
|
|
374
|
+
updateConversationPreferences(conversationId: string, preferences: Partial<AXConversationRoomPreferences>): Promise<AXConversationRoomPreferences>;
|
|
398
375
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMChatEntityUserApi, never>;
|
|
399
376
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMChatEntityUserApi>;
|
|
400
377
|
}
|
|
@@ -612,10 +589,15 @@ declare function axmAssistFollowUpItemsFromUnknown(raw: unknown): AXPAiChatFollo
|
|
|
612
589
|
*/
|
|
613
590
|
declare function axmExtractAssistIdFromMetadata(metadata: Record<string, unknown> | undefined): string | undefined;
|
|
614
591
|
/**
|
|
615
|
-
*
|
|
592
|
+
* Legacy detector for unsupported agent-as-chat rooms. Not an engine targeting API.
|
|
616
593
|
*/
|
|
617
594
|
declare function axmExtractDirectAgentIdFromMetadata(metadata: Record<string, unknown> | undefined): string | undefined;
|
|
618
|
-
/**
|
|
595
|
+
/**
|
|
596
|
+
* True when the room is a leftover agent-as-chat conversation with no Assist id.
|
|
597
|
+
* Callers must fail explicitly; do not map these rooms onto the default Assist.
|
|
598
|
+
*/
|
|
599
|
+
declare function axmIsUnsupportedLegacyAgentAssistConversation(metadata: Record<string, unknown> | undefined): boolean;
|
|
600
|
+
/** True when the conversation targets an assist catalog row or a leftover unsupported agent-as-chat room. */
|
|
619
601
|
declare function axmConversationHasAiChat(metadata: Record<string, unknown> | undefined): boolean;
|
|
620
602
|
/** Reads embedded assist welcome/model fields stamped at conversation create. */
|
|
621
603
|
declare function axmExtractAssistSnapshotFromMetadata(metadata: Record<string, unknown> | undefined): AXMAssistConversationSnapshotLite | null;
|
|
@@ -743,7 +725,9 @@ declare const AXM_CONVERSATION_REGULAR_AUTO_REPLY_PORT: InjectionToken<AXMConver
|
|
|
743
725
|
declare class AXMConversationEntityStoreService {
|
|
744
726
|
private readonly entityService;
|
|
745
727
|
private readonly filterService;
|
|
728
|
+
private readonly session;
|
|
746
729
|
private readonly bus;
|
|
730
|
+
private readonly userApi;
|
|
747
731
|
private readonly messageData;
|
|
748
732
|
private readonly roomData;
|
|
749
733
|
/** Serializes entity writes per message id so streaming deltas persist in order. */
|
|
@@ -758,13 +742,18 @@ declare class AXMConversationEntityStoreService {
|
|
|
758
742
|
private readonly conversationFetchChains;
|
|
759
743
|
/** Dedupes concurrent message list queries (page 0). */
|
|
760
744
|
private readonly messageListFetchChains;
|
|
745
|
+
private readonly unreadTotalSignal;
|
|
746
|
+
/** Telegram-style total unread across cached rooms — drives the Conversations menu badge. */
|
|
747
|
+
readonly unreadTotal: _angular_core.Signal<number>;
|
|
761
748
|
getCachedConversation(conversationId: string): AXConversation | null;
|
|
762
749
|
getCachedMessageList(conversationId: string): AXConversationMessage[] | null;
|
|
763
750
|
cacheConversation(conversation: AXConversation): void;
|
|
751
|
+
clearSessionCaches(): void;
|
|
764
752
|
cacheConversationFromRoom(room: AXMConversationRoom, currentUserId?: string): AXConversation;
|
|
765
753
|
getConversation(conversationId: string, options?: {
|
|
766
754
|
force?: boolean;
|
|
767
755
|
}): Promise<AXConversation | null>;
|
|
756
|
+
refreshConversation(conversationId: string): Promise<AXConversation | null>;
|
|
768
757
|
private fetchConversationFromEntity;
|
|
769
758
|
/** Persists auto-generated title after assist completes (never during streaming). */
|
|
770
759
|
persistAssistTitlePatch(room: AXMConversationRoom): Promise<void>;
|
|
@@ -798,15 +787,27 @@ declare class AXMConversationEntityStoreService {
|
|
|
798
787
|
touchLastMessage(conversationId: string, message: AXConversationMessage): Promise<void>;
|
|
799
788
|
updateConversation(conversation: AXConversation): Promise<AXConversation>;
|
|
800
789
|
updateConversationMetadata(conversationId: string, metadata: Record<string, unknown>): Promise<void>;
|
|
790
|
+
/**
|
|
791
|
+
* Increments unread for an incoming message that is not currently focused.
|
|
792
|
+
* Stays in-memory so a shared room.unreadCount is not written to the sender.
|
|
793
|
+
*/
|
|
794
|
+
applyIncomingMessageUnread(message: AXConversationMessage, currentUserId: string): Promise<void>;
|
|
801
795
|
setUnreadCount(conversationId: string, unreadCount: number): Promise<void>;
|
|
802
796
|
syncConversationUnreadCount(conversationId: string, currentUserId: string): Promise<void>;
|
|
797
|
+
private recomputeUnreadTotal;
|
|
803
798
|
private isAssistResponseEntity;
|
|
804
799
|
messageToEntityFields(message: AXConversationMessage): Partial<AXMConversationMessage>;
|
|
805
800
|
axMessageFromCommand(command: AXConversationSendMessageCommand, senderId: string): AXConversationMessage;
|
|
806
801
|
publishNewMessage(message: AXConversationMessage): void;
|
|
807
802
|
publishMessageUpdate(message: AXConversationMessage): void;
|
|
808
|
-
|
|
809
|
-
|
|
803
|
+
publishMessageDeletion(messageId: string): void;
|
|
804
|
+
publishConversationUpdate(conversation: AXConversation, markLocal?: boolean): void;
|
|
805
|
+
publishConversationCreated(conversation: AXConversation, markLocal?: boolean): void;
|
|
806
|
+
/** Persists inbox last-message when the edited/deleted bubble is the current preview. */
|
|
807
|
+
syncPersistedLastMessage(message: AXConversationMessage): Promise<void>;
|
|
808
|
+
publishConversationDeleted(conversationId: string): void;
|
|
809
|
+
/** Keeps inbox last-message preview in sync when the last bubble is edited or deleted. */
|
|
810
|
+
syncConversationPreviewFromMessage(message: AXConversationMessage): void;
|
|
810
811
|
publishTypingIndicator(indicator: _acorex_components_conversation.AXConversationTypingIndicator): void;
|
|
811
812
|
publishPresenceUpdate(update: _acorex_components_conversation.AXConversationPresenceUpdate): void;
|
|
812
813
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMConversationEntityStoreService, never>;
|
|
@@ -818,6 +819,7 @@ declare class AXMConversationEntityStoreService {
|
|
|
818
819
|
*/
|
|
819
820
|
declare class AXMConversationFocusService {
|
|
820
821
|
private readonly store;
|
|
822
|
+
private readonly document;
|
|
821
823
|
private focusedConversationId;
|
|
822
824
|
/** Reactive focus id for computed UI (retry screen, etc.). */
|
|
823
825
|
readonly focusedConversationIdSignal: _angular_core.WritableSignal<string | null>;
|
|
@@ -848,8 +850,10 @@ declare class AXMConversationRealtimeBus {
|
|
|
848
850
|
readonly messageDeletions$: Observable<string>;
|
|
849
851
|
private readonly conversationUpdateSubject;
|
|
850
852
|
private readonly conversationCreatedSubject;
|
|
853
|
+
private readonly conversationDeletedSubject;
|
|
851
854
|
readonly conversationUpdates$: Observable<AXConversation>;
|
|
852
855
|
readonly conversationCreated$: Observable<AXConversation>;
|
|
856
|
+
readonly conversationDeleted$: Observable<string>;
|
|
853
857
|
private readonly typingIndicatorSubject;
|
|
854
858
|
private readonly presenceUpdateSubject;
|
|
855
859
|
readonly typingIndicators$: Observable<AXConversationTypingIndicator>;
|
|
@@ -863,8 +867,9 @@ declare class AXMConversationRealtimeBus {
|
|
|
863
867
|
private static readonly LOCAL_ROOM_MUTATION_SUPPRESS_MS;
|
|
864
868
|
markLocalRoomMutation(conversationId: string): void;
|
|
865
869
|
shouldSuppressRemoteRoomRefetch(conversationId: string): boolean;
|
|
866
|
-
publishConversationUpdate(conversation: AXConversation): void;
|
|
867
|
-
publishConversationCreated(conversation: AXConversation): void;
|
|
870
|
+
publishConversationUpdate(conversation: AXConversation, markLocal?: boolean): void;
|
|
871
|
+
publishConversationCreated(conversation: AXConversation, markLocal?: boolean): void;
|
|
872
|
+
publishConversationDeleted(conversationId: string): void;
|
|
868
873
|
publishTypingIndicator(indicator: AXConversationTypingIndicator): void;
|
|
869
874
|
publishPresenceUpdate(update: AXConversationPresenceUpdate): void;
|
|
870
875
|
messagesForConversation(conversationId: string): Observable<AXConversationMessage>;
|
|
@@ -893,8 +898,8 @@ declare const AXM_CHAT_ASSIST_CATALOG_PORT: InjectionToken<AXMChatAssistCatalogP
|
|
|
893
898
|
* Centralize the cast here so feature code does not repeat it.
|
|
894
899
|
*/
|
|
895
900
|
interface AXMConversationServiceSessionAdapter {
|
|
896
|
-
readonly currentUser: Signal<
|
|
897
|
-
setCurrentUser(
|
|
901
|
+
readonly currentUser: Signal<AXConversationUser | null>;
|
|
902
|
+
setCurrentUser(user: AXConversationUser | null): void;
|
|
898
903
|
closeActiveConversation(): void;
|
|
899
904
|
resetConversationsPagination(): void;
|
|
900
905
|
loadConversations(): Promise<void>;
|
|
@@ -1405,6 +1410,78 @@ declare class AXMMiniChatInboxPanelHostComponent {
|
|
|
1405
1410
|
*/
|
|
1406
1411
|
declare class AXMMiniChatHeaderSlotComponent {
|
|
1407
1412
|
private readonly panelService;
|
|
1413
|
+
protected readonly themeStore: {
|
|
1414
|
+
currentMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPThemeMode>;
|
|
1415
|
+
currentPalette: _angular_core.Signal<string>;
|
|
1416
|
+
systemThemeMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPThemeMode>;
|
|
1417
|
+
font: _ngrx_signals.DeepSignal<{
|
|
1418
|
+
family: string;
|
|
1419
|
+
size: string;
|
|
1420
|
+
}>;
|
|
1421
|
+
overlayLoading: _angular_core.Signal<boolean>;
|
|
1422
|
+
navigationLoading: _angular_core.Signal<boolean>;
|
|
1423
|
+
overlayLoadingTaskCount: _angular_core.Signal<number>;
|
|
1424
|
+
navigationLoadingTaskCount: _angular_core.Signal<number>;
|
|
1425
|
+
sideMenuState: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPSideMenuState>;
|
|
1426
|
+
overlaySideMenuOpen: _angular_core.Signal<boolean>;
|
|
1427
|
+
sideMenuWidth: _angular_core.Signal<number>;
|
|
1428
|
+
sideMenuCompactWidth: _angular_core.Signal<number>;
|
|
1429
|
+
menuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
1430
|
+
menuOrientation: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuOrientation>;
|
|
1431
|
+
menuAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuAppearance>;
|
|
1432
|
+
headerAppearance: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPHeaderAppearance>;
|
|
1433
|
+
mainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
1434
|
+
isPrinting: _angular_core.Signal<boolean>;
|
|
1435
|
+
isDarkMode: _angular_core.Signal<boolean>;
|
|
1436
|
+
isLightMode: _angular_core.Signal<boolean>;
|
|
1437
|
+
isSystemMode: _angular_core.Signal<boolean>;
|
|
1438
|
+
isSideMenuOpen: _angular_core.Signal<boolean>;
|
|
1439
|
+
isOverlayLoading: _angular_core.Signal<boolean>;
|
|
1440
|
+
overlayTaskCount: _angular_core.Signal<number>;
|
|
1441
|
+
isNavigationLoading: _angular_core.Signal<boolean>;
|
|
1442
|
+
isMenuHorizontal: _angular_core.Signal<boolean>;
|
|
1443
|
+
effectiveMenuVerticalMode: _angular_core.Signal<_acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode>;
|
|
1444
|
+
sideMenuDrawerWidth: _angular_core.Signal<number>;
|
|
1445
|
+
menuDarkEnabled: _angular_core.Signal<boolean>;
|
|
1446
|
+
menuBrandEnabled: _angular_core.Signal<boolean>;
|
|
1447
|
+
effectiveMainFooterFullWidth: _angular_core.Signal<boolean>;
|
|
1448
|
+
headerBrandEnabled: _angular_core.Signal<boolean>;
|
|
1449
|
+
headerButtonColor: _angular_core.Signal<"default" | "primary">;
|
|
1450
|
+
headerButtonLook: _angular_core.Signal<"default" | "blank">;
|
|
1451
|
+
changeThemeMode: (theme: _acorex_platform_framework_client_themes_shared.AXPThemeMode) => void;
|
|
1452
|
+
openSideMenu: () => void;
|
|
1453
|
+
closeSideMenu: () => void;
|
|
1454
|
+
setSideMenuWidth: (width: number) => void;
|
|
1455
|
+
setSideMenuCompactWidth: (width: number) => void;
|
|
1456
|
+
setSideMenuDrawerWidth: (width: number) => void;
|
|
1457
|
+
toggleSideMenu: () => void;
|
|
1458
|
+
setNavigationLoading: (value: boolean, delay?: number) => void;
|
|
1459
|
+
setOverlayLoading: (value: boolean, delay?: number) => void;
|
|
1460
|
+
clearOverlayLoading: () => void;
|
|
1461
|
+
loadSettings: () => Promise<void>;
|
|
1462
|
+
} & _ngrx_signals.StateSource<{
|
|
1463
|
+
currentMode: _acorex_platform_framework_client_themes_shared.AXPThemeMode;
|
|
1464
|
+
currentPalette: string;
|
|
1465
|
+
systemThemeMode: _acorex_platform_framework_client_themes_shared.AXPThemeMode;
|
|
1466
|
+
font: {
|
|
1467
|
+
family: string;
|
|
1468
|
+
size: string;
|
|
1469
|
+
};
|
|
1470
|
+
overlayLoading: boolean;
|
|
1471
|
+
navigationLoading: boolean;
|
|
1472
|
+
overlayLoadingTaskCount: number;
|
|
1473
|
+
navigationLoadingTaskCount: number;
|
|
1474
|
+
sideMenuState: _acorex_platform_framework_client_themes_shared.AXPSideMenuState;
|
|
1475
|
+
overlaySideMenuOpen: boolean;
|
|
1476
|
+
sideMenuWidth: number;
|
|
1477
|
+
sideMenuCompactWidth: number;
|
|
1478
|
+
menuVerticalMode: _acorex_platform_framework_client_themes_shared.AXPMenuVerticalMode;
|
|
1479
|
+
menuOrientation: _acorex_platform_framework_client_themes_shared.AXPMenuOrientation;
|
|
1480
|
+
menuAppearance: _acorex_platform_framework_client_themes_shared.AXPMenuAppearance;
|
|
1481
|
+
headerAppearance: _acorex_platform_framework_client_themes_shared.AXPHeaderAppearance;
|
|
1482
|
+
mainFooterFullWidth: boolean;
|
|
1483
|
+
isPrinting: boolean;
|
|
1484
|
+
}>;
|
|
1408
1485
|
private readonly chatButtonRef;
|
|
1409
1486
|
protected onToggleClick(): void;
|
|
1410
1487
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMMiniChatHeaderSlotComponent, never>;
|
|
@@ -1568,7 +1645,6 @@ declare class AXMMiniChatComponent {
|
|
|
1568
1645
|
#private;
|
|
1569
1646
|
private readonly conversationService;
|
|
1570
1647
|
private readonly conversationApi;
|
|
1571
|
-
private readonly assistResponse;
|
|
1572
1648
|
private readonly destroyRef;
|
|
1573
1649
|
/** Existing conversation id to open. When omitted (and no conversation is active), the new-chat composer is shown. */
|
|
1574
1650
|
readonly chatId: _angular_core.InputSignal<string | undefined>;
|
|
@@ -1585,7 +1661,6 @@ declare class AXMMiniChatComponent {
|
|
|
1585
1661
|
constructor();
|
|
1586
1662
|
/** New-chat composer created and selected a conversation; surface it to the host. */
|
|
1587
1663
|
onConversationCreated(conversationId: string): void;
|
|
1588
|
-
onComposerGenerationCancelled(): void;
|
|
1589
1664
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMMiniChatComponent, never>;
|
|
1590
1665
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMMiniChatComponent, "axm-mini-chat", never, { "chatId": { "alias": "chatId"; "required": false; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": false; "isSignal": true; }; "entityType": { "alias": "entityType"; "required": false; "isSignal": true; }; "assistId": { "alias": "assistId"; "required": false; "isSignal": true; }; "showInfoBar": { "alias": "showInfoBar"; "required": false; "isSignal": true; }; "showComposer": { "alias": "showComposer"; "required": false; "isSignal": true; }; }, { "conversationOpened": "conversationOpened"; }, never, never, true, never>;
|
|
1591
1666
|
}
|
|
@@ -1609,5 +1684,5 @@ declare const CONVERSATION_START_DIRECT_CHAT_COMMAND = "Conversation:StartDirect
|
|
|
1609
1684
|
/** Opens an existing conversation in the chat app. */
|
|
1610
1685
|
declare const CONVERSATION_OPEN_CHAT_COMMAND = "Conversation:OpenChat";
|
|
1611
1686
|
|
|
1612
|
-
export { AXMAddReactionCommand, AXMAssistSuggestionChipsComponent, AXMChatComponent, AXMChatConversationApi, AXMChatEntityConversationApi, AXMChatEntityConversationFocusHandler, AXMChatEntityConversationRoomQueryService, AXMChatEntityMessageApi, AXMChatEntityRealtimeApi, AXMChatEntityUserApi, AXMChatMessageApi, AXMChatRealtimeApi, AXMChatUserApi, AXMCommentComponent, AXMCommentManagementService, AXMCommentPopupComponent, AXMCommentRealtimeService, AXMCommentRealtimeServiceImpl, AXMCommentService, AXMCommentServiceImpl, AXMCommentWidgetViewComponent, AXMConversationAssistBackgroundOperationHandler, AXMConversationEntityStoreService, AXMConversationFocusService, AXMConversationModule, AXMConversationRealtimeBus, AXMEntityChatService, AXMMiniChatComponent, AXMMiniChatHeaderSlotComponent, AXMMiniChatHistoryComponent, AXMMiniChatInboxHistoryComponent, AXMMiniChatInboxPanelHostComponent, AXMMiniChatLauncherComponent, AXMMiniChatPanelComponent, AXMMiniChatPanelService, AXMShowCommentPopupCommand, AXM_AI_MANAGEMENT_AGENT_ENTITY_NAME, AXM_AI_MANAGEMENT_ASSIST_ENTITY_NAME, AXM_AI_MANAGEMENT_MODULE_NAME, AXM_ASSIST_DEFAULT_RESOLVER_PORT, AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, AXM_CHAT_ASSIST_CATALOG_PORT, AXM_CHAT_EMPTY_STATE_COMPONENT, AXM_CHAT_SIDEBAR_ACTION_PROVIDER, AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_HANDLERS, AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_KEY, AXM_CONVERSATION_ASSIST_RESPONSE_PORT, AXM_CONVERSATION_CHAT_ATTACHMENT_CATEGORY, AXM_CONVERSATION_CHAT_ATTACHMENT_REF_TYPE, AXM_CONVERSATION_REGULAR_AUTO_REPLY_PORT, AXM_CONVERSATION_TAB_BOT, AXM_MINI_CHAT_INBOX_CONVERSATION_FILTER, AXM_MINI_CHAT_INBOX_SESSION_KEY, AXPCommentWidget, COMMENTS_PAGE_COMPONENT_KEY, CONVERSATION_AFTER_MESSAGE_SENT_COMMAND, CONVERSATION_EMIT_TYPING_INDICATOR_COMMAND, CONVERSATION_MARK_CONVERSATION_UNREAD_COMMAND, CONVERSATION_OPEN_CHAT_COMMAND, CONVERSATION_RETRY_ASSIST_RESPONSE_COMMAND, CONVERSATION_SEND_ASSIST_CHAT_MESSAGE_COMMAND, CONVERSATION_START_ASSIST_CHAT_COMMAND, CONVERSATION_START_DIRECT_CHAT_COMMAND, CONVERSATION_SYNC_READ_STATE_COMMAND, axmApplyAnswerTextToAssistPayloadLine, axmAssistFollowUpItemsFromUnknown, axmAssistHasFinalizeMetadata, axmAssistLastTranscriptLine, axmAssistNormalizeFollowUpItemForConversation, axmAssistNormalizeFollowUpItemsForConversation, axmAssistPersistedMessageLooksComplete, axmAssistResolveFollowUpCommandName, axmAssistStarterPromptChipItems, axmAssistUserFacingPayloadLine, axmAssistUserVisibleItemsForLine, axmAssistWidgetNodeDedupeKey, axmAssistWidgetNodeFromUnknown, axmBuildAiChatConversationMetadata, axmBuildAssistPeerParticipantFromCreateData, axmBuildAssistPeerParticipantFromId, axmBuildAssistTranscriptLinePayload, axmBuildAutoTitleFromUserText, axmBuildEntityChatConversationMetadata, axmChatAiPeerParticipantId, axmChatAiTargetAvatarUrl, axmChatAiTargetDisplayDescription, axmChatAiTargetDisplayName, axmChatAiTargetShortcutDescriptionKey, axmCoerceDate, axmCoerceTimestampMs, axmComputeConversationUnreadCount, axmConversationHasAiChat, axmConversationIsEntityChat, axmConversationMatchesEntity, axmExtractAssistIdFromMetadata, axmExtractAssistSnapshotFromMetadata, axmExtractDirectAgentIdFromMetadata, axmExtractEntityRefFromMetadata, axmExtractModelEntityIdFromMetadata, axmExtractTextFromPayload, axmFilterChatAiTargets, axmIsAssistBotConversation, axmIsAssistPeerParticipant, axmIsAssistRetryableStatus, axmIsAssistStreamingMessage, axmIsAssistStreamingStatus, axmIsAssistTerminalStatus, axmLoadChatAiTargets, axmMessageCountsTowardUnread, axmMessageEntityToMessage, axmNormalizeAssistTranscriptForChatUi, axmNormalizeAssistTranscriptLineResponses, axmParseAssistTranscriptLinePayload, axmParseAssistTranscriptTextEnvelope, axmPartitionAssistAnswerText, axmReadAssistAiTranscript, axmReadAssistAiTranscriptRaw, axmReadAssistResponseError, axmReadAssistResponseStatus, axmReadPlainTextMessagePayload, axmReadReplyToUserMessageId, axmResolveAssistFinalAnswerText, axmResolveChatAiTargetText, axmRoomEntityToConversation, axmRoomWithAssistPeerDisplayName, axmSanitizeAssistUserAnswerText, axmShouldPreferPersistedAssistOverLiveCache, axmShowCommentPopupCommandDefinition, axmSortMessagesNewestFirst, axmSyncAssistPeerDisplayName, axmSyntheticEmbedMessage, axmUserRowToParticipant, commentsPlugin, createConversationServiceSessionAdapter, persistChatAttachment };
|
|
1687
|
+
export { AXMAddReactionCommand, AXMAssistSuggestionChipsComponent, AXMChatComponent, AXMChatConversationApi, AXMChatEntityConversationApi, AXMChatEntityConversationFocusHandler, AXMChatEntityConversationRoomQueryService, AXMChatEntityMessageApi, AXMChatEntityRealtimeApi, AXMChatEntityUserApi, AXMChatMessageApi, AXMChatRealtimeApi, AXMChatUserApi, AXMCommentComponent, AXMCommentManagementService, AXMCommentPopupComponent, AXMCommentRealtimeService, AXMCommentRealtimeServiceImpl, AXMCommentService, AXMCommentServiceImpl, AXMCommentWidgetViewComponent, AXMConversationAssistBackgroundOperationHandler, AXMConversationEntityStoreService, AXMConversationFocusService, AXMConversationModule, AXMConversationRealtimeBus, AXMEntityChatService, AXMMiniChatComponent, AXMMiniChatHeaderSlotComponent, AXMMiniChatHistoryComponent, AXMMiniChatInboxHistoryComponent, AXMMiniChatInboxPanelHostComponent, AXMMiniChatLauncherComponent, AXMMiniChatPanelComponent, AXMMiniChatPanelService, AXMShowCommentPopupCommand, AXM_AI_MANAGEMENT_AGENT_ENTITY_NAME, AXM_AI_MANAGEMENT_ASSIST_ENTITY_NAME, AXM_AI_MANAGEMENT_MODULE_NAME, AXM_ASSIST_DEFAULT_RESOLVER_PORT, AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, AXM_CHAT_ASSIST_CATALOG_PORT, AXM_CHAT_EMPTY_STATE_COMPONENT, AXM_CHAT_SIDEBAR_ACTION_PROVIDER, AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_HANDLERS, AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_KEY, AXM_CONVERSATION_ASSIST_RESPONSE_PORT, AXM_CONVERSATION_CHAT_ATTACHMENT_CATEGORY, AXM_CONVERSATION_CHAT_ATTACHMENT_REF_TYPE, AXM_CONVERSATION_REGULAR_AUTO_REPLY_PORT, AXM_CONVERSATION_TAB_BOT, AXM_MINI_CHAT_INBOX_CONVERSATION_FILTER, AXM_MINI_CHAT_INBOX_SESSION_KEY, AXPCommentWidget, COMMENTS_PAGE_COMPONENT_KEY, CONVERSATION_AFTER_MESSAGE_SENT_COMMAND, CONVERSATION_EMIT_TYPING_INDICATOR_COMMAND, CONVERSATION_MARK_CONVERSATION_UNREAD_COMMAND, CONVERSATION_OPEN_CHAT_COMMAND, CONVERSATION_RETRY_ASSIST_RESPONSE_COMMAND, CONVERSATION_SEND_ASSIST_CHAT_MESSAGE_COMMAND, CONVERSATION_START_ASSIST_CHAT_COMMAND, CONVERSATION_START_DIRECT_CHAT_COMMAND, CONVERSATION_SYNC_READ_STATE_COMMAND, axmApplyAnswerTextToAssistPayloadLine, axmAssistFollowUpItemsFromUnknown, axmAssistHasFinalizeMetadata, axmAssistLastTranscriptLine, axmAssistNormalizeFollowUpItemForConversation, axmAssistNormalizeFollowUpItemsForConversation, axmAssistPersistedMessageLooksComplete, axmAssistResolveFollowUpCommandName, axmAssistStarterPromptChipItems, axmAssistUserFacingPayloadLine, axmAssistUserVisibleItemsForLine, axmAssistWidgetNodeDedupeKey, axmAssistWidgetNodeFromUnknown, axmBuildAiChatConversationMetadata, axmBuildAssistPeerParticipantFromCreateData, axmBuildAssistPeerParticipantFromId, axmBuildAssistTranscriptLinePayload, axmBuildAutoTitleFromUserText, axmBuildEntityChatConversationMetadata, axmChatAiPeerParticipantId, axmChatAiTargetAvatarUrl, axmChatAiTargetDisplayDescription, axmChatAiTargetDisplayName, axmChatAiTargetShortcutDescriptionKey, axmCoerceDate, axmCoerceTimestampMs, axmComputeConversationUnreadCount, axmConversationHasAiChat, axmConversationIsEntityChat, axmConversationMatchesEntity, axmExtractAssistIdFromMetadata, axmExtractAssistSnapshotFromMetadata, axmExtractDirectAgentIdFromMetadata, axmExtractEntityRefFromMetadata, axmExtractModelEntityIdFromMetadata, axmExtractTextFromPayload, axmFilterChatAiTargets, axmHydrateRealtimeConversationMessage, axmIsAssistBotConversation, axmIsAssistPeerParticipant, axmIsAssistRetryableStatus, axmIsAssistStreamingMessage, axmIsAssistStreamingStatus, axmIsAssistTerminalStatus, axmIsUnsupportedLegacyAgentAssistConversation, axmLoadChatAiTargets, axmMessageCountsTowardUnread, axmMessageEntityToMessage, axmNormalizeAssistTranscriptForChatUi, axmNormalizeAssistTranscriptLineResponses, axmParseAssistTranscriptLinePayload, axmParseAssistTranscriptTextEnvelope, axmPartitionAssistAnswerText, axmReadAssistAiTranscript, axmReadAssistAiTranscriptRaw, axmReadAssistResponseError, axmReadAssistResponseStatus, axmReadPlainTextMessagePayload, axmReadReplyToUserMessageId, axmResolveAssistFinalAnswerText, axmResolveChatAiTargetText, axmRoomEntityToConversation, axmRoomWithAssistPeerDisplayName, axmSanitizeAssistUserAnswerText, axmShouldPreferPersistedAssistOverLiveCache, axmShowCommentPopupCommandDefinition, axmSortMessagesNewestFirst, axmSyncAssistPeerDisplayName, axmSyntheticEmbedMessage, axmUserRowToParticipant, commentsPlugin, createConversationServiceSessionAdapter, persistChatAttachment };
|
|
1613
1688
|
export type { AXMAddReactionCommandInput, AXMAssistConversationSnapshotLite, AXMAssistDefaultResolverPort, AXMAssistStarterPromptChipOptions, AXMChatAiTargetRow, AXMChatAssistCatalogPort, AXMChatSidebarAction, AXMComment, AXMCommentEvent, AXMCommentEventType, AXMCommentThread, AXMConversationAssistResponsePort, AXMConversationRegularAutoReplyPort, AXMConversationServiceSessionAdapter, AXMEntityChatCreateData, AXMEntityChatRef, AXMMiniChatInboxConversationFilter, AXMMiniChatPanelAnchor, AXMMiniChatPanelOpenOptions, AXMMiniChatPanelPosition, AXMMiniChatPanelScope, AXMMiniChatPanelSessionState, AXMMiniChatPanelSide, AXMSendAssistChatMessageOptions, AXMShowCommentPopupCommandInput, AXMThreadEvent, AXMThreadEventType, AXPAiChatFollowUpCommandLite, AXPAiChatFollowUpItemLite, AXPAiChatMessageLite, AXPAiChatNodeOrFollowUpResponseLite, AXPAiChatTextResponseLite, AXPAiEffectiveAssistRowLite, AxmAssistPartitionedAnswerText, AxmAssistResponseStatus, AxmAssistTranscriptLinePayload, AxmAssistUserVisibleItem, CommentsDisplayMode, CommentsPluginOptions };
|