@memberjunction/server 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 (459) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/agentSessions/ReturningVisitorRecap.d.ts +2 -0
  3. package/dist/agentSessions/ReturningVisitorRecap.d.ts.map +1 -1
  4. package/dist/agentSessions/ReturningVisitorRecap.js +5 -1
  5. package/dist/agentSessions/ReturningVisitorRecap.js.map +1 -1
  6. package/dist/agentSessions/SessionManager.js +2 -2
  7. package/dist/agentSessions/remoteBrowserGoalEngine.d.ts +8 -0
  8. package/dist/agentSessions/remoteBrowserGoalEngine.d.ts.map +1 -1
  9. package/dist/agentSessions/remoteBrowserGoalEngine.js +21 -5
  10. package/dist/agentSessions/remoteBrowserGoalEngine.js.map +1 -1
  11. package/dist/auth/AuthProviderCatalogRouter.d.ts +2 -0
  12. package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -1
  13. package/dist/auth/AuthProviderCatalogRouter.js +5 -1
  14. package/dist/auth/AuthProviderCatalogRouter.js.map +1 -1
  15. package/dist/auth/index.d.ts +20 -1
  16. package/dist/auth/index.d.ts.map +1 -1
  17. package/dist/auth/index.js +20 -10
  18. package/dist/auth/index.js.map +1 -1
  19. package/dist/auth/initializeProviders.d.ts +8 -0
  20. package/dist/auth/initializeProviders.d.ts.map +1 -1
  21. package/dist/auth/initializeProviders.js +21 -5
  22. package/dist/auth/initializeProviders.js.map +1 -1
  23. package/dist/auth/magicLink/MagicLinkRouter.d.ts +9 -0
  24. package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
  25. package/dist/auth/magicLink/MagicLinkRouter.js +22 -10
  26. package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
  27. package/dist/auth/magicLink/MagicLinkService.d.ts +17 -15
  28. package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
  29. package/dist/auth/magicLink/MagicLinkService.js +65 -51
  30. package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
  31. package/dist/auth/magicLink/index.d.ts +2 -2
  32. package/dist/auth/magicLink/index.d.ts.map +1 -1
  33. package/dist/auth/magicLink/index.js +2 -2
  34. package/dist/auth/magicLink/index.js.map +1 -1
  35. package/dist/auth/magicLink/magicLinkCore.d.ts +54 -33
  36. package/dist/auth/magicLink/magicLinkCore.d.ts.map +1 -1
  37. package/dist/auth/magicLink/magicLinkCore.js +61 -61
  38. package/dist/auth/magicLink/magicLinkCore.js.map +1 -1
  39. package/dist/auth/magicLink/redeemLanding.d.ts +4 -0
  40. package/dist/auth/magicLink/redeemLanding.d.ts.map +1 -1
  41. package/dist/auth/magicLink/redeemLanding.js +12 -4
  42. package/dist/auth/magicLink/redeemLanding.js.map +1 -1
  43. package/dist/auth/magicLink/types.d.ts +4 -4
  44. package/dist/auth/principals.d.ts +2 -0
  45. package/dist/auth/principals.d.ts.map +1 -1
  46. package/dist/auth/principals.js +6 -2
  47. package/dist/auth/principals.js.map +1 -1
  48. package/dist/cache.d.ts +2 -0
  49. package/dist/cache.d.ts.map +1 -1
  50. package/dist/cache.js +3 -1
  51. package/dist/cache.js.map +1 -1
  52. package/dist/config.d.ts +346 -2
  53. package/dist/config.d.ts.map +1 -1
  54. package/dist/config.js +34 -4
  55. package/dist/config.js.map +1 -1
  56. package/dist/context.d.ts +20 -0
  57. package/dist/context.d.ts.map +1 -1
  58. package/dist/context.js +27 -19
  59. package/dist/context.js.map +1 -1
  60. package/dist/directives/Public.d.ts +2 -0
  61. package/dist/directives/Public.d.ts.map +1 -1
  62. package/dist/directives/Public.js +3 -1
  63. package/dist/directives/Public.js.map +1 -1
  64. package/dist/directives/RequireSystemUser.d.ts +2 -0
  65. package/dist/directives/RequireSystemUser.d.ts.map +1 -1
  66. package/dist/directives/RequireSystemUser.js +3 -1
  67. package/dist/directives/RequireSystemUser.js.map +1 -1
  68. package/dist/generated/graphql-schemas/__mj.d.ts +1021 -0
  69. package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
  70. package/dist/generated/graphql-schemas/__mj.js +7368 -2145
  71. package/dist/generated/graphql-schemas/__mj.js.map +1 -1
  72. package/dist/generic/CacheInvalidationResolver.d.ts +94 -4
  73. package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
  74. package/dist/generic/CacheInvalidationResolver.js +122 -3
  75. package/dist/generic/CacheInvalidationResolver.js.map +1 -1
  76. package/dist/generic/DeleteOptionsInput.d.ts +8 -1
  77. package/dist/generic/DeleteOptionsInput.d.ts.map +1 -1
  78. package/dist/generic/DeleteOptionsInput.js +1 -1
  79. package/dist/generic/DeleteOptionsInput.js.map +1 -1
  80. package/dist/generic/FireAndForgetHeartbeat.d.ts +18 -2
  81. package/dist/generic/FireAndForgetHeartbeat.d.ts.map +1 -1
  82. package/dist/generic/FireAndForgetHeartbeat.js +24 -6
  83. package/dist/generic/FireAndForgetHeartbeat.js.map +1 -1
  84. package/dist/generic/OrphanedConversationDetailReconciler.d.ts +31 -0
  85. package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -0
  86. package/dist/generic/OrphanedConversationDetailReconciler.js +215 -0
  87. package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -0
  88. package/dist/generic/PushStatusResolver.d.ts +48 -1
  89. package/dist/generic/PushStatusResolver.d.ts.map +1 -1
  90. package/dist/generic/PushStatusResolver.js +95 -4
  91. package/dist/generic/PushStatusResolver.js.map +1 -1
  92. package/dist/generic/ResolverBase.d.ts +18 -2
  93. package/dist/generic/ResolverBase.d.ts.map +1 -1
  94. package/dist/generic/ResolverBase.js +64 -55
  95. package/dist/generic/ResolverBase.js.map +1 -1
  96. package/dist/index.d.ts +9 -0
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +120 -11
  99. package/dist/index.js.map +1 -1
  100. package/dist/integration/CustomColumnPromoter.d.ts +2 -0
  101. package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
  102. package/dist/integration/CustomColumnPromoter.js +5 -1
  103. package/dist/integration/CustomColumnPromoter.js.map +1 -1
  104. package/dist/integration/EntityMapLifecycle.d.ts +4 -0
  105. package/dist/integration/EntityMapLifecycle.d.ts.map +1 -1
  106. package/dist/integration/EntityMapLifecycle.js +10 -2
  107. package/dist/integration/EntityMapLifecycle.js.map +1 -1
  108. package/dist/logging/NoLog.d.ts +4 -0
  109. package/dist/logging/NoLog.d.ts.map +1 -1
  110. package/dist/logging/NoLog.js +10 -2
  111. package/dist/logging/NoLog.js.map +1 -1
  112. package/dist/logging/StartupLogger.d.ts +2 -0
  113. package/dist/logging/StartupLogger.d.ts.map +1 -1
  114. package/dist/logging/StartupLogger.js +5 -1
  115. package/dist/logging/StartupLogger.js.map +1 -1
  116. package/dist/logging/bootAudit.d.ts +11 -7
  117. package/dist/logging/bootAudit.d.ts.map +1 -1
  118. package/dist/logging/bootAudit.js +15 -7
  119. package/dist/logging/bootAudit.js.map +1 -1
  120. package/dist/logging/boundaryLogPayload.d.ts +4 -0
  121. package/dist/logging/boundaryLogPayload.d.ts.map +1 -1
  122. package/dist/logging/boundaryLogPayload.js +5 -1
  123. package/dist/logging/boundaryLogPayload.js.map +1 -1
  124. package/dist/logging/secretRedactor.d.ts +2 -0
  125. package/dist/logging/secretRedactor.d.ts.map +1 -1
  126. package/dist/logging/secretRedactor.js +8 -4
  127. package/dist/logging/secretRedactor.js.map +1 -1
  128. package/dist/logging/shortenForLog.d.ts +2 -0
  129. package/dist/logging/shortenForLog.d.ts.map +1 -1
  130. package/dist/logging/shortenForLog.js +7 -3
  131. package/dist/logging/shortenForLog.js.map +1 -1
  132. package/dist/logging/variablesLoggingMiddleware.d.ts +2 -0
  133. package/dist/logging/variablesLoggingMiddleware.d.ts.map +1 -1
  134. package/dist/logging/variablesLoggingMiddleware.js +8 -6
  135. package/dist/logging/variablesLoggingMiddleware.js.map +1 -1
  136. package/dist/metadataRefreshSignal.d.ts +19 -0
  137. package/dist/metadataRefreshSignal.d.ts.map +1 -0
  138. package/dist/metadataRefreshSignal.js +45 -0
  139. package/dist/metadataRefreshSignal.js.map +1 -0
  140. package/dist/middleware/MJTenantFilterMiddleware.js +4 -4
  141. package/dist/multiTenancy/index.d.ts +8 -0
  142. package/dist/multiTenancy/index.d.ts.map +1 -1
  143. package/dist/multiTenancy/index.js +21 -5
  144. package/dist/multiTenancy/index.js.map +1 -1
  145. package/dist/realtimeWidget/WidgetRouter.d.ts +5 -0
  146. package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
  147. package/dist/realtimeWidget/WidgetRouter.js +14 -10
  148. package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
  149. package/dist/realtimeWidget/WidgetSessionService.d.ts +6 -6
  150. package/dist/realtimeWidget/WidgetSessionService.js +27 -27
  151. package/dist/realtimeWidget/host-identity.d.ts +5 -1
  152. package/dist/realtimeWidget/host-identity.d.ts.map +1 -1
  153. package/dist/realtimeWidget/host-identity.js +11 -3
  154. package/dist/realtimeWidget/host-identity.js.map +1 -1
  155. package/dist/realtimeWidget/index.d.ts +2 -2
  156. package/dist/realtimeWidget/index.d.ts.map +1 -1
  157. package/dist/realtimeWidget/index.js +2 -2
  158. package/dist/realtimeWidget/index.js.map +1 -1
  159. package/dist/realtimeWidget/visitorIdentity.d.ts +21 -1
  160. package/dist/realtimeWidget/visitorIdentity.d.ts.map +1 -1
  161. package/dist/realtimeWidget/visitorIdentity.js +16 -4
  162. package/dist/realtimeWidget/visitorIdentity.js.map +1 -1
  163. package/dist/realtimeWidget/widgetCore.d.ts +48 -0
  164. package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
  165. package/dist/realtimeWidget/widgetCore.js +38 -10
  166. package/dist/realtimeWidget/widgetCore.js.map +1 -1
  167. package/dist/realtimeWidget/widgetGuestElevation.d.ts +10 -6
  168. package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
  169. package/dist/realtimeWidget/widgetGuestElevation.js +14 -6
  170. package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
  171. package/dist/resolvers/AdhocQueryResolver.js +3 -3
  172. package/dist/resolvers/AgentRunStatusPublisher.d.ts +55 -0
  173. package/dist/resolvers/AgentRunStatusPublisher.d.ts.map +1 -0
  174. package/dist/resolvers/AgentRunStatusPublisher.js +141 -0
  175. package/dist/resolvers/AgentRunStatusPublisher.js.map +1 -0
  176. package/dist/resolvers/ConversationRunEventsResolver.d.ts +90 -0
  177. package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -0
  178. package/dist/resolvers/ConversationRunEventsResolver.js +283 -0
  179. package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -0
  180. package/dist/resolvers/DuplicateEntryCheckResolver.d.ts +98 -0
  181. package/dist/resolvers/DuplicateEntryCheckResolver.d.ts.map +1 -0
  182. package/dist/resolvers/DuplicateEntryCheckResolver.js +227 -0
  183. package/dist/resolvers/DuplicateEntryCheckResolver.js.map +1 -0
  184. package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
  185. package/dist/resolvers/FetchEntityVectorsResolver.js +2 -1
  186. package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
  187. package/dist/resolvers/FileResolver.js +3 -3
  188. package/dist/resolvers/GeoResolver.d.ts +2 -2
  189. package/dist/resolvers/GeoResolver.js +4 -4
  190. package/dist/resolvers/GetDataResolver.d.ts +14 -0
  191. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  192. package/dist/resolvers/GetDataResolver.js +43 -15
  193. package/dist/resolvers/GetDataResolver.js.map +1 -1
  194. package/dist/resolvers/IntegrationDiscoveryResolver.js +2 -2
  195. package/dist/resolvers/ListOperationsResolver.d.ts +20 -0
  196. package/dist/resolvers/ListOperationsResolver.d.ts.map +1 -1
  197. package/dist/resolvers/ListOperationsResolver.js +68 -28
  198. package/dist/resolvers/ListOperationsResolver.js.map +1 -1
  199. package/dist/resolvers/MCPResolver.d.ts +11 -1
  200. package/dist/resolvers/MCPResolver.d.ts.map +1 -1
  201. package/dist/resolvers/MCPResolver.js +7 -3
  202. package/dist/resolvers/MCPResolver.js.map +1 -1
  203. package/dist/resolvers/MergeRecordsResolver.d.ts +7 -0
  204. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
  205. package/dist/resolvers/MergeRecordsResolver.js +16 -2
  206. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  207. package/dist/resolvers/RealtimeBridgeResolver.js +3 -3
  208. package/dist/resolvers/RealtimeClientSessionResolver.d.ts +44 -6
  209. package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
  210. package/dist/resolvers/RealtimeClientSessionResolver.js +93 -37
  211. package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
  212. package/dist/resolvers/RemoteBrowserActionResolver.js +5 -5
  213. package/dist/resolvers/RunAIAgentResolver.d.ts +8 -18
  214. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  215. package/dist/resolvers/RunAIAgentResolver.js +85 -184
  216. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  217. package/dist/resolvers/RunAIPromptResolver.d.ts +1 -1
  218. package/dist/resolvers/RunAIPromptResolver.js +2 -2
  219. package/dist/resolvers/RunDecisionResolver.d.ts +149 -0
  220. package/dist/resolvers/RunDecisionResolver.d.ts.map +1 -0
  221. package/dist/resolvers/RunDecisionResolver.js +396 -0
  222. package/dist/resolvers/RunDecisionResolver.js.map +1 -0
  223. package/dist/resolvers/RunTestResolver.js +5 -5
  224. package/dist/resolvers/SqlLoggingConfigResolver.d.ts +8 -4
  225. package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
  226. package/dist/resolvers/SqlLoggingConfigResolver.js +5 -5
  227. package/dist/resolvers/TaskGraphFrameResolver.d.ts +8 -1
  228. package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
  229. package/dist/resolvers/TaskGraphFrameResolver.js +6 -2
  230. package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
  231. package/dist/resolvers/VectorizeEntityResolver.d.ts +1 -1
  232. package/dist/resolvers/VectorizeEntityResolver.d.ts.map +1 -1
  233. package/dist/resolvers/VectorizeEntityResolver.js +14 -10
  234. package/dist/resolvers/VectorizeEntityResolver.js.map +1 -1
  235. package/dist/resolvers/adhoc-query-helpers.d.ts +6 -0
  236. package/dist/resolvers/adhoc-query-helpers.d.ts.map +1 -1
  237. package/dist/resolvers/adhoc-query-helpers.js +10 -2
  238. package/dist/resolvers/adhoc-query-helpers.js.map +1 -1
  239. package/dist/resolvers/artifact-routing.d.ts +8 -8
  240. package/dist/resolvers/artifact-routing.js +2 -2
  241. package/dist/resolvers/artifact-routing.js.map +1 -1
  242. package/dist/resolvers/meetingRecordingRegistration.d.ts +10 -2
  243. package/dist/resolvers/meetingRecordingRegistration.d.ts.map +1 -1
  244. package/dist/resolvers/meetingRecordingRegistration.js +24 -8
  245. package/dist/resolvers/meetingRecordingRegistration.js.map +1 -1
  246. package/dist/resolvers/peaksSidecar.d.ts +4 -0
  247. package/dist/resolvers/peaksSidecar.d.ts.map +1 -1
  248. package/dist/resolvers/peaksSidecar.js +10 -2
  249. package/dist/resolvers/peaksSidecar.js.map +1 -1
  250. package/dist/rest/EntityCRUDHandler.d.ts +28 -0
  251. package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
  252. package/dist/rest/EntityCRUDHandler.js +20 -4
  253. package/dist/rest/EntityCRUDHandler.js.map +1 -1
  254. package/dist/rest/MediaStreamHandler.d.ts +2 -0
  255. package/dist/rest/MediaStreamHandler.d.ts.map +1 -1
  256. package/dist/rest/MediaStreamHandler.js +10 -6
  257. package/dist/rest/MediaStreamHandler.js.map +1 -1
  258. package/dist/rest/OAuthCallbackHandler.d.ts +9 -0
  259. package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
  260. package/dist/rest/OAuthCallbackHandler.js +15 -3
  261. package/dist/rest/OAuthCallbackHandler.js.map +1 -1
  262. package/dist/rest/RESTEndpointHandler.d.ts +6 -4
  263. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  264. package/dist/rest/RESTEndpointHandler.js +15 -11
  265. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  266. package/dist/rest/RealtimeSdpBrokerHandler.d.ts +5 -1
  267. package/dist/rest/RealtimeSdpBrokerHandler.d.ts.map +1 -1
  268. package/dist/rest/RealtimeSdpBrokerHandler.js +12 -4
  269. package/dist/rest/RealtimeSdpBrokerHandler.js.map +1 -1
  270. package/dist/rest/SignatureWebhookHandler.d.ts +2 -0
  271. package/dist/rest/SignatureWebhookHandler.d.ts.map +1 -1
  272. package/dist/rest/SignatureWebhookHandler.js +5 -1
  273. package/dist/rest/SignatureWebhookHandler.js.map +1 -1
  274. package/dist/rest/UploadTokenManager.d.ts +24 -8
  275. package/dist/rest/UploadTokenManager.d.ts.map +1 -1
  276. package/dist/rest/UploadTokenManager.js +53 -21
  277. package/dist/rest/UploadTokenManager.js.map +1 -1
  278. package/dist/rest/ViewOperationsHandler.d.ts +20 -0
  279. package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
  280. package/dist/rest/ViewOperationsHandler.js +20 -4
  281. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  282. package/dist/rest/mediaRange.d.ts +4 -0
  283. package/dist/rest/mediaRange.d.ts.map +1 -1
  284. package/dist/rest/mediaRange.js +10 -2
  285. package/dist/rest/mediaRange.js.map +1 -1
  286. package/dist/rest/setupRESTEndpoints.d.ts +4 -0
  287. package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
  288. package/dist/rest/setupRESTEndpoints.js +13 -7
  289. package/dist/rest/setupRESTEndpoints.js.map +1 -1
  290. package/dist/serverExtensionReservedRoots.d.ts +2 -0
  291. package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
  292. package/dist/serverExtensionReservedRoots.js +5 -1
  293. package/dist/serverExtensionReservedRoots.js.map +1 -1
  294. package/dist/services/TaskGraphActionRunner.d.ts +13 -8
  295. package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
  296. package/dist/services/TaskGraphActionRunner.js +16 -15
  297. package/dist/services/TaskGraphActionRunner.js.map +1 -1
  298. package/dist/types.d.ts +2 -0
  299. package/dist/types.d.ts.map +1 -1
  300. package/dist/types.js +7 -3
  301. package/dist/types.js.map +1 -1
  302. package/dist/util.d.ts +6 -0
  303. package/dist/util.d.ts.map +1 -1
  304. package/dist/util.js +13 -5
  305. package/dist/util.js.map +1 -1
  306. package/package.json +94 -92
  307. package/src/__tests__/AgentRunStatusPublisher.test.ts +175 -0
  308. package/src/__tests__/DeleteOptionsInput.wireShape.test.ts +62 -0
  309. package/src/__tests__/DuplicateEntryCheckResolver.test.ts +300 -0
  310. package/src/__tests__/FileResolverPeaks.test.ts +13 -13
  311. package/src/__tests__/ListOperationsResolver.test.ts +17 -17
  312. package/src/__tests__/MediaStreamHandler.test.ts +28 -28
  313. package/src/__tests__/NoLog.test.ts +11 -11
  314. package/src/__tests__/PrimaryKeyAlwaysMapped.test.ts +10 -10
  315. package/src/__tests__/RESTEndpointHandler.test.ts +14 -14
  316. package/src/__tests__/RealtimeBridgeResolver.test.ts +4 -2
  317. package/src/__tests__/RealtimeClientSessionResolver.test.ts +216 -2
  318. package/src/__tests__/RealtimeSdpBrokerHandler.test.ts +6 -6
  319. package/src/__tests__/RefreshAdoptsNewColumns.test.ts +8 -8
  320. package/src/__tests__/RemoteBrowserActionRecovery.test.ts +7 -1
  321. package/src/__tests__/RemoteBrowserAudioStream.test.ts +7 -1
  322. package/src/__tests__/RemoteBrowserGoalEngine.test.ts +18 -18
  323. package/src/__tests__/RemoteBrowserSnapshot.test.ts +7 -1
  324. package/src/__tests__/ResolverBase.clientOldValues.test.ts +52 -0
  325. package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +398 -0
  326. package/src/__tests__/RunAIAgentResolver.streaming.test.ts +18 -27
  327. package/src/__tests__/RunDecisionResolver.test.ts +699 -0
  328. package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +131 -0
  329. package/src/__tests__/TaskGraphFrameResolver.test.ts +2 -2
  330. package/src/__tests__/VectorizeEntityResolver.test.ts +106 -0
  331. package/src/__tests__/WidgetSessionService.test.ts +8 -4
  332. package/src/__tests__/adhoc-query-helpers.test.ts +21 -21
  333. package/src/__tests__/bootAudit.test.ts +11 -11
  334. package/src/__tests__/boundaryLogPayload.test.ts +6 -6
  335. package/src/__tests__/cacheInvalidationRecordData.test.ts +177 -0
  336. package/src/__tests__/conversationRunEvents.test.ts +399 -0
  337. package/src/__tests__/databaseAbstraction.test.ts +12 -6
  338. package/src/__tests__/getDataTokenRedaction.test.ts +7 -7
  339. package/src/__tests__/initializeProviders.refresh.test.ts +4 -4
  340. package/src/__tests__/magicLink.test.ts +73 -134
  341. package/src/__tests__/magicLinkService.consume.test.ts +224 -0
  342. package/src/__tests__/meetingRecordingRegistration.test.ts +12 -12
  343. package/src/__tests__/metadataRefreshSignal.test.ts +78 -0
  344. package/src/__tests__/multiTenancy.security.test.ts +40 -40
  345. package/src/__tests__/multiTenancy.test.ts +18 -18
  346. package/src/__tests__/newUsers.test.ts +24 -23
  347. package/src/__tests__/orphanedConversationDetailReconciler.test.ts +283 -0
  348. package/src/__tests__/principals.test.ts +22 -22
  349. package/src/__tests__/pushStatusFanOut.test.ts +206 -0
  350. package/src/__tests__/pushStatusResolver.filter.test.ts +8 -8
  351. package/src/__tests__/secretRedactor.failOpen.test.ts +12 -12
  352. package/src/__tests__/secretRedactor.test.ts +12 -12
  353. package/src/__tests__/serverExtensionReservedRoots.test.ts +7 -7
  354. package/src/__tests__/subscriptionRedaction.test.ts +5 -5
  355. package/src/__tests__/unifiedAuth.test.ts +15 -9
  356. package/src/__tests__/visitorIdentity.resolve.test.ts +6 -6
  357. package/src/__tests__/widget.test.ts +45 -45
  358. package/src/__tests__/widgetGuestElevation.test.ts +7 -7
  359. package/src/__tests__/widgetHostIdentity.test.ts +14 -14
  360. package/src/agentSessions/ReturningVisitorRecap.ts +12 -1
  361. package/src/agentSessions/SessionManager.ts +2 -2
  362. package/src/agentSessions/remoteBrowserGoalEngine.ts +30 -5
  363. package/src/auth/AuthProviderCatalogRouter.ts +6 -1
  364. package/src/auth/__tests__/backward-compatibility.test.ts +4 -3
  365. package/src/auth/index.ts +43 -28
  366. package/src/auth/initializeProviders.ts +25 -5
  367. package/src/auth/magicLink/MagicLinkRouter.ts +28 -10
  368. package/src/auth/magicLink/MagicLinkService.ts +71 -52
  369. package/src/auth/magicLink/index.ts +7 -7
  370. package/src/auth/magicLink/magicLinkCore.ts +96 -64
  371. package/src/auth/magicLink/redeemLanding.ts +14 -4
  372. package/src/auth/magicLink/types.ts +54 -54
  373. package/src/auth/newUsers.ts +1 -1
  374. package/src/auth/principals.ts +11 -2
  375. package/src/cache.ts +4 -1
  376. package/src/config.ts +37 -4
  377. package/src/context.ts +37 -24
  378. package/src/directives/Public.ts +4 -1
  379. package/src/directives/RequireSystemUser.ts +4 -1
  380. package/src/generated/graphql-schemas/__mj.ts +3674 -4
  381. package/src/generic/CacheInvalidationResolver.ts +148 -4
  382. package/src/generic/DeleteOptionsInput.ts +9 -2
  383. package/src/generic/FireAndForgetHeartbeat.ts +35 -16
  384. package/src/generic/OrphanedConversationDetailReconciler.ts +267 -0
  385. package/src/generic/PushStatusResolver.ts +118 -8
  386. package/src/generic/ResolverBase.ts +65 -57
  387. package/src/generic/RunViewResolver.ts +22 -22
  388. package/src/generic/__tests__/FireAndForgetHeartbeat.test.ts +7 -7
  389. package/src/index.ts +137 -11
  390. package/src/integration/CustomColumnPromoter.ts +6 -1
  391. package/src/integration/EntityMapLifecycle.ts +20 -2
  392. package/src/logging/NoLog.ts +16 -2
  393. package/src/logging/StartupLogger.ts +6 -1
  394. package/src/logging/bootAudit.ts +26 -16
  395. package/src/logging/boundaryLogPayload.ts +8 -1
  396. package/src/logging/secretRedactor.ts +14 -9
  397. package/src/logging/shortenForLog.ts +8 -3
  398. package/src/logging/variablesLoggingMiddleware.ts +9 -6
  399. package/src/metadataRefreshSignal.ts +45 -0
  400. package/src/middleware/MJTenantFilterMiddleware.ts +4 -4
  401. package/src/multiTenancy/index.ts +29 -5
  402. package/src/realtimeWidget/WidgetRouter.ts +15 -10
  403. package/src/realtimeWidget/WidgetSessionService.ts +76 -76
  404. package/src/realtimeWidget/host-identity.ts +24 -10
  405. package/src/realtimeWidget/index.ts +3 -3
  406. package/src/realtimeWidget/visitorIdentity.ts +39 -8
  407. package/src/realtimeWidget/widgetCore.ts +75 -10
  408. package/src/realtimeWidget/widgetGuestElevation.ts +25 -12
  409. package/src/resolvers/AdhocQueryResolver.ts +3 -3
  410. package/src/resolvers/AgentRunStatusPublisher.ts +175 -0
  411. package/src/resolvers/AgentSessionResolver.ts +3 -3
  412. package/src/resolvers/ColorResolver.ts +6 -6
  413. package/src/resolvers/ComponentRegistryResolver.ts +36 -36
  414. package/src/resolvers/ConversationRunEventsResolver.ts +308 -0
  415. package/src/resolvers/DuplicateEntryCheckResolver.ts +232 -0
  416. package/src/resolvers/EntityCommunicationsResolver.ts +4 -4
  417. package/src/resolvers/ExecuteRemoteOperationResolver.ts +9 -9
  418. package/src/resolvers/FetchEntityVectorsResolver.ts +2 -1
  419. package/src/resolvers/FileResolver.ts +42 -42
  420. package/src/resolvers/GeoResolver.ts +4 -4
  421. package/src/resolvers/GetDataResolver.ts +50 -15
  422. package/src/resolvers/IntegrationDiscoveryResolver.ts +2 -2
  423. package/src/resolvers/ListOperationsResolver.ts +78 -28
  424. package/src/resolvers/MCPResolver.ts +30 -15
  425. package/src/resolvers/MergeRecordsResolver.ts +14 -2
  426. package/src/resolvers/QueryResolver.ts +13 -13
  427. package/src/resolvers/RealtimeBridgeResolver.ts +3 -3
  428. package/src/resolvers/RealtimeClientSessionResolver.ts +96 -38
  429. package/src/resolvers/RemoteBrowserActionResolver.ts +5 -5
  430. package/src/resolvers/RunAIAgentResolver.ts +134 -239
  431. package/src/resolvers/RunAIPromptResolver.ts +22 -22
  432. package/src/resolvers/RunDecisionResolver.ts +435 -0
  433. package/src/resolvers/RunTemplateResolver.ts +4 -4
  434. package/src/resolvers/RunTestResolver.ts +25 -25
  435. package/src/resolvers/SqlLoggingConfigResolver.ts +56 -56
  436. package/src/resolvers/TaskGraphFrameResolver.ts +37 -28
  437. package/src/resolvers/TelemetryResolver.ts +79 -79
  438. package/src/resolvers/VectorizeEntityResolver.ts +16 -11
  439. package/src/resolvers/__tests__/GetDataResolver.tokens.test.ts +40 -38
  440. package/src/resolvers/__tests__/MergeRecordsResolver.test.ts +93 -0
  441. package/src/resolvers/__tests__/artifact-routing.test.ts +23 -23
  442. package/src/resolvers/adhoc-query-helpers.ts +19 -2
  443. package/src/resolvers/artifact-routing.ts +19 -19
  444. package/src/resolvers/meetingRecordingRegistration.ts +44 -10
  445. package/src/resolvers/peaksSidecar.ts +12 -2
  446. package/src/rest/EntityCRUDHandler.ts +24 -4
  447. package/src/rest/MediaStreamHandler.ts +11 -6
  448. package/src/rest/OAuthCallbackHandler.ts +25 -7
  449. package/src/rest/RESTEndpointHandler.ts +20 -15
  450. package/src/rest/RealtimeSdpBrokerHandler.ts +14 -4
  451. package/src/rest/SignatureWebhookHandler.ts +6 -1
  452. package/src/rest/UploadTokenManager.ts +66 -30
  453. package/src/rest/ViewOperationsHandler.ts +24 -4
  454. package/src/rest/mediaRange.ts +16 -6
  455. package/src/rest/setupRESTEndpoints.ts +24 -12
  456. package/src/serverExtensionReservedRoots.ts +6 -1
  457. package/src/services/TaskGraphActionRunner.ts +16 -15
  458. package/src/types.ts +21 -16
  459. package/src/util.ts +16 -6
@@ -96,11 +96,11 @@ export interface MintGuestSessionResult {
96
96
  /** Input to resolve a returning visitor's identity after they verify (RV4, magic-link upgrade path). */
97
97
  export interface ResolveVisitorIdentityInput {
98
98
  /** The widget's public embed key. */
99
- widgetKey: string;
99
+ WidgetKey: string;
100
100
  /** The durable returning-visitor anchor whose trail should be promoted to the verified identity. */
101
- visitorKey: string;
101
+ VisitorKey: string;
102
102
  /** The verified visitor's email (from the authenticated session) — resolved to a record via config. */
103
- verifiedEmail: string;
103
+ VerifiedEmail: string;
104
104
  /** The request's Origin header — enforced against the instance allowlist. */
105
105
  origin?: string;
106
106
  }
@@ -117,9 +117,9 @@ export interface ResolveVisitorIdentityResult {
117
117
  /** Input to a "forget me" request (RV5). */
118
118
  export interface ForgetVisitorInput {
119
119
  /** The widget's public embed key. */
120
- widgetKey: string;
120
+ WidgetKey: string;
121
121
  /** The durable returning-visitor anchor to forget. */
122
- visitorKey: string;
122
+ VisitorKey: string;
123
123
  /** The request's Origin header — enforced against the instance allowlist. */
124
124
  origin?: string;
125
125
  }
@@ -136,7 +136,7 @@ export interface ForgetVisitorResult {
136
136
  /** Input to request a magic-link identity upgrade for a live guest session (W5). */
137
137
  export interface UpgradeGuestSessionInput {
138
138
  /** The widget's public embed key. */
139
- widgetKey: string;
139
+ WidgetKey: string;
140
140
  /** The email to send the verification link to (becomes the provisioned user's email). */
141
141
  email: string;
142
142
  /** The request's Origin header — enforced against the instance allowlist. */
@@ -17,13 +17,13 @@ import { Metadata, RunView, LogError, LogStatus } from '@memberjunction/core';
17
17
  import { MJLruCache, UUIDsEqual } from '@memberjunction/global';
18
18
  import { ResolveConfiguredPrincipal } from '../auth/principals.js';
19
19
  import { MagicLinkKeyManager } from '../auth/magicLink/MagicLinkKeys.js';
20
- import { generateSessionId } from '../auth/magicLink/magicLinkCore.js';
20
+ import { GenerateSessionId } from '../auth/magicLink/magicLinkCore.js';
21
21
  import { MagicLinkService } from '../auth/magicLink/MagicLinkService.js';
22
22
  import { configInfo } from '../config.js';
23
- import { buildWidgetGuestClaims, evaluateWidgetMint, parseEnabledChannels } from './widgetCore.js';
24
- import { verifyHostAssertion } from './host-identity.js';
25
- import { writeReturningVisitorRecap } from '../agentSessions/ReturningVisitorRecap.js';
26
- import { resolveIdentityByEmail, mergeVisitorIdentity, forgetVisitor } from './visitorIdentity.js';
23
+ import { BuildWidgetGuestClaims, EvaluateWidgetMint, ParseEnabledChannels } from './widgetCore.js';
24
+ import { VerifyHostAssertion } from './host-identity.js';
25
+ import { WriteReturningVisitorRecap } from '../agentSessions/ReturningVisitorRecap.js';
26
+ import { ResolveIdentityByEmail, MergeVisitorIdentity, ForgetVisitor } from './visitorIdentity.js';
27
27
  const WIDGET_ENTITY = 'MJ: Conversation Widget Instances';
28
28
  const CONVERSATIONS_ENTITY = 'MJ: Conversations';
29
29
  /** Shape of the durable visitor anchor key (opaque base64url, same alphabet as generateSessionId). */
@@ -69,7 +69,7 @@ export class WidgetSessionService {
69
69
  if (!widget) {
70
70
  return this.audited({ success: false, errorCode: 'not_found', error: 'Unknown widget key.' }, input, undefined);
71
71
  }
72
- const eligibility = evaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, input.origin);
72
+ const eligibility = EvaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, input.origin);
73
73
  if (!eligibility.ok) {
74
74
  return this.audited({ success: false, errorCode: eligibility.errorCode, error: 'Widget mint rejected.' }, input, widget);
75
75
  }
@@ -172,11 +172,11 @@ export class WidgetSessionService {
172
172
  if (!contextUser) {
173
173
  return { success: false, errorCode: 'server_error', error: 'Server not configured for widget sessions.' };
174
174
  }
175
- const widget = await this.loadWidgetByKey(input.widgetKey, contextUser);
175
+ const widget = await this.loadWidgetByKey(input.WidgetKey, contextUser);
176
176
  if (!widget) {
177
177
  return { success: false, errorCode: 'not_found', error: 'Unknown widget key.' };
178
178
  }
179
- const eligibility = evaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, input.origin);
179
+ const eligibility = EvaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, input.origin);
180
180
  if (!eligibility.ok) {
181
181
  return { success: false, errorCode: eligibility.errorCode, error: 'Widget upgrade rejected.' };
182
182
  }
@@ -189,7 +189,7 @@ export class WidgetSessionService {
189
189
  return { success: false, errorCode: 'server_error', error: 'Identity verification is not configured.' };
190
190
  }
191
191
  const service = new MagicLinkService(this.publicUrl, magicLinkConfig);
192
- const result = await service.CreateInvite({ email, applicationId: widget.ApplicationID }, contextUser);
192
+ const result = await service.CreateInvite({ email, ApplicationId: widget.ApplicationID }, contextUser);
193
193
  if (!result.success) {
194
194
  LogError(`[Widget] Upgrade invite failed for widget ${widget.ID}: ${result.error ?? result.errorCode ?? 'unknown'}`);
195
195
  return { success: false, errorCode: 'server_error', error: 'Could not start identity verification.' };
@@ -212,9 +212,9 @@ export class WidgetSessionService {
212
212
  // Prefer the per-instance HostPublicKey column (Phase 3 — no config-resident keys); fall back to the
213
213
  // interim config map (keyed by PublicKey) for deployments that haven't migrated their key yet.
214
214
  const hostKey = widget.HostPublicKey ?? this.config.hostPublicKeys?.[widget.PublicKey];
215
- const result = verifyHostAssertion(assertion, hostKey, widget.PublicKey);
216
- if (result.ok && result.identity) {
217
- return result.identity;
215
+ const result = VerifyHostAssertion(assertion, hostKey, widget.PublicKey);
216
+ if (result.ok && result.Identity) {
217
+ return result.Identity;
218
218
  }
219
219
  LogError(`[Widget] Host assertion rejected for widget ${widget.ID}: ${result.errorCode ?? 'unknown'}`);
220
220
  return null;
@@ -225,8 +225,8 @@ export class WidgetSessionService {
225
225
  const ttlMinutes = widget.SessionTTLMinutes || this.config.defaultSessionTtlMinutes;
226
226
  // Generated once and returned to the client: the widget stamps Conversation.ExternalID with
227
227
  // this id so the Widget Guest RLS filters ({{ScopeResourceID}}) isolate this guest's rows.
228
- const sessionId = generateSessionId();
229
- const claims = buildWidgetGuestClaims({
228
+ const sessionId = GenerateSessionId();
229
+ const claims = BuildWidgetGuestClaims({
230
230
  issuer: this.publicUrl,
231
231
  audience: this.config.audience,
232
232
  widgetId: widget.ID,
@@ -260,7 +260,7 @@ export class WidgetSessionService {
260
260
  sessionId,
261
261
  // Phase 2: which interactive channels this widget may attach during a voice session. Read from the
262
262
  // per-instance EnabledChannels column (added by the Widget_Public_Hardening migration + CodeGen).
263
- enabledChannels: parseEnabledChannels(widget.EnabledChannels),
263
+ enabledChannels: ParseEnabledChannels(widget.EnabledChannels),
264
264
  voiceMaxSessionMinutes: widget.VoiceMaxSessionMinutes ?? undefined,
265
265
  rememberReturningVisitors: !!returningVisitor,
266
266
  visitorKey: returningVisitor?.visitorKey,
@@ -279,11 +279,11 @@ export class WidgetSessionService {
279
279
  if (!widget.RememberReturningVisitors || !hostIdentity?.email || !returningVisitor?.visitorKey) {
280
280
  return undefined;
281
281
  }
282
- const identity = await resolveIdentityByEmail(hostIdentity.email, contextUser, Metadata.Provider, this.config.identityResolution); // global-provider-ok: server-side mint under the single default provider
282
+ const identity = await ResolveIdentityByEmail(hostIdentity.email, contextUser, Metadata.Provider, this.config.identityResolution); // global-provider-ok: server-side mint under the single default provider
283
283
  if (!identity) {
284
284
  return undefined;
285
285
  }
286
- await mergeVisitorIdentity({
286
+ await MergeVisitorIdentity({
287
287
  visitorKey: returningVisitor.visitorKey,
288
288
  applicationId: widget.ApplicationID,
289
289
  identity,
@@ -300,17 +300,17 @@ export class WidgetSessionService {
300
300
  */
301
301
  async ResolveVisitorIdentity(input) {
302
302
  try {
303
- const gate = await this.gateVisitorPrivacyRequest(input.widgetKey, input.visitorKey, input.origin);
303
+ const gate = await this.gateVisitorPrivacyRequest(input.WidgetKey, input.VisitorKey, input.origin);
304
304
  if (!gate.ok) {
305
305
  return { success: false, errorCode: gate.errorCode, error: gate.error };
306
306
  }
307
- const identity = await resolveIdentityByEmail(input.verifiedEmail, gate.contextUser, Metadata.Provider, this.config.identityResolution); // global-provider-ok: server-side mint under the single default provider
307
+ const identity = await ResolveIdentityByEmail(input.VerifiedEmail, gate.contextUser, Metadata.Provider, this.config.identityResolution); // global-provider-ok: server-side mint under the single default provider
308
308
  if (!identity) {
309
309
  // Verified, but no record matches the email under the configured target — nothing to merge.
310
310
  return { success: true, mergedConversations: 0 };
311
311
  }
312
- const mergedConversations = await mergeVisitorIdentity({
313
- visitorKey: input.visitorKey,
312
+ const mergedConversations = await MergeVisitorIdentity({
313
+ visitorKey: input.VisitorKey,
314
314
  applicationId: gate.widget.ApplicationID,
315
315
  identity,
316
316
  contextUser: gate.contextUser,
@@ -330,12 +330,12 @@ export class WidgetSessionService {
330
330
  */
331
331
  async ForgetVisitor(input) {
332
332
  try {
333
- const gate = await this.gateVisitorPrivacyRequest(input.widgetKey, input.visitorKey, input.origin);
333
+ const gate = await this.gateVisitorPrivacyRequest(input.WidgetKey, input.VisitorKey, input.origin);
334
334
  if (!gate.ok) {
335
335
  return { success: false, errorCode: gate.errorCode, error: gate.error };
336
336
  }
337
- const { notesArchived, conversationsCleared } = await forgetVisitor({
338
- visitorKey: input.visitorKey,
337
+ const { notesArchived, conversationsCleared } = await ForgetVisitor({
338
+ visitorKey: input.VisitorKey,
339
339
  applicationId: gate.widget.ApplicationID,
340
340
  contextUser: gate.contextUser,
341
341
  provider: Metadata.Provider, // global-provider-ok: server-side mint under the single default provider
@@ -361,7 +361,7 @@ export class WidgetSessionService {
361
361
  if (!widget) {
362
362
  return { ok: false, errorCode: 'not_found', error: 'Unknown widget key.' };
363
363
  }
364
- const eligibility = evaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, origin);
364
+ const eligibility = EvaluateWidgetMint({ Status: widget.Status, AllowedOrigins: widget.AllowedOrigins, Modality: widget.Modality }, origin);
365
365
  if (!eligibility.ok) {
366
366
  return { ok: false, errorCode: eligibility.errorCode ?? 'server_error', error: 'Widget request rejected.' };
367
367
  }
@@ -386,7 +386,7 @@ export class WidgetSessionService {
386
386
  }
387
387
  const presented = (presentedKey ?? '').trim();
388
388
  const isReturning = VISITOR_KEY_PATTERN.test(presented);
389
- const visitorKey = isReturning ? presented : generateSessionId();
389
+ const visitorKey = isReturning ? presented : GenerateSessionId();
390
390
  const lastConversationId = isReturning
391
391
  ? await this.findPreviousConversationByVisitorKey(visitorKey, widget.ApplicationID, contextUser)
392
392
  : undefined;
@@ -406,7 +406,7 @@ export class WidgetSessionService {
406
406
  return;
407
407
  }
408
408
  // global-provider-ok: server-side mint under the single default provider (same rationale as resolveGuestRoleName).
409
- await writeReturningVisitorRecap(priorConversationId, widget.PinnedAgentID, contextUser, Metadata.Provider, // global-provider-ok: server-side mint under the single default provider
409
+ await WriteReturningVisitorRecap(priorConversationId, widget.PinnedAgentID, contextUser, Metadata.Provider, // global-provider-ok: server-side mint under the single default provider
410
410
  widget.VisitorMemoryRetentionDays);
411
411
  }
412
412
  /**
@@ -26,7 +26,7 @@ export interface HostAssertedIdentity {
26
26
  /** Result of verifying a host assertion. `identity` is present iff `ok` is true. */
27
27
  export interface HostAssertionResult {
28
28
  ok: boolean;
29
- identity?: HostAssertedIdentity;
29
+ Identity?: HostAssertedIdentity;
30
30
  errorCode?: HostAssertionError;
31
31
  }
32
32
  /**
@@ -34,7 +34,11 @@ export interface HostAssertionResult {
34
34
  * asserted visitor identity. Thin adapter over {@link HostIdentityProvider.VerifyHostAssertion} (the single
35
35
  * implementation, registered in the AuthProviderFactory) preserving this module's result shape. Never throws.
36
36
  */
37
+ export declare function VerifyHostAssertion(assertion: string | undefined, hostPublicKeyPem: string | undefined, expectedAudience: string): HostAssertionResult;
38
+ /** @deprecated Use {@link VerifyHostAssertion}. */
37
39
  export declare function verifyHostAssertion(assertion: string | undefined, hostPublicKeyPem: string | undefined, expectedAudience: string): HostAssertionResult;
38
40
  /** Pulls the visitor identity from a verified host-assertion payload (delegates to the provider). */
41
+ export declare function ExtractHostIdentity(payload: jwt.JwtPayload): HostAssertedIdentity;
42
+ /** @deprecated Use {@link ExtractHostIdentity}. */
39
43
  export declare function extractHostIdentity(payload: jwt.JwtPayload): HostAssertedIdentity;
40
44
  //# sourceMappingURL=host-identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-identity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,6FAA6F;AAC7F,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAeD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,gBAAgB,EAAE,MAAM,GACzB,mBAAmB,CAcrB;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAQjF"}
1
+ {"version":3,"file":"host-identity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,6FAA6F;AAC7F,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAeD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,gBAAgB,EAAE,MAAM,GACzB,mBAAmB,CAcrB;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,gBAAgB,EAAE,MAAM,GACzB,mBAAmB,CAErB;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAQjF;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,oBAAoB,CAEjF"}
@@ -30,14 +30,14 @@ const hostIdentityProvider = new HostIdentityProvider({
30
30
  * asserted visitor identity. Thin adapter over {@link HostIdentityProvider.VerifyHostAssertion} (the single
31
31
  * implementation, registered in the AuthProviderFactory) preserving this module's result shape. Never throws.
32
32
  */
33
- export function verifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience) {
33
+ export function VerifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience) {
34
34
  const result = hostIdentityProvider.VerifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience);
35
35
  if (!result.ok || !result.userInfo?.email) {
36
36
  return { ok: false, errorCode: result.errorCode };
37
37
  }
38
38
  return {
39
39
  ok: true,
40
- identity: {
40
+ Identity: {
41
41
  email: result.userInfo.email,
42
42
  firstName: result.userInfo.firstName,
43
43
  lastName: result.userInfo.lastName,
@@ -45,8 +45,12 @@ export function verifyHostAssertion(assertion, hostPublicKeyPem, expectedAudienc
45
45
  },
46
46
  };
47
47
  }
48
+ /** @deprecated Use {@link VerifyHostAssertion}. */
49
+ export function verifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience) {
50
+ return VerifyHostAssertion(assertion, hostPublicKeyPem, expectedAudience);
51
+ }
48
52
  /** Pulls the visitor identity from a verified host-assertion payload (delegates to the provider). */
49
- export function extractHostIdentity(payload) {
53
+ export function ExtractHostIdentity(payload) {
50
54
  const info = hostIdentityProvider.extractUserInfo(payload);
51
55
  return {
52
56
  email: info.email ?? '',
@@ -55,4 +59,8 @@ export function extractHostIdentity(payload) {
55
59
  hostUserId: typeof payload.sub === 'string' ? payload.sub : undefined,
56
60
  };
57
61
  }
62
+ /** @deprecated Use {@link ExtractHostIdentity}. */
63
+ export function extractHostIdentity(payload) {
64
+ return ExtractHostIdentity(payload);
65
+ }
58
66
  //# sourceMappingURL=host-identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-identity.js","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAA2B,MAAM,gCAAgC,CAAC;AAoB/F;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;IAClD,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,oCAAoC;CAChD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAC/B,SAA6B,EAC7B,gBAAoC,EACpC,gBAAwB;IAExB,MAAM,MAAM,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACvG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC;IACD,OAAO;QACH,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;YAC5B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC;KACJ,CAAC;AACN,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"host-identity.js","sourceRoot":"","sources":["../../src/realtimeWidget/host-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAA2B,MAAM,gCAAgC,CAAC;AAoB/F;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;IAClD,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,oCAAoC;CAChD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAC/B,SAA6B,EAC7B,gBAAoC,EACpC,gBAAwB;IAExB,MAAM,MAAM,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACvG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IACtD,CAAC;IACD,OAAO;QACH,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;YAC5B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC;KACJ,CAAC;AACN,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAC/B,SAA6B,EAC7B,gBAAoC,EACpC,gBAAwB;IAExB,OAAO,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC9E,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,MAAM,IAAI,GAAG,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC3D,OAAO;QACH,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;KACxE,CAAC;AACN,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACvD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC"}
@@ -3,8 +3,8 @@
3
3
  * @module @memberjunction/server/widget
4
4
  */
5
5
  export * from './widgetCore.js';
6
- export { verifyHostAssertion, extractHostIdentity, type HostAssertedIdentity, type HostAssertionResult, type HostAssertionError, } from './host-identity.js';
6
+ export { VerifyHostAssertion, verifyHostAssertion, ExtractHostIdentity, extractHostIdentity, type HostAssertedIdentity, type HostAssertionResult, type HostAssertionError, } from './host-identity.js';
7
7
  export { WidgetSessionService } from './WidgetSessionService.js';
8
8
  export type { MintGuestSessionInput, MintGuestSessionResult, WidgetMintAuditContext } from './WidgetSessionService.js';
9
- export { createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
9
+ export { CreateWidgetHandler, createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACvH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,mBAAmB,EACxC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACvH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * @module @memberjunction/server/widget
4
4
  */
5
5
  export * from './widgetCore.js';
6
- export { verifyHostAssertion, extractHostIdentity, } from './host-identity.js';
6
+ export { VerifyHostAssertion, verifyHostAssertion, ExtractHostIdentity, extractHostIdentity, } from './host-identity.js';
7
7
  export { WidgetSessionService } from './WidgetSessionService.js';
8
- export { createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
8
+ export { CreateWidgetHandler, createWidgetHandler, WIDGET_MOUNT_PATH } from './WidgetRouter.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAIpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimeWidget/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,mBAAmB,GAIzC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -32,13 +32,15 @@ export interface ResolvedVisitorIdentity {
32
32
  /** The deployment-configurable resolution target (defaults to the core `Users` entity keyed by `Email`). */
33
33
  export interface IdentityResolutionTarget {
34
34
  entityName?: string;
35
- emailField?: string;
35
+ EmailField?: string;
36
36
  }
37
37
  /**
38
38
  * Resolves a verified email to a polymorphic `(entityId, recordId)` pair via the deployment-configured
39
39
  * target (default: the `Users` entity keyed by `Email`). Returns undefined when no record matches — the
40
40
  * visitor simply stays anonymous. Never throws; email is escaped for the filter literal.
41
41
  */
42
+ export declare function ResolveIdentityByEmail(email: string, contextUser: UserInfo, provider: IMetadataProvider, target?: IdentityResolutionTarget): Promise<ResolvedVisitorIdentity | undefined>;
43
+ /** @deprecated Use {@link ResolveIdentityByEmail}. */
42
44
  export declare function resolveIdentityByEmail(email: string, contextUser: UserInfo, provider: IMetadataProvider, target?: IdentityResolutionTarget): Promise<ResolvedVisitorIdentity | undefined>;
43
45
  /**
44
46
  * Promotes a visitor's anonymous trail to a resolved identity (RV4): stamps the resolved pair on every
@@ -48,6 +50,14 @@ export declare function resolveIdentityByEmail(email: string, contextUser: UserI
48
50
  *
49
51
  * @returns the number of conversations stamped (0 when nothing matched the key).
50
52
  */
53
+ export declare function MergeVisitorIdentity(args: {
54
+ visitorKey: string;
55
+ applicationId: string;
56
+ identity: ResolvedVisitorIdentity;
57
+ contextUser: UserInfo;
58
+ provider: IMetadataProvider;
59
+ }): Promise<number>;
60
+ /** @deprecated Use {@link MergeVisitorIdentity}. */
51
61
  export declare function mergeVisitorIdentity(args: {
52
62
  visitorKey: string;
53
63
  applicationId: string;
@@ -64,6 +74,16 @@ export declare function mergeVisitorIdentity(args: {
64
74
  *
65
75
  * @returns a summary of what was archived/cleared.
66
76
  */
77
+ export declare function ForgetVisitor(args: {
78
+ visitorKey: string;
79
+ applicationId: string;
80
+ contextUser: UserInfo;
81
+ provider: IMetadataProvider;
82
+ }): Promise<{
83
+ notesArchived: number;
84
+ conversationsCleared: number;
85
+ }>;
86
+ /** @deprecated Use {@link ForgetVisitor}. */
67
87
  export declare function forgetVisitor(args: {
68
88
  visitorKey: string;
69
89
  applicationId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"visitorIdentity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAyB,QAAQ,EAAuB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMpH,6FAA6F;AAC7F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4GAA4G;AAC5G,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAiD9C;AAyBD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAgDnE"}
1
+ {"version":3,"file":"visitorIdentity.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAyB,QAAQ,EAAuB,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAMpH,6FAA6F;AAC7F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,4GAA4G;AAC5G,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAiD9C;AAED,sDAAsD;AACtD,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAE9C;AAyBD;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAgClB;AAED,oDAAoD;AACpD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC,MAAM,CAAC,CAElB;AAoCD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAgDnE;AAED,6CAA6C;AAC7C,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAEnE"}
@@ -31,14 +31,14 @@ const AGENT_NOTES_ENTITY = 'MJ: AI Agent Notes';
31
31
  * target (default: the `Users` entity keyed by `Email`). Returns undefined when no record matches — the
32
32
  * visitor simply stays anonymous. Never throws; email is escaped for the filter literal.
33
33
  */
34
- export async function resolveIdentityByEmail(email, contextUser, provider, target) {
34
+ export async function ResolveIdentityByEmail(email, contextUser, provider, target) {
35
35
  try {
36
36
  const trimmed = (email ?? '').trim();
37
37
  if (!trimmed) {
38
38
  return undefined;
39
39
  }
40
40
  const entityName = target?.entityName?.trim() || 'Users';
41
- const emailField = target?.emailField?.trim() || 'Email';
41
+ const emailField = target?.EmailField?.trim() || 'Email';
42
42
  const entityInfo = provider.EntityByName(entityName);
43
43
  if (!entityInfo) {
44
44
  LogError(`[VisitorIdentity] identity-resolution entity '${entityName}' not found in metadata.`);
@@ -79,6 +79,10 @@ export async function resolveIdentityByEmail(email, contextUser, provider, targe
79
79
  return undefined;
80
80
  }
81
81
  }
82
+ /** @deprecated Use {@link ResolveIdentityByEmail}. */
83
+ export async function resolveIdentityByEmail(email, contextUser, provider, target) {
84
+ return ResolveIdentityByEmail(email, contextUser, provider, target);
85
+ }
82
86
  /** Loads every conversation sharing a VisitorKey within one application (entity objects, for mutation). */
83
87
  async function loadVisitorConversations(visitorKey, applicationId, contextUser) {
84
88
  const rv = new RunView();
@@ -102,7 +106,7 @@ async function loadVisitorConversations(visitorKey, applicationId, contextUser)
102
106
  *
103
107
  * @returns the number of conversations stamped (0 when nothing matched the key).
104
108
  */
105
- export async function mergeVisitorIdentity(args) {
109
+ export async function MergeVisitorIdentity(args) {
106
110
  try {
107
111
  const conversations = await loadVisitorConversations(args.visitorKey, args.applicationId, args.contextUser);
108
112
  if (conversations.length === 0) {
@@ -134,6 +138,10 @@ export async function mergeVisitorIdentity(args) {
134
138
  return 0;
135
139
  }
136
140
  }
141
+ /** @deprecated Use {@link MergeVisitorIdentity}. */
142
+ export async function mergeVisitorIdentity(args) {
143
+ return MergeVisitorIdentity(args);
144
+ }
137
145
  /** Re-keys notes scoped to `(Conversations entity, conversationId)` onto the resolved pair. */
138
146
  async function rekeyAnonymousNotes(conversationIds, conversationsEntityId, identity, contextUser, provider) {
139
147
  if (conversationIds.length === 0) {
@@ -167,7 +175,7 @@ async function rekeyAnonymousNotes(conversationIds, conversationsEntityId, ident
167
175
  *
168
176
  * @returns a summary of what was archived/cleared.
169
177
  */
170
- export async function forgetVisitor(args) {
178
+ export async function ForgetVisitor(args) {
171
179
  let notesArchived = 0;
172
180
  let conversationsCleared = 0;
173
181
  try {
@@ -214,4 +222,8 @@ export async function forgetVisitor(args) {
214
222
  }
215
223
  return { notesArchived, conversationsCleared };
216
224
  }
225
+ /** @deprecated Use {@link ForgetVisitor}. */
226
+ export async function forgetVisitor(args) {
227
+ return ForgetVisitor(args);
228
+ }
217
229
  //# sourceMappingURL=visitorIdentity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visitorIdentity.js","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAY,QAAQ,EAAE,SAAS,EAA0B,MAAM,sBAAsB,CAAC;AAGpH,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACjD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAchD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAa,EACb,WAAqB,EACrB,QAA2B,EAC3B,MAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;QACzD,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC;QACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,iDAAiD,UAAU,0BAA0B,CAAC,CAAC;YAChG,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;QAC/B,2FAA2F;QAC3F,2FAA2F;QAC3F,oFAAoF;QACpF,8FAA8F;QAC9F,oEAAoE;QACpE,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B;YACE,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,GAAG,UAAU,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;YAC/D,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,QAAQ;SACrB,EACD,WAAW,CACZ,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,CAAC,iDAAiD,UAAU,IAAI,UAAU,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/G,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;YACrF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,oDAAoD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3G,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,2GAA2G;AAC3G,KAAK,UAAU,wBAAwB,CACrC,UAAkB,EAClB,aAAqB,EACrB,WAAqB;IAErB,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACzB,2FAA2F;IAC3F,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B;QACE,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,iBAAiB,UAAU,0BAA0B,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;QACtG,UAAU,EAAE,eAAe;KAC5B,EACD,WAAW,CACZ,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,2DAA2D,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3F,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAM1C;IACC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5G,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC;QAEnF,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvG,SAAS,CAAC,oCAAoC;YAChD,CAAC;YACD,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,IAAI,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,uEAAuE,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,YAAY,EAAE,eAAe,IAAI,SAAS,EAAE,CAAC,CAAC;YACnJ,CAAC;QACH,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,mBAAmB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnI,CAAC;QAED,SAAS,CAAC,oCAAoC,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,WAAW,OAAO,kBAAkB,CAAC,CAAC;QACzJ,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,kDAAkD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzG,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,+FAA+F;AAC/F,KAAK,UAAU,mBAAmB,CAChC,eAAyB,EACzB,qBAA6B,EAC7B,QAAiC,EACjC,WAAqB,EACrB,QAA2B;IAE3B,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrF,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAC7B;QACE,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE,2BAA2B,qBAAqB,kCAAkC,MAAM,GAAG;QACxG,UAAU,EAAE,eAAe;KAC5B,EACD,WAAW,CACZ,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,QAAQ,CAAC,gEAAgE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,2CAA2C,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,eAAe,IAAI,SAAS,EAAE,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAKnC;IACC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5G,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpF,8FAA8F;QAC9F,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAC5B;YACE,UAAU,EAAE,kBAAkB;YAC9B,WAAW,EAAE,oDAAoD,MAAM,4BAA4B;YACnG,UAAU,EAAE,eAAe;SAC5B,EACD,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;gBACzB,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtB,aAAa,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,4CAA4C,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,eAAe,IAAI,SAAS,EAAE,CAAC,CAAC;gBACtH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,sDAAsD,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,gGAAgG;QAChG,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,IAAI,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,oBAAoB,EAAE,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,gEAAgE,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,YAAY,EAAE,eAAe,IAAI,SAAS,EAAE,CAAC,CAAC;YAC5I,CAAC;QACH,CAAC;QAED,SAAS,CAAC,oCAAoC,IAAI,CAAC,UAAU,cAAc,aAAa,qBAAqB,oBAAoB,uBAAuB,CAAC,CAAC;IAC5J,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,2CAA2C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"visitorIdentity.js","sourceRoot":"","sources":["../../src/realtimeWidget/visitorIdentity.ts"],"names":[],"mappings":"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"}
@@ -32,20 +32,28 @@ export interface WidgetInstanceEligibilityInput {
32
32
  * comma-separated string (tolerated). Returns an empty array for null/blank/garbage
33
33
  * — which makes the allowlist FAIL-CLOSED (no origin is allowed) by construction.
34
34
  */
35
+ export declare function ParseAllowedOrigins(allowedOrigins: string | null | undefined): string[];
36
+ /** @deprecated Use {@link ParseAllowedOrigins}. */
35
37
  export declare function parseAllowedOrigins(allowedOrigins: string | null | undefined): string[];
36
38
  /**
37
39
  * Parses the widget's `EnabledChannels` column into a clean list of channel names (Phase 2). Accepts a
38
40
  * JSON array (preferred, e.g. `["Whiteboard"]`) or a comma-separated string (tolerated). Returns an
39
41
  * empty array for null/blank/garbage — the backwards-compatible default (no channels attached).
40
42
  */
43
+ export declare function ParseEnabledChannels(enabledChannels: string | null | undefined): string[];
44
+ /** @deprecated Use {@link ParseEnabledChannels}. */
41
45
  export declare function parseEnabledChannels(enabledChannels: string | null | undefined): string[];
42
46
  /**
43
47
  * FAIL-CLOSED origin check. The request's `Origin` header must exactly match one of
44
48
  * the widget's allowed origins (after normalization). A missing request origin, or
45
49
  * an empty allowlist, is rejected — a public mint endpoint must never accept "*".
46
50
  */
51
+ export declare function IsOriginAllowed(requestOrigin: string | null | undefined, allowedOrigins: readonly string[]): boolean;
52
+ /** @deprecated Use {@link IsOriginAllowed}. */
47
53
  export declare function isOriginAllowed(requestOrigin: string | null | undefined, allowedOrigins: readonly string[]): boolean;
48
54
  /** True when the requested modality (or the widget's default render) is enabled by the instance. */
55
+ export declare function IsModalityEnabled(widgetModality: string, requested: 'Text' | 'Voice'): boolean;
56
+ /** @deprecated Use {@link IsModalityEnabled}. */
49
57
  export declare function isModalityEnabled(widgetModality: string, requested: 'Text' | 'Voice'): boolean;
50
58
  /**
51
59
  * Pure eligibility check for a mint: the widget must be Active and the request's
@@ -53,6 +61,11 @@ export declare function isModalityEnabled(widgetModality: string, requested: 'Te
53
61
  * router can map it to a precise HTTP status. Modality is checked separately by the
54
62
  * voice path (W4) since a text mint is always permitted for an enabled widget.
55
63
  */
64
+ export declare function EvaluateWidgetMint(widget: WidgetInstanceEligibilityInput, requestOrigin: string | null | undefined): {
65
+ ok: boolean;
66
+ errorCode?: WidgetMintErrorCode;
67
+ };
68
+ /** @deprecated Use {@link EvaluateWidgetMint}. */
56
69
  export declare function evaluateWidgetMint(widget: WidgetInstanceEligibilityInput, requestOrigin: string | null | undefined): {
57
70
  ok: boolean;
58
71
  errorCode?: WidgetMintErrorCode;
@@ -63,6 +76,8 @@ export declare function evaluateWidgetMint(widget: WidgetInstanceEligibilityInpu
63
76
  * known automation marker. Deliberately conservative to avoid false positives on real browsers; pair
64
77
  * with the origin allowlist + rate limits, which are the hard controls.
65
78
  */
79
+ export declare function LooksLikeBot(userAgent: string | null | undefined): boolean;
80
+ /** @deprecated Use {@link LooksLikeBot}. */
66
81
  export declare function looksLikeBot(userAgent: string | null | undefined): boolean;
67
82
  /**
68
83
  * Builds the guest-session JWT claims for a widget visitor. Reuses magic-link's
@@ -71,6 +86,39 @@ export declare function looksLikeBot(userAgent: string | null | undefined): bool
71
86
  * principal is locked to one widget instance. The role name carried here is the
72
87
  * widget's restricted guest role (D5 backstop).
73
88
  */
89
+ export declare function BuildWidgetGuestClaims(args: {
90
+ issuer: string;
91
+ audience: string;
92
+ widgetId: string;
93
+ sessionId: string;
94
+ anonymousEmail: string;
95
+ applicationId: string;
96
+ guestRoleName: string;
97
+ nowSeconds: number;
98
+ ttlSeconds: number;
99
+ /**
100
+ * Host-asserted identity for a `host-identity` session. Its email/name are carried as
101
+ * INFORMATIONAL claims only — the principal-resolving `email`/`sub` remain the shared
102
+ * Anonymous principal, so a host can never escalate a guest into a real account.
103
+ */
104
+ hostIdentity?: {
105
+ email: string;
106
+ firstName?: string;
107
+ lastName?: string;
108
+ };
109
+ /**
110
+ * Returning-visitor anchor + linked identity (RV1/RV2/RV4) carried as claims so the VOICE path
111
+ * (server-created conversation) stamps the same fields the text path stamps client-side. Set only
112
+ * when the widget remembers returning visitors. Omitted ⇒ no returning-visitor claims (default off).
113
+ */
114
+ returningVisitor?: {
115
+ visitorKey?: string;
116
+ lastConversationId?: string;
117
+ linkedEntityId?: string;
118
+ linkedRecordId?: string;
119
+ };
120
+ }): MagicLinkJWTClaims;
121
+ /** @deprecated Use {@link BuildWidgetGuestClaims}. */
74
122
  export declare function buildWidgetGuestClaims(args: {
75
123
  issuer: string;
76
124
  audience: string;
@@ -1 +1 @@
1
- {"version":3,"file":"widgetCore.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/widgetCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,mFAAmF;AACnF,MAAM,MAAM,mBAAmB,GACzB,WAAW,GACX,UAAU,GACV,oBAAoB,GACpB,sBAAsB,GACtB,wBAAwB,GACxB,qBAAqB,GACrB,eAAe,GACf,cAAc,CAAC;AAErB,2FAA2F;AAC3F,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAgBvF;AAOD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAazF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,cAAc,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAMpH;AAED,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAM9F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,8BAA8B,EACtC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAQlD;AAcD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAM1E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH,GAAG,kBAAkB,CAsCrB"}
1
+ {"version":3,"file":"widgetCore.d.ts","sourceRoot":"","sources":["../../src/realtimeWidget/widgetCore.ts"],"names":[],"mappings":"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"}