@memberjunction/server 6.2.0-edge.2 → 6.2.0-edge.4

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 (435) hide show
  1. package/README.md +30 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/agentSessions/BridgeHostInstance.d.ts +25 -0
  4. package/dist/agentSessions/BridgeHostInstance.d.ts.map +1 -0
  5. package/dist/agentSessions/BridgeHostInstance.js +30 -0
  6. package/dist/agentSessions/BridgeHostInstance.js.map +1 -0
  7. package/dist/agentSessions/HostInstance.d.ts +75 -11
  8. package/dist/agentSessions/HostInstance.d.ts.map +1 -1
  9. package/dist/agentSessions/HostInstance.js +99 -28
  10. package/dist/agentSessions/HostInstance.js.map +1 -1
  11. package/dist/agentSessions/ReturningVisitorRecap.d.ts.map +1 -1
  12. package/dist/agentSessions/ReturningVisitorRecap.js +7 -3
  13. package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
  14. package/dist/agentSessions/SessionJanitor.d.ts +173 -25
  15. package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
  16. package/dist/agentSessions/SessionJanitor.js +452 -54
  17. package/dist/agentSessions/SessionJanitor.js.map +1 -1
  18. package/dist/agentSessions/SessionManager.d.ts +43 -2
  19. package/dist/agentSessions/SessionManager.d.ts.map +1 -1
  20. package/dist/agentSessions/SessionManager.js +99 -8
  21. package/dist/agentSessions/SessionManager.js.map +1 -1
  22. package/dist/agentSessions/SessionRunIDVerifier.d.ts +63 -0
  23. package/dist/agentSessions/SessionRunIDVerifier.d.ts.map +1 -0
  24. package/dist/agentSessions/SessionRunIDVerifier.js +129 -0
  25. package/dist/agentSessions/SessionRunIDVerifier.js.map +1 -0
  26. package/dist/agentSessions/index.d.ts +2 -0
  27. package/dist/agentSessions/index.d.ts.map +1 -1
  28. package/dist/agentSessions/index.js +10 -3
  29. package/dist/agentSessions/index.js.map +1 -1
  30. package/dist/auth/actionAuthorization.d.ts +40 -0
  31. package/dist/auth/actionAuthorization.d.ts.map +1 -0
  32. package/dist/auth/actionAuthorization.js +94 -0
  33. package/dist/auth/actionAuthorization.js.map +1 -0
  34. package/dist/auth/index.d.ts.map +1 -1
  35. package/dist/auth/index.js +3 -10
  36. package/dist/auth/index.js.map +1 -1
  37. package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
  38. package/dist/auth/magicLink/MagicLinkService.js +6 -3
  39. package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
  40. package/dist/auth/newUsers.d.ts +10 -0
  41. package/dist/auth/newUsers.d.ts.map +1 -1
  42. package/dist/auth/newUsers.js +80 -11
  43. package/dist/auth/newUsers.js.map +1 -1
  44. package/dist/config.d.ts +4567 -71
  45. package/dist/config.d.ts.map +1 -1
  46. package/dist/config.js +246 -3
  47. package/dist/config.js.map +1 -1
  48. package/dist/context.d.ts +8 -0
  49. package/dist/context.d.ts.map +1 -1
  50. package/dist/context.js +25 -34
  51. package/dist/context.js.map +1 -1
  52. package/dist/generated/graphql-schemas/__mj.d.ts +1073 -10
  53. package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
  54. package/dist/generated/graphql-schemas/__mj.js +9188 -3649
  55. package/dist/generated/graphql-schemas/__mj.js.map +1 -1
  56. package/dist/generic/OrphanedConversationDetailReconciler.js +3 -3
  57. package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
  58. package/dist/generic/ResolverBase.d.ts +62 -6
  59. package/dist/generic/ResolverBase.d.ts.map +1 -1
  60. package/dist/generic/ResolverBase.js +179 -35
  61. package/dist/generic/ResolverBase.js.map +1 -1
  62. package/dist/generic/RunViewResolver.d.ts +4 -0
  63. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  64. package/dist/generic/RunViewResolver.js +37 -1
  65. package/dist/generic/RunViewResolver.js.map +1 -1
  66. package/dist/index.d.ts +7 -0
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +214 -159
  69. package/dist/index.js.map +1 -1
  70. package/dist/isolatedProvider.d.ts +20 -0
  71. package/dist/isolatedProvider.d.ts.map +1 -0
  72. package/dist/isolatedProvider.js +22 -0
  73. package/dist/isolatedProvider.js.map +1 -0
  74. package/dist/postgresqlCompat.d.ts +8 -0
  75. package/dist/postgresqlCompat.d.ts.map +1 -0
  76. package/dist/postgresqlCompat.js +19 -0
  77. package/dist/postgresqlCompat.js.map +1 -0
  78. package/dist/postgresqlPoolSettings.d.ts +108 -0
  79. package/dist/postgresqlPoolSettings.d.ts.map +1 -0
  80. package/dist/postgresqlPoolSettings.js +134 -0
  81. package/dist/postgresqlPoolSettings.js.map +1 -0
  82. package/dist/realtimeProxy/RealtimeProxyServer.d.ts +44 -4
  83. package/dist/realtimeProxy/RealtimeProxyServer.d.ts.map +1 -1
  84. package/dist/realtimeProxy/RealtimeProxyServer.js +121 -16
  85. package/dist/realtimeProxy/RealtimeProxyServer.js.map +1 -1
  86. package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts +171 -0
  87. package/dist/realtimeProxy/RealtimeRelayTunnel.d.ts.map +1 -0
  88. package/dist/realtimeProxy/RealtimeRelayTunnel.js +532 -0
  89. package/dist/realtimeProxy/RealtimeRelayTunnel.js.map +1 -0
  90. package/dist/realtimeSessions/RealtimeSessionEventService.d.ts +148 -0
  91. package/dist/realtimeSessions/RealtimeSessionEventService.d.ts.map +1 -0
  92. package/dist/realtimeSessions/RealtimeSessionEventService.js +191 -0
  93. package/dist/realtimeSessions/RealtimeSessionEventService.js.map +1 -0
  94. package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts +66 -0
  95. package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -0
  96. package/dist/realtimeSessions/RealtimeSessionVerificationService.js +138 -0
  97. package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -0
  98. package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts +38 -0
  99. package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -0
  100. package/dist/realtimeSessions/RealtimeVerifyRouter.js +98 -0
  101. package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -0
  102. package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts +61 -0
  103. package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -0
  104. package/dist/realtimeSessions/SessionVerificationPortsBase.js +149 -0
  105. package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -0
  106. package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts +57 -0
  107. package/dist/realtimeSessions/SlidingWindowRateLimiter.d.ts.map +1 -0
  108. package/dist/realtimeSessions/SlidingWindowRateLimiter.js +69 -0
  109. package/dist/realtimeSessions/SlidingWindowRateLimiter.js.map +1 -0
  110. package/dist/realtimeSessions/index.d.ts +17 -0
  111. package/dist/realtimeSessions/index.d.ts.map +1 -0
  112. package/dist/realtimeSessions/index.js +17 -0
  113. package/dist/realtimeSessions/index.js.map +1 -0
  114. package/dist/realtimeSessions/sessionAccess.d.ts +86 -0
  115. package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -0
  116. package/dist/realtimeSessions/sessionAccess.js +90 -0
  117. package/dist/realtimeSessions/sessionAccess.js.map +1 -0
  118. package/dist/realtimeSessions/sessionConfigStamps.d.ts +70 -0
  119. package/dist/realtimeSessions/sessionConfigStamps.d.ts.map +1 -0
  120. package/dist/realtimeSessions/sessionConfigStamps.js +93 -0
  121. package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -0
  122. package/dist/realtimeSessions/subscriptionAuthorization.d.ts +65 -0
  123. package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -0
  124. package/dist/realtimeSessions/subscriptionAuthorization.js +71 -0
  125. package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -0
  126. package/dist/realtimeSessions/verificationCore.d.ts +243 -0
  127. package/dist/realtimeSessions/verificationCore.d.ts.map +1 -0
  128. package/dist/realtimeSessions/verificationCore.js +356 -0
  129. package/dist/realtimeSessions/verificationCore.js.map +1 -0
  130. package/dist/realtimeSessions/verificationPages.d.ts +66 -0
  131. package/dist/realtimeSessions/verificationPages.d.ts.map +1 -0
  132. package/dist/realtimeSessions/verificationPages.js +110 -0
  133. package/dist/realtimeSessions/verificationPages.js.map +1 -0
  134. package/dist/realtimeSessions/verificationPolicy.d.ts +147 -0
  135. package/dist/realtimeSessions/verificationPolicy.d.ts.map +1 -0
  136. package/dist/realtimeSessions/verificationPolicy.js +249 -0
  137. package/dist/realtimeSessions/verificationPolicy.js.map +1 -0
  138. package/dist/realtimeSessions/verificationWorkflow.d.ts +263 -0
  139. package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -0
  140. package/dist/realtimeSessions/verificationWorkflow.js +435 -0
  141. package/dist/realtimeSessions/verificationWorkflow.js.map +1 -0
  142. package/dist/realtimeWidget/widgetGuestElevation.d.ts +20 -2
  143. package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
  144. package/dist/realtimeWidget/widgetGuestElevation.js +31 -2
  145. package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
  146. package/dist/resolvers/ActionResolver.d.ts +31 -5
  147. package/dist/resolvers/ActionResolver.d.ts.map +1 -1
  148. package/dist/resolvers/ActionResolver.js +75 -14
  149. package/dist/resolvers/ActionResolver.js.map +1 -1
  150. package/dist/resolvers/AdhocQueryResolver.d.ts +35 -17
  151. package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
  152. package/dist/resolvers/AdhocQueryResolver.js +92 -166
  153. package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
  154. package/dist/resolvers/CacheStatsResolver.d.ts +27 -0
  155. package/dist/resolvers/CacheStatsResolver.d.ts.map +1 -1
  156. package/dist/resolvers/CacheStatsResolver.js +113 -2
  157. package/dist/resolvers/CacheStatsResolver.js.map +1 -1
  158. package/dist/resolvers/ClientToolRequestResolver.d.ts +4 -2
  159. package/dist/resolvers/ClientToolRequestResolver.d.ts.map +1 -1
  160. package/dist/resolvers/ClientToolRequestResolver.js +28 -10
  161. package/dist/resolvers/ClientToolRequestResolver.js.map +1 -1
  162. package/dist/resolvers/EntityRecordNameResolver.d.ts +7 -23
  163. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
  164. package/dist/resolvers/EntityRecordNameResolver.js +9 -47
  165. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
  166. package/dist/resolvers/FetchEntityVectorsResolver.d.ts +12 -1
  167. package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
  168. package/dist/resolvers/FetchEntityVectorsResolver.js +83 -2
  169. package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
  170. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  171. package/dist/resolvers/GetDataResolver.js +9 -0
  172. package/dist/resolvers/GetDataResolver.js.map +1 -1
  173. package/dist/resolvers/HumanHandoffResolver.d.ts +107 -0
  174. package/dist/resolvers/HumanHandoffResolver.d.ts.map +1 -0
  175. package/dist/resolvers/HumanHandoffResolver.js +330 -0
  176. package/dist/resolvers/HumanHandoffResolver.js.map +1 -0
  177. package/dist/resolvers/MCPResolver.d.ts.map +1 -1
  178. package/dist/resolvers/MCPResolver.js +9 -4
  179. package/dist/resolvers/MCPResolver.js.map +1 -1
  180. package/dist/resolvers/MeetingResolver.d.ts +69 -0
  181. package/dist/resolvers/MeetingResolver.d.ts.map +1 -0
  182. package/dist/resolvers/MeetingResolver.js +381 -0
  183. package/dist/resolvers/MeetingResolver.js.map +1 -0
  184. package/dist/resolvers/RealtimeBridgeResolver.d.ts +88 -3
  185. package/dist/resolvers/RealtimeBridgeResolver.d.ts.map +1 -1
  186. package/dist/resolvers/RealtimeBridgeResolver.js +352 -12
  187. package/dist/resolvers/RealtimeBridgeResolver.js.map +1 -1
  188. package/dist/resolvers/RealtimeClientSessionResolver.d.ts +156 -108
  189. package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
  190. package/dist/resolvers/RealtimeClientSessionResolver.js +395 -293
  191. package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
  192. package/dist/resolvers/RealtimeSessionEventsResolver.d.ts +61 -0
  193. package/dist/resolvers/RealtimeSessionEventsResolver.d.ts.map +1 -0
  194. package/dist/resolvers/RealtimeSessionEventsResolver.js +130 -0
  195. package/dist/resolvers/RealtimeSessionEventsResolver.js.map +1 -0
  196. package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts +85 -0
  197. package/dist/resolvers/RealtimeSessionVerificationResolver.d.ts.map +1 -0
  198. package/dist/resolvers/RealtimeSessionVerificationResolver.js +188 -0
  199. package/dist/resolvers/RealtimeSessionVerificationResolver.js.map +1 -0
  200. package/dist/resolvers/RemoteBrowserActionResolver.d.ts +2 -0
  201. package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
  202. package/dist/resolvers/RemoteBrowserActionResolver.js +5 -1
  203. package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
  204. package/dist/resolvers/RunAIAgentResolver.d.ts +10 -0
  205. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  206. package/dist/resolvers/RunAIAgentResolver.js +68 -11
  207. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  208. package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
  209. package/dist/resolvers/RunTemplateResolver.js +12 -11
  210. package/dist/resolvers/RunTemplateResolver.js.map +1 -1
  211. package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
  212. package/dist/resolvers/SyncDataResolver.js +6 -2
  213. package/dist/resolvers/SyncDataResolver.js.map +1 -1
  214. package/dist/resolvers/SyncRolesUsersResolver.d.ts +2 -0
  215. package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
  216. package/dist/resolvers/SyncRolesUsersResolver.js +23 -6
  217. package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
  218. package/dist/resolvers/UserAvatarResolver.d.ts +16 -0
  219. package/dist/resolvers/UserAvatarResolver.d.ts.map +1 -0
  220. package/dist/resolvers/UserAvatarResolver.js +124 -0
  221. package/dist/resolvers/UserAvatarResolver.js.map +1 -0
  222. package/dist/resolvers/UserResolver.d.ts.map +1 -1
  223. package/dist/resolvers/UserResolver.js +2 -17
  224. package/dist/resolvers/UserResolver.js.map +1 -1
  225. package/dist/resolvers/adhocTimeout.d.ts +7 -0
  226. package/dist/resolvers/adhocTimeout.d.ts.map +1 -0
  227. package/dist/resolvers/adhocTimeout.js +12 -0
  228. package/dist/resolvers/adhocTimeout.js.map +1 -0
  229. package/dist/resolvers/agentVisionConsentAudit.d.ts +37 -0
  230. package/dist/resolvers/agentVisionConsentAudit.d.ts.map +1 -0
  231. package/dist/resolvers/agentVisionConsentAudit.js +63 -0
  232. package/dist/resolvers/agentVisionConsentAudit.js.map +1 -0
  233. package/dist/resolvers/avatarInputValidation.d.ts +40 -0
  234. package/dist/resolvers/avatarInputValidation.d.ts.map +1 -0
  235. package/dist/resolvers/avatarInputValidation.js +97 -0
  236. package/dist/resolvers/avatarInputValidation.js.map +1 -0
  237. package/dist/resolvers/currentUserRoles.d.ts +29 -0
  238. package/dist/resolvers/currentUserRoles.d.ts.map +1 -1
  239. package/dist/resolvers/currentUserRoles.js +30 -0
  240. package/dist/resolvers/currentUserRoles.js.map +1 -1
  241. package/dist/resolvers/meetings/index.d.ts +5 -0
  242. package/dist/resolvers/meetings/index.d.ts.map +1 -0
  243. package/dist/resolvers/meetings/index.js +5 -0
  244. package/dist/resolvers/meetings/index.js.map +1 -0
  245. package/dist/resolvers/meetings/meetingHelpers.d.ts +17 -0
  246. package/dist/resolvers/meetings/meetingHelpers.d.ts.map +1 -0
  247. package/dist/resolvers/meetings/meetingHelpers.js +212 -0
  248. package/dist/resolvers/meetings/meetingHelpers.js.map +1 -0
  249. package/dist/resolvers/meetings/meetingMutations.d.ts +18 -0
  250. package/dist/resolvers/meetings/meetingMutations.d.ts.map +1 -0
  251. package/dist/resolvers/meetings/meetingMutations.js +439 -0
  252. package/dist/resolvers/meetings/meetingMutations.js.map +1 -0
  253. package/dist/resolvers/meetings/meetingQueries.d.ts +7 -0
  254. package/dist/resolvers/meetings/meetingQueries.d.ts.map +1 -0
  255. package/dist/resolvers/meetings/meetingQueries.js +113 -0
  256. package/dist/resolvers/meetings/meetingQueries.js.map +1 -0
  257. package/dist/resolvers/meetings/meetingTypes.d.ts +89 -0
  258. package/dist/resolvers/meetings/meetingTypes.d.ts.map +1 -0
  259. package/dist/resolvers/meetings/meetingTypes.js +345 -0
  260. package/dist/resolvers/meetings/meetingTypes.js.map +1 -0
  261. package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
  262. package/dist/rest/ViewOperationsHandler.js +8 -5
  263. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  264. package/dist/services/TaskGraphActionRunner.d.ts +8 -0
  265. package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
  266. package/dist/services/TaskGraphActionRunner.js +27 -1
  267. package/dist/services/TaskGraphActionRunner.js.map +1 -1
  268. package/dist/services/TaskGraphContinuationDeliverer.d.ts +4 -3
  269. package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
  270. package/dist/services/TaskGraphContinuationDeliverer.js +13 -7
  271. package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
  272. package/dist/services/WorkQueueHostService.d.ts +36 -0
  273. package/dist/services/WorkQueueHostService.d.ts.map +1 -0
  274. package/dist/services/WorkQueueHostService.js +97 -0
  275. package/dist/services/WorkQueueHostService.js.map +1 -0
  276. package/dist/services/workQueueConfig.d.ts +103 -0
  277. package/dist/services/workQueueConfig.d.ts.map +1 -0
  278. package/dist/services/workQueueConfig.js +48 -0
  279. package/dist/services/workQueueConfig.js.map +1 -0
  280. package/dist/sharedCache.d.ts +105 -0
  281. package/dist/sharedCache.d.ts.map +1 -0
  282. package/dist/sharedCache.js +276 -0
  283. package/dist/sharedCache.js.map +1 -0
  284. package/dist/types.d.ts +11 -0
  285. package/dist/types.d.ts.map +1 -1
  286. package/dist/types.js.map +1 -1
  287. package/package.json +97 -94
  288. package/src/__tests__/ActionResolver.authorization.test.ts +353 -0
  289. package/src/__tests__/AdhocQueryResolver.bugs.test.ts +14 -35
  290. package/src/__tests__/AdhocQueryResolver.pagination.test.ts +6 -2
  291. package/src/__tests__/AdhocQueryResolver.scopeGuard.test.ts +3 -3
  292. package/src/__tests__/AdhocQueryResolver.sqlAuthorizer.test.ts +104 -0
  293. package/src/__tests__/BridgeHostInstance.test.ts +232 -0
  294. package/src/__tests__/ClientToolRequestResolver.test.ts +116 -0
  295. package/src/__tests__/EntityRecordNameResolver.fieldSecurity.test.ts +27 -72
  296. package/src/__tests__/FetchEntityVectorsResolver.test.ts +285 -0
  297. package/src/__tests__/HostInstance.test.ts +84 -0
  298. package/src/__tests__/HumanHandoffResolver.test.ts +250 -0
  299. package/src/__tests__/MeetingResolver.test.ts +448 -0
  300. package/src/__tests__/RealtimeBridgeResolver.test.ts +651 -4
  301. package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +383 -0
  302. package/src/__tests__/RealtimeClientSessionResolver.test.ts +682 -58
  303. package/src/__tests__/RealtimeProxyServer.test.ts +16 -1
  304. package/src/__tests__/RealtimeRelay.test.ts +876 -0
  305. package/src/__tests__/RemoteBrowserActionResolver.goalRunLink.test.ts +129 -0
  306. package/src/__tests__/ResolverBase.adhocReadScope.test.ts +96 -0
  307. package/src/__tests__/ResolverBase.aggregateScreen.test.ts +174 -0
  308. package/src/__tests__/ResolverBase.clientOldValues.test.ts +6 -3
  309. package/src/__tests__/ResolverBase.filterEscaping.test.ts +21 -2
  310. package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +291 -0
  311. package/src/__tests__/ReturningVisitorRecap.test.ts +115 -0
  312. package/src/__tests__/RunAIAgentResolver.branch.test.ts +169 -0
  313. package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +4 -4
  314. package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +166 -0
  315. package/src/__tests__/RunTemplateResolver.test.ts +132 -0
  316. package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +63 -0
  317. package/src/__tests__/SessionJanitor.test.ts +845 -18
  318. package/src/__tests__/SessionManager.test.ts +213 -17
  319. package/src/__tests__/SessionRunIDVerifier.test.ts +251 -0
  320. package/src/__tests__/SyncRolesUsersResolver.userRoles.test.ts +97 -0
  321. package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +41 -0
  322. package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +50 -3
  323. package/src/__tests__/UserAvatarResolver.test.ts +255 -0
  324. package/src/__tests__/UserResolver.currentUser.test.ts +16 -1
  325. package/src/__tests__/WorkQueueHostService.test.ts +133 -0
  326. package/src/__tests__/actionAuthorization.test.ts +130 -0
  327. package/src/__tests__/adhocTimeoutClamp.test.ts +26 -0
  328. package/src/__tests__/agentVisionConsentAudit.test.ts +118 -0
  329. package/src/__tests__/avatarInputValidation.test.ts +160 -0
  330. package/src/__tests__/isolatedProviderTransactions.test.ts +169 -0
  331. package/src/__tests__/magicLinkService.consume.test.ts +6 -0
  332. package/src/__tests__/magicLinkService.provisionLog.test.ts +5 -0
  333. package/src/__tests__/newUsers.template.test.ts +151 -0
  334. package/src/__tests__/newUsers.test.ts +74 -5
  335. package/src/__tests__/orphanedConversationDetailReconciler.test.ts +17 -2
  336. package/src/__tests__/postgresqlPoolSettings.test.ts +131 -0
  337. package/src/__tests__/realtimeSessions/RealtimeSessionEventService.test.ts +201 -0
  338. package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +215 -0
  339. package/src/__tests__/realtimeSessions/RealtimeSessionVerificationResolver.test.ts +102 -0
  340. package/src/__tests__/realtimeSessions/RealtimeSessionVerificationService.test.ts +349 -0
  341. package/src/__tests__/realtimeSessions/RealtimeVerifyRouter.test.ts +131 -0
  342. package/src/__tests__/realtimeSessions/SlidingWindowRateLimiter.test.ts +56 -0
  343. package/src/__tests__/realtimeSessions/helpers.ts +4 -0
  344. package/src/__tests__/realtimeSessions/sessionAccess.test.ts +129 -0
  345. package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +124 -0
  346. package/src/__tests__/realtimeSessions/verificationCore.test.ts +355 -0
  347. package/src/__tests__/realtimeSessions/verificationPages.test.ts +84 -0
  348. package/src/__tests__/realtimeSessions/verificationPolicy.test.ts +226 -0
  349. package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +633 -0
  350. package/src/__tests__/resolverBase.fls.test.ts +87 -4
  351. package/src/__tests__/serverExtensionReservedRoots.test.ts +2 -0
  352. package/src/__tests__/sharedCache.test.ts +310 -0
  353. package/src/__tests__/translateBracketsToPG.test.ts +20 -0
  354. package/src/__tests__/widgetGuestElevation.test.ts +44 -0
  355. package/src/agentSessions/BridgeHostInstance.ts +32 -0
  356. package/src/agentSessions/HostInstance.ts +124 -28
  357. package/src/agentSessions/ReturningVisitorRecap.ts +7 -3
  358. package/src/agentSessions/SessionJanitor.ts +543 -57
  359. package/src/agentSessions/SessionManager.ts +125 -25
  360. package/src/agentSessions/SessionRunIDVerifier.ts +171 -0
  361. package/src/agentSessions/index.ts +10 -3
  362. package/src/auth/actionAuthorization.ts +116 -0
  363. package/src/auth/index.ts +3 -8
  364. package/src/auth/magicLink/MagicLinkService.ts +6 -3
  365. package/src/auth/newUsers.ts +99 -11
  366. package/src/config.ts +255 -3
  367. package/src/context.ts +26 -34
  368. package/src/generated/graphql-schemas/__mj.ts +22701 -18838
  369. package/src/generic/OrphanedConversationDetailReconciler.ts +3 -3
  370. package/src/generic/ResolverBase.ts +210 -36
  371. package/src/generic/RunViewResolver.ts +37 -2
  372. package/src/index.ts +236 -170
  373. package/src/isolatedProvider.ts +22 -0
  374. package/src/postgresqlCompat.ts +21 -0
  375. package/src/postgresqlPoolSettings.ts +213 -0
  376. package/src/realtimeProxy/RealtimeProxyServer.ts +148 -16
  377. package/src/realtimeProxy/RealtimeRelayTunnel.ts +645 -0
  378. package/src/realtimeSessions/README.md +179 -0
  379. package/src/realtimeSessions/RealtimeSessionEventService.ts +274 -0
  380. package/src/realtimeSessions/RealtimeSessionVerificationService.ts +167 -0
  381. package/src/realtimeSessions/RealtimeVerifyRouter.ts +108 -0
  382. package/src/realtimeSessions/SessionVerificationPortsBase.ts +189 -0
  383. package/src/realtimeSessions/SlidingWindowRateLimiter.ts +92 -0
  384. package/src/realtimeSessions/index.ts +16 -0
  385. package/src/realtimeSessions/sessionAccess.ts +141 -0
  386. package/src/realtimeSessions/sessionConfigStamps.ts +123 -0
  387. package/src/realtimeSessions/subscriptionAuthorization.ts +116 -0
  388. package/src/realtimeSessions/verificationCore.ts +502 -0
  389. package/src/realtimeSessions/verificationPages.ts +149 -0
  390. package/src/realtimeSessions/verificationPolicy.ts +321 -0
  391. package/src/realtimeSessions/verificationWorkflow.ts +702 -0
  392. package/src/realtimeWidget/widgetGuestElevation.ts +34 -2
  393. package/src/resolvers/ActionResolver.ts +84 -21
  394. package/src/resolvers/AdhocQueryResolver.ts +105 -187
  395. package/src/resolvers/CacheStatsResolver.ts +89 -2
  396. package/src/resolvers/ClientToolRequestResolver.ts +25 -7
  397. package/src/resolvers/EntityRecordNameResolver.ts +9 -51
  398. package/src/resolvers/FetchEntityVectorsResolver.ts +97 -2
  399. package/src/resolvers/GetDataResolver.ts +10 -0
  400. package/src/resolvers/HumanHandoffResolver.ts +312 -0
  401. package/src/resolvers/MCPResolver.ts +8 -5
  402. package/src/resolvers/MeetingResolver.ts +438 -0
  403. package/src/resolvers/RealtimeBridgeResolver.ts +385 -19
  404. package/src/resolvers/RealtimeClientSessionResolver.ts +503 -344
  405. package/src/resolvers/RealtimeSessionEventsResolver.ts +133 -0
  406. package/src/resolvers/RealtimeSessionVerificationResolver.ts +174 -0
  407. package/src/resolvers/RemoteBrowserActionResolver.ts +11 -1
  408. package/src/resolvers/RunAIAgentResolver.ts +78 -11
  409. package/src/resolvers/RunTemplateResolver.ts +13 -12
  410. package/src/resolvers/SyncDataResolver.ts +6 -2
  411. package/src/resolvers/SyncRolesUsersResolver.ts +24 -6
  412. package/src/resolvers/UserAvatarResolver.ts +111 -0
  413. package/src/resolvers/UserResolver.ts +2 -16
  414. package/src/resolvers/adhocTimeout.ts +12 -0
  415. package/src/resolvers/agentVisionConsentAudit.ts +82 -0
  416. package/src/resolvers/avatarInputValidation.ts +123 -0
  417. package/src/resolvers/currentUserRoles.ts +32 -1
  418. package/src/resolvers/meetings/index.ts +4 -0
  419. package/src/resolvers/meetings/meetingHelpers.ts +307 -0
  420. package/src/resolvers/meetings/meetingMutations.ts +556 -0
  421. package/src/resolvers/meetings/meetingQueries.ts +172 -0
  422. package/src/resolvers/meetings/meetingTypes.ts +238 -0
  423. package/src/rest/ViewOperationsHandler.ts +8 -5
  424. package/src/services/TaskGraphActionRunner.ts +29 -1
  425. package/src/services/TaskGraphContinuationDeliverer.ts +13 -7
  426. package/src/services/WorkQueueHostService.ts +129 -0
  427. package/src/services/workQueueConfig.ts +52 -0
  428. package/src/sharedCache.ts +302 -0
  429. package/src/types.ts +12 -0
  430. package/dist/resolvers/adhoc-query-helpers.d.ts +0 -33
  431. package/dist/resolvers/adhoc-query-helpers.d.ts.map +0 -1
  432. package/dist/resolvers/adhoc-query-helpers.js +0 -50
  433. package/dist/resolvers/adhoc-query-helpers.js.map +0 -1
  434. package/src/__tests__/adhoc-query-helpers.test.ts +0 -50
  435. package/src/resolvers/adhoc-query-helpers.ts +0 -67
@@ -0,0 +1,69 @@
1
+ import { IMetadataProvider } from '@memberjunction/core';
2
+ import type { MJMeetingEntity, MJMeetingParticipantEntity, MJPhoneNumberEntity, MJInteractionEntity, MJInteractionEventEntity } from '@memberjunction/core-entities';
3
+ import { AppContext } from '../types.js';
4
+ import { ResolverBase } from '../generic/ResolverBase.js';
5
+ import { SessionManager } from '../agentSessions/SessionManager.js';
6
+ import { MeetingParticipantType, MeetingType, MeetingResult, StartMeetingResult, DialInPhoneNumberType, CreateMeetingInput, UpdateMeetingInput, RSVPMeetingInput } from './meetings/meetingTypes.js';
7
+ import { type MeetingHelpers } from './meetings/meetingMutations.js';
8
+ export * from './meetings/index.js';
9
+ export declare class MeetingResolver extends ResolverBase {
10
+ protected readonly sessionManager: SessionManager;
11
+ /**
12
+ * Lists meetings accessible to the caller (meetings where user is host or participant).
13
+ */
14
+ MyMeetings(status?: string, context?: AppContext): Promise<MeetingType[]>;
15
+ /**
16
+ * Gets a single meeting by ID.
17
+ */
18
+ Meeting(id: string, context?: AppContext): Promise<MeetingType | null>;
19
+ /**
20
+ * Gets participants for a given meeting.
21
+ */
22
+ MeetingParticipants(meetingID: string, context?: AppContext): Promise<MeetingParticipantType[]>;
23
+ /**
24
+ * Lists available active phone numbers suitable for dial-in.
25
+ */
26
+ AvailableDialInPhoneNumbers(context?: AppContext): Promise<DialInPhoneNumberType[]>;
27
+ /**
28
+ * Creates and schedules a new meeting.
29
+ */
30
+ CreateMeeting(input: CreateMeetingInput, context?: AppContext): Promise<MeetingResult>;
31
+ /**
32
+ * Updates meeting details and participant list. Host or CoHost only.
33
+ */
34
+ UpdateMeeting(input: UpdateMeetingInput, context?: AppContext): Promise<MeetingResult>;
35
+ /**
36
+ * Starts a meeting: transitions status to 'Live', creates or connects to the
37
+ * meeting Interaction record, launches configured AI agents, initiates recording
38
+ * if configured as Automatic, and returns a LiveKit client token for the caller.
39
+ */
40
+ StartMeeting(meetingID: string, context?: AppContext): Promise<StartMeetingResult>;
41
+ /**
42
+ * Ends a meeting: transitions status to 'Ended', stops all agents in the room,
43
+ * closes the Interaction record, and records lifecycle events.
44
+ */
45
+ EndMeeting(meetingID: string, context?: AppContext): Promise<MeetingResult>;
46
+ /**
47
+ * Cancels a scheduled meeting.
48
+ */
49
+ CancelMeeting(meetingID: string, context?: AppContext): Promise<MeetingResult>;
50
+ /**
51
+ * Updates RSVP invite status for the authenticated user.
52
+ */
53
+ RSVPMeeting(input: RSVPMeetingInput, context?: AppContext): Promise<MeetingResult>;
54
+ protected getHelperOverrides(): Partial<MeetingHelpers>;
55
+ protected loadMeetingEntity(id: string, user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<MJMeetingEntity | null>;
56
+ protected loadParticipants(meetingID: string, user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<MeetingParticipantType[]>;
57
+ protected isUserHostOrCoHost(meeting: MJMeetingEntity, user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<boolean>;
58
+ protected resolveDefaultPhoneNumber(user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<MJPhoneNumberEntity | null>;
59
+ protected generateUniqueDialInCode(phoneNumberID: string, user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<string | undefined>;
60
+ protected ensureMeetingInteraction(meeting: MJMeetingEntity, user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<MJInteractionEntity | null>;
61
+ protected recordInteractionEvent(interactionID: string, eventType: MJInteractionEventEntity['EventType'], user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider, details?: Record<string, unknown>): Promise<void>;
62
+ protected closeMeetingInteraction(roomName: string, user: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<void>;
63
+ protected sendMeetingInviteNotification(meeting: MJMeetingEntity, targetUserID: string, contextUser: import('@memberjunction/core').UserInfo, provider: IMetadataProvider): Promise<void>;
64
+ protected normalizeParticipantRole(roleInput?: string, defaultRole?: MJMeetingParticipantEntity['Role']): MJMeetingParticipantEntity['Role'];
65
+ protected normalizeRecordingPolicy(policyInput?: string): MJMeetingEntity['RecordingPolicy'];
66
+ protected mapMeetingToType(m: MJMeetingEntity, participants?: MeetingParticipantType[]): MeetingType;
67
+ protected mapParticipantToType(p: MJMeetingParticipantEntity, userNameFallback?: string | null, userEmailFallback?: string | null): MeetingParticipantType;
68
+ }
69
+ //# sourceMappingURL=MeetingResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeetingResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/MeetingResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,381 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Resolver, Mutation, Query, Arg, Ctx } from 'type-graphql';
14
+ import { LogError, } from '@memberjunction/core';
15
+ import { ResolverBase } from '../generic/ResolverBase.js';
16
+ import { GetReadWriteProvider } from '../util.js';
17
+ import { SessionManager } from '../agentSessions/SessionManager.js';
18
+ import { MeetingParticipantType, MeetingType, MeetingResult, StartMeetingResult, DialInPhoneNumberType, CreateMeetingInput, UpdateMeetingInput, RSVPMeetingInput, } from './meetings/meetingTypes.js';
19
+ import { LoadMeetingEntity, LoadParticipants, IsUserHostOrCoHost, ResolveDefaultPhoneNumber, GenerateUniqueDialInCode, EnsureMeetingInteraction, RecordInteractionEvent, CloseMeetingInteraction, SendMeetingInviteNotification, NormalizeParticipantRole, NormalizeRecordingPolicy, MapMeetingToType, MapParticipantToType, } from './meetings/meetingHelpers.js';
20
+ import { ExecuteMyMeetings, ExecuteMeeting, ExecuteMeetingParticipants, ExecuteAvailableDialInPhoneNumbers, } from './meetings/meetingQueries.js';
21
+ import { ExecuteCreateMeeting, ExecuteUpdateMeeting, ExecuteStartMeeting, ExecuteEndMeeting, ExecuteCancelMeeting, ExecuteRSVPMeeting, } from './meetings/meetingMutations.js';
22
+ // Re-export all meeting types and helpers for external consumers
23
+ export * from './meetings/index.js';
24
+ let MeetingResolver = class MeetingResolver extends ResolverBase {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.sessionManager = new SessionManager();
28
+ }
29
+ // ── Queries ──────────────────────────────────────────────────────────────────
30
+ /**
31
+ * Lists meetings accessible to the caller (meetings where user is host or participant).
32
+ */
33
+ async MyMeetings(status, context = {}) {
34
+ try {
35
+ const user = this.GetUserFromPayload(context.userPayload);
36
+ if (!user) {
37
+ throw new Error('User is not authenticated.');
38
+ }
39
+ const provider = GetReadWriteProvider(context.providers);
40
+ if (!provider) {
41
+ throw new Error('Database provider is not available.');
42
+ }
43
+ return await ExecuteMyMeetings(provider, user, status);
44
+ }
45
+ catch (error) {
46
+ LogError(`[MeetingResolver] MyMeetings failed: ${error instanceof Error ? error.message : String(error)}`);
47
+ return [];
48
+ }
49
+ }
50
+ /**
51
+ * Gets a single meeting by ID.
52
+ */
53
+ async Meeting(id, context = {}) {
54
+ try {
55
+ const user = this.GetUserFromPayload(context.userPayload);
56
+ if (!user) {
57
+ throw new Error('User is not authenticated.');
58
+ }
59
+ const provider = GetReadWriteProvider(context.providers);
60
+ if (!provider) {
61
+ throw new Error('Database provider is not available.');
62
+ }
63
+ return await ExecuteMeeting(provider, user, id);
64
+ }
65
+ catch (error) {
66
+ LogError(`[MeetingResolver] Meeting query failed: ${error instanceof Error ? error.message : String(error)}`);
67
+ return null;
68
+ }
69
+ }
70
+ /**
71
+ * Gets participants for a given meeting.
72
+ */
73
+ async MeetingParticipants(meetingID, context = {}) {
74
+ try {
75
+ const user = this.GetUserFromPayload(context.userPayload);
76
+ if (!user) {
77
+ throw new Error('User is not authenticated.');
78
+ }
79
+ const provider = GetReadWriteProvider(context.providers);
80
+ if (!provider) {
81
+ throw new Error('Database provider is not available.');
82
+ }
83
+ return await ExecuteMeetingParticipants(provider, user, meetingID);
84
+ }
85
+ catch (error) {
86
+ LogError(`[MeetingResolver] MeetingParticipants failed: ${error instanceof Error ? error.message : String(error)}`);
87
+ return [];
88
+ }
89
+ }
90
+ /**
91
+ * Lists available active phone numbers suitable for dial-in.
92
+ */
93
+ async AvailableDialInPhoneNumbers(context = {}) {
94
+ try {
95
+ const user = this.GetUserFromPayload(context.userPayload);
96
+ if (!user) {
97
+ throw new Error('User is not authenticated.');
98
+ }
99
+ const provider = GetReadWriteProvider(context.providers);
100
+ if (!provider) {
101
+ throw new Error('Database provider is not available.');
102
+ }
103
+ return await ExecuteAvailableDialInPhoneNumbers(provider, user);
104
+ }
105
+ catch (error) {
106
+ LogError(`[MeetingResolver] AvailableDialInPhoneNumbers failed: ${error instanceof Error ? error.message : String(error)}`);
107
+ return [];
108
+ }
109
+ }
110
+ // ── Mutations ────────────────────────────────────────────────────────────────
111
+ /**
112
+ * Creates and schedules a new meeting.
113
+ */
114
+ async CreateMeeting(input, context = {}) {
115
+ try {
116
+ const user = this.GetUserFromPayload(context.userPayload);
117
+ if (!user) {
118
+ return { Success: false, ErrorMessage: 'User is not authenticated.' };
119
+ }
120
+ const provider = GetReadWriteProvider(context.providers);
121
+ if (!provider) {
122
+ return { Success: false, ErrorMessage: 'Database provider is not available.' };
123
+ }
124
+ return await ExecuteCreateMeeting(provider, user, input, this.getHelperOverrides());
125
+ }
126
+ catch (error) {
127
+ const msg = error instanceof Error ? error.message : String(error);
128
+ LogError(`[MeetingResolver] CreateMeeting exception: ${msg}`);
129
+ return { Success: false, ErrorMessage: msg };
130
+ }
131
+ }
132
+ /**
133
+ * Updates meeting details and participant list. Host or CoHost only.
134
+ */
135
+ async UpdateMeeting(input, context = {}) {
136
+ try {
137
+ const user = this.GetUserFromPayload(context.userPayload);
138
+ if (!user) {
139
+ return { Success: false, ErrorMessage: 'User is not authenticated.' };
140
+ }
141
+ const provider = GetReadWriteProvider(context.providers);
142
+ if (!provider) {
143
+ return { Success: false, ErrorMessage: 'Database provider is not available.' };
144
+ }
145
+ return await ExecuteUpdateMeeting(provider, user, input, this.getHelperOverrides());
146
+ }
147
+ catch (error) {
148
+ const msg = error instanceof Error ? error.message : String(error);
149
+ LogError(`[MeetingResolver] UpdateMeeting exception: ${msg}`);
150
+ return { Success: false, ErrorMessage: msg };
151
+ }
152
+ }
153
+ /**
154
+ * Starts a meeting: transitions status to 'Live', creates or connects to the
155
+ * meeting Interaction record, launches configured AI agents, initiates recording
156
+ * if configured as Automatic, and returns a LiveKit client token for the caller.
157
+ */
158
+ async StartMeeting(meetingID, context = {}) {
159
+ try {
160
+ const user = this.GetUserFromPayload(context.userPayload);
161
+ if (!user) {
162
+ return { Success: false, ErrorMessage: 'User is not authenticated.' };
163
+ }
164
+ const provider = GetReadWriteProvider(context.providers);
165
+ if (!provider) {
166
+ return { Success: false, ErrorMessage: 'Database provider is not available.' };
167
+ }
168
+ return await ExecuteStartMeeting(provider, user, meetingID, this.sessionManager, this.getHelperOverrides());
169
+ }
170
+ catch (error) {
171
+ const msg = error instanceof Error ? error.message : String(error);
172
+ LogError(`[MeetingResolver] StartMeeting exception: ${msg}`);
173
+ return { Success: false, ErrorMessage: msg };
174
+ }
175
+ }
176
+ /**
177
+ * Ends a meeting: transitions status to 'Ended', stops all agents in the room,
178
+ * closes the Interaction record, and records lifecycle events.
179
+ */
180
+ async EndMeeting(meetingID, context = {}) {
181
+ try {
182
+ const user = this.GetUserFromPayload(context.userPayload);
183
+ if (!user) {
184
+ return { Success: false, ErrorMessage: 'User is not authenticated.' };
185
+ }
186
+ const provider = GetReadWriteProvider(context.providers);
187
+ if (!provider) {
188
+ return { Success: false, ErrorMessage: 'Database provider is not available.' };
189
+ }
190
+ return await ExecuteEndMeeting(provider, user, meetingID, this.getHelperOverrides());
191
+ }
192
+ catch (error) {
193
+ const msg = error instanceof Error ? error.message : String(error);
194
+ LogError(`[MeetingResolver] EndMeeting exception: ${msg}`);
195
+ return { Success: false, ErrorMessage: msg };
196
+ }
197
+ }
198
+ /**
199
+ * Cancels a scheduled meeting.
200
+ */
201
+ async CancelMeeting(meetingID, context = {}) {
202
+ try {
203
+ const user = this.GetUserFromPayload(context.userPayload);
204
+ if (!user) {
205
+ return { Success: false, ErrorMessage: 'User is not authenticated.' };
206
+ }
207
+ const provider = GetReadWriteProvider(context.providers);
208
+ if (!provider) {
209
+ return { Success: false, ErrorMessage: 'Database provider is not available.' };
210
+ }
211
+ return await ExecuteCancelMeeting(provider, user, meetingID, this.getHelperOverrides());
212
+ }
213
+ catch (error) {
214
+ const msg = error instanceof Error ? error.message : String(error);
215
+ LogError(`[MeetingResolver] CancelMeeting exception: ${msg}`);
216
+ return { Success: false, ErrorMessage: msg };
217
+ }
218
+ }
219
+ /**
220
+ * Updates RSVP invite status for the authenticated user.
221
+ */
222
+ async RSVPMeeting(input, context = {}) {
223
+ try {
224
+ const user = this.GetUserFromPayload(context.userPayload);
225
+ if (!user) {
226
+ return { Success: false, ErrorMessage: 'User is not authenticated.' };
227
+ }
228
+ const provider = GetReadWriteProvider(context.providers);
229
+ if (!provider) {
230
+ return { Success: false, ErrorMessage: 'Database provider is not available.' };
231
+ }
232
+ return await ExecuteRSVPMeeting(provider, user, input, this.getHelperOverrides());
233
+ }
234
+ catch (error) {
235
+ const msg = error instanceof Error ? error.message : String(error);
236
+ LogError(`[MeetingResolver] RSVPMeeting exception: ${msg}`);
237
+ return { Success: false, ErrorMessage: msg };
238
+ }
239
+ }
240
+ // ── Helper Overrides & Delegations ───────────────────────────────────────────
241
+ getHelperOverrides() {
242
+ return {
243
+ LoadMeetingEntity: (id, user, provider) => this.loadMeetingEntity(id, user, provider),
244
+ LoadParticipants: (meetingID, user, provider) => this.loadParticipants(meetingID, user, provider),
245
+ IsUserHostOrCoHost: (meeting, user, provider) => this.isUserHostOrCoHost(meeting, user, provider),
246
+ ResolveDefaultPhoneNumber: (user, provider) => this.resolveDefaultPhoneNumber(user, provider),
247
+ GenerateUniqueDialInCode: (phoneNumberID, user, provider) => this.generateUniqueDialInCode(phoneNumberID, user, provider),
248
+ EnsureMeetingInteraction: (meeting, user, provider) => this.ensureMeetingInteraction(meeting, user, provider),
249
+ RecordInteractionEvent: (interactionID, eventType, user, provider, details) => this.recordInteractionEvent(interactionID, eventType, user, provider, details),
250
+ CloseMeetingInteraction: (roomName, user, provider) => this.closeMeetingInteraction(roomName, user, provider),
251
+ SendMeetingInviteNotification: (meeting, targetUserID, contextUser, provider) => this.sendMeetingInviteNotification(meeting, targetUserID, contextUser, provider),
252
+ NormalizeParticipantRole: (roleInput, defaultRole) => this.normalizeParticipantRole(roleInput, defaultRole),
253
+ NormalizeRecordingPolicy: (policyInput) => this.normalizeRecordingPolicy(policyInput),
254
+ MapMeetingToType: (m, participants) => this.mapMeetingToType(m, participants),
255
+ MapParticipantToType: (p, userName, userEmail) => this.mapParticipantToType(p, userName, userEmail),
256
+ };
257
+ }
258
+ async loadMeetingEntity(id, user, provider) {
259
+ return LoadMeetingEntity(id, user, provider);
260
+ }
261
+ async loadParticipants(meetingID, user, provider) {
262
+ return LoadParticipants(meetingID, user, provider);
263
+ }
264
+ async isUserHostOrCoHost(meeting, user, provider) {
265
+ return IsUserHostOrCoHost(meeting, user, provider);
266
+ }
267
+ async resolveDefaultPhoneNumber(user, provider) {
268
+ return ResolveDefaultPhoneNumber(user, provider);
269
+ }
270
+ async generateUniqueDialInCode(phoneNumberID, user, provider) {
271
+ return GenerateUniqueDialInCode(phoneNumberID, user, provider);
272
+ }
273
+ async ensureMeetingInteraction(meeting, user, provider) {
274
+ return EnsureMeetingInteraction(meeting, user, provider);
275
+ }
276
+ async recordInteractionEvent(interactionID, eventType, user, provider, details) {
277
+ return RecordInteractionEvent(interactionID, eventType, user, provider, details);
278
+ }
279
+ async closeMeetingInteraction(roomName, user, provider) {
280
+ return CloseMeetingInteraction(roomName, user, provider);
281
+ }
282
+ async sendMeetingInviteNotification(meeting, targetUserID, contextUser, provider) {
283
+ return SendMeetingInviteNotification(meeting, targetUserID, contextUser, provider);
284
+ }
285
+ normalizeParticipantRole(roleInput, defaultRole = 'Attendee') {
286
+ return NormalizeParticipantRole(roleInput, defaultRole);
287
+ }
288
+ normalizeRecordingPolicy(policyInput) {
289
+ return NormalizeRecordingPolicy(policyInput);
290
+ }
291
+ mapMeetingToType(m, participants) {
292
+ return MapMeetingToType(m, participants);
293
+ }
294
+ mapParticipantToType(p, userNameFallback, userEmailFallback) {
295
+ return MapParticipantToType(p, userNameFallback, userEmailFallback);
296
+ }
297
+ };
298
+ __decorate([
299
+ Query(() => [MeetingType]),
300
+ __param(0, Arg('status', () => String, { nullable: true })),
301
+ __param(1, Ctx()),
302
+ __metadata("design:type", Function),
303
+ __metadata("design:paramtypes", [String, Object]),
304
+ __metadata("design:returntype", Promise)
305
+ ], MeetingResolver.prototype, "MyMeetings", null);
306
+ __decorate([
307
+ Query(() => MeetingType, { nullable: true }),
308
+ __param(0, Arg('id', () => String)),
309
+ __param(1, Ctx()),
310
+ __metadata("design:type", Function),
311
+ __metadata("design:paramtypes", [String, Object]),
312
+ __metadata("design:returntype", Promise)
313
+ ], MeetingResolver.prototype, "Meeting", null);
314
+ __decorate([
315
+ Query(() => [MeetingParticipantType]),
316
+ __param(0, Arg('meetingID', () => String)),
317
+ __param(1, Ctx()),
318
+ __metadata("design:type", Function),
319
+ __metadata("design:paramtypes", [String, Object]),
320
+ __metadata("design:returntype", Promise)
321
+ ], MeetingResolver.prototype, "MeetingParticipants", null);
322
+ __decorate([
323
+ Query(() => [DialInPhoneNumberType]),
324
+ __param(0, Ctx()),
325
+ __metadata("design:type", Function),
326
+ __metadata("design:paramtypes", [Object]),
327
+ __metadata("design:returntype", Promise)
328
+ ], MeetingResolver.prototype, "AvailableDialInPhoneNumbers", null);
329
+ __decorate([
330
+ Mutation(() => MeetingResult),
331
+ __param(0, Arg('input', () => CreateMeetingInput)),
332
+ __param(1, Ctx()),
333
+ __metadata("design:type", Function),
334
+ __metadata("design:paramtypes", [CreateMeetingInput, Object]),
335
+ __metadata("design:returntype", Promise)
336
+ ], MeetingResolver.prototype, "CreateMeeting", null);
337
+ __decorate([
338
+ Mutation(() => MeetingResult),
339
+ __param(0, Arg('input', () => UpdateMeetingInput)),
340
+ __param(1, Ctx()),
341
+ __metadata("design:type", Function),
342
+ __metadata("design:paramtypes", [UpdateMeetingInput, Object]),
343
+ __metadata("design:returntype", Promise)
344
+ ], MeetingResolver.prototype, "UpdateMeeting", null);
345
+ __decorate([
346
+ Mutation(() => StartMeetingResult),
347
+ __param(0, Arg('meetingID', () => String)),
348
+ __param(1, Ctx()),
349
+ __metadata("design:type", Function),
350
+ __metadata("design:paramtypes", [String, Object]),
351
+ __metadata("design:returntype", Promise)
352
+ ], MeetingResolver.prototype, "StartMeeting", null);
353
+ __decorate([
354
+ Mutation(() => MeetingResult),
355
+ __param(0, Arg('meetingID', () => String)),
356
+ __param(1, Ctx()),
357
+ __metadata("design:type", Function),
358
+ __metadata("design:paramtypes", [String, Object]),
359
+ __metadata("design:returntype", Promise)
360
+ ], MeetingResolver.prototype, "EndMeeting", null);
361
+ __decorate([
362
+ Mutation(() => MeetingResult),
363
+ __param(0, Arg('meetingID', () => String)),
364
+ __param(1, Ctx()),
365
+ __metadata("design:type", Function),
366
+ __metadata("design:paramtypes", [String, Object]),
367
+ __metadata("design:returntype", Promise)
368
+ ], MeetingResolver.prototype, "CancelMeeting", null);
369
+ __decorate([
370
+ Mutation(() => MeetingResult),
371
+ __param(0, Arg('input', () => RSVPMeetingInput)),
372
+ __param(1, Ctx()),
373
+ __metadata("design:type", Function),
374
+ __metadata("design:paramtypes", [RSVPMeetingInput, Object]),
375
+ __metadata("design:returntype", Promise)
376
+ ], MeetingResolver.prototype, "RSVPMeeting", null);
377
+ MeetingResolver = __decorate([
378
+ Resolver()
379
+ ], MeetingResolver);
380
+ export { MeetingResolver };
381
+ //# sourceMappingURL=MeetingResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MeetingResolver.js","sourceRoot":"","sources":["../../src/resolvers/MeetingResolver.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,24 @@ export declare class StartLiveKitAgentRoomSessionInput {
36
36
  RoomName?: string;
37
37
  AgentSessionID?: string;
38
38
  TurnMode?: string;
39
+ /**
40
+ * Start the agent able to bring someone into this room: a person (who is offered the conversation and may accept), a
41
+ * phone number, or another agent. Opt-in, and honoured only when this server has the handoff collaborators configured
42
+ * (the LiveKit SIP extension); otherwise the agent starts as it always did.
43
+ */
44
+ EnableHandoff?: boolean;
45
+ /**
46
+ * How this agent decides it was addressed: `Auto` (default — the model's own judgement when it is full-duplex,
47
+ * name matching otherwise), `ModelSide`, or `Regex`.
48
+ */
49
+ TurnAddressing?: string;
50
+ }
51
+ /** The live turn-taking state of a room (floor holder, human speaking, hand-off, loop cap, recent events, seated agents). */
52
+ export declare class LiveKitRoomTurnStateResult {
53
+ Success: boolean;
54
+ ErrorMessage?: string;
55
+ /** JSON of the room's `RoomTurnSnapshot`; `null` when the room holds no agents. Parsed by the typed client. */
56
+ StateJSON?: string;
39
57
  }
40
58
  export declare class LiveKitAgentRoomSessionResult {
41
59
  Success: boolean;
@@ -58,10 +76,33 @@ export declare class LiveKitRecordingResult {
58
76
  /** The `MJ: Files` row id of the registered recording (set on stop, once the egress MP4 is registered). */
59
77
  RecordingFileID?: string;
60
78
  }
61
- /** A selectable provider-native voice for the dev voice picker. */
79
+ /** A person's choice of whether agents may see their camera and shared screen in a room. */
80
+ export declare class SetLiveKitAgentVisionInput {
81
+ RoomName: string;
82
+ /** `true` to let agents see, `false` to stop. */
83
+ Allow: boolean;
84
+ }
85
+ export declare class LiveKitAgentVisionResult {
86
+ Success: boolean;
87
+ ErrorMessage?: string;
88
+ }
89
+ /**
90
+ * A selectable provider-native voice for the dev voice picker: one per persona, or one per voice only the driver declares.
91
+ * Two personas can share an `ID` (a voice, and the same voice with a face); `PersonaID` tells them apart.
92
+ */
62
93
  export declare class RealtimeVoiceOptionResult {
63
94
  ID: string;
64
95
  Name: string;
96
+ /** The persona this voice belongs to (`MJ: AI Personas.ID`). Null for a voice only the driver declares. */
97
+ PersonaID?: string;
98
+ /**
99
+ * The avatar that comes with this voice: the `APIName` of its persona's preset Video binding on the model's vendor,
100
+ * which is what `realtime.video.avatarId` takes. Null for a voice without one, and for every voice only the driver
101
+ * declares.
102
+ */
103
+ AvatarID?: string;
104
+ /** The persona's preview image URL, or null when it has none. */
105
+ PreviewImageURL?: string;
65
106
  }
66
107
  /** An active Realtime model with the voices its driver supports — feeds the dev model/voice picker. */
67
108
  export declare class RealtimeModelVoicesResult {
@@ -79,13 +120,16 @@ export declare class RealtimeBridgeResolver extends ResolverBase {
79
120
  MintLiveKitClientToken(input: MintLiveKitClientTokenInput, context?: AppContext): Promise<LiveKitClientTokenResult>;
80
121
  /**
81
122
  * Starts (or reuses) an agent's presence in a LiveKit room and returns a client token so the calling
82
- * user can immediately join the same room.
123
+ * user can immediately join the same room. The token is minted before anything starts, so a start that can't give the
124
+ * user one fails with nothing started. When no `AgentSessionID` is passed, an agent session is created for the
125
+ * agent; if the agent then fails to start, that session is closed (`Error`) before the failure is returned.
83
126
  */
84
127
  StartLiveKitAgentRoomSession(input: StartLiveKitAgentRoomSessionInput, context?: AppContext): Promise<LiveKitAgentRoomSessionResult>;
85
128
  /**
86
129
  * Stops one agent's presence in a room (the bot leaves) — the remove half of in-room agent management.
87
130
  * Identified by the `SessionBridgeID` returned from {@link StartLiveKitAgentRoomSession}. Returns `true`
88
131
  * when the bridge was stopped. Best-effort: a missing/already-stopped bridge or any error resolves `false`.
132
+ * The agent session the start created for the agent is closed (`Explicit`) before this returns.
89
133
  *
90
134
  * @param sessionBridgeID The `MJ: AI Agent Session Bridges` row id of the agent to remove.
91
135
  */
@@ -95,10 +139,19 @@ export declare class RealtimeBridgeResolver extends ResolverBase {
95
139
  * coordinator's server-side roster). This is the "End meeting" half of the Zoom-style leave control —
96
140
  * usable by any participant, including one who only *joined* the room and never tracked the bridge ids.
97
141
  * Returns `true` when the teardown ran (even if the room held zero agents). Best-effort: any error → `false`.
142
+ * The agent sessions the starts created for the agents are closed (`Explicit`) as each agent leaves.
98
143
  *
99
144
  * @param roomName The LiveKit room to end.
100
145
  */
101
146
  EndLiveKitRoom(roomName: string, context?: AppContext): Promise<boolean>;
147
+ /**
148
+ * A room's live turn-taking state — who holds the floor, whether a person is speaking, any pending hand-off,
149
+ * the agent-to-agent loop-cap progress, the most recent floor/backchannel/yield events, and who is seated. The
150
+ * agent test bed polls it. Read-only. `StateJSON` is `null` when no agent is in the room.
151
+ *
152
+ * @param roomName The LiveKit room.
153
+ */
154
+ GetLiveKitRoomTurnState(roomName: string, context?: AppContext): Promise<LiveKitRoomTurnStateResult>;
102
155
  /**
103
156
  * Lists active Realtime models with the voices each driver supports — the source for the dev model/voice
104
157
  * picker (gated client-side by the `Realtime: Advanced Session Controls` authorization). Read-only; returns
@@ -129,8 +182,40 @@ export declare class RealtimeBridgeResolver extends ResolverBase {
129
182
  * `RecordingFileID` (the recording still stopped) — it never throws.
130
183
  */
131
184
  StopLiveKitRecording(egressID: string, context?: AppContext): Promise<LiveKitRecordingResult>;
132
- /** Builds a stable, lowercased participant identity from the authenticated user. */
185
+ /**
186
+ * Records whether the current user lets agents see their camera and shared screen in a room. The participant is
187
+ * worked out from the authenticated user, never sent by the client, so a person can only answer for themselves. To
188
+ * allow, the room must be one they may enter ({@link RoomAuthorizationService}, as for every room mutation). A
189
+ * withdrawal skips that check: a cancelled meeting or a failed lookup must not keep an agent watching someone who is
190
+ * still in the room, and the identity is always the caller's own. LiveKit refuses either way when they are not in it. The choice is set as their `mj.agentCanSee` attribute through LiveKit's server SDK (a
191
+ * participant's token can't change its own attributes) and audited, applied or not.
192
+ */
193
+ SetLiveKitAgentVision(input: SetLiveKitAgentVisionInput, context?: AppContext): Promise<LiveKitAgentVisionResult>;
194
+ /**
195
+ * Starts the agent through the handoff-capable room starter when the caller asked for it and the server can do it.
196
+ * Returns the bridge id, or `undefined` to mean "use the standard start" (not requested, no starter, no agent named).
197
+ */
198
+ private startWithHandoff;
199
+ /**
200
+ * Starts the agent in the room through the coordinator. An agent session created for this agent's time in the room
201
+ * (`createdSessionID`) is this start's to close: once the agent has joined, through the end-of-session hook from
202
+ * {@link closeSessionWhenAgentLeaves}; when the start fails, at once, as `Error`, through
203
+ * {@link SessionManager.CloseSessionForFailedStart}, before the error propagates, since the agent never joined and that
204
+ * hook never runs (#5308). By then the coordinator has closed any model session the start opened, its co-agent run
205
+ * finalized as failed. A session the caller supplied gets neither: it is the caller's.
206
+ */
207
+ private startAgentInRoom;
208
+ /**
209
+ * What the coordinator is given for an agent session created for one agent's time in a room: its end-of-session hook
210
+ * closes the session once the agent's bridge has ended, whatever ended it (the agent stopped, the meeting ended, everyone
211
+ * left, the model session lost), through {@link SessionManager.CloseSessionForEndedBridge}. The close runs as the user
212
+ * who started the agent, whoever stops it: the session is theirs.
213
+ */
214
+ private closeSessionWhenAgentLeaves;
215
+ /** Builds a stable, lowercased participant identity from the authenticated user (shared with the handoff engine, which watches for it). */
133
216
  private participantIdentity;
217
+ /** Normalizes an addressing-mode string; unknown/absent leaves the coordinator's default (`Auto`). */
218
+ private normalizeTurnAddressing;
134
219
  /** Normalizes a turn-mode string to the bridge's accepted values. */
135
220
  private normalizeTurnMode;
136
221
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeBridgeResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/RealtimeBridgeResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RealtimeBridgeResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/RealtimeBridgeResolver.ts"],"names":[],"mappings":"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"}