@acorex-platform/module-conversation-client 0.0.62 → 0.0.65
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-CmRULmpl.mjs → acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-Be9CB1WQ.mjs} +251 -67
- package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-Be9CB1WQ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-JjZrYD2R.mjs → acorex-platform-module-conversation-client-after-message-sent.command-D21Bwrrp.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-JjZrYD2R.mjs.map → acorex-platform-module-conversation-client-after-message-sent.command-D21Bwrrp.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-BhED754u.mjs → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-BG2obGE8.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-BhED754u.mjs.map → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-BG2obGE8.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-assist-message-renderer.component-CR4OxDV6.mjs → acorex-platform-module-conversation-client-assist-message-renderer.component-CyTzYVsZ.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-conversation-client-assist-message-renderer.component-CR4OxDV6.mjs.map → acorex-platform-module-conversation-client-assist-message-renderer.component-CyTzYVsZ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-chat-call-session-page.component-DJreBgNo.mjs → acorex-platform-module-conversation-client-chat-call-session-page.component-BbtiucQD.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-chat-call-session-page.component-DJreBgNo.mjs.map → acorex-platform-module-conversation-client-chat-call-session-page.component-BbtiucQD.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-BEa8wEJt.mjs → acorex-platform-module-conversation-client-chat-call-start-popup.component-C-YXNbrC.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-BEa8wEJt.mjs.map → acorex-platform-module-conversation-client-chat-call-start-popup.component-C-YXNbrC.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-BsE6bCZT.mjs → acorex-platform-module-conversation-client-comments-page.component-Cgw3yLDs.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-BsE6bCZT.mjs.map → acorex-platform-module-conversation-client-comments-page.component-Cgw3yLDs.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-conversation-client-contracts.mjs +6 -1
- package/fesm2022/acorex-platform-module-conversation-client-contracts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-B1mvtbaA.mjs → acorex-platform-module-conversation-client-mark-conversation-unread.command-Cp6nnN8B.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-B1mvtbaA.mjs.map → acorex-platform-module-conversation-client-mark-conversation-unread.command-Cp6nnN8B.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-CbJ0gXZq.mjs → acorex-platform-module-conversation-client-open-chat.command-Cyes1BAz.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-CbJ0gXZq.mjs.map → acorex-platform-module-conversation-client-open-chat.command-Cyes1BAz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-BvzWaKX4.mjs → acorex-platform-module-conversation-client-retry-assist-response.command-CaxrqIvP.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-BvzWaKX4.mjs.map → acorex-platform-module-conversation-client-retry-assist-response.command-CaxrqIvP.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-conversation-client-sync-read-state.command-DQXezGRu.mjs → acorex-platform-module-conversation-client-sync-read-state.command-BFuJeJb5.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-conversation-client-sync-read-state.command-DQXezGRu.mjs.map → acorex-platform-module-conversation-client-sync-read-state.command-BFuJeJb5.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-conversation-client.mjs +1 -1
- package/package.json +2 -2
- package/types/acorex-platform-module-conversation-client-contracts.d.ts +16 -2
- package/types/acorex-platform-module-conversation-client.d.ts +23 -1
- package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CmRULmpl.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-conversation-client-open-chat.command-
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-conversation-client-open-chat.command-Cyes1BAz.mjs","sources":["../../../../libs/modules/conversation/client/src/lib/features/commands/open-chat.command.ts"],"sourcesContent":["import { AXConversationService } from '@acorex/components/conversation';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPInAppInboxConnectorService } from '@acorex-platform/module-communication-management-client';\nimport { inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { buildConversationChatInAppCorrelationPrefix } from '../chat/services/conversation-chat-notification.util';\n\n//#region ----- Types -----\n\nexport interface AXMOpenChatOptions {\n conversationId?: string;\n}\n\n//#endregion\n\n//#region ----- Command -----\n\n/** Opens an existing conversation in the chat app. */\n@Injectable({ providedIn: 'root' })\nexport class AXMConversationOpenChatCommand implements AXPCommand<AXMOpenChatOptions, { conversationId: string }> {\n //#region ----- Services & Dependencies -----\n\n private readonly conversationService = inject(AXConversationService);\n private readonly sessionService = inject(AXPSessionService);\n private readonly router = inject(Router);\n private readonly inboxConnector = inject(AXPInAppInboxConnectorService, { optional: true });\n\n //#endregion\n\n async execute(input: AXMOpenChatOptions | unknown): AXPCommandExecuteResultPromise<{ conversationId: string }> {\n const conversationId =\n typeof (input as AXMOpenChatOptions)?.conversationId === 'string'\n ? (input as AXMOpenChatOptions).conversationId!.trim()\n : '';\n\n if (!conversationId) {\n return { success: false, message: { text: '@conversation:chat.route.conversation-not-found' } };\n }\n\n await this.markConversationInAppNotificationRead(conversationId);\n\n await this.conversationService.selectConversation(conversationId);\n await this.router.navigate([this.applicationRouteSegment(), 'chat', conversationId]);\n return { success: true, kind: 'object', data: { conversationId } };\n }\n\n //#region ----- Private -----\n\n private async markConversationInAppNotificationRead(conversationId: string): Promise<void> {\n if (!this.inboxConnector) {\n return;\n }\n try {\n await this.inboxConnector.markReadByCorrelationIdPrefix(\n buildConversationChatInAppCorrelationPrefix(conversationId),\n );\n } catch {\n // Best-effort — navigation should still proceed.\n }\n }\n\n private applicationRouteSegment(): string {\n return this.sessionService.application?.name?.trim() || 'platform';\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;;;AAcA;AAEA;AAEA;MAEa,8BAA8B,CAAA;AAD3C,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACnD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAyC5F,IAAA;;IArCC,MAAM,OAAO,CAAC,KAAmC,EAAA;AAC/C,QAAA,MAAM,cAAc,GAClB,OAAQ,KAA4B,EAAE,cAAc,KAAK;AACvD,cAAG,KAA4B,CAAC,cAAe,CAAC,IAAI;cAClD,EAAE;QAER,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,iDAAiD,EAAE,EAAE;QACjG;AAEA,QAAA,MAAM,IAAI,CAAC,qCAAqC,CAAC,cAAc,CAAC;QAEhE,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,cAAc,CAAC;AACjE,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACpF,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE;IACpE;;IAIQ,MAAM,qCAAqC,CAAC,cAAsB,EAAA;AACxE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;AACA,QAAA,IAAI;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,6BAA6B,CACrD,2CAA2C,CAAC,cAAc,CAAC,CAC5D;QACH;AAAE,QAAA,MAAM;;QAER;IACF;IAEQ,uBAAuB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,UAAU;IACpE;8GA5CW,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cADjB,MAAM,EAAA,CAAA,CAAA;;2FACnB,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAD1C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable } from '@angular/core';
|
|
3
|
-
import { a as AXM_CONVERSATION_ASSIST_RESPONSE_PORT } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-
|
|
3
|
+
import { a as AXM_CONVERSATION_ASSIST_RESPONSE_PORT } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-Be9CB1WQ.mjs';
|
|
4
4
|
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region ---- Command ----
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
31
31
|
}] });
|
|
32
32
|
|
|
33
33
|
export { AXMConversationRetryAssistResponseCommand };
|
|
34
|
-
//# sourceMappingURL=acorex-platform-module-conversation-client-retry-assist-response.command-
|
|
34
|
+
//# sourceMappingURL=acorex-platform-module-conversation-client-retry-assist-response.command-CaxrqIvP.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-conversation-client-retry-assist-response.command-
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-conversation-client-retry-assist-response.command-CaxrqIvP.mjs","sources":["../../../../libs/modules/conversation/client/src/lib/features/commands/retry-assist-response.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport type { AXConversationMessage } from '@acorex/components/conversation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { Injectable, inject } from '@angular/core';\n\nimport { AXM_CONVERSATION_ASSIST_RESPONSE_PORT } from '../chat/services/conversation-assist-response.port';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMRetryAssistResponseOptions {\n conversationId: string;\n messageId: string;\n}\n\nexport interface AXMRetryAssistResponseResult {\n message: AXConversationMessage;\n}\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMConversationRetryAssistResponseCommand\n implements AXPCommand<AXMRetryAssistResponseOptions, AXMRetryAssistResponseResult>\n{\n private readonly assistResponse = inject(AXM_CONVERSATION_ASSIST_RESPONSE_PORT, { optional: true });\n\n async execute(input: AXMRetryAssistResponseOptions | unknown): AXPCommandExecuteResultPromise<AXMRetryAssistResponseResult> {\n const options = input as AXMRetryAssistResponseOptions;\n if (!this.assistResponse) {\n return { success: false, message: { text: 'Assist response service is not available.' } };\n }\n\n try {\n const message = await this.assistResponse.retryAssistResponse(options.conversationId, options.messageId);\n return { success: true, kind: 'object', data: { message } };\n } catch (error: unknown) {\n console.error('[Conversation:RetryAssistResponse] Failed:', error);\n return { success: false };\n }\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAuBA;AAEA;MAGa,yCAAyC,CAAA;AADtD,IAAA,WAAA,GAAA;QAImB,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,qCAAqC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAgBpG,IAAA;IAdC,MAAM,OAAO,CAAC,KAA8C,EAAA;QAC1D,MAAM,OAAO,GAAG,KAAsC;AACtD,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxB,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,2CAA2C,EAAE,EAAE;QAC3F;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC;AACxG,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE;QAC7D;QAAE,OAAO,KAAc,EAAE;AACvB,YAAA,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC;AAClE,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;IACF;8GAlBW,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yCAAyC,cAD5B,MAAM,EAAA,CAAA,CAAA;;2FACnB,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBADrD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable } from '@angular/core';
|
|
3
|
-
import { A as AXMConversationEntityStoreService, d as AXMConversationFocusService, e as AXMConversationInAppNotificationSyncService, f as axmMessageCountsTowardUnread } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-
|
|
3
|
+
import { A as AXMConversationEntityStoreService, d as AXMConversationFocusService, e as AXMConversationInAppNotificationSyncService, f as axmMessageCountsTowardUnread } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-Be9CB1WQ.mjs';
|
|
4
4
|
import { axmIsChannelRoom } from '@acorex-platform/module-conversation-client/contracts';
|
|
5
5
|
|
|
6
6
|
//#endregion
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
65
65
|
}] });
|
|
66
66
|
|
|
67
67
|
export { AXMConversationSyncReadStateCommand };
|
|
68
|
-
//# sourceMappingURL=acorex-platform-module-conversation-client-sync-read-state.command-
|
|
68
|
+
//# sourceMappingURL=acorex-platform-module-conversation-client-sync-read-state.command-BFuJeJb5.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-conversation-client-sync-read-state.command-
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-conversation-client-sync-read-state.command-BFuJeJb5.mjs","sources":["../../../../libs/modules/conversation/client/src/lib/features/commands/sync-read-state.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\n\nimport { inject, Injectable } from '@angular/core';\n\nimport { AXMConversationInAppNotificationSyncService } from '../chat/services/conversation-in-app-notification-sync.service';\nimport { AXMConversationEntityStoreService } from '../chat/services/conversation-entity-store.service';\nimport { AXMConversationFocusService } from '../chat/services/conversation-focus.service';\nimport { axmMessageCountsTowardUnread } from '../chat/plugins/utils/conversation-unread.util';\nimport { axmIsChannelRoom } from '@acorex-platform/module-conversation-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMSyncReadStateOptions {\n conversationId: string;\n messageIds?: string[];\n currentUserId: string;\n /** Explicit user action (sidebar Mark as Read). Skips the “must be viewing” guard. */\n force?: boolean;\n /** Inbox row was marked read — do not treat as a chat-page focus requirement. */\n fromInbox?: boolean;\n}\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMConversationSyncReadStateCommand implements AXPCommand<AXMSyncReadStateOptions, void> {\n private readonly store = inject(AXMConversationEntityStoreService);\n private readonly focus = inject(AXMConversationFocusService);\n private readonly inAppSync = inject(AXMConversationInAppNotificationSyncService);\n\n async execute(input: AXMSyncReadStateOptions | unknown): AXPCommandExecuteResultPromise<void> {\n const options = input as AXMSyncReadStateOptions;\n const conversationId = options.conversationId?.trim();\n if (!conversationId) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n const channelConversation =\n this.store.getCachedConversation(conversationId) ?? (await this.store.getConversation(conversationId));\n if (axmIsChannelRoom(channelConversation)) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n const allowWithoutFocus = Boolean(options.force || options.fromInbox);\n if (!allowWithoutFocus && !this.focus.isFocused(conversationId)) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n const currentUserId = options.currentUserId?.trim();\n const messageIds = options.messageIds?.filter((id) => id?.trim()) ?? [];\n const idsToMark =\n messageIds.length > 0\n ? messageIds\n : currentUserId\n ? await this.collectUnreadMessageIds(conversationId, currentUserId)\n : [];\n\n if (idsToMark.length > 0 && currentUserId) {\n await this.focus.markMessagesRead(conversationId, idsToMark, currentUserId);\n } else {\n const cachedConversation = this.store.getCachedConversation(conversationId);\n if ((cachedConversation?.unreadCount ?? 0) !== 0) {\n await this.store.setUnreadCount(conversationId, 0);\n }\n }\n\n if (currentUserId) {\n await this.inAppSync.markConversationInAppNotificationRead(conversationId, currentUserId, {\n force: true,\n });\n }\n return { success: true, kind: 'object', data: undefined };\n }\n\n private async collectUnreadMessageIds(conversationId: string, currentUserId: string): Promise<string[]> {\n const cached = this.store.getCachedMessageList(conversationId);\n const messages = cached ?? (await this.store.loadConversationMessages(conversationId));\n return messages\n .filter((message) => axmMessageCountsTowardUnread(message, currentUserId))\n .map((message) => message.id)\n .filter((id): id is string => Boolean(id?.trim()));\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { a4 as AXMAddReactionCommand, G as AXMAssistSuggestionChipsComponent, a5 as AXMChannelFeedItemComponent, a6 as AXMChannelFeedPage, a7 as AXMChatAnnouncementChannelService, a8 as AXMChatComponent, a9 as AXMChatComposerAssistPickerComponent, T as AXMChatComposerEnsureAssistConversationDirective, W as AXMChatConversationApi, aa as AXMChatEmptyAssistSessionService, V as AXMChatEntityConversationApi, ab as AXMChatEntityConversationFocusHandler, ac as AXMChatEntityConversationRoomQueryService, ad as AXMChatEntityMessageApi, ae as AXMChatEntityRealtimeApi, af as AXMChatEntityUserApi, o as AXMChatMessageApi, ag as AXMChatRealtimeApi, U as AXMChatUserApi, h as AXMCommentComponent, ah as AXMCommentManagementService, ai as AXMCommentPopupComponent, aj as AXMCommentRealtimeService, ak as AXMCommentRealtimeServiceImpl, al as AXMCommentService, am as AXMCommentServiceImpl, an as AXMCommentWidgetViewComponent, ao as AXMConversationAssistBackgroundOperationHandler, A as AXMConversationEntityStoreService, d as AXMConversationFocusService, ap as AXMConversationModule, Z as AXMConversationRealtimeBus, aq as AXMEntityChatService, ar as AXMMiniChatComponent, as as AXMMiniChatFileDropService, at as AXMMiniChatFooterDockComponent, au as AXMMiniChatHeaderSlotComponent, av as AXMMiniChatHistoryComponent, aw as AXMMiniChatInboxHistoryComponent, ax as AXMMiniChatLauncherComponent, ay as AXMMiniChatPageActionComponent, az as AXMMiniChatPanelComponent, aA as AXMMiniChatPanelService, aB as AXMMiniChatPopupWindowComponent, aC as AXMShowCommentPopupCommand, q as AXM_AI_MANAGEMENT_AGENT_ENTITY_NAME, aD as AXM_AI_MANAGEMENT_ASSIST_ENTITY_NAME, p as AXM_AI_MANAGEMENT_MODULE_NAME, aE as AXM_ASSIST_DEFAULT_RESOLVER_PORT, aF as AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, aG as AXM_CHAT_ASSIST_CATALOG_PORT, aH as AXM_CHAT_EMPTY_STATE_COMPONENT, aI as AXM_CHAT_SIDEBAR_ACTION_PROVIDER, aJ as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_HANDLERS, aK as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_KEY, a as AXM_CONVERSATION_ASSIST_RESPONSE_PORT, aL as AXM_CONVERSATION_CHAT_ATTACHMENT_CATEGORY, aM as AXM_CONVERSATION_CHAT_ATTACHMENT_REF_TYPE, b as AXM_CONVERSATION_REGULAR_AUTO_REPLY_PORT, aN as AXM_CONVERSATION_TAB_BOT, aO as AXM_ENTITY_LIST_CHAT_ID, aP as AXM_MINI_CHAT_INBOX_CONVERSATION_FILTER, aQ as AXM_MINI_CHAT_INBOX_SESSION_KEY, aR as AXM_MINI_CHAT_POPUP_DOCK, aS as AXM_MINI_CHAT_SCOPE_ENTITY, aT as AXM_MINI_CHAT_SCOPE_METADATA_KEY, aU as AXPCommentWidget, aV as COMMENTS_PAGE_COMPONENT_KEY, aW as CONVERSATION_AFTER_MESSAGE_SENT_COMMAND, aX as CONVERSATION_EMIT_TYPING_INDICATOR_COMMAND, aY as CONVERSATION_MARK_CONVERSATION_UNREAD_COMMAND, aZ as CONVERSATION_OPEN_CHAT_COMMAND, a_ as CONVERSATION_RETRY_ASSIST_RESPONSE_COMMAND, a$ as CONVERSATION_SEND_ASSIST_CHAT_MESSAGE_COMMAND, b0 as CONVERSATION_START_ASSIST_CHAT_COMMAND, b1 as CONVERSATION_START_DIRECT_CHAT_COMMAND, b2 as CONVERSATION_SYNC_READ_STATE_COMMAND, b3 as axmApplyAnswerTextToAssistPayloadLine, b4 as axmAssistFollowUpItemsFromUnknown, z as axmAssistHasFinalizeMetadata, b5 as axmAssistLastTranscriptLine, b6 as axmAssistNormalizeFollowUpItemForConversation, b7 as axmAssistNormalizeFollowUpItemsForConversation, b8 as axmAssistPersistedMessageLooksComplete, b9 as axmAssistResolveFollowUpCommandName, ba as axmAssistStarterPromptChipItems, bb as axmAssistSuggestionIconForLabel, x as axmAssistUserFacingPayloadLine, C as axmAssistUserVisibleItemsForLine, bc as axmAssistWidgetNodeDedupeKey, a3 as axmAssistWidgetNodeFromUnknown, bd as axmBuildAiChatConversationMetadata, be as axmBuildAssistPeerParticipantFromCreateData, bf as axmBuildAssistPeerParticipantFromId, bg as axmBuildAssistTranscriptLinePayload, bh as axmBuildAutoTitleFromUserText, bi as axmBuildEntityChatConversationMetadata, bj as axmBuildEntityChatRoomEntityRef, bk as axmChatAiPeerParticipantId, bl as axmChatAiTargetAvatarUrl, bm as axmChatAiTargetDisplayDescription, bn as axmChatAiTargetDisplayName, bo as axmChatAiTargetShortcutDescriptionKey, k as axmChatRenderableAssistWidgetNode, bp as axmCoerceDate, bq as axmCoerceTimestampMs, br as axmComputeConversationUnreadCount, c as axmConversationHasAiChat, bs as axmConversationIsEntityChat, bt as axmConversationIsGlobalChat, bu as axmConversationMatchesEntity, bv as axmConversationMatchesHistoryScope, bw as axmEntityRefForMiniChatPageContext, bx as axmEntityRefFromLaunchContext, by as axmExcludeEntityChatConversations, bz as axmExtractAssistIdFromMetadata, bA as axmExtractAssistSnapshotFromMetadata, bB as axmExtractDirectAgentIdFromMetadata, bC as axmExtractEntityRefFromMetadata, bD as axmExtractModelEntityIdFromMetadata, bE as axmExtractTextFromPayload, bF as axmFilterChatAiTargets, bG as axmFlattenConversationCreateMetadata, bH as axmHydrateRealtimeConversationMessage, bI as axmInboxConversationTab, bJ as axmIsAssistBotConversation, bK as axmIsAssistPeerParticipant, bL as axmIsAssistResponseMessage, s as axmIsAssistRetryableStatus, bM as axmIsAssistStreamingMessage, y as axmIsAssistStreamingStatus, bN as axmIsAssistTerminalStatus, bO as axmIsUnsupportedLegacyAgentAssistConversation, bP as axmLoadChatAiTargets, f as axmMessageCountsTowardUnread, bQ as axmMessageEntityToMessage, bR as axmMiniChatHistoryScopeFromDraft, bS as axmMiniChatHistoryScopeFromOpen, bT as axmMiniChatHistoryScopeKey, bU as axmMiniChatWindowOwnsRoute, bV as axmNormalizeAssistTranscriptForChatUi, bW as axmNormalizeAssistTranscriptLineResponses, v as axmParseAssistTranscriptLinePayload, m as axmParseAssistTranscriptTextEnvelope, l as axmPartitionAssistAnswerText, bX as axmPreferLocalUnreadCount, u as axmReadAssistAiTranscript, w as axmReadAssistAiTranscriptRaw, D as axmReadAssistFollowUpStatus, t as axmReadAssistResponseError, r as axmReadAssistResponseStatus, E as axmReadPlainTextMessagePayload, bY as axmReadReplyToUserMessageId, bZ as axmRemoveMiniChatHistoryItem, b_ as axmResolveAssistFinalAnswerText, b$ as axmResolveChatAiTargetText, c0 as axmRoomEntityToConversation, c1 as axmRoomIsEntityChat, c2 as axmRoomLaunchContext, c3 as axmRoomMatchesEntity, c4 as axmRoomWithAssistPeerDisplayName, B as axmSanitizeAssistUserAnswerText, c5 as axmShouldPreferPersistedAssistOverLiveCache, c6 as axmSortMessagesNewestFirst, c7 as axmSyncAssistPeerDisplayName, j as axmSyntheticEmbedMessage, c8 as axmUpsertMiniChatHistoryItem, c9 as axmUserRowToParticipant, ca as axpShowCommentPopupCommandDefinition, cb as channelFeedPageRoutes, cc as commentsPlugin, cd as createConversationServiceSessionAdapter, ce as persistChatAttachment } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-
|
|
1
|
+
export { a4 as AXMAddReactionCommand, G as AXMAssistSuggestionChipsComponent, a5 as AXMChannelFeedItemComponent, a6 as AXMChannelFeedPage, a7 as AXMChatAnnouncementChannelService, a8 as AXMChatComponent, a9 as AXMChatComposerAssistPickerComponent, T as AXMChatComposerEnsureAssistConversationDirective, W as AXMChatConversationApi, aa as AXMChatEmptyAssistSessionService, V as AXMChatEntityConversationApi, ab as AXMChatEntityConversationFocusHandler, ac as AXMChatEntityConversationRoomQueryService, ad as AXMChatEntityMessageApi, ae as AXMChatEntityRealtimeApi, af as AXMChatEntityUserApi, o as AXMChatMessageApi, ag as AXMChatRealtimeApi, U as AXMChatUserApi, h as AXMCommentComponent, ah as AXMCommentManagementService, ai as AXMCommentPopupComponent, aj as AXMCommentRealtimeService, ak as AXMCommentRealtimeServiceImpl, al as AXMCommentService, am as AXMCommentServiceImpl, an as AXMCommentWidgetViewComponent, ao as AXMConversationAssistBackgroundOperationHandler, A as AXMConversationEntityStoreService, d as AXMConversationFocusService, ap as AXMConversationModule, Z as AXMConversationRealtimeBus, aq as AXMEntityChatService, ar as AXMMiniChatComponent, as as AXMMiniChatFileDropService, at as AXMMiniChatFooterDockComponent, au as AXMMiniChatHeaderSlotComponent, av as AXMMiniChatHistoryComponent, aw as AXMMiniChatInboxHistoryComponent, ax as AXMMiniChatLauncherComponent, ay as AXMMiniChatPageActionComponent, az as AXMMiniChatPanelComponent, aA as AXMMiniChatPanelService, aB as AXMMiniChatPopupWindowComponent, aC as AXMShowCommentPopupCommand, q as AXM_AI_MANAGEMENT_AGENT_ENTITY_NAME, aD as AXM_AI_MANAGEMENT_ASSIST_ENTITY_NAME, p as AXM_AI_MANAGEMENT_MODULE_NAME, aE as AXM_ASSIST_DEFAULT_RESOLVER_PORT, aF as AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, aG as AXM_CHAT_ASSIST_CATALOG_PORT, aH as AXM_CHAT_EMPTY_STATE_COMPONENT, aI as AXM_CHAT_SIDEBAR_ACTION_PROVIDER, aJ as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_HANDLERS, aK as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_KEY, a as AXM_CONVERSATION_ASSIST_RESPONSE_PORT, aL as AXM_CONVERSATION_CHAT_ATTACHMENT_CATEGORY, aM as AXM_CONVERSATION_CHAT_ATTACHMENT_REF_TYPE, b as AXM_CONVERSATION_REGULAR_AUTO_REPLY_PORT, aN as AXM_CONVERSATION_TAB_BOT, aO as AXM_ENTITY_LIST_CHAT_ID, aP as AXM_MINI_CHAT_INBOX_CONVERSATION_FILTER, aQ as AXM_MINI_CHAT_INBOX_SESSION_KEY, aR as AXM_MINI_CHAT_POPUP_DOCK, aS as AXM_MINI_CHAT_SCOPE_ENTITY, aT as AXM_MINI_CHAT_SCOPE_METADATA_KEY, aU as AXPCommentWidget, aV as COMMENTS_PAGE_COMPONENT_KEY, aW as CONVERSATION_AFTER_MESSAGE_SENT_COMMAND, aX as CONVERSATION_EMIT_TYPING_INDICATOR_COMMAND, aY as CONVERSATION_MARK_CONVERSATION_UNREAD_COMMAND, aZ as CONVERSATION_OPEN_CHAT_COMMAND, a_ as CONVERSATION_RETRY_ASSIST_RESPONSE_COMMAND, a$ as CONVERSATION_SEND_ASSIST_CHAT_MESSAGE_COMMAND, b0 as CONVERSATION_START_ASSIST_CHAT_COMMAND, b1 as CONVERSATION_START_DIRECT_CHAT_COMMAND, b2 as CONVERSATION_SYNC_READ_STATE_COMMAND, b3 as axmApplyAnswerTextToAssistPayloadLine, b4 as axmAssistFollowUpItemsFromUnknown, z as axmAssistHasFinalizeMetadata, b5 as axmAssistLastTranscriptLine, b6 as axmAssistNormalizeFollowUpItemForConversation, b7 as axmAssistNormalizeFollowUpItemsForConversation, b8 as axmAssistPersistedMessageLooksComplete, b9 as axmAssistResolveFollowUpCommandName, ba as axmAssistStarterPromptChipItems, bb as axmAssistSuggestionIconForLabel, x as axmAssistUserFacingPayloadLine, C as axmAssistUserVisibleItemsForLine, bc as axmAssistWidgetNodeDedupeKey, a3 as axmAssistWidgetNodeFromUnknown, bd as axmBuildAiChatConversationMetadata, be as axmBuildAssistPeerParticipantFromCreateData, bf as axmBuildAssistPeerParticipantFromId, bg as axmBuildAssistTranscriptLinePayload, bh as axmBuildAutoTitleFromUserText, bi as axmBuildEntityChatConversationMetadata, bj as axmBuildEntityChatRoomEntityRef, bk as axmChatAiPeerParticipantId, bl as axmChatAiTargetAvatarUrl, bm as axmChatAiTargetDisplayDescription, bn as axmChatAiTargetDisplayName, bo as axmChatAiTargetShortcutDescriptionKey, k as axmChatRenderableAssistWidgetNode, bp as axmCoerceDate, bq as axmCoerceTimestampMs, br as axmComputeConversationUnreadCount, c as axmConversationHasAiChat, bs as axmConversationIsEntityChat, bt as axmConversationIsGlobalChat, bu as axmConversationMatchesEntity, bv as axmConversationMatchesHistoryScope, bw as axmEntityRefForMiniChatPageContext, bx as axmEntityRefFromLaunchContext, by as axmExcludeEntityChatConversations, bz as axmExtractAssistIdFromMetadata, bA as axmExtractAssistSnapshotFromMetadata, bB as axmExtractDirectAgentIdFromMetadata, bC as axmExtractEntityRefFromMetadata, bD as axmExtractModelEntityIdFromMetadata, bE as axmExtractTextFromPayload, bF as axmFilterChatAiTargets, bG as axmFlattenConversationCreateMetadata, bH as axmHydrateRealtimeConversationMessage, bI as axmInboxConversationTab, bJ as axmIsAssistBotConversation, bK as axmIsAssistPeerParticipant, bL as axmIsAssistResponseMessage, s as axmIsAssistRetryableStatus, bM as axmIsAssistStreamingMessage, y as axmIsAssistStreamingStatus, bN as axmIsAssistTerminalStatus, bO as axmIsUnsupportedLegacyAgentAssistConversation, bP as axmLoadChatAiTargets, f as axmMessageCountsTowardUnread, bQ as axmMessageEntityToMessage, bR as axmMiniChatHistoryScopeFromDraft, bS as axmMiniChatHistoryScopeFromOpen, bT as axmMiniChatHistoryScopeKey, bU as axmMiniChatWindowOwnsRoute, bV as axmNormalizeAssistTranscriptForChatUi, bW as axmNormalizeAssistTranscriptLineResponses, v as axmParseAssistTranscriptLinePayload, m as axmParseAssistTranscriptTextEnvelope, l as axmPartitionAssistAnswerText, bX as axmPreferLocalUnreadCount, u as axmReadAssistAiTranscript, w as axmReadAssistAiTranscriptRaw, D as axmReadAssistFollowUpStatus, t as axmReadAssistResponseError, r as axmReadAssistResponseStatus, E as axmReadPlainTextMessagePayload, bY as axmReadReplyToUserMessageId, bZ as axmRemoveMiniChatHistoryItem, b_ as axmResolveAssistFinalAnswerText, b$ as axmResolveChatAiTargetText, c0 as axmRoomEntityToConversation, c1 as axmRoomIsEntityChat, c2 as axmRoomLaunchContext, c3 as axmRoomMatchesEntity, c4 as axmRoomWithAssistPeerDisplayName, B as axmSanitizeAssistUserAnswerText, c5 as axmShouldPreferPersistedAssistOverLiveCache, c6 as axmSortMessagesNewestFirst, c7 as axmSyncAssistPeerDisplayName, j as axmSyntheticEmbedMessage, c8 as axmUpsertMiniChatHistoryItem, c9 as axmUserRowToParticipant, ca as axpShowCommentPopupCommandDefinition, cb as channelFeedPageRoutes, cc as commentsPlugin, cd as createConversationServiceSessionAdapter, ce as persistChatAttachment } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-Be9CB1WQ.mjs';
|
|
2
2
|
export { AXM_CONTEXTUAL_ASSIST_KIND_ENTITY_RECORD } from '@acorex-platform/module-conversation-client/contracts';
|
|
3
3
|
//# sourceMappingURL=acorex-platform-module-conversation-client.mjs.map
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex-platform/module-conversation-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.65",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0 || ^22.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0 || ^22.0.0"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@acorex-platform/extension-rtc-core-gateway": "0.0.
|
|
10
|
+
"@acorex-platform/extension-rtc-core-gateway": "0.0.65",
|
|
11
11
|
"tslib": "^2.3.0"
|
|
12
12
|
},
|
|
13
13
|
"module": "fesm2022/acorex-platform-module-conversation-client.mjs",
|
|
@@ -727,6 +727,20 @@ declare function axmChannelPostIdFromMessage(message: {
|
|
|
727
727
|
metadata?: Record<string, unknown> | null;
|
|
728
728
|
} | null | undefined): string | null;
|
|
729
729
|
|
|
730
|
+
/** Socket topic for entity comment threads. Chat inbox does not consume this topic. */
|
|
731
|
+
declare const AXM_REALTIME_TOPIC_CONVERSATION_COMMENT = "conversation.comment";
|
|
732
|
+
/**
|
|
733
|
+
* Fan-out for a comment message on one thread (room).
|
|
734
|
+
* Delivered to clients that joined that conversation room while the thread is open.
|
|
735
|
+
*/
|
|
736
|
+
interface AXMRealtimeConversationCommentPayload {
|
|
737
|
+
conversationId: string;
|
|
738
|
+
messageId: string;
|
|
739
|
+
op: 'created' | 'updated' | 'deleted';
|
|
740
|
+
/** Plain snapshot so clients can apply the change without a follow-up GET. */
|
|
741
|
+
message?: Record<string, unknown>;
|
|
742
|
+
}
|
|
743
|
+
|
|
730
744
|
/**
|
|
731
745
|
* Resolves tenant/application scope for a new {@link Conversation.Message} row.
|
|
732
746
|
* Prefer the parent room's stamped scope so call logs match sibling messages on read.
|
|
@@ -952,5 +966,5 @@ declare function axmBuildContextualAssistStarterUserPrompt(context: AXMContextua
|
|
|
952
966
|
declare function axmFormatContextualAssistLaunchInjection(context: AXMContextualAssistContext): string;
|
|
953
967
|
declare function axmParseContextualAssistStarterItems(rawText: string): string[];
|
|
954
968
|
|
|
955
|
-
export { AXMChannelErrorCodes, AXMMiniChatSettings, AXMPermissionsKeys, AXM_ASSIST_CONVERSATION_FOLLOW_UP_SYSTEM_PROMPT, AXM_ASSIST_CONVERSATION_TITLE_SYSTEM_PROMPT, AXM_ASSIST_LAUNCH_CONTEXT_METADATA_KEY, AXM_CHANNEL_AUDIENCE_TARGET_ENTITY, AXM_COMMENT_LIKE_EMOJI, AXM_CONTEXTUAL_ASSIST_ACTION_ENTITY_RECORD, AXM_CONTEXTUAL_ASSIST_KIND_ENTITY_RECORD, AXM_CONTEXTUAL_ASSIST_LAYOUT_JSON_KEY, AXM_CONTEXTUAL_ASSIST_MAX_LAYOUT_JSON_CHARS, AXM_CONTEXTUAL_ASSIST_STARTER_SYSTEM_PROMPT, AXM_CONVERSATION_ANNOUNCEMENT_CHANNEL_KEY, AXM_CONVERSATION_ANNOUNCEMENT_CHANNEL_NAME, AXM_CONVERSATION_ANNOUNCEMENT_FEED_ITEM_META_KEY, AXM_CONVERSATION_ANNOUNCEMENT_MESSAGE_TYPE, AXM_CONVERSATION_ASSIST_MESSAGE_HANDLER, AXM_CONVERSATION_CHANNEL_POST_ID_META_KEY, AXPCollaborationPermissionKeys, AXPConversationCommandKeys, AXPConversationMenuKeys, AXPConversationQueryKeys, CHANNEL_AUDIENCE_ENTITY_NAME, CHANNEL_DISTRIBUTOR, CHANNEL_NOTIFICATION_PORT, CHANNEL_POST_ENTITY_NAME, CHANNEL_POST_PUBLISHED_EVENT_NAME, CHANNEL_RECEIPT_ENTITY_NAME, ConversationManifest, RootConfig, axmAiChatConversationUiMetadata, axmAnnouncementChannelMetadata, axmBuildAssistConversationFollowUpUserPrompt, axmBuildContextualAssistStarterUserPrompt, axmBuildHeuristicConversationTitleFallback, axmChannelAudienceIsVisible, axmChannelAudienceRuleMatches, axmChannelAudienceTargetEntity, axmChannelPostIdFromMessage, axmChatAiPeerParticipantId, axmCoerceMessageTimestampMs, axmCompareMessagesChronologically, axmConversationHasAiChat, axmEnsureAssistMessageSortsAfterReplyTarget, axmExtractAssistIdFromMetadata, axmExtractAssistLaunchContextFromMetadata, axmExtractDirectAgentIdFromMetadata, axmFormatContextualAssistLaunchInjection, axmInferFollowUpChipLocale, axmIsAnnouncementChannel, axmIsChannelRoom, axmIsCommentRoom, axmIsFormTemplateDesignerAssistLaunch, axmIsUnsupportedLegacyAgentAssistConversation, axmMessagesAfterId, axmNormalizeConversationTitle, axmParseContextualAssistStarterItems, axmReadAssistFollowUpStatus, axmReadAssistResponseStatus, axmReadReplyToUserMessageId, axmResolveAssistMessageTimestamp, axmResolveChannelAudienceUserIds, axmResolveConversationMessageScopeInfo, axmResolveFollowUpNavChipLabels, axmRoomAudienceRule, axmSanitizeAiGeneratedConversationTitle, axmSanitizeContextualAssistContext, axmSanitizeContextualAssistValue, axmScopeInfoNeedsTenantStamp, axmShouldSkipContextualAssistKey, channelPostMessageName, channelPostTitleText, extractMessageTextFromPayload, toChannelFeedItem };
|
|
956
|
-
export type { AXAudioMediaItem, AXAudioPayload, AXConversationComposerAttachmentPresentation, AXConversationMessageListBackground, AXConversationMessageListThemeBackground, AXConversationMetadata, AXConversationSettings, AXConversationStatus, AXConversationType, AXFileMediaItem, AXFilePayload, AXImageMediaItem, AXImagePayload, AXLink, AXLinkPreview, AXLocationPayload, AXMChannelAudienceEntityModel, AXMChannelAudienceMembership, AXMChannelAudienceMode, AXMChannelAudienceTargetType, AXMChannelDistributionOutcome, AXMChannelDistributionResult, AXMChannelDistributionSelection, AXMChannelDistributor, AXMChannelFeedItem, AXMChannelFeedQueryInput, AXMChannelLifecycleAction, AXMChannelMarkReadCommandInput, AXMChannelNotificationPolicy, AXMChannelNotificationPort, AXMChannelPostEntityModel, AXMChannelPostKind, AXMChannelPostStatus, AXMChannelPublishedEvent, AXMChannelReceiptEntityModel, AXMChannelUnreadCount, AXMChronologicalMessage, AXMCommentEntityData, AXMContextualAssistColumnValue, AXMContextualAssistContext, AXMConversationAssistMessageHandler, AXMConversationMessage, AXMConversationReaction, AXMConversationRoom, AXMConversationRoomKind, AXMEntityRecordAssistPayload, AXMFormTemplateDesignerAssistDataSourceRef, AXMFormTemplateDesignerAssistPayload, AXMFormTemplateDesignerAssistWidgetRef, AXMMiniChatPositionSetting, AXMMiniChatSizeSetting, AXMReactionType, AXMediaItemFields, AXMention, AXMessagePayload, AXMessageStatus, AXMessageType, AXNodePayload, AXParticipant, AXParticipantRole, AXParticipantStatus, AXPollOption, AXPollPayload, AXReaction, AXStickerPayload, AXSystemEventType, AXSystemPayload, AXTextFormat, AXTextPayload, AXUserProfile, AXVideoMediaItem, AXVideoPayload, AXVoicePayload, AxmAssistFollowUpStatus, AxmFollowUpNavChipLabels, ConversationAssistFrontendToolCall, ConversationAssistWireEvent };
|
|
969
|
+
export { AXMChannelErrorCodes, AXMMiniChatSettings, AXMPermissionsKeys, AXM_ASSIST_CONVERSATION_FOLLOW_UP_SYSTEM_PROMPT, AXM_ASSIST_CONVERSATION_TITLE_SYSTEM_PROMPT, AXM_ASSIST_LAUNCH_CONTEXT_METADATA_KEY, AXM_CHANNEL_AUDIENCE_TARGET_ENTITY, AXM_COMMENT_LIKE_EMOJI, AXM_CONTEXTUAL_ASSIST_ACTION_ENTITY_RECORD, AXM_CONTEXTUAL_ASSIST_KIND_ENTITY_RECORD, AXM_CONTEXTUAL_ASSIST_LAYOUT_JSON_KEY, AXM_CONTEXTUAL_ASSIST_MAX_LAYOUT_JSON_CHARS, AXM_CONTEXTUAL_ASSIST_STARTER_SYSTEM_PROMPT, AXM_CONVERSATION_ANNOUNCEMENT_CHANNEL_KEY, AXM_CONVERSATION_ANNOUNCEMENT_CHANNEL_NAME, AXM_CONVERSATION_ANNOUNCEMENT_FEED_ITEM_META_KEY, AXM_CONVERSATION_ANNOUNCEMENT_MESSAGE_TYPE, AXM_CONVERSATION_ASSIST_MESSAGE_HANDLER, AXM_CONVERSATION_CHANNEL_POST_ID_META_KEY, AXM_REALTIME_TOPIC_CONVERSATION_COMMENT, AXPCollaborationPermissionKeys, AXPConversationCommandKeys, AXPConversationMenuKeys, AXPConversationQueryKeys, CHANNEL_AUDIENCE_ENTITY_NAME, CHANNEL_DISTRIBUTOR, CHANNEL_NOTIFICATION_PORT, CHANNEL_POST_ENTITY_NAME, CHANNEL_POST_PUBLISHED_EVENT_NAME, CHANNEL_RECEIPT_ENTITY_NAME, ConversationManifest, RootConfig, axmAiChatConversationUiMetadata, axmAnnouncementChannelMetadata, axmBuildAssistConversationFollowUpUserPrompt, axmBuildContextualAssistStarterUserPrompt, axmBuildHeuristicConversationTitleFallback, axmChannelAudienceIsVisible, axmChannelAudienceRuleMatches, axmChannelAudienceTargetEntity, axmChannelPostIdFromMessage, axmChatAiPeerParticipantId, axmCoerceMessageTimestampMs, axmCompareMessagesChronologically, axmConversationHasAiChat, axmEnsureAssistMessageSortsAfterReplyTarget, axmExtractAssistIdFromMetadata, axmExtractAssistLaunchContextFromMetadata, axmExtractDirectAgentIdFromMetadata, axmFormatContextualAssistLaunchInjection, axmInferFollowUpChipLocale, axmIsAnnouncementChannel, axmIsChannelRoom, axmIsCommentRoom, axmIsFormTemplateDesignerAssistLaunch, axmIsUnsupportedLegacyAgentAssistConversation, axmMessagesAfterId, axmNormalizeConversationTitle, axmParseContextualAssistStarterItems, axmReadAssistFollowUpStatus, axmReadAssistResponseStatus, axmReadReplyToUserMessageId, axmResolveAssistMessageTimestamp, axmResolveChannelAudienceUserIds, axmResolveConversationMessageScopeInfo, axmResolveFollowUpNavChipLabels, axmRoomAudienceRule, axmSanitizeAiGeneratedConversationTitle, axmSanitizeContextualAssistContext, axmSanitizeContextualAssistValue, axmScopeInfoNeedsTenantStamp, axmShouldSkipContextualAssistKey, channelPostMessageName, channelPostTitleText, extractMessageTextFromPayload, toChannelFeedItem };
|
|
970
|
+
export type { AXAudioMediaItem, AXAudioPayload, AXConversationComposerAttachmentPresentation, AXConversationMessageListBackground, AXConversationMessageListThemeBackground, AXConversationMetadata, AXConversationSettings, AXConversationStatus, AXConversationType, AXFileMediaItem, AXFilePayload, AXImageMediaItem, AXImagePayload, AXLink, AXLinkPreview, AXLocationPayload, AXMChannelAudienceEntityModel, AXMChannelAudienceMembership, AXMChannelAudienceMode, AXMChannelAudienceTargetType, AXMChannelDistributionOutcome, AXMChannelDistributionResult, AXMChannelDistributionSelection, AXMChannelDistributor, AXMChannelFeedItem, AXMChannelFeedQueryInput, AXMChannelLifecycleAction, AXMChannelMarkReadCommandInput, AXMChannelNotificationPolicy, AXMChannelNotificationPort, AXMChannelPostEntityModel, AXMChannelPostKind, AXMChannelPostStatus, AXMChannelPublishedEvent, AXMChannelReceiptEntityModel, AXMChannelUnreadCount, AXMChronologicalMessage, AXMCommentEntityData, AXMContextualAssistColumnValue, AXMContextualAssistContext, AXMConversationAssistMessageHandler, AXMConversationMessage, AXMConversationReaction, AXMConversationRoom, AXMConversationRoomKind, AXMEntityRecordAssistPayload, AXMFormTemplateDesignerAssistDataSourceRef, AXMFormTemplateDesignerAssistPayload, AXMFormTemplateDesignerAssistWidgetRef, AXMMiniChatPositionSetting, AXMMiniChatSizeSetting, AXMReactionType, AXMRealtimeConversationCommentPayload, AXMediaItemFields, AXMention, AXMessagePayload, AXMessageStatus, AXMessageType, AXNodePayload, AXParticipant, AXParticipantRole, AXParticipantStatus, AXPollOption, AXPollPayload, AXReaction, AXStickerPayload, AXSystemEventType, AXSystemPayload, AXTextFormat, AXTextPayload, AXUserProfile, AXVideoMediaItem, AXVideoPayload, AXVoicePayload, AxmAssistFollowUpStatus, AxmFollowUpNavChipLabels, ConversationAssistFrontendToolCall, ConversationAssistWireEvent };
|
|
@@ -1502,6 +1502,8 @@ interface AXMCommentEvent {
|
|
|
1502
1502
|
* - For 'remove', payload is the comment ID (string).
|
|
1503
1503
|
*/
|
|
1504
1504
|
payload: AXMComment | string;
|
|
1505
|
+
/** Room id. Open threads ignore events for a different entity. */
|
|
1506
|
+
threadId?: string;
|
|
1505
1507
|
}
|
|
1506
1508
|
interface AXMThreadEvent {
|
|
1507
1509
|
type: AXMThreadEventType;
|
|
@@ -1525,6 +1527,8 @@ declare class AXMCommentManagementService {
|
|
|
1525
1527
|
private formatThread;
|
|
1526
1528
|
createThread(entityRef: AXMCommentEntityData$1, topic: string, title?: string): Promise<AXMCommentThread>;
|
|
1527
1529
|
getThread(entityRef: AXMCommentEntityData$1, topic: string): Promise<AXMCommentThread | null>;
|
|
1530
|
+
/** Room row only, so the view can join realtime before messages are loaded. */
|
|
1531
|
+
findThreadRoom(entityRef: AXMCommentEntityData$1, topic: string): Promise<AXMConversationRoom | null>;
|
|
1528
1532
|
countCommentsForEntity(entityRef: AXMCommentEntityData$1): Promise<number>;
|
|
1529
1533
|
listThreads(entityRef: AXMCommentEntityData$1, topic: string): Promise<AXMCommentThread[]>;
|
|
1530
1534
|
updateThread(entityRef: AXMCommentEntityData$1, topic: string, data: Partial<{
|
|
@@ -1543,6 +1547,7 @@ declare class AXMCommentManagementService {
|
|
|
1543
1547
|
unlikeComment(commentId: string): Promise<AXMComment>;
|
|
1544
1548
|
pinComment(commentId: string): Promise<AXMComment>;
|
|
1545
1549
|
unpinComment(commentId: string): Promise<AXMComment>;
|
|
1550
|
+
private emitComment;
|
|
1546
1551
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMCommentManagementService, never>;
|
|
1547
1552
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMCommentManagementService>;
|
|
1548
1553
|
}
|
|
@@ -1552,14 +1557,26 @@ declare abstract class AXMCommentRealtimeService {
|
|
|
1552
1557
|
abstract readonly thread$: Observable<AXMThreadEvent>;
|
|
1553
1558
|
abstract notifyComment(event: AXMCommentEvent): void;
|
|
1554
1559
|
abstract notifyThread(event: AXMThreadEvent): void;
|
|
1560
|
+
/** Join the thread socket room while at least one comment view is open. */
|
|
1561
|
+
abstract watchThread(threadId: string): void;
|
|
1562
|
+
abstract unwatchThread(threadId: string): void;
|
|
1555
1563
|
}
|
|
1556
1564
|
declare class AXMCommentRealtimeServiceImpl extends AXMCommentRealtimeService {
|
|
1565
|
+
private readonly dispatcher;
|
|
1566
|
+
private readonly connection;
|
|
1557
1567
|
private readonly _comment$;
|
|
1558
1568
|
readonly comment$: Observable<AXMCommentEvent>;
|
|
1559
1569
|
private readonly _thread$;
|
|
1560
1570
|
readonly thread$: Observable<AXMThreadEvent>;
|
|
1571
|
+
private readonly watchedThreads;
|
|
1572
|
+
private remoteHandlerRegistered;
|
|
1573
|
+
constructor();
|
|
1561
1574
|
notifyComment(event: AXMCommentEvent): void;
|
|
1562
1575
|
notifyThread(event: AXMThreadEvent): void;
|
|
1576
|
+
watchThread(threadId: string): void;
|
|
1577
|
+
unwatchThread(threadId: string): void;
|
|
1578
|
+
private registerRemoteHandler;
|
|
1579
|
+
private applyRemotePayload;
|
|
1563
1580
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMCommentRealtimeServiceImpl, never>;
|
|
1564
1581
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMCommentRealtimeServiceImpl>;
|
|
1565
1582
|
}
|
|
@@ -1582,15 +1599,18 @@ declare class AXMCommentComponent implements OnInit {
|
|
|
1582
1599
|
protected thread: _angular_core.WritableSignal<AXMCommentThread | undefined>;
|
|
1583
1600
|
private readonly commentActions;
|
|
1584
1601
|
private refreshGeneration;
|
|
1602
|
+
private liveRevision;
|
|
1603
|
+
private watchedThreadId;
|
|
1604
|
+
private realtimeReady;
|
|
1585
1605
|
protected readonly commentsView: _angular_core.Signal<AXCommentViewComponent | undefined>;
|
|
1586
1606
|
protected readonly commentContainer: _angular_core.Signal<AXCommentContainerComponent | undefined>;
|
|
1587
1607
|
protected readonly editor: _angular_core.Signal<AXTextEditorComponent | undefined>;
|
|
1588
1608
|
private readonly commentService;
|
|
1589
1609
|
private readonly realtimeService;
|
|
1610
|
+
private readonly realtimeConnection;
|
|
1590
1611
|
private readonly sessionService;
|
|
1591
1612
|
private readonly toastService;
|
|
1592
1613
|
private readonly dialogService;
|
|
1593
|
-
private readonly inAppNotificationService;
|
|
1594
1614
|
private readonly activatedRoute;
|
|
1595
1615
|
private readonly translationService;
|
|
1596
1616
|
private readonly destroyRef;
|
|
@@ -1624,6 +1644,8 @@ declare class AXMCommentComponent implements OnInit {
|
|
|
1624
1644
|
private handleUpdateComment;
|
|
1625
1645
|
private getCurrentUser;
|
|
1626
1646
|
private removeMessageById;
|
|
1647
|
+
private bindRealtimeThread;
|
|
1648
|
+
private applyServerComments;
|
|
1627
1649
|
private readEditorHtml;
|
|
1628
1650
|
private loadActionItems;
|
|
1629
1651
|
private refreshItems;
|