@memberjunction/server 6.2.0-edge.0 → 6.2.0-edge.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) 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 +11 -0
  69. package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
  70. package/dist/generated/graphql-schemas/__mj.js +48 -0
  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 +3 -1
  81. package/dist/generic/FireAndForgetHeartbeat.d.ts.map +1 -1
  82. package/dist/generic/FireAndForgetHeartbeat.js +8 -4
  83. package/dist/generic/FireAndForgetHeartbeat.js.map +1 -1
  84. package/dist/generic/PushStatusResolver.d.ts +10 -1
  85. package/dist/generic/PushStatusResolver.d.ts.map +1 -1
  86. package/dist/generic/PushStatusResolver.js +11 -3
  87. package/dist/generic/PushStatusResolver.js.map +1 -1
  88. package/dist/generic/ResolverBase.d.ts +5 -1
  89. package/dist/generic/ResolverBase.d.ts.map +1 -1
  90. package/dist/generic/ResolverBase.js +15 -8
  91. package/dist/generic/ResolverBase.js.map +1 -1
  92. package/dist/index.d.ts +6 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +30 -9
  95. package/dist/index.js.map +1 -1
  96. package/dist/integration/CustomColumnPromoter.d.ts +2 -0
  97. package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
  98. package/dist/integration/CustomColumnPromoter.js +5 -1
  99. package/dist/integration/CustomColumnPromoter.js.map +1 -1
  100. package/dist/integration/EntityMapLifecycle.d.ts +4 -0
  101. package/dist/integration/EntityMapLifecycle.d.ts.map +1 -1
  102. package/dist/integration/EntityMapLifecycle.js +10 -2
  103. package/dist/integration/EntityMapLifecycle.js.map +1 -1
  104. package/dist/logging/NoLog.d.ts +4 -0
  105. package/dist/logging/NoLog.d.ts.map +1 -1
  106. package/dist/logging/NoLog.js +10 -2
  107. package/dist/logging/NoLog.js.map +1 -1
  108. package/dist/logging/StartupLogger.d.ts +2 -0
  109. package/dist/logging/StartupLogger.d.ts.map +1 -1
  110. package/dist/logging/StartupLogger.js +5 -1
  111. package/dist/logging/StartupLogger.js.map +1 -1
  112. package/dist/logging/bootAudit.d.ts +11 -7
  113. package/dist/logging/bootAudit.d.ts.map +1 -1
  114. package/dist/logging/bootAudit.js +15 -7
  115. package/dist/logging/bootAudit.js.map +1 -1
  116. package/dist/logging/boundaryLogPayload.d.ts +4 -0
  117. package/dist/logging/boundaryLogPayload.d.ts.map +1 -1
  118. package/dist/logging/boundaryLogPayload.js +5 -1
  119. package/dist/logging/boundaryLogPayload.js.map +1 -1
  120. package/dist/logging/secretRedactor.d.ts +2 -0
  121. package/dist/logging/secretRedactor.d.ts.map +1 -1
  122. package/dist/logging/secretRedactor.js +8 -4
  123. package/dist/logging/secretRedactor.js.map +1 -1
  124. package/dist/logging/shortenForLog.d.ts +2 -0
  125. package/dist/logging/shortenForLog.d.ts.map +1 -1
  126. package/dist/logging/shortenForLog.js +7 -3
  127. package/dist/logging/shortenForLog.js.map +1 -1
  128. package/dist/logging/variablesLoggingMiddleware.d.ts +2 -0
  129. package/dist/logging/variablesLoggingMiddleware.d.ts.map +1 -1
  130. package/dist/logging/variablesLoggingMiddleware.js +8 -6
  131. package/dist/logging/variablesLoggingMiddleware.js.map +1 -1
  132. package/dist/metadataRefreshSignal.d.ts +19 -0
  133. package/dist/metadataRefreshSignal.d.ts.map +1 -0
  134. package/dist/metadataRefreshSignal.js +45 -0
  135. package/dist/metadataRefreshSignal.js.map +1 -0
  136. package/dist/middleware/MJTenantFilterMiddleware.js +4 -4
  137. package/dist/multiTenancy/index.d.ts +8 -0
  138. package/dist/multiTenancy/index.d.ts.map +1 -1
  139. package/dist/multiTenancy/index.js +21 -5
  140. package/dist/multiTenancy/index.js.map +1 -1
  141. package/dist/realtimeWidget/WidgetRouter.d.ts +5 -0
  142. package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
  143. package/dist/realtimeWidget/WidgetRouter.js +14 -10
  144. package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
  145. package/dist/realtimeWidget/WidgetSessionService.d.ts +6 -6
  146. package/dist/realtimeWidget/WidgetSessionService.js +27 -27
  147. package/dist/realtimeWidget/host-identity.d.ts +5 -1
  148. package/dist/realtimeWidget/host-identity.d.ts.map +1 -1
  149. package/dist/realtimeWidget/host-identity.js +11 -3
  150. package/dist/realtimeWidget/host-identity.js.map +1 -1
  151. package/dist/realtimeWidget/index.d.ts +2 -2
  152. package/dist/realtimeWidget/index.d.ts.map +1 -1
  153. package/dist/realtimeWidget/index.js +2 -2
  154. package/dist/realtimeWidget/index.js.map +1 -1
  155. package/dist/realtimeWidget/visitorIdentity.d.ts +21 -1
  156. package/dist/realtimeWidget/visitorIdentity.d.ts.map +1 -1
  157. package/dist/realtimeWidget/visitorIdentity.js +16 -4
  158. package/dist/realtimeWidget/visitorIdentity.js.map +1 -1
  159. package/dist/realtimeWidget/widgetCore.d.ts +48 -0
  160. package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
  161. package/dist/realtimeWidget/widgetCore.js +38 -10
  162. package/dist/realtimeWidget/widgetCore.js.map +1 -1
  163. package/dist/realtimeWidget/widgetGuestElevation.d.ts +10 -6
  164. package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
  165. package/dist/realtimeWidget/widgetGuestElevation.js +14 -6
  166. package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
  167. package/dist/resolvers/AdhocQueryResolver.js +3 -3
  168. package/dist/resolvers/FileResolver.js +3 -3
  169. package/dist/resolvers/GeoResolver.d.ts +2 -2
  170. package/dist/resolvers/GeoResolver.js +4 -4
  171. package/dist/resolvers/GetDataResolver.d.ts +14 -0
  172. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  173. package/dist/resolvers/GetDataResolver.js +43 -15
  174. package/dist/resolvers/GetDataResolver.js.map +1 -1
  175. package/dist/resolvers/IntegrationDiscoveryResolver.js +2 -2
  176. package/dist/resolvers/ListOperationsResolver.d.ts +20 -0
  177. package/dist/resolvers/ListOperationsResolver.d.ts.map +1 -1
  178. package/dist/resolvers/ListOperationsResolver.js +68 -28
  179. package/dist/resolvers/ListOperationsResolver.js.map +1 -1
  180. package/dist/resolvers/MCPResolver.d.ts +11 -1
  181. package/dist/resolvers/MCPResolver.d.ts.map +1 -1
  182. package/dist/resolvers/MCPResolver.js +7 -3
  183. package/dist/resolvers/MCPResolver.js.map +1 -1
  184. package/dist/resolvers/RealtimeBridgeResolver.js +3 -3
  185. package/dist/resolvers/RealtimeClientSessionResolver.js +3 -3
  186. package/dist/resolvers/RemoteBrowserActionResolver.js +5 -5
  187. package/dist/resolvers/RunAIAgentResolver.d.ts +10 -4
  188. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  189. package/dist/resolvers/RunAIAgentResolver.js +69 -38
  190. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  191. package/dist/resolvers/RunAIPromptResolver.d.ts +1 -1
  192. package/dist/resolvers/RunAIPromptResolver.js +2 -2
  193. package/dist/resolvers/RunTestResolver.js +5 -5
  194. package/dist/resolvers/SqlLoggingConfigResolver.d.ts +8 -4
  195. package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
  196. package/dist/resolvers/SqlLoggingConfigResolver.js +5 -5
  197. package/dist/resolvers/TaskGraphFrameResolver.d.ts +8 -1
  198. package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
  199. package/dist/resolvers/TaskGraphFrameResolver.js +6 -2
  200. package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
  201. package/dist/resolvers/adhoc-query-helpers.d.ts +6 -0
  202. package/dist/resolvers/adhoc-query-helpers.d.ts.map +1 -1
  203. package/dist/resolvers/adhoc-query-helpers.js +10 -2
  204. package/dist/resolvers/adhoc-query-helpers.js.map +1 -1
  205. package/dist/resolvers/artifact-routing.d.ts +8 -8
  206. package/dist/resolvers/artifact-routing.js +2 -2
  207. package/dist/resolvers/artifact-routing.js.map +1 -1
  208. package/dist/resolvers/meetingRecordingRegistration.d.ts +10 -2
  209. package/dist/resolvers/meetingRecordingRegistration.d.ts.map +1 -1
  210. package/dist/resolvers/meetingRecordingRegistration.js +24 -8
  211. package/dist/resolvers/meetingRecordingRegistration.js.map +1 -1
  212. package/dist/resolvers/peaksSidecar.d.ts +4 -0
  213. package/dist/resolvers/peaksSidecar.d.ts.map +1 -1
  214. package/dist/resolvers/peaksSidecar.js +10 -2
  215. package/dist/resolvers/peaksSidecar.js.map +1 -1
  216. package/dist/rest/EntityCRUDHandler.d.ts +28 -0
  217. package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
  218. package/dist/rest/EntityCRUDHandler.js +20 -4
  219. package/dist/rest/EntityCRUDHandler.js.map +1 -1
  220. package/dist/rest/MediaStreamHandler.d.ts +2 -0
  221. package/dist/rest/MediaStreamHandler.d.ts.map +1 -1
  222. package/dist/rest/MediaStreamHandler.js +10 -6
  223. package/dist/rest/MediaStreamHandler.js.map +1 -1
  224. package/dist/rest/OAuthCallbackHandler.d.ts +9 -0
  225. package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
  226. package/dist/rest/OAuthCallbackHandler.js +15 -3
  227. package/dist/rest/OAuthCallbackHandler.js.map +1 -1
  228. package/dist/rest/RESTEndpointHandler.d.ts +6 -4
  229. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  230. package/dist/rest/RESTEndpointHandler.js +15 -11
  231. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  232. package/dist/rest/RealtimeSdpBrokerHandler.d.ts +5 -1
  233. package/dist/rest/RealtimeSdpBrokerHandler.d.ts.map +1 -1
  234. package/dist/rest/RealtimeSdpBrokerHandler.js +12 -4
  235. package/dist/rest/RealtimeSdpBrokerHandler.js.map +1 -1
  236. package/dist/rest/SignatureWebhookHandler.d.ts +2 -0
  237. package/dist/rest/SignatureWebhookHandler.d.ts.map +1 -1
  238. package/dist/rest/SignatureWebhookHandler.js +5 -1
  239. package/dist/rest/SignatureWebhookHandler.js.map +1 -1
  240. package/dist/rest/UploadTokenManager.d.ts +24 -8
  241. package/dist/rest/UploadTokenManager.d.ts.map +1 -1
  242. package/dist/rest/UploadTokenManager.js +53 -21
  243. package/dist/rest/UploadTokenManager.js.map +1 -1
  244. package/dist/rest/ViewOperationsHandler.d.ts +20 -0
  245. package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
  246. package/dist/rest/ViewOperationsHandler.js +20 -4
  247. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  248. package/dist/rest/mediaRange.d.ts +4 -0
  249. package/dist/rest/mediaRange.d.ts.map +1 -1
  250. package/dist/rest/mediaRange.js +10 -2
  251. package/dist/rest/mediaRange.js.map +1 -1
  252. package/dist/rest/setupRESTEndpoints.d.ts +4 -0
  253. package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
  254. package/dist/rest/setupRESTEndpoints.js +13 -7
  255. package/dist/rest/setupRESTEndpoints.js.map +1 -1
  256. package/dist/serverExtensionReservedRoots.d.ts +2 -0
  257. package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
  258. package/dist/serverExtensionReservedRoots.js +5 -1
  259. package/dist/serverExtensionReservedRoots.js.map +1 -1
  260. package/dist/services/TaskGraphActionRunner.d.ts +13 -8
  261. package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
  262. package/dist/services/TaskGraphActionRunner.js +16 -15
  263. package/dist/services/TaskGraphActionRunner.js.map +1 -1
  264. package/dist/types.d.ts +2 -0
  265. package/dist/types.d.ts.map +1 -1
  266. package/dist/types.js +7 -3
  267. package/dist/types.js.map +1 -1
  268. package/dist/util.d.ts +6 -0
  269. package/dist/util.d.ts.map +1 -1
  270. package/dist/util.js +13 -5
  271. package/dist/util.js.map +1 -1
  272. package/package.json +92 -92
  273. package/src/__tests__/DeleteOptionsInput.wireShape.test.ts +62 -0
  274. package/src/__tests__/FileResolverPeaks.test.ts +13 -13
  275. package/src/__tests__/ListOperationsResolver.test.ts +17 -17
  276. package/src/__tests__/MediaStreamHandler.test.ts +28 -28
  277. package/src/__tests__/NoLog.test.ts +11 -11
  278. package/src/__tests__/PrimaryKeyAlwaysMapped.test.ts +10 -10
  279. package/src/__tests__/RESTEndpointHandler.test.ts +14 -14
  280. package/src/__tests__/RealtimeBridgeResolver.test.ts +4 -2
  281. package/src/__tests__/RealtimeSdpBrokerHandler.test.ts +6 -6
  282. package/src/__tests__/RefreshAdoptsNewColumns.test.ts +8 -8
  283. package/src/__tests__/RemoteBrowserGoalEngine.test.ts +18 -18
  284. package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +228 -0
  285. package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +129 -0
  286. package/src/__tests__/TaskGraphFrameResolver.test.ts +2 -2
  287. package/src/__tests__/WidgetSessionService.test.ts +8 -4
  288. package/src/__tests__/adhoc-query-helpers.test.ts +21 -21
  289. package/src/__tests__/bootAudit.test.ts +11 -11
  290. package/src/__tests__/boundaryLogPayload.test.ts +6 -6
  291. package/src/__tests__/cacheInvalidationRecordData.test.ts +177 -0
  292. package/src/__tests__/databaseAbstraction.test.ts +12 -6
  293. package/src/__tests__/getDataTokenRedaction.test.ts +7 -7
  294. package/src/__tests__/initializeProviders.refresh.test.ts +4 -4
  295. package/src/__tests__/magicLink.test.ts +73 -134
  296. package/src/__tests__/magicLinkService.consume.test.ts +224 -0
  297. package/src/__tests__/meetingRecordingRegistration.test.ts +12 -12
  298. package/src/__tests__/metadataRefreshSignal.test.ts +78 -0
  299. package/src/__tests__/multiTenancy.security.test.ts +40 -40
  300. package/src/__tests__/multiTenancy.test.ts +18 -18
  301. package/src/__tests__/newUsers.test.ts +24 -23
  302. package/src/__tests__/principals.test.ts +22 -22
  303. package/src/__tests__/pushStatusResolver.filter.test.ts +8 -8
  304. package/src/__tests__/secretRedactor.failOpen.test.ts +12 -12
  305. package/src/__tests__/secretRedactor.test.ts +12 -12
  306. package/src/__tests__/serverExtensionReservedRoots.test.ts +7 -7
  307. package/src/__tests__/subscriptionRedaction.test.ts +5 -5
  308. package/src/__tests__/unifiedAuth.test.ts +15 -9
  309. package/src/__tests__/visitorIdentity.resolve.test.ts +6 -6
  310. package/src/__tests__/widget.test.ts +45 -45
  311. package/src/__tests__/widgetGuestElevation.test.ts +7 -7
  312. package/src/__tests__/widgetHostIdentity.test.ts +14 -14
  313. package/src/agentSessions/ReturningVisitorRecap.ts +12 -1
  314. package/src/agentSessions/SessionManager.ts +2 -2
  315. package/src/agentSessions/remoteBrowserGoalEngine.ts +30 -5
  316. package/src/auth/AuthProviderCatalogRouter.ts +6 -1
  317. package/src/auth/__tests__/backward-compatibility.test.ts +3 -3
  318. package/src/auth/index.ts +43 -28
  319. package/src/auth/initializeProviders.ts +25 -5
  320. package/src/auth/magicLink/MagicLinkRouter.ts +28 -10
  321. package/src/auth/magicLink/MagicLinkService.ts +71 -52
  322. package/src/auth/magicLink/index.ts +7 -7
  323. package/src/auth/magicLink/magicLinkCore.ts +96 -64
  324. package/src/auth/magicLink/redeemLanding.ts +14 -4
  325. package/src/auth/magicLink/types.ts +54 -54
  326. package/src/auth/newUsers.ts +1 -1
  327. package/src/auth/principals.ts +11 -2
  328. package/src/cache.ts +4 -1
  329. package/src/config.ts +37 -4
  330. package/src/context.ts +37 -24
  331. package/src/directives/Public.ts +4 -1
  332. package/src/directives/RequireSystemUser.ts +4 -1
  333. package/src/generated/graphql-schemas/__mj.ts +37 -0
  334. package/src/generic/CacheInvalidationResolver.ts +148 -4
  335. package/src/generic/DeleteOptionsInput.ts +9 -2
  336. package/src/generic/FireAndForgetHeartbeat.ts +19 -14
  337. package/src/generic/PushStatusResolver.ts +21 -7
  338. package/src/generic/ResolverBase.ts +16 -8
  339. package/src/generic/RunViewResolver.ts +22 -22
  340. package/src/generic/__tests__/FireAndForgetHeartbeat.test.ts +7 -7
  341. package/src/index.ts +35 -9
  342. package/src/integration/CustomColumnPromoter.ts +6 -1
  343. package/src/integration/EntityMapLifecycle.ts +20 -2
  344. package/src/logging/NoLog.ts +16 -2
  345. package/src/logging/StartupLogger.ts +6 -1
  346. package/src/logging/bootAudit.ts +26 -16
  347. package/src/logging/boundaryLogPayload.ts +8 -1
  348. package/src/logging/secretRedactor.ts +14 -9
  349. package/src/logging/shortenForLog.ts +8 -3
  350. package/src/logging/variablesLoggingMiddleware.ts +9 -6
  351. package/src/metadataRefreshSignal.ts +45 -0
  352. package/src/middleware/MJTenantFilterMiddleware.ts +4 -4
  353. package/src/multiTenancy/index.ts +29 -5
  354. package/src/realtimeWidget/WidgetRouter.ts +15 -10
  355. package/src/realtimeWidget/WidgetSessionService.ts +76 -76
  356. package/src/realtimeWidget/host-identity.ts +24 -10
  357. package/src/realtimeWidget/index.ts +3 -3
  358. package/src/realtimeWidget/visitorIdentity.ts +39 -8
  359. package/src/realtimeWidget/widgetCore.ts +75 -10
  360. package/src/realtimeWidget/widgetGuestElevation.ts +25 -12
  361. package/src/resolvers/AdhocQueryResolver.ts +3 -3
  362. package/src/resolvers/AgentSessionResolver.ts +3 -3
  363. package/src/resolvers/ColorResolver.ts +6 -6
  364. package/src/resolvers/ComponentRegistryResolver.ts +36 -36
  365. package/src/resolvers/EntityCommunicationsResolver.ts +4 -4
  366. package/src/resolvers/ExecuteRemoteOperationResolver.ts +9 -9
  367. package/src/resolvers/FileResolver.ts +42 -42
  368. package/src/resolvers/GeoResolver.ts +4 -4
  369. package/src/resolvers/GetDataResolver.ts +50 -15
  370. package/src/resolvers/IntegrationDiscoveryResolver.ts +2 -2
  371. package/src/resolvers/ListOperationsResolver.ts +78 -28
  372. package/src/resolvers/MCPResolver.ts +30 -15
  373. package/src/resolvers/QueryResolver.ts +13 -13
  374. package/src/resolvers/RealtimeBridgeResolver.ts +3 -3
  375. package/src/resolvers/RealtimeClientSessionResolver.ts +3 -3
  376. package/src/resolvers/RemoteBrowserActionResolver.ts +5 -5
  377. package/src/resolvers/RunAIAgentResolver.ts +113 -72
  378. package/src/resolvers/RunAIPromptResolver.ts +22 -22
  379. package/src/resolvers/RunTemplateResolver.ts +4 -4
  380. package/src/resolvers/RunTestResolver.ts +25 -25
  381. package/src/resolvers/SqlLoggingConfigResolver.ts +56 -56
  382. package/src/resolvers/TaskGraphFrameResolver.ts +37 -28
  383. package/src/resolvers/TelemetryResolver.ts +79 -79
  384. package/src/resolvers/__tests__/GetDataResolver.tokens.test.ts +40 -38
  385. package/src/resolvers/__tests__/artifact-routing.test.ts +23 -23
  386. package/src/resolvers/adhoc-query-helpers.ts +19 -2
  387. package/src/resolvers/artifact-routing.ts +19 -19
  388. package/src/resolvers/meetingRecordingRegistration.ts +44 -10
  389. package/src/resolvers/peaksSidecar.ts +12 -2
  390. package/src/rest/EntityCRUDHandler.ts +24 -4
  391. package/src/rest/MediaStreamHandler.ts +11 -6
  392. package/src/rest/OAuthCallbackHandler.ts +25 -7
  393. package/src/rest/RESTEndpointHandler.ts +20 -15
  394. package/src/rest/RealtimeSdpBrokerHandler.ts +14 -4
  395. package/src/rest/SignatureWebhookHandler.ts +6 -1
  396. package/src/rest/UploadTokenManager.ts +66 -30
  397. package/src/rest/ViewOperationsHandler.ts +24 -4
  398. package/src/rest/mediaRange.ts +16 -6
  399. package/src/rest/setupRESTEndpoints.ts +24 -12
  400. package/src/serverExtensionReservedRoots.ts +6 -1
  401. package/src/services/TaskGraphActionRunner.ts +16 -15
  402. package/src/types.ts +21 -16
  403. package/src/util.ts +16 -6
@@ -34,7 +34,7 @@ import { buildProgressNote, CdpRemoteBrowserSession, type ComputerUseGoalProgres
34
34
  * @param agentRunStepID Optional parent agent-run-step id (nests a child prompt step per prompt under it).
35
35
  * @returns The MJ-aware params to hand to `MJComputerUseEngine.Run`.
36
36
  */
37
- export function buildMJGoalParams(params: RunComputerUseParams, contextUser?: UserInfo, agentRunID?: string, agentRunStepID?: string): MJRunComputerUseParams {
37
+ export function BuildMJGoalParams(params: RunComputerUseParams, contextUser?: UserInfo, agentRunID?: string, agentRunStepID?: string): MJRunComputerUseParams {
38
38
  const mjParams = Object.assign(new MJRunComputerUseParams(), params);
39
39
  mjParams.ContextUser = contextUser;
40
40
  mjParams.AgentRunId = agentRunID;
@@ -42,6 +42,11 @@ export function buildMJGoalParams(params: RunComputerUseParams, contextUser?: Us
42
42
  return mjParams;
43
43
  }
44
44
 
45
+ /** @deprecated Use {@link BuildMJGoalParams}. */
46
+ export function buildMJGoalParams(params: RunComputerUseParams, contextUser?: UserInfo, agentRunID?: string, agentRunStepID?: string): MJRunComputerUseParams {
47
+ return BuildMJGoalParams(params, contextUser, agentRunID, agentRunStepID);
48
+ }
49
+
45
50
  /**
46
51
  * The MJ-aware goal engine bound in production. Extends {@link MJComputerUseEngine} (prompt-runner routing,
47
52
  * vision-model auto-selection, credential resolution, media persistence) and satisfies the
@@ -75,7 +80,7 @@ export class MJProgressComputerUseEngine extends MJComputerUseEngine implements
75
80
  * @returns The computer-use run result.
76
81
  */
77
82
  public override async Run(params: RunComputerUseParams): Promise<ComputerUseResult> {
78
- return super.Run(buildMJGoalParams(params, this.ContextUser, this.AgentRunID, this.AgentRunStepID));
83
+ return super.Run(BuildMJGoalParams(params, this.ContextUser, this.AgentRunID, this.AgentRunStepID));
79
84
  }
80
85
 
81
86
  protected override onStepComplete(step: StepRecord, params: MJRunComputerUseParams): void {
@@ -92,7 +97,7 @@ export class MJProgressComputerUseEngine extends MJComputerUseEngine implements
92
97
  * @param configJson The session's `Config_` string.
93
98
  * @returns The co-agent run id, or `undefined`.
94
99
  */
95
- export function extractCoAgentRunID(configJson: string | null | undefined): string | undefined {
100
+ export function ExtractCoAgentRunID(configJson: string | null | undefined): string | undefined {
96
101
  if (!configJson) {
97
102
  return undefined;
98
103
  }
@@ -104,6 +109,11 @@ export function extractCoAgentRunID(configJson: string | null | undefined): stri
104
109
  }
105
110
  }
106
111
 
112
+ /** @deprecated Use {@link ExtractCoAgentRunID}. */
113
+ export function extractCoAgentRunID(configJson: string | null | undefined): string | undefined {
114
+ return ExtractCoAgentRunID(configJson);
115
+ }
116
+
107
117
  /** Truncates a goal to a step-name-friendly length. */
108
118
  function goalStepName(goal: string): string {
109
119
  const trimmed = goal.trim();
@@ -122,7 +132,7 @@ function goalStepName(goal: string): string {
122
132
  * @param goal The natural-language goal (becomes the step name).
123
133
  * @returns The saved parent step (to finalize + nest under), or `null`.
124
134
  */
125
- export async function beginBrowserGoalStep(
135
+ export async function BeginBrowserGoalStep(
126
136
  provider: IMetadataProvider,
127
137
  contextUser: UserInfo | undefined,
128
138
  coAgentRunID: string | undefined,
@@ -152,6 +162,16 @@ export async function beginBrowserGoalStep(
152
162
  }
153
163
  }
154
164
 
165
+ /** @deprecated Use {@link BeginBrowserGoalStep}. */
166
+ export async function beginBrowserGoalStep(
167
+ provider: IMetadataProvider,
168
+ contextUser: UserInfo | undefined,
169
+ coAgentRunID: string | undefined,
170
+ goal: string,
171
+ ): Promise<MJAIAgentRunStepEntity | null> {
172
+ return BeginBrowserGoalStep(provider, contextUser, coAgentRunID, goal);
173
+ }
174
+
155
175
  /**
156
176
  * Finalizes the parent browser-goal step from the goal outcome — `Completed`/`Failed` with an `OutputData`
157
177
  * envelope of strategy/status/step-count/url. A no-op when `step` is `null`. Best-effort (logged, never thrown).
@@ -159,7 +179,7 @@ export async function beginBrowserGoalStep(
159
179
  * @param step The parent step from {@link beginBrowserGoalStep} (or `null`).
160
180
  * @param result The goal outcome.
161
181
  */
162
- export async function finalizeBrowserGoalStep(step: MJAIAgentRunStepEntity | null, result: RemoteBrowserGoalResult): Promise<void> {
182
+ export async function FinalizeBrowserGoalStep(step: MJAIAgentRunStepEntity | null, result: RemoteBrowserGoalResult): Promise<void> {
163
183
  if (!step) {
164
184
  return;
165
185
  }
@@ -177,6 +197,11 @@ export async function finalizeBrowserGoalStep(step: MJAIAgentRunStepEntity | nul
177
197
  }
178
198
  }
179
199
 
200
+ /** @deprecated Use {@link FinalizeBrowserGoalStep}. */
201
+ export async function finalizeBrowserGoalStep(step: MJAIAgentRunStepEntity | null, result: RemoteBrowserGoalResult): Promise<void> {
202
+ return FinalizeBrowserGoalStep(step, result);
203
+ }
204
+
180
205
  /**
181
206
  * Binds the CDP goal-engine factory to {@link MJProgressComputerUseEngine}. Idempotent and safe to call at
182
207
  * startup; failures are logged (never thrown) so a binding hiccup can't abort server boot — goal runs would
@@ -48,7 +48,7 @@ const CACHE_MAX_AGE_SECONDS = 60;
48
48
  * list so the browser falls back to its compiled `AUTH_TYPE` and the user can still sign in.
49
49
  * Returning 500 would take the login screen down for a problem the client can route around.
50
50
  */
51
- export function createAuthProviderCatalogRouter(): Router {
51
+ export function CreateAuthProviderCatalogRouter(): Router {
52
52
  const router = Router();
53
53
 
54
54
  const limiter = rateLimit({
@@ -74,3 +74,8 @@ export function createAuthProviderCatalogRouter(): Router {
74
74
 
75
75
  return router;
76
76
  }
77
+
78
+ /** @deprecated Use {@link CreateAuthProviderCatalogRouter}. */
79
+ export function createAuthProviderCatalogRouter(): Router {
80
+ return CreateAuthProviderCatalogRouter();
81
+ }
@@ -12,7 +12,7 @@ vi.mock('../../config', () => ({
12
12
  }));
13
13
 
14
14
  import { AuthProviderFactory, IAuthProvider } from '@memberjunction/auth-providers';
15
- import { initializeAuthProviders } from '../initializeProviders';
15
+ import { InitializeAuthProviders } from '../initializeProviders';
16
16
 
17
17
  /**
18
18
  * Test suite for backward compatibility of the new auth provider system
@@ -31,7 +31,7 @@ describe('Authentication Provider Backward Compatibility', () => {
31
31
 
32
32
  describe('Configuration-Based Provider Initialization', () => {
33
33
  it('should initialize with no providers when config is empty', () => {
34
- initializeAuthProviders();
34
+ InitializeAuthProviders();
35
35
 
36
36
  // With empty authProviders array, no providers should be registered
37
37
  expect(factory.hasProviders()).toBe(false);
@@ -53,7 +53,7 @@ describe('Authentication Provider Backward Compatibility', () => {
53
53
  expect(factory.hasProviders()).toBe(true);
54
54
 
55
55
  // Re-initialize clears everything
56
- initializeAuthProviders();
56
+ InitializeAuthProviders();
57
57
  expect(factory.hasProviders()).toBe(false);
58
58
  });
59
59
  });
package/src/auth/index.ts CHANGED
@@ -14,7 +14,7 @@ export * from './scopeLimitedPrincipal.js';
14
14
  export * from './actingContextResolver.js';
15
15
  export * from './AuthProviderEngine.js';
16
16
  export * from './AuthProviderCatalogRouter.js';
17
- export { initializeAuthProviders, initializeAuthProvidersFromMetadata, refreshAuthProviders, validateAuthProvidersRegistered } from './initializeProviders.js';
17
+ export { InitializeAuthProviders, initializeAuthProviders, InitializeAuthProvidersFromMetadata, initializeAuthProvidersFromMetadata, RefreshAuthProviders, refreshAuthProviders, ValidateAuthProvidersRegistered, validateAuthProvidersRegistered } from './initializeProviders.js';
18
18
 
19
19
  // This is a hard-coded forever constant due to internal migrations
20
20
 
@@ -58,7 +58,7 @@ const refreshUserCache = async () => {
58
58
  * the same domain with different audiences/client IDs), all unique audiences
59
59
  * are aggregated into an array. jwt.verify() natively accepts string | string[].
60
60
  */
61
- export const getValidationOptions = (issuer: string): { audience: string | string[]; jwksUri: string } | undefined => {
61
+ export const GetValidationOptions = (issuer: string): { audience: string | string[]; jwksUri: string } | undefined => {
62
62
  const factory = AuthProviderFactory.Instance;
63
63
  const providers = factory.getAllByIssuer(issuer);
64
64
 
@@ -75,16 +75,19 @@ export const getValidationOptions = (issuer: string): { audience: string | strin
75
75
  };
76
76
  };
77
77
 
78
+ /** @deprecated Use {@link GetValidationOptions}. */
79
+ export const getValidationOptions = GetValidationOptions;
80
+
78
81
  /**
79
82
  * Backward compatible validationOptions object
80
83
  * @deprecated Use getValidationOptions() or AuthProviderRegistry instead
81
84
  */
82
85
  export const validationOptions: Record<string, { audience: string | string[]; jwksUri: string }> = new Proxy({}, {
83
86
  get: (target, prop: string) => {
84
- return getValidationOptions(prop);
87
+ return GetValidationOptions(prop);
85
88
  },
86
89
  has: (target, prop: string) => {
87
- return getValidationOptions(prop) !== undefined;
90
+ return GetValidationOptions(prop) !== undefined;
88
91
  },
89
92
  ownKeys: () => {
90
93
  const factory = AuthProviderFactory.Instance;
@@ -93,31 +96,31 @@ export const validationOptions: Record<string, { audience: string | string[]; jw
93
96
  });
94
97
 
95
98
  export class UserPayload {
96
- aio?: string;
97
- aud?: string;
98
- exp?: number;
99
- iat?: number;
100
- iss?: string;
101
- name?: string;
102
- nbf?: number;
103
- nonce?: string;
104
- oid?: string;
105
- preferred_username?: string;
106
- rh?: string;
107
- sub?: string;
108
- tid?: string;
109
- uti?: string;
110
- ver?: string;
111
- email?: string;
112
- given_name?: string;
113
- family_name?: string;
99
+ aio?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
100
+ aud?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
101
+ exp?: number; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
102
+ iat?: number; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
103
+ iss?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
104
+ name?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
105
+ nbf?: number; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
106
+ nonce?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
107
+ oid?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
108
+ preferred_username?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
109
+ rh?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
110
+ sub?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
111
+ tid?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
112
+ uti?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
113
+ ver?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
114
+ email?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
115
+ given_name?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
116
+ family_name?: string; // case-violation-ok-legacy-back-compat: an accessor cannot be optional, so a stub would turn this into a required member
114
117
  [key: string]: unknown; // Allow additional claims
115
118
  }
116
119
 
117
120
  /**
118
121
  * Gets signing keys for JWT validation
119
122
  */
120
- export const getSigningKeys = (issuer: string) => (header: JwtHeader, cb: SigningKeyCallback) => {
123
+ export const GetSigningKeys = (issuer: string) => (header: JwtHeader, cb: SigningKeyCallback) => {
121
124
  const factory = AuthProviderFactory.Instance;
122
125
 
123
126
  // Initialize providers if not already done
@@ -138,10 +141,13 @@ export const getSigningKeys = (issuer: string) => (header: JwtHeader, cb: Signin
138
141
  provider.getSigningKey(header, cb);
139
142
  };
140
143
 
144
+ /** @deprecated Use {@link GetSigningKeys}. */
145
+ export const getSigningKeys = GetSigningKeys;
146
+
141
147
  /**
142
148
  * Extracts user information from JWT payload using the appropriate provider
143
149
  */
144
- export const extractUserInfoFromPayload = (payload: JwtPayload): {
150
+ export const ExtractUserInfoFromPayload = (payload: JwtPayload): {
145
151
  email?: string;
146
152
  firstName?: string;
147
153
  lastName?: string;
@@ -181,20 +187,26 @@ export const extractUserInfoFromPayload = (payload: JwtPayload): {
181
187
  return provider.extractUserInfo(payload);
182
188
  };
183
189
 
184
- export const getSystemUser = async (dataSource?: sql.ConnectionPool, attemptCacheUpdateIfNeeded: boolean = true): Promise<UserInfo> => {
190
+ /** @deprecated Use {@link ExtractUserInfoFromPayload}. */
191
+ export const extractUserInfoFromPayload = ExtractUserInfoFromPayload;
192
+
193
+ export const GetSystemUser = async (dataSource?: sql.ConnectionPool, attemptCacheUpdateIfNeeded: boolean = true): Promise<UserInfo> => {
185
194
  const systemUser = UserCache.Instance.GetSystemUser();
186
195
  if (!systemUser) {
187
196
  if (dataSource && attemptCacheUpdateIfNeeded) {
188
197
  console.warn(`System user not found in cache. Updating cache in attempt to find the user...`);
189
198
 
190
199
  await refreshUserCache();
191
- return getSystemUser(dataSource, false); // try one more time but do not update cache next time if not found
200
+ return GetSystemUser(dataSource, false); // try one more time but do not update cache next time if not found
192
201
  }
193
202
  throw new Error(`System user ID '${UserCache.Instance.SYSTEM_USER_ID}' not found in database`);
194
203
  }
195
204
  return systemUser;
196
205
  };
197
206
 
207
+ /** @deprecated Use {@link GetSystemUser}. */
208
+ export const getSystemUser = GetSystemUser;
209
+
198
210
  /**
199
211
  * Extracts the lowercased domain portion of an email address.
200
212
  *
@@ -231,7 +243,7 @@ const isDomainAuthorized = (domain: string): boolean =>
231
243
  * authorization runs against the verified JWT's email domain instead. Retained for audit
232
244
  * logging and for the recursive retry call.
233
245
  */
234
- export const verifyUserRecord = async (
246
+ export const VerifyUserRecord = async (
235
247
  email?: string,
236
248
  firstName?: string,
237
249
  lastName?: string,
@@ -311,12 +323,15 @@ export const verifyUserRecord = async (
311
323
 
312
324
  await refreshUserCache();
313
325
 
314
- return verifyUserRecord(email, firstName, lastName, requestDomain, dataSource, false); // try one more time but do not update cache next time if not found
326
+ return VerifyUserRecord(email, firstName, lastName, requestDomain, dataSource, false); // try one more time but do not update cache next time if not found
315
327
  }
316
328
  }
317
329
 
318
330
  return user;
319
331
  };
320
332
 
333
+ /** @deprecated Use {@link VerifyUserRecord}. */
334
+ export const verifyUserRecord = VerifyUserRecord;
335
+
321
336
  // Initialize providers on module load
322
337
  initializeAuthProviders();
@@ -14,7 +14,7 @@ import { AuthProviderEngine } from './AuthProviderEngine.js';
14
14
  * {@link initializeAuthProvidersFromMetadata}, which runs later in startup once a database
15
15
  * connection and a system user exist.
16
16
  */
17
- export function initializeAuthProviders(): void {
17
+ export function InitializeAuthProviders(): void {
18
18
  const factory = AuthProviderFactory.Instance;
19
19
 
20
20
  // Clear any existing providers
@@ -60,6 +60,11 @@ export function initializeAuthProviders(): void {
60
60
  // authProviders array at this point, and erroring here would cry wolf on every boot.
61
61
  }
62
62
 
63
+ /** @deprecated Use {@link InitializeAuthProviders}. */
64
+ export function initializeAuthProviders(): void {
65
+ return InitializeAuthProviders();
66
+ }
67
+
63
68
  /**
64
69
  * Layers the metadata provider catalog on top of the config-declared providers.
65
70
  *
@@ -74,7 +79,7 @@ export function initializeAuthProviders(): void {
74
79
  *
75
80
  * @returns the number of providers registered from metadata.
76
81
  */
77
- export async function initializeAuthProvidersFromMetadata(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<number> {
82
+ export async function InitializeAuthProvidersFromMetadata(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<number> {
78
83
  try {
79
84
  await AuthProviderEngine.Instance.Config(false, contextUser, provider);
80
85
  const count = await AuthProviderEngine.Instance.RegisterAll(contextUser);
@@ -89,6 +94,11 @@ export async function initializeAuthProvidersFromMetadata(contextUser?: UserInfo
89
94
  }
90
95
  }
91
96
 
97
+ /** @deprecated Use {@link InitializeAuthProvidersFromMetadata}. */
98
+ export async function initializeAuthProvidersFromMetadata(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<number> {
99
+ return InitializeAuthProvidersFromMetadata(contextUser, provider);
100
+ }
101
+
92
102
  /**
93
103
  * Rebuilds the provider registry from scratch: config-declared providers first, then the
94
104
  * metadata catalog layered on top — the same two-source order as startup.
@@ -119,7 +129,7 @@ export async function initializeAuthProvidersFromMetadata(contextUser?: UserInfo
119
129
  *
120
130
  * @returns the number of providers registered from metadata after the refresh.
121
131
  */
122
- export async function refreshAuthProviders(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<number> {
132
+ export async function RefreshAuthProviders(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<number> {
123
133
  await AuthProviderEngine.Instance.Config(true, contextUser, provider);
124
134
 
125
135
  // Probe the reloaded catalog BEFORE clearing anything: reading Providers throws
@@ -127,7 +137,7 @@ export async function refreshAuthProviders(contextUser?: UserInfo, provider?: IM
127
137
  // failure must abort the refresh while the registry is still intact.
128
138
  const pendingRows = AuthProviderEngine.Instance.Providers.length;
129
139
 
130
- initializeAuthProviders();
140
+ InitializeAuthProviders();
131
141
  const count = await AuthProviderEngine.Instance.RegisterAll(contextUser);
132
142
  LogStatus(
133
143
  `[Auth] Provider registry refreshed — ${count} of ${pendingRows} metadata provider(s) registered on top of the config-declared set.`
@@ -135,6 +145,11 @@ export async function refreshAuthProviders(contextUser?: UserInfo, provider?: IM
135
145
  return count;
136
146
  }
137
147
 
148
+ /** @deprecated Use {@link RefreshAuthProviders}. */
149
+ export async function refreshAuthProviders(contextUser?: UserInfo, provider?: IMetadataProvider): Promise<number> {
150
+ return RefreshAuthProviders(contextUser, provider);
151
+ }
152
+
138
153
  /**
139
154
  * Reports whether any provider is registered, from either source, and logs a diagnostic when none
140
155
  * is.
@@ -142,7 +157,7 @@ export async function refreshAuthProviders(contextUser?: UserInfo, provider?: IM
142
157
  * Split out from {@link initializeAuthProviders} because "no providers" is only genuinely wrong
143
158
  * once BOTH sources have had their turn.
144
159
  */
145
- export function validateAuthProvidersRegistered(): boolean {
160
+ export function ValidateAuthProvidersRegistered(): boolean {
146
161
  const hasProviders = AuthProviderFactory.Instance.hasProviders();
147
162
  if (!hasProviders) {
148
163
  LogError(
@@ -152,3 +167,8 @@ export function validateAuthProvidersRegistered(): boolean {
152
167
  }
153
168
  return hasProviders;
154
169
  }
170
+
171
+ /** @deprecated Use {@link ValidateAuthProvidersRegistered}. */
172
+ export function validateAuthProvidersRegistered(): boolean {
173
+ return ValidateAuthProvidersRegistered();
174
+ }
@@ -15,7 +15,7 @@ import { AuthProviderFactory } from '@memberjunction/auth-providers';
15
15
  import { configInfo, type MagicLinkConfig } from '../../config.js';
16
16
  import { MagicLinkKeyManager } from './MagicLinkKeys.js';
17
17
  import { MagicLinkService } from './MagicLinkService.js';
18
- import { buildRedeemLandingHtml } from './redeemLanding.js';
18
+ import { BuildRedeemLandingHtml } from './redeemLanding.js';
19
19
  import type { CreateMagicLinkInviteParams, RedeemMagicLinkResult } from './types.js';
20
20
 
21
21
  /** The mount path for both routers (`/magic-link`). */
@@ -28,7 +28,7 @@ export const MAGIC_LINK_JWKS_PATH = `${MAGIC_LINK_MOUNT_PATH}/jwks.json`;
28
28
  * Builds the magic-link routers. The caller mounts `publicRouter` before the
29
29
  * auth middleware and `authenticatedRouter` after it (both at MAGIC_LINK_MOUNT_PATH).
30
30
  */
31
- export function createMagicLinkHandler(publicUrl: string, config: MagicLinkConfig): {
31
+ export function CreateMagicLinkHandler(publicUrl: string, config: MagicLinkConfig): {
32
32
  publicRouter: Router;
33
33
  authenticatedRouter: Router;
34
34
  } {
@@ -113,7 +113,7 @@ export function createMagicLinkHandler(publicUrl: string, config: MagicLinkConfi
113
113
  res
114
114
  .status(200)
115
115
  .type('html')
116
- .send(buildRedeemLandingHtml(token, `${MAGIC_LINK_MOUNT_PATH}/redeem`));
116
+ .send(BuildRedeemLandingHtml(token, `${MAGIC_LINK_MOUNT_PATH}/redeem`));
117
117
  });
118
118
 
119
119
  // POST /redeem performs the actual (side-effectful) redemption. Token arrives
@@ -151,7 +151,7 @@ export function createMagicLinkHandler(publicUrl: string, config: MagicLinkConfi
151
151
  }
152
152
 
153
153
  const body = (req.body ?? {}) as Partial<CreateMagicLinkInviteParams>;
154
- if (!body.email || !body.applicationId) {
154
+ if (!body.email || !body.ApplicationId) {
155
155
  res.status(400).json({ success: false, error: 'email and applicationId are required.' });
156
156
  return;
157
157
  }
@@ -159,10 +159,10 @@ export function createMagicLinkHandler(publicUrl: string, config: MagicLinkConfi
159
159
  const result = await service.CreateInvite(
160
160
  {
161
161
  email: body.email,
162
- applicationId: body.applicationId,
163
- roleId: body.roleId,
164
- expiresInHours: body.expiresInHours,
165
- maxUses: body.maxUses,
162
+ ApplicationId: body.ApplicationId,
163
+ RoleId: body.RoleId,
164
+ ExpiresInHours: body.ExpiresInHours,
165
+ MaxUses: body.MaxUses,
166
166
  firstName: body.firstName,
167
167
  lastName: body.lastName,
168
168
  },
@@ -177,6 +177,14 @@ export function createMagicLinkHandler(publicUrl: string, config: MagicLinkConfi
177
177
  return { publicRouter, authenticatedRouter };
178
178
  }
179
179
 
180
+ /** @deprecated Use {@link CreateMagicLinkHandler}. */
181
+ export function createMagicLinkHandler(publicUrl: string, config: MagicLinkConfig): {
182
+ publicRouter: Router;
183
+ authenticatedRouter: Router;
184
+ } {
185
+ return CreateMagicLinkHandler(publicUrl, config);
186
+ }
187
+
180
188
  /**
181
189
  * A minimal PUBLIC router that serves ONLY the JWKS endpoint (the magic-link
182
190
  * signing key's public half). Mount this when the full magic-link flow is
@@ -186,7 +194,7 @@ export function createMagicLinkHandler(publicUrl: string, config: MagicLinkConfi
186
194
  * request 401s. Assumes the key is already initialized (the widget handler does
187
195
  * this via `MagicLinkKeyManager.Instance.Initialize` at startup).
188
196
  */
189
- export function createMagicLinkJwksRouter(): Router {
197
+ export function CreateMagicLinkJwksRouter(): Router {
190
198
  const router = Router();
191
199
  router.get('/jwks.json', (_req: Request, res: Response) => {
192
200
  res.status(200).json(MagicLinkKeyManager.Instance.GetJWKS());
@@ -194,6 +202,11 @@ export function createMagicLinkJwksRouter(): Router {
194
202
  return router;
195
203
  }
196
204
 
205
+ /** @deprecated Use {@link CreateMagicLinkJwksRouter}. */
206
+ export function createMagicLinkJwksRouter(): Router {
207
+ return CreateMagicLinkJwksRouter();
208
+ }
209
+
197
210
  /**
198
211
  * Registers the `magic-link` auth provider so MJServer's issuer-driven JWT
199
212
  * validation accepts MJ-issued session tokens. Issuer = public URL, JWKS URL =
@@ -202,7 +215,7 @@ export function createMagicLinkJwksRouter(): Router {
202
215
  * Also appends the provider to `configInfo.authProviders` so a later
203
216
  * `initializeAuthProviders()` (which clears + repopulates from config) keeps it.
204
217
  */
205
- export function registerMagicLinkAuthProvider(publicUrl: string, config: MagicLinkConfig): void {
218
+ export function RegisterMagicLinkAuthProvider(publicUrl: string, config: MagicLinkConfig): void {
206
219
  const base = publicUrl.replace(/\/$/, '');
207
220
  const providerConfig: AuthProviderConfig = {
208
221
  name: 'magic-link',
@@ -224,3 +237,8 @@ export function registerMagicLinkAuthProvider(publicUrl: string, config: MagicLi
224
237
  LogError(`[MagicLink] Failed to register auth provider: ${e instanceof Error ? e.message : String(e)}`);
225
238
  }
226
239
  }
240
+
241
+ /** @deprecated Use {@link RegisterMagicLinkAuthProvider}. */
242
+ export function registerMagicLinkAuthProvider(publicUrl: string, config: MagicLinkConfig): void {
243
+ return RegisterMagicLinkAuthProvider(publicUrl, config);
244
+ }