@fluidframework/odsp-driver 2.0.0-dev-rc.1.0.0.232845 → 2.0.0-dev-rc.2.0.0.246488

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 (617) hide show
  1. package/.eslintrc.cjs +18 -3
  2. package/{.mocharc.js → .mocharc.cjs} +1 -1
  3. package/CHANGELOG.md +44 -0
  4. package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
  5. package/api-extractor-lint.json +1 -1
  6. package/api-extractor.json +1 -1
  7. package/api-report/odsp-driver.api.md +11 -12
  8. package/dist/ReadBufferUtils.d.ts.map +1 -1
  9. package/dist/ReadBufferUtils.js.map +1 -1
  10. package/dist/WriteBufferUtils.d.ts +1 -1
  11. package/dist/WriteBufferUtils.d.ts.map +1 -1
  12. package/dist/WriteBufferUtils.js +12 -12
  13. package/dist/WriteBufferUtils.js.map +1 -1
  14. package/dist/checkUrl.d.ts.map +1 -1
  15. package/dist/checkUrl.js +5 -3
  16. package/dist/checkUrl.js.map +1 -1
  17. package/dist/compactSnapshotParser.d.ts.map +1 -1
  18. package/dist/compactSnapshotParser.js +87 -69
  19. package/dist/compactSnapshotParser.js.map +1 -1
  20. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  21. package/dist/compactSnapshotWriter.js +25 -19
  22. package/dist/compactSnapshotWriter.js.map +1 -1
  23. package/dist/contracts.d.ts +10 -4
  24. package/dist/contracts.d.ts.map +1 -1
  25. package/dist/contracts.js.map +1 -1
  26. package/dist/createFile.d.ts +3 -3
  27. package/dist/createFile.d.ts.map +1 -1
  28. package/dist/createFile.js +30 -27
  29. package/dist/createFile.js.map +1 -1
  30. package/dist/createNewContainerOnExistingFile.d.ts +2 -2
  31. package/dist/createNewContainerOnExistingFile.d.ts.map +1 -1
  32. package/dist/createNewContainerOnExistingFile.js +14 -14
  33. package/dist/createNewContainerOnExistingFile.js.map +1 -1
  34. package/dist/createNewModule.d.ts +2 -2
  35. package/dist/createNewModule.d.ts.map +1 -1
  36. package/dist/createNewModule.js +4 -4
  37. package/dist/createNewModule.js.map +1 -1
  38. package/dist/createNewUtils.d.ts +2 -2
  39. package/dist/createNewUtils.d.ts.map +1 -1
  40. package/dist/createNewUtils.js +12 -8
  41. package/dist/createNewUtils.js.map +1 -1
  42. package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
  43. package/dist/createOdspCreateContainerRequest.js +6 -2
  44. package/dist/createOdspCreateContainerRequest.js.map +1 -1
  45. package/dist/createOdspUrl.d.ts +1 -1
  46. package/dist/createOdspUrl.d.ts.map +1 -1
  47. package/dist/createOdspUrl.js.map +1 -1
  48. package/dist/epochTracker.d.ts +10 -9
  49. package/dist/epochTracker.d.ts.map +1 -1
  50. package/dist/epochTracker.js +66 -43
  51. package/dist/epochTracker.js.map +1 -1
  52. package/dist/fetchSnapshot.d.ts +11 -8
  53. package/dist/fetchSnapshot.d.ts.map +1 -1
  54. package/dist/fetchSnapshot.js +79 -58
  55. package/dist/fetchSnapshot.js.map +1 -1
  56. package/dist/getFileLink.d.ts.map +1 -1
  57. package/dist/getFileLink.js +24 -17
  58. package/dist/getFileLink.js.map +1 -1
  59. package/dist/getQueryString.d.ts.map +1 -1
  60. package/dist/getQueryString.js +6 -0
  61. package/dist/getQueryString.js.map +1 -1
  62. package/dist/index.d.ts +19 -19
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +44 -44
  65. package/dist/index.js.map +1 -1
  66. package/dist/localOdspDriver/localOdspDocumentService.d.ts +1 -1
  67. package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
  68. package/dist/localOdspDriver/localOdspDocumentService.js +5 -5
  69. package/dist/localOdspDriver/localOdspDocumentService.js.map +1 -1
  70. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +8 -6
  71. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
  72. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js +10 -9
  73. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +1 -1
  74. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +1 -1
  75. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
  76. package/dist/localOdspDriver/localOdspDocumentStorageManager.js +6 -6
  77. package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +1 -1
  78. package/dist/odsp-driver-alpha.d.ts +27 -12
  79. package/dist/odsp-driver-beta.d.ts +1 -2
  80. package/dist/odsp-driver-public.d.ts +1 -2
  81. package/dist/odsp-driver-untrimmed.d.ts +29 -12
  82. package/dist/odspCache.d.ts +3 -3
  83. package/dist/odspCache.d.ts.map +1 -1
  84. package/dist/odspCache.js +3 -4
  85. package/dist/odspCache.js.map +1 -1
  86. package/dist/odspDelayLoadedDeltaStream.d.ts +7 -5
  87. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -1
  88. package/dist/odspDelayLoadedDeltaStream.js +41 -28
  89. package/dist/odspDelayLoadedDeltaStream.js.map +1 -1
  90. package/dist/odspDeltaStorageService.d.ts +7 -7
  91. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  92. package/dist/odspDeltaStorageService.js +5 -5
  93. package/dist/odspDeltaStorageService.js.map +1 -1
  94. package/dist/odspDocumentDeltaConnection.d.ts +1 -1
  95. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  96. package/dist/odspDocumentDeltaConnection.js +41 -23
  97. package/dist/odspDocumentDeltaConnection.js.map +1 -1
  98. package/dist/odspDocumentService.d.ts +6 -4
  99. package/dist/odspDocumentService.d.ts.map +1 -1
  100. package/dist/odspDocumentService.js +19 -16
  101. package/dist/odspDocumentService.js.map +1 -1
  102. package/dist/odspDocumentServiceFactory.d.ts +6 -1
  103. package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
  104. package/dist/odspDocumentServiceFactory.js +9 -4
  105. package/dist/odspDocumentServiceFactory.js.map +1 -1
  106. package/dist/odspDocumentServiceFactoryCore.d.ts +4 -4
  107. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  108. package/dist/odspDocumentServiceFactoryCore.js +26 -22
  109. package/dist/odspDocumentServiceFactoryCore.js.map +1 -1
  110. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +1 -1
  111. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
  112. package/dist/odspDocumentServiceFactoryWithCodeSplit.js +2 -2
  113. package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +1 -1
  114. package/dist/odspDocumentStorageManager.d.ts +15 -9
  115. package/dist/odspDocumentStorageManager.d.ts.map +1 -1
  116. package/dist/odspDocumentStorageManager.js +219 -181
  117. package/dist/odspDocumentStorageManager.js.map +1 -1
  118. package/dist/odspDocumentStorageServiceBase.d.ts +2 -4
  119. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  120. package/dist/odspDocumentStorageServiceBase.js +32 -29
  121. package/dist/odspDocumentStorageServiceBase.js.map +1 -1
  122. package/dist/odspDriverUrlResolver.d.ts +5 -1
  123. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  124. package/dist/odspDriverUrlResolver.js +27 -24
  125. package/dist/odspDriverUrlResolver.js.map +1 -1
  126. package/dist/odspDriverUrlResolverForShareLink.d.ts +17 -6
  127. package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
  128. package/dist/odspDriverUrlResolverForShareLink.js +49 -39
  129. package/dist/odspDriverUrlResolverForShareLink.js.map +1 -1
  130. package/dist/odspError.d.ts +1 -1
  131. package/dist/odspError.d.ts.map +1 -1
  132. package/dist/odspError.js +5 -5
  133. package/dist/odspError.js.map +1 -1
  134. package/dist/odspFluidFileLink.d.ts +1 -1
  135. package/dist/odspFluidFileLink.d.ts.map +1 -1
  136. package/dist/odspFluidFileLink.js +2 -2
  137. package/dist/odspFluidFileLink.js.map +1 -1
  138. package/dist/odspLocationRedirection.js +2 -2
  139. package/dist/odspLocationRedirection.js.map +1 -1
  140. package/dist/odspPublicUtils.d.ts +3 -0
  141. package/dist/odspPublicUtils.d.ts.map +1 -1
  142. package/dist/odspPublicUtils.js +3 -0
  143. package/dist/odspPublicUtils.js.map +1 -1
  144. package/dist/odspSnapshotParser.d.ts +1 -1
  145. package/dist/odspSnapshotParser.d.ts.map +1 -1
  146. package/dist/odspSnapshotParser.js +3 -2
  147. package/dist/odspSnapshotParser.js.map +1 -1
  148. package/dist/odspSummaryUploadManager.d.ts +1 -1
  149. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  150. package/dist/odspSummaryUploadManager.js +9 -6
  151. package/dist/odspSummaryUploadManager.js.map +1 -1
  152. package/dist/odspUrlHelper.d.ts.map +1 -1
  153. package/dist/odspUrlHelper.js +1 -2
  154. package/dist/odspUrlHelper.js.map +1 -1
  155. package/dist/odspUtils.d.ts +19 -7
  156. package/dist/odspUtils.d.ts.map +1 -1
  157. package/dist/odspUtils.js +61 -31
  158. package/dist/odspUtils.js.map +1 -1
  159. package/dist/opsCaching.d.ts +1 -1
  160. package/dist/opsCaching.d.ts.map +1 -1
  161. package/dist/opsCaching.js +2 -1
  162. package/dist/opsCaching.js.map +1 -1
  163. package/dist/package.json +3 -0
  164. package/dist/packageVersion.d.ts +1 -1
  165. package/dist/packageVersion.js +1 -1
  166. package/dist/packageVersion.js.map +1 -1
  167. package/dist/prefetchLatestSnapshot.d.ts +2 -2
  168. package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
  169. package/dist/prefetchLatestSnapshot.js +17 -12
  170. package/dist/prefetchLatestSnapshot.js.map +1 -1
  171. package/dist/retryErrorsStorageAdapter.d.ts +0 -1
  172. package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
  173. package/dist/retryErrorsStorageAdapter.js +2 -5
  174. package/dist/retryErrorsStorageAdapter.js.map +1 -1
  175. package/dist/retryUtils.d.ts.map +1 -1
  176. package/dist/retryUtils.js +6 -2
  177. package/dist/retryUtils.js.map +1 -1
  178. package/dist/socketModule.d.ts.map +1 -1
  179. package/dist/socketModule.js +2 -0
  180. package/dist/socketModule.js.map +1 -1
  181. package/dist/tsdoc-metadata.json +1 -1
  182. package/dist/vroom.d.ts +2 -2
  183. package/dist/vroom.d.ts.map +1 -1
  184. package/dist/vroom.js +5 -5
  185. package/dist/vroom.js.map +1 -1
  186. package/dist/zipItDataRepresentationUtils.d.ts +1 -1
  187. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  188. package/dist/zipItDataRepresentationUtils.js +15 -11
  189. package/dist/zipItDataRepresentationUtils.js.map +1 -1
  190. package/lib/{ReadBufferUtils.d.mts → ReadBufferUtils.d.ts} +1 -1
  191. package/lib/ReadBufferUtils.d.ts.map +1 -0
  192. package/lib/{ReadBufferUtils.mjs → ReadBufferUtils.js} +1 -1
  193. package/lib/ReadBufferUtils.js.map +1 -0
  194. package/lib/{WriteBufferUtils.d.mts → WriteBufferUtils.d.ts} +2 -2
  195. package/lib/WriteBufferUtils.d.ts.map +1 -0
  196. package/lib/{WriteBufferUtils.mjs → WriteBufferUtils.js} +2 -2
  197. package/lib/WriteBufferUtils.js.map +1 -0
  198. package/lib/{checkUrl.d.mts → checkUrl.d.ts} +1 -1
  199. package/lib/checkUrl.d.ts.map +1 -0
  200. package/lib/{checkUrl.mjs → checkUrl.js} +5 -3
  201. package/lib/checkUrl.js.map +1 -0
  202. package/lib/{compactSnapshotParser.d.mts → compactSnapshotParser.d.ts} +1 -1
  203. package/lib/compactSnapshotParser.d.ts.map +1 -0
  204. package/lib/{compactSnapshotParser.mjs → compactSnapshotParser.js} +61 -43
  205. package/lib/compactSnapshotParser.js.map +1 -0
  206. package/lib/{compactSnapshotWriter.d.mts → compactSnapshotWriter.d.ts} +1 -1
  207. package/lib/compactSnapshotWriter.d.ts.map +1 -0
  208. package/lib/{compactSnapshotWriter.mjs → compactSnapshotWriter.js} +13 -7
  209. package/lib/compactSnapshotWriter.js.map +1 -0
  210. package/lib/{constants.d.mts → constants.d.ts} +1 -1
  211. package/lib/constants.d.ts.map +1 -0
  212. package/lib/{constants.mjs → constants.js} +1 -1
  213. package/lib/constants.js.map +1 -0
  214. package/lib/{contracts.d.mts → contracts.d.ts} +11 -5
  215. package/lib/contracts.d.ts.map +1 -0
  216. package/lib/{contracts.mjs → contracts.js} +1 -1
  217. package/lib/contracts.js.map +1 -0
  218. package/lib/{contractsPublic.d.mts → contractsPublic.d.ts} +1 -1
  219. package/lib/contractsPublic.d.ts.map +1 -0
  220. package/lib/{contractsPublic.mjs → contractsPublic.js} +1 -1
  221. package/lib/contractsPublic.js.map +1 -0
  222. package/lib/{createFile.d.mts → createFile.d.ts} +4 -4
  223. package/lib/createFile.d.ts.map +1 -0
  224. package/lib/{createFile.mjs → createFile.js} +15 -12
  225. package/lib/createFile.js.map +1 -0
  226. package/lib/{createNewContainerOnExistingFile.d.mts → createNewContainerOnExistingFile.d.ts} +3 -3
  227. package/lib/createNewContainerOnExistingFile.d.ts.map +1 -0
  228. package/lib/{createNewContainerOnExistingFile.mjs → createNewContainerOnExistingFile.js} +7 -7
  229. package/lib/createNewContainerOnExistingFile.js.map +1 -0
  230. package/lib/{createNewModule.mjs → createNewModule.d.ts} +3 -3
  231. package/lib/createNewModule.d.ts.map +1 -0
  232. package/lib/{createNewModule.d.mts → createNewModule.js} +3 -3
  233. package/lib/createNewModule.js.map +1 -0
  234. package/lib/{createNewUtils.d.mts → createNewUtils.d.ts} +3 -3
  235. package/lib/createNewUtils.d.ts.map +1 -0
  236. package/lib/{createNewUtils.mjs → createNewUtils.js} +9 -5
  237. package/lib/createNewUtils.js.map +1 -0
  238. package/lib/{createOdspCreateContainerRequest.d.mts → createOdspCreateContainerRequest.d.ts} +5 -1
  239. package/lib/createOdspCreateContainerRequest.d.ts.map +1 -0
  240. package/lib/{createOdspCreateContainerRequest.mjs → createOdspCreateContainerRequest.js} +6 -2
  241. package/lib/createOdspCreateContainerRequest.js.map +1 -0
  242. package/lib/{createOdspUrl.d.mts → createOdspUrl.d.ts} +2 -2
  243. package/lib/createOdspUrl.d.ts.map +1 -0
  244. package/lib/{createOdspUrl.mjs → createOdspUrl.js} +1 -1
  245. package/lib/createOdspUrl.js.map +1 -0
  246. package/lib/{epochTracker.d.mts → epochTracker.d.ts} +11 -10
  247. package/lib/epochTracker.d.ts.map +1 -0
  248. package/lib/{epochTracker.mjs → epochTracker.js} +56 -33
  249. package/lib/epochTracker.js.map +1 -0
  250. package/lib/{fetch.d.mts → fetch.d.ts} +1 -1
  251. package/lib/fetch.d.ts.map +1 -0
  252. package/lib/{fetch.mjs → fetch.js} +1 -1
  253. package/lib/fetch.js.map +1 -0
  254. package/lib/{fetchSnapshot.d.mts → fetchSnapshot.d.ts} +12 -9
  255. package/lib/fetchSnapshot.d.ts.map +1 -0
  256. package/lib/{fetchSnapshot.mjs → fetchSnapshot.js} +61 -40
  257. package/lib/fetchSnapshot.js.map +1 -0
  258. package/lib/{getFileLink.d.mts → getFileLink.d.ts} +1 -1
  259. package/lib/getFileLink.d.ts.map +1 -0
  260. package/lib/{getFileLink.mjs → getFileLink.js} +14 -7
  261. package/lib/getFileLink.js.map +1 -0
  262. package/lib/{getQueryString.d.mts → getQueryString.d.ts} +5 -1
  263. package/lib/getQueryString.d.ts.map +1 -0
  264. package/lib/{getQueryString.mjs → getQueryString.js} +7 -1
  265. package/lib/getQueryString.js.map +1 -0
  266. package/lib/{getUrlAndHeadersWithAuth.d.mts → getUrlAndHeadersWithAuth.d.ts} +1 -1
  267. package/lib/getUrlAndHeadersWithAuth.d.ts.map +1 -0
  268. package/lib/{getUrlAndHeadersWithAuth.mjs → getUrlAndHeadersWithAuth.js} +1 -1
  269. package/lib/getUrlAndHeadersWithAuth.js.map +1 -0
  270. package/lib/{index.d.mts → index.d.ts} +20 -20
  271. package/lib/index.d.ts.map +1 -0
  272. package/lib/index.js +29 -0
  273. package/lib/index.js.map +1 -0
  274. package/lib/localOdspDriver/{localOdspDeltaStorageService.d.mts → localOdspDeltaStorageService.d.ts} +1 -1
  275. package/lib/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
  276. package/lib/localOdspDriver/{localOdspDeltaStorageService.mjs → localOdspDeltaStorageService.js} +1 -1
  277. package/lib/localOdspDriver/localOdspDeltaStorageService.js.map +1 -0
  278. package/lib/localOdspDriver/{localOdspDocumentService.d.mts → localOdspDocumentService.d.ts} +2 -2
  279. package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +1 -0
  280. package/lib/localOdspDriver/{localOdspDocumentService.mjs → localOdspDocumentService.js} +4 -4
  281. package/lib/localOdspDriver/localOdspDocumentService.js.map +1 -0
  282. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.mts → localOdspDocumentServiceFactory.d.ts} +9 -7
  283. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -0
  284. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.mjs → localOdspDocumentServiceFactory.js} +9 -8
  285. package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +1 -0
  286. package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.mts → localOdspDocumentStorageManager.d.ts} +2 -2
  287. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -0
  288. package/lib/localOdspDriver/{localOdspDocumentStorageManager.mjs → localOdspDocumentStorageManager.js} +4 -4
  289. package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +1 -0
  290. package/lib/{odsp-driver-alpha.d.mts → odsp-driver-alpha.d.ts} +27 -12
  291. package/lib/{odsp-driver-public.d.mts → odsp-driver-beta.d.ts} +1 -2
  292. package/lib/{odsp-driver-beta.d.mts → odsp-driver-public.d.ts} +1 -2
  293. package/lib/{odsp-driver-untrimmed.d.mts → odsp-driver-untrimmed.d.ts} +29 -12
  294. package/lib/{odspCache.d.mts → odspCache.d.ts} +8 -4
  295. package/lib/odspCache.d.ts.map +1 -0
  296. package/lib/{odspCache.mjs → odspCache.js} +6 -3
  297. package/lib/odspCache.js.map +1 -0
  298. package/lib/{odspDelayLoadedDeltaStream.d.mts → odspDelayLoadedDeltaStream.d.ts} +8 -6
  299. package/lib/odspDelayLoadedDeltaStream.d.ts.map +1 -0
  300. package/lib/{odspDelayLoadedDeltaStream.mjs → odspDelayLoadedDeltaStream.js} +33 -20
  301. package/lib/odspDelayLoadedDeltaStream.js.map +1 -0
  302. package/lib/{odspDeltaStorageService.d.mts → odspDeltaStorageService.d.ts} +8 -8
  303. package/lib/odspDeltaStorageService.d.ts.map +1 -0
  304. package/lib/{odspDeltaStorageService.mjs → odspDeltaStorageService.js} +5 -5
  305. package/lib/odspDeltaStorageService.js.map +1 -0
  306. package/lib/{odspDocumentDeltaConnection.d.mts → odspDocumentDeltaConnection.d.ts} +2 -2
  307. package/lib/odspDocumentDeltaConnection.d.ts.map +1 -0
  308. package/lib/{odspDocumentDeltaConnection.mjs → odspDocumentDeltaConnection.js} +34 -16
  309. package/lib/odspDocumentDeltaConnection.js.map +1 -0
  310. package/lib/{odspDocumentService.d.mts → odspDocumentService.d.ts} +7 -5
  311. package/lib/odspDocumentService.d.ts.map +1 -0
  312. package/lib/{odspDocumentService.mjs → odspDocumentService.js} +16 -11
  313. package/lib/odspDocumentService.js.map +1 -0
  314. package/lib/{odspDocumentServiceFactory.d.mts → odspDocumentServiceFactory.d.ts} +7 -2
  315. package/lib/odspDocumentServiceFactory.d.ts.map +1 -0
  316. package/lib/{odspDocumentServiceFactory.mjs → odspDocumentServiceFactory.js} +9 -3
  317. package/lib/odspDocumentServiceFactory.js.map +1 -0
  318. package/lib/{odspDocumentServiceFactoryCore.d.mts → odspDocumentServiceFactoryCore.d.ts} +5 -5
  319. package/lib/odspDocumentServiceFactoryCore.d.ts.map +1 -0
  320. package/lib/{odspDocumentServiceFactoryCore.mjs → odspDocumentServiceFactoryCore.js} +23 -17
  321. package/lib/odspDocumentServiceFactoryCore.js.map +1 -0
  322. package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.mts → odspDocumentServiceFactoryWithCodeSplit.d.ts} +2 -2
  323. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -0
  324. package/lib/{odspDocumentServiceFactoryWithCodeSplit.mjs → odspDocumentServiceFactoryWithCodeSplit.js} +2 -2
  325. package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +1 -0
  326. package/lib/{odspDocumentStorageManager.d.mts → odspDocumentStorageManager.d.ts} +16 -10
  327. package/lib/odspDocumentStorageManager.d.ts.map +1 -0
  328. package/lib/{odspDocumentStorageManager.mjs → odspDocumentStorageManager.js} +207 -167
  329. package/lib/odspDocumentStorageManager.js.map +1 -0
  330. package/lib/{odspDocumentStorageServiceBase.d.mts → odspDocumentStorageServiceBase.d.ts} +3 -5
  331. package/lib/odspDocumentStorageServiceBase.d.ts.map +1 -0
  332. package/lib/{odspDocumentStorageServiceBase.mjs → odspDocumentStorageServiceBase.js} +32 -29
  333. package/lib/odspDocumentStorageServiceBase.js.map +1 -0
  334. package/lib/{odspDriverUrlResolver.d.mts → odspDriverUrlResolver.d.ts} +6 -2
  335. package/lib/odspDriverUrlResolver.d.ts.map +1 -0
  336. package/lib/{odspDriverUrlResolver.mjs → odspDriverUrlResolver.js} +24 -17
  337. package/lib/odspDriverUrlResolver.js.map +1 -0
  338. package/lib/{odspDriverUrlResolverForShareLink.d.mts → odspDriverUrlResolverForShareLink.d.ts} +18 -7
  339. package/lib/odspDriverUrlResolverForShareLink.d.ts.map +1 -0
  340. package/lib/{odspDriverUrlResolverForShareLink.mjs → odspDriverUrlResolverForShareLink.js} +41 -27
  341. package/lib/odspDriverUrlResolverForShareLink.js.map +1 -0
  342. package/lib/{odspError.d.mts → odspError.d.ts} +2 -2
  343. package/lib/odspError.d.ts.map +1 -0
  344. package/lib/{odspError.mjs → odspError.js} +4 -4
  345. package/lib/odspError.js.map +1 -0
  346. package/lib/{odspFluidFileLink.d.mts → odspFluidFileLink.d.ts} +2 -2
  347. package/lib/odspFluidFileLink.d.ts.map +1 -0
  348. package/lib/{odspFluidFileLink.mjs → odspFluidFileLink.js} +2 -2
  349. package/lib/odspFluidFileLink.js.map +1 -0
  350. package/lib/{odspLocationRedirection.d.mts → odspLocationRedirection.d.ts} +1 -1
  351. package/lib/odspLocationRedirection.d.ts.map +1 -0
  352. package/lib/{odspLocationRedirection.mjs → odspLocationRedirection.js} +2 -2
  353. package/lib/odspLocationRedirection.js.map +1 -0
  354. package/lib/{odspPublicUtils.d.mts → odspPublicUtils.d.ts} +4 -1
  355. package/lib/odspPublicUtils.d.ts.map +1 -0
  356. package/lib/{odspPublicUtils.mjs → odspPublicUtils.js} +4 -1
  357. package/lib/odspPublicUtils.js.map +1 -0
  358. package/lib/{odspSnapshotParser.d.mts → odspSnapshotParser.d.ts} +2 -2
  359. package/lib/odspSnapshotParser.d.ts.map +1 -0
  360. package/lib/{odspSnapshotParser.mjs → odspSnapshotParser.js} +4 -3
  361. package/lib/odspSnapshotParser.js.map +1 -0
  362. package/lib/{odspSummaryUploadManager.d.mts → odspSummaryUploadManager.d.ts} +2 -2
  363. package/lib/odspSummaryUploadManager.d.ts.map +1 -0
  364. package/lib/{odspSummaryUploadManager.mjs → odspSummaryUploadManager.js} +8 -5
  365. package/lib/odspSummaryUploadManager.js.map +1 -0
  366. package/lib/{odspUrlHelper.d.mts → odspUrlHelper.d.ts} +1 -1
  367. package/lib/odspUrlHelper.d.ts.map +1 -0
  368. package/lib/{odspUrlHelper.mjs → odspUrlHelper.js} +2 -3
  369. package/lib/odspUrlHelper.js.map +1 -0
  370. package/lib/{odspUtils.d.mts → odspUtils.d.ts} +20 -8
  371. package/lib/odspUtils.d.ts.map +1 -0
  372. package/lib/{odspUtils.mjs → odspUtils.js} +45 -17
  373. package/lib/odspUtils.js.map +1 -0
  374. package/lib/{opsCaching.d.mts → opsCaching.d.ts} +2 -2
  375. package/lib/opsCaching.d.ts.map +1 -0
  376. package/lib/{opsCaching.mjs → opsCaching.js} +3 -2
  377. package/lib/opsCaching.js.map +1 -0
  378. package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
  379. package/lib/packageVersion.d.ts.map +1 -0
  380. package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
  381. package/lib/packageVersion.js.map +1 -0
  382. package/lib/{prefetchLatestSnapshot.d.mts → prefetchLatestSnapshot.d.ts} +3 -3
  383. package/lib/prefetchLatestSnapshot.d.ts.map +1 -0
  384. package/lib/{prefetchLatestSnapshot.mjs → prefetchLatestSnapshot.js} +16 -11
  385. package/lib/prefetchLatestSnapshot.js.map +1 -0
  386. package/lib/{retryErrorsStorageAdapter.d.mts → retryErrorsStorageAdapter.d.ts} +1 -2
  387. package/lib/retryErrorsStorageAdapter.d.ts.map +1 -0
  388. package/lib/{retryErrorsStorageAdapter.mjs → retryErrorsStorageAdapter.js} +2 -5
  389. package/lib/retryErrorsStorageAdapter.js.map +1 -0
  390. package/lib/{retryUtils.d.mts → retryUtils.d.ts} +1 -1
  391. package/lib/retryUtils.d.ts.map +1 -0
  392. package/lib/{retryUtils.mjs → retryUtils.js} +6 -2
  393. package/lib/retryUtils.js.map +1 -0
  394. package/lib/{socketModule.d.mts → socketModule.d.ts} +1 -1
  395. package/lib/socketModule.d.ts.map +1 -0
  396. package/lib/{socketModule.mjs → socketModule.js} +3 -1
  397. package/lib/socketModule.js.map +1 -0
  398. package/lib/test/buildOdspShareLinkReqParams.spec.js +25 -0
  399. package/lib/test/buildOdspShareLinkReqParams.spec.js.map +1 -0
  400. package/lib/test/createNewUtilsTests.spec.js +221 -0
  401. package/lib/test/createNewUtilsTests.spec.js.map +1 -0
  402. package/lib/test/deltaStorageService.spec.js +176 -0
  403. package/lib/test/deltaStorageService.spec.js.map +1 -0
  404. package/lib/test/epochTests.spec.js +340 -0
  405. package/lib/test/epochTests.spec.js.map +1 -0
  406. package/lib/test/epochTestsWithRedemption.spec.js +119 -0
  407. package/lib/test/epochTestsWithRedemption.spec.js.map +1 -0
  408. package/lib/test/fetchSnapshot.spec.js +412 -0
  409. package/lib/test/fetchSnapshot.spec.js.map +1 -0
  410. package/lib/test/getFileLink.spec.js +62 -0
  411. package/lib/test/getFileLink.spec.js.map +1 -0
  412. package/lib/test/getUrlAndHeadersWithAuth.spec.js +66 -0
  413. package/lib/test/getUrlAndHeadersWithAuth.spec.js.map +1 -0
  414. package/lib/test/getVersions.spec.js +284 -0
  415. package/lib/test/getVersions.spec.js.map +1 -0
  416. package/lib/test/joinSessionCacheTests.spec.js +53 -0
  417. package/lib/test/joinSessionCacheTests.spec.js.map +1 -0
  418. package/lib/test/joinSessionPeriodicCall.spec.js +158 -0
  419. package/lib/test/joinSessionPeriodicCall.spec.js.map +1 -0
  420. package/lib/test/jsonSnapshotFormatTests.spec.js +107 -0
  421. package/lib/test/jsonSnapshotFormatTests.spec.js.map +1 -0
  422. package/lib/test/localOdspDriver.spec.js +177 -0
  423. package/lib/test/localOdspDriver.spec.js.map +1 -0
  424. package/lib/test/mockFetch.js +61 -0
  425. package/lib/test/mockFetch.js.map +1 -0
  426. package/lib/test/odspCreateContainer.spec.js +116 -0
  427. package/lib/test/odspCreateContainer.spec.js.map +1 -0
  428. package/lib/test/odspDriverResolverTest.spec.js +289 -0
  429. package/lib/test/odspDriverResolverTest.spec.js.map +1 -0
  430. package/lib/test/odspDriverUrlResolverForShareLink.spec.js +287 -0
  431. package/lib/test/odspDriverUrlResolverForShareLink.spec.js.map +1 -0
  432. package/lib/test/odspError.spec.js +299 -0
  433. package/lib/test/odspError.spec.js.map +1 -0
  434. package/lib/test/opsCaching.spec.js +357 -0
  435. package/lib/test/opsCaching.spec.js.map +1 -0
  436. package/lib/test/prefetchSnapshotTests.spec.js +420 -0
  437. package/lib/test/prefetchSnapshotTests.spec.js.map +1 -0
  438. package/lib/test/snapshotFormatTests.spec.js +218 -0
  439. package/lib/test/snapshotFormatTests.spec.js.map +1 -0
  440. package/lib/test/socketTests/deltaConnectionUpdateTests.spec.js +152 -0
  441. package/lib/test/socketTests/deltaConnectionUpdateTests.spec.js.map +1 -0
  442. package/lib/test/socketTests/socketMock.js +109 -0
  443. package/lib/test/socketTests/socketMock.js.map +1 -0
  444. package/lib/test/socketTests/socketTests.spec.js +256 -0
  445. package/lib/test/socketTests/socketTests.spec.js.map +1 -0
  446. package/lib/test/tokenFetch.spec.js +39 -0
  447. package/lib/test/tokenFetch.spec.js.map +1 -0
  448. package/lib/test/types/validateOdspDriverPrevious.generated.js +96 -0
  449. package/lib/test/types/validateOdspDriverPrevious.generated.js.map +1 -0
  450. package/lib/test/zipItDataRepresentationTests.spec.js +207 -0
  451. package/lib/test/zipItDataRepresentationTests.spec.js.map +1 -0
  452. package/lib/{vroom.d.mts → vroom.d.ts} +3 -3
  453. package/lib/vroom.d.ts.map +1 -0
  454. package/lib/{vroom.mjs → vroom.js} +4 -4
  455. package/lib/vroom.js.map +1 -0
  456. package/lib/{zipItDataRepresentationUtils.d.mts → zipItDataRepresentationUtils.d.ts} +2 -2
  457. package/lib/zipItDataRepresentationUtils.d.ts.map +1 -0
  458. package/lib/{zipItDataRepresentationUtils.mjs → zipItDataRepresentationUtils.js} +17 -9
  459. package/lib/zipItDataRepresentationUtils.js.map +1 -0
  460. package/package.json +90 -31
  461. package/src/ReadBufferUtils.ts +7 -7
  462. package/src/WriteBufferUtils.ts +13 -9
  463. package/src/checkUrl.ts +4 -2
  464. package/src/compactSnapshotParser.ts +87 -52
  465. package/src/compactSnapshotWriter.ts +19 -12
  466. package/src/contracts.ts +16 -4
  467. package/src/createFile.ts +16 -13
  468. package/src/createNewContainerOnExistingFile.ts +8 -8
  469. package/src/createNewModule.ts +2 -2
  470. package/src/createNewUtils.ts +19 -9
  471. package/src/createOdspCreateContainerRequest.ts +2 -1
  472. package/src/createOdspUrl.ts +1 -1
  473. package/src/epochTracker.ts +90 -55
  474. package/src/fetchSnapshot.ts +104 -47
  475. package/src/getFileLink.ts +21 -13
  476. package/src/getQueryString.ts +3 -0
  477. package/src/index.ts +27 -19
  478. package/src/localOdspDriver/localOdspDocumentService.ts +3 -3
  479. package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +12 -11
  480. package/src/localOdspDriver/localOdspDocumentStorageManager.ts +5 -5
  481. package/src/odspCache.ts +13 -9
  482. package/src/odspDelayLoadedDeltaStream.ts +54 -33
  483. package/src/odspDeltaStorageService.ts +17 -16
  484. package/src/odspDocumentDeltaConnection.ts +52 -34
  485. package/src/odspDocumentService.ts +23 -20
  486. package/src/odspDocumentServiceFactory.ts +7 -2
  487. package/src/odspDocumentServiceFactoryCore.ts +25 -18
  488. package/src/odspDocumentServiceFactoryWithCodeSplit.ts +1 -1
  489. package/src/odspDocumentStorageManager.ts +276 -216
  490. package/src/odspDocumentStorageServiceBase.ts +45 -43
  491. package/src/odspDriverUrlResolver.ts +39 -24
  492. package/src/odspDriverUrlResolverForShareLink.ts +51 -31
  493. package/src/odspError.ts +4 -4
  494. package/src/odspFluidFileLink.ts +3 -3
  495. package/src/odspLocationRedirection.ts +1 -1
  496. package/src/odspPublicUtils.ts +3 -0
  497. package/src/odspSnapshotParser.ts +4 -3
  498. package/src/odspSummaryUploadManager.ts +21 -9
  499. package/src/odspUrlHelper.ts +2 -3
  500. package/src/odspUtils.ts +73 -30
  501. package/src/opsCaching.ts +13 -12
  502. package/src/packageVersion.ts +1 -1
  503. package/src/prefetchLatestSnapshot.ts +24 -15
  504. package/src/retryErrorsStorageAdapter.ts +4 -8
  505. package/src/retryUtils.ts +6 -2
  506. package/src/socketModule.ts +2 -0
  507. package/src/vroom.ts +6 -6
  508. package/src/zipItDataRepresentationUtils.ts +63 -35
  509. package/tsconfig.cjs.json +7 -0
  510. package/tsconfig.json +2 -5
  511. package/lib/ReadBufferUtils.d.mts.map +0 -1
  512. package/lib/ReadBufferUtils.mjs.map +0 -1
  513. package/lib/WriteBufferUtils.d.mts.map +0 -1
  514. package/lib/WriteBufferUtils.mjs.map +0 -1
  515. package/lib/checkUrl.d.mts.map +0 -1
  516. package/lib/checkUrl.mjs.map +0 -1
  517. package/lib/compactSnapshotParser.d.mts.map +0 -1
  518. package/lib/compactSnapshotParser.mjs.map +0 -1
  519. package/lib/compactSnapshotWriter.d.mts.map +0 -1
  520. package/lib/compactSnapshotWriter.mjs.map +0 -1
  521. package/lib/constants.d.mts.map +0 -1
  522. package/lib/constants.mjs.map +0 -1
  523. package/lib/contracts.d.mts.map +0 -1
  524. package/lib/contracts.mjs.map +0 -1
  525. package/lib/contractsPublic.d.mts.map +0 -1
  526. package/lib/contractsPublic.mjs.map +0 -1
  527. package/lib/createFile.d.mts.map +0 -1
  528. package/lib/createFile.mjs.map +0 -1
  529. package/lib/createNewContainerOnExistingFile.d.mts.map +0 -1
  530. package/lib/createNewContainerOnExistingFile.mjs.map +0 -1
  531. package/lib/createNewModule.d.mts.map +0 -1
  532. package/lib/createNewModule.mjs.map +0 -1
  533. package/lib/createNewUtils.d.mts.map +0 -1
  534. package/lib/createNewUtils.mjs.map +0 -1
  535. package/lib/createOdspCreateContainerRequest.d.mts.map +0 -1
  536. package/lib/createOdspCreateContainerRequest.mjs.map +0 -1
  537. package/lib/createOdspUrl.d.mts.map +0 -1
  538. package/lib/createOdspUrl.mjs.map +0 -1
  539. package/lib/epochTracker.d.mts.map +0 -1
  540. package/lib/epochTracker.mjs.map +0 -1
  541. package/lib/fetch.d.mts.map +0 -1
  542. package/lib/fetch.mjs.map +0 -1
  543. package/lib/fetchSnapshot.d.mts.map +0 -1
  544. package/lib/fetchSnapshot.mjs.map +0 -1
  545. package/lib/getFileLink.d.mts.map +0 -1
  546. package/lib/getFileLink.mjs.map +0 -1
  547. package/lib/getQueryString.d.mts.map +0 -1
  548. package/lib/getQueryString.mjs.map +0 -1
  549. package/lib/getUrlAndHeadersWithAuth.d.mts.map +0 -1
  550. package/lib/getUrlAndHeadersWithAuth.mjs.map +0 -1
  551. package/lib/index.d.mts.map +0 -1
  552. package/lib/index.mjs +0 -22
  553. package/lib/index.mjs.map +0 -1
  554. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +0 -1
  555. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +0 -1
  556. package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +0 -1
  557. package/lib/localOdspDriver/localOdspDocumentService.mjs.map +0 -1
  558. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +0 -1
  559. package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +0 -1
  560. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +0 -1
  561. package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +0 -1
  562. package/lib/odspCache.d.mts.map +0 -1
  563. package/lib/odspCache.mjs.map +0 -1
  564. package/lib/odspDelayLoadedDeltaStream.d.mts.map +0 -1
  565. package/lib/odspDelayLoadedDeltaStream.mjs.map +0 -1
  566. package/lib/odspDeltaStorageService.d.mts.map +0 -1
  567. package/lib/odspDeltaStorageService.mjs.map +0 -1
  568. package/lib/odspDocumentDeltaConnection.d.mts.map +0 -1
  569. package/lib/odspDocumentDeltaConnection.mjs.map +0 -1
  570. package/lib/odspDocumentService.d.mts.map +0 -1
  571. package/lib/odspDocumentService.mjs.map +0 -1
  572. package/lib/odspDocumentServiceFactory.d.mts.map +0 -1
  573. package/lib/odspDocumentServiceFactory.mjs.map +0 -1
  574. package/lib/odspDocumentServiceFactoryCore.d.mts.map +0 -1
  575. package/lib/odspDocumentServiceFactoryCore.mjs.map +0 -1
  576. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +0 -1
  577. package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +0 -1
  578. package/lib/odspDocumentStorageManager.d.mts.map +0 -1
  579. package/lib/odspDocumentStorageManager.mjs.map +0 -1
  580. package/lib/odspDocumentStorageServiceBase.d.mts.map +0 -1
  581. package/lib/odspDocumentStorageServiceBase.mjs.map +0 -1
  582. package/lib/odspDriverUrlResolver.d.mts.map +0 -1
  583. package/lib/odspDriverUrlResolver.mjs.map +0 -1
  584. package/lib/odspDriverUrlResolverForShareLink.d.mts.map +0 -1
  585. package/lib/odspDriverUrlResolverForShareLink.mjs.map +0 -1
  586. package/lib/odspError.d.mts.map +0 -1
  587. package/lib/odspError.mjs.map +0 -1
  588. package/lib/odspFluidFileLink.d.mts.map +0 -1
  589. package/lib/odspFluidFileLink.mjs.map +0 -1
  590. package/lib/odspLocationRedirection.d.mts.map +0 -1
  591. package/lib/odspLocationRedirection.mjs.map +0 -1
  592. package/lib/odspPublicUtils.d.mts.map +0 -1
  593. package/lib/odspPublicUtils.mjs.map +0 -1
  594. package/lib/odspSnapshotParser.d.mts.map +0 -1
  595. package/lib/odspSnapshotParser.mjs.map +0 -1
  596. package/lib/odspSummaryUploadManager.d.mts.map +0 -1
  597. package/lib/odspSummaryUploadManager.mjs.map +0 -1
  598. package/lib/odspUrlHelper.d.mts.map +0 -1
  599. package/lib/odspUrlHelper.mjs.map +0 -1
  600. package/lib/odspUtils.d.mts.map +0 -1
  601. package/lib/odspUtils.mjs.map +0 -1
  602. package/lib/opsCaching.d.mts.map +0 -1
  603. package/lib/opsCaching.mjs.map +0 -1
  604. package/lib/packageVersion.d.mts.map +0 -1
  605. package/lib/packageVersion.mjs.map +0 -1
  606. package/lib/prefetchLatestSnapshot.d.mts.map +0 -1
  607. package/lib/prefetchLatestSnapshot.mjs.map +0 -1
  608. package/lib/retryErrorsStorageAdapter.d.mts.map +0 -1
  609. package/lib/retryErrorsStorageAdapter.mjs.map +0 -1
  610. package/lib/retryUtils.d.mts.map +0 -1
  611. package/lib/retryUtils.mjs.map +0 -1
  612. package/lib/socketModule.d.mts.map +0 -1
  613. package/lib/socketModule.mjs.map +0 -1
  614. package/lib/vroom.d.mts.map +0 -1
  615. package/lib/vroom.mjs.map +0 -1
  616. package/lib/zipItDataRepresentationUtils.d.mts.map +0 -1
  617. package/lib/zipItDataRepresentationUtils.mjs.map +0 -1
@@ -23,10 +23,10 @@ import {
23
23
  IOdspSummaryTreeBaseEntry,
24
24
  OdspSummaryTreeEntry,
25
25
  OdspSummaryTreeValue,
26
- } from "./contracts";
27
- import { EpochTracker } from "./epochTracker";
28
- import { getUrlAndHeadersWithAuth } from "./getUrlAndHeadersWithAuth";
29
- import { getWithRetryForTokenRefresh } from "./odspUtils";
26
+ } from "./contracts.js";
27
+ import { EpochTracker } from "./epochTracker.js";
28
+ import { getUrlAndHeadersWithAuth } from "./getUrlAndHeadersWithAuth.js";
29
+ import { getWithRetryForTokenRefresh } from "./odspUtils.js";
30
30
 
31
31
  /**
32
32
  * This class manages a summary upload. When it receives a call to upload summary, it converts the summary tree into
@@ -48,7 +48,10 @@ export class OdspSummaryUploadManager {
48
48
  this.mc = loggerToMonitoringContext(logger);
49
49
  }
50
50
 
51
- public async writeSummaryTree(tree: api.ISummaryTree, context: ISummaryContext) {
51
+ public async writeSummaryTree(
52
+ tree: api.ISummaryTree,
53
+ context: ISummaryContext,
54
+ ): Promise<string> {
52
55
  // If the last proposed handle is not the proposed handle of the acked summary(could happen when the last summary get nacked),
53
56
  // then re-initialize the caches with the previous ones else just update the previous caches with the caches from acked summary.
54
57
  // Don't bother logging if lastSummaryProposalHandle hasn't been set before; only log on a positive mismatch.
@@ -122,7 +125,7 @@ export class OdspSummaryUploadManager {
122
125
  attempt: options.refresh ? 2 : 1,
123
126
  hasClaims: !!options.claims,
124
127
  hasTenantId: !!options.tenantId,
125
- headers: Object.keys(headers).length !== 0 ? true : undefined,
128
+ headers: Object.keys(headers).length > 0 ? true : undefined,
126
129
  blobs,
127
130
  size: postBody.length,
128
131
  referenceSequenceNumber,
@@ -163,7 +166,10 @@ export class OdspSummaryUploadManager {
163
166
  markUnreferencedNodes: boolean = this.mc.config.getBoolean(
164
167
  "Fluid.Driver.Odsp.MarkUnreferencedNodes",
165
168
  ) ?? true,
166
- ) {
169
+ ): Promise<{
170
+ snapshotTree: IOdspSummaryTree;
171
+ blobs: number;
172
+ }> {
167
173
  const snapshotTree: IOdspSummaryTree = {
168
174
  type: "tree",
169
175
  entries: [] as OdspSummaryTreeEntry[],
@@ -181,6 +187,7 @@ export class OdspSummaryUploadManager {
181
187
  // property is not present, the tree entry is considered referenced. If the property is present and is
182
188
  // true (which is the only value it can have), the tree entry is considered unreferenced.
183
189
  let unreferenced: true | undefined;
190
+ let groupId: string | undefined;
184
191
  switch (summaryObject.type) {
185
192
  case api.SummaryType.Tree: {
186
193
  const result = await this.convertSummaryToSnapshotTree(
@@ -190,6 +197,7 @@ export class OdspSummaryUploadManager {
190
197
  );
191
198
  value = result.snapshotTree;
192
199
  unreferenced = markUnreferencedNodes ? summaryObject.unreferenced : undefined;
200
+ groupId = summaryObject.groupId;
193
201
  blobs += result.blobs;
194
202
  break;
195
203
  }
@@ -211,7 +219,7 @@ export class OdspSummaryUploadManager {
211
219
  }
212
220
  case api.SummaryType.Handle: {
213
221
  if (!parentHandle) {
214
- throw Error("Parent summary does not exist to reference by handle.");
222
+ throw new Error("Parent summary does not exist to reference by handle.");
215
223
  }
216
224
  let handlePath = summaryObject.handle;
217
225
  if (handlePath.length > 0 && !handlePath.startsWith("/")) {
@@ -226,7 +234,10 @@ export class OdspSummaryUploadManager {
226
234
  break;
227
235
  }
228
236
  default: {
229
- unreachableCase(summaryObject, `Unknown type: ${(summaryObject as any).type}`);
237
+ unreachableCase(
238
+ summaryObject,
239
+ `Unknown type: ${(summaryObject as api.SummaryObject).type}`,
240
+ );
230
241
  }
231
242
  }
232
243
 
@@ -246,6 +257,7 @@ export class OdspSummaryUploadManager {
246
257
  value,
247
258
  ...baseEntry,
248
259
  unreferenced,
260
+ groupId,
249
261
  };
250
262
  } else if (id) {
251
263
  entry = {
@@ -49,7 +49,7 @@ export function isSpoUrl(url: string): boolean {
49
49
 
50
50
  // Format: foo.sharepoint.com/_api/v2.1./drives/bar/items/baz and foo.sharepoint-df.com/...
51
51
  const spoRegex = /(.*\.sharepoint(-df)*\.com)\/_api\/v2.1\/drives\/([^/]*)\/items\/([^/]*)/;
52
- return !!spoRegex.exec(urlLower);
52
+ return spoRegex.test(urlLower);
53
53
  }
54
54
 
55
55
  /**
@@ -88,7 +88,7 @@ export async function getOdspUrlParts(url: URL): Promise<IOdspUrlParts | undefin
88
88
  // Joinsession like URL
89
89
  // Pick a regex based on the hostname
90
90
  // TODO This will only support ODC using api.onedrive.com, update to handle the future (share links etc)
91
- let joinSessionMatch;
91
+ let joinSessionMatch: RegExpExecArray | null;
92
92
  if (isOdcOrigin(url.origin)) {
93
93
  // Capture groups:
94
94
  // 0: match
@@ -97,7 +97,6 @@ export async function getOdspUrlParts(url: URL): Promise<IOdspUrlParts | undefin
97
97
  // 3: optional captured drive ID
98
98
  // 4: Item ID
99
99
  // 5: Drive ID portion of Item ID
100
- // eslint-disable-next-line unicorn/no-unsafe-regex
101
100
  joinSessionMatch = /(.*)\/v2\.1\/drive(s\/([\dA-Za-z]+))?\/items\/(([\dA-Za-z]+)!\d+)/.exec(
102
101
  pathname,
103
102
  );
package/src/odspUtils.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryProperties, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
6
+ import { ITelemetryBaseProperties, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
7
7
  import { IResolvedUrl, ISnapshot } from "@fluidframework/driver-definitions";
8
8
  import {
9
9
  isOnline,
@@ -11,6 +11,7 @@ import {
11
11
  RetryableError,
12
12
  NonRetryableError,
13
13
  NetworkErrorBasic,
14
+ type AuthorizationError,
14
15
  } from "@fluidframework/driver-utils";
15
16
  import { performance } from "@fluid-internal/client-utils";
16
17
  import { assert } from "@fluidframework/core-utils";
@@ -20,12 +21,13 @@ import {
20
21
  TelemetryDataTag,
21
22
  createChildLogger,
22
23
  wrapError,
24
+ type IFluidErrorBase,
23
25
  } from "@fluidframework/telemetry-utils";
24
26
  import {
25
27
  fetchIncorrectResponse,
26
28
  throwOdspNetworkError,
27
29
  getSPOAndGraphRequestIdsFromResponse,
28
- } from "@fluidframework/odsp-doclib-utils";
30
+ } from "@fluidframework/odsp-doclib-utils/internal";
29
31
  import {
30
32
  IOdspResolvedUrl,
31
33
  TokenFetchOptions,
@@ -40,15 +42,18 @@ import {
40
42
  InstrumentedStorageTokenFetcher,
41
43
  IOdspUrlParts,
42
44
  } from "@fluidframework/odsp-driver-definitions";
43
- import { fetch } from "./fetch";
44
- import { pkgVersion as driverVersion } from "./packageVersion";
45
- import { IOdspSnapshot } from "./contracts";
46
- import { ISnapshotContents } from "./odspPublicUtils";
45
+ import { fetch } from "./fetch.js";
46
+ import { pkgVersion as driverVersion } from "./packageVersion.js";
47
+ import { IOdspSnapshot } from "./contracts.js";
48
+ // eslint-disable-next-line import/no-deprecated
49
+ import { ISnapshotContents } from "./odspPublicUtils.js";
47
50
 
48
51
  export const getWithRetryForTokenRefreshRepeat = "getWithRetryForTokenRefreshRepeat";
49
52
 
50
- /** Parse the given url and return the origin (host name) */
51
- export const getOrigin = (url: string) => new URL(url).origin;
53
+ /**
54
+ * Parse the given url and return the origin (host name)
55
+ */
56
+ export const getOrigin = (url: string): string => new URL(url).origin;
52
57
 
53
58
  /**
54
59
  * @alpha
@@ -56,16 +61,18 @@ export const getOrigin = (url: string) => new URL(url).origin;
56
61
  export interface IOdspResponse<T> {
57
62
  content: T;
58
63
  headers: Map<string, string>;
59
- propsToLog: ITelemetryProperties;
64
+ propsToLog: ITelemetryBaseProperties;
60
65
  duration: number;
61
66
  }
62
67
 
63
68
  export interface TokenFetchOptionsEx extends TokenFetchOptions {
64
- /** previous error we hit in getWithRetryForTokenRefresh */
65
- previousError?: any;
69
+ /**
70
+ * The previous error we hit in {@link getWithRetryForTokenRefresh}.
71
+ */
72
+ previousError?: unknown;
66
73
  }
67
74
 
68
- function headersToMap(headers: Headers) {
75
+ function headersToMap(headers: Headers): Map<string, string> {
69
76
  const newHeaders = new Map<string, string>();
70
77
  for (const [key, value] of headers.entries()) {
71
78
  newHeaders.set(key, value);
@@ -81,24 +88,30 @@ function headersToMap(headers: Headers) {
81
88
  */
82
89
  export async function getWithRetryForTokenRefresh<T>(
83
90
  get: (options: TokenFetchOptionsEx) => Promise<T>,
84
- ) {
85
- return get({ refresh: false }).catch(async (e) => {
86
- const options: TokenFetchOptionsEx = { refresh: true, previousError: e };
87
- switch (e.errorType) {
91
+ ): Promise<T> {
92
+ return get({ refresh: false }).catch(async (error) => {
93
+ const options: TokenFetchOptionsEx = { refresh: true, previousError: error };
94
+ switch ((error as Partial<IFluidErrorBase>).errorType) {
88
95
  // If the error is 401 or 403 refresh the token and try once more.
89
- case OdspErrorTypes.authorizationError:
90
- return get({ ...options, claims: e.claims, tenantId: e.tenantId });
96
+ case OdspErrorTypes.authorizationError: {
97
+ const authError = error as AuthorizationError;
98
+ return get({ ...options, claims: authError.claims, tenantId: authError.tenantId });
99
+ }
91
100
 
92
101
  case OdspErrorTypes.incorrectServerResponse: // some error on the wire, retry once
93
- case OdspErrorTypes.fetchTokenError: // If the token was null, then retry once.
102
+ case OdspErrorTypes.fetchTokenError: {
103
+ // If the token was null, then retry once.
94
104
  return get(options);
105
+ }
95
106
 
96
- default:
107
+ default: {
97
108
  // Caller may determine that it wants one retry
98
- if (e[getWithRetryForTokenRefreshRepeat] === true) {
109
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unnecessary-type-assertion, @typescript-eslint/no-explicit-any
110
+ if ((error as any)[getWithRetryForTokenRefreshRepeat] === true) {
99
111
  return get(options);
100
112
  }
101
- throw e;
113
+ throw error;
114
+ }
102
115
  }
103
116
  });
104
117
  }
@@ -112,7 +125,7 @@ export async function fetchHelper(
112
125
  // Node-fetch and dom have conflicting typing, force them to work by casting for now
113
126
  return fetch(requestInfo, requestInit).then(
114
127
  async (fetchResponse) => {
115
- const response = fetchResponse as any as Response;
128
+ const response = fetchResponse as unknown as Response;
116
129
  // Let's assume we can retry.
117
130
  if (!response) {
118
131
  throw new NonRetryableError(
@@ -153,6 +166,7 @@ export async function fetchHelper(
153
166
  const redactedErrorText = taggedErrorMessage.value.replace(urlRegex, "REDACTED_URL");
154
167
 
155
168
  // This error is thrown by fetch() when AbortSignal is provided and it gets cancelled
169
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
156
170
  if (error.name === "AbortError") {
157
171
  throw new RetryableError(
158
172
  "Fetch Timeout (AbortError)",
@@ -210,7 +224,7 @@ export async function fetchArray(
210
224
  let arrayBuffer: ArrayBuffer;
211
225
  try {
212
226
  arrayBuffer = await content.arrayBuffer();
213
- } catch (e) {
227
+ } catch {
214
228
  // Parsing can fail and message could contain full request URI, including
215
229
  // tokens, etc. So do not log error object itself.
216
230
  throwOdspNetworkError(
@@ -244,7 +258,7 @@ export async function fetchAndParseAsJSONHelper<T>(
244
258
  let text: string | undefined;
245
259
  try {
246
260
  text = await content.text();
247
- } catch (e) {
261
+ } catch {
248
262
  // JSON.parse() can fail and message would container full request URI, including
249
263
  // tokens... It fails for me with "Unexpected end of JSON input" quite often - an attempt to download big file
250
264
  // (many ops) almost always ends up with this error - I'd guess 1% of op request end up here... It always
@@ -263,7 +277,7 @@ export async function fetchAndParseAsJSONHelper<T>(
263
277
  propsToLog.bodySize = text.length;
264
278
  const res = {
265
279
  headers,
266
- content: JSON.parse(text),
280
+ content: JSON.parse(text) as T,
267
281
  propsToLog,
268
282
  duration,
269
283
  };
@@ -307,13 +321,15 @@ export function getOdspResolvedUrl(resolvedUrl: IResolvedUrl): IOdspResolvedUrl
307
321
  }
308
322
 
309
323
  /**
324
+ * Type narrowing utility to determine if the provided {@link @fluidframework/driver-definitions#IResolvedUrl}
325
+ * is an {@link @fluidframework/odsp-driver-definitions#IOdspResolvedUrl}.
310
326
  * @internal
311
327
  */
312
328
  export function isOdspResolvedUrl(resolvedUrl: IResolvedUrl): resolvedUrl is IOdspResolvedUrl {
313
329
  return "odspResolvedUrl" in resolvedUrl && resolvedUrl.odspResolvedUrl === true;
314
330
  }
315
331
 
316
- export const createOdspLogger = (logger?: ITelemetryBaseLogger) =>
332
+ export const createOdspLogger = (logger?: ITelemetryBaseLogger): ITelemetryLoggerExt =>
317
333
  createChildLogger({
318
334
  logger,
319
335
  namespace: "OdspDriver",
@@ -324,7 +340,12 @@ export const createOdspLogger = (logger?: ITelemetryBaseLogger) =>
324
340
  },
325
341
  });
326
342
 
327
- export function evalBlobsAndTrees(snapshot: IOdspSnapshot) {
343
+ export function evalBlobsAndTrees(snapshot: IOdspSnapshot): {
344
+ numTrees: number;
345
+ numBlobs: number;
346
+ encodedBlobsSize: number;
347
+ decodedBlobsSize: number;
348
+ } {
328
349
  let numTrees = 0;
329
350
  let numBlobs = 0;
330
351
  let encodedBlobsSize = 0;
@@ -401,6 +422,7 @@ export function toInstrumentedOdspTokenFetcher(
401
422
  (error) => {
402
423
  // There is an important but unofficial contract here where token providers can set canRetry: true
403
424
  // to hook into the driver's retry logic (e.g. the retry loop when initiating a connection)
425
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
404
426
  const rawCanRetry = error?.canRetry;
405
427
  const tokenError = wrapError(
406
428
  error,
@@ -444,7 +466,9 @@ export const maxUmpPostBodySize = 79872;
444
466
  * @param shareLinkType - Kind of sharing link requested
445
467
  * @returns A string of request parameters that can be concatenated with the base URI
446
468
  */
447
- export function buildOdspShareLinkReqParams(shareLinkType: ISharingLinkKind | undefined) {
469
+ export function buildOdspShareLinkReqParams(
470
+ shareLinkType: ISharingLinkKind | undefined,
471
+ ): string | undefined {
448
472
  if (!shareLinkType) {
449
473
  return;
450
474
  }
@@ -471,7 +495,7 @@ export async function measureP<T>(callback: () => Promise<T>): Promise<[T, numbe
471
495
  return [result, time];
472
496
  }
473
497
 
474
- export function getJoinSessionCacheKey(odspResolvedUrl: IOdspResolvedUrl) {
498
+ export function getJoinSessionCacheKey(odspResolvedUrl: IOdspResolvedUrl): string {
475
499
  return `${odspResolvedUrl.hashedDocumentId}/joinsession`;
476
500
  }
477
501
 
@@ -481,7 +505,26 @@ export function getJoinSessionCacheKey(odspResolvedUrl: IOdspResolvedUrl) {
481
505
  * @param obj - obj whose type needs to be identified.
482
506
  */
483
507
  export function isInstanceOfISnapshot(
508
+ // eslint-disable-next-line import/no-deprecated
484
509
  obj: ISnapshotContents | ISnapshot | undefined,
485
510
  ): obj is ISnapshot {
486
511
  return obj !== undefined && "snapshotFormatV" in obj && obj.snapshotFormatV === 1;
487
512
  }
513
+
514
+ /**
515
+ * This tells whether request if for a specific loading group or not. The snapshot which
516
+ * we fetch on initial load, fetches all ungrouped content.
517
+ */
518
+ export function isSnapshotFetchForLoadingGroup(loadingGroupIds: string[] | undefined): boolean {
519
+ return loadingGroupIds !== undefined && loadingGroupIds.length > 0;
520
+ }
521
+
522
+ /*
523
+ * This tells whether we are using legacy flow for fetching snapshot where we don't use
524
+ * groupId query param in the trees latest network call.
525
+ */
526
+ export function useLegacyFlowWithoutGroupsForSnapshotFetch(
527
+ loadingGroupIds: string[] | undefined,
528
+ ): boolean {
529
+ return loadingGroupIds === undefined;
530
+ }
package/src/opsCaching.ts CHANGED
@@ -37,8 +37,8 @@ export class OpsCache {
37
37
  private readonly logger: ITelemetryLoggerExt,
38
38
  private readonly cache: ICache,
39
39
  private readonly batchSize: number,
40
- private readonly timerGranularity,
41
- private totalOpsToCache,
40
+ private readonly timerGranularity: number,
41
+ private totalOpsToCache: number,
42
42
  ) {
43
43
  /**
44
44
  * Initial batch is a special case because it will never be full - all ops prior (inclusive) to
@@ -55,7 +55,7 @@ export class OpsCache {
55
55
  }
56
56
  }
57
57
 
58
- public dispose() {
58
+ public dispose(): void {
59
59
  this.batches.clear();
60
60
  if (this.timer !== undefined) {
61
61
  clearTimeout(this.timer);
@@ -63,7 +63,7 @@ export class OpsCache {
63
63
  }
64
64
  }
65
65
 
66
- public flushOps() {
66
+ public flushOps(): void {
67
67
  for (const [key, value] of this.batches) {
68
68
  // Don't flush if the batch has no ops, already flushed or has empty slots at both beginning and end.
69
69
  if (
@@ -80,7 +80,7 @@ export class OpsCache {
80
80
  }
81
81
  }
82
82
 
83
- public addOps(ops: IMessage[]) {
83
+ public addOps(ops: IMessage[]): void {
84
84
  if (this.totalOpsToCache <= 0) {
85
85
  return;
86
86
  }
@@ -114,6 +114,7 @@ export class OpsCache {
114
114
  if (currentBatch.remainingSlots === 0) {
115
115
  // batch is full, flush to cache
116
116
  this.write(batchNumber, currentBatch);
117
+ // eslint-disable-next-line unicorn/no-null
117
118
  this.batches.set(batchNumber, null);
118
119
  } else {
119
120
  this.scheduleTimer();
@@ -144,7 +145,7 @@ export class OpsCache {
144
145
  if (res === undefined) {
145
146
  return messages;
146
147
  }
147
- const result: CacheEntry = JSON.parse(res);
148
+ const result: CacheEntry = JSON.parse(res) as CacheEntry;
148
149
  const prevMessagesLength = messages.length;
149
150
  for (const op of result) {
150
151
  // Note that we write out undefined, but due to JSON.stringify, it turns into null!
@@ -160,7 +161,7 @@ export class OpsCache {
160
161
  }
161
162
  }
162
163
  messages.push(op);
163
- } else if (messages.length !== 0) {
164
+ } else if (messages.length > 0) {
164
165
  // If there is any gap, return the messages till now.
165
166
  return messages;
166
167
  }
@@ -199,7 +200,7 @@ export class OpsCache {
199
200
  return messages;
200
201
  }
201
202
 
202
- protected write(batchNumber: number, payload: IBatch) {
203
+ protected write(batchNumber: number, payload: IBatch): void {
203
204
  // Errors are caught and logged by PersistedCacheWithErrorHandling that sits
204
205
  // in the adapter chain of cache adapters
205
206
  this.cache
@@ -209,7 +210,7 @@ export class OpsCache {
209
210
  });
210
211
  }
211
212
 
212
- protected scheduleTimer() {
213
+ protected scheduleTimer(): void {
213
214
  if (!this.timer && this.timerGranularity > 0) {
214
215
  this.timer = setTimeout(() => {
215
216
  this.timer = undefined;
@@ -218,15 +219,15 @@ export class OpsCache {
218
219
  }
219
220
  }
220
221
 
221
- private getBatchNumber(sequenceNumber: number) {
222
+ private getBatchNumber(sequenceNumber: number): number {
222
223
  return Math.floor(sequenceNumber / this.batchSize);
223
224
  }
224
225
 
225
- private getPositionInBatchArray(sequenceNumber: number) {
226
+ private getPositionInBatchArray(sequenceNumber: number): number {
226
227
  return sequenceNumber % this.batchSize;
227
228
  }
228
229
 
229
- private initializeNewBatchDataArray() {
230
+ private initializeNewBatchDataArray(): IMessage[] {
230
231
  const tempArray: IMessage[] = [];
231
232
  tempArray.length = this.batchSize; // fill with empty, undefined elements
232
233
  return tempArray;
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/odsp-driver";
9
- export const pkgVersion = "2.0.0-dev-rc.1.0.0.232845";
9
+ export const pkgVersion = "2.0.0-dev-rc.2.0.0.246488";
@@ -16,21 +16,22 @@ import {
16
16
  IOdspUrlParts,
17
17
  getKeyForCacheEntry,
18
18
  } from "@fluidframework/odsp-driver-definitions";
19
- import { createChildLogger, PerformanceEvent } from "@fluidframework/telemetry-utils";
19
+ import { createChildMonitoringContext, PerformanceEvent } from "@fluidframework/telemetry-utils";
20
20
  import {
21
21
  createCacheSnapshotKey,
22
22
  createOdspLogger,
23
23
  getOdspResolvedUrl,
24
24
  toInstrumentedOdspTokenFetcher,
25
- } from "./odspUtils";
25
+ } from "./odspUtils.js";
26
26
  import {
27
27
  downloadSnapshot,
28
28
  fetchSnapshotWithRedeem,
29
+ ISnapshotRequestAndResponseOptions,
29
30
  SnapshotFormatSupportType,
30
- } from "./fetchSnapshot";
31
- import { IVersionedValueWithEpoch } from "./contracts";
32
- import { IPrefetchSnapshotContents } from "./odspCache";
33
- import { OdspDocumentServiceFactory } from "./odspDocumentServiceFactory";
31
+ } from "./fetchSnapshot.js";
32
+ import { IVersionedValueWithEpoch } from "./contracts.js";
33
+ import { IPrefetchSnapshotContents } from "./odspCache.js";
34
+ import { OdspDocumentServiceFactory } from "./odspDocumentServiceFactory.js";
34
35
 
35
36
  /**
36
37
  * Function to prefetch the snapshot and cached it in the persistant cache, so that when the container is loaded
@@ -66,9 +67,14 @@ export async function prefetchLatestSnapshot(
66
67
  snapshotFormatFetchType?: SnapshotFormatSupportType,
67
68
  odspDocumentServiceFactory?: OdspDocumentServiceFactory,
68
69
  ): Promise<boolean> {
69
- const odspLogger = createOdspLogger(
70
- createChildLogger({ logger, namespace: "PrefetchSnapshot" }),
70
+ const mc = createChildMonitoringContext({ logger, namespace: "PrefetchSnapshot" });
71
+ const odspLogger = createOdspLogger(mc.logger);
72
+ const useGroupIdsForSnapshotFetch = mc.config.getBoolean(
73
+ "Fluid.Container.UseLoadingGroupIdForSnapshotFetch",
71
74
  );
75
+ // For prefetch, we just want to fetch the ungrouped data and want to use the new API if the
76
+ // feature gate is set, so provide an empty array.
77
+ const loadingGroupIds = useGroupIdsForSnapshotFetch ? [] : undefined;
72
78
  const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
73
79
 
74
80
  const resolvedUrlData: IOdspUrlParts = {
@@ -86,13 +92,14 @@ export async function prefetchLatestSnapshot(
86
92
  const snapshotDownloader = async (
87
93
  finalOdspResolvedUrl: IOdspResolvedUrl,
88
94
  storageToken: string,
95
+ loadingGroupId: string[] | undefined,
89
96
  snapshotOptions: ISnapshotOptions | undefined,
90
97
  controller?: AbortController,
91
- ) => {
98
+ ): Promise<ISnapshotRequestAndResponseOptions> => {
92
99
  return downloadSnapshot(
93
100
  finalOdspResolvedUrl,
94
101
  storageToken,
95
- odspLogger,
102
+ loadingGroupId,
96
103
  snapshotOptions,
97
104
  undefined,
98
105
  controller,
@@ -101,12 +108,13 @@ export async function prefetchLatestSnapshot(
101
108
  const snapshotKey = createCacheSnapshotKey(odspResolvedUrl);
102
109
  let cacheP: Promise<void> | undefined;
103
110
  let snapshotEpoch: string | undefined;
104
- const putInCache = async (valueWithEpoch: IVersionedValueWithEpoch) => {
111
+ const putInCache = async (valueWithEpoch: IVersionedValueWithEpoch): Promise<void> => {
105
112
  snapshotEpoch = valueWithEpoch.fluidEpoch;
106
113
  cacheP = persistedCache.put(snapshotKey, valueWithEpoch);
107
114
  return cacheP;
108
115
  };
109
- const removeEntries = async () => persistedCache.removeEntries(snapshotKey.file);
116
+
117
+ const removeEntries = async (): Promise<void> => persistedCache.removeEntries(snapshotKey.file);
110
118
  return PerformanceEvent.timedExecAsync(
111
119
  odspLogger,
112
120
  { eventName: "PrefetchLatestSnapshot" },
@@ -130,6 +138,7 @@ export async function prefetchLatestSnapshot(
130
138
  snapshotDownloader,
131
139
  putInCache,
132
140
  removeEntries,
141
+ loadingGroupIds,
133
142
  enableRedeemFallback,
134
143
  )
135
144
  .then(async (value) => {
@@ -157,11 +166,11 @@ export async function prefetchLatestSnapshot(
157
166
  snapshotNonPersistentCache?.remove(nonPersistentCacheKey);
158
167
  }, 5000);
159
168
  })
160
- .catch((err) => {
169
+ .catch((error) => {
161
170
  // Remove it from the non persistent cache if an error occured.
162
171
  snapshotNonPersistentCache?.remove(nonPersistentCacheKey);
163
- snapshotContentsWithEpochP.reject(err);
164
- throw err;
172
+ snapshotContentsWithEpochP.reject(error);
173
+ throw error;
165
174
  });
166
175
  return true;
167
176
  },
@@ -20,7 +20,7 @@ import {
20
20
  IVersion,
21
21
  } from "@fluidframework/protocol-definitions";
22
22
  import { IDisposable } from "@fluidframework/core-interfaces";
23
- import { runWithRetry } from "./retryUtils";
23
+ import { runWithRetry } from "./retryUtils.js";
24
24
 
25
25
  export class RetryErrorsStorageAdapter implements IDocumentStorageService, IDisposable {
26
26
  private _disposed = false;
@@ -32,17 +32,13 @@ export class RetryErrorsStorageAdapter implements IDocumentStorageService, IDisp
32
32
  public get policies(): IDocumentStorageServicePolicies | undefined {
33
33
  return this.internalStorageService.policies;
34
34
  }
35
- public get disposed() {
35
+ public get disposed(): boolean {
36
36
  return this._disposed;
37
37
  }
38
- public dispose() {
38
+ public dispose(): void {
39
39
  this._disposed = true;
40
40
  }
41
41
 
42
- public get repositoryUrl(): string {
43
- return this.internalStorageService.repositoryUrl;
44
- }
45
-
46
42
  // eslint-disable-next-line @rushstack/no-new-null
47
43
  public async getSnapshotTree(version?: IVersion): Promise<ISnapshotTree | null> {
48
44
  return this.runWithRetry(
@@ -111,7 +107,7 @@ export class RetryErrorsStorageAdapter implements IDocumentStorageService, IDisp
111
107
  );
112
108
  }
113
109
 
114
- private checkStorageDisposed() {
110
+ private checkStorageDisposed(): void {
115
111
  if (this._disposed) {
116
112
  // pre-0.58 error message: storageServiceDisposedCannotRetry
117
113
  throw new LoggingError("Storage Service is disposed. Cannot retry", {
package/src/retryUtils.ts CHANGED
@@ -8,7 +8,7 @@ import { performance } from "@fluid-internal/client-utils";
8
8
  import { delay } from "@fluidframework/core-utils";
9
9
  import { canRetryOnError, getRetryDelayFromError } from "@fluidframework/driver-utils";
10
10
  import { OdspErrorTypes } from "@fluidframework/odsp-driver-definitions";
11
- import { Odsp409Error } from "./epochTracker";
11
+ import { Odsp409Error } from "./epochTracker.js";
12
12
 
13
13
  /**
14
14
  * This method retries only for retriable coherency and service read only errors.
@@ -21,7 +21,7 @@ export async function runWithRetry<T>(
21
21
  ): Promise<T> {
22
22
  let retryAfter = 1000;
23
23
  const start = performance.now();
24
- let lastError: any;
24
+ let lastError: unknown;
25
25
  for (let attempts = 1; ; attempts++) {
26
26
  if (checkDisposed !== undefined) {
27
27
  checkDisposed();
@@ -40,10 +40,13 @@ export async function runWithRetry<T>(
40
40
  );
41
41
  }
42
42
  return result;
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
44
  } catch (error: any) {
44
45
  const canRetry = canRetryOnError(error);
45
46
 
47
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
46
48
  const coherencyError = error?.[Odsp409Error] === true;
49
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
47
50
  const serviceReadonlyError = error?.errorType === OdspErrorTypes.serviceReadOnly;
48
51
 
49
52
  // logging the first failed retry instead of every attempt. We want to avoid filling telemetry
@@ -84,6 +87,7 @@ export async function runWithRetry<T>(
84
87
  error,
85
88
  );
86
89
  // Fail hard.
90
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
87
91
  error.canRetry = false;
88
92
  throw error;
89
93
  }
@@ -5,4 +5,6 @@
5
5
 
6
6
  import { io } from "socket.io-client";
7
7
 
8
+ // Import is required for side-effects.
9
+ // eslint-disable-next-line unicorn/prefer-export-from
8
10
  export const SocketIOClientStatic = io;