@memberjunction/ng-conversations 6.1.4 → 6.2.0-edge.1

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 (424) hide show
  1. package/README.md +36 -3
  2. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +19 -3
  3. package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -1
  4. package/dist/lib/components/active-tasks/active-tasks-panel.component.js +39 -7
  5. package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
  6. package/dist/lib/components/agent/active-agent-indicator.component.d.ts +74 -6
  7. package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -1
  8. package/dist/lib/components/agent/active-agent-indicator.component.js +111 -21
  9. package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -1
  10. package/dist/lib/components/agent/agent-process-panel.component.d.ts +31 -5
  11. package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -1
  12. package/dist/lib/components/agent/agent-process-panel.component.js +71 -15
  13. package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -1
  14. package/dist/lib/components/artifact/artifact-share-modal.component.d.ts +65 -9
  15. package/dist/lib/components/artifact/artifact-share-modal.component.d.ts.map +1 -1
  16. package/dist/lib/components/artifact/artifact-share-modal.component.js +169 -57
  17. package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
  18. package/dist/lib/components/attachment/image-viewer.component.d.ts +77 -11
  19. package/dist/lib/components/attachment/image-viewer.component.d.ts.map +1 -1
  20. package/dist/lib/components/attachment/image-viewer.component.js +181 -47
  21. package/dist/lib/components/attachment/image-viewer.component.js.map +1 -1
  22. package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts +129 -19
  23. package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -1
  24. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +350 -116
  25. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
  26. package/dist/lib/components/collection/artifact-create-modal.component.d.ts +60 -8
  27. package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -1
  28. package/dist/lib/components/collection/artifact-create-modal.component.js +130 -46
  29. package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
  30. package/dist/lib/components/collection/collection-artifact-card.component.d.ts +63 -3
  31. package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -1
  32. package/dist/lib/components/collection/collection-artifact-card.component.js +113 -19
  33. package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
  34. package/dist/lib/components/collection/collection-form-modal.component.d.ts +54 -8
  35. package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
  36. package/dist/lib/components/collection/collection-form-modal.component.js +130 -46
  37. package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
  38. package/dist/lib/components/collection/collection-share-modal.component.d.ts +70 -10
  39. package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -1
  40. package/dist/lib/components/collection/collection-share-modal.component.js +175 -53
  41. package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
  42. package/dist/lib/components/collection/collection-tree.component.d.ts +89 -9
  43. package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
  44. package/dist/lib/components/collection/collection-tree.component.js +220 -70
  45. package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
  46. package/dist/lib/components/collection/collection-view.component.d.ts +89 -11
  47. package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
  48. package/dist/lib/components/collection/collection-view.component.js +154 -40
  49. package/dist/lib/components/collection/collection-view.component.js.map +1 -1
  50. package/dist/lib/components/collection/collections-full-view.component.d.ts +390 -38
  51. package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
  52. package/dist/lib/components/collection/collections-full-view.component.js +951 -367
  53. package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
  54. package/dist/lib/components/composer/ai-composer.component.d.ts +213 -18
  55. package/dist/lib/components/composer/ai-composer.component.d.ts.map +1 -1
  56. package/dist/lib/components/composer/ai-composer.component.js +388 -44
  57. package/dist/lib/components/composer/ai-composer.component.js.map +1 -1
  58. package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts +12 -1
  59. package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts.map +1 -1
  60. package/dist/lib/components/conversation/conversation-agent-picker.component.js +26 -4
  61. package/dist/lib/components/conversation/conversation-agent-picker.component.js.map +1 -1
  62. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +1090 -123
  63. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  64. package/dist/lib/components/conversation/conversation-chat-area.component.js +2407 -731
  65. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  66. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +139 -19
  67. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
  68. package/dist/lib/components/conversation/conversation-empty-state.component.js +296 -59
  69. package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
  70. package/dist/lib/components/conversation/conversation-list.component.d.ts +579 -78
  71. package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
  72. package/dist/lib/components/conversation/conversation-list.component.js +2322 -823
  73. package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
  74. package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts +40 -4
  75. package/dist/lib/components/conversation/pinned-messages-panel.component.d.ts.map +1 -1
  76. package/dist/lib/components/conversation/pinned-messages-panel.component.js +72 -14
  77. package/dist/lib/components/conversation/pinned-messages-panel.component.js.map +1 -1
  78. package/dist/lib/components/dialogs/input-dialog.component.d.ts +57 -11
  79. package/dist/lib/components/dialogs/input-dialog.component.d.ts.map +1 -1
  80. package/dist/lib/components/dialogs/input-dialog.component.js +128 -16
  81. package/dist/lib/components/dialogs/input-dialog.component.js.map +1 -1
  82. package/dist/lib/components/dialogs/rating-dialog.component.d.ts +68 -10
  83. package/dist/lib/components/dialogs/rating-dialog.component.d.ts.map +1 -1
  84. package/dist/lib/components/dialogs/rating-dialog.component.js +151 -27
  85. package/dist/lib/components/dialogs/rating-dialog.component.js.map +1 -1
  86. package/dist/lib/components/export/export-modal.component.d.ts +84 -10
  87. package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
  88. package/dist/lib/components/export/export-modal.component.js +173 -49
  89. package/dist/lib/components/export/export-modal.component.js.map +1 -1
  90. package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts +29 -3
  91. package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts.map +1 -1
  92. package/dist/lib/components/global-tasks/global-tasks-panel.component.js +58 -12
  93. package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -1
  94. package/dist/lib/components/library/library-full-view.component.d.ts +57 -8
  95. package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
  96. package/dist/lib/components/library/library-full-view.component.js +119 -35
  97. package/dist/lib/components/library/library-full-view.component.js.map +1 -1
  98. package/dist/lib/components/members/members-modal.component.d.ts +76 -10
  99. package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
  100. package/dist/lib/components/members/members-modal.component.js +164 -50
  101. package/dist/lib/components/members/members-modal.component.js.map +1 -1
  102. package/dist/lib/components/message/actionable-commands.component.d.ts +37 -5
  103. package/dist/lib/components/message/actionable-commands.component.d.ts.map +1 -1
  104. package/dist/lib/components/message/actionable-commands.component.js +82 -16
  105. package/dist/lib/components/message/actionable-commands.component.js.map +1 -1
  106. package/dist/lib/components/message/conversation-message-rating.component.d.ts +46 -10
  107. package/dist/lib/components/message/conversation-message-rating.component.d.ts.map +1 -1
  108. package/dist/lib/components/message/conversation-message-rating.component.js +120 -36
  109. package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -1
  110. package/dist/lib/components/message/message-input.component.d.ts +549 -74
  111. package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
  112. package/dist/lib/components/message/message-input.component.js +1250 -421
  113. package/dist/lib/components/message/message-input.component.js.map +1 -1
  114. package/dist/lib/components/message/message-item.component.d.ts +411 -29
  115. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  116. package/dist/lib/components/message/message-item.component.js +896 -222
  117. package/dist/lib/components/message/message-item.component.js.map +1 -1
  118. package/dist/lib/components/message/message-list.component.d.ts +288 -29
  119. package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
  120. package/dist/lib/components/message/message-list.component.js +561 -123
  121. package/dist/lib/components/message/message-list.component.js.map +1 -1
  122. package/dist/lib/components/navigation/conversation-navigation.component.d.ts +64 -5
  123. package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
  124. package/dist/lib/components/navigation/conversation-navigation.component.js +101 -11
  125. package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
  126. package/dist/lib/components/notification/activity-indicator.component.d.ts +6 -2
  127. package/dist/lib/components/notification/activity-indicator.component.d.ts.map +1 -1
  128. package/dist/lib/components/notification/activity-indicator.component.js +13 -3
  129. package/dist/lib/components/notification/activity-indicator.component.js.map +1 -1
  130. package/dist/lib/components/notification/notification-badge.component.d.ts +15 -3
  131. package/dist/lib/components/notification/notification-badge.component.d.ts.map +1 -1
  132. package/dist/lib/components/notification/notification-badge.component.js +36 -8
  133. package/dist/lib/components/notification/notification-badge.component.js.map +1 -1
  134. package/dist/lib/components/overlay/chat-overlay.component.d.ts +1 -1
  135. package/dist/lib/components/overlay/chat-overlay.component.js +4 -4
  136. package/dist/lib/components/overlay/chat-overlay.component.js.map +1 -1
  137. package/dist/lib/components/project/project-form-modal.component.d.ts +93 -11
  138. package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -1
  139. package/dist/lib/components/project/project-form-modal.component.js +348 -87
  140. package/dist/lib/components/project/project-form-modal.component.js.map +1 -1
  141. package/dist/lib/components/project/project-selector.component.d.ts +78 -8
  142. package/dist/lib/components/project/project-selector.component.d.ts.map +1 -1
  143. package/dist/lib/components/project/project-selector.component.js +177 -46
  144. package/dist/lib/components/project/project-selector.component.js.map +1 -1
  145. package/dist/lib/components/realtime/channels/channel-onboarding-panel.component.d.ts +1 -1
  146. package/dist/lib/components/realtime/channels/channel-onboarding-panel.component.d.ts.map +1 -1
  147. package/dist/lib/components/realtime/channels/channel-onboarding-panel.component.js.map +1 -1
  148. package/dist/lib/components/realtime/channels/client-context-channel.d.ts +1 -1
  149. package/dist/lib/components/realtime/channels/client-context-channel.d.ts.map +1 -1
  150. package/dist/lib/components/realtime/channels/client-context-channel.js +1 -1
  151. package/dist/lib/components/realtime/channels/client-context-channel.js.map +1 -1
  152. package/dist/lib/components/realtime/channels/realtime-channel-pane.component.d.ts +1 -1
  153. package/dist/lib/components/realtime/channels/realtime-channel-pane.component.d.ts.map +1 -1
  154. package/dist/lib/components/realtime/channels/realtime-channel-pane.component.js +3 -0
  155. package/dist/lib/components/realtime/channels/realtime-channel-pane.component.js.map +1 -1
  156. package/dist/lib/components/realtime/media/media-channel.d.ts +2 -1
  157. package/dist/lib/components/realtime/media/media-channel.d.ts.map +1 -1
  158. package/dist/lib/components/realtime/media/media-channel.js +1 -1
  159. package/dist/lib/components/realtime/media/media-channel.js.map +1 -1
  160. package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts +2 -2
  161. package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts.map +1 -1
  162. package/dist/lib/components/realtime/realtime-activity-rail.component.js +2 -2
  163. package/dist/lib/components/realtime/realtime-activity-rail.component.js.map +1 -1
  164. package/dist/lib/components/realtime/realtime-agent-banner.component.d.ts +1 -1
  165. package/dist/lib/components/realtime/realtime-agent-banner.component.d.ts.map +1 -1
  166. package/dist/lib/components/realtime/realtime-agent-banner.component.js.map +1 -1
  167. package/dist/lib/components/realtime/realtime-composer.component.d.ts +3 -1
  168. package/dist/lib/components/realtime/realtime-composer.component.d.ts.map +1 -1
  169. package/dist/lib/components/realtime/realtime-composer.component.js +26 -8
  170. package/dist/lib/components/realtime/realtime-composer.component.js.map +1 -1
  171. package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts +2 -2
  172. package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts.map +1 -1
  173. package/dist/lib/components/realtime/realtime-delegation-card.component.js +2 -2
  174. package/dist/lib/components/realtime/realtime-delegation-card.component.js.map +1 -1
  175. package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts +4 -4
  176. package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts.map +1 -1
  177. package/dist/lib/components/realtime/realtime-session-overlay.component.js +19 -19
  178. package/dist/lib/components/realtime/realtime-session-overlay.component.js.map +1 -1
  179. package/dist/lib/components/realtime/realtime-session-state.d.ts +2 -3
  180. package/dist/lib/components/realtime/realtime-session-state.d.ts.map +1 -1
  181. package/dist/lib/components/realtime/realtime-session-state.js +3 -2
  182. package/dist/lib/components/realtime/realtime-session-state.js.map +1 -1
  183. package/dist/lib/components/realtime/realtime-session-thread.component.d.ts +17 -1
  184. package/dist/lib/components/realtime/realtime-session-thread.component.d.ts.map +1 -1
  185. package/dist/lib/components/realtime/realtime-session-thread.component.js +122 -45
  186. package/dist/lib/components/realtime/realtime-session-thread.component.js.map +1 -1
  187. package/dist/lib/components/realtime/realtime-session-timeline-card.component.d.ts +47 -31
  188. package/dist/lib/components/realtime/realtime-session-timeline-card.component.d.ts.map +1 -1
  189. package/dist/lib/components/realtime/realtime-session-timeline-card.component.js +138 -124
  190. package/dist/lib/components/realtime/realtime-session-timeline-card.component.js.map +1 -1
  191. package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts +4 -4
  192. package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts.map +1 -1
  193. package/dist/lib/components/realtime/realtime-surface-tabs.component.js +4 -4
  194. package/dist/lib/components/realtime/realtime-surface-tabs.component.js.map +1 -1
  195. package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts +2 -2
  196. package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts.map +1 -1
  197. package/dist/lib/components/realtime/realtime-surface-tabs.model.js +3 -3
  198. package/dist/lib/components/realtime/realtime-surface-tabs.model.js.map +1 -1
  199. package/dist/lib/components/realtime/realtime-ui-config.d.ts +13 -11
  200. package/dist/lib/components/realtime/realtime-ui-config.d.ts.map +1 -1
  201. package/dist/lib/components/realtime/realtime-ui-config.js +29 -25
  202. package/dist/lib/components/realtime/realtime-ui-config.js.map +1 -1
  203. package/dist/lib/components/realtime/remote-browser/remote-browser-channel.d.ts +1 -1
  204. package/dist/lib/components/realtime/remote-browser/remote-browser-channel.d.ts.map +1 -1
  205. package/dist/lib/components/realtime/remote-browser/remote-browser-channel.js +1 -1
  206. package/dist/lib/components/realtime/remote-browser/remote-browser-channel.js.map +1 -1
  207. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.d.ts +4 -2
  208. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.d.ts.map +1 -1
  209. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.js +7 -3
  210. package/dist/lib/components/realtime/whiteboard/whiteboard-channel.js.map +1 -1
  211. package/dist/lib/components/search/search-panel.component.d.ts +133 -22
  212. package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
  213. package/dist/lib/components/search/search-panel.component.js +312 -83
  214. package/dist/lib/components/search/search-panel.component.js.map +1 -1
  215. package/dist/lib/components/share/share-modal.component.d.ts +69 -9
  216. package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
  217. package/dist/lib/components/share/share-modal.component.js +139 -31
  218. package/dist/lib/components/share/share-modal.component.js.map +1 -1
  219. package/dist/lib/components/shared/user-picker.component.d.ts +48 -8
  220. package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
  221. package/dist/lib/components/shared/user-picker.component.js +110 -30
  222. package/dist/lib/components/shared/user-picker.component.js.map +1 -1
  223. package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +114 -11
  224. package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
  225. package/dist/lib/components/sidebar/conversation-sidebar.component.js +199 -21
  226. package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
  227. package/dist/lib/components/sidebar/routines-section.component.d.ts +20 -1
  228. package/dist/lib/components/sidebar/routines-section.component.d.ts.map +1 -1
  229. package/dist/lib/components/sidebar/routines-section.component.js +25 -5
  230. package/dist/lib/components/sidebar/routines-section.component.js.map +1 -1
  231. package/dist/lib/components/slots/slot-interfaces.d.ts +19 -0
  232. package/dist/lib/components/slots/slot-interfaces.d.ts.map +1 -1
  233. package/dist/lib/components/slots/slot-interfaces.js.map +1 -1
  234. package/dist/lib/components/task/tasks-full-view.component.d.ts +95 -13
  235. package/dist/lib/components/task/tasks-full-view.component.d.ts.map +1 -1
  236. package/dist/lib/components/task/tasks-full-view.component.js +223 -75
  237. package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
  238. package/dist/lib/components/tasks/task-widget.component.d.ts +46 -6
  239. package/dist/lib/components/tasks/task-widget.component.d.ts.map +1 -1
  240. package/dist/lib/components/tasks/task-widget.component.js +100 -16
  241. package/dist/lib/components/tasks/task-widget.component.js.map +1 -1
  242. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +64 -7
  243. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
  244. package/dist/lib/components/tasks/tasks-dropdown.component.js +127 -27
  245. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
  246. package/dist/lib/components/thread/thread-panel.component.d.ts +66 -8
  247. package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -1
  248. package/dist/lib/components/thread/thread-panel.component.js +146 -36
  249. package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
  250. package/dist/lib/components/toast/toast.component.d.ts +11 -1
  251. package/dist/lib/components/toast/toast.component.d.ts.map +1 -1
  252. package/dist/lib/components/toast/toast.component.js +25 -5
  253. package/dist/lib/components/toast/toast.component.js.map +1 -1
  254. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +385 -42
  255. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  256. package/dist/lib/components/workspace/conversation-workspace.component.js +887 -291
  257. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  258. package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts +8 -0
  259. package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts.map +1 -1
  260. package/dist/lib/composer-plugins/base-conversation-mention.provider.js +8 -1
  261. package/dist/lib/composer-plugins/base-conversation-mention.provider.js.map +1 -1
  262. package/dist/lib/conversations.module.d.ts.map +1 -1
  263. package/dist/lib/conversations.module.js.map +1 -1
  264. package/dist/lib/directives/chat-slot.directive.d.ts +5 -1
  265. package/dist/lib/directives/chat-slot.directive.d.ts.map +1 -1
  266. package/dist/lib/directives/chat-slot.directive.js.map +1 -1
  267. package/dist/lib/directives/search-shortcut.directive.d.ts +9 -1
  268. package/dist/lib/directives/search-shortcut.directive.d.ts.map +1 -1
  269. package/dist/lib/directives/search-shortcut.directive.js +14 -4
  270. package/dist/lib/directives/search-shortcut.directive.js.map +1 -1
  271. package/dist/lib/events/chat-events.d.ts +34 -7
  272. package/dist/lib/events/chat-events.d.ts.map +1 -1
  273. package/dist/lib/events/chat-events.js +37 -7
  274. package/dist/lib/events/chat-events.js.map +1 -1
  275. package/dist/lib/models/agent-turn.model.d.ts +103 -0
  276. package/dist/lib/models/agent-turn.model.d.ts.map +1 -0
  277. package/dist/lib/models/agent-turn.model.js +12 -0
  278. package/dist/lib/models/agent-turn.model.js.map +1 -0
  279. package/dist/lib/models/collection-view.model.js.map +1 -1
  280. package/dist/lib/models/conversation-state.model.d.ts +8 -0
  281. package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
  282. package/dist/lib/models/conversation-state.model.js.map +1 -1
  283. package/dist/lib/models/lazy-artifact-info.d.ts +44 -12
  284. package/dist/lib/models/lazy-artifact-info.d.ts.map +1 -1
  285. package/dist/lib/models/lazy-artifact-info.js +98 -34
  286. package/dist/lib/models/lazy-artifact-info.js.map +1 -1
  287. package/dist/lib/services/active-tasks.service.d.ts +30 -4
  288. package/dist/lib/services/active-tasks.service.d.ts.map +1 -1
  289. package/dist/lib/services/active-tasks.service.js +71 -19
  290. package/dist/lib/services/active-tasks.service.js.map +1 -1
  291. package/dist/lib/services/agent-state.service.d.ts +17 -1
  292. package/dist/lib/services/agent-state.service.d.ts.map +1 -1
  293. package/dist/lib/services/agent-state.service.js +48 -16
  294. package/dist/lib/services/agent-state.service.js.map +1 -1
  295. package/dist/lib/services/artifact-permission.service.d.ts +39 -0
  296. package/dist/lib/services/artifact-permission.service.d.ts.map +1 -1
  297. package/dist/lib/services/artifact-permission.service.js +152 -17
  298. package/dist/lib/services/artifact-permission.service.js.map +1 -1
  299. package/dist/lib/services/artifact-state.service.d.ts +58 -5
  300. package/dist/lib/services/artifact-state.service.d.ts.map +1 -1
  301. package/dist/lib/services/artifact-state.service.js +135 -35
  302. package/dist/lib/services/artifact-state.service.js.map +1 -1
  303. package/dist/lib/services/browser-realtime-media-host.d.ts +24 -0
  304. package/dist/lib/services/browser-realtime-media-host.d.ts.map +1 -0
  305. package/dist/lib/services/browser-realtime-media-host.js +95 -0
  306. package/dist/lib/services/browser-realtime-media-host.js.map +1 -0
  307. package/dist/lib/services/collection-permission.service.d.ts +28 -0
  308. package/dist/lib/services/collection-permission.service.d.ts.map +1 -1
  309. package/dist/lib/services/collection-permission.service.js +88 -32
  310. package/dist/lib/services/collection-permission.service.js.map +1 -1
  311. package/dist/lib/services/collection-state.service.d.ts +11 -1
  312. package/dist/lib/services/collection-state.service.d.ts.map +1 -1
  313. package/dist/lib/services/collection-state.service.js +25 -5
  314. package/dist/lib/services/collection-state.service.js.map +1 -1
  315. package/dist/lib/services/conversation-agent.service.d.ts +26 -4
  316. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
  317. package/dist/lib/services/conversation-agent.service.js +57 -18
  318. package/dist/lib/services/conversation-agent.service.js.map +1 -1
  319. package/dist/lib/services/conversation-attachment.service.d.ts +41 -2
  320. package/dist/lib/services/conversation-attachment.service.d.ts.map +1 -1
  321. package/dist/lib/services/conversation-attachment.service.js +80 -13
  322. package/dist/lib/services/conversation-attachment.service.js.map +1 -1
  323. package/dist/lib/services/conversation-streaming.service.d.ts +22 -0
  324. package/dist/lib/services/conversation-streaming.service.d.ts.map +1 -1
  325. package/dist/lib/services/conversation-streaming.service.js +50 -10
  326. package/dist/lib/services/conversation-streaming.service.js.map +1 -1
  327. package/dist/lib/services/data-cache.service.d.ts +31 -0
  328. package/dist/lib/services/data-cache.service.d.ts.map +1 -1
  329. package/dist/lib/services/data-cache.service.js +71 -15
  330. package/dist/lib/services/data-cache.service.js.map +1 -1
  331. package/dist/lib/services/dialog.service.d.ts +13 -0
  332. package/dist/lib/services/dialog.service.d.ts.map +1 -1
  333. package/dist/lib/services/dialog.service.js +25 -5
  334. package/dist/lib/services/dialog.service.js.map +1 -1
  335. package/dist/lib/services/export.service.d.ts +2 -0
  336. package/dist/lib/services/export.service.d.ts.map +1 -1
  337. package/dist/lib/services/export.service.js +5 -1
  338. package/dist/lib/services/export.service.js.map +1 -1
  339. package/dist/lib/services/graphql-attachment-blob-store.d.ts +44 -0
  340. package/dist/lib/services/graphql-attachment-blob-store.d.ts.map +1 -0
  341. package/dist/lib/services/graphql-attachment-blob-store.js +113 -0
  342. package/dist/lib/services/graphql-attachment-blob-store.js.map +1 -0
  343. package/dist/lib/services/mention-autocomplete.service.d.ts +17 -141
  344. package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
  345. package/dist/lib/services/mention-autocomplete.service.js +15 -460
  346. package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
  347. package/dist/lib/services/mention-parser.service.d.ts +10 -0
  348. package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
  349. package/dist/lib/services/mention-parser.service.js +25 -5
  350. package/dist/lib/services/mention-parser.service.js.map +1 -1
  351. package/dist/lib/services/notification.service.d.ts +54 -6
  352. package/dist/lib/services/notification.service.d.ts.map +1 -1
  353. package/dist/lib/services/notification.service.js +123 -27
  354. package/dist/lib/services/notification.service.js.map +1 -1
  355. package/dist/lib/services/realtime-audio-recorder.d.ts +4 -4
  356. package/dist/lib/services/realtime-audio-recorder.js +12 -12
  357. package/dist/lib/services/realtime-audio-recorder.js.map +1 -1
  358. package/dist/lib/services/realtime-pcm-wav.d.ts +4 -0
  359. package/dist/lib/services/realtime-pcm-wav.d.ts.map +1 -1
  360. package/dist/lib/services/realtime-pcm-wav.js +10 -2
  361. package/dist/lib/services/realtime-pcm-wav.js.map +1 -1
  362. package/dist/lib/services/realtime-session-review.service.d.ts +1 -1
  363. package/dist/lib/services/realtime-session-review.service.d.ts.map +1 -1
  364. package/dist/lib/services/realtime-session-review.service.js +1 -1
  365. package/dist/lib/services/realtime-session-review.service.js.map +1 -1
  366. package/dist/lib/services/realtime-session.service.d.ts +16 -1150
  367. package/dist/lib/services/realtime-session.service.d.ts.map +1 -1
  368. package/dist/lib/services/realtime-session.service.js +28 -2430
  369. package/dist/lib/services/realtime-session.service.js.map +1 -1
  370. package/dist/lib/services/search.service.d.ts +42 -9
  371. package/dist/lib/services/search.service.d.ts.map +1 -1
  372. package/dist/lib/services/search.service.js +103 -23
  373. package/dist/lib/services/search.service.js.map +1 -1
  374. package/dist/lib/services/toast.service.d.ts +19 -1
  375. package/dist/lib/services/toast.service.d.ts.map +1 -1
  376. package/dist/lib/services/toast.service.js +45 -9
  377. package/dist/lib/services/toast.service.js.map +1 -1
  378. package/dist/lib/services/ui-command-handler.service.d.ts +16 -2
  379. package/dist/lib/services/ui-command-handler.service.d.ts.map +1 -1
  380. package/dist/lib/services/ui-command-handler.service.js +36 -8
  381. package/dist/lib/services/ui-command-handler.service.js.map +1 -1
  382. package/dist/lib/utils/agent-artifact-summary.d.ts +2 -2
  383. package/dist/lib/utils/agent-artifact-summary.js +3 -3
  384. package/dist/lib/utils/agent-artifact-summary.js.map +1 -1
  385. package/dist/lib/utils/agent-turn-routing.d.ts +69 -0
  386. package/dist/lib/utils/agent-turn-routing.d.ts.map +1 -0
  387. package/dist/lib/utils/agent-turn-routing.js +96 -0
  388. package/dist/lib/utils/agent-turn-routing.js.map +1 -0
  389. package/dist/lib/utils/artifact-panel-action.d.ts +15 -4
  390. package/dist/lib/utils/artifact-panel-action.d.ts.map +1 -1
  391. package/dist/lib/utils/artifact-panel-action.js +10 -2
  392. package/dist/lib/utils/artifact-panel-action.js.map +1 -1
  393. package/dist/lib/utils/distinct-artifacts.d.ts +2 -0
  394. package/dist/lib/utils/distinct-artifacts.d.ts.map +1 -1
  395. package/dist/lib/utils/distinct-artifacts.js +5 -1
  396. package/dist/lib/utils/distinct-artifacts.js.map +1 -1
  397. package/dist/lib/utils/plan-mode-preference.d.ts +2 -2
  398. package/dist/lib/utils/plan-mode-preference.js +6 -6
  399. package/dist/lib/utils/plan-mode-preference.js.map +1 -1
  400. package/dist/lib/utils/realtime-session-timeline.d.ts +8 -79
  401. package/dist/lib/utils/realtime-session-timeline.d.ts.map +1 -1
  402. package/dist/lib/utils/realtime-session-timeline.js +8 -89
  403. package/dist/lib/utils/realtime-session-timeline.js.map +1 -1
  404. package/dist/public-api.d.ts +5 -2
  405. package/dist/public-api.d.ts.map +1 -1
  406. package/dist/public-api.js +9 -2
  407. package/dist/public-api.js.map +1 -1
  408. package/package.json +33 -32
  409. package/dist/lib/components/realtime/channels/base-realtime-channel-client.d.ts +0 -384
  410. package/dist/lib/components/realtime/channels/base-realtime-channel-client.d.ts.map +0 -1
  411. package/dist/lib/components/realtime/channels/base-realtime-channel-client.js +0 -231
  412. package/dist/lib/components/realtime/channels/base-realtime-channel-client.js.map +0 -1
  413. package/dist/lib/services/delegation-result-parser.d.ts +0 -50
  414. package/dist/lib/services/delegation-result-parser.d.ts.map +0 -1
  415. package/dist/lib/services/delegation-result-parser.js +0 -60
  416. package/dist/lib/services/delegation-result-parser.js.map +0 -1
  417. package/dist/lib/services/narration-template.d.ts +0 -42
  418. package/dist/lib/services/narration-template.d.ts.map +0 -1
  419. package/dist/lib/services/narration-template.js +0 -73
  420. package/dist/lib/services/narration-template.js.map +0 -1
  421. package/dist/lib/services/skill-picker-narrowing.d.ts +0 -13
  422. package/dist/lib/services/skill-picker-narrowing.d.ts.map +0 -1
  423. package/dist/lib/services/skill-picker-narrowing.js +0 -13
  424. package/dist/lib/services/skill-picker-narrowing.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-composer.component.js","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-composer.component.ts","../../../../src/lib/components/realtime/realtime-composer.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RealtimeSessionService } from '../../services/realtime-session.service';\n\n/**\n * The call overlay's BOTTOM DOCK — the progressive-disclosure composer\n * (`plans/realtime/mockups/redesign-a-progressive.html`). One component, two shapes,\n * keyed off the overlay's disclosure {@link Level}:\n *\n * - **Levels 0–1 (phone-call strip)** — big round call controls, centered: Mute, the\n * Captions toggle (level 1+, arriving WITH the text it controls), the Details peek\n * (level 0 paths where the surface panel isn't earned yet — lets the user look at the\n * Activity/Whiteboard panels on demand), the Type control, and End call. There's no visible\n * composer yet — the Type control opens it, and so does simply starting to type (the overlay\n * captures the first printable keystroke and seeds it via {@link AppendAndFocus}).\n * - **Level 2+ (the dock)** — mute/captions shrink to compact minis and the in-call text\n * input docks beside them (one bottom bar, per Redesign A's fused composer+controls).\n * Submit calls {@link RealtimeSessionService.SendText}, which injects the text as a user\n * turn into the SAME live voice call.\n *\n * Mute talks to the session service directly (pure local toggle); captions / Details /\n * End are emitted up so the overlay shell owns that state and lifecycle.\n */\n@Component({\n standalone: true,\n selector: 'mj-realtime-composer',\n imports: [CommonModule, FormsModule],\n templateUrl: './realtime-composer.component.html',\n styleUrl: './realtime-composer.component.css'\n})\nexport class RealtimeComposerComponent {\n /**\n * Whether the typed-input dock is OPEN. A two-way door owned by the user: the strip's\n * Type control (or the T hotkey) opens it; the dock's hide control closes it — typing\n * never becomes permanent chrome. Default closed (voice-first), reset per session.\n */\n @Input() Open = false;\n\n /**\n * COMPACT (Calm Orb · overlay) presentation: collapse the phone-call strip to the\n * mockup's lean dock — **Mute + End + a \"•••\"** overflow button. The \"•••\" blooms a small\n * sheet hosting the secondary actions (Captions / Details / Type). The fused level-2 dock\n * (minis + text input) is unchanged. Fed from the overlay's resolved `Ui.compact`.\n * Default `false` (the full 5-button strip is unchanged).\n */\n @Input() Compact = false;\n\n /** Emitted when the user opens (Type control / typing) or closes (hide control) the dock. */\n @Output() OpenChanged = new EventEmitter<boolean>();\n\n /** Whether captions are currently shown (drives the captions control's active state). */\n @Input() CaptionsOn = true;\n\n /** Whether the Details peek control renders (true until the surface panel is earned). */\n @Input() ShowDetails = false;\n\n /** Whether the Details peek is currently open (active state on the control). */\n @Input() DetailsOn = false;\n\n /** Emitted when the user toggles captions; the overlay flips its caption state. */\n @Output() CaptionsToggled = new EventEmitter<boolean>();\n\n /** Emitted when the user toggles the Details peek (the on-demand surface panel). */\n @Output() DetailsToggled = new EventEmitter<void>();\n\n /** Emitted when the user ends the call from the strip's End control. */\n @Output() EndRequested = new EventEmitter<void>();\n\n /** Emitted with the new muted state whenever the user toggles the mic from the dock. */\n @Output() MuteChanged = new EventEmitter<boolean>();\n\n /** Current draft text in the dock's composer input. */\n public Draft = '';\n\n /**\n * The mic mute state. A two-way reflection: the overlay may push it down (e.g. its\n * `SetMuted()` / focus-pill toggle) so all mute affordances stay in sync, and this\n * component updates it locally + emits {@link MuteChanged} when its own button is used.\n */\n @Input() IsMuted = false;\n\n @ViewChild('dockInput') private dockInput?: ElementRef<HTMLInputElement>;\n\n private realtime = inject(RealtimeSessionService);\n\n /** True when there's non-whitespace text to send. */\n public get CanSend(): boolean {\n return this.Draft.trim().length > 0;\n }\n\n /** True while the big-controls phone-call strip renders (instead of the dock). */\n public get StripMode(): boolean {\n return !this.Open;\n }\n\n /**\n * Whether the compact \"•••\" overflow sheet (Captions / Details / Type) is open. Only used\n * in {@link Compact} strip mode; any outside click or action selection closes it.\n */\n public MoreOpen = false;\n\n /** Open/close the compact overflow sheet (stops propagation so the outside-click close skips it). */\n public ToggleMore(event: MouseEvent): void {\n event.stopPropagation();\n this.MoreOpen = !this.MoreOpen;\n }\n\n /** Any outside click closes the compact overflow sheet. */\n @HostListener('document:click')\n public OnDocumentClick(): void {\n if (this.MoreOpen) {\n this.MoreOpen = false;\n }\n }\n\n /** Toggle the local microphone mute and surface the new state to the overlay. */\n public ToggleMute(): void {\n this.IsMuted = this.realtime.ToggleMute();\n this.MuteChanged.emit(this.IsMuted);\n }\n\n /** Toggle captions visibility and notify the overlay. */\n public ToggleCaptions(): void {\n this.CaptionsOn = !this.CaptionsOn;\n this.CaptionsToggled.emit(this.CaptionsOn);\n }\n\n /** Focuses the dock's text input (the overlay's Type control lands here). */\n public FocusInput(): void {\n this.dockInput?.nativeElement.focus();\n }\n\n /**\n * TYPE-TO-COMPOSE: the overlay captured a printable keystroke while nothing was focused, so seed\n * the draft with that character, focus the input, and put the caret at the end — the user just\n * keeps typing and their first key isn't lost. Appends (rather than replaces) so a leftover draft\n * is preserved. The native value is synced inline so the caret math is correct before Angular's\n * next change-detection pass reconciles ngModel.\n *\n * @param text the character(s) to seed (typically the single key that opened the composer).\n */\n public AppendAndFocus(text: string): void {\n this.Draft = (this.Draft ?? '') + text;\n const el = this.dockInput?.nativeElement;\n if (el) {\n el.value = this.Draft;\n el.focus();\n el.setSelectionRange(this.Draft.length, this.Draft.length);\n }\n }\n\n /** Send the typed text into the live session, then clear the input. */\n public Send(): void {\n if (!this.CanSend) {\n return;\n }\n this.realtime.SendText(this.Draft);\n this.Draft = '';\n }\n\n /** Enter sends (Shift+Enter is free for future multiline if the input becomes a textarea). */\n public OnKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n this.Send();\n }\n }\n}\n","@if (StripMode && Compact) {\n <!-- COMPACT (Calm Orb · overlay): the lean dock — Mute + End + a first-class Captions toggle\n (kept out of the \"•••\" so text stays ONE TAP in the overlay, where the banner no longer\n carries a duplicate CC) + a \"•••\" that blooms a small sheet with the remaining secondary\n actions (Details / Type). Round controls, red End — matches the mockup. -->\n <div class=\"dock-lean\" role=\"group\" aria-label=\"Call controls\">\n <div class=\"lean-more\" [class.lean-more--open]=\"MoreOpen\">\n <div class=\"lean-sheet\" (click)=\"$event.stopPropagation()\" role=\"menu\" aria-label=\"More call controls\">\n @if (ShowDetails) {\n <button type=\"button\" class=\"lean-sheet__btn\" [class.lean-sheet__btn--on]=\"DetailsOn\"\n (click)=\"DetailsToggled.emit(); MoreOpen = false\"\n [title]=\"DetailsOn ? 'Hide the session panels' : 'Peek at the session panels'\"\n [attr.aria-pressed]=\"DetailsOn\">\n <i class=\"fa-solid fa-table-columns\" aria-hidden=\"true\"></i>\n <small>Details</small>\n </button>\n }\n <button type=\"button\" class=\"lean-sheet__btn\"\n (click)=\"OpenChanged.emit(true); MoreOpen = false\"\n title=\"Type into the live session\" aria-label=\"Open the typed-input composer\">\n <i class=\"fa-regular fa-keyboard\" aria-hidden=\"true\"></i>\n <small>Type</small>\n </button>\n </div>\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--more\" [class.lean-ctrl--on]=\"MoreOpen\"\n (click)=\"ToggleMore($event)\"\n title=\"More controls\" aria-label=\"More call controls\"\n [attr.aria-expanded]=\"MoreOpen\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </div>\n\n <!-- Captions: first-class in the lean dock (the overlay's only text toggle now). -->\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--more\" [class.lean-ctrl--on]=\"CaptionsOn\"\n (click)=\"ToggleCaptions()\"\n [title]=\"CaptionsOn ? 'Voice-first — back to the orb' : 'Show the conversation as text'\"\n [attr.aria-pressed]=\"CaptionsOn\">\n <i class=\"fa-solid fa-closed-captioning\" aria-hidden=\"true\"></i>\n </button>\n\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--lg\" [class.lean-ctrl--muted]=\"IsMuted\"\n (click)=\"ToggleMute()\"\n [title]=\"IsMuted ? 'Unmute microphone' : 'Mute microphone'\"\n [attr.aria-pressed]=\"IsMuted\">\n <i class=\"fa-solid\" [ngClass]=\"IsMuted ? 'fa-microphone-slash' : 'fa-microphone'\" aria-hidden=\"true\"></i>\n </button>\n\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--lg lean-ctrl--end\" (click)=\"EndRequested.emit()\"\n title=\"End call\" aria-label=\"End call\">\n <i class=\"fa-solid fa-phone-slash\" aria-hidden=\"true\"></i>\n </button>\n </div>\n} @else if (StripMode) {\n <!-- Levels 0–1: phone-call strip — big round controls, nothing to configure.\n Captions arrives at level 1 WITH the text it controls; Details peeks at the\n surface panels on demand; End stays the deliberate rightmost action. -->\n <div class=\"strip\" role=\"group\" aria-label=\"Call controls\">\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" [class.ctrl--muted]=\"IsMuted\"\n (click)=\"ToggleMute()\"\n [title]=\"IsMuted ? 'Unmute microphone' : 'Mute microphone'\"\n [attr.aria-pressed]=\"IsMuted\">\n <i class=\"fa-solid\" [ngClass]=\"IsMuted ? 'fa-microphone-slash' : 'fa-microphone'\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">{{ IsMuted ? 'Unmute' : 'Mute' }}</span>\n </div>\n\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" [class.ctrl--on]=\"CaptionsOn\"\n (click)=\"ToggleCaptions()\"\n [title]=\"CaptionsOn ? 'Voice-first — back to the orb' : 'Show the conversation as text'\"\n [attr.aria-pressed]=\"CaptionsOn\">\n <i class=\"fa-solid fa-closed-captioning\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">Captions</span>\n </div>\n\n @if (ShowDetails) {\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" [class.ctrl--on]=\"DetailsOn\"\n (click)=\"DetailsToggled.emit()\"\n [title]=\"DetailsOn ? 'Hide the session panels' : 'Peek at the session panels'\"\n [attr.aria-pressed]=\"DetailsOn\">\n <i class=\"fa-solid fa-table-columns\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">Details</span>\n </div>\n }\n\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" (click)=\"OpenChanged.emit(true)\"\n title=\"Type into the live session\" aria-label=\"Open the typed-input composer\">\n <i class=\"fa-regular fa-keyboard\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">Type</span>\n </div>\n\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl ctrl--end\" (click)=\"EndRequested.emit()\"\n title=\"End call\" aria-label=\"End call\">\n <i class=\"fa-solid fa-phone-slash\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label ctrl-label--end\">End call</span>\n </div>\n </div>\n} @else {\n <!-- Level 2+: the fused dock — compact minis + the in-call composer in ONE bottom bar. -->\n <div class=\"dock\">\n <div class=\"dock__minis\">\n <button type=\"button\" class=\"mini\" [class.mini--muted]=\"IsMuted\"\n (click)=\"ToggleMute()\"\n [title]=\"IsMuted ? 'Unmute microphone' : 'Mute microphone'\"\n [attr.aria-pressed]=\"IsMuted\">\n <i class=\"fa-solid\" [ngClass]=\"IsMuted ? 'fa-microphone-slash' : 'fa-microphone'\" aria-hidden=\"true\"></i>\n </button>\n <button type=\"button\" class=\"mini\" [class.mini--on]=\"CaptionsOn\"\n (click)=\"ToggleCaptions()\"\n [title]=\"CaptionsOn ? 'Voice-first — back to the orb' : 'Show the conversation as text'\"\n [attr.aria-pressed]=\"CaptionsOn\">\n <i class=\"fa-solid fa-closed-captioning\" aria-hidden=\"true\"></i>\n </button>\n @if (ShowDetails) {\n <button type=\"button\" class=\"mini\" [class.mini--on]=\"DetailsOn\"\n (click)=\"DetailsToggled.emit()\"\n [title]=\"DetailsOn ? 'Hide the session panels' : 'Show the session panels'\"\n [attr.aria-pressed]=\"DetailsOn\">\n <i class=\"fa-solid fa-table-columns\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n <div class=\"dock__box\">\n <input\n #dockInput\n type=\"text\"\n class=\"dock__input\"\n placeholder=\"Type into the live session — joins this same voice call…\"\n [(ngModel)]=\"Draft\"\n (keydown)=\"OnKeydown($event)\"\n aria-label=\"Type a message into the live voice session\" />\n <span class=\"dock__hint\" aria-hidden=\"true\">↵ send</span>\n <button\n class=\"dock__send\"\n type=\"button\"\n [disabled]=\"!CanSend\"\n (click)=\"Send()\"\n title=\"Send into live session\"\n aria-label=\"Send\">\n <i class=\"fa-solid fa-paper-plane\" aria-hidden=\"true\"></i>\n </button>\n </div>\n <button type=\"button\" class=\"mini dock__hide\" (click)=\"OpenChanged.emit(false)\"\n title=\"Hide typing — back to the voice controls\"\n aria-label=\"Close the typed-input composer\">\n <i class=\"fa-solid fa-chevron-down\" aria-hidden=\"true\"></i>\n </button>\n </div>\n}\n"]}
1
+ {"version":3,"file":"realtime-composer.component.js","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-composer.component.ts","../../../../src/lib/components/realtime/realtime-composer.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RealtimeSessionService } from '../../services/realtime-session.service';\n\n/**\n * The call overlay's BOTTOM DOCK — the progressive-disclosure composer\n * (`plans/realtime/mockups/redesign-a-progressive.html`). One component, two shapes,\n * keyed off the overlay's disclosure {@link Level}:\n *\n * - **Levels 0–1 (phone-call strip)** — big round call controls, centered: Mute, the\n * Captions toggle (level 1+, arriving WITH the text it controls), the Details peek\n * (level 0 paths where the surface panel isn't earned yet — lets the user look at the\n * Activity/Whiteboard panels on demand), the Type control, and End call. There's no visible\n * composer yet — the Type control opens it, and so does simply starting to type (the overlay\n * captures the first printable keystroke and seeds it via {@link AppendAndFocus}).\n * - **Level 2+ (the dock)** — mute/captions shrink to compact minis and the in-call text\n * input docks beside them (one bottom bar, per Redesign A's fused composer+controls).\n * Submit calls {@link RealtimeSessionService.SendText}, which injects the text as a user\n * turn into the SAME live voice call.\n *\n * Mute talks to the session service directly (pure local toggle); captions / Details /\n * End are emitted up so the overlay shell owns that state and lifecycle.\n */\n@Component({\n standalone: true,\n selector: 'mj-realtime-composer',\n imports: [CommonModule, FormsModule],\n templateUrl: './realtime-composer.component.html',\n styleUrl: './realtime-composer.component.css'\n})\nexport class RealtimeComposerComponent {\n /**\n * Whether the typed-input dock is OPEN. A two-way door owned by the user: the strip's\n * Type control (or the T hotkey) opens it; the dock's hide control closes it — typing\n * never becomes permanent chrome. Default closed (voice-first), reset per session.\n */\n @Input() Open = false;\n\n /**\n * COMPACT (Calm Orb · overlay) presentation: collapse the phone-call strip to the\n * mockup's lean dock — **Mute + End + a \"•••\"** overflow button. The \"•••\" blooms a small\n * sheet hosting the secondary actions (Captions / Details / Type). The fused level-2 dock\n * (minis + text input) is unchanged. Fed from the overlay's resolved `Ui.compact`.\n * Default `false` (the full 5-button strip is unchanged).\n */\n @Input() Compact = false;\n\n /** Emitted when the user opens (Type control / typing) or closes (hide control) the dock. */\n @Output() OpenChanged = new EventEmitter<boolean>();\n\n /** Whether captions are currently shown (drives the captions control's active state). */\n @Input() CaptionsOn = true;\n\n /** Whether the Details peek control renders (true until the surface panel is earned). */\n @Input() ShowDetails = false;\n\n /** Whether the Details peek is currently open (active state on the control). */\n @Input() DetailsOn = false;\n\n /** Emitted when the user toggles captions; the overlay flips its caption state. */\n @Output() CaptionsToggled = new EventEmitter<boolean>();\n\n /** Emitted when the user toggles the Details peek (the on-demand surface panel). */\n @Output() DetailsToggled = new EventEmitter<void>();\n\n /** Emitted when the user ends the call from the strip's End control. */\n @Output() EndRequested = new EventEmitter<void>();\n\n /** Emitted with the new muted state whenever the user toggles the mic from the dock. */\n @Output() MuteChanged = new EventEmitter<boolean>();\n\n /** Current draft text in the dock's composer input. */\n public Draft = '';\n\n /**\n * The mic mute state. A two-way reflection: the overlay may push it down (e.g. its\n * `SetMuted()` / focus-pill toggle) so all mute affordances stay in sync, and this\n * component updates it locally + emits {@link MuteChanged} when its own button is used.\n */\n @Input() IsMuted = false;\n\n @ViewChild('dockInput') private dockInput?: ElementRef<HTMLInputElement | HTMLTextAreaElement>;\n\n private realtime = inject(RealtimeSessionService);\n\n /** True when there's non-whitespace text to send. */\n public get CanSend(): boolean {\n return this.Draft.trim().length > 0;\n }\n\n /** True while the big-controls phone-call strip renders (instead of the dock). */\n public get StripMode(): boolean {\n return !this.Open;\n }\n\n /**\n * Whether the compact \"•••\" overflow sheet (Captions / Details / Type) is open. Only used\n * in {@link Compact} strip mode; any outside click or action selection closes it.\n */\n public MoreOpen = false;\n\n /** Open/close the compact overflow sheet (stops propagation so the outside-click close skips it). */\n public ToggleMore(event: MouseEvent): void {\n event.stopPropagation();\n this.MoreOpen = !this.MoreOpen;\n }\n\n /** Any outside click closes the compact overflow sheet. */\n @HostListener('document:click')\n public OnDocumentClick(): void {\n if (this.MoreOpen) {\n this.MoreOpen = false;\n }\n }\n\n /** Toggle the local microphone mute and surface the new state to the overlay. */\n public ToggleMute(): void {\n this.IsMuted = this.realtime.ToggleMute();\n this.MuteChanged.emit(this.IsMuted);\n }\n\n /** Toggle captions visibility and notify the overlay. */\n public ToggleCaptions(): void {\n this.CaptionsOn = !this.CaptionsOn;\n this.CaptionsToggled.emit(this.CaptionsOn);\n }\n\n /** Focuses the dock's text input (the overlay's Type control lands here). */\n public FocusInput(): void {\n this.dockInput?.nativeElement.focus();\n }\n\n /**\n * TYPE-TO-COMPOSE: the overlay captured a printable keystroke while nothing was focused, so seed\n * the draft with that character, focus the input, and put the caret at the end — the user just\n * keeps typing and their first key isn't lost. Appends (rather than replaces) so a leftover draft\n * is preserved. The native value is synced inline so the caret math is correct before Angular's\n * next change-detection pass reconciles ngModel.\n *\n * @param text the character(s) to seed (typically the single key that opened the composer).\n */\n public AppendAndFocus(text: string): void {\n this.Draft = (this.Draft ?? '') + text;\n const el = this.dockInput?.nativeElement;\n if (el) {\n el.value = this.Draft;\n el.focus();\n el.setSelectionRange(this.Draft.length, this.Draft.length);\n this.AutoResize();\n }\n }\n\n /** Auto-resizes the textarea up to 140px height as text grows or contracts. */\n public AutoResize(): void {\n const el = this.dockInput?.nativeElement;\n if (el && el instanceof HTMLTextAreaElement) {\n el.style.height = 'auto';\n const newHeight = Math.max(24, Math.min(el.scrollHeight, 140));\n el.style.height = `${newHeight}px`;\n }\n }\n\n /** Send the typed text into the live session, then clear the input. */\n public Send(): void {\n if (!this.CanSend) {\n return;\n }\n this.realtime.SendText(this.Draft);\n this.Draft = '';\n const el = this.dockInput?.nativeElement;\n if (el && el instanceof HTMLTextAreaElement) {\n el.style.height = 'auto';\n }\n }\n\n /** Enter sends (Shift+Enter inserts a newline in textarea). */\n public OnKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n this.Send();\n }\n }\n}\n","@if (StripMode && Compact) {\n <!-- COMPACT (Calm Orb · overlay): the lean dock — Mute + End + a first-class Captions toggle\n (kept out of the \"•••\" so text stays ONE TAP in the overlay, where the banner no longer\n carries a duplicate CC) + a \"•••\" that blooms a small sheet with the remaining secondary\n actions (Details / Type). Round controls, red End — matches the mockup. -->\n <div class=\"dock-lean\" role=\"group\" aria-label=\"Call controls\">\n <div class=\"lean-more\" [class.lean-more--open]=\"MoreOpen\">\n <div class=\"lean-sheet\" (click)=\"$event.stopPropagation()\" role=\"menu\" aria-label=\"More call controls\">\n @if (ShowDetails) {\n <button type=\"button\" class=\"lean-sheet__btn\" [class.lean-sheet__btn--on]=\"DetailsOn\"\n (click)=\"DetailsToggled.emit(); MoreOpen = false\"\n [title]=\"DetailsOn ? 'Hide the session panels' : 'Peek at the session panels'\"\n [attr.aria-pressed]=\"DetailsOn\">\n <i class=\"fa-solid fa-table-columns\" aria-hidden=\"true\"></i>\n <small>Details</small>\n </button>\n }\n <button type=\"button\" class=\"lean-sheet__btn\"\n (click)=\"OpenChanged.emit(true); MoreOpen = false\"\n title=\"Type into the live session\" aria-label=\"Open the typed-input composer\">\n <i class=\"fa-regular fa-keyboard\" aria-hidden=\"true\"></i>\n <small>Type</small>\n </button>\n </div>\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--more\" [class.lean-ctrl--on]=\"MoreOpen\"\n (click)=\"ToggleMore($event)\"\n title=\"More controls\" aria-label=\"More call controls\"\n [attr.aria-expanded]=\"MoreOpen\">\n <i class=\"fa-solid fa-ellipsis\" aria-hidden=\"true\"></i>\n </button>\n </div>\n\n <!-- Captions: first-class in the lean dock (the overlay's only text toggle now). -->\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--more\" [class.lean-ctrl--on]=\"CaptionsOn\"\n (click)=\"ToggleCaptions()\"\n [title]=\"CaptionsOn ? 'Voice-first — back to the orb' : 'Show the conversation as text'\"\n [attr.aria-pressed]=\"CaptionsOn\">\n <i class=\"fa-solid fa-closed-captioning\" aria-hidden=\"true\"></i>\n </button>\n\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--lg\" [class.lean-ctrl--muted]=\"IsMuted\"\n (click)=\"ToggleMute()\"\n [title]=\"IsMuted ? 'Unmute microphone' : 'Mute microphone'\"\n [attr.aria-pressed]=\"IsMuted\">\n <i class=\"fa-solid\" [ngClass]=\"IsMuted ? 'fa-microphone-slash' : 'fa-microphone'\" aria-hidden=\"true\"></i>\n </button>\n\n <button type=\"button\" class=\"lean-ctrl lean-ctrl--lg lean-ctrl--end\" (click)=\"EndRequested.emit()\"\n title=\"End call\" aria-label=\"End call\">\n <i class=\"fa-solid fa-phone-slash\" aria-hidden=\"true\"></i>\n </button>\n </div>\n} @else if (StripMode) {\n <!-- Levels 0–1: phone-call strip — big round controls, nothing to configure.\n Captions arrives at level 1 WITH the text it controls; Details peeks at the\n surface panels on demand; End stays the deliberate rightmost action. -->\n <div class=\"strip\" role=\"group\" aria-label=\"Call controls\">\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" [class.ctrl--muted]=\"IsMuted\"\n (click)=\"ToggleMute()\"\n [title]=\"IsMuted ? 'Unmute microphone' : 'Mute microphone'\"\n [attr.aria-pressed]=\"IsMuted\">\n <i class=\"fa-solid\" [ngClass]=\"IsMuted ? 'fa-microphone-slash' : 'fa-microphone'\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">{{ IsMuted ? 'Unmute' : 'Mute' }}</span>\n </div>\n\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" [class.ctrl--on]=\"CaptionsOn\"\n (click)=\"ToggleCaptions()\"\n [title]=\"CaptionsOn ? 'Voice-first — back to the orb' : 'Show the conversation as text'\"\n [attr.aria-pressed]=\"CaptionsOn\">\n <i class=\"fa-solid fa-closed-captioning\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">Captions</span>\n </div>\n\n @if (ShowDetails) {\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" [class.ctrl--on]=\"DetailsOn\"\n (click)=\"DetailsToggled.emit()\"\n [title]=\"DetailsOn ? 'Hide the session panels' : 'Peek at the session panels'\"\n [attr.aria-pressed]=\"DetailsOn\">\n <i class=\"fa-solid fa-table-columns\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">Details</span>\n </div>\n }\n\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl\" (click)=\"OpenChanged.emit(true)\"\n title=\"Type into the live session\" aria-label=\"Open the typed-input composer\">\n <i class=\"fa-regular fa-keyboard\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label\">Type</span>\n </div>\n\n <div class=\"ctrl-group\">\n <button type=\"button\" class=\"ctrl ctrl--end\" (click)=\"EndRequested.emit()\"\n title=\"End call\" aria-label=\"End call\">\n <i class=\"fa-solid fa-phone-slash\" aria-hidden=\"true\"></i>\n </button>\n <span class=\"ctrl-label ctrl-label--end\">End call</span>\n </div>\n </div>\n} @else {\n <!-- Level 2+: the fused dock — compact minis + the in-call composer in ONE bottom bar. -->\n <div class=\"dock\">\n <div class=\"dock__minis\">\n <button type=\"button\" class=\"mini\" [class.mini--muted]=\"IsMuted\"\n (click)=\"ToggleMute()\"\n [title]=\"IsMuted ? 'Unmute microphone' : 'Mute microphone'\"\n [attr.aria-pressed]=\"IsMuted\">\n <i class=\"fa-solid\" [ngClass]=\"IsMuted ? 'fa-microphone-slash' : 'fa-microphone'\" aria-hidden=\"true\"></i>\n </button>\n <button type=\"button\" class=\"mini\" [class.mini--on]=\"CaptionsOn\"\n (click)=\"ToggleCaptions()\"\n [title]=\"CaptionsOn ? 'Voice-first — back to the orb' : 'Show the conversation as text'\"\n [attr.aria-pressed]=\"CaptionsOn\">\n <i class=\"fa-solid fa-closed-captioning\" aria-hidden=\"true\"></i>\n </button>\n @if (ShowDetails) {\n <button type=\"button\" class=\"mini\" [class.mini--on]=\"DetailsOn\"\n (click)=\"DetailsToggled.emit()\"\n [title]=\"DetailsOn ? 'Hide the session panels' : 'Show the session panels'\"\n [attr.aria-pressed]=\"DetailsOn\">\n <i class=\"fa-solid fa-table-columns\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n <div class=\"dock__box\">\n <textarea\n #dockInput\n class=\"dock__input\"\n rows=\"1\"\n placeholder=\"Type into the live session — joins this same voice call…\"\n [(ngModel)]=\"Draft\"\n (keydown)=\"OnKeydown($event)\"\n (input)=\"AutoResize()\"\n aria-label=\"Type a message into the live voice session\"></textarea>\n <span class=\"dock__hint\" aria-hidden=\"true\">↵ send</span>\n <button\n class=\"dock__send\"\n type=\"button\"\n [disabled]=\"!CanSend\"\n (click)=\"Send()\"\n title=\"Send into live session\"\n aria-label=\"Send\">\n <i class=\"fa-solid fa-paper-plane\" aria-hidden=\"true\"></i>\n </button>\n </div>\n <button type=\"button\" class=\"mini dock__hide\" (click)=\"OpenChanged.emit(false)\"\n title=\"Hide typing — back to the voice controls\"\n aria-label=\"Close the typed-input composer\">\n <i class=\"fa-solid fa-chevron-down\" aria-hidden=\"true\"></i>\n </button>\n <button type=\"button\" class=\"mini mini--end\" (click)=\"EndRequested.emit()\"\n title=\"End call\" aria-label=\"End call\">\n <i class=\"fa-solid fa-phone-slash\" aria-hidden=\"true\"></i>\n </button>\n </div>\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '@angular/core';
2
2
  import { RealtimeDelegationCardVM } from './realtime-session-state';
3
- import { ParsedDelegationArtifact } from '../../services/delegation-result-parser';
3
+ import { ParsedDelegationArtifact } from '@memberjunction/realtime-runtime';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Renders a single delegation in the live session thread:
@@ -21,7 +21,7 @@ import * as i0 from "@angular/core";
21
21
  */
22
22
  export declare class RealtimeDelegationCardComponent {
23
23
  /** Maximum characters of the result shown in the collapsed done chip. */
24
- private static readonly PreviewMaxChars;
24
+ private static readonly previewMaxChars;
25
25
  /** The delegation card view-model to render (immutable — replaced on every update). */
26
26
  Card: RealtimeDelegationCardVM;
27
27
  /** Whether developer affordances (the "Open run" link) are revealed. */
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-delegation-card.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-delegation-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAqB,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAOa,+BAA+B;IAC1C,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAE9C,uFAAuF;IAC5D,IAAI,EAAG,wBAAwB,CAAC;IAE3D,wEAAwE;IAC/D,OAAO,UAAS;IAEzB,mFAAmF;IACzE,gBAAgB,uBAA8B;IAExD,+FAA+F;IACrF,qBAAqB,yCAAgD;IAE/E;;;;;;OAMG;IACO,eAAe,uBAA8B;IAEvD,6EAA6E;IACtE,QAAQ,UAAS;IAExB,0IAA0I;IAC1I,IAAW,SAAS,IAAI,wBAAwB,EAAE,CAEjD;IAED,iFAAiF;IAC1E,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAKhF,6HAA6H;IAC7H,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,gEAAgE;IACzD,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAOvC,oEAAoE;IAC7D,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAO1C,gFAAgF;IAChF,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,mFAAmF;IACnF,IAAW,UAAU,IAAI,MAAM,CAQ9B;IAED,wEAAwE;IACxE,IAAW,aAAa,IAAI,MAAM,CAIjC;IAED,mDAAmD;IACnD,IAAW,eAAe,IAAI,MAAM,CASnC;yCArGU,+BAA+B;2CAA/B,+BAA+B;CAsG3C"}
1
+ {"version":3,"file":"realtime-delegation-card.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-delegation-card.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAqB,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAOa,+BAA+B;IAC1C,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAE9C,uFAAuF;IAC5D,IAAI,EAAG,wBAAwB,CAAC;IAE3D,wEAAwE;IAC/D,OAAO,UAAS;IAEzB,mFAAmF;IACzE,gBAAgB,uBAA8B;IAExD,+FAA+F;IACrF,qBAAqB,yCAAgD;IAE/E;;;;;;OAMG;IACO,eAAe,uBAA8B;IAEvD,6EAA6E;IACtE,QAAQ,UAAS;IAExB,0IAA0I;IAC1I,IAAW,SAAS,IAAI,wBAAwB,EAAE,CAEjD;IAED,iFAAiF;IAC1E,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAKhF,6HAA6H;IAC7H,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,gEAAgE;IACzD,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAOvC,oEAAoE;IAC7D,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAO1C,gFAAgF;IAChF,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;OAGG;IACH,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,mFAAmF;IACnF,IAAW,UAAU,IAAI,MAAM,CAQ9B;IAED,wEAAwE;IACxE,IAAW,aAAa,IAAI,MAAM,CAIjC;IAED,mDAAmD;IACnD,IAAW,eAAe,IAAI,MAAM,CASnC;yCArGU,+BAA+B;2CAA/B,+BAA+B;CAsG3C"}
@@ -294,7 +294,7 @@ function RealtimeDelegationCardComponent_Conditional_1_Template(rf, ctx) { if (r
294
294
  */
295
295
  export class RealtimeDelegationCardComponent {
296
296
  /** Maximum characters of the result shown in the collapsed done chip. */
297
- static PreviewMaxChars = 120;
297
+ static previewMaxChars = 120;
298
298
  /** The delegation card view-model to render (immutable — replaced on every update). */
299
299
  Card;
300
300
  /** Whether developer affordances (the "Open run" link) are revealed. */
@@ -364,7 +364,7 @@ export class RealtimeDelegationCardComponent {
364
364
  /** One-line, ~120-char preview of the result for the collapsed chip. */
365
365
  get ResultPreview() {
366
366
  const oneLine = this.ResultText.replace(/\s+/g, ' ').trim();
367
- const max = RealtimeDelegationCardComponent.PreviewMaxChars;
367
+ const max = RealtimeDelegationCardComponent.previewMaxChars;
368
368
  return oneLine.length > max ? `${oneLine.slice(0, max).trimEnd()}…` : oneLine;
369
369
  }
370
370
  /** Tooltip text for the provenance shield icon. */
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-delegation-card.component.js","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-delegation-card.component.ts","../../../../src/lib/components/realtime/realtime-delegation-card.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MJAccordionModule } from '@memberjunction/ng-ui-components';\nimport { RealtimeDelegationCardVM, FriendlyStepLabel } from './realtime-session-state';\nimport { ParsedDelegationArtifact } from '../../services/delegation-result-parser';\n\n/**\n * Renders a single delegation in the live session thread:\n * - **Working**: a compact card — agent avatar, \"<agent> is working…\", the CURRENT\n * friendly step label, the latest raw message indented + muted beneath it, and a\n * thin progress bar (determinate when the server supplies a percentage,\n * indeterminate shimmer otherwise).\n * - **Done**: COLLAPSED to a single-line chip — `✓ <agent> · <one-line result preview>\n * · via <agent>` — expandable inline (click / chevron) to the full result text.\n * Failures render the `✗` variant.\n *\n * Provenance is a small `via <agent>` badge + a shield icon whose `title` tooltip\n * carries the full provenance sentence (no repeated sentence under every card).\n *\n * DEVELOPER MODE (gear-gated by the overlay shell): when {@link DevMode} is on and the\n * card knows its delegated run id, an \"Open run\" link is revealed that emits\n * {@link OpenRunRequested} so the shell can navigate to the `MJ: AI Agent Runs` record.\n */\n@Component({\n standalone: true,\n selector: 'mj-realtime-delegation-card',\n imports: [CommonModule, MJAccordionModule],\n templateUrl: './realtime-delegation-card.component.html',\n styleUrl: './realtime-delegation-card.component.css'\n})\nexport class RealtimeDelegationCardComponent {\n /** Maximum characters of the result shown in the collapsed done chip. */\n private static readonly PreviewMaxChars = 120;\n\n /** The delegation card view-model to render (immutable — replaced on every update). */\n @Input({ required: true }) Card!: RealtimeDelegationCardVM;\n\n /** Whether developer affordances (the \"Open run\" link) are revealed. */\n @Input() DevMode = false;\n\n /** Emitted with the delegated run's ID when the dev \"Open run\" link is clicked. */\n @Output() OpenRunRequested = new EventEmitter<string>();\n\n /** Emitted when a \"View\" artifact chip is clicked (the overlay focuses the artifact's tab). */\n @Output() OpenArtifactRequested = new EventEmitter<ParsedDelegationArtifact>();\n\n /**\n * Emitted with the call's ID when the WORKING card's ✕ cancel affordance is clicked —\n * EXPLICIT user intent to kill the in-flight delegated run (by deliberate host policy,\n * barge-in alone never cancels delegations; only this button does). The overlay routes\n * it to `RealtimeSessionService.CancelDelegation`, which flips this card to a failed\n * \"Cancelled by user\" result.\n */\n @Output() CancelRequested = new EventEmitter<string>();\n\n /** Whether the done chip is expanded inline to show the full result text. */\n public Expanded = false;\n\n /** The artifacts this (done) delegation produced (empty array while running / when none). Suppressed for direct actions and narration. */\n public get Artifacts(): ParsedDelegationArtifact[] {\n return this.Card.Done && this.Card.Kind === 'agent' && this.Card.Artifacts ? this.Card.Artifacts : [];\n }\n\n /** Emits the open-artifact request for one of this card's produced artifacts. */\n public OpenArtifact(event: MouseEvent, artifact: ParsedDelegationArtifact): void {\n event.stopPropagation();\n this.OpenArtifactRequested.emit(artifact);\n }\n\n /** True when the dev \"Open run\" link should render (gear on + run id known). Suppressed for direct actions and narration. */\n public get ShowOpenRun(): boolean {\n return this.DevMode && this.Card.Kind === 'agent' && !!this.Card.RunID;\n }\n\n /** Emits the open-run request for this card's delegated run. */\n public OpenRun(event: MouseEvent): void {\n event.stopPropagation();\n if (this.Card.RunID) {\n this.OpenRunRequested.emit(this.Card.RunID);\n }\n }\n\n /** Emits the cancel request for this (still-working) delegation. */\n public CancelWork(event: MouseEvent): void {\n event.stopPropagation();\n if (!this.Card.Done && this.Card.Kind === 'agent') {\n this.CancelRequested.emit(this.Card.CallID);\n }\n }\n\n /** Friendly label for the current delegation step (raw message as fallback). */\n public get StepLabel(): string {\n return FriendlyStepLabel(this.Card.LatestStep, this.Card.LatestMessage);\n }\n\n /**\n * Whether to render the latest raw message as the indented detail line. Hidden when\n * it would just repeat the step label (the unknown-step fallback maps label = message).\n */\n public get ShowDetailLine(): boolean {\n return !!this.Card.LatestMessage && this.Card.LatestMessage !== this.StepLabel;\n }\n\n /** Full result text (falls back to the last progress message / a generic line). */\n public get ResultText(): string {\n return this.Card.Result\n || this.Card.LatestMessage\n || (this.Card.Kind === 'action'\n ? `${this.Card.AgentName} executed.`\n : this.Card.Kind === 'narration'\n ? `${this.Card.AgentName} shared a thought.`\n : `${this.Card.AgentName} completed the delegated work.`);\n }\n\n /** One-line, ~120-char preview of the result for the collapsed chip. */\n public get ResultPreview(): string {\n const oneLine = this.ResultText.replace(/\\s+/g, ' ').trim();\n const max = RealtimeDelegationCardComponent.PreviewMaxChars;\n return oneLine.length > max ? `${oneLine.slice(0, max).trimEnd()}…` : oneLine;\n }\n\n /** Tooltip text for the provenance shield icon. */\n public get ProvenanceTitle(): string {\n if (this.Card.Kind === 'action') {\n return `Result produced directly by the ${this.Card.AgentName} action.`;\n }\n if (this.Card.Kind === 'narration') {\n return `Thought / narration authored by ${this.Card.AgentName}.`;\n }\n const run = this.Card.RunRef ? ` (run ${this.Card.RunRef})` : '';\n return `Result produced by ${this.Card.AgentName}'s own agent run${run} — not invented by the voice co-agent.`;\n }\n}\n","@if (!Card.Done) {\n <!-- WORKING — compact live card -->\n <div class=\"work-card\" role=\"status\" aria-live=\"polite\">\n <div class=\"work-card__head\">\n @if (Card.Kind === 'action') {\n <div class=\"avatar avatar--action\" aria-hidden=\"true\"><i class=\"fa-solid fa-wrench\"></i></div>\n <div class=\"work-card__title\">{{ Card.AgentName }}</div>\n } @else if (Card.Kind === 'narration') {\n <div class=\"avatar avatar--narration\" aria-hidden=\"true\"><i class=\"fa-solid fa-brain\"></i></div>\n <div class=\"work-card__title\">{{ Card.AgentName }} is thinking…</div>\n } @else {\n <div class=\"avatar\" aria-hidden=\"true\">{{ Card.AgentName.charAt(0) }}</div>\n <div class=\"work-card__title\">{{ Card.AgentName }} is working…</div>\n }\n <span class=\"pill pill--running\">\n <i class=\"fa-solid fa-spinner spin\" aria-hidden=\"true\"></i> Running\n </span>\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n @if (Card.Kind === 'agent') {\n <button type=\"button\" class=\"cancel-work\" (click)=\"CancelWork($event)\"\n title=\"Cancel this work\" aria-label=\"Cancel this work\">\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n <div class=\"work-card__step\">{{ StepLabel }}</div>\n @if (ShowDetailLine) {\n <div class=\"work-card__detail\">{{ Card.LatestMessage }}</div>\n }\n <div class=\"work-progress\" [class.work-progress--indeterminate]=\"Card.Percentage == null\">\n @if (Card.Percentage != null) {\n <div class=\"work-progress__fill\" [style.width.%]=\"Card.Percentage\"></div>\n } @else {\n <div class=\"work-progress__fill work-progress__fill--slide\"></div>\n }\n </div>\n </div>\n} @else {\n <!-- DONE / FAILED — collapsed single-line chip, expandable inline.\n Migrated from a bespoke done-chip button + chevron + @if(Expanded) detail to\n mj-accordion-panel: title = result chip (mark/agent/preview/via-badge),\n actions = artifact \"View\" + dev \"Open run\" chips, body = full result detail.\n Failed state is carried via .done-accordion--failed on the panel. -->\n <mj-accordion-panel class=\"done-accordion\" [class.done-accordion--failed]=\"!Card.Success\"\n Size=\"sm\" [FlushBody]=\"true\" [(Expanded)]=\"Expanded\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid done-chip__mark\" [ngClass]=\"Card.Success ? 'fa-check' : 'fa-xmark'\" aria-hidden=\"true\"></i>\n <span class=\"done-chip__agent\">{{ Card.AgentName }}</span>\n <span class=\"done-chip__sep\" aria-hidden=\"true\">·</span>\n <span class=\"done-chip__preview\">{{ ResultPreview }}</span>\n <span class=\"via-badge\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n @if (Card.Kind === 'action') {\n tool\n } @else if (Card.Kind === 'narration') {\n narration\n } @else {\n via {{ Card.AgentName }}\n }\n </span>\n </ng-template>\n <ng-template mjAccordionActions>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>View</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"done-detail\">\n <div class=\"done-detail__body\">{{ ResultText }}</div>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link artifact-link--detail\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>{{ artifact.Name }}</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (Card.Kind === 'action') {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n Direct action · {{ Card.AgentName }}\n </div>\n } @else if (Card.Kind === 'narration') {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-brain\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n Thought narration · {{ Card.AgentName }}\n </div>\n } @else if (Card.RunRef) {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n via {{ Card.AgentName }} · run {{ Card.RunRef }}\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link dev-link--inline\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </div>\n }\n </div>\n </ng-template>\n </mj-accordion-panel>\n}\n"]}
1
+ {"version":3,"file":"realtime-delegation-card.component.js","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-delegation-card.component.ts","../../../../src/lib/components/realtime/realtime-delegation-card.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MJAccordionModule } from '@memberjunction/ng-ui-components';\nimport { RealtimeDelegationCardVM, FriendlyStepLabel } from './realtime-session-state';\nimport { ParsedDelegationArtifact } from '@memberjunction/realtime-runtime';\n\n/**\n * Renders a single delegation in the live session thread:\n * - **Working**: a compact card — agent avatar, \"<agent> is working…\", the CURRENT\n * friendly step label, the latest raw message indented + muted beneath it, and a\n * thin progress bar (determinate when the server supplies a percentage,\n * indeterminate shimmer otherwise).\n * - **Done**: COLLAPSED to a single-line chip — `✓ <agent> · <one-line result preview>\n * · via <agent>` — expandable inline (click / chevron) to the full result text.\n * Failures render the `✗` variant.\n *\n * Provenance is a small `via <agent>` badge + a shield icon whose `title` tooltip\n * carries the full provenance sentence (no repeated sentence under every card).\n *\n * DEVELOPER MODE (gear-gated by the overlay shell): when {@link DevMode} is on and the\n * card knows its delegated run id, an \"Open run\" link is revealed that emits\n * {@link OpenRunRequested} so the shell can navigate to the `MJ: AI Agent Runs` record.\n */\n@Component({\n standalone: true,\n selector: 'mj-realtime-delegation-card',\n imports: [CommonModule, MJAccordionModule],\n templateUrl: './realtime-delegation-card.component.html',\n styleUrl: './realtime-delegation-card.component.css'\n})\nexport class RealtimeDelegationCardComponent {\n /** Maximum characters of the result shown in the collapsed done chip. */\n private static readonly previewMaxChars = 120;\n\n /** The delegation card view-model to render (immutable — replaced on every update). */\n @Input({ required: true }) Card!: RealtimeDelegationCardVM;\n\n /** Whether developer affordances (the \"Open run\" link) are revealed. */\n @Input() DevMode = false;\n\n /** Emitted with the delegated run's ID when the dev \"Open run\" link is clicked. */\n @Output() OpenRunRequested = new EventEmitter<string>();\n\n /** Emitted when a \"View\" artifact chip is clicked (the overlay focuses the artifact's tab). */\n @Output() OpenArtifactRequested = new EventEmitter<ParsedDelegationArtifact>();\n\n /**\n * Emitted with the call's ID when the WORKING card's ✕ cancel affordance is clicked —\n * EXPLICIT user intent to kill the in-flight delegated run (by deliberate host policy,\n * barge-in alone never cancels delegations; only this button does). The overlay routes\n * it to `RealtimeSessionService.CancelDelegation`, which flips this card to a failed\n * \"Cancelled by user\" result.\n */\n @Output() CancelRequested = new EventEmitter<string>();\n\n /** Whether the done chip is expanded inline to show the full result text. */\n public Expanded = false;\n\n /** The artifacts this (done) delegation produced (empty array while running / when none). Suppressed for direct actions and narration. */\n public get Artifacts(): ParsedDelegationArtifact[] {\n return this.Card.Done && this.Card.Kind === 'agent' && this.Card.Artifacts ? this.Card.Artifacts : [];\n }\n\n /** Emits the open-artifact request for one of this card's produced artifacts. */\n public OpenArtifact(event: MouseEvent, artifact: ParsedDelegationArtifact): void {\n event.stopPropagation();\n this.OpenArtifactRequested.emit(artifact);\n }\n\n /** True when the dev \"Open run\" link should render (gear on + run id known). Suppressed for direct actions and narration. */\n public get ShowOpenRun(): boolean {\n return this.DevMode && this.Card.Kind === 'agent' && !!this.Card.RunID;\n }\n\n /** Emits the open-run request for this card's delegated run. */\n public OpenRun(event: MouseEvent): void {\n event.stopPropagation();\n if (this.Card.RunID) {\n this.OpenRunRequested.emit(this.Card.RunID);\n }\n }\n\n /** Emits the cancel request for this (still-working) delegation. */\n public CancelWork(event: MouseEvent): void {\n event.stopPropagation();\n if (!this.Card.Done && this.Card.Kind === 'agent') {\n this.CancelRequested.emit(this.Card.CallID);\n }\n }\n\n /** Friendly label for the current delegation step (raw message as fallback). */\n public get StepLabel(): string {\n return FriendlyStepLabel(this.Card.LatestStep, this.Card.LatestMessage);\n }\n\n /**\n * Whether to render the latest raw message as the indented detail line. Hidden when\n * it would just repeat the step label (the unknown-step fallback maps label = message).\n */\n public get ShowDetailLine(): boolean {\n return !!this.Card.LatestMessage && this.Card.LatestMessage !== this.StepLabel;\n }\n\n /** Full result text (falls back to the last progress message / a generic line). */\n public get ResultText(): string {\n return this.Card.Result\n || this.Card.LatestMessage\n || (this.Card.Kind === 'action'\n ? `${this.Card.AgentName} executed.`\n : this.Card.Kind === 'narration'\n ? `${this.Card.AgentName} shared a thought.`\n : `${this.Card.AgentName} completed the delegated work.`);\n }\n\n /** One-line, ~120-char preview of the result for the collapsed chip. */\n public get ResultPreview(): string {\n const oneLine = this.ResultText.replace(/\\s+/g, ' ').trim();\n const max = RealtimeDelegationCardComponent.previewMaxChars;\n return oneLine.length > max ? `${oneLine.slice(0, max).trimEnd()}…` : oneLine;\n }\n\n /** Tooltip text for the provenance shield icon. */\n public get ProvenanceTitle(): string {\n if (this.Card.Kind === 'action') {\n return `Result produced directly by the ${this.Card.AgentName} action.`;\n }\n if (this.Card.Kind === 'narration') {\n return `Thought / narration authored by ${this.Card.AgentName}.`;\n }\n const run = this.Card.RunRef ? ` (run ${this.Card.RunRef})` : '';\n return `Result produced by ${this.Card.AgentName}'s own agent run${run} — not invented by the voice co-agent.`;\n }\n}\n","@if (!Card.Done) {\n <!-- WORKING — compact live card -->\n <div class=\"work-card\" role=\"status\" aria-live=\"polite\">\n <div class=\"work-card__head\">\n @if (Card.Kind === 'action') {\n <div class=\"avatar avatar--action\" aria-hidden=\"true\"><i class=\"fa-solid fa-wrench\"></i></div>\n <div class=\"work-card__title\">{{ Card.AgentName }}</div>\n } @else if (Card.Kind === 'narration') {\n <div class=\"avatar avatar--narration\" aria-hidden=\"true\"><i class=\"fa-solid fa-brain\"></i></div>\n <div class=\"work-card__title\">{{ Card.AgentName }} is thinking…</div>\n } @else {\n <div class=\"avatar\" aria-hidden=\"true\">{{ Card.AgentName.charAt(0) }}</div>\n <div class=\"work-card__title\">{{ Card.AgentName }} is working…</div>\n }\n <span class=\"pill pill--running\">\n <i class=\"fa-solid fa-spinner spin\" aria-hidden=\"true\"></i> Running\n </span>\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n @if (Card.Kind === 'agent') {\n <button type=\"button\" class=\"cancel-work\" (click)=\"CancelWork($event)\"\n title=\"Cancel this work\" aria-label=\"Cancel this work\">\n <i class=\"fa-solid fa-xmark\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n <div class=\"work-card__step\">{{ StepLabel }}</div>\n @if (ShowDetailLine) {\n <div class=\"work-card__detail\">{{ Card.LatestMessage }}</div>\n }\n <div class=\"work-progress\" [class.work-progress--indeterminate]=\"Card.Percentage == null\">\n @if (Card.Percentage != null) {\n <div class=\"work-progress__fill\" [style.width.%]=\"Card.Percentage\"></div>\n } @else {\n <div class=\"work-progress__fill work-progress__fill--slide\"></div>\n }\n </div>\n </div>\n} @else {\n <!-- DONE / FAILED — collapsed single-line chip, expandable inline.\n Migrated from a bespoke done-chip button + chevron + @if(Expanded) detail to\n mj-accordion-panel: title = result chip (mark/agent/preview/via-badge),\n actions = artifact \"View\" + dev \"Open run\" chips, body = full result detail.\n Failed state is carried via .done-accordion--failed on the panel. -->\n <mj-accordion-panel class=\"done-accordion\" [class.done-accordion--failed]=\"!Card.Success\"\n Size=\"sm\" [FlushBody]=\"true\" [(Expanded)]=\"Expanded\">\n <ng-template mjAccordionTitle>\n <i class=\"fa-solid done-chip__mark\" [ngClass]=\"Card.Success ? 'fa-check' : 'fa-xmark'\" aria-hidden=\"true\"></i>\n <span class=\"done-chip__agent\">{{ Card.AgentName }}</span>\n <span class=\"done-chip__sep\" aria-hidden=\"true\">·</span>\n <span class=\"done-chip__preview\">{{ ResultPreview }}</span>\n <span class=\"via-badge\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n @if (Card.Kind === 'action') {\n tool\n } @else if (Card.Kind === 'narration') {\n narration\n } @else {\n via {{ Card.AgentName }}\n }\n </span>\n </ng-template>\n <ng-template mjAccordionActions>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>View</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </ng-template>\n <ng-template mjAccordionBody>\n <div class=\"done-detail\">\n <div class=\"done-detail__body\">{{ ResultText }}</div>\n @for (artifact of Artifacts; track artifact.ArtifactVersionID) {\n <button type=\"button\" class=\"artifact-link artifact-link--detail\" (click)=\"OpenArtifact($event, artifact)\"\n [title]=\"'View ' + artifact.Name\">\n <i class=\"fa-solid fa-file-lines\" aria-hidden=\"true\"></i>\n <span>{{ artifact.Name }}</span>\n <i class=\"fa-solid fa-arrow-right\" aria-hidden=\"true\"></i>\n </button>\n }\n @if (Card.Kind === 'action') {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n Direct action · {{ Card.AgentName }}\n </div>\n } @else if (Card.Kind === 'narration') {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-brain\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n Thought narration · {{ Card.AgentName }}\n </div>\n } @else if (Card.RunRef) {\n <div class=\"done-detail__meta\">\n <i class=\"fa-solid fa-shield-halved\" [title]=\"ProvenanceTitle\" aria-hidden=\"true\"></i>\n via {{ Card.AgentName }} · run {{ Card.RunRef }}\n @if (ShowOpenRun) {\n <button type=\"button\" class=\"dev-link dev-link--inline\" (click)=\"OpenRun($event)\"\n title=\"Open the delegated agent run record\">\n <i class=\"fa-solid fa-arrow-up-right-from-square\" aria-hidden=\"true\"></i>\n <span>Open run</span>\n </button>\n }\n </div>\n }\n </div>\n </ng-template>\n </mj-accordion-panel>\n}\n"]}
@@ -2,8 +2,8 @@ import { EventEmitter, OnDestroy, AfterViewInit } from '@angular/core';
2
2
  import { UserInfo } from '@memberjunction/core';
3
3
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
4
4
  import { MediaTranscriptCue } from '@memberjunction/ng-media-player';
5
- import { RealtimeConnectionState } from '../../services/realtime-session.service';
6
- import { ParsedDelegationArtifact } from '../../services/delegation-result-parser';
5
+ import { RealtimeConnectionState } from '@memberjunction/realtime-runtime';
6
+ import { ParsedDelegationArtifact } from '@memberjunction/realtime-runtime';
7
7
  import { RealtimeSessionReview } from '../../services/realtime-session-review.service';
8
8
  import { RealtimeSessionState } from './realtime-session-state';
9
9
  import { RealtimeDisclosureModel, RealtimeUxDensity } from './realtime-disclosure';
@@ -238,7 +238,7 @@ export declare class RealtimeSessionOverlayComponent extends BaseAngularComponen
238
238
  private _uiConfigBag;
239
239
  /**
240
240
  * The latest measured width (px) of the rendered overlay element, fed to the resolver as
241
- * {@link RealtimeUiSignals.containerWidthPx}. Maintained by a {@link ResizeObserver}; 0
241
+ * {@link RealtimeUiSignals.ContainerWidthPx}. Maintained by a {@link ResizeObserver}; 0
242
242
  * until the first measurement (the resolver treats 0 as "narrow", i.e. an orb in auto).
243
243
  */
244
244
  private containerWidthPx;
@@ -341,7 +341,7 @@ export declare class RealtimeSessionOverlayComponent extends BaseAngularComponen
341
341
  */
342
342
  ShowCaptions: boolean;
343
343
  /** UserInfoEngine key for the persisted captions (text-vs-orb) preference. */
344
- private static readonly CaptionsPrefKey;
344
+ private static readonly captionsPrefKey;
345
345
  /**
346
346
  * Whether developer affordances (open-record links) are revealed. Per-session view
347
347
  * state on this shell — off by default, reset with the overlay, never persisted.
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-session-overlay.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-session-overlay.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtime-session-overlay.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/realtime/realtime-session-overlay.component.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { RealtimeComposerComponent } from './realtime-composer.component';
14
14
  import { RealtimeSurfaceTabsComponent } from './realtime-surface-tabs.component';
15
15
  import { ClampSurfacePanelWidth, DefaultSurfacePanelWidth, IsSurfacePanelDrag, ParseSurfacePanelPref, SerializeSurfacePanelPref, SurfacePanelDragWidth, SURFACE_PANEL_COLLAPSED_WIDTH, SURFACE_PANEL_DEFAULT_WIDTH, SURFACE_PANEL_PREF_KEY } from './realtime-surface-panel-prefs';
16
16
  import { RealtimeDisclosureModel, SerializeUxMilestones, REALTIME_UX_PREF_KEY } from './realtime-disclosure';
17
- import { resolveRealtimeUi, DEFAULT_REALTIME_UI_INPUTS, DEFAULT_REALTIME_UI_SIGNALS } from './realtime-ui-config';
17
+ import { ResolveRealtimeUi, DEFAULT_REALTIME_UI_INPUTS, DEFAULT_REALTIME_UI_SIGNALS } from './realtime-ui-config';
18
18
  import { RealtimeAudioVisualSmoother } from './realtime-audio-visuals';
19
19
  import { ShouldRemoveReviewWhiteboardTab } from './realtime-surface-tabs.model';
20
20
  import { ShouldRegisterChannelTabUpFront } from './realtime-surface-tab-style';
@@ -455,7 +455,7 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
455
455
  _uiConfigBag = null;
456
456
  /**
457
457
  * The latest measured width (px) of the rendered overlay element, fed to the resolver as
458
- * {@link RealtimeUiSignals.containerWidthPx}. Maintained by a {@link ResizeObserver}; 0
458
+ * {@link RealtimeUiSignals.ContainerWidthPx}. Maintained by a {@link ResizeObserver}; 0
459
459
  * until the first measurement (the resolver treats 0 as "narrow", i.e. an orb in auto).
460
460
  */
461
461
  containerWidthPx = 0;
@@ -472,7 +472,7 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
472
472
  // Seed from a dependency-free baseline — this runs as a field initializer, BEFORE the
473
473
  // disclosure model / session state / ResizeObserver exist. recomputeUi() produces the real
474
474
  // value once dependencies are ready (post-init + on every wired change source).
475
- _ui = resolveRealtimeUi(DEFAULT_REALTIME_UI_INPUTS, DEFAULT_REALTIME_UI_SIGNALS);
475
+ _ui = ResolveRealtimeUi(DEFAULT_REALTIME_UI_INPUTS, DEFAULT_REALTIME_UI_SIGNALS);
476
476
  /**
477
477
  * The current resolved UI view-model. Every visibility/affordance decision the template
478
478
  * makes reads from this — bind to its boolean fields rather than composing logic inline.
@@ -569,7 +569,7 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
569
569
  */
570
570
  ShowCaptions = false;
571
571
  /** UserInfoEngine key for the persisted captions (text-vs-orb) preference. */
572
- static CaptionsPrefKey = 'mj.realtimeVoice.captions.v1';
572
+ static captionsPrefKey = 'mj.realtimeVoice.captions.v1';
573
573
  /**
574
574
  * Whether developer affordances (open-record links) are revealed. Per-session view
575
575
  * state on this shell — off by default, reset with the overlay, never persisted.
@@ -723,24 +723,24 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
723
723
  }
724
724
  const reviewing = this.IsReviewing;
725
725
  return {
726
- containerWidthPx: this.containerWidthPx ?? 0,
726
+ ContainerWidthPx: this.containerWidthPx ?? 0,
727
727
  // Text intent = the user EXPLICITLY asked to see text this session — i.e. captions are on
728
728
  // (the captions toggle, the hero's "Show the conversation", RevealText(), and SetCaptions()
729
729
  // all route through ShowCaptions). NOT the disclosure ratchet: a power user still opens to
730
730
  // the calm orb until they ask for text, matching the historical ShowHero = !ShowCaptions.
731
- textRevealed: this.ShowCaptions,
732
- disclosureShowThread: disclosure.ShowThread,
733
- disclosureShowComposer: disclosure.ShowComposer,
734
- disclosureShowPanel: disclosure.ShowPanel,
735
- disclosureShowGear: disclosure.ShowGear,
731
+ TextRevealed: this.ShowCaptions,
732
+ DisclosureShowThread: disclosure.ShowThread,
733
+ DisclosureShowComposer: disclosure.ShowComposer,
734
+ DisclosureShowPanel: disclosure.ShowPanel,
735
+ DisclosureShowGear: disclosure.ShowGear,
736
736
  // A surface to populate: the on-demand Details peek, or review (always has a surface).
737
- surfacePanelEarned: this.DetailsPeek || reviewing,
737
+ SurfacePanelEarned: this.DetailsPeek || reviewing,
738
738
  hasChannels: (this.realtime?.ActiveChannels ?? []).some(c => c.HasSurface()),
739
- hasActivity: (this.State?.Cards?.length ?? 0) > 0,
740
- devMode: this.DevMode,
741
- isReviewing: reviewing,
739
+ HasActivity: (this.State?.Cards?.length ?? 0) > 0,
740
+ DevMode: this.DevMode,
741
+ IsReviewing: reviewing,
742
742
  channelFocus: this.ChannelFocusMode,
743
- connectionState: this.mapConnectionState(this.currentConnectionState)
743
+ ConnectionState: this.mapConnectionState(this.currentConnectionState)
744
744
  };
745
745
  }
746
746
  /**
@@ -750,7 +750,7 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
750
750
  * the resolver is pure so redundant calls are cheap. Always marks for check.
751
751
  */
752
752
  recomputeUi() {
753
- const next = resolveRealtimeUi(this.mergedUiInputs, this.buildSignals());
753
+ const next = ResolveRealtimeUi(this.mergedUiInputs, this.buildSignals());
754
754
  const prevChrome = this._ui.chrome;
755
755
  this._ui = next;
756
756
  if (next.chrome !== prevChrome) {
@@ -1035,7 +1035,7 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
1035
1035
  /** Reads the persisted text-vs-orb preference (tolerant; default = voice-first OFF). */
1036
1036
  loadCaptionsPref() {
1037
1037
  try {
1038
- this.ShowCaptions = UserInfoEngine.Instance.GetSetting(RealtimeSessionOverlayComponent.CaptionsPrefKey) === 'true';
1038
+ this.ShowCaptions = UserInfoEngine.Instance.GetSetting(RealtimeSessionOverlayComponent.captionsPrefKey) === 'true';
1039
1039
  }
1040
1040
  catch {
1041
1041
  // UserInfoEngine not configured — voice-first default applies.
@@ -1044,7 +1044,7 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
1044
1044
  /** Persists the text-vs-orb preference (debounced, best-effort). */
1045
1045
  persistCaptionsPref() {
1046
1046
  try {
1047
- UserInfoEngine.Instance.SetSettingDebounced(RealtimeSessionOverlayComponent.CaptionsPrefKey, String(this.ShowCaptions));
1047
+ UserInfoEngine.Instance.SetSettingDebounced(RealtimeSessionOverlayComponent.captionsPrefKey, String(this.ShowCaptions));
1048
1048
  }
1049
1049
  catch {
1050
1050
  // engine unavailable — the preference still applies for this session
@@ -1956,5 +1956,5 @@ export class RealtimeSessionOverlayComponent extends BaseAngularComponent {
1956
1956
  type: HostListener,
1957
1957
  args: ['document:keydown', ['$event']]
1958
1958
  }] }); })();
1959
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RealtimeSessionOverlayComponent, { className: "RealtimeSessionOverlayComponent", filePath: "src/lib/components/realtime/realtime-session-overlay.component.ts", lineNumber: 128 }); })();
1959
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RealtimeSessionOverlayComponent, { className: "RealtimeSessionOverlayComponent", filePath: "src/lib/components/realtime/realtime-session-overlay.component.ts", lineNumber: 129 }); })();
1960
1960
  //# sourceMappingURL=realtime-session-overlay.component.js.map