@acorex-platform/module-conversation-client 0.0.32 → 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.
Files changed (46) hide show
  1. package/fesm2022/{acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs → acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs} +231 -80
  2. package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-CpMGuSU1.mjs → acorex-platform-module-conversation-client-after-message-sent.command-yzW01skh.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-conversation-client-after-message-sent.command-CpMGuSU1.mjs.map → acorex-platform-module-conversation-client-after-message-sent.command-yzW01skh.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-Dgs6fpN3.mjs → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-DhRvuCex.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-Dgs6fpN3.mjs.map → acorex-platform-module-conversation-client-assist-delegated-agent-detail-popup.component-DhRvuCex.mjs.map} +1 -1
  7. package/fesm2022/{acorex-platform-module-conversation-client-chat-call-session-page.component-BStKnruT.mjs → acorex-platform-module-conversation-client-chat-call-session-page.component-C47tt1me.mjs} +13 -6
  8. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-C47tt1me.mjs.map +1 -0
  9. package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-eKYhjy91.mjs → acorex-platform-module-conversation-client-chat-call-start-popup.component-EZjVSlhm.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-module-conversation-client-chat-call-start-popup.component-eKYhjy91.mjs.map → acorex-platform-module-conversation-client-chat-call-start-popup.component-EZjVSlhm.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-DLYtqFLi.mjs → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-DLYtqFLi.mjs.map → acorex-platform-module-conversation-client-chat-conversation-info-media-view.component-CppNPfqe.mjs.map} +1 -1
  13. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-panel.component-CE40xbl9.mjs → acorex-platform-module-conversation-client-chat-conversation-info-panel.component-BBL8iEqc.mjs} +3 -3
  14. package/fesm2022/{acorex-platform-module-conversation-client-chat-conversation-info-panel.component-CE40xbl9.mjs.map → acorex-platform-module-conversation-client-chat-conversation-info-panel.component-BBL8iEqc.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-VOuN3y_8.mjs → acorex-platform-module-conversation-client-comments-page.component-Djn8EikR.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-module-conversation-client-comments-page.component-VOuN3y_8.mjs.map → acorex-platform-module-conversation-client-comments-page.component-Djn8EikR.mjs.map} +1 -1
  17. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs +274 -0
  18. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs +295 -0
  20. package/fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs +52 -0
  22. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs +242 -0
  24. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-message.entity-Dz7cO1P4.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs +263 -0
  26. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs +2 -0
  28. package/fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs +30 -0
  30. package/fesm2022/acorex-platform-module-conversation-client-local-entities.mjs.map +1 -0
  31. package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-9tbWXMsa.mjs → acorex-platform-module-conversation-client-mark-conversation-unread.command-BoTNaBxS.mjs} +2 -2
  32. package/fesm2022/{acorex-platform-module-conversation-client-mark-conversation-unread.command-9tbWXMsa.mjs.map → acorex-platform-module-conversation-client-mark-conversation-unread.command-BoTNaBxS.mjs.map} +1 -1
  33. package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-CdMsYHwG.mjs → acorex-platform-module-conversation-client-open-chat.command-VgeGqj-z.mjs} +2 -2
  34. package/fesm2022/{acorex-platform-module-conversation-client-open-chat.command-CdMsYHwG.mjs.map → acorex-platform-module-conversation-client-open-chat.command-VgeGqj-z.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-DvOeezMD.mjs → acorex-platform-module-conversation-client-retry-assist-response.command-DYIpLKDB.mjs} +2 -2
  36. package/fesm2022/{acorex-platform-module-conversation-client-retry-assist-response.command-DvOeezMD.mjs.map → acorex-platform-module-conversation-client-retry-assist-response.command-DYIpLKDB.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-module-conversation-client-sync-read-state.command-CmJAjrZb.mjs → acorex-platform-module-conversation-client-sync-read-state.command-D97E8VvL.mjs} +2 -2
  38. package/fesm2022/{acorex-platform-module-conversation-client-sync-read-state.command-CmJAjrZb.mjs.map → acorex-platform-module-conversation-client-sync-read-state.command-D97E8VvL.mjs.map} +1 -1
  39. package/fesm2022/acorex-platform-module-conversation-client.mjs +1 -1
  40. package/package.json +18 -2
  41. package/types/acorex-platform-module-conversation-client-contracts-entities-message.d.ts +5 -0
  42. package/types/acorex-platform-module-conversation-client-contracts-entities-room.d.ts +5 -0
  43. package/types/acorex-platform-module-conversation-client-contracts-entity-catalog.d.ts +10 -0
  44. package/types/acorex-platform-module-conversation-client-local-entities.d.ts +12 -0
  45. package/fesm2022/acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs.map +0 -1
  46. package/fesm2022/acorex-platform-module-conversation-client-chat-call-session-page.component-BStKnruT.mjs.map +0 -1
@@ -0,0 +1,263 @@
1
+ import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+ import { R as RootConfig } from './acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs';
4
+
5
+ //#region ---- Imports ----
6
+ //#endregion
7
+ //#region ---- Property helpers ----
8
+ function roomProp(i18n, name, groupId, schema, options) {
9
+ return {
10
+ name,
11
+ title: `t("room.props.${name}", { scope: "${i18n}" })`,
12
+ groupId,
13
+ schema,
14
+ ...options,
15
+ };
16
+ }
17
+ function hiddenStorageProp(i18n, name, dataType, groupId = 'runtime') {
18
+ return roomProp(i18n, name, groupId, {
19
+ dataType,
20
+ visible: false,
21
+ nullable: true,
22
+ });
23
+ }
24
+ const filterable = {
25
+ sort: { enabled: true },
26
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
27
+ };
28
+ //#endregion
29
+ //#region ---- Entity factory ----
30
+ async function roomFactory() {
31
+ const i18n = RootConfig.config.i18n;
32
+ const entityDef = {
33
+ module: RootConfig.module.name,
34
+ name: RootConfig.entities.room.name,
35
+ title: RootConfig.entities.room.title,
36
+ icon: RootConfig.entities.room.icon,
37
+ formats: {
38
+ individual: RootConfig.entities.room.title,
39
+ plural: RootConfig.entities.room.title,
40
+ searchResult: {
41
+ title: '{{ title }}',
42
+ description: '{{ kind }}',
43
+ },
44
+ },
45
+ relatedEntities: [],
46
+ groups: [
47
+ { id: 'basic-info', title: '@general:terms.interface.basic-info' },
48
+ { id: 'activity', title: `t("room.groups.activity", { scope: "${i18n}" })` },
49
+ { id: 'comment', title: `t("room.groups.comment", { scope: "${i18n}" })` },
50
+ { id: 'flags', title: `t("room.groups.flags", { scope: "${i18n}" })` },
51
+ { id: 'runtime', title: `t("room.groups.runtime", { scope: "${i18n}" })` },
52
+ ],
53
+ properties: [
54
+ roomProp(i18n, 'name', 'basic-info', {
55
+ dataType: 'string',
56
+ interface: { type: AXPWidgetsCatalog.text },
57
+ }),
58
+ roomProp(i18n, 'title', 'basic-info', {
59
+ dataType: 'string',
60
+ interface: { type: AXPWidgetsCatalog.text },
61
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
62
+ roomProp(i18n, 'kind', 'basic-info', {
63
+ dataType: 'string',
64
+ interface: {
65
+ type: AXPWidgetsCatalog.select,
66
+ options: {
67
+ valueField: 'name',
68
+ textField: 'title',
69
+ multiple: false,
70
+ dataSource: [
71
+ { name: 'chat', title: 'Chat' },
72
+ { name: 'comment', title: 'Comment' },
73
+ ],
74
+ },
75
+ },
76
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
77
+ roomProp(i18n, 'type', 'basic-info', {
78
+ dataType: 'string',
79
+ interface: {
80
+ type: AXPWidgetsCatalog.select,
81
+ options: {
82
+ valueField: 'name',
83
+ textField: 'title',
84
+ multiple: false,
85
+ dataSource: [
86
+ { name: 'private', title: 'Private' },
87
+ { name: 'group', title: 'Group' },
88
+ { name: 'channel', title: 'Channel' },
89
+ { name: 'bot', title: 'Bot' },
90
+ ],
91
+ },
92
+ },
93
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
94
+ roomProp(i18n, 'creatorId', 'basic-info', {
95
+ dataType: 'string',
96
+ interface: {
97
+ type: AXPWidgetsCatalog.lookup,
98
+ options: {
99
+ entity: 'SecurityManagement.User',
100
+ textField: 'displayName',
101
+ valueField: 'id',
102
+ look: 'select',
103
+ },
104
+ },
105
+ }, { options: filterable }),
106
+ roomProp(i18n, 'avatar', 'basic-info', {
107
+ dataType: 'string',
108
+ interface: { type: AXPWidgetsCatalog.text },
109
+ }),
110
+ roomProp(i18n, 'icon', 'basic-info', {
111
+ dataType: 'string',
112
+ interface: { type: AXPWidgetsCatalog.text },
113
+ }),
114
+ roomProp(i18n, 'description', 'basic-info', {
115
+ dataType: 'string',
116
+ interface: { type: AXPWidgetsCatalog.largeText },
117
+ }),
118
+ roomProp(i18n, 'lastMessageAt', 'activity', {
119
+ dataType: 'date',
120
+ interface: { type: AXPWidgetsCatalog.dateTime },
121
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
122
+ roomProp(i18n, 'unreadCount', 'activity', {
123
+ dataType: 'number',
124
+ interface: { type: AXPWidgetsCatalog.number },
125
+ }, { options: filterable, validations: [{ rule: 'required' }] }),
126
+ roomProp(i18n, 'unreadMentions', 'activity', {
127
+ dataType: 'number',
128
+ interface: { type: AXPWidgetsCatalog.number },
129
+ }),
130
+ roomProp(i18n, 'createdAt', 'activity', {
131
+ dataType: 'date',
132
+ interface: { type: AXPWidgetsCatalog.dateTime },
133
+ }, { validations: [{ rule: 'required' }] }),
134
+ roomProp(i18n, 'updatedAt', 'activity', {
135
+ dataType: 'date',
136
+ interface: { type: AXPWidgetsCatalog.dateTime },
137
+ }, { validations: [{ rule: 'required' }] }),
138
+ roomProp(i18n, 'draft', 'activity', {
139
+ dataType: 'string',
140
+ interface: { type: AXPWidgetsCatalog.largeText },
141
+ }),
142
+ hiddenStorageProp(i18n, 'participants', 'array'),
143
+ hiddenStorageProp(i18n, 'lastMessage', 'object'),
144
+ hiddenStorageProp(i18n, 'status', 'object'),
145
+ hiddenStorageProp(i18n, 'settings', 'object'),
146
+ hiddenStorageProp(i18n, 'pinnedMessageIds', 'array'),
147
+ hiddenStorageProp(i18n, 'metadata', 'object'),
148
+ hiddenStorageProp(i18n, 'entityRef', 'object', 'comment'),
149
+ roomProp(i18n, 'topic', 'comment', {
150
+ dataType: 'string',
151
+ interface: { type: AXPWidgetsCatalog.text },
152
+ }),
153
+ roomProp(i18n, 'entityRef.entityId', 'comment', {
154
+ dataType: 'string',
155
+ visible: false,
156
+ interface: { type: AXPWidgetsCatalog.text },
157
+ }),
158
+ roomProp(i18n, 'entityRef.entityTypeId', 'comment', {
159
+ dataType: 'string',
160
+ visible: false,
161
+ interface: { type: AXPWidgetsCatalog.text },
162
+ }),
163
+ roomProp(i18n, 'entityRef.moduleName', 'comment', {
164
+ dataType: 'string',
165
+ visible: false,
166
+ interface: { type: AXPWidgetsCatalog.text },
167
+ }),
168
+ roomProp(i18n, 'entityRef.entityName', 'comment', {
169
+ dataType: 'string',
170
+ visible: false,
171
+ interface: { type: AXPWidgetsCatalog.text },
172
+ }),
173
+ roomProp(i18n, 'blocked', 'flags', {
174
+ dataType: 'boolean',
175
+ interface: { type: AXPWidgetsCatalog.toggle },
176
+ }),
177
+ roomProp(i18n, 'pinned', 'flags', {
178
+ dataType: 'boolean',
179
+ interface: { type: AXPWidgetsCatalog.toggle },
180
+ }),
181
+ roomProp(i18n, 'archived', 'flags', {
182
+ dataType: 'boolean',
183
+ interface: { type: AXPWidgetsCatalog.toggle },
184
+ }),
185
+ ],
186
+ columns: [
187
+ { name: 'title' },
188
+ { name: 'kind' },
189
+ { name: 'type' },
190
+ { name: 'lastMessageAt' },
191
+ { name: 'unreadCount' },
192
+ { name: 'pinned' },
193
+ { name: 'archived' },
194
+ ],
195
+ interfaces: {
196
+ master: {
197
+ create: {
198
+ sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],
199
+ properties: [
200
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
201
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
202
+ { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
203
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
204
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
205
+ { name: 'avatar', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
206
+ { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
207
+ { name: 'topic', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },
208
+ { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },
209
+ { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },
210
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
211
+ { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
212
+ { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },
213
+ ],
214
+ },
215
+ update: {
216
+ sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],
217
+ properties: [
218
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
219
+ { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
220
+ { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
221
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
222
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },
223
+ { name: 'draft', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },
224
+ { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
225
+ { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },
226
+ { name: 'unreadMentions', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },
227
+ { name: 'updatedAt', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },
228
+ { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },
229
+ { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },
230
+ { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },
231
+ ],
232
+ },
233
+ single: {
234
+ title: '{{title}}',
235
+ sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'flags' }],
236
+ properties: [
237
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
238
+ { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
239
+ { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
240
+ { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },
241
+ { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },
242
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },
243
+ ],
244
+ actions: [...entityMasterRecordActions()],
245
+ },
246
+ list: {
247
+ actions: [...entityMasterCrudActions()],
248
+ views: [
249
+ createAllQueryView({
250
+ columns: ['title', 'kind', 'type', 'lastMessageAt', 'unreadCount', 'pinned', 'archived'],
251
+ sorts: [{ name: 'lastMessageAt', dir: 'desc' }],
252
+ }),
253
+ ],
254
+ },
255
+ },
256
+ },
257
+ };
258
+ return entityDef;
259
+ }
260
+ //#endregion
261
+
262
+ export { roomFactory };
263
+ //# sourceMappingURL=acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-conversation-client-contracts-entity-catalog-room.entity-B9txvc3y.mjs","sources":["../../../../libs/modules/conversation/contracts/src/entities/room/room.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityProperty, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Property helpers ----\n\nfunction roomProp(\n i18n: string,\n name: string,\n groupId: string,\n schema: AXPEntityProperty['schema'],\n options?: Partial<AXPEntityProperty>,\n): AXPEntityProperty {\n return {\n name,\n title: `t(\"room.props.${name}\", { scope: \"${i18n}\" })`,\n groupId,\n schema,\n ...options,\n };\n}\n\nfunction hiddenStorageProp(\n i18n: string,\n name: string,\n dataType: 'object' | 'array',\n groupId = 'runtime',\n): AXPEntityProperty {\n return roomProp(i18n, name, groupId, {\n dataType,\n visible: false,\n nullable: true,\n });\n}\n\nconst filterable = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n};\n\n//#endregion\n\n//#region ---- Entity factory ----\n\nexport async function roomFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.room.name,\n title: RootConfig.entities.room.title,\n icon: RootConfig.entities.room.icon,\n formats: {\n individual: RootConfig.entities.room.title,\n plural: RootConfig.entities.room.title,\n searchResult: {\n title: '{{ title }}',\n description: '{{ kind }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'activity', title: `t(\"room.groups.activity\", { scope: \"${i18n}\" })` },\n { id: 'comment', title: `t(\"room.groups.comment\", { scope: \"${i18n}\" })` },\n { id: 'flags', title: `t(\"room.groups.flags\", { scope: \"${i18n}\" })` },\n { id: 'runtime', title: `t(\"room.groups.runtime\", { scope: \"${i18n}\" })` },\n ],\n properties: [\n roomProp(i18n, 'name', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(\n i18n,\n 'title',\n 'basic-info',\n {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'kind',\n 'basic-info',\n {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: [\n { name: 'chat', title: 'Chat' },\n { name: 'comment', title: 'Comment' },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'type',\n 'basic-info',\n {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n multiple: false,\n dataSource: [\n { name: 'private', title: 'Private' },\n { name: 'group', title: 'Group' },\n { name: 'channel', title: 'Channel' },\n { name: 'bot', title: 'Bot' },\n ],\n },\n },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'creatorId',\n 'basic-info',\n {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'SecurityManagement.User',\n textField: 'displayName',\n valueField: 'id',\n look: 'select',\n },\n },\n },\n { options: filterable },\n ),\n roomProp(i18n, 'avatar', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'icon', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'description', 'basic-info', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText },\n }),\n roomProp(\n i18n,\n 'lastMessageAt',\n 'activity',\n {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'unreadCount',\n 'activity',\n {\n dataType: 'number',\n interface: { type: AXPWidgetsCatalog.number },\n },\n { options: filterable, validations: [{ rule: 'required' }] },\n ),\n roomProp(i18n, 'unreadMentions', 'activity', {\n dataType: 'number',\n interface: { type: AXPWidgetsCatalog.number },\n }),\n roomProp(\n i18n,\n 'createdAt',\n 'activity',\n {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { validations: [{ rule: 'required' }] },\n ),\n roomProp(\n i18n,\n 'updatedAt',\n 'activity',\n {\n dataType: 'date',\n interface: { type: AXPWidgetsCatalog.dateTime },\n },\n { validations: [{ rule: 'required' }] },\n ),\n roomProp(i18n, 'draft', 'activity', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.largeText },\n }),\n hiddenStorageProp(i18n, 'participants', 'array'),\n hiddenStorageProp(i18n, 'lastMessage', 'object'),\n hiddenStorageProp(i18n, 'status', 'object'),\n hiddenStorageProp(i18n, 'settings', 'object'),\n hiddenStorageProp(i18n, 'pinnedMessageIds', 'array'),\n hiddenStorageProp(i18n, 'metadata', 'object'),\n hiddenStorageProp(i18n, 'entityRef', 'object', 'comment'),\n roomProp(i18n, 'topic', 'comment', {\n dataType: 'string',\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityId', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityTypeId', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.moduleName', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'entityRef.entityName', 'comment', {\n dataType: 'string',\n visible: false,\n interface: { type: AXPWidgetsCatalog.text },\n }),\n roomProp(i18n, 'blocked', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n roomProp(i18n, 'pinned', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n roomProp(i18n, 'archived', 'flags', {\n dataType: 'boolean',\n interface: { type: AXPWidgetsCatalog.toggle },\n }),\n ],\n columns: [\n { name: 'title' },\n { name: 'kind' },\n { name: 'type' },\n { name: 'lastMessageAt' },\n { name: 'unreadCount' },\n { name: 'pinned' },\n { name: 'archived' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'avatar', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'icon', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'topic', layout: { positions: { lg: { colSpan: 12, order: 8 } } } },\n { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },\n { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },\n { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },\n { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'comment' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'name', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'draft', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 8 } } } },\n { name: 'unreadMentions', layout: { positions: { lg: { colSpan: 6, order: 9 } } } },\n { name: 'updatedAt', layout: { positions: { lg: { colSpan: 6, order: 10 } } } },\n { name: 'pinned', layout: { positions: { lg: { colSpan: 4, order: 11 } } } },\n { name: 'archived', layout: { positions: { lg: { colSpan: 4, order: 12 } } } },\n { name: 'blocked', layout: { positions: { lg: { colSpan: 4, order: 13 } } } },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [{ id: 'basic-info' }, { id: 'activity' }, { id: 'flags' }],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'kind', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'type', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'unreadCount', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'lastMessageAt', layout: { positions: { lg: { colSpan: 6, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n columns: ['title', 'kind', 'type', 'lastMessageAt', 'unreadCount', 'pinned', 'archived'],\n sorts: [{ name: 'lastMessageAt', dir: 'desc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { c as conversationLocalEntityCatalog } from './acorex-platform-module-conversation-client-contracts-entity-catalog-acorex-platform-module-conversation-client-contracts-entity-catalog-Cy3LwYMZ.mjs';
2
+ //# sourceMappingURL=acorex-platform-module-conversation-client-contracts-entity-catalog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-conversation-client-contracts-entity-catalog.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { provideLocalEntityCatalog } from '@acorex-platform/framework-client/layout/entity';
2
+ import { RootConfig } from '@acorex-platform/module-conversation-client/contracts';
3
+ export { conversationLocalEntityCatalog } from '@acorex-platform/module-conversation-client/contracts/entity-catalog';
4
+
5
+ //#region ----- Imports -----
6
+ //#endregion
7
+ //#region ----- Provide local entities -----
8
+ /**
9
+ * Registers conversation layouts on the client from packaged factories.
10
+ * Each `import()` targets a secondary entry so unused entities stay out of the
11
+ * bundle. Do not add this to the demo app; demo continues to load layouts via
12
+ * `Domain:GetEntityLayout`.
13
+ */
14
+ function provideConversationLocalEntities() {
15
+ return provideLocalEntityCatalog({
16
+ moduleName: RootConfig.module.name,
17
+ loaders: {
18
+ [RootConfig.entities.message.name]: () => import('@acorex-platform/module-conversation-client/contracts/entities/message').then((m) => m.messageFactory()),
19
+ [RootConfig.entities.room.name]: () => import('@acorex-platform/module-conversation-client/contracts/entities/room').then((m) => m.roomFactory()),
20
+ },
21
+ });
22
+ }
23
+ //#endregion
24
+
25
+ /**
26
+ * Generated bundle index. Do not edit.
27
+ */
28
+
29
+ export { provideConversationLocalEntities };
30
+ //# sourceMappingURL=acorex-platform-module-conversation-client-local-entities.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-conversation-client-local-entities.mjs","sources":["../../../../libs/modules/conversation/client/src/lib/provide-local-entities.ts","../../../../libs/modules/conversation/client/src/lib/acorex-platform-module-conversation-client-local-entities.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { provideLocalEntityCatalog } from '@acorex-platform/framework-client/layout/entity';\nimport { RootConfig } from '@acorex-platform/module-conversation-client/contracts';\n\n//#endregion\n\n//#region ----- Provide local entities -----\n\n/**\n * Registers conversation layouts on the client from packaged factories.\n * Each `import()` targets a secondary entry so unused entities stay out of the\n * bundle. Do not add this to the demo app; demo continues to load layouts via\n * `Domain:GetEntityLayout`.\n */\nexport function provideConversationLocalEntities() {\n return provideLocalEntityCatalog({\n moduleName: RootConfig.module.name,\n loaders: {\n [RootConfig.entities.message.name]: () =>\n import('@acorex-platform/module-conversation-client/contracts/entities/message').then((m) => m.messageFactory()),\n [RootConfig.entities.room.name]: () =>\n import('@acorex-platform/module-conversation-client/contracts/entities/room').then((m) => m.roomFactory()),\n },\n });\n}\n\nexport { conversationLocalEntityCatalog } from '@acorex-platform/module-conversation-client/contracts/entity-catalog';\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './provide-local-entities';\n"],"names":[],"mappings":";;;;AAAA;AAKA;AAEA;AAEA;;;;;AAKG;SACa,gCAAgC,GAAA;AAC9C,IAAA,OAAO,yBAAyB,CAAC;AAC/B,QAAA,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAClC,QAAA,OAAO,EAAE;AACP,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,MAClC,OAAO,wEAAwE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;AAClH,YAAA,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,MAC/B,OAAO,qEAAqE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7G,SAAA;AACF,KAAA,CAAC;AACJ;AAIA;;AC7BA;;AAEG;;;;"}
@@ -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 } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs';
3
+ import { A as AXMConversationEntityStoreService } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs';
4
4
 
5
5
  //#endregion
6
6
  //#region ---- Command ----
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
27
27
  }] });
28
28
 
29
29
  export { AXMConversationMarkConversationUnreadCommand };
30
- //# sourceMappingURL=acorex-platform-module-conversation-client-mark-conversation-unread.command-9tbWXMsa.mjs.map
30
+ //# sourceMappingURL=acorex-platform-module-conversation-client-mark-conversation-unread.command-BoTNaBxS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-conversation-client-mark-conversation-unread.command-9tbWXMsa.mjs","sources":["../../../../libs/modules/conversation/client/src/lib/features/commands/mark-conversation-unread.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\n\nimport { AXMConversationEntityStoreService } from '../chat/services/conversation-entity-store.service';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMMarkConversationUnreadOptions {\n conversationId: string;\n}\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMConversationMarkConversationUnreadCommand implements AXPCommand<AXMMarkConversationUnreadOptions, void> {\n private readonly store = inject(AXMConversationEntityStoreService);\n\n async execute(input: AXMMarkConversationUnreadOptions | unknown): AXPCommandExecuteResultPromise<void> {\n const options = input as AXMMarkConversationUnreadOptions;\n const conversation = await this.store.getConversation(options.conversationId);\n if (!conversation) {\n return { success: false };\n }\n const unreadCount = Math.max(1, conversation.unreadCount ?? 0);\n await this.store.setUnreadCount(options.conversationId, unreadCount);\n return { success: true, kind: 'object', data: undefined };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAiBA;AAEA;MAGa,4CAA4C,CAAA;AADzD,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iCAAiC,CAAC;AAYnE,IAAA;IAVC,MAAM,OAAO,CAAC,KAAiD,EAAA;QAC7D,MAAM,OAAO,GAAG,KAAyC;AACzD,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC;QAC7E,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;AACA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC;AAC9D,QAAA,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC;AACpE,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3D;8GAZW,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA5C,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,4CAA4C,cAD/B,MAAM,EAAA,CAAA,CAAA;;2FACnB,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBADxD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-conversation-client-mark-conversation-unread.command-BoTNaBxS.mjs","sources":["../../../../libs/modules/conversation/client/src/lib/features/commands/mark-conversation-unread.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\n\nimport { AXMConversationEntityStoreService } from '../chat/services/conversation-entity-store.service';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMMarkConversationUnreadOptions {\n conversationId: string;\n}\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMConversationMarkConversationUnreadCommand implements AXPCommand<AXMMarkConversationUnreadOptions, void> {\n private readonly store = inject(AXMConversationEntityStoreService);\n\n async execute(input: AXMMarkConversationUnreadOptions | unknown): AXPCommandExecuteResultPromise<void> {\n const options = input as AXMMarkConversationUnreadOptions;\n const conversation = await this.store.getConversation(options.conversationId);\n if (!conversation) {\n return { success: false };\n }\n const unreadCount = Math.max(1, conversation.unreadCount ?? 0);\n await this.store.setUnreadCount(options.conversationId, unreadCount);\n return { success: true, kind: 'object', data: undefined };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAiBA;AAEA;MAGa,4CAA4C,CAAA;AADzD,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iCAAiC,CAAC;AAYnE,IAAA;IAVC,MAAM,OAAO,CAAC,KAAiD,EAAA;QAC7D,MAAM,OAAO,GAAG,KAAyC;AACzD,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC;QAC7E,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;AACA,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC;AAC9D,QAAA,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC;AACpE,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3D;8GAZW,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA5C,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,4CAA4C,cAD/B,MAAM,EAAA,CAAA,CAAA;;2FACnB,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBADxD,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
@@ -4,7 +4,7 @@ import { AXPInAppInboxConnectorService } from '@acorex-platform/module-communica
4
4
  import * as i0 from '@angular/core';
5
5
  import { inject, Injectable } from '@angular/core';
6
6
  import { Router } from '@angular/router';
7
- import { f as buildConversationChatInAppCorrelationPrefix } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs';
7
+ import { f as buildConversationChatInAppCorrelationPrefix } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs';
8
8
 
9
9
  //#endregion
10
10
  //#region ----- Command -----
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
54
54
  }] });
55
55
 
56
56
  export { AXMConversationOpenChatCommand };
57
- //# sourceMappingURL=acorex-platform-module-conversation-client-open-chat.command-CdMsYHwG.mjs.map
57
+ //# sourceMappingURL=acorex-platform-module-conversation-client-open-chat.command-VgeGqj-z.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-conversation-client-open-chat.command-CdMsYHwG.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.dismissConversationInAppNotification(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 dismissConversationInAppNotification(conversationId: string): Promise<void> {\n if (!this.inboxConnector) {\n return;\n }\n try {\n await this.inboxConnector.dismissByCorrelationIdPrefix(\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,oCAAoC,CAAC,cAAc,CAAC;QAE/D,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,oCAAoC,CAAC,cAAsB,EAAA;AACvE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;AACA,QAAA,IAAI;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,4BAA4B,CACpD,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
+ {"version":3,"file":"acorex-platform-module-conversation-client-open-chat.command-VgeGqj-z.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.dismissConversationInAppNotification(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 dismissConversationInAppNotification(conversationId: string): Promise<void> {\n if (!this.inboxConnector) {\n return;\n }\n try {\n await this.inboxConnector.dismissByCorrelationIdPrefix(\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,oCAAoC,CAAC,cAAc,CAAC;QAE/D,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,oCAAoC,CAAC,cAAsB,EAAA;AACvE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB;QACF;AACA,QAAA,IAAI;YACF,MAAM,IAAI,CAAC,cAAc,CAAC,4BAA4B,CACpD,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-BP8QEicz.mjs';
3
+ import { a as AXM_CONVERSATION_ASSIST_RESPONSE_PORT } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.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-DvOeezMD.mjs.map
34
+ //# sourceMappingURL=acorex-platform-module-conversation-client-retry-assist-response.command-DYIpLKDB.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-conversation-client-retry-assist-response.command-DvOeezMD.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
+ {"version":3,"file":"acorex-platform-module-conversation-client-retry-assist-response.command-DYIpLKDB.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 } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs';
3
+ import { A as AXMConversationEntityStoreService, d as AXMConversationFocusService, e as AXMConversationInAppNotificationSyncService } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs';
4
4
 
5
5
  //#endregion
6
6
  //#region ---- Command ----
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
47
47
  }] });
48
48
 
49
49
  export { AXMConversationSyncReadStateCommand };
50
- //# sourceMappingURL=acorex-platform-module-conversation-client-sync-read-state.command-CmJAjrZb.mjs.map
50
+ //# sourceMappingURL=acorex-platform-module-conversation-client-sync-read-state.command-D97E8VvL.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-conversation-client-sync-read-state.command-CmJAjrZb.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';\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}\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 // Cached chat tabs keep the message list mounted after leave. The widget still\n // auto-marks visible messages as read (~3s), which was deleting the inbox row.\n if (!options.force && !this.focus.isFocused(conversationId)) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n if (!options.messageIds?.length) {\n const cachedConversation = this.store.getCachedConversation(conversationId);\n if ((cachedConversation?.unreadCount ?? 0) !== 0) {\n await this.store.setUnreadCount(conversationId, 0);\n }\n await this.inAppSync.dismissConversationInAppNotification(conversationId, options.currentUserId, {\n force: true,\n });\n return { success: true, kind: 'object', data: undefined };\n }\n\n const marked = await this.focus.markMessagesRead(conversationId, options.messageIds, options.currentUserId);\n await this.inAppSync.dismissConversationInAppNotification(conversationId, options.currentUserId, {\n force: true,\n });\n void marked;\n return { success: true, kind: 'object', data: undefined };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAsBA;AAEA;MAGa,mCAAmC,CAAA;AADhD,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iCAAiC,CAAC;AACjD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,2BAA2B,CAAC;AAC3C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,2CAA2C,CAAC;AAiCjF,IAAA;IA/BC,MAAM,OAAO,CAAC,KAAwC,EAAA;QACpD,MAAM,OAAO,GAAG,KAAgC;QAChD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE;QACrD,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;;;AAIA,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;AAC3D,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;YAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,cAAc,CAAC;YAC3E,IAAI,CAAC,kBAAkB,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE;gBAChD,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;YACpD;YACA,MAAM,IAAI,CAAC,SAAS,CAAC,oCAAoC,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE;AAC/F,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;AAEA,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC;QAC3G,MAAM,IAAI,CAAC,SAAS,CAAC,oCAAoC,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE;AAC/F,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA,CAAC;AACF,QAAA,KAAK,MAAM;AACX,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3D;8GAnCW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnC,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,mCAAmC,cADtB,MAAM,EAAA,CAAA,CAAA;;2FACnB,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAD/C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-conversation-client-sync-read-state.command-D97E8VvL.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';\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}\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 // Cached chat tabs keep the message list mounted after leave. The widget still\n // auto-marks visible messages as read (~3s), which was deleting the inbox row.\n if (!options.force && !this.focus.isFocused(conversationId)) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n if (!options.messageIds?.length) {\n const cachedConversation = this.store.getCachedConversation(conversationId);\n if ((cachedConversation?.unreadCount ?? 0) !== 0) {\n await this.store.setUnreadCount(conversationId, 0);\n }\n await this.inAppSync.dismissConversationInAppNotification(conversationId, options.currentUserId, {\n force: true,\n });\n return { success: true, kind: 'object', data: undefined };\n }\n\n const marked = await this.focus.markMessagesRead(conversationId, options.messageIds, options.currentUserId);\n await this.inAppSync.dismissConversationInAppNotification(conversationId, options.currentUserId, {\n force: true,\n });\n void marked;\n return { success: true, kind: 'object', data: undefined };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAsBA;AAEA;MAGa,mCAAmC,CAAA;AADhD,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iCAAiC,CAAC;AACjD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,2BAA2B,CAAC;AAC3C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,2CAA2C,CAAC;AAiCjF,IAAA;IA/BC,MAAM,OAAO,CAAC,KAAwC,EAAA;QACpD,MAAM,OAAO,GAAG,KAAgC;QAChD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE;QACrD,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;;;AAIA,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;AAC3D,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE;YAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,cAAc,CAAC;YAC3E,IAAI,CAAC,kBAAkB,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE;gBAChD,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;YACpD;YACA,MAAM,IAAI,CAAC,SAAS,CAAC,oCAAoC,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE;AAC/F,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;AAEA,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC;QAC3G,MAAM,IAAI,CAAC,SAAS,CAAC,oCAAoC,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE;AAC/F,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA,CAAC;AACF,QAAA,KAAK,MAAM;AACX,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3D;8GAnCW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnC,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,mCAAmC,cADtB,MAAM,EAAA,CAAA,CAAA;;2FACnB,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAD/C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
@@ -1,2 +1,2 @@
1
- export { H as AXMAddReactionCommand, G as AXMAssistSuggestionChipsComponent, I as AXMChatComponent, m as AXMChatConversationApi, l as AXMChatEntityConversationApi, J as AXMChatEntityConversationFocusHandler, K as AXMChatEntityConversationRoomQueryService, L as AXMChatEntityMessageApi, M as AXMChatEntityRealtimeApi, N as AXMChatEntityUserApi, O as AXMChatMessageApi, P as AXMChatRealtimeApi, k as AXMChatUserApi, g as AXMCommentComponent, Q as AXMCommentManagementService, R as AXMCommentPopupComponent, S as AXMCommentRealtimeService, T as AXMCommentRealtimeServiceImpl, U as AXMCommentService, V as AXMCommentServiceImpl, W as AXMCommentWidgetViewComponent, X as AXMConversationAssistBackgroundOperationHandler, A as AXMConversationEntityStoreService, d as AXMConversationFocusService, Y as AXMConversationModule, r as AXMConversationRealtimeBus, Z as AXMEntityChatService, _ as AXMMiniChatComponent, $ as AXMMiniChatHeaderSlotComponent, a0 as AXMMiniChatHistoryComponent, a1 as AXMMiniChatInboxHistoryComponent, a2 as AXMMiniChatInboxPanelHostComponent, a3 as AXMMiniChatLauncherComponent, a4 as AXMMiniChatPanelComponent, a5 as AXMMiniChatPanelService, a6 as AXMShowCommentPopupCommand, a7 as AXM_AI_MANAGEMENT_AGENT_ENTITY_NAME, a8 as AXM_AI_MANAGEMENT_ASSIST_ENTITY_NAME, a9 as AXM_AI_MANAGEMENT_MODULE_NAME, aa as AXM_ASSIST_DEFAULT_RESOLVER_PORT, ab as AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, ac as AXM_CHAT_ASSIST_CATALOG_PORT, ad as AXM_CHAT_EMPTY_STATE_COMPONENT, ae as AXM_CHAT_SIDEBAR_ACTION_PROVIDER, af as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_HANDLERS, ag as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_KEY, a as AXM_CONVERSATION_ASSIST_RESPONSE_PORT, ah as AXM_CONVERSATION_CHAT_ATTACHMENT_CATEGORY, ai as AXM_CONVERSATION_CHAT_ATTACHMENT_REF_TYPE, b as AXM_CONVERSATION_REGULAR_AUTO_REPLY_PORT, aj as AXM_CONVERSATION_TAB_BOT, ak as AXM_MINI_CHAT_INBOX_CONVERSATION_FILTER, al as AXM_MINI_CHAT_INBOX_SESSION_KEY, am as AXPCommentWidget, an as COMMENTS_PAGE_COMPONENT_KEY, ao as CONVERSATION_AFTER_MESSAGE_SENT_COMMAND, ap as CONVERSATION_EMIT_TYPING_INDICATOR_COMMAND, aq as CONVERSATION_MARK_CONVERSATION_UNREAD_COMMAND, ar as CONVERSATION_OPEN_CHAT_COMMAND, as as CONVERSATION_RETRY_ASSIST_RESPONSE_COMMAND, at as CONVERSATION_SEND_ASSIST_CHAT_MESSAGE_COMMAND, au as CONVERSATION_START_ASSIST_CHAT_COMMAND, av as CONVERSATION_START_DIRECT_CHAT_COMMAND, aw as CONVERSATION_SYNC_READ_STATE_COMMAND, ax as axmApplyAnswerTextToAssistPayloadLine, ay as axmAssistFollowUpItemsFromUnknown, az as axmAssistHasFinalizeMetadata, aA as axmAssistLastTranscriptLine, aB as axmAssistNormalizeFollowUpItemForConversation, aC as axmAssistNormalizeFollowUpItemsForConversation, aD as axmAssistPersistedMessageLooksComplete, aE as axmAssistResolveFollowUpCommandName, aF as axmAssistStarterPromptChipItems, aG as axmAssistUserFacingPayloadLine, aH as axmAssistUserVisibleItemsForLine, aI as axmAssistWidgetNodeDedupeKey, B as axmAssistWidgetNodeFromUnknown, aJ as axmBuildAiChatConversationMetadata, aK as axmBuildAssistPeerParticipantFromCreateData, aL as axmBuildAssistPeerParticipantFromId, aM as axmBuildAssistTranscriptLinePayload, aN as axmBuildAutoTitleFromUserText, aO as axmBuildEntityChatConversationMetadata, aP as axmChatAiPeerParticipantId, aQ as axmChatAiTargetAvatarUrl, aR as axmChatAiTargetDisplayDescription, aS as axmChatAiTargetDisplayName, aT as axmChatAiTargetShortcutDescriptionKey, aU as axmCoerceDate, aV as axmCoerceTimestampMs, aW as axmComputeConversationUnreadCount, c as axmConversationHasAiChat, aX as axmConversationIsEntityChat, aY as axmConversationMatchesEntity, aZ as axmExtractAssistIdFromMetadata, a_ as axmExtractAssistSnapshotFromMetadata, a$ as axmExtractDirectAgentIdFromMetadata, b0 as axmExtractEntityRefFromMetadata, b1 as axmExtractModelEntityIdFromMetadata, b2 as axmExtractTextFromPayload, b3 as axmFilterChatAiTargets, b4 as axmHydrateRealtimeConversationMessage, b5 as axmIsAssistBotConversation, b6 as axmIsAssistPeerParticipant, b7 as axmIsAssistRetryableStatus, b8 as axmIsAssistStreamingMessage, b9 as axmIsAssistStreamingStatus, ba as axmIsAssistTerminalStatus, bb as axmIsUnsupportedLegacyAgentAssistConversation, bc as axmLoadChatAiTargets, bd as axmMessageCountsTowardUnread, be as axmMessageEntityToMessage, bf as axmNormalizeAssistTranscriptForChatUi, bg as axmNormalizeAssistTranscriptLineResponses, bh as axmParseAssistTranscriptLinePayload, z as axmParseAssistTranscriptTextEnvelope, C as axmPartitionAssistAnswerText, w as axmReadAssistAiTranscript, x as axmReadAssistAiTranscriptRaw, bi as axmReadAssistResponseError, bj as axmReadAssistResponseStatus, bk as axmReadPlainTextMessagePayload, bl as axmReadReplyToUserMessageId, bm as axmResolveAssistFinalAnswerText, bn as axmResolveChatAiTargetText, bo as axmRoomEntityToConversation, bp as axmRoomWithAssistPeerDisplayName, bq as axmSanitizeAssistUserAnswerText, br as axmShouldPreferPersistedAssistOverLiveCache, bs as axmShowCommentPopupCommandDefinition, bt as axmSortMessagesNewestFirst, bu as axmSyncAssistPeerDisplayName, D as axmSyntheticEmbedMessage, bv as axmUserRowToParticipant, bw as commentsPlugin, bx as createConversationServiceSessionAdapter, by as persistChatAttachment } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-BP8QEicz.mjs';
1
+ export { H as AXMAddReactionCommand, G as AXMAssistSuggestionChipsComponent, I as AXMChatComponent, m as AXMChatConversationApi, l as AXMChatEntityConversationApi, J as AXMChatEntityConversationFocusHandler, K as AXMChatEntityConversationRoomQueryService, L as AXMChatEntityMessageApi, M as AXMChatEntityRealtimeApi, N as AXMChatEntityUserApi, O as AXMChatMessageApi, P as AXMChatRealtimeApi, k as AXMChatUserApi, g as AXMCommentComponent, Q as AXMCommentManagementService, R as AXMCommentPopupComponent, S as AXMCommentRealtimeService, T as AXMCommentRealtimeServiceImpl, U as AXMCommentService, V as AXMCommentServiceImpl, W as AXMCommentWidgetViewComponent, X as AXMConversationAssistBackgroundOperationHandler, A as AXMConversationEntityStoreService, d as AXMConversationFocusService, Y as AXMConversationModule, r as AXMConversationRealtimeBus, Z as AXMEntityChatService, _ as AXMMiniChatComponent, $ as AXMMiniChatHeaderSlotComponent, a0 as AXMMiniChatHistoryComponent, a1 as AXMMiniChatInboxHistoryComponent, a2 as AXMMiniChatInboxPanelHostComponent, a3 as AXMMiniChatLauncherComponent, a4 as AXMMiniChatPanelComponent, a5 as AXMMiniChatPanelService, a6 as AXMShowCommentPopupCommand, a7 as AXM_AI_MANAGEMENT_AGENT_ENTITY_NAME, a8 as AXM_AI_MANAGEMENT_ASSIST_ENTITY_NAME, a9 as AXM_AI_MANAGEMENT_MODULE_NAME, aa as AXM_ASSIST_DEFAULT_RESOLVER_PORT, ab as AXM_ASSIST_TRANSCRIPT_LINE_PAYLOAD_TYPE, ac as AXM_CHAT_ASSIST_CATALOG_PORT, ad as AXM_CHAT_EMPTY_STATE_COMPONENT, ae as AXM_CHAT_SIDEBAR_ACTION_PROVIDER, af as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_HANDLERS, ag as AXM_CONVERSATION_ASSIST_BACKGROUND_OPERATION_KEY, a as AXM_CONVERSATION_ASSIST_RESPONSE_PORT, ah as AXM_CONVERSATION_CHAT_ATTACHMENT_CATEGORY, ai as AXM_CONVERSATION_CHAT_ATTACHMENT_REF_TYPE, b as AXM_CONVERSATION_REGULAR_AUTO_REPLY_PORT, aj as AXM_CONVERSATION_TAB_BOT, ak as AXM_MINI_CHAT_INBOX_CONVERSATION_FILTER, al as AXM_MINI_CHAT_INBOX_SESSION_KEY, am as AXPCommentWidget, an as COMMENTS_PAGE_COMPONENT_KEY, ao as CONVERSATION_AFTER_MESSAGE_SENT_COMMAND, ap as CONVERSATION_EMIT_TYPING_INDICATOR_COMMAND, aq as CONVERSATION_MARK_CONVERSATION_UNREAD_COMMAND, ar as CONVERSATION_OPEN_CHAT_COMMAND, as as CONVERSATION_RETRY_ASSIST_RESPONSE_COMMAND, at as CONVERSATION_SEND_ASSIST_CHAT_MESSAGE_COMMAND, au as CONVERSATION_START_ASSIST_CHAT_COMMAND, av as CONVERSATION_START_DIRECT_CHAT_COMMAND, aw as CONVERSATION_SYNC_READ_STATE_COMMAND, ax as axmApplyAnswerTextToAssistPayloadLine, ay as axmAssistFollowUpItemsFromUnknown, az as axmAssistHasFinalizeMetadata, aA as axmAssistLastTranscriptLine, aB as axmAssistNormalizeFollowUpItemForConversation, aC as axmAssistNormalizeFollowUpItemsForConversation, aD as axmAssistPersistedMessageLooksComplete, aE as axmAssistResolveFollowUpCommandName, aF as axmAssistStarterPromptChipItems, aG as axmAssistUserFacingPayloadLine, aH as axmAssistUserVisibleItemsForLine, aI as axmAssistWidgetNodeDedupeKey, B as axmAssistWidgetNodeFromUnknown, aJ as axmBuildAiChatConversationMetadata, aK as axmBuildAssistPeerParticipantFromCreateData, aL as axmBuildAssistPeerParticipantFromId, aM as axmBuildAssistTranscriptLinePayload, aN as axmBuildAutoTitleFromUserText, aO as axmBuildEntityChatConversationMetadata, aP as axmChatAiPeerParticipantId, aQ as axmChatAiTargetAvatarUrl, aR as axmChatAiTargetDisplayDescription, aS as axmChatAiTargetDisplayName, aT as axmChatAiTargetShortcutDescriptionKey, aU as axmCoerceDate, aV as axmCoerceTimestampMs, aW as axmComputeConversationUnreadCount, c as axmConversationHasAiChat, aX as axmConversationIsEntityChat, aY as axmConversationMatchesEntity, aZ as axmExtractAssistIdFromMetadata, a_ as axmExtractAssistSnapshotFromMetadata, a$ as axmExtractDirectAgentIdFromMetadata, b0 as axmExtractEntityRefFromMetadata, b1 as axmExtractModelEntityIdFromMetadata, b2 as axmExtractTextFromPayload, b3 as axmFilterChatAiTargets, b4 as axmHydrateRealtimeConversationMessage, b5 as axmIsAssistBotConversation, b6 as axmIsAssistPeerParticipant, b7 as axmIsAssistRetryableStatus, b8 as axmIsAssistStreamingMessage, b9 as axmIsAssistStreamingStatus, ba as axmIsAssistTerminalStatus, bb as axmIsUnsupportedLegacyAgentAssistConversation, bc as axmLoadChatAiTargets, bd as axmMessageCountsTowardUnread, be as axmMessageEntityToMessage, bf as axmNormalizeAssistTranscriptForChatUi, bg as axmNormalizeAssistTranscriptLineResponses, bh as axmParseAssistTranscriptLinePayload, z as axmParseAssistTranscriptTextEnvelope, C as axmPartitionAssistAnswerText, w as axmReadAssistAiTranscript, x as axmReadAssistAiTranscriptRaw, bi as axmReadAssistResponseError, bj as axmReadAssistResponseStatus, bk as axmReadPlainTextMessagePayload, bl as axmReadReplyToUserMessageId, bm as axmResolveAssistFinalAnswerText, bn as axmResolveChatAiTargetText, bo as axmRoomEntityToConversation, bp as axmRoomWithAssistPeerDisplayName, bq as axmSanitizeAssistUserAnswerText, br as axmShouldPreferPersistedAssistOverLiveCache, bs as axmShowCommentPopupCommandDefinition, bt as axmSortMessagesNewestFirst, bu as axmSyncAssistPeerDisplayName, D as axmSyntheticEmbedMessage, bv as axmUserRowToParticipant, bw as commentsPlugin, bx as createConversationServiceSessionAdapter, by as persistChatAttachment } from './acorex-platform-module-conversation-client-acorex-platform-module-conversation-client-CDlDFzbl.mjs';
2
2
  //# 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.32",
3
+ "version": "0.0.33",
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.32",
10
+ "@acorex-platform/extension-rtc-core-gateway": "0.0.33",
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "module": "fesm2022/acorex-platform-module-conversation-client.mjs",
@@ -23,6 +23,22 @@
23
23
  "./contracts": {
24
24
  "types": "./types/acorex-platform-module-conversation-client-contracts.d.ts",
25
25
  "default": "./fesm2022/acorex-platform-module-conversation-client-contracts.mjs"
26
+ },
27
+ "./contracts/entities/message": {
28
+ "types": "./types/acorex-platform-module-conversation-client-contracts-entities-message.d.ts",
29
+ "default": "./fesm2022/acorex-platform-module-conversation-client-contracts-entities-message.mjs"
30
+ },
31
+ "./contracts/entities/room": {
32
+ "types": "./types/acorex-platform-module-conversation-client-contracts-entities-room.d.ts",
33
+ "default": "./fesm2022/acorex-platform-module-conversation-client-contracts-entities-room.mjs"
34
+ },
35
+ "./contracts/entity-catalog": {
36
+ "types": "./types/acorex-platform-module-conversation-client-contracts-entity-catalog.d.ts",
37
+ "default": "./fesm2022/acorex-platform-module-conversation-client-contracts-entity-catalog.mjs"
38
+ },
39
+ "./local-entities": {
40
+ "types": "./types/acorex-platform-module-conversation-client-local-entities.d.ts",
41
+ "default": "./fesm2022/acorex-platform-module-conversation-client-local-entities.mjs"
26
42
  }
27
43
  },
28
44
  "type": "module"
@@ -0,0 +1,5 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ declare function messageFactory(): Promise<AXPEntity | null>;
4
+
5
+ export { messageFactory };
@@ -0,0 +1,5 @@
1
+ import { AXPEntity } from '@acorex-platform/framework-shared/entity';
2
+
3
+ declare function roomFactory(): Promise<AXPEntity | null>;
4
+
5
+ export { roomFactory };
@@ -0,0 +1,10 @@
1
+ import { AXPLocalEntityCatalog } from '@acorex-platform/framework-shared/entity';
2
+
3
+ /**
4
+ * Lazy per-entity layout factories. Do not re-export from the contracts barrel
5
+ * so RootConfig imports stay light. Server seed and client `local-entities`
6
+ * consume this catalog explicitly.
7
+ */
8
+ declare const conversationLocalEntityCatalog: AXPLocalEntityCatalog;
9
+
10
+ export { conversationLocalEntityCatalog };