@memberjunction/ng-explorer-core 6.2.0-edge.0 → 6.2.0-edge.2

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 (190) hide show
  1. package/dist/app-routing.module.d.ts +23 -1
  2. package/dist/app-routing.module.d.ts.map +1 -1
  3. package/dist/app-routing.module.js +50 -14
  4. package/dist/app-routing.module.js.map +1 -1
  5. package/dist/generated/lazy-feature-config.d.ts +1 -1
  6. package/dist/generated/lazy-feature-config.d.ts.map +1 -1
  7. package/dist/generated/lazy-feature-config.js +12 -1
  8. package/dist/generated/lazy-feature-config.js.map +1 -1
  9. package/dist/lib/command-palette/command-palette.component.d.ts +7 -1
  10. package/dist/lib/command-palette/command-palette.component.d.ts.map +1 -1
  11. package/dist/lib/command-palette/command-palette.component.js +28 -14
  12. package/dist/lib/command-palette/command-palette.component.js.map +1 -1
  13. package/dist/lib/conversation-feedback/conversation-feedback.d.ts +103 -13
  14. package/dist/lib/conversation-feedback/conversation-feedback.d.ts.map +1 -1
  15. package/dist/lib/conversation-feedback/conversation-feedback.js +219 -67
  16. package/dist/lib/conversation-feedback/conversation-feedback.js.map +1 -1
  17. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts +64 -10
  18. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.d.ts.map +1 -1
  19. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +172 -66
  20. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  21. package/dist/lib/generic/resource-container-component.d.ts +19 -5
  22. package/dist/lib/generic/resource-container-component.d.ts.map +1 -1
  23. package/dist/lib/generic/resource-container-component.js +43 -13
  24. package/dist/lib/generic/resource-container-component.js.map +1 -1
  25. package/dist/lib/guards/entities.guard.d.ts +4 -0
  26. package/dist/lib/guards/entities.guard.d.ts.map +1 -1
  27. package/dist/lib/guards/entities.guard.js +10 -2
  28. package/dist/lib/guards/entities.guard.js.map +1 -1
  29. package/dist/lib/identity-claims/claim-redeem.component.d.ts +4 -0
  30. package/dist/lib/identity-claims/claim-redeem.component.d.ts.map +1 -1
  31. package/dist/lib/identity-claims/claim-redeem.component.js +10 -2
  32. package/dist/lib/identity-claims/claim-redeem.component.js.map +1 -1
  33. package/dist/lib/oauth/oauth-callback.component.d.ts +4 -0
  34. package/dist/lib/oauth/oauth-callback.component.d.ts.map +1 -1
  35. package/dist/lib/oauth/oauth-callback.component.js +10 -2
  36. package/dist/lib/oauth/oauth-callback.component.js.map +1 -1
  37. package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
  38. package/dist/lib/profile/profile-dialog.component.js +194 -191
  39. package/dist/lib/profile/profile-dialog.component.js.map +1 -1
  40. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +20 -2
  41. package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
  42. package/dist/lib/resource-wrappers/artifact-resource.component.js +33 -9
  43. package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
  44. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts +80 -10
  45. package/dist/lib/resource-wrappers/chat-collections-resource.component.d.ts.map +1 -1
  46. package/dist/lib/resource-wrappers/chat-collections-resource.component.js +168 -56
  47. package/dist/lib/resource-wrappers/chat-collections-resource.component.js.map +1 -1
  48. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +199 -25
  49. package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
  50. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +534 -182
  51. package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
  52. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts +2 -0
  53. package/dist/lib/resource-wrappers/chat-deeplink-params.d.ts.map +1 -1
  54. package/dist/lib/resource-wrappers/chat-deeplink-params.js +5 -1
  55. package/dist/lib/resource-wrappers/chat-deeplink-params.js.map +1 -1
  56. package/dist/lib/resource-wrappers/chat-search-routing.d.ts +25 -0
  57. package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -0
  58. package/dist/lib/resource-wrappers/chat-search-routing.js +24 -0
  59. package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -0
  60. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts +14 -2
  61. package/dist/lib/resource-wrappers/chat-tasks-resource.component.d.ts.map +1 -1
  62. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js +32 -8
  63. package/dist/lib/resource-wrappers/chat-tasks-resource.component.js.map +1 -1
  64. package/dist/lib/resource-wrappers/compose-email-fallback.d.ts +46 -0
  65. package/dist/lib/resource-wrappers/compose-email-fallback.d.ts.map +1 -0
  66. package/dist/lib/resource-wrappers/compose-email-fallback.js +62 -0
  67. package/dist/lib/resource-wrappers/compose-email-fallback.js.map +1 -0
  68. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +54 -8
  69. package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
  70. package/dist/lib/resource-wrappers/dashboard-resource.component.js +138 -46
  71. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  72. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +223 -30
  73. package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
  74. package/dist/lib/resource-wrappers/livekit-room-resource.component.js +438 -118
  75. package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
  76. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts +7 -3
  77. package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
  78. package/dist/lib/resource-wrappers/search-results-resource.component.js +23 -15
  79. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  80. package/dist/lib/resource-wrappers/view-resource.component.d.ts +74 -11
  81. package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
  82. package/dist/lib/resource-wrappers/view-resource.component.js +214 -68
  83. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  84. package/dist/lib/services/server-connectivity.service.d.ts +9 -4
  85. package/dist/lib/services/server-connectivity.service.d.ts.map +1 -1
  86. package/dist/lib/services/server-connectivity.service.js +56 -12
  87. package/dist/lib/services/server-connectivity.service.js.map +1 -1
  88. package/dist/lib/services/startup-validation.service.d.ts +4 -0
  89. package/dist/lib/services/startup-validation.service.d.ts.map +1 -1
  90. package/dist/lib/services/startup-validation.service.js +10 -2
  91. package/dist/lib/services/startup-validation.service.js.map +1 -1
  92. package/dist/lib/services/system-validation.service.d.ts +13 -1
  93. package/dist/lib/services/system-validation.service.d.ts.map +1 -1
  94. package/dist/lib/services/system-validation.service.js +29 -5
  95. package/dist/lib/services/system-validation.service.js.map +1 -1
  96. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts +54 -4
  97. package/dist/lib/shell/components/dialogs/app-access-dialog.component.d.ts.map +1 -1
  98. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js +130 -40
  99. package/dist/lib/shell/components/dialogs/app-access-dialog.component.js.map +1 -1
  100. package/dist/lib/shell/components/header/app-nav.component.d.ts +29 -1
  101. package/dist/lib/shell/components/header/app-nav.component.d.ts.map +1 -1
  102. package/dist/lib/shell/components/header/app-nav.component.js +56 -12
  103. package/dist/lib/shell/components/header/app-nav.component.js.map +1 -1
  104. package/dist/lib/shell/components/header/app-switcher.component.d.ts +33 -5
  105. package/dist/lib/shell/components/header/app-switcher.component.d.ts.map +1 -1
  106. package/dist/lib/shell/components/header/app-switcher.component.js +85 -29
  107. package/dist/lib/shell/components/header/app-switcher.component.js.map +1 -1
  108. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js +1 -1
  109. package/dist/lib/shell/components/record-open/record-origin-crumb.component.js.map +1 -1
  110. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts +50 -6
  111. package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
  112. package/dist/lib/shell/components/tabs/component-cache-manager.js +95 -22
  113. package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
  114. package/dist/lib/shell/components/tabs/tab-container.component.d.ts +91 -9
  115. package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
  116. package/dist/lib/shell/components/tabs/tab-container.component.js +257 -101
  117. package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
  118. package/dist/lib/shell/loading-themes.d.ts +16 -12
  119. package/dist/lib/shell/loading-themes.d.ts.map +1 -1
  120. package/dist/lib/shell/loading-themes.js +145 -137
  121. package/dist/lib/shell/loading-themes.js.map +1 -1
  122. package/dist/lib/shell/readiness-beacon.d.ts +2 -0
  123. package/dist/lib/shell/readiness-beacon.d.ts.map +1 -1
  124. package/dist/lib/shell/readiness-beacon.js +5 -1
  125. package/dist/lib/shell/readiness-beacon.js.map +1 -1
  126. package/dist/lib/shell/services/about-dialog.service.d.ts +6 -0
  127. package/dist/lib/shell/services/about-dialog.service.d.ts.map +1 -1
  128. package/dist/lib/shell/services/about-dialog.service.js +16 -4
  129. package/dist/lib/shell/services/about-dialog.service.js.map +1 -1
  130. package/dist/lib/shell/services/profile-dialog.service.d.ts +6 -0
  131. package/dist/lib/shell/services/profile-dialog.service.d.ts.map +1 -1
  132. package/dist/lib/shell/services/profile-dialog.service.js +16 -4
  133. package/dist/lib/shell/services/profile-dialog.service.js.map +1 -1
  134. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts +6 -0
  135. package/dist/lib/shell/services/user-sharing-center-dialog.service.d.ts.map +1 -1
  136. package/dist/lib/shell/services/user-sharing-center-dialog.service.js +15 -3
  137. package/dist/lib/shell/services/user-sharing-center-dialog.service.js.map +1 -1
  138. package/dist/lib/shell/shell.component.d.ts +264 -39
  139. package/dist/lib/shell/shell.component.d.ts.map +1 -1
  140. package/dist/lib/shell/shell.component.js +697 -294
  141. package/dist/lib/shell/shell.component.js.map +1 -1
  142. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts +64 -8
  143. package/dist/lib/single-dashboard/Components/add-item/add-item.component.d.ts.map +1 -1
  144. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +129 -37
  145. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  146. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts +26 -2
  147. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.d.ts.map +1 -1
  148. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +48 -10
  149. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  150. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts +84 -6
  151. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.d.ts.map +1 -1
  152. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +133 -29
  153. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  154. package/dist/lib/single-dashboard/single-dashboard.component.d.ts +173 -23
  155. package/dist/lib/single-dashboard/single-dashboard.component.d.ts.map +1 -1
  156. package/dist/lib/single-dashboard/single-dashboard.component.js +383 -109
  157. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  158. package/dist/lib/single-list-detail/single-list-detail.component.d.ts +383 -55
  159. package/dist/lib/single-list-detail/single-list-detail.component.d.ts.map +1 -1
  160. package/dist/lib/single-list-detail/single-list-detail.component.js +962 -326
  161. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  162. package/dist/lib/single-query/single-query.component.d.ts +22 -2
  163. package/dist/lib/single-query/single-query.component.d.ts.map +1 -1
  164. package/dist/lib/single-query/single-query.component.js +40 -10
  165. package/dist/lib/single-query/single-query.component.js.map +1 -1
  166. package/dist/lib/single-record/single-record.component.d.ts +41 -3
  167. package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
  168. package/dist/lib/single-record/single-record.component.js +71 -11
  169. package/dist/lib/single-record/single-record.component.js.map +1 -1
  170. package/dist/lib/single-search-result/single-search-result.component.d.ts +23 -3
  171. package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
  172. package/dist/lib/single-search-result/single-search-result.component.js +42 -12
  173. package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
  174. package/dist/lib/system-validation/system-validation-banner.component.d.ts +12 -2
  175. package/dist/lib/system-validation/system-validation-banner.component.d.ts.map +1 -1
  176. package/dist/lib/system-validation/system-validation-banner.component.js +25 -5
  177. package/dist/lib/system-validation/system-validation-banner.component.js.map +1 -1
  178. package/dist/lib/user-menu/user-menu.types.d.ts +4 -0
  179. package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -1
  180. package/dist/lib/user-menu/user-menu.types.js +10 -2
  181. package/dist/lib/user-menu/user-menu.types.js.map +1 -1
  182. package/dist/lib/user-notifications/user-notifications.component.d.ts +59 -7
  183. package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
  184. package/dist/lib/user-notifications/user-notifications.component.js +151 -47
  185. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  186. package/dist/lib/user-profile/user-profile.component.d.ts +3 -2
  187. package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
  188. package/dist/lib/user-profile/user-profile.component.js +5 -4
  189. package/dist/lib/user-profile/user-profile.component.js.map +1 -1
  190. package/package.json +52 -52
@@ -523,88 +523,344 @@ function LiveKitRoomResource_Conditional_7_Template(rf, ctx) { if (rf & 1) {
523
523
  */
524
524
  let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponent {
525
525
  /** Render phase: spinner while resolving → landing (new/existing/history) → picker/existing/history → live room. */
526
- phase = 'loading';
526
+ Phase = 'loading';
527
+ /** @deprecated Use {@link Phase}. */
528
+ get phase() {
529
+ return this.Phase;
530
+ }
531
+ /** @deprecated Use {@link Phase}. */
532
+ set phase(value) {
533
+ this.Phase = value;
534
+ }
527
535
  // ── "Join existing" state ─────────────────────────────────────────────────────────
528
536
  /** Currently-active rooms (a distinct `ExternalConnectionID` with ≥1 connected agent bridge). */
529
- activeRooms = [];
537
+ ActiveRooms = [];
538
+ /** @deprecated Use {@link ActiveRooms}. */
539
+ get activeRooms() {
540
+ return this.ActiveRooms;
541
+ }
542
+ /** @deprecated Use {@link ActiveRooms}. */
543
+ set activeRooms(value) {
544
+ this.ActiveRooms = value;
545
+ }
530
546
  /** True while loading the active-rooms list. */
531
- loadingActive = false;
547
+ LoadingActive = false;
548
+ /** @deprecated Use {@link LoadingActive}. */
549
+ get loadingActive() {
550
+ return this.LoadingActive;
551
+ }
552
+ /** @deprecated Use {@link LoadingActive}. */
553
+ set loadingActive(value) {
554
+ this.LoadingActive = value;
555
+ }
532
556
  /** Free-text room name to join directly (the "join by name/code" path). */
533
- manualRoomName = '';
557
+ ManualRoomName = '';
558
+ /** @deprecated Use {@link ManualRoomName}. */
559
+ get manualRoomName() {
560
+ return this.ManualRoomName;
561
+ }
562
+ /** @deprecated Use {@link ManualRoomName}. */
563
+ set manualRoomName(value) {
564
+ this.ManualRoomName = value;
565
+ }
534
566
  // ── "History" (past meetings) state ───────────────────────────────────────────────
535
567
  /** Past meeting rooms (the `MJ: Conversations` of Type='Meeting Room' the bridge recorded). */
536
- historyRooms = [];
568
+ HistoryRooms = [];
569
+ /** @deprecated Use {@link HistoryRooms}. */
570
+ get historyRooms() {
571
+ return this.HistoryRooms;
572
+ }
573
+ /** @deprecated Use {@link HistoryRooms}. */
574
+ set historyRooms(value) {
575
+ this.HistoryRooms = value;
576
+ }
537
577
  /** True while loading the history list. */
538
- loadingHistory = false;
578
+ LoadingHistory = false;
579
+ /** @deprecated Use {@link LoadingHistory}. */
580
+ get loadingHistory() {
581
+ return this.LoadingHistory;
582
+ }
583
+ /** @deprecated Use {@link LoadingHistory}. */
584
+ set loadingHistory(value) {
585
+ this.LoadingHistory = value;
586
+ }
539
587
  /** The history room whose transcript is open (drill-in), or null for the list. */
540
- openHistoryRoom = null;
588
+ OpenHistoryRoom = null;
589
+ /** @deprecated Use {@link OpenHistoryRoom}. */
590
+ get openHistoryRoom() {
591
+ return this.OpenHistoryRoom;
592
+ }
593
+ /** @deprecated Use {@link OpenHistoryRoom}. */
594
+ set openHistoryRoom(value) {
595
+ this.OpenHistoryRoom = value;
596
+ }
541
597
  /** The opened room's transcript lines. */
542
- historyTranscript = [];
598
+ HistoryTranscript = [];
599
+ /** @deprecated Use {@link HistoryTranscript}. */
600
+ get historyTranscript() {
601
+ return this.HistoryTranscript;
602
+ }
603
+ /** @deprecated Use {@link HistoryTranscript}. */
604
+ set historyTranscript(value) {
605
+ this.HistoryTranscript = value;
606
+ }
543
607
  /** True while loading a room's transcript. */
544
- loadingTranscript = false;
608
+ LoadingTranscript = false;
609
+ /** @deprecated Use {@link LoadingTranscript}. */
610
+ get loadingTranscript() {
611
+ return this.LoadingTranscript;
612
+ }
613
+ /** @deprecated Use {@link LoadingTranscript}. */
614
+ set loadingTranscript(value) {
615
+ this.LoadingTranscript = value;
616
+ }
545
617
  /** `'agent'` to start/voice an agent (the default), or `'join'` when opened from an invite link. */
546
- roomMode = 'agent';
618
+ RoomMode = 'agent';
619
+ /** @deprecated Use {@link RoomMode}. */
620
+ get roomMode() {
621
+ return this.RoomMode;
622
+ }
623
+ /** @deprecated Use {@link RoomMode}. */
624
+ set roomMode(value) {
625
+ this.RoomMode = value;
626
+ }
547
627
  /** The room to JOIN when opened via an invite link (`?room=…`); null in agent mode. */
548
- joinRoomName = null;
628
+ JoinRoomName = null;
629
+ /** @deprecated Use {@link JoinRoomName}. */
630
+ get joinRoomName() {
631
+ return this.JoinRoomName;
632
+ }
633
+ /** @deprecated Use {@link JoinRoomName}. */
634
+ set joinRoomName(value) {
635
+ this.JoinRoomName = value;
636
+ }
549
637
  /** The Realtime co-agent (voice front-end) id — the resolved default Realtime-type agent. */
550
- agentId = null;
638
+ AgentId = null;
639
+ /** @deprecated Use {@link AgentId}. */
640
+ get agentId() {
641
+ return this.AgentId;
642
+ }
643
+ /** @deprecated Use {@link AgentId}. */
644
+ set agentId(value) {
645
+ this.AgentId = value;
646
+ }
551
647
  /** The TARGET agent the co-agent voices (the one being "called"); the bot is named after it. */
552
- targetAgentId = null;
648
+ TargetAgentId = null;
649
+ /** @deprecated Use {@link TargetAgentId}. */
650
+ get targetAgentId() {
651
+ return this.TargetAgentId;
652
+ }
653
+ /** @deprecated Use {@link TargetAgentId}. */
654
+ set targetAgentId(value) {
655
+ this.TargetAgentId = value;
656
+ }
553
657
  /** The target agent's display name — used as the bot name + addressing word ("Sage, …"). */
554
- targetAgentName = null;
658
+ TargetAgentName = null;
659
+ /** @deprecated Use {@link TargetAgentName}. */
660
+ get targetAgentName() {
661
+ return this.TargetAgentName;
662
+ }
663
+ /** @deprecated Use {@link TargetAgentName}. */
664
+ set targetAgentName(value) {
665
+ this.TargetAgentName = value;
666
+ }
555
667
  /** The agents offered in the pre-join picker (active, excluding the Realtime co-agent itself). */
556
- agents = [];
668
+ Agents = [];
669
+ /** @deprecated Use {@link Agents}. */
670
+ get agents() {
671
+ return this.Agents;
672
+ }
673
+ /** @deprecated Use {@link Agents}. */
674
+ set agents(value) {
675
+ this.Agents = value;
676
+ }
557
677
  /** The currently-selected target in the picker (defaults to "Sage" when present). */
558
- selectedTargetId = null;
678
+ SelectedTargetId = null;
679
+ /** @deprecated Use {@link SelectedTargetId}. */
680
+ get selectedTargetId() {
681
+ return this.SelectedTargetId;
682
+ }
683
+ /** @deprecated Use {@link SelectedTargetId}. */
684
+ set selectedTargetId(value) {
685
+ this.SelectedTargetId = value;
686
+ }
559
687
  // ── Dev model/voice override (gated by the `Realtime: Advanced Session Controls` authorization) ──────
560
688
  /** Whether the current user may override the realtime model/voice (drives the dev pickers). */
561
- canPickModelVoice = false;
689
+ CanPickModelVoice = false;
690
+ /** @deprecated Use {@link CanPickModelVoice}. */
691
+ get canPickModelVoice() {
692
+ return this.CanPickModelVoice;
693
+ }
694
+ /** @deprecated Use {@link CanPickModelVoice}. */
695
+ set canPickModelVoice(value) {
696
+ this.CanPickModelVoice = value;
697
+ }
562
698
  /** Active Realtime models + their voices (loaded once when the user can override). */
563
- realtimeModels = [];
699
+ RealtimeModels = [];
700
+ /** @deprecated Use {@link RealtimeModels}. */
701
+ get realtimeModels() {
702
+ return this.RealtimeModels;
703
+ }
704
+ /** @deprecated Use {@link RealtimeModels}. */
705
+ set realtimeModels(value) {
706
+ this.RealtimeModels = value;
707
+ }
564
708
  /** The MODEL override chosen for the FIRST agent in the pre-join picker (null = default). */
565
- selectedModelId = null;
709
+ SelectedModelId = null;
710
+ /** @deprecated Use {@link SelectedModelId}. */
711
+ get selectedModelId() {
712
+ return this.SelectedModelId;
713
+ }
714
+ /** @deprecated Use {@link SelectedModelId}. */
715
+ set selectedModelId(value) {
716
+ this.SelectedModelId = value;
717
+ }
566
718
  /** The VOICE override chosen for the FIRST agent in the pre-join picker (null = default). */
567
- selectedVoice = null;
719
+ SelectedVoice = null;
720
+ /** @deprecated Use {@link SelectedVoice}. */
721
+ get selectedVoice() {
722
+ return this.SelectedVoice;
723
+ }
724
+ /** @deprecated Use {@link SelectedVoice}. */
725
+ set selectedVoice(value) {
726
+ this.SelectedVoice = value;
727
+ }
568
728
  /** Voices for the model chosen in the pre-join picker. */
729
+ get SelectedModelVoices() {
730
+ return this.RealtimeModels.find((m) => UUIDsEqual(m.ModelID, this.SelectedModelId))?.Voices ?? [];
731
+ }
732
+ /** @deprecated Use {@link SelectedModelVoices}. */
569
733
  get selectedModelVoices() {
570
- return this.realtimeModels.find((m) => UUIDsEqual(m.ModelID, this.selectedModelId))?.Voices ?? [];
734
+ return this.SelectedModelVoices;
571
735
  }
572
736
  /** Records the pre-join MODEL choice; clears the voice so it can't outlive a model switch. */
737
+ OnModelChange(event) {
738
+ this.SelectedModelId = event.target.value || null;
739
+ this.SelectedVoice = null;
740
+ }
741
+ /** @deprecated Use {@link OnModelChange}. */
573
742
  onModelChange(event) {
574
- this.selectedModelId = event.target.value || null;
575
- this.selectedVoice = null;
743
+ return this.OnModelChange(event);
576
744
  }
577
745
  /** Records the pre-join VOICE choice. */
746
+ OnVoiceChange(event) {
747
+ this.SelectedVoice = event.target.value || null;
748
+ }
749
+ /** @deprecated Use {@link OnVoiceChange}. */
578
750
  onVoiceChange(event) {
579
- this.selectedVoice = event.target.value || null;
751
+ return this.OnVoiceChange(event);
580
752
  }
581
753
  /** Exposed for template use — platform-safe UUID equality (SQL upper vs PG lower). */
582
754
  UUIDsEqual = UUIDsEqual;
583
755
  /** Set when no co-agent could be resolved — shown instead of the room. */
584
- resolveError = null;
756
+ ResolveError = null;
757
+ /** @deprecated Use {@link ResolveError}. */
758
+ get resolveError() {
759
+ return this.ResolveError;
760
+ }
761
+ /** @deprecated Use {@link ResolveError}. */
762
+ set resolveError(value) {
763
+ this.ResolveError = value;
764
+ }
585
765
  // ── "Invite people" dialog state ─────────────────────────────────────────────────
586
766
  /** Whether the invite-people dialog is open. */
587
- showInvite = false;
767
+ ShowInvite = false;
768
+ /** @deprecated Use {@link ShowInvite}. */
769
+ get showInvite() {
770
+ return this.ShowInvite;
771
+ }
772
+ /** @deprecated Use {@link ShowInvite}. */
773
+ set showInvite(value) {
774
+ this.ShowInvite = value;
775
+ }
588
776
  /** The room the invite targets (the live room name). */
589
- inviteRoomName = null;
777
+ InviteRoomName = null;
778
+ /** @deprecated Use {@link InviteRoomName}. */
779
+ get inviteRoomName() {
780
+ return this.InviteRoomName;
781
+ }
782
+ /** @deprecated Use {@link InviteRoomName}. */
783
+ set inviteRoomName(value) {
784
+ this.InviteRoomName = value;
785
+ }
590
786
  /** Current search text in the people search box. */
591
- userSearch = '';
787
+ UserSearch = '';
788
+ /** @deprecated Use {@link UserSearch}. */
789
+ get userSearch() {
790
+ return this.UserSearch;
791
+ }
792
+ /** @deprecated Use {@link UserSearch}. */
793
+ set userSearch(value) {
794
+ this.UserSearch = value;
795
+ }
592
796
  /** People matching the last search (minus already-selected + the current user). */
593
- userResults = [];
797
+ UserResults = [];
798
+ /** @deprecated Use {@link UserResults}. */
799
+ get userResults() {
800
+ return this.UserResults;
801
+ }
802
+ /** @deprecated Use {@link UserResults}. */
803
+ set userResults(value) {
804
+ this.UserResults = value;
805
+ }
594
806
  /** People chosen to invite. */
595
- selectedInvitees = [];
807
+ SelectedInvitees = [];
808
+ /** @deprecated Use {@link SelectedInvitees}. */
809
+ get selectedInvitees() {
810
+ return this.SelectedInvitees;
811
+ }
812
+ /** @deprecated Use {@link SelectedInvitees}. */
813
+ set selectedInvitees(value) {
814
+ this.SelectedInvitees = value;
815
+ }
596
816
  /** True while a people search is running. */
597
- searching = false;
817
+ Searching = false;
818
+ /** @deprecated Use {@link Searching}. */
819
+ get searching() {
820
+ return this.Searching;
821
+ }
822
+ /** @deprecated Use {@link Searching}. */
823
+ set searching(value) {
824
+ this.Searching = value;
825
+ }
598
826
  /** True once a search has run (drives the "no matches" empty state). */
599
- searched = false;
827
+ Searched = false;
828
+ /** @deprecated Use {@link Searched}. */
829
+ get searched() {
830
+ return this.Searched;
831
+ }
832
+ /** @deprecated Use {@link Searched}. */
833
+ set searched(value) {
834
+ this.Searched = value;
835
+ }
600
836
  /** True while invites are being sent. */
601
- inviting = false;
837
+ Inviting = false;
838
+ /** @deprecated Use {@link Inviting}. */
839
+ get inviting() {
840
+ return this.Inviting;
841
+ }
842
+ /** @deprecated Use {@link Inviting}. */
843
+ set inviting(value) {
844
+ this.Inviting = value;
845
+ }
602
846
  /** Result/status message under the dialog. */
603
- inviteMessage = null;
847
+ InviteMessage = null;
848
+ /** @deprecated Use {@link InviteMessage}. */
849
+ get inviteMessage() {
850
+ return this.InviteMessage;
851
+ }
852
+ /** @deprecated Use {@link InviteMessage}. */
853
+ set inviteMessage(value) {
854
+ this.InviteMessage = value;
855
+ }
604
856
  cdr = inject(ChangeDetectorRef);
605
857
  /** Description of the selected target, shown under the picker. */
858
+ get SelectedDescription() {
859
+ return this.Agents.find((a) => UUIDsEqual(a.ID, this.SelectedTargetId))?.Description ?? null;
860
+ }
861
+ /** @deprecated Use {@link SelectedDescription}. */
606
862
  get selectedDescription() {
607
- return this.agents.find((a) => UUIDsEqual(a.ID, this.selectedTargetId))?.Description ?? null;
863
+ return this.SelectedDescription;
608
864
  }
609
865
  ngOnInit() {
610
866
  super.ngOnInit();
@@ -619,9 +875,9 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
619
875
  // Invite link (?room=…): join that existing room directly — no agent resolution / picker needed.
620
876
  const invitedRoom = this.GetQueryParams()?.['room']?.trim();
621
877
  if (invitedRoom) {
622
- this.roomMode = 'join';
623
- this.joinRoomName = invitedRoom;
624
- this.phase = 'live';
878
+ this.RoomMode = 'join';
879
+ this.JoinRoomName = invitedRoom;
880
+ this.Phase = 'live';
625
881
  this.NotifyLoadComplete();
626
882
  return;
627
883
  }
@@ -641,37 +897,37 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
641
897
  ? AIEngineBase.Instance.Agents.find((a) => a.Status === 'Active' && UUIDsEqual(a.TypeID, realtimeType.ID))
642
898
  : undefined;
643
899
  if (!coAgent) {
644
- this.resolveError =
900
+ this.ResolveError =
645
901
  'No active Realtime agent is configured, so the Live Room has no voice to bring in. ' +
646
902
  'Create a Realtime-type AI Agent (e.g. "Realtime Co-Agent") and try again.';
647
- this.phase = 'error';
903
+ this.Phase = 'error';
648
904
  this.NotifyLoadComplete();
649
905
  return;
650
906
  }
651
- this.agentId = coAgent.ID;
907
+ this.AgentId = coAgent.ID;
652
908
  // Dev model/voice override: gate on the `Realtime: Advanced Session Controls` authorization and, when
653
909
  // held, load the active models + their voices for the pickers (here and the in-room add-agent control).
654
- this.canPickModelVoice = UserHoldsAuthorization(this.ProviderToUse?.CurrentUser, REALTIME_ADVANCED_SESSION_CONTROLS, this.ProviderToUse);
655
- if (this.canPickModelVoice) {
910
+ this.CanPickModelVoice = UserHoldsAuthorization(this.ProviderToUse?.CurrentUser, REALTIME_ADVANCED_SESSION_CONTROLS, this.ProviderToUse);
911
+ if (this.CanPickModelVoice) {
656
912
  void this.loadRealtimeModels();
657
913
  }
658
914
  // Target candidates: every active agent EXCEPT the Realtime co-agents (they voice a target, not themselves).
659
- this.agents = AIEngineBase.Instance.Agents
915
+ this.Agents = AIEngineBase.Instance.Agents
660
916
  .filter((a) => a.Status === 'Active' && (!realtimeType || !UUIDsEqual(a.TypeID, realtimeType.ID)))
661
917
  .map((a) => ({ ID: a.ID, Name: a.Name ?? '(unnamed)', Description: a.Description ?? null }))
662
918
  .sort((a, b) => a.Name.localeCompare(b.Name));
663
919
  // An explicit record id (deep link to a specific agent) skips the picker and calls it directly.
664
920
  const explicit = this.Data?.ResourceRecordID ? String(this.Data.ResourceRecordID) : null;
665
921
  if (explicit) {
666
- this.selectedTargetId = explicit;
667
- this.startCall();
922
+ this.SelectedTargetId = explicit;
923
+ this.StartCall();
668
924
  return;
669
925
  }
670
926
  // Default the picker to the general assistant "Sage" when present, else the first candidate.
671
- this.selectedTargetId =
672
- this.agents.find((a) => a.Name.trim().toLowerCase() === 'sage')?.ID ?? this.agents[0]?.ID ?? null;
927
+ this.SelectedTargetId =
928
+ this.Agents.find((a) => a.Name.trim().toLowerCase() === 'sage')?.ID ?? this.Agents[0]?.ID ?? null;
673
929
  // Land on the Meet home (start new / join existing / history) rather than jumping straight into the picker.
674
- this.phase = 'landing';
930
+ this.Phase = 'landing';
675
931
  this.NotifyLoadComplete();
676
932
  }
677
933
  // ── Meet landing navigation ─────────────────────────────────────────────────────────
@@ -680,45 +936,69 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
680
936
  * Meet landing so they can start a new room, join another, or review history — rather than being stranded
681
937
  * on a dead room. Resets the join state so the next "New room" / "Join existing" starts clean.
682
938
  */
683
- onRoomLeft() {
684
- this.roomMode = 'agent';
685
- this.joinRoomName = null;
686
- this.phase = 'landing';
939
+ OnRoomLeft() {
940
+ this.RoomMode = 'agent';
941
+ this.JoinRoomName = null;
942
+ this.Phase = 'landing';
687
943
  this.cdr.detectChanges();
688
944
  }
945
+ /** @deprecated Use {@link OnRoomLeft}. */
946
+ onRoomLeft() {
947
+ return this.OnRoomLeft();
948
+ }
689
949
  /** Go to the "start a new room" picker. */
950
+ StartNewRoom() {
951
+ this.Phase = 'picking';
952
+ }
953
+ /** @deprecated Use {@link StartNewRoom}. */
690
954
  startNewRoom() {
691
- this.phase = 'picking';
955
+ return this.StartNewRoom();
692
956
  }
693
957
  /** Open the "join existing room" view and load the active rooms. */
694
- openExisting() {
695
- this.phase = 'existing';
958
+ OpenExisting() {
959
+ this.Phase = 'existing';
696
960
  void this.loadActiveRooms();
697
961
  }
962
+ /** @deprecated Use {@link OpenExisting}. */
963
+ openExisting() {
964
+ return this.OpenExisting();
965
+ }
698
966
  /** Open the "past meetings" history view and load the list. */
699
- openHistory() {
700
- this.phase = 'history';
701
- this.openHistoryRoom = null;
967
+ OpenHistory() {
968
+ this.Phase = 'history';
969
+ this.OpenHistoryRoom = null;
702
970
  void this.loadHistory();
703
971
  }
972
+ /** @deprecated Use {@link OpenHistory}. */
973
+ openHistory() {
974
+ return this.OpenHistory();
975
+ }
704
976
  /** Back to the Meet home. */
977
+ BackToLanding() {
978
+ this.Phase = 'landing';
979
+ }
980
+ /** @deprecated Use {@link BackToLanding}. */
705
981
  backToLanding() {
706
- this.phase = 'landing';
982
+ return this.BackToLanding();
707
983
  }
708
984
  /** Joins an existing room by its LiveKit room name (the bridge `ExternalConnectionID`). */
709
- joinExistingRoom(roomName) {
985
+ JoinExistingRoom(roomName) {
710
986
  const name = roomName.trim();
711
987
  if (!name) {
712
988
  return;
713
989
  }
714
- this.roomMode = 'join';
715
- this.joinRoomName = name;
716
- this.phase = 'live';
990
+ this.RoomMode = 'join';
991
+ this.JoinRoomName = name;
992
+ this.Phase = 'live';
993
+ }
994
+ /** @deprecated Use {@link JoinExistingRoom}. */
995
+ joinExistingRoom(roomName) {
996
+ return this.JoinExistingRoom(roomName);
717
997
  }
718
998
  /** Loads currently-active rooms: distinct rooms that have a Connected/Connecting agent bridge. */
719
999
  async loadActiveRooms() {
720
- this.loadingActive = true;
721
- this.activeRooms = [];
1000
+ this.LoadingActive = true;
1001
+ this.ActiveRooms = [];
722
1002
  try {
723
1003
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
724
1004
  const res = await rv.RunView({
@@ -743,7 +1023,7 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
743
1023
  }
744
1024
  byRoom.set(room, entry);
745
1025
  }
746
- this.activeRooms = [...byRoom.entries()].map(([room, info]) => ({
1026
+ this.ActiveRooms = [...byRoom.entries()].map(([room, info]) => ({
747
1027
  RoomName: room,
748
1028
  Label: info.agents.size ? [...info.agents].join(', ') : room,
749
1029
  AgentCount: info.count,
@@ -751,14 +1031,14 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
751
1031
  }
752
1032
  }
753
1033
  finally {
754
- this.loadingActive = false;
1034
+ this.LoadingActive = false;
755
1035
  this.cdr.detectChanges();
756
1036
  }
757
1037
  }
758
1038
  /** Loads past meetings: the `Meeting Room` conversations the bridge recorded, newest first. */
759
1039
  async loadHistory() {
760
- this.loadingHistory = true;
761
- this.historyRooms = [];
1040
+ this.LoadingHistory = true;
1041
+ this.HistoryRooms = [];
762
1042
  try {
763
1043
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
764
1044
  const res = await rv.RunView({
@@ -770,7 +1050,7 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
770
1050
  ResultType: 'simple',
771
1051
  }, this.ProviderToUse.CurrentUser);
772
1052
  if (res.Success) {
773
- this.historyRooms = res.Results.map((r) => ({
1053
+ this.HistoryRooms = res.Results.map((r) => ({
774
1054
  ConversationID: String(r['ID']),
775
1055
  Name: String(r['Name'] ?? 'Meeting'),
776
1056
  At: new Date(String(r['__mj_UpdatedAt'] ?? '')),
@@ -778,15 +1058,15 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
778
1058
  }
779
1059
  }
780
1060
  finally {
781
- this.loadingHistory = false;
1061
+ this.LoadingHistory = false;
782
1062
  this.cdr.detectChanges();
783
1063
  }
784
1064
  }
785
1065
  /** Opens a past meeting's transcript (drill-in). */
786
- async openTranscript(room) {
787
- this.openHistoryRoom = room;
788
- this.historyTranscript = [];
789
- this.loadingTranscript = true;
1066
+ async OpenTranscript(room) {
1067
+ this.OpenHistoryRoom = room;
1068
+ this.HistoryTranscript = [];
1069
+ this.LoadingTranscript = true;
790
1070
  this.cdr.detectChanges();
791
1071
  try {
792
1072
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
@@ -799,7 +1079,7 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
799
1079
  ResultType: 'simple',
800
1080
  }, this.ProviderToUse.CurrentUser);
801
1081
  if (res.Success) {
802
- this.historyTranscript = res.Results.map((d) => {
1082
+ this.HistoryTranscript = res.Results.map((d) => {
803
1083
  const role = String(d['Role'] ?? 'User');
804
1084
  if (role === 'Error') {
805
1085
  return { Kind: 'error', Speaker: 'Error', Message: String(d['Error'] ?? d['Message'] ?? '') };
@@ -814,64 +1094,88 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
814
1094
  }
815
1095
  }
816
1096
  finally {
817
- this.loadingTranscript = false;
1097
+ this.LoadingTranscript = false;
818
1098
  this.cdr.detectChanges();
819
1099
  }
820
1100
  }
1101
+ /** @deprecated Use {@link OpenTranscript}. */
1102
+ async openTranscript(room) {
1103
+ return this.OpenTranscript(room);
1104
+ }
821
1105
  /** Back to the history list from a transcript drill-in. */
1106
+ CloseTranscript() {
1107
+ this.OpenHistoryRoom = null;
1108
+ }
1109
+ /** @deprecated Use {@link CloseTranscript}. */
822
1110
  closeTranscript() {
823
- this.openHistoryRoom = null;
1111
+ return this.CloseTranscript();
824
1112
  }
825
1113
  /** Formats a meeting timestamp for the history list (avoids a `date` pipe / CommonModule dependency). */
826
- formatTime(d) {
1114
+ FormatTime(d) {
827
1115
  return d && !isNaN(d.getTime()) ? d.toLocaleString() : '';
828
1116
  }
1117
+ /** @deprecated Use {@link FormatTime}. */
1118
+ formatTime(d) {
1119
+ return this.FormatTime(d);
1120
+ }
829
1121
  /** Picker selection handler (native select; avoids a FormsModule dependency). */
1122
+ OnTargetChange(event) {
1123
+ this.SelectedTargetId = event.target.value || null;
1124
+ }
1125
+ /** @deprecated Use {@link OnTargetChange}. */
830
1126
  onTargetChange(event) {
831
- this.selectedTargetId = event.target.value || null;
1127
+ return this.OnTargetChange(event);
832
1128
  }
833
1129
  /** Loads active Realtime models + their voices for the dev pickers (best-effort; empty on failure). */
834
1130
  async loadRealtimeModels() {
835
1131
  try {
836
1132
  const client = new GraphQLLiveKitClient(this.ProviderToUse);
837
- this.realtimeModels = await client.GetRealtimeModelVoices();
1133
+ this.RealtimeModels = await client.GetRealtimeModelVoices();
838
1134
  }
839
1135
  catch {
840
- this.realtimeModels = [];
1136
+ this.RealtimeModels = [];
841
1137
  }
842
1138
  this.cdr.markForCheck();
843
1139
  }
844
1140
  /** Commits the chosen target and switches to the live room. */
845
- startCall() {
846
- if (!this.selectedTargetId) {
1141
+ StartCall() {
1142
+ if (!this.SelectedTargetId) {
847
1143
  return;
848
1144
  }
849
- this.targetAgentId = this.selectedTargetId;
850
- this.targetAgentName = this.agents.find((a) => UUIDsEqual(a.ID, this.selectedTargetId))?.Name ?? null;
851
- this.phase = 'live';
1145
+ this.TargetAgentId = this.SelectedTargetId;
1146
+ this.TargetAgentName = this.Agents.find((a) => UUIDsEqual(a.ID, this.SelectedTargetId))?.Name ?? null;
1147
+ this.Phase = 'live';
1148
+ }
1149
+ /** @deprecated Use {@link StartCall}. */
1150
+ startCall() {
1151
+ return this.StartCall();
852
1152
  }
853
1153
  /** Opens the invite-people dialog for the given room. */
1154
+ OpenInvite(roomName) {
1155
+ this.InviteRoomName = roomName || null;
1156
+ this.UserSearch = '';
1157
+ this.UserResults = [];
1158
+ this.SelectedInvitees = [];
1159
+ this.Searched = false;
1160
+ this.InviteMessage = null;
1161
+ this.ShowInvite = true;
1162
+ }
1163
+ /** @deprecated Use {@link OpenInvite}. */
854
1164
  openInvite(roomName) {
855
- this.inviteRoomName = roomName || null;
856
- this.userSearch = '';
857
- this.userResults = [];
858
- this.selectedInvitees = [];
859
- this.searched = false;
860
- this.inviteMessage = null;
861
- this.showInvite = true;
1165
+ return this.OpenInvite(roomName);
862
1166
  }
863
1167
  /** Searches `MJ: Users` by name/email, excluding the current user + already-selected people. */
864
- async searchUsers() {
865
- const term = this.userSearch.trim();
1168
+ async SearchUsers() {
1169
+ const term = this.UserSearch.trim();
866
1170
  if (!term) {
867
1171
  return;
868
1172
  }
869
- this.searching = true;
1173
+ this.Searching = true;
870
1174
  this.cdr.markForCheck();
871
1175
  try {
872
1176
  const p = this.ProviderToUse;
873
1177
  const escaped = term.replace(/'/g, "''");
874
- const excluded = [p.CurrentUser?.ID, ...this.selectedInvitees.map((u) => u.ID)].filter(Boolean);
1178
+ const excluded = [p.CurrentUser?.ID, ...this.SelectedInvitees.map((u) => u.ID)].filter(Boolean);
875
1179
  const excludeFilter = excluded.length ? ` AND ID NOT IN (${excluded.map((id) => `'${id}'`).join(',')})` : '';
876
1180
  const result = await RunView.FromMetadataProvider(p).RunView({
877
1181
  EntityName: 'Users',
@@ -881,60 +1185,76 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
881
1185
  MaxRows: 20,
882
1186
  ResultType: 'simple',
883
1187
  });
884
- this.userResults = (result.Success ? result.Results : []).map((u) => ({
1188
+ this.UserResults = (result.Success ? result.Results : []).map((u) => ({
885
1189
  ID: u.ID,
886
1190
  Name: u.Name || u.Email || '(unnamed)',
887
1191
  Email: u.Email ?? null,
888
1192
  }));
889
1193
  }
890
1194
  finally {
891
- this.searching = false;
892
- this.searched = true;
1195
+ this.Searching = false;
1196
+ this.Searched = true;
893
1197
  this.cdr.markForCheck();
894
1198
  }
895
1199
  }
1200
+ /** @deprecated Use {@link SearchUsers}. */
1201
+ async searchUsers() {
1202
+ return this.SearchUsers();
1203
+ }
896
1204
  /** Adds a person to the invite list (and out of the results). */
897
- addInvitee(user) {
898
- if (!this.selectedInvitees.some((u) => UUIDsEqual(u.ID, user.ID))) {
899
- this.selectedInvitees = [...this.selectedInvitees, user];
1205
+ AddInvitee(user) {
1206
+ if (!this.SelectedInvitees.some((u) => UUIDsEqual(u.ID, user.ID))) {
1207
+ this.SelectedInvitees = [...this.SelectedInvitees, user];
900
1208
  }
901
- this.userResults = this.userResults.filter((u) => !UUIDsEqual(u.ID, user.ID));
1209
+ this.UserResults = this.UserResults.filter((u) => !UUIDsEqual(u.ID, user.ID));
1210
+ }
1211
+ /** @deprecated Use {@link AddInvitee}. */
1212
+ addInvitee(user) {
1213
+ return this.AddInvitee(user);
902
1214
  }
903
1215
  /** Removes a person from the invite list. */
1216
+ RemoveInvitee(userId) {
1217
+ this.SelectedInvitees = this.SelectedInvitees.filter((u) => !UUIDsEqual(u.ID, userId));
1218
+ }
1219
+ /** @deprecated Use {@link RemoveInvitee}. */
904
1220
  removeInvitee(userId) {
905
- this.selectedInvitees = this.selectedInvitees.filter((u) => !UUIDsEqual(u.ID, userId));
1221
+ return this.RemoveInvitee(userId);
906
1222
  }
907
1223
  /** Sends the invites — the server notifies each person (in-app + Comms when configured). */
908
- async sendInvites() {
909
- if (!this.selectedInvitees.length || !this.inviteRoomName || this.inviting) {
1224
+ async SendInvites() {
1225
+ if (!this.SelectedInvitees.length || !this.InviteRoomName || this.Inviting) {
910
1226
  return;
911
1227
  }
912
- this.inviting = true;
913
- this.inviteMessage = null;
1228
+ this.Inviting = true;
1229
+ this.InviteMessage = null;
914
1230
  this.cdr.markForCheck();
915
1231
  try {
916
1232
  const client = new GraphQLLiveKitClient(this.ProviderToUse);
917
- const ok = await client.InviteUsers(this.inviteRoomName, this.selectedInvitees.map((u) => u.ID));
1233
+ const ok = await client.InviteUsers(this.InviteRoomName, this.SelectedInvitees.map((u) => u.ID));
918
1234
  if (ok) {
919
- this.inviteMessage = `Invited ${this.selectedInvitees.length} ${this.selectedInvitees.length === 1 ? 'person' : 'people'}.`;
920
- this.selectedInvitees = [];
1235
+ this.InviteMessage = `Invited ${this.SelectedInvitees.length} ${this.SelectedInvitees.length === 1 ? 'person' : 'people'}.`;
1236
+ this.SelectedInvitees = [];
921
1237
  setTimeout(() => {
922
- this.showInvite = false;
1238
+ this.ShowInvite = false;
923
1239
  this.cdr.markForCheck();
924
1240
  }, 900);
925
1241
  }
926
1242
  else {
927
- this.inviteMessage = 'Could not send the invites. Please try again.';
1243
+ this.InviteMessage = 'Could not send the invites. Please try again.';
928
1244
  }
929
1245
  }
930
1246
  catch (err) {
931
- this.inviteMessage = err instanceof Error ? err.message : String(err);
1247
+ this.InviteMessage = err instanceof Error ? err.message : String(err);
932
1248
  }
933
1249
  finally {
934
- this.inviting = false;
1250
+ this.Inviting = false;
935
1251
  this.cdr.markForCheck();
936
1252
  }
937
1253
  }
1254
+ /** @deprecated Use {@link SendInvites}. */
1255
+ async sendInvites() {
1256
+ return this.SendInvites();
1257
+ }
938
1258
  ngAfterViewInit() {
939
1259
  // Clear the shell loading screen even if resolution is slow — the picker/room/message shows its own
940
1260
  // state, so the loader must not hang on direct URL navigation.