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

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 (287) hide show
  1. package/README.md +20 -0
  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 +5 -1
  8. package/dist/agentSessions/SessionManager.d.ts.map +1 -1
  9. package/dist/agentSessions/SessionManager.js +13 -1
  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 +25 -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 +1 -0
  25. package/dist/auth/index.js.map +1 -1
  26. package/dist/auth/magicLink/MagicLinkRouter.d.ts.map +1 -1
  27. package/dist/auth/magicLink/MagicLinkRouter.js +3 -2
  28. package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
  29. package/dist/config.d.ts +136 -22
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +43 -4
  32. package/dist/config.js.map +1 -1
  33. package/dist/coreRoutes.d.ts +29 -0
  34. package/dist/coreRoutes.d.ts.map +1 -0
  35. package/dist/coreRoutes.js +142 -0
  36. package/dist/coreRoutes.js.map +1 -0
  37. package/dist/generated/graphql-schemas/__mj.d.ts +369 -3
  38. package/dist/generated/graphql-schemas/__mj.d.ts.map +1 -1
  39. package/dist/generated/graphql-schemas/__mj.js +1750 -7
  40. package/dist/generated/graphql-schemas/__mj.js.map +1 -1
  41. package/dist/generic/CacheInvalidationResolver.d.ts +43 -8
  42. package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -1
  43. package/dist/generic/CacheInvalidationResolver.js +59 -19
  44. package/dist/generic/CacheInvalidationResolver.js.map +1 -1
  45. package/dist/generic/PushStatusResolver.js +1 -1
  46. package/dist/generic/PushStatusResolver.js.map +1 -1
  47. package/dist/generic/ResolverBase.d.ts +103 -44
  48. package/dist/generic/ResolverBase.d.ts.map +1 -1
  49. package/dist/generic/ResolverBase.js +264 -305
  50. package/dist/generic/ResolverBase.js.map +1 -1
  51. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  52. package/dist/generic/RunViewResolver.js +12 -0
  53. package/dist/generic/RunViewResolver.js.map +1 -1
  54. package/dist/globalCors.d.ts +33 -0
  55. package/dist/globalCors.d.ts.map +1 -0
  56. package/dist/globalCors.js +58 -0
  57. package/dist/globalCors.js.map +1 -0
  58. package/dist/index.d.ts +11 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +112 -160
  61. package/dist/index.js.map +1 -1
  62. package/dist/multiTenancy/index.d.ts.map +1 -1
  63. package/dist/multiTenancy/index.js +22 -2
  64. package/dist/multiTenancy/index.js.map +1 -1
  65. package/dist/realtimeSessions/RealtimeSessionVerificationService.d.ts.map +1 -1
  66. package/dist/realtimeSessions/RealtimeSessionVerificationService.js +2 -1
  67. package/dist/realtimeSessions/RealtimeSessionVerificationService.js.map +1 -1
  68. package/dist/realtimeSessions/RealtimeVerifyRouter.d.ts.map +1 -1
  69. package/dist/realtimeSessions/RealtimeVerifyRouter.js +2 -1
  70. package/dist/realtimeSessions/RealtimeVerifyRouter.js.map +1 -1
  71. package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts +100 -0
  72. package/dist/realtimeSessions/RecordingAssemblyScheduler.d.ts.map +1 -0
  73. package/dist/realtimeSessions/RecordingAssemblyScheduler.js +173 -0
  74. package/dist/realtimeSessions/RecordingAssemblyScheduler.js.map +1 -0
  75. package/dist/realtimeSessions/index.d.ts +2 -0
  76. package/dist/realtimeSessions/index.d.ts.map +1 -1
  77. package/dist/realtimeSessions/index.js +2 -0
  78. package/dist/realtimeSessions/index.js.map +1 -1
  79. package/dist/realtimeSessions/ownedRealtimeSession.d.ts +30 -0
  80. package/dist/realtimeSessions/ownedRealtimeSession.d.ts.map +1 -0
  81. package/dist/realtimeSessions/ownedRealtimeSession.js +47 -0
  82. package/dist/realtimeSessions/ownedRealtimeSession.js.map +1 -0
  83. package/dist/realtimeSessions/sessionAccess.d.ts +6 -0
  84. package/dist/realtimeSessions/sessionAccess.d.ts.map +1 -1
  85. package/dist/realtimeSessions/sessionAccess.js +7 -3
  86. package/dist/realtimeSessions/sessionAccess.js.map +1 -1
  87. package/dist/resolvers/ArtifactFileResolver.d.ts +5 -1
  88. package/dist/resolvers/ArtifactFileResolver.d.ts.map +1 -1
  89. package/dist/resolvers/ArtifactFileResolver.js +9 -7
  90. package/dist/resolvers/ArtifactFileResolver.js.map +1 -1
  91. package/dist/resolvers/ConversationRunEventsResolver.d.ts +8 -4
  92. package/dist/resolvers/ConversationRunEventsResolver.d.ts.map +1 -1
  93. package/dist/resolvers/ConversationRunEventsResolver.js +6 -6
  94. package/dist/resolvers/ConversationRunEventsResolver.js.map +1 -1
  95. package/dist/resolvers/DatasetResolver.d.ts +24 -3
  96. package/dist/resolvers/DatasetResolver.d.ts.map +1 -1
  97. package/dist/resolvers/DatasetResolver.js +57 -8
  98. package/dist/resolvers/DatasetResolver.js.map +1 -1
  99. package/dist/resolvers/EntityRecordNameResolver.d.ts +2 -1
  100. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
  101. package/dist/resolvers/EntityRecordNameResolver.js +3 -2
  102. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
  103. package/dist/resolvers/FetchEntityVectorsResolver.d.ts +18 -3
  104. package/dist/resolvers/FetchEntityVectorsResolver.d.ts.map +1 -1
  105. package/dist/resolvers/FetchEntityVectorsResolver.js +100 -35
  106. package/dist/resolvers/FetchEntityVectorsResolver.js.map +1 -1
  107. package/dist/resolvers/FileResolver.d.ts +82 -11
  108. package/dist/resolvers/FileResolver.d.ts.map +1 -1
  109. package/dist/resolvers/FileResolver.js +279 -101
  110. package/dist/resolvers/FileResolver.js.map +1 -1
  111. package/dist/resolvers/GetDataContextDataResolver.d.ts +33 -7
  112. package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
  113. package/dist/resolvers/GetDataContextDataResolver.js +117 -38
  114. package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
  115. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  116. package/dist/resolvers/GetDataResolver.js +6 -3
  117. package/dist/resolvers/GetDataResolver.js.map +1 -1
  118. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
  119. package/dist/resolvers/IntegrationDiscoveryResolver.js +4 -2
  120. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
  121. package/dist/resolvers/QueryResolver.d.ts +2 -0
  122. package/dist/resolvers/QueryResolver.d.ts.map +1 -1
  123. package/dist/resolvers/QueryResolver.js +13 -0
  124. package/dist/resolvers/QueryResolver.js.map +1 -1
  125. package/dist/resolvers/RealtimeClientSessionResolver.d.ts +2 -8
  126. package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
  127. package/dist/resolvers/RealtimeClientSessionResolver.js +10 -26
  128. package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
  129. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  130. package/dist/resolvers/RunAIAgentResolver.js +35 -6
  131. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  132. package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts +12 -1
  133. package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts.map +1 -1
  134. package/dist/resolvers/SearchKnowledgeStreamResolver.js +15 -2
  135. package/dist/resolvers/SearchKnowledgeStreamResolver.js.map +1 -1
  136. package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
  137. package/dist/resolvers/SqlLoggingConfigResolver.js +2 -3
  138. package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
  139. package/dist/resolvers/TaskGraphFrameResolver.d.ts +2 -1
  140. package/dist/resolvers/TaskGraphFrameResolver.d.ts.map +1 -1
  141. package/dist/resolvers/TaskGraphFrameResolver.js +28 -1
  142. package/dist/resolvers/TaskGraphFrameResolver.js.map +1 -1
  143. package/dist/resolvers/TestQuerySQLResolver.d.ts +24 -0
  144. package/dist/resolvers/TestQuerySQLResolver.d.ts.map +1 -1
  145. package/dist/resolvers/TestQuerySQLResolver.js +65 -13
  146. package/dist/resolvers/TestQuerySQLResolver.js.map +1 -1
  147. package/dist/resolvers/TransactionGroupResolver.d.ts +19 -2
  148. package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
  149. package/dist/resolvers/TransactionGroupResolver.js +102 -24
  150. package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
  151. package/dist/resolvers/agent-run-data-guard.d.ts +31 -0
  152. package/dist/resolvers/agent-run-data-guard.d.ts.map +1 -0
  153. package/dist/resolvers/agent-run-data-guard.js +72 -0
  154. package/dist/resolvers/agent-run-data-guard.js.map +1 -0
  155. package/dist/rest/RealtimeRecordingHandler.d.ts +49 -0
  156. package/dist/rest/RealtimeRecordingHandler.d.ts.map +1 -0
  157. package/dist/rest/RealtimeRecordingHandler.js +383 -0
  158. package/dist/rest/RealtimeRecordingHandler.js.map +1 -0
  159. package/dist/rest/ViewOperationsHandler.d.ts +3 -1
  160. package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
  161. package/dist/rest/ViewOperationsHandler.js +21 -12
  162. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  163. package/dist/rest/setupRESTEndpoints.d.ts +6 -0
  164. package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
  165. package/dist/rest/setupRESTEndpoints.js +6 -0
  166. package/dist/rest/setupRESTEndpoints.js.map +1 -1
  167. package/dist/serverExtensionReservedRoots.d.ts +12 -10
  168. package/dist/serverExtensionReservedRoots.d.ts.map +1 -1
  169. package/dist/serverExtensionReservedRoots.js +14 -17
  170. package/dist/serverExtensionReservedRoots.js.map +1 -1
  171. package/dist/services/MJStorageBlobStore.d.ts +8 -1
  172. package/dist/services/MJStorageBlobStore.d.ts.map +1 -1
  173. package/dist/services/MJStorageBlobStore.js +25 -19
  174. package/dist/services/MJStorageBlobStore.js.map +1 -1
  175. package/dist/services/StartTaskGraphDispatcher.js +2 -2
  176. package/dist/services/StartTaskGraphDispatcher.js.map +1 -1
  177. package/dist/services/TaskGraphActionRunner.d.ts +5 -3
  178. package/dist/services/TaskGraphActionRunner.d.ts.map +1 -1
  179. package/dist/services/TaskGraphActionRunner.js +27 -5
  180. package/dist/services/TaskGraphActionRunner.js.map +1 -1
  181. package/dist/services/TaskGraphAgentRunner.d.ts +14 -2
  182. package/dist/services/TaskGraphAgentRunner.d.ts.map +1 -1
  183. package/dist/services/TaskGraphAgentRunner.js +157 -9
  184. package/dist/services/TaskGraphAgentRunner.js.map +1 -1
  185. package/dist/services/TaskGraphContinuationDeliverer.d.ts +54 -2
  186. package/dist/services/TaskGraphContinuationDeliverer.d.ts.map +1 -1
  187. package/dist/services/TaskGraphContinuationDeliverer.js +598 -15
  188. package/dist/services/TaskGraphContinuationDeliverer.js.map +1 -1
  189. package/dist/sharedCache.d.ts.map +1 -1
  190. package/dist/sharedCache.js +3 -0
  191. package/dist/sharedCache.js.map +1 -1
  192. package/package.json +99 -98
  193. package/src/__tests__/DatasetResolver.itemFilters.test.ts +201 -0
  194. package/src/__tests__/EntityRecordNameResolver.rowSecurity.test.ts +152 -0
  195. package/src/__tests__/FetchEntityVectorsResolver.test.ts +163 -15
  196. package/src/__tests__/FileResolver.storageAccess.test.ts +562 -0
  197. package/src/__tests__/GetDataContextDataResolver.sqlItems.test.ts +416 -0
  198. package/src/__tests__/ListOperationsResolver.adhocScreen.test.ts +137 -0
  199. package/src/__tests__/LoginScreenEngine.test.ts +86 -0
  200. package/src/__tests__/MJStorageBlobStore.storageGate.test.ts +63 -0
  201. package/src/__tests__/RecordingAssemblyScheduler.test.ts +178 -0
  202. package/src/__tests__/ResolverBase.adhocReadScope.test.ts +133 -2
  203. package/src/__tests__/ResolverBase.balancedClause.test.ts +155 -0
  204. package/src/__tests__/ResolverBase.clauseUnscopedRead.test.ts +127 -0
  205. package/src/__tests__/ResolverBase.clientOldValues.test.ts +209 -6
  206. package/src/__tests__/ResolverBase.filterEscaping.test.ts +5 -2
  207. package/src/__tests__/RunAIAgentResolver.branch.test.ts +1 -0
  208. package/src/__tests__/RunAIAgentResolver.historyFrom.test.ts +5 -3
  209. package/src/__tests__/RunAIAgentResolver.runDataGuard.test.ts +258 -0
  210. package/src/__tests__/RunViewResolver.cacheCheckScreen.test.ts +165 -0
  211. package/src/__tests__/SearchKnowledgeStreamResolver.test.ts +161 -0
  212. package/src/__tests__/SessionJanitor.test.ts +365 -10
  213. package/src/__tests__/SessionManager.test.ts +27 -0
  214. package/src/__tests__/TaskGraphActionRunner.durablePayload.test.ts +25 -0
  215. package/src/__tests__/TaskGraphAgentRunner.test.ts +266 -0
  216. package/src/__tests__/TaskGraphContinuationDeliverer.test.ts +356 -22
  217. package/src/__tests__/TaskGraphFrameResolver.test.ts +22 -0
  218. package/src/__tests__/TestQuerySQLResolver.test.ts +274 -0
  219. package/src/__tests__/TransactionGroupResolver.refusals.test.ts +98 -1
  220. package/src/__tests__/UpdateMJDataContextItem.oldValues.test.ts +220 -0
  221. package/src/__tests__/ViewOperationsHandler.clauseScreen.test.ts +157 -0
  222. package/src/__tests__/agent-run-data-guard.test.ts +130 -0
  223. package/src/__tests__/apiRootBoot.test.ts +202 -0
  224. package/src/__tests__/cacheInvalidationRecordData.test.ts +64 -0
  225. package/src/__tests__/conversationRunEvents.test.ts +56 -14
  226. package/src/__tests__/globalCors.test.ts +217 -0
  227. package/src/__tests__/multiTenancy.postgresRewrite.test.ts +181 -0
  228. package/src/__tests__/multiTenancy.security.test.ts +51 -0
  229. package/src/__tests__/multiTenancy.test.ts +1 -1
  230. package/src/__tests__/ownedRealtimeSession.test.ts +39 -0
  231. package/src/__tests__/pushStatusResolver.filter.test.ts +7 -0
  232. package/src/__tests__/realtimeRecordingHandler.test.ts +652 -0
  233. package/src/__tests__/serverExtensionHostOverlay.test.ts +66 -0
  234. package/src/__tests__/serverExtensionReservedRoots.test.ts +11 -98
  235. package/src/__tests__/sharedCache.test.ts +5 -3
  236. package/src/agentSessions/SessionJanitor.ts +369 -93
  237. package/src/agentSessions/SessionManager.ts +13 -1
  238. package/src/apiRoot.ts +78 -0
  239. package/src/auth/AuthProviderCatalogRouter.ts +26 -0
  240. package/src/auth/LoginScreenEngine.ts +50 -0
  241. package/src/auth/index.ts +1 -0
  242. package/src/auth/magicLink/MagicLinkRouter.ts +3 -2
  243. package/src/config.ts +46 -5
  244. package/src/coreRoutes.ts +166 -0
  245. package/src/generated/graphql-schemas/__mj.ts +1273 -10
  246. package/src/generic/CacheInvalidationResolver.ts +73 -18
  247. package/src/generic/PushStatusResolver.ts +1 -1
  248. package/src/generic/ResolverBase.ts +304 -325
  249. package/src/generic/RunViewResolver.ts +17 -0
  250. package/src/globalCors.ts +71 -0
  251. package/src/index.ts +116 -174
  252. package/src/multiTenancy/index.ts +24 -2
  253. package/src/realtimeSessions/RealtimeSessionVerificationService.ts +2 -1
  254. package/src/realtimeSessions/RealtimeVerifyRouter.ts +2 -1
  255. package/src/realtimeSessions/RecordingAssemblyScheduler.ts +234 -0
  256. package/src/realtimeSessions/index.ts +2 -0
  257. package/src/realtimeSessions/ownedRealtimeSession.ts +55 -0
  258. package/src/realtimeSessions/sessionAccess.ts +7 -3
  259. package/src/resolvers/ArtifactFileResolver.ts +9 -8
  260. package/src/resolvers/ConversationRunEventsResolver.ts +15 -11
  261. package/src/resolvers/DatasetResolver.ts +70 -10
  262. package/src/resolvers/EntityRecordNameResolver.ts +3 -2
  263. package/src/resolvers/FetchEntityVectorsResolver.ts +121 -39
  264. package/src/resolvers/FileResolver.ts +321 -106
  265. package/src/resolvers/GetDataContextDataResolver.ts +139 -41
  266. package/src/resolvers/GetDataResolver.ts +6 -3
  267. package/src/resolvers/IntegrationDiscoveryResolver.ts +4 -2
  268. package/src/resolvers/QueryResolver.ts +11 -0
  269. package/src/resolvers/RealtimeClientSessionResolver.ts +10 -33
  270. package/src/resolvers/RunAIAgentResolver.ts +39 -4
  271. package/src/resolvers/SearchKnowledgeStreamResolver.ts +19 -3
  272. package/src/resolvers/SqlLoggingConfigResolver.ts +2 -4
  273. package/src/resolvers/TaskGraphFrameResolver.ts +33 -1
  274. package/src/resolvers/TestQuerySQLResolver.ts +68 -13
  275. package/src/resolvers/TransactionGroupResolver.ts +131 -27
  276. package/src/resolvers/__tests__/GetDataResolver.validation.test.ts +95 -0
  277. package/src/resolvers/agent-run-data-guard.ts +89 -0
  278. package/src/rest/RealtimeRecordingHandler.ts +464 -0
  279. package/src/rest/ViewOperationsHandler.ts +29 -13
  280. package/src/rest/setupRESTEndpoints.ts +6 -0
  281. package/src/serverExtensionReservedRoots.ts +14 -17
  282. package/src/services/MJStorageBlobStore.ts +31 -30
  283. package/src/services/StartTaskGraphDispatcher.ts +2 -2
  284. package/src/services/TaskGraphActionRunner.ts +25 -5
  285. package/src/services/TaskGraphAgentRunner.ts +188 -11
  286. package/src/services/TaskGraphContinuationDeliverer.ts +704 -14
  287. package/src/sharedCache.ts +3 -0
@@ -169,12 +169,6 @@ export declare class MediaAccessTokenResult {
169
169
  ErrorMessage?: string;
170
170
  }
171
171
  export declare class FileResolver extends FileResolverBase {
172
- /**
173
- * Resolves the server's public base URL the same way callbacks/magic-link do:
174
- * `publicUrl` if configured (e.g. an ngrok URL), else `baseUrl:graphqlPort`. Trailing
175
- * slash stripped so callers can append `/media/...`.
176
- */
177
- private resolvePublicBaseUrl;
178
172
  /**
179
173
  * Mints a short-lived signed media-access token for an `MJ: Files` record and returns the
180
174
  * authenticated streaming URL (`<publicBase>/media/<fileId>?token=<token>`). Permission-gated
@@ -190,12 +184,13 @@ export declare class FileResolver extends FileResolverBase {
190
184
  * Best-effort read of a `peaks.json` waveform sidecar that sits in the SAME storage folder as the
191
185
  * given file (a JSON array of normalized `0..1` numbers, written at capture time). Derives the
192
186
  * folder from the file's `ProviderKey` (strips the final path segment), reads `<folder>/peaks.json`
193
- * via the file's own storage driver, parses + validates it, and returns sanitized peaks. Returns
194
- * `undefined` on ANY failure (no ProviderKey, no sidecar, parse error, garbage) — the caller treats
195
- * peaks as a pure optimization and must never let a sidecar problem affect token minting.
187
+ * through the file's own storage driver — the one {@link assertFileObjectAccess} resolved, so the account is already
188
+ * gated — parses + validates it, and returns sanitized peaks. Returns `undefined` on ANY failure (no ProviderKey, no
189
+ * driver, no sidecar, parse error, garbage) — the caller treats peaks as a pure optimization and must never let a
190
+ * sidecar problem affect token minting.
196
191
  *
197
192
  * @param file The already-loaded (under the user's context) `MJ: Files` row.
198
- * @param contextUser The calling user — used to resolve the storage driver.
193
+ * @param driver The gated driver for the file's account, or undefined when the provider has none.
199
194
  * @returns Sanitized `0..1` peaks (length-capped), or `undefined`.
200
195
  */
201
196
  private tryReadPeaksSidecar;
@@ -210,6 +205,38 @@ export declare class FileResolver extends FileResolverBase {
210
205
  * This is required for OAuth providers using the Credential Engine to decrypt credentials.
211
206
  */
212
207
  private buildExtendedUserContext;
208
+ /**
209
+ * The storage-account gate. Every route keyed by a client-supplied account ID runs it FIRST — before the account is
210
+ * loaded and before any driver call. Throws `StorageAccountAccessDeniedError` ("You do not have access to this storage
211
+ * account or it does not exist.") unless the caller may use the account for `access`, evaluated per call against
212
+ * `MJ: File Storage Account Permissions` by `StorageAccessEvaluator` (`@memberjunction/storage`). An unknown account
213
+ * gets the same refusal, so the error never reveals whether an account ID is real.
214
+ */
215
+ private assertAccountAccess;
216
+ /**
217
+ * The tracked-file rule for an account-keyed route: when any of `objectNames` in the account backs an `MJ: Files` row,
218
+ * the caller must be able to read that row — the rule {@link GetFileContents} applies to a file ID — else this throws
219
+ * `TrackedFileAccessDeniedError` ("You do not have access to this file or it does not exist."). Keys are compared the
220
+ * way the account's driver addresses them (`FileStorageBase.NormalizeObjectKey`) and case-insensitively; a key whose
221
+ * meaning depends on the provider (`..`, `\`, `%2F`, ...) is refused outright. Applied to every object a route reads
222
+ * or signs, and to every object it overwrites, moves or deletes — the minimum for a write is that the caller may read
223
+ * what it replaces. An object no row tracks is governed by the account gate, which the caller has already passed.
224
+ */
225
+ private assertTrackedObjectReadable;
226
+ /**
227
+ * The storage gate for a route that goes from an `MJ: Files` row (already loaded as the caller) to its object: the
228
+ * account the row's provider resolves to must allow `access`, and every row tracking the object must be readable by
229
+ * the caller (`FileStorageEngine.ResolveFileObject`) — so a row whose client-written `ProviderID`/`ProviderKey`/`Name`
230
+ * aliases someone else's object is refused. `extraKeys` (a rename target) get the tracked-file rule too. When the
231
+ * provider has no storage account the legacy env-configured driver serves the row; there is no account to gate, so the
232
+ * tracked-file rule alone applies. Returns the resolved object, or `null` in that legacy case.
233
+ */
234
+ private assertFileObjectAccess;
235
+ /**
236
+ * The storage provider ID of an account the caller has already passed the gate for, from the engine's cache (refreshed
237
+ * once on a miss). Refuses like the gate when the account still cannot be found.
238
+ */
239
+ private accountProviderID;
213
240
  /**
214
241
  * Loads a FileStorageAccount and its associated FileStorageProvider.
215
242
  * This is the standard way to get provider information in the enterprise model.
@@ -242,11 +269,20 @@ export declare class FileResolver extends FileResolverBase {
242
269
  * and creates/persists the MJ: Files database record.
243
270
  */
244
271
  UploadStorageFile(input: UploadStorageFileInput, context: AppContext): Promise<UploadStorageFilePayload>;
272
+ /**
273
+ * The account an upload will land in: the requested one, else the engine's default (the first active account) —
274
+ * returned as an explicit ID so the account the gate checks is the account `UploadFile` uses. A requested ID is
275
+ * returned as-is: the gate refuses an unknown one without revealing that it does not exist, and `UploadFile` refreshes
276
+ * the engine's cache itself when a permitted account is missing from it.
277
+ */
278
+ private resolveUploadAccountId;
245
279
  DownloadUrl(file: MJFile_, context: AppContext): Promise<string>;
246
280
  /**
247
281
  * Returns an `MJ: Files` record's bytes as base64, read server-side through authenticated MJStorage
248
282
  * (`GetObject`) — NOT a public pre-signed link. Permission-gated: the file is first loaded under the
249
- * calling user's context, so MJ row-level security determines access. Never throws to the client.
283
+ * calling user's context, so MJ row-level security determines access; then the storage gate
284
+ * ({@link assertFileObjectAccess}) requires Read on the account the row's provider resolves to and refuses an object
285
+ * another row tracks when the caller cannot read that row. Never throws to the client.
250
286
  *
251
287
  * @param fileId The `MJ: Files` id whose bytes to return.
252
288
  * @returns `{ Success, Base64?, MimeType?, ErrorMessage? }`.
@@ -296,5 +332,40 @@ export declare class FileResolver extends FileResolverBase {
296
332
  CreateDirectory(input: CreateDirectoryInput, context: AppContext): Promise<boolean>;
297
333
  CopyObjectBetweenAccounts(input: CopyObjectBetweenAccountsInput, context: AppContext): Promise<CopyObjectBetweenAccountsPayload>;
298
334
  SearchAcrossAccounts(input: SearchAcrossAccountsInput, context: AppContext): Promise<SearchAcrossAccountsPayload>;
335
+ /**
336
+ * Per-account results in the order the accounts were requested (each requested ID once), whether searched or refused —
337
+ * so a refused account sits where the caller put it rather than after every searched one.
338
+ */
339
+ private inRequestOrder;
340
+ /**
341
+ * Splits the requested accounts into those to search and those refused, before any driver call. An account the
342
+ * caller may not read is refused with {@link SEARCH_ACCOUNT_REFUSED_MESSAGE} — and so is one that does not exist,
343
+ * identically, so the response never reveals which IDs are real. Readable accounts are paired with their provider
344
+ * from the engine's cache (refreshed once if a readable account is missing from it). Duplicate IDs are searched once.
345
+ */
346
+ private partitionSearchAccounts;
347
+ /** A failed per-account entry for an account the caller may not search; it names nothing beyond the requested ID. */
348
+ private refusedAccountResult;
349
+ /**
350
+ * Drops search hits that map to an `MJ: Files` row the caller may not read — one batched lookup per account, keyed on
351
+ * each hit's path and provider object ID (`StorageAccessEvaluator.UnreadableTrackedObjectKeys`, compared the way the
352
+ * account's driver addresses keys). Hits no row tracks stay; the account gate governs them.
353
+ *
354
+ * When any hit is dropped, the provider's `totalMatches` (which counted it) and `nextPageToken` (this route takes no
355
+ * page token back) are withheld; `hasMore` is kept. How reliable the mapping is depends on the provider: for
356
+ * object-key stores (S3, Azure Blob, GCS) a hit's path IS the row's `ProviderKey`; for hierarchical providers (Box,
357
+ * Google Drive, Dropbox, SharePoint) a search path may not match the key a row was written with, and such a miss falls
358
+ * back to the account gate. `MJ: Files` rows are keyed by provider, not account, so the lookup errs toward dropping.
359
+ */
360
+ private dropUnreadableTrackedHits;
361
+ /** {@link dropUnreadableTrackedHits} for one account's results; if the check cannot run, the account's hits are dropped. */
362
+ private dropUnreadableAccountHits;
363
+ /**
364
+ * The listed objects minus those behind an `MJ: Files` row the caller may not read (directories are prefixes, never
365
+ * tracked objects, and are kept). Keys are compared the way the account's driver addresses them.
366
+ */
367
+ private dropUnreadableListedObjects;
368
+ /** Converts per-account results to the GraphQL payload, recomputing the totals from what is actually returned. */
369
+ private toSearchAcrossAccountsPayload;
299
370
  }
300
371
  //# sourceMappingURL=FileResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/FileResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/FileResolver.ts"],"names":[],"mappings":"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"}