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

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 (560) hide show
  1. package/README.md +47 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/agentSessions/SessionJanitor.d.ts +91 -30
  4. package/dist/agentSessions/SessionJanitor.d.ts.map +1 -1
  5. package/dist/agentSessions/SessionJanitor.js +311 -81
  6. package/dist/agentSessions/SessionJanitor.js.map +1 -1
  7. package/dist/agentSessions/SessionManager.d.ts +17 -3
  8. package/dist/agentSessions/SessionManager.d.ts.map +1 -1
  9. package/dist/agentSessions/SessionManager.js +44 -10
  10. package/dist/agentSessions/SessionManager.js.map +1 -1
  11. package/dist/apiRoot.d.ts +32 -0
  12. package/dist/apiRoot.d.ts.map +1 -0
  13. package/dist/apiRoot.js +67 -0
  14. package/dist/apiRoot.js.map +1 -0
  15. package/dist/auth/AuthProviderCatalogRouter.d.ts.map +1 -1
  16. package/dist/auth/AuthProviderCatalogRouter.js +27 -0
  17. package/dist/auth/AuthProviderCatalogRouter.js.map +1 -1
  18. package/dist/auth/LoginScreenEngine.d.ts +22 -0
  19. package/dist/auth/LoginScreenEngine.d.ts.map +1 -0
  20. package/dist/auth/LoginScreenEngine.js +57 -0
  21. package/dist/auth/LoginScreenEngine.js.map +1 -0
  22. package/dist/auth/index.d.ts +1 -0
  23. package/dist/auth/index.d.ts.map +1 -1
  24. package/dist/auth/index.js +52 -10
  25. package/dist/auth/index.js.map +1 -1
  26. package/dist/auth/initializeProviders.d.ts +10 -0
  27. package/dist/auth/initializeProviders.d.ts.map +1 -1
  28. package/dist/auth/initializeProviders.js +37 -1
  29. package/dist/auth/initializeProviders.js.map +1 -1
  30. package/dist/auth/localDevAuth.d.ts +79 -0
  31. package/dist/auth/localDevAuth.d.ts.map +1 -0
  32. package/dist/auth/localDevAuth.js +439 -0
  33. package/dist/auth/localDevAuth.js.map +1 -0
  34. package/dist/auth/magicLink/MagicLinkKeys.d.ts +2 -2
  35. package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -1
  36. package/dist/auth/magicLink/MagicLinkKeys.js +1 -1
  37. package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -1
  38. package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
  39. package/dist/auth/magicLink/MagicLinkRouter.js +3 -2
  40. package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
  41. package/dist/auth/magicLink/types.d.ts +12 -0
  42. package/dist/auth/magicLink/types.d.ts.map +1 -1
  43. package/dist/auth/sessionUserClone.d.ts +1 -1
  44. package/dist/auth/sessionUserClone.d.ts.map +1 -1
  45. package/dist/auth/sessionUserClone.js +3 -2
  46. package/dist/auth/sessionUserClone.js.map +1 -1
  47. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts +292 -0
  48. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.d.ts.map +1 -0
  49. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js +442 -0
  50. package/dist/broadcast/BaseCacheInvalidationBroadcastProvider.js.map +1 -0
  51. package/dist/broadcast/index.d.ts +6 -0
  52. package/dist/broadcast/index.d.ts.map +1 -0
  53. package/dist/broadcast/index.js +6 -0
  54. package/dist/broadcast/index.js.map +1 -0
  55. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts +43 -0
  56. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.d.ts.map +1 -0
  57. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js +144 -0
  58. package/dist/broadcast/providers/AWSIoTCoreBroadcastProvider.js.map +1 -0
  59. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts +46 -0
  60. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.d.ts.map +1 -0
  61. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js +149 -0
  62. package/dist/broadcast/providers/AzureWebPubSubBroadcastProvider.js.map +1 -0
  63. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts +49 -0
  64. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.d.ts.map +1 -0
  65. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js +131 -0
  66. package/dist/broadcast/providers/GCPPubSubBroadcastProvider.js.map +1 -0
  67. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts +24 -0
  68. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.d.ts.map +1 -0
  69. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js +51 -0
  70. package/dist/broadcast/providers/SequencedRoleBucketBroadcastProvider.js.map +1 -0
  71. package/dist/cache.d.ts +3 -2
  72. package/dist/cache.d.ts.map +1 -1
  73. package/dist/cache.js.map +1 -1
  74. package/dist/config.d.ts +632 -22
  75. package/dist/config.d.ts.map +1 -1
  76. package/dist/config.js +104 -4
  77. package/dist/config.js.map +1 -1
  78. package/dist/context.d.ts +3 -1
  79. package/dist/context.d.ts.map +1 -1
  80. package/dist/context.js +29 -8
  81. package/dist/context.js.map +1 -1
  82. package/dist/coreRoutes.d.ts +29 -0
  83. package/dist/coreRoutes.d.ts.map +1 -0
  84. package/dist/coreRoutes.js +156 -0
  85. package/dist/coreRoutes.js.map +1 -0
  86. package/dist/generated/graphql-schemas/__mj.d.ts +1016 -29
  87. package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
  88. package/dist/generated/graphql-schemas/__mj.js +5125 -434
  89. package/dist/generated/graphql-schemas/__mj.js.map +1 -1
  90. package/dist/generic/CacheInvalidationResolver.d.ts +85 -30
  91. package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
  92. package/dist/generic/CacheInvalidationResolver.js +175 -60
  93. package/dist/generic/CacheInvalidationResolver.js.map +1 -1
  94. package/dist/generic/OrphanedConversationDetailReconciler.d.ts.map +1 -1
  95. package/dist/generic/OrphanedConversationDetailReconciler.js +2 -0
  96. package/dist/generic/OrphanedConversationDetailReconciler.js.map +1 -1
  97. package/dist/generic/PubSubManager.d.ts +10 -0
  98. package/dist/generic/PubSubManager.d.ts.map +1 -1
  99. package/dist/generic/PubSubManager.js +44 -1
  100. package/dist/generic/PubSubManager.js.map +1 -1
  101. package/dist/generic/PushStatusResolver.d.ts +39 -6
  102. package/dist/generic/PushStatusResolver.d.ts.map +1 -1
  103. package/dist/generic/PushStatusResolver.js +94 -12
  104. package/dist/generic/PushStatusResolver.js.map +1 -1
  105. package/dist/generic/ResolverBase.d.ts +168 -69
  106. package/dist/generic/ResolverBase.d.ts.map +1 -1
  107. package/dist/generic/ResolverBase.js +464 -405
  108. package/dist/generic/ResolverBase.js.map +1 -1
  109. package/dist/generic/RunViewResolver.d.ts +11 -3
  110. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  111. package/dist/generic/RunViewResolver.js +91 -13
  112. package/dist/generic/RunViewResolver.js.map +1 -1
  113. package/dist/generic/actionOutputFieldSecurity.d.ts +26 -0
  114. package/dist/generic/actionOutputFieldSecurity.d.ts.map +1 -0
  115. package/dist/generic/actionOutputFieldSecurity.js +47 -0
  116. package/dist/generic/actionOutputFieldSecurity.js.map +1 -0
  117. package/dist/generic/fieldSecurityTransport.d.ts +30 -0
  118. package/dist/generic/fieldSecurityTransport.d.ts.map +1 -0
  119. package/dist/generic/fieldSecurityTransport.js +30 -0
  120. package/dist/generic/fieldSecurityTransport.js.map +1 -0
  121. package/dist/globalCors.d.ts +33 -0
  122. package/dist/globalCors.d.ts.map +1 -0
  123. package/dist/globalCors.js +58 -0
  124. package/dist/globalCors.js.map +1 -0
  125. package/dist/index.d.ts +14 -0
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +230 -222
  128. package/dist/index.js.map +1 -1
  129. package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
  130. package/dist/integration/CustomColumnPromoter.js +6 -1
  131. package/dist/integration/CustomColumnPromoter.js.map +1 -1
  132. package/dist/logging/variablesLoggingMiddleware.d.ts +12 -0
  133. package/dist/logging/variablesLoggingMiddleware.d.ts.map +1 -1
  134. package/dist/logging/variablesLoggingMiddleware.js +50 -1
  135. package/dist/logging/variablesLoggingMiddleware.js.map +1 -1
  136. package/dist/multiTenancy/index.d.ts.map +1 -1
  137. package/dist/multiTenancy/index.js +22 -2
  138. package/dist/multiTenancy/index.js.map +1 -1
  139. package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -1
  140. package/dist/realtimeSessions/RealtimeSessionVerificationService.js +2 -1
  141. package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -1
  142. package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -1
  143. package/dist/realtimeSessions/RealtimeVerifyRouter.js +2 -1
  144. package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -1
  145. package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts +100 -0
  146. package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts.map +1 -0
  147. package/dist/realtimeSessions/RecordingAssemblyScheduler.js +173 -0
  148. package/dist/realtimeSessions/RecordingAssemblyScheduler.js.map +1 -0
  149. package/dist/realtimeSessions/SessionVerificationPortsBase.d.ts.map +1 -1
  150. package/dist/realtimeSessions/SessionVerificationPortsBase.js +1 -0
  151. package/dist/realtimeSessions/SessionVerificationPortsBase.js.map +1 -1
  152. package/dist/realtimeSessions/index.d.ts +2 -0
  153. package/dist/realtimeSessions/index.d.ts.map +1 -1
  154. package/dist/realtimeSessions/index.js +2 -0
  155. package/dist/realtimeSessions/index.js.map +1 -1
  156. package/dist/realtimeSessions/ownedRealtimeSession.d.ts +32 -0
  157. package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -0
  158. package/dist/realtimeSessions/ownedRealtimeSession.js +56 -0
  159. package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -0
  160. package/dist/realtimeSessions/sessionAccess.d.ts +91 -8
  161. package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -1
  162. package/dist/realtimeSessions/sessionAccess.js +127 -20
  163. package/dist/realtimeSessions/sessionAccess.js.map +1 -1
  164. package/dist/realtimeSessions/sessionConfigStamps.js +1 -1
  165. package/dist/realtimeSessions/sessionConfigStamps.js.map +1 -1
  166. package/dist/realtimeSessions/subscriptionAuthorization.d.ts.map +1 -1
  167. package/dist/realtimeSessions/subscriptionAuthorization.js +5 -2
  168. package/dist/realtimeSessions/subscriptionAuthorization.js.map +1 -1
  169. package/dist/realtimeSessions/verificationWorkflow.d.ts +2 -0
  170. package/dist/realtimeSessions/verificationWorkflow.d.ts.map +1 -1
  171. package/dist/realtimeSessions/verificationWorkflow.js +1 -1
  172. package/dist/realtimeSessions/verificationWorkflow.js.map +1 -1
  173. package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
  174. package/dist/realtimeWidget/WidgetRouter.js +19 -3
  175. package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
  176. package/dist/realtimeWidget/WidgetSessionService.d.ts +67 -7
  177. package/dist/realtimeWidget/WidgetSessionService.d.ts.map +1 -1
  178. package/dist/realtimeWidget/WidgetSessionService.js +201 -19
  179. package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
  180. package/dist/realtimeWidget/host-identity.d.ts +1 -1
  181. package/dist/realtimeWidget/host-identity.js +1 -1
  182. package/dist/realtimeWidget/widgetCore.d.ts +20 -1
  183. package/dist/realtimeWidget/widgetCore.d.ts.map +1 -1
  184. package/dist/realtimeWidget/widgetCore.js +17 -1
  185. package/dist/realtimeWidget/widgetCore.js.map +1 -1
  186. package/dist/realtimeWidget/widgetGuestElevation.d.ts +1 -1
  187. package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
  188. package/dist/realtimeWidget/widgetGuestElevation.js +2 -1
  189. package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
  190. package/dist/resolvers/ActionResolver.d.ts +19 -1
  191. package/dist/resolvers/ActionResolver.d.ts.map +1 -1
  192. package/dist/resolvers/ActionResolver.js +63 -12
  193. package/dist/resolvers/ActionResolver.js.map +1 -1
  194. package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
  195. package/dist/resolvers/AdhocQueryResolver.js +1 -0
  196. package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
  197. package/dist/resolvers/AgentRunStatusPublisher.d.ts +18 -4
  198. package/dist/resolvers/AgentRunStatusPublisher.d.ts.map +1 -1
  199. package/dist/resolvers/AgentRunStatusPublisher.js +32 -8
  200. package/dist/resolvers/AgentRunStatusPublisher.js.map +1 -1
  201. package/dist/resolvers/AgentSessionResolver.d.ts +10 -4
  202. package/dist/resolvers/AgentSessionResolver.d.ts.map +1 -1
  203. package/dist/resolvers/AgentSessionResolver.js +40 -17
  204. package/dist/resolvers/AgentSessionResolver.js.map +1 -1
  205. package/dist/resolvers/ArtifactFileResolver.d.ts +5 -1
  206. package/dist/resolvers/ArtifactFileResolver.d.ts.map +1 -1
  207. package/dist/resolvers/ArtifactFileResolver.js +9 -7
  208. package/dist/resolvers/ArtifactFileResolver.js.map +1 -1
  209. package/dist/resolvers/ConversationRunEventsResolver.d.ts +8 -4
  210. package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -1
  211. package/dist/resolvers/ConversationRunEventsResolver.js +6 -6
  212. package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -1
  213. package/dist/resolvers/DatasetResolver.d.ts +24 -3
  214. package/dist/resolvers/DatasetResolver.d.ts.map +1 -1
  215. package/dist/resolvers/DatasetResolver.js +57 -8
  216. package/dist/resolvers/DatasetResolver.js.map +1 -1
  217. package/dist/resolvers/EntityCommunicationsResolver.d.ts +13 -1
  218. package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
  219. package/dist/resolvers/EntityCommunicationsResolver.js +50 -14
  220. package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
  221. package/dist/resolvers/EntityRecordNameResolver.d.ts +2 -1
  222. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
  223. package/dist/resolvers/EntityRecordNameResolver.js +3 -2
  224. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
  225. package/dist/resolvers/FetchEntityVectorsResolver.d.ts +46 -3
  226. package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
  227. package/dist/resolvers/FetchEntityVectorsResolver.js +211 -50
  228. package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
  229. package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -1
  230. package/dist/resolvers/FileCategoryResolver.js +1 -0
  231. package/dist/resolvers/FileCategoryResolver.js.map +1 -1
  232. package/dist/resolvers/FileResolver.d.ts +87 -11
  233. package/dist/resolvers/FileResolver.d.ts.map +1 -1
  234. package/dist/resolvers/FileResolver.js +292 -105
  235. package/dist/resolvers/FileResolver.js.map +1 -1
  236. package/dist/resolvers/GetDataContextDataResolver.d.ts +33 -7
  237. package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
  238. package/dist/resolvers/GetDataContextDataResolver.js +117 -38
  239. package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
  240. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  241. package/dist/resolvers/GetDataResolver.js +6 -3
  242. package/dist/resolvers/GetDataResolver.js.map +1 -1
  243. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
  244. package/dist/resolvers/IntegrationDiscoveryResolver.js +49 -9
  245. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
  246. package/dist/resolvers/MergeRecordsResolver.d.ts +8 -1
  247. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
  248. package/dist/resolvers/MergeRecordsResolver.js +31 -3
  249. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  250. package/dist/resolvers/PipelineProgressResolver.d.ts +6 -0
  251. package/dist/resolvers/PipelineProgressResolver.d.ts.map +1 -1
  252. package/dist/resolvers/PipelineProgressResolver.js +5 -3
  253. package/dist/resolvers/PipelineProgressResolver.js.map +1 -1
  254. package/dist/resolvers/QueryResolver.d.ts +2 -0
  255. package/dist/resolvers/QueryResolver.d.ts.map +1 -1
  256. package/dist/resolvers/QueryResolver.js +33 -6
  257. package/dist/resolvers/QueryResolver.js.map +1 -1
  258. package/dist/resolvers/QuerySystemUserResolver.d.ts +2 -0
  259. package/dist/resolvers/QuerySystemUserResolver.d.ts.map +1 -1
  260. package/dist/resolvers/QuerySystemUserResolver.js +15 -6
  261. package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
  262. package/dist/resolvers/RSUResolver.d.ts.map +1 -1
  263. package/dist/resolvers/RSUResolver.js +12 -0
  264. package/dist/resolvers/RSUResolver.js.map +1 -1
  265. package/dist/resolvers/RealtimeClientSessionResolver.d.ts +18 -10
  266. package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
  267. package/dist/resolvers/RealtimeClientSessionResolver.js +92 -54
  268. package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
  269. package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
  270. package/dist/resolvers/RemoteBrowserActionResolver.js +11 -9
  271. package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
  272. package/dist/resolvers/RunAIAgentResolver.d.ts +56 -8
  273. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  274. package/dist/resolvers/RunAIAgentResolver.js +241 -67
  275. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  276. package/dist/resolvers/RunTemplateResolver.d.ts.map +1 -1
  277. package/dist/resolvers/RunTemplateResolver.js +4 -4
  278. package/dist/resolvers/RunTemplateResolver.js.map +1 -1
  279. package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
  280. package/dist/resolvers/RunTestResolver.js +3 -1
  281. package/dist/resolvers/RunTestResolver.js.map +1 -1
  282. package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts +12 -1
  283. package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts.map +1 -1
  284. package/dist/resolvers/SearchKnowledgeStreamResolver.js +15 -2
  285. package/dist/resolvers/SearchKnowledgeStreamResolver.js.map +1 -1
  286. package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
  287. package/dist/resolvers/SqlLoggingConfigResolver.js +2 -3
  288. package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
  289. package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
  290. package/dist/resolvers/SyncDataResolver.js +4 -0
  291. package/dist/resolvers/SyncDataResolver.js.map +1 -1
  292. package/dist/resolvers/TaskGraphFrameResolver.d.ts +2 -1
  293. package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
  294. package/dist/resolvers/TaskGraphFrameResolver.js +28 -1
  295. package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
  296. package/dist/resolvers/TestQuerySQLResolver.d.ts +24 -0
  297. package/dist/resolvers/TestQuerySQLResolver.d.ts.map +1 -1
  298. package/dist/resolvers/TestQuerySQLResolver.js +66 -13
  299. package/dist/resolvers/TestQuerySQLResolver.js.map +1 -1
  300. package/dist/resolvers/TransactionGroupResolver.d.ts +34 -2
  301. package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
  302. package/dist/resolvers/TransactionGroupResolver.js +150 -27
  303. package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
  304. package/dist/resolvers/UserViewResolver.d.ts +1 -1
  305. package/dist/resolvers/UserViewResolver.d.ts.map +1 -1
  306. package/dist/resolvers/UserViewResolver.js +2 -1
  307. package/dist/resolvers/UserViewResolver.js.map +1 -1
  308. package/dist/resolvers/agent-run-data-guard.d.ts +31 -0
  309. package/dist/resolvers/agent-run-data-guard.d.ts.map +1 -0
  310. package/dist/resolvers/agent-run-data-guard.js +72 -0
  311. package/dist/resolvers/agent-run-data-guard.js.map +1 -0
  312. package/dist/rest/EntityCRUDHandler.d.ts +6 -0
  313. package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
  314. package/dist/rest/EntityCRUDHandler.js +19 -5
  315. package/dist/rest/EntityCRUDHandler.js.map +1 -1
  316. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  317. package/dist/rest/RESTEndpointHandler.js +8 -5
  318. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  319. package/dist/rest/RealtimeRecordingHandler.d.ts +49 -0
  320. package/dist/rest/RealtimeRecordingHandler.d.ts.map +1 -0
  321. package/dist/rest/RealtimeRecordingHandler.js +383 -0
  322. package/dist/rest/RealtimeRecordingHandler.js.map +1 -0
  323. package/dist/rest/ViewOperationsHandler.d.ts +9 -1
  324. package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
  325. package/dist/rest/ViewOperationsHandler.js +43 -17
  326. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  327. package/dist/rest/setupRESTEndpoints.d.ts +6 -0
  328. package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
  329. package/dist/rest/setupRESTEndpoints.js +6 -0
  330. package/dist/rest/setupRESTEndpoints.js.map +1 -1
  331. package/dist/serverExtensionReservedRoots.d.ts +12 -10
  332. package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
  333. package/dist/serverExtensionReservedRoots.js +14 -17
  334. package/dist/serverExtensionReservedRoots.js.map +1 -1
  335. package/dist/serverRoleConfigUnits.d.ts +29 -0
  336. package/dist/serverRoleConfigUnits.d.ts.map +1 -0
  337. package/dist/serverRoleConfigUnits.js +33 -0
  338. package/dist/serverRoleConfigUnits.js.map +1 -0
  339. package/dist/services/MJStorageBlobStore.d.ts +8 -1
  340. package/dist/services/MJStorageBlobStore.d.ts.map +1 -1
  341. package/dist/services/MJStorageBlobStore.js +25 -19
  342. package/dist/services/MJStorageBlobStore.js.map +1 -1
  343. package/dist/services/StartTaskGraphDispatcher.js +2 -2
  344. package/dist/services/StartTaskGraphDispatcher.js.map +1 -1
  345. package/dist/services/TaskGraphActionRunner.d.ts +5 -3
  346. package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
  347. package/dist/services/TaskGraphActionRunner.js +27 -5
  348. package/dist/services/TaskGraphActionRunner.js.map +1 -1
  349. package/dist/services/TaskGraphAgentRunner.d.ts +14 -2
  350. package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
  351. package/dist/services/TaskGraphAgentRunner.js +157 -9
  352. package/dist/services/TaskGraphAgentRunner.js.map +1 -1
  353. package/dist/services/TaskGraphContinuationDeliverer.d.ts +59 -2
  354. package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
  355. package/dist/services/TaskGraphContinuationDeliverer.js +626 -16
  356. package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
  357. package/dist/sharedCache.d.ts.map +1 -1
  358. package/dist/sharedCache.js +3 -0
  359. package/dist/sharedCache.js.map +1 -1
  360. package/dist/types.d.ts +23 -1
  361. package/dist/types.d.ts.map +1 -1
  362. package/dist/types.js.map +1 -1
  363. package/package.json +99 -98
  364. package/src/__tests__/ActionResolver.fieldSecurity.test.ts +237 -0
  365. package/src/__tests__/AdhocQueryResolver.dialect.test.ts +137 -0
  366. package/src/__tests__/AgentRunStatusPublisher.test.ts +49 -0
  367. package/src/__tests__/AgentSessionResolver.ownership.test.ts +137 -0
  368. package/src/__tests__/CustomColumnPromoterOnePass.test.ts +15 -1
  369. package/src/__tests__/DatasetResolver.itemFilters.test.ts +201 -0
  370. package/src/__tests__/EntityCommunicationsResolver.actingUser.test.ts +151 -0
  371. package/src/__tests__/EntityRecordNameResolver.rowSecurity.test.ts +152 -0
  372. package/src/__tests__/EvolutionActsOnWhatItDetects.test.ts +113 -0
  373. package/src/__tests__/FetchEntityVectorsResolver.test.ts +369 -18
  374. package/src/__tests__/FileResolver.fieldSecurity.test.ts +82 -0
  375. package/src/__tests__/FileResolver.storageAccess.test.ts +562 -0
  376. package/src/__tests__/GetDataContextDataResolver.sqlItems.test.ts +416 -0
  377. package/src/__tests__/ListOperationsResolver.adhocScreen.test.ts +137 -0
  378. package/src/__tests__/LoginScreenEngine.test.ts +86 -0
  379. package/src/__tests__/MJStorageBlobStore.storageGate.test.ts +63 -0
  380. package/src/__tests__/PipelineProgressResolver.filter.test.ts +58 -0
  381. package/src/__tests__/QuerySystemUserResolver.fieldSecurity.test.ts +49 -0
  382. package/src/__tests__/RESTEndpointHandler.test.ts +25 -0
  383. package/src/__tests__/RealtimeClientSessionResolver.configTamper.test.ts +23 -3
  384. package/src/__tests__/RealtimeClientSessionResolver.test.ts +324 -46
  385. package/src/__tests__/RecordingAssemblyScheduler.test.ts +178 -0
  386. package/src/__tests__/RemoteBrowserActionResolver.ownership.test.ts +98 -0
  387. package/src/__tests__/ResolverBase.adhocReadScope.test.ts +133 -2
  388. package/src/__tests__/ResolverBase.balancedClause.test.ts +155 -0
  389. package/src/__tests__/ResolverBase.clauseUnscopedRead.test.ts +127 -0
  390. package/src/__tests__/ResolverBase.clientOldValues.test.ts +243 -7
  391. package/src/__tests__/ResolverBase.deleteReturnProjection.test.ts +52 -0
  392. package/src/__tests__/ResolverBase.entityMessageRelay.test.ts +176 -0
  393. package/src/__tests__/ResolverBase.filterEscaping.test.ts +5 -2
  394. package/src/__tests__/ResolverBase.includeBinaryFields.test.ts +23 -1
  395. package/src/__tests__/ResolverBase.publishStatusUpdate.test.ts +68 -0
  396. package/src/__tests__/ResolverBase.userViewCacheAndDedup.test.ts +130 -0
  397. package/src/__tests__/RunAIAgentResolver.branch.test.ts +69 -13
  398. package/src/__tests__/RunAIAgentResolver.conversationWriter.test.ts +210 -0
  399. package/src/__tests__/RunAIAgentResolver.fireAndForgetCompletion.test.ts +209 -0
  400. package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +20 -28
  401. package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +264 -0
  402. package/src/__tests__/RunAIAgentResolver.serverReply.test.ts +358 -0
  403. package/src/__tests__/RunAIAgentResolver.stoppedPredecessor.test.ts +4 -1
  404. package/src/__tests__/RunTemplateResolver.test.ts +35 -2
  405. package/src/__tests__/RunViewResolver.cacheCheckForwarding.test.ts +11 -0
  406. package/src/__tests__/RunViewResolver.cacheCheckScreen.test.ts +165 -0
  407. package/src/__tests__/SearchKnowledgeStreamResolver.test.ts +161 -0
  408. package/src/__tests__/SessionJanitor.test.ts +365 -10
  409. package/src/__tests__/SessionManager.test.ts +122 -0
  410. package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +25 -0
  411. package/src/__tests__/TaskGraphAgentRunner.test.ts +266 -0
  412. package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +468 -23
  413. package/src/__tests__/TaskGraphFrameResolver.test.ts +22 -0
  414. package/src/__tests__/TestQuerySQLResolver.test.ts +274 -0
  415. package/src/__tests__/TransactionGroupResolver.fieldSecurity.test.ts +199 -0
  416. package/src/__tests__/TransactionGroupResolver.refusals.test.ts +98 -1
  417. package/src/__tests__/UpdateMJDataContextItem.oldValues.test.ts +220 -0
  418. package/src/__tests__/UserViewResolver.updateWhereClause.test.ts +15 -0
  419. package/src/__tests__/ViewOperationsHandler.clauseScreen.test.ts +157 -0
  420. package/src/__tests__/ViewOperationsHandler.test.ts +7 -2
  421. package/src/__tests__/WidgetSessionService.test.ts +583 -4
  422. package/src/__tests__/agent-run-data-guard.test.ts +130 -0
  423. package/src/__tests__/apiRootBoot.test.ts +202 -0
  424. package/src/__tests__/buildMagicLinkSessionUser.test.ts +96 -0
  425. package/src/__tests__/cacheBroadcastProviders.test.ts +403 -0
  426. package/src/__tests__/cacheInvalidationRecordData.test.ts +109 -0
  427. package/src/__tests__/conversationRunEvents.test.ts +56 -14
  428. package/src/__tests__/fieldSecurityFixtures.ts +91 -0
  429. package/src/__tests__/globalCors.test.ts +217 -0
  430. package/src/__tests__/localDevAuth.test.ts +196 -0
  431. package/src/__tests__/multiTenancy.postgresRewrite.test.ts +181 -0
  432. package/src/__tests__/multiTenancy.security.test.ts +51 -0
  433. package/src/__tests__/multiTenancy.test.ts +1 -1
  434. package/src/__tests__/orphanedConversationDetailReconciler.test.ts +10 -0
  435. package/src/__tests__/ownedRealtimeSession.test.ts +39 -0
  436. package/src/__tests__/pushStatusResolver.filter.test.ts +64 -1
  437. package/src/__tests__/realtimeRecordingHandler.test.ts +669 -0
  438. package/src/__tests__/realtimeSessions/RealtimeSessionEventsResolver.test.ts +29 -1
  439. package/src/__tests__/realtimeSessions/ownedRealtimeSession.anonymous.test.ts +31 -0
  440. package/src/__tests__/realtimeSessions/ownedRealtimeSession.namedScoped.test.ts +37 -0
  441. package/src/__tests__/realtimeSessions/sessionAccess.test.ts +146 -7
  442. package/src/__tests__/realtimeSessions/sessionConfigStamps.test.ts +1 -1
  443. package/src/__tests__/realtimeSessions/verificationWorkflow.test.ts +25 -4
  444. package/src/__tests__/resolverBase.cloudEventChangedFields.test.ts +157 -0
  445. package/src/__tests__/resolverBase.fieldSecurityTransport.test.ts +222 -0
  446. package/src/__tests__/resolverBase.fls.test.ts +146 -97
  447. package/src/__tests__/restTransport.fieldSecurity.test.ts +148 -0
  448. package/src/__tests__/runParamsTimeZone.test.ts +179 -0
  449. package/src/__tests__/runStreams.fieldSecurity.test.ts +100 -0
  450. package/src/__tests__/runViewProperties.test.ts +114 -0
  451. package/src/__tests__/scalabilityBenchmarks.test.ts +765 -0
  452. package/src/__tests__/scalabilityDatabaseIntegration.test.ts +207 -0
  453. package/src/__tests__/serverExtensionHostOverlay.test.ts +66 -0
  454. package/src/__tests__/serverExtensionReservedRoots.test.ts +11 -98
  455. package/src/__tests__/sessionUserClone.test.ts +5 -1
  456. package/src/__tests__/sharedCache.test.ts +5 -3
  457. package/src/__tests__/startupSweepOrder.test.ts +40 -0
  458. package/src/__tests__/unifiedAuth.test.ts +28 -0
  459. package/src/__tests__/widgetGuestElevation.test.ts +2 -0
  460. package/src/agentSessions/SessionJanitor.ts +369 -93
  461. package/src/agentSessions/SessionManager.ts +45 -10
  462. package/src/apiRoot.ts +78 -0
  463. package/src/auth/AuthProviderCatalogRouter.ts +29 -0
  464. package/src/auth/LoginScreenEngine.ts +50 -0
  465. package/src/auth/index.ts +57 -12
  466. package/src/auth/initializeProviders.ts +43 -1
  467. package/src/auth/localDevAuth.ts +528 -0
  468. package/src/auth/magicLink/MagicLinkKeys.ts +2 -2
  469. package/src/auth/magicLink/MagicLinkRouter.ts +3 -2
  470. package/src/auth/magicLink/types.ts +10 -0
  471. package/src/auth/sessionUserClone.ts +3 -2
  472. package/src/broadcast/BaseCacheInvalidationBroadcastProvider.ts +674 -0
  473. package/src/broadcast/index.ts +5 -0
  474. package/src/broadcast/providers/AWSIoTCoreBroadcastProvider.ts +180 -0
  475. package/src/broadcast/providers/AzureWebPubSubBroadcastProvider.ts +182 -0
  476. package/src/broadcast/providers/GCPPubSubBroadcastProvider.ts +169 -0
  477. package/src/broadcast/providers/SequencedRoleBucketBroadcastProvider.ts +57 -0
  478. package/src/cache.ts +2 -1
  479. package/src/config.ts +115 -5
  480. package/src/context.ts +32 -8
  481. package/src/coreRoutes.ts +181 -0
  482. package/src/generated/graphql-schemas/__mj.ts +3684 -284
  483. package/src/generic/CacheInvalidationResolver.ts +172 -60
  484. package/src/generic/OrphanedConversationDetailReconciler.ts +4 -2
  485. package/src/generic/PubSubManager.ts +54 -1
  486. package/src/generic/PushStatusResolver.ts +109 -12
  487. package/src/generic/ResolverBase.ts +540 -431
  488. package/src/generic/RunViewResolver.ts +97 -15
  489. package/src/generic/actionOutputFieldSecurity.ts +75 -0
  490. package/src/generic/fieldSecurityTransport.ts +62 -0
  491. package/src/globalCors.ts +71 -0
  492. package/src/index.ts +239 -238
  493. package/src/integration/CustomColumnPromoter.ts +6 -1
  494. package/src/logging/variablesLoggingMiddleware.ts +59 -3
  495. package/src/multiTenancy/index.ts +24 -2
  496. package/src/realtimeSessions/README.md +7 -3
  497. package/src/realtimeSessions/RealtimeSessionVerificationService.ts +2 -1
  498. package/src/realtimeSessions/RealtimeVerifyRouter.ts +2 -1
  499. package/src/realtimeSessions/RecordingAssemblyScheduler.ts +234 -0
  500. package/src/realtimeSessions/SessionVerificationPortsBase.ts +1 -0
  501. package/src/realtimeSessions/index.ts +2 -0
  502. package/src/realtimeSessions/ownedRealtimeSession.ts +69 -0
  503. package/src/realtimeSessions/sessionAccess.ts +183 -23
  504. package/src/realtimeSessions/sessionConfigStamps.ts +1 -1
  505. package/src/realtimeSessions/subscriptionAuthorization.ts +4 -2
  506. package/src/realtimeSessions/verificationWorkflow.ts +3 -1
  507. package/src/realtimeWidget/WidgetRouter.ts +22 -4
  508. package/src/realtimeWidget/WidgetSessionService.ts +252 -17
  509. package/src/realtimeWidget/host-identity.ts +1 -1
  510. package/src/realtimeWidget/widgetCore.ts +30 -1
  511. package/src/realtimeWidget/widgetGuestElevation.ts +2 -1
  512. package/src/resolvers/ActionResolver.ts +78 -15
  513. package/src/resolvers/AdhocQueryResolver.ts +1 -0
  514. package/src/resolvers/AgentRunStatusPublisher.ts +36 -8
  515. package/src/resolvers/AgentSessionResolver.ts +46 -18
  516. package/src/resolvers/ArtifactFileResolver.ts +9 -8
  517. package/src/resolvers/ConversationRunEventsResolver.ts +15 -11
  518. package/src/resolvers/DatasetResolver.ts +70 -10
  519. package/src/resolvers/EntityCommunicationsResolver.ts +56 -15
  520. package/src/resolvers/EntityRecordNameResolver.ts +3 -2
  521. package/src/resolvers/FetchEntityVectorsResolver.ts +248 -55
  522. package/src/resolvers/FileCategoryResolver.ts +1 -0
  523. package/src/resolvers/FileResolver.ts +334 -109
  524. package/src/resolvers/GetDataContextDataResolver.ts +139 -41
  525. package/src/resolvers/GetDataResolver.ts +6 -3
  526. package/src/resolvers/IntegrationDiscoveryResolver.ts +53 -9
  527. package/src/resolvers/MergeRecordsResolver.ts +23 -2
  528. package/src/resolvers/PipelineProgressResolver.ts +12 -3
  529. package/src/resolvers/QueryResolver.ts +31 -6
  530. package/src/resolvers/QuerySystemUserResolver.ts +15 -6
  531. package/src/resolvers/RSUResolver.ts +12 -0
  532. package/src/resolvers/RealtimeClientSessionResolver.ts +114 -66
  533. package/src/resolvers/RemoteBrowserActionResolver.ts +15 -10
  534. package/src/resolvers/RunAIAgentResolver.ts +296 -85
  535. package/src/resolvers/RunTemplateResolver.ts +6 -4
  536. package/src/resolvers/RunTestResolver.ts +3 -1
  537. package/src/resolvers/SearchKnowledgeStreamResolver.ts +19 -3
  538. package/src/resolvers/SqlLoggingConfigResolver.ts +2 -4
  539. package/src/resolvers/SyncDataResolver.ts +4 -0
  540. package/src/resolvers/TaskGraphFrameResolver.ts +33 -1
  541. package/src/resolvers/TestQuerySQLResolver.ts +69 -13
  542. package/src/resolvers/TransactionGroupResolver.ts +185 -30
  543. package/src/resolvers/UserViewResolver.ts +2 -1
  544. package/src/resolvers/__tests__/GetDataResolver.validation.test.ts +95 -0
  545. package/src/resolvers/__tests__/MergeRecordsResolver.test.ts +43 -0
  546. package/src/resolvers/agent-run-data-guard.ts +89 -0
  547. package/src/rest/EntityCRUDHandler.ts +22 -5
  548. package/src/rest/RESTEndpointHandler.ts +8 -5
  549. package/src/rest/RealtimeRecordingHandler.ts +467 -0
  550. package/src/rest/ViewOperationsHandler.ts +52 -18
  551. package/src/rest/setupRESTEndpoints.ts +6 -0
  552. package/src/serverExtensionReservedRoots.ts +14 -17
  553. package/src/serverRoleConfigUnits.ts +48 -0
  554. package/src/services/MJStorageBlobStore.ts +31 -30
  555. package/src/services/StartTaskGraphDispatcher.ts +2 -2
  556. package/src/services/TaskGraphActionRunner.ts +25 -5
  557. package/src/services/TaskGraphAgentRunner.ts +188 -11
  558. package/src/services/TaskGraphContinuationDeliverer.ts +738 -16
  559. package/src/sharedCache.ts +3 -0
  560. package/src/types.ts +23 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ViewOperationsHandler.d.ts","sourceRoot":"","sources":["../../src/rest/ViewOperationsHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAC0B,aAAa,EAC1C,aAAa,EAAE,QAAQ,EAC1B,MAAM,sBAAsB,CAAC;AAE9B;;;GAGG;AACH,qBAAa,qBAAqB;IAC9B;;OAEG;WACU,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAmClI,uCAAuC;WAC1B,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlI;;OAEG;WACU,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsC7I,wCAAwC;WAC3B,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7I;;OAEG;WACU,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BxF,4CAA4C;WAC/B,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAIxF;;OAEG;WACU,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqD7H,8CAA8C;WACjC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7H;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAgCvC"}
1
+ {"version":3,"file":"ViewOperationsHandler.d.ts","sourceRoot":"","sources":["../../src/rest/ViewOperationsHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACkD,aAAa,EAClE,aAAa,EAAE,QAAQ,EAC1B,MAAM,sBAAsB,CAAC;AAI9B;;;GAGG;AACH,qBAAa,qBAAqB;IAC9B;;OAEG;WACU,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAmClI,uCAAuC;WAC1B,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlI;;OAEG;WACU,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyC7I,wCAAwC;WAC3B,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7I;;OAEG;WACU,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BxF,4CAA4C;WAC/B,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAIxF;;OAEG;WACU,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAqD7H,8CAA8C;WACjC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7H;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAQ5B;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;CA8CvC"}
@@ -1,4 +1,6 @@
1
- import { LogError, Metadata, RunView } from '@memberjunction/core';
1
+ import { BaseEntity, LogError, Metadata, RunView } from '@memberjunction/core';
2
+ import { ClientClauseScreen } from '@memberjunction/generic-database-provider';
3
+ import { ProjectRowsForCaller } from '../generic/fieldSecurityTransport.js';
2
4
  /**
3
5
  * View Operations Implementation for REST endpoints
4
6
  * These functions handle running views through the REST API
@@ -26,12 +28,12 @@ export class ViewOperationsHandler {
26
28
  error: `User ${user.Name} does not have permission to read ${params.EntityName} records`
27
29
  };
28
30
  }
29
- // Sanitize and validate parameters
30
- this.sanitizeRunViewParams(params);
31
- // Execute the view
31
+ // Sanitize and validate parameters against the provider that runs the view
32
32
  const runView = new RunView();
33
+ this.sanitizeRunViewParams(params, md, runView.ProviderToUse, user);
34
+ // Execute the view
33
35
  const result = await runView.RunView(params, user);
34
- return { success: true, result };
36
+ return { success: true, result: this.projectResult(result, entity, user, md) };
35
37
  }
36
38
  catch (error) {
37
39
  LogError(error);
@@ -47,8 +49,10 @@ export class ViewOperationsHandler {
47
49
  */
48
50
  static async RunViews(paramsArray, user) {
49
51
  try {
50
- // Validate and sanitize each set of parameters
52
+ // Validate and sanitize each set of parameters against the provider that runs the views
51
53
  const md = new Metadata(); // global-provider-ok: REST endpoint — no per-request provider injection in REST middleware yet
54
+ const runView = new RunView();
55
+ const entities = [];
52
56
  for (const params of paramsArray) {
53
57
  // Validate entity exists
54
58
  const entity = md.Entities.find(e => e.Name === params.EntityName);
@@ -67,12 +71,13 @@ export class ViewOperationsHandler {
67
71
  };
68
72
  }
69
73
  // Sanitize parameters
70
- this.sanitizeRunViewParams(params);
74
+ this.sanitizeRunViewParams(params, md, runView.ProviderToUse, user);
75
+ entities.push(entity);
71
76
  }
72
77
  // Execute the views
73
- const runView = new RunView();
74
78
  const results = await runView.RunViews(paramsArray, user);
75
- return { success: true, results };
79
+ const projected = results?.map((r, i) => this.projectResult(r, entities[i], user, md));
80
+ return { success: true, results: projected?.some((r, i) => r !== results[i]) ? projected : results };
76
81
  }
77
82
  catch (error) {
78
83
  LogError(error);
@@ -98,11 +103,11 @@ export class ViewOperationsHandler {
98
103
  if (!permissions.CanRead) {
99
104
  throw new Error(`User ${user.Name} does not have permission to read ${params.EntityName} records`);
100
105
  }
101
- // Sanitize and validate parameters
102
- this.sanitizeRunViewParams(params);
103
- // Execute the view
106
+ // Sanitize and validate parameters against the provider that runs the view
104
107
  const runView = new RunView();
105
- return await runView.RunView(params, user);
108
+ this.sanitizeRunViewParams(params, md, runView.ProviderToUse, user);
109
+ // Execute the view
110
+ return this.projectResult(await runView.RunView(params, user), entity, user, md);
106
111
  }
107
112
  catch (error) {
108
113
  LogError(error);
@@ -168,13 +173,32 @@ export class ViewOperationsHandler {
168
173
  return this.GetEntityViews(entityName, user);
169
174
  }
170
175
  /**
171
- * Sanitize and validate RunViewParams
176
+ * The result with its rows reduced to what `user` may READ. The provider already narrows the
177
+ * rows it reads for a restricted caller; this is the backstop for any that arrive wider. The
178
+ * same result object comes back when no row needed changing.
172
179
  */
173
- static sanitizeRunViewParams(params) {
180
+ static projectResult(result, entity, user, md) {
181
+ if (!result?.Results?.length) {
182
+ return result;
183
+ }
184
+ const rows = ProjectRowsForCaller(entity, result.Results, user, md);
185
+ return rows === result.Results ? result : { ...result, Results: rows };
186
+ }
187
+ /**
188
+ * Sanitize and validate RunViewParams. Client filter and sort text passes the same clause
189
+ * screen as the GraphQL RunView resolvers, parsed in the dialect of `provider`, the provider
190
+ * that runs the view.
191
+ */
192
+ static sanitizeRunViewParams(params, md, provider, user) {
174
193
  // Ensure EntityName is provided
175
194
  if (!params.EntityName) {
176
195
  throw new Error('EntityName is required');
177
196
  }
197
+ // A loaded view entity cannot arrive over JSON; the provider would trust a plain object's
198
+ // fields (its ID is spliced into view SQL). REST callers name a saved view by ViewID or ViewName.
199
+ if (params.ViewEntity != null && !(params.ViewEntity instanceof BaseEntity)) {
200
+ throw new Error('ViewEntity is not accepted over REST; use ViewID or ViewName');
201
+ }
178
202
  // Convert string arrays if they came in as comma-separated strings
179
203
  if (params.Fields && typeof params.Fields === 'string') {
180
204
  params.Fields = params.Fields.split(',');
@@ -193,10 +217,12 @@ export class ViewOperationsHandler {
193
217
  : params.StartRow;
194
218
  params.StartRow = Number.isFinite(parsed) ? Math.max(0, Math.floor(parsed)) : undefined;
195
219
  }
196
- // Default ResultType if not provided
197
- if (!params.ResultType) {
220
+ // Plain rows only on the wire. An entity object serializes its internal state rather than
221
+ // its projected field values, so a caller may not ask for one; a count carries no row.
222
+ if (params.ResultType !== 'count_only') {
198
223
  params.ResultType = 'simple';
199
224
  }
225
+ ClientClauseScreen.ScreenViewClauses({ ExtraFilter: params.ExtraFilter, OrderBy: params.OrderBy, OverrideExcludeFilter: params.OverrideExcludeFilter }, md.Entities, ClientClauseScreen.DialectFor(provider), user);
200
226
  }
201
227
  }
202
228
  //# sourceMappingURL=ViewOperationsHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewOperationsHandler.js","sourceRoot":"","sources":["../../src/rest/ViewOperationsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewOperationsHandler.js","sourceRoot":"","sources":["../../src/rest/ViewOperationsHandler.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
1
  import express from 'express';
2
+ /**
3
+ * Known exception to the API-root rule (#5674): REST stays at the ORIGIN-absolute `/api/v1` and does NOT go
4
+ * through `ApiRoute()`. Prefixed deployments (CloudFront `/api/*`) already reach it at this absolute path;
5
+ * under `MJAPI_BASE_PATH=/api` wrapping it would make it `/api/api/v1` and break
6
+ * every REST client. It is passed as a constant, so `check:api-root` (which flags literals) does not trip.
7
+ */
2
8
  export declare const REST_API_BASE_PATH = "/api/v1";
3
9
  /** @deprecated Use {@link REST_API_BASE_PATH}. */
4
10
  export declare const ___REST_API_BASE_PATH = "/api/v1";
@@ -1 +1 @@
1
- {"version":3,"file":"setupRESTEndpoints.d.ts","sourceRoot":"","sources":["../../src/rest/setupRESTEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAK9B,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,YAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,cAEtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,OAAO,CAAC,WAAW,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACjC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,GACxC,IAAI,CA8BN;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,OAAO,CAAC,WAAW,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACjC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,GACxC,IAAI,CAEN"}
1
+ {"version":3,"file":"setupRESTEndpoints.d.ts","sourceRoot":"","sources":["../../src/rest/setupRESTEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAK9B;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,YAAqB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,cAEtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,OAAO,CAAC,WAAW,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACjC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,GACxC,IAAI,CA8BN;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,OAAO,CAAC,WAAW,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EACjC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,GACxC,IAAI,CAEN"}
@@ -1,6 +1,12 @@
1
1
  import BodyParser from 'body-parser';
2
2
  import { LogStatusEx } from '@memberjunction/core';
3
3
  import { RESTEndpointHandler } from './RESTEndpointHandler.js';
4
+ /**
5
+ * Known exception to the API-root rule (#5674): REST stays at the ORIGIN-absolute `/api/v1` and does NOT go
6
+ * through `ApiRoute()`. Prefixed deployments (CloudFront `/api/*`) already reach it at this absolute path;
7
+ * under `MJAPI_BASE_PATH=/api` wrapping it would make it `/api/api/v1` and break
8
+ * every REST client. It is passed as a constant, so `check:api-root` (which flags literals) does not trip.
9
+ */
4
10
  export const REST_API_BASE_PATH = '/api/v1';
5
11
  /** @deprecated Use {@link REST_API_BASE_PATH}. */
6
12
  export const ___REST_API_BASE_PATH = REST_API_BASE_PATH;
@@ -1 +1 @@
1
- {"version":3,"file":"setupRESTEndpoints.js","sourceRoot":"","sources":["../../src/rest/setupRESTEndpoints.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAwCxD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACpD,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAC9B,GAAwB,EACxB,OAAiC,EACjC,cAAuC;IAEvC,6BAA6B;IAC7B,MAAM,MAAM,GAAG,EAAE,GAAG,wBAAwB,EAAE,GAAG,OAAO,EAAE,CAAC;IAE3D,mFAAmF;IACnF,yEAAyE;IACzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IAEpC,8DAA8D;IAC9D,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACtG,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACtG,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACnG,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACtG,CAAC,CAAC;IAEH,gEAAgE;IAChE,4DAA4D;IAC5D,IAAI,cAAc,EAAE,CAAC;QACjB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IACnG,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,EAAE,OAAO,EAAE,0CAA0C,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACtG,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,kBAAkB,CAC9B,GAAwB,EACxB,OAAiC,EACjC,cAAuC;IAEvC,OAAO,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"setupRESTEndpoints.js","sourceRoot":"","sources":["../../src/rest/setupRESTEndpoints.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAwCxD;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACpD,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAC9B,GAAwB,EACxB,OAAiC,EACjC,cAAuC;IAEvC,6BAA6B;IAC7B,MAAM,MAAM,GAAG,EAAE,GAAG,wBAAwB,EAAE,GAAG,OAAO,EAAE,CAAC;IAE3D,mFAAmF;IACnF,yEAAyE;IACzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IAEpC,8DAA8D;IAC9D,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACtG,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACtG,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QACnG,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACtG,CAAC,CAAC;IAEH,gEAAgE;IAChE,4DAA4D;IAC5D,IAAI,cAAc,EAAE,CAAC;QACjB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IACnG,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,EAAE,OAAO,EAAE,0CAA0C,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACtG,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,kBAAkB,CAC9B,GAAwB,EACxB,OAAiC,EACjC,cAAuC;IAEvC,OAAO,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC5D,CAAC"}
@@ -2,15 +2,17 @@
2
2
  * Core HTTP prefixes MJServer mounts — many of them PRE-AUTH — that an Open App
3
3
  * server extension must not claim.
4
4
  *
5
+ * Every value is relative to MJAPI's base path (`ApiRoute()` composes the real mount path).
6
+ *
5
7
  * Kept as literals (not imported `*_MOUNT_PATH` constants) so this module cannot
6
8
  * pull `config.ts` / telephony routers into every importer. Values MUST stay in
7
9
  * lockstep with the `export const *_MOUNT_PATH` declarations and the `app.use` /
8
- * `app.get` calls in `src/index.ts`. The companion unit test reads those source
9
- * files and fails if a constant drifts.
10
+ * `app.get` calls in `src/coreRoutes.ts`. The companion unit tests read the constants'
11
+ * source and boot those mounts (`apiRootBoot.test.ts`), failing if either drifts.
10
12
  *
11
13
  * `serve()` passes the result into `prepareServerExtensionConfigs({ extraReservedRoots })`.
12
14
  *
13
- * If you add a pre-auth `app.use(...)` in `serve()`, add its prefix here.
15
+ * If you add a pre-auth core mount, add its prefix here.
14
16
  */
15
17
  /** Core mounts that have no exported `*_MOUNT_PATH` constant. */
16
18
  export declare const CORE_STATIC_RESERVED_SERVER_EXTENSION_ROOTS: readonly string[];
@@ -20,12 +22,12 @@ export declare const CORE_STATIC_RESERVED_SERVER_EXTENSION_ROOTS: readonly strin
20
22
  */
21
23
  export declare const CORE_CONSTANT_RESERVED_SERVER_EXTENSION_ROOTS: readonly string[];
22
24
  /**
23
- * Reserved roots for the running process. `graphqlRootPath` is included so a
24
- * deployment that sets `GRAPHQL_ROOT_PATH=/api` (or anything other than the
25
- * static `/graphql` baseline) is still protected. `/` as graphqlRootPath is
26
- * already reserved as the server root and does not prefix-match every path.
25
+ * Reserved roots for the running process, relative to MJAPI's base path like every extension RootPath.
26
+ * `graphqlRootPath` is no longer reserved: it is only Apollo's path, and Apollo mounts last, so an extension
27
+ * route registered before it always wins (`prepareServerExtensionConfigs({ apiRootPath })` composes the
28
+ * mount path).
27
29
  */
28
- export declare function CoreReservedServerExtensionRoots(graphqlRootPath: string): string[];
29
- /** @deprecated Use {@link CoreReservedServerExtensionRoots}. */
30
- export declare function coreReservedServerExtensionRoots(graphqlRootPath: string): string[];
30
+ export declare function CoreReservedServerExtensionRoots(): string[];
31
+ /** @deprecated Use {@link CoreReservedServerExtensionRoots}. The argument is ignored. */
32
+ export declare function coreReservedServerExtensionRoots(_graphqlRootPath?: string): string[];
31
33
  //# sourceMappingURL=serverExtensionReservedRoots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverExtensionReservedRoots.d.ts","sourceRoot":"","sources":["../src/serverExtensionReservedRoots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iEAAiE;AACjE,eAAO,MAAM,2CAA2C,EAAE,SAAS,MAAM,EAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6CAA6C,EAAE,SAAS,MAAM,EAI1E,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAOlF;AAED,gEAAgE;AAChE,wBAAgB,gCAAgC,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,CAElF"}
1
+ {"version":3,"file":"serverExtensionReservedRoots.d.ts","sourceRoot":"","sources":["../src/serverExtensionReservedRoots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iEAAiE;AACjE,eAAO,MAAM,2CAA2C,EAAE,SAAS,MAAM,EAQxE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6CAA6C,EAAE,SAAS,MAAM,EAI1E,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,EAAE,CAE3D;AAED,yFAAyF;AACzF,wBAAgB,gCAAgC,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpF"}
@@ -2,15 +2,17 @@
2
2
  * Core HTTP prefixes MJServer mounts — many of them PRE-AUTH — that an Open App
3
3
  * server extension must not claim.
4
4
  *
5
+ * Every value is relative to MJAPI's base path (`ApiRoute()` composes the real mount path).
6
+ *
5
7
  * Kept as literals (not imported `*_MOUNT_PATH` constants) so this module cannot
6
8
  * pull `config.ts` / telephony routers into every importer. Values MUST stay in
7
9
  * lockstep with the `export const *_MOUNT_PATH` declarations and the `app.use` /
8
- * `app.get` calls in `src/index.ts`. The companion unit test reads those source
9
- * files and fails if a constant drifts.
10
+ * `app.get` calls in `src/coreRoutes.ts`. The companion unit tests read the constants'
11
+ * source and boot those mounts (`apiRootBoot.test.ts`), failing if either drifts.
10
12
  *
11
13
  * `serve()` passes the result into `prepareServerExtensionConfigs({ extraReservedRoots })`.
12
14
  *
13
- * If you add a pre-auth `app.use(...)` in `serve()`, add its prefix here.
15
+ * If you add a pre-auth core mount, add its prefix here.
14
16
  */
15
17
  /** Core mounts that have no exported `*_MOUNT_PATH` constant. */
16
18
  export const CORE_STATIC_RESERVED_SERVER_EXTENSION_ROOTS = [
@@ -32,21 +34,16 @@ export const CORE_CONSTANT_RESERVED_SERVER_EXTENSION_ROOTS = [
32
34
  '/widget', // WIDGET_MOUNT_PATH
33
35
  ];
34
36
  /**
35
- * Reserved roots for the running process. `graphqlRootPath` is included so a
36
- * deployment that sets `GRAPHQL_ROOT_PATH=/api` (or anything other than the
37
- * static `/graphql` baseline) is still protected. `/` as graphqlRootPath is
38
- * already reserved as the server root and does not prefix-match every path.
37
+ * Reserved roots for the running process, relative to MJAPI's base path like every extension RootPath.
38
+ * `graphqlRootPath` is no longer reserved: it is only Apollo's path, and Apollo mounts last, so an extension
39
+ * route registered before it always wins (`prepareServerExtensionConfigs({ apiRootPath })` composes the
40
+ * mount path).
39
41
  */
40
- export function CoreReservedServerExtensionRoots(graphqlRootPath) {
41
- const graphql = typeof graphqlRootPath === 'string' ? graphqlRootPath.trim() : '';
42
- return [
43
- ...(graphql ? [graphql] : []),
44
- ...CORE_CONSTANT_RESERVED_SERVER_EXTENSION_ROOTS,
45
- ...CORE_STATIC_RESERVED_SERVER_EXTENSION_ROOTS,
46
- ];
42
+ export function CoreReservedServerExtensionRoots() {
43
+ return [...CORE_CONSTANT_RESERVED_SERVER_EXTENSION_ROOTS, ...CORE_STATIC_RESERVED_SERVER_EXTENSION_ROOTS];
47
44
  }
48
- /** @deprecated Use {@link CoreReservedServerExtensionRoots}. */
49
- export function coreReservedServerExtensionRoots(graphqlRootPath) {
50
- return CoreReservedServerExtensionRoots(graphqlRootPath);
45
+ /** @deprecated Use {@link CoreReservedServerExtensionRoots}. The argument is ignored. */
46
+ export function coreReservedServerExtensionRoots(_graphqlRootPath) {
47
+ return CoreReservedServerExtensionRoots();
51
48
  }
52
49
  //# sourceMappingURL=serverExtensionReservedRoots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverExtensionReservedRoots.js","sourceRoot":"","sources":["../src/serverExtensionReservedRoots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,2CAA2C,GAAsB;IAC1E,cAAc;IACd,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,iBAAiB;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAsB;IAC5E,OAAO,EAAe,0BAA0B;IAChD,aAAa,EAAS,wBAAwB;IAC9C,SAAS,EAAa,oBAAoB;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,eAAuB;IACpE,MAAM,OAAO,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO;QACH,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,6CAA6C;QAChD,GAAG,2CAA2C;KACjD,CAAC;AACN,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,gCAAgC,CAAC,eAAuB;IACpE,OAAO,gCAAgC,CAAC,eAAe,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"serverExtensionReservedRoots.js","sourceRoot":"","sources":["../src/serverExtensionReservedRoots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,2CAA2C,GAAsB;IAC1E,cAAc;IACd,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,iBAAiB;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAsB;IAC5E,OAAO,EAAe,0BAA0B;IAChD,aAAa,EAAS,wBAAwB;IAC9C,SAAS,EAAa,oBAAoB;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC;IAC5C,OAAO,CAAC,GAAG,6CAA6C,EAAE,GAAG,2CAA2C,CAAC,CAAC;AAC9G,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,gCAAgC,CAAC,gBAAyB;IACtE,OAAO,gCAAgC,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Supported MJServer horizontal scaling roles (`MJ_SERVER_ROLE`).
3
+ * - `'all'` (default): Monolithic mode — serves HTTP/GraphQL/WebSocket traffic AND runs all background worker loops.
4
+ * - `'api'`: Stateless API/WebSocket edge — serves HTTP/GraphQL/WebSocket traffic ONLY; skips background schedulers,
5
+ * queue dispatchers, and janitors so event-loop responsiveness is isolated from heavy background jobs.
6
+ * - `'worker'`: Background worker replica — runs `ScheduledJobsService`, `IntegrationSyncWorkerService`,
7
+ * `StartTaskGraphDispatcher`, `StartWorkQueueHost`, `SessionJanitor`, and orphan reconcilers while keeping
8
+ * only lightweight healthcheck/metrics HTTP endpoints active.
9
+ */
10
+ export type ServerRole = 'all' | 'api' | 'worker';
11
+ /**
12
+ * Resolves the server role from `MJ_SERVER_ROLE` or `mj.config.cjs`'s `serverRole`.
13
+ * Defaults to `'all'` when unset or blank. Throws on unrecognized values so deployment typos
14
+ * fail fast at startup instead of silently running the wrong workload profile.
15
+ */
16
+ export declare function ResolveServerRole(rawValue?: string | null): ServerRole;
17
+ /**
18
+ * Returns `true` when this server instance should start background worker loops
19
+ * (`ScheduledJobsService`, `IntegrationSyncWorkerService`, `StartTaskGraphDispatcher`,
20
+ * `StartWorkQueueHost`, `SessionJanitor`, `StartBridgeOrphanReconciliation`, and
21
+ * `OrphanDetailReconciler`).
22
+ */
23
+ export declare function ShouldRunBackgroundWorkers(role: ServerRole): boolean;
24
+ /**
25
+ * Returns `true` when this server instance is designated to serve interactive
26
+ * API / GraphQL / WebSocket client traffic.
27
+ */
28
+ export declare function ShouldServeInteractiveTraffic(role: ServerRole): boolean;
29
+ //# sourceMappingURL=serverRoleConfigUnits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRoleConfigUnits.d.ts","sourceRoot":"","sources":["../src/serverRoleConfigUnits.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;AAIlD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAWtE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEpE;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEvE"}
@@ -0,0 +1,33 @@
1
+ const VALID_SERVER_ROLES = new Set(['all', 'api', 'worker']);
2
+ /**
3
+ * Resolves the server role from `MJ_SERVER_ROLE` or `mj.config.cjs`'s `serverRole`.
4
+ * Defaults to `'all'` when unset or blank. Throws on unrecognized values so deployment typos
5
+ * fail fast at startup instead of silently running the wrong workload profile.
6
+ */
7
+ export function ResolveServerRole(rawValue) {
8
+ const trimmed = rawValue?.trim().toLowerCase();
9
+ if (!trimmed) {
10
+ return 'all';
11
+ }
12
+ if (VALID_SERVER_ROLES.has(trimmed)) {
13
+ return trimmed;
14
+ }
15
+ throw new Error(`Invalid MJ_SERVER_ROLE "${rawValue}". Expected one of: 'all', 'api', 'worker'.`);
16
+ }
17
+ /**
18
+ * Returns `true` when this server instance should start background worker loops
19
+ * (`ScheduledJobsService`, `IntegrationSyncWorkerService`, `StartTaskGraphDispatcher`,
20
+ * `StartWorkQueueHost`, `SessionJanitor`, `StartBridgeOrphanReconciliation`, and
21
+ * `OrphanDetailReconciler`).
22
+ */
23
+ export function ShouldRunBackgroundWorkers(role) {
24
+ return role === 'all' || role === 'worker';
25
+ }
26
+ /**
27
+ * Returns `true` when this server instance is designated to serve interactive
28
+ * API / GraphQL / WebSocket client traffic.
29
+ */
30
+ export function ShouldServeInteractiveTraffic(role) {
31
+ return role === 'all' || role === 'api';
32
+ }
33
+ //# sourceMappingURL=serverRoleConfigUnits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRoleConfigUnits.js","sourceRoot":"","sources":["../src/serverRoleConfigUnits.ts"],"names":[],"mappings":"AAWA,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9F;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAwB;IACtD,MAAM,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,OAAqB,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,KAAK,CACX,2BAA2B,QAAQ,6CAA6C,CACnF,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAgB;IACvD,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAgB;IAC1D,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC;AAC5C,CAAC"}
@@ -31,11 +31,18 @@ export declare class MJStorageBlobStore implements IAttachmentBlobStore {
31
31
  /** @inheritdoc */
32
32
  Delete(fileId: string, contextUser: UserInfo, provider?: IMetadataProvider): Promise<boolean>;
33
33
  /**
34
- * Loads a file, its storage provider, and a driver able to act on it.
34
+ * Loads a file (as the caller), and a driver able to act on it — through the storage gate.
35
35
  *
36
36
  * Shared by download, URL and delete, which previously repeated this block three times with
37
37
  * subtly different fallbacks — the account-credential path existed in only one of them.
38
+ *
39
+ * When an account links to the file's provider, `FileStorageEngine.ResolveFileObject` resolves it and refuses unless
40
+ * the caller may use that account for `access` and may read every `MJ: Files` row tracking the object (a row can
41
+ * alias another row's object). Otherwise the environment-configured driver serves the file; there is no account to
42
+ * gate, so only the tracked-file rule applies. A refusal throws, and each caller logs it and reports failure.
38
43
  */
39
44
  private resolveFileAndDriver;
45
+ /** The environment-configured driver for a file whose provider has no account — after the tracked-file rule. */
46
+ private environmentDriverFor;
40
47
  }
41
48
  //# sourceMappingURL=MJStorageBlobStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MJStorageBlobStore.d.ts","sourceRoot":"","sources":["../../src/services/MJStorageBlobStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,iBAAiB,EAAY,MAAM,sBAAsB,CAAC;AAIvF,OAAO,KAAK,EACR,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACvB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,kBAAmB,YAAW,oBAAoB;IAC3D;;;;;;OAMG;IACU,MAAM,CACf,KAAK,EAAE,yBAAyB,EAChC,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,0BAA0B,CAAC;IAuEtC,kBAAkB;IACL,QAAQ,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAczB,kBAAkB;IACL,cAAc,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWzB,kBAAkB;IACL,MAAM,CACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;;OAKG;YACW,oBAAoB;CAoCrC"}
1
+ {"version":3,"file":"MJStorageBlobStore.d.ts","sourceRoot":"","sources":["../../src/services/MJStorageBlobStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,iBAAiB,EAAY,MAAM,sBAAsB,CAAC;AAIvF,OAAO,KAAK,EACR,yBAAyB,EACzB,0BAA0B,EAC1B,oBAAoB,EACvB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,kBAAmB,YAAW,oBAAoB;IAC3D;;;;;;OAMG;IACU,MAAM,CACf,KAAK,EAAE,yBAAyB,EAChC,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,0BAA0B,CAAC;IAuEtC,kBAAkB;IACL,QAAQ,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAczB,kBAAkB;IACL,cAAc,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWzB,kBAAkB;IACL,MAAM,CACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,OAAO,CAAC;IAkBnB;;;;;;;;;;OAUG;YACW,oBAAoB;IAmBlC,gHAAgH;YAClG,oBAAoB;CAYrC"}
@@ -1,6 +1,6 @@
1
1
  import { LogError, Metadata } from '@memberjunction/core';
2
2
  import { MJGlobal } from '@memberjunction/global';
3
- import { FileStorageBase, FileStorageEngine } from '@memberjunction/storage';
3
+ import { FileStorageBase, FileStorageEngine, StorageAccessEvaluator, StorageObjectKeyOf } from '@memberjunction/storage';
4
4
  /**
5
5
  * @fileoverview MJStorage-backed implementation of the conversation-attachment blob seam.
6
6
  *
@@ -84,7 +84,7 @@ export class MJStorageBlobStore {
84
84
  /** @inheritdoc */
85
85
  async Download(fileId, contextUser, provider) {
86
86
  try {
87
- const resolved = await this.resolveFileAndDriver(fileId, contextUser, provider);
87
+ const resolved = await this.resolveFileAndDriver(fileId, contextUser, 'Read', provider);
88
88
  if (!resolved)
89
89
  return null;
90
90
  const content = await resolved.driver.GetObject({ fullPath: resolved.objectKey });
@@ -99,7 +99,7 @@ export class MJStorageBlobStore {
99
99
  /** @inheritdoc */
100
100
  async GetDownloadUrl(fileId, contextUser, provider) {
101
101
  try {
102
- const resolved = await this.resolveFileAndDriver(fileId, contextUser, provider);
102
+ const resolved = await this.resolveFileAndDriver(fileId, contextUser, 'Read', provider);
103
103
  if (!resolved)
104
104
  return null;
105
105
  return resolved.driver.CreatePreAuthDownloadUrl(resolved.objectKey);
@@ -112,7 +112,7 @@ export class MJStorageBlobStore {
112
112
  /** @inheritdoc */
113
113
  async Delete(fileId, contextUser, provider) {
114
114
  try {
115
- const resolved = await this.resolveFileAndDriver(fileId, contextUser, provider);
115
+ const resolved = await this.resolveFileAndDriver(fileId, contextUser, 'Write', provider);
116
116
  if (!resolved)
117
117
  return false;
118
118
  const deleted = await resolved.driver.DeleteObject(resolved.objectKey);
@@ -129,32 +129,38 @@ export class MJStorageBlobStore {
129
129
  }
130
130
  }
131
131
  /**
132
- * Loads a file, its storage provider, and a driver able to act on it.
132
+ * Loads a file (as the caller), and a driver able to act on it — through the storage gate.
133
133
  *
134
134
  * Shared by download, URL and delete, which previously repeated this block three times with
135
135
  * subtly different fallbacks — the account-credential path existed in only one of them.
136
+ *
137
+ * When an account links to the file's provider, `FileStorageEngine.ResolveFileObject` resolves it and refuses unless
138
+ * the caller may use that account for `access` and may read every `MJ: Files` row tracking the object (a row can
139
+ * alias another row's object). Otherwise the environment-configured driver serves the file; there is no account to
140
+ * gate, so only the tracked-file rule applies. A refusal throws, and each caller logs it and reports failure.
136
141
  */
137
- async resolveFileAndDriver(fileId, contextUser, provider) {
142
+ async resolveFileAndDriver(fileId, contextUser, access, provider) {
138
143
  const md = provider ?? Metadata.Provider;
139
- // Load the engine before asking it anything. `Accounts` returns an empty array when it has
140
- // not been configured, so on a cold process the account-credential branch below would be
141
- // skipped silently and the driver would fall back to environment-only credentials — which
142
- // then fails to read a file that is perfectly readable. Every other MJServer call site
143
- // configures immediately before use for the same reason.
144
- await FileStorageEngine.Instance.Config(false, contextUser);
145
144
  const file = await md.GetEntityObject('MJ: Files', contextUser);
146
145
  if (!(await file.Load(fileId)))
147
146
  return null;
147
+ // Prefer account-scoped credentials (gated) when an account links to this provider. ResolveFileObject configures
148
+ // the engine first, so a cold process does not silently skip this branch.
149
+ const resolved = await FileStorageEngine.Instance.ResolveFileObject(file, contextUser, access, md);
150
+ if (resolved) {
151
+ return { file, driver: resolved.Driver, objectKey: resolved.ObjectKey };
152
+ }
153
+ return this.environmentDriverFor(file, contextUser, md);
154
+ }
155
+ /** The environment-configured driver for a file whose provider has no account — after the tracked-file rule. */
156
+ async environmentDriverFor(file, contextUser, md) {
148
157
  const storageProvider = await md.GetEntityObject('MJ: File Storage Providers', contextUser);
149
158
  if (!(await storageProvider.Load(file.ProviderID)))
150
159
  return null;
151
- // Prefer account-scoped credentials when an account links to this provider; fall back to
152
- // environment-configured credentials otherwise.
153
- const matchingAccounts = FileStorageEngine.Instance.GetAccountsByProviderID(file.ProviderID);
154
- const driver = matchingAccounts.length > 0
155
- ? await FileStorageEngine.Instance.GetDriver(matchingAccounts[0].ID, contextUser)
156
- : MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase, storageProvider.ServerDriverKey);
157
- return { file, driver, objectKey: file.ProviderKey || file.Name };
160
+ const objectKey = StorageObjectKeyOf(file);
161
+ await StorageAccessEvaluator.Instance.AssertTrackedObjectsReadable(file.ProviderID, [objectKey], contextUser, md);
162
+ const driver = MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase, storageProvider.ServerDriverKey);
163
+ return { file, driver, objectKey };
158
164
  }
159
165
  }
160
166
  //# sourceMappingURL=MJStorageBlobStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MJStorageBlobStore.js","sourceRoot":"","sources":["../../src/services/MJStorageBlobStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA+B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO7E;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,kBAAkB;IAC3B;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACf,KAAgC,EAChC,WAAqB,EACrB,QAA4B;QAE5B,MAAM,EAAE,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAEzC,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACvD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;oBAChD,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW;oBACX,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;iBAC5C,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;YAC7D,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;QACvF,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,EAAE,CAAC,eAAe,CAClD,4BAA4B,EAC5B,WAAW,CACd,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CACxD,eAAe,EACf,qBAAqB,CAAC,eAAe,CACxC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,0BAA0B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7G,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAe,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvB,qFAAqF;YACrF,qFAAqF;YACrF,qFAAqF;YACrF,uDAAuD;YACvD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,QAAQ,CACJ,yCAAyC,UAAU,sCAAsC;oBACrF,0CAA0C,CACjD,CAAC;YACN,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,IAAI,kCAAkC;aAClF,CAAC;QACN,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,QAAQ,CACjB,MAAc,EACd,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YAClF,qFAAqF;YACrF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,gDAAgD,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,cAAc,CACvB,MAAc,EACd,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,0DAA0D,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YACrF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,MAAM,CACf,MAAc,EACd,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAChF,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAE5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvE,iFAAiF;YACjF,iFAAiF;YACjF,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,8CAA8C,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAC9B,MAAc,EACd,WAAqB,EACrB,QAA4B;QAE5B,MAAM,EAAE,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAEzC,2FAA2F;QAC3F,yFAAyF;QACzF,0FAA0F;QAC1F,uFAAuF;QACvF,yDAAyD;QACzD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE5D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAe,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,eAAe,CAC5C,4BAA4B,EAC5B,WAAW,CACd,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhE,yFAAyF;QACzF,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7F,MAAM,MAAM,GACR,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC;YACjF,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CACzC,eAAe,EACf,eAAe,CAAC,eAAe,CAClC,CAAC;QAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;CACJ"}
1
+ {"version":3,"file":"MJStorageBlobStore.js","sourceRoot":"","sources":["../../src/services/MJStorageBlobStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA+B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAwB,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO/I;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,kBAAkB;IAC3B;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACf,KAAgC,EAChC,WAAqB,EACrB,QAA4B;QAE5B,MAAM,EAAE,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAEzC,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACvD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;oBAChD,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW;oBACX,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;oBACxC,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;iBAC5C,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;YAC7D,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;QACvF,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,EAAE,CAAC,eAAe,CAClD,4BAA4B,EAC5B,WAAW,CACd,CAAC;QACF,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;QACxE,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CACxD,eAAe,EACf,qBAAqB,CAAC,eAAe,CACxC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,0BAA0B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7G,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAe,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACvB,qFAAqF;YACrF,qFAAqF;YACrF,qFAAqF;YACrF,uDAAuD;YACvD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,QAAQ,CACJ,yCAAyC,UAAU,sCAAsC;oBACrF,0CAA0C,CACjD,CAAC;YACN,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,IAAI,kCAAkC;aAClF,CAAC;QACN,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IAC9C,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,QAAQ,CACjB,MAAc,EACd,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAE3B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YAClF,qFAAqF;YACrF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,gDAAgD,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,cAAc,CACvB,MAAc,EACd,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC;YAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,0DAA0D,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YACrF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,kBAAkB;IACX,KAAK,CAAC,MAAM,CACf,MAAc,EACd,WAAqB,EACrB,QAA4B;QAE5B,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzF,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAE5B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACvE,iFAAiF;YACjF,iFAAiF;YACjF,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,8CAA8C,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,oBAAoB,CAC9B,MAAc,EACd,WAAqB,EACrB,MAA4B,EAC5B,QAA4B;QAE5B,MAAM,EAAE,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAe,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5C,iHAAiH;QACjH,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACnG,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,gHAAgH;IACxG,KAAK,CAAC,oBAAoB,CAC9B,IAAkB,EAClB,WAAqB,EACrB,EAAqB;QAErB,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,eAAe,CAA8B,4BAA4B,EAAE,WAAW,CAAC,CAAC;QACzH,IAAI,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,sBAAsB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QAClH,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;QAChI,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACvC,CAAC;CACJ"}
@@ -45,10 +45,10 @@ export async function StartTaskGraphDispatcher(pool, contextUser, instanceID) {
45
45
  { InstanceID: instanceID ?? defaultInstanceID() },
46
46
  // Without this the dispatcher had nowhere to deliver: a finished graph logged its outcome,
47
47
  // marked itself delivered, and said nothing to the conversation that asked for it.
48
- new TaskGraphContinuationDeliverer(providerFactory, contextUser),
48
+ new TaskGraphContinuationDeliverer(providerFactory, contextUser, pubSub),
49
49
  // Live signal. Supplied only when a PubSub engine exists — in a worker or a test there is
50
50
  // nobody to publish to, and the dispatcher runs identically without one.
51
- pubSub ? new TaskGraphFrameBroadcaster(pubSub) : undefined,
51
+ pubSub ? new TaskGraphFrameBroadcaster(pubSub, true) : undefined,
52
52
  // Action nodes — the third execution shape, beside agents and people. Durable After* entity
53
53
  // actions land as these.
54
54
  new TaskGraphActionRunner(),
@@ -1 +1 @@
1
- {"version":3,"file":"StartTaskGraphDispatcher.js","sourceRoot":"","sources":["../../src/services/StartTaskGraphDispatcher.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF;;;;;;;;;GASG;AACH;;;;;;GAMG;AACH,SAAS,iBAAiB;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,IAAwB,EACxB,WAAqB,EACrB,UAAmB;IAEnB,uBAAuB,EAAE,CAAC;IAE1B,MAAM,eAAe,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACtC,eAAe,EACf,IAAI,oBAAoB,EAAE,EAC1B,WAAW;IACX,wFAAwF;IACxF,0FAA0F;IAC1F,6FAA6F;IAC7F,0FAA0F;IAC1F,2FAA2F;IAC3F,iDAAiD;IACjD,EAAE,UAAU,EAAE,UAAU,IAAI,iBAAiB,EAAE,EAAE;IACjD,2FAA2F;IAC3F,mFAAmF;IACnF,IAAI,8BAA8B,CAAC,eAAe,EAAE,WAAW,CAAC;IAChE,0FAA0F;IAC1F,yEAAyE;IACzE,MAAM,CAAC,CAAC,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;IAC1D,4FAA4F;IAC5F,yBAAyB;IACzB,IAAI,qBAAqB,EAAE;IAC3B,8EAA8E;IAC9E,kFAAkF;IAClF,4DAA4D;IAC5D,IAAI,qBAAqB,EAAE,CAC9B,CAAC;IACF,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAEzB,wFAAwF;IACxF,gGAAgG;IAChG,2EAA2E;IAC3E,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gCAAgC,CAAC,eAAe,CAAC,CAAC,CAAC;IAErG,OAAO,UAAU,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"StartTaskGraphDispatcher.js","sourceRoot":"","sources":["../../src/services/StartTaskGraphDispatcher.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF;;;;;;;;;GASG;AACH;;;;;;GAMG;AACH,SAAS,iBAAiB;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC7C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC1C,IAAwB,EACxB,WAAqB,EACrB,UAAmB;IAEnB,uBAAuB,EAAE,CAAC;IAE1B,MAAM,eAAe,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACtC,eAAe,EACf,IAAI,oBAAoB,EAAE,EAC1B,WAAW;IACX,wFAAwF;IACxF,0FAA0F;IAC1F,6FAA6F;IAC7F,0FAA0F;IAC1F,2FAA2F;IAC3F,iDAAiD;IACjD,EAAE,UAAU,EAAE,UAAU,IAAI,iBAAiB,EAAE,EAAE;IACjD,2FAA2F;IAC3F,mFAAmF;IACnF,IAAI,8BAA8B,CAAC,eAAe,EAAE,WAAW,EAAE,MAAM,CAAC;IACxE,0FAA0F;IAC1F,yEAAyE;IACzE,MAAM,CAAC,CAAC,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;IAChE,4FAA4F;IAC5F,yBAAyB;IACzB,IAAI,qBAAqB,EAAE;IAC3B,8EAA8E;IAC9E,kFAAkF;IAClF,4DAA4D;IAC5D,IAAI,qBAAqB,EAAE,CAC9B,CAAC;IACF,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IAEzB,wFAAwF;IACxF,gGAAgG;IAChG,2EAA2E;IAC3E,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,gCAAgC,CAAC,eAAe,CAAC,CAAC,CAAC;IAErG,OAAO,UAAU,CAAC;AACtB,CAAC"}
@@ -20,9 +20,11 @@ export declare class TaskGraphActionRunner implements TaskActionRunner {
20
20
  * is exactly what the Demo workflow did: step 1 completed with an output payload of `{}` and
21
21
  * every downstream branch was skipped, with nothing anywhere reporting a problem.
22
22
  *
23
- * Only `Output` and `Both` params are included. Echoing the inputs back would let a step's own
24
- * parameters masquerade as its results, so an output mapping could "succeed" by reading the
25
- * value the step was given rather than the one it produced.
23
+ * Only `Output` and `Both` params are included (plus any structured JSON object returned in
24
+ * `resultMessage`, such as `Create Document`'s `{ handle, documentType, fileName }`). Echoing
25
+ * `Input`-only params back would let a step's own parameters masquerade as its results, so an
26
+ * output mapping could "succeed" by reading the value the step was given rather than the one it
27
+ * produced.
26
28
  */
27
29
  private buildOutput;
28
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TaskGraphActionRunner.d.ts","sourceRoot":"","sources":["../../src/services/TaskGraphActionRunner.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE7G,qBAAa,qBAAsB,YAAW,gBAAgB;IAC7C,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6CxF;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,WAAW;CAMtB"}
1
+ {"version":3,"file":"TaskGraphActionRunner.d.ts","sourceRoot":"","sources":["../../src/services/TaskGraphActionRunner.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE7G,qBAAa,qBAAsB,YAAW,gBAAgB;IAC7C,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA6CxF;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,WAAW;CAMtB"}