@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
@@ -14,11 +14,10 @@ import {
14
14
  ISnapshot,
15
15
  ISnapshotFetchOptions,
16
16
  } from "@fluidframework/driver-definitions";
17
+ import { maximumCacheDurationMs } from "@fluidframework/odsp-driver-definitions";
17
18
  import * as api from "@fluidframework/protocol-definitions";
18
19
  import { IConfigProvider } from "@fluidframework/telemetry-utils";
19
20
 
20
- const maximumCacheDurationMs: FiveDaysMs = 432000000; // 5 * 24 * 60 * 60 * 1000 = 5 days in ms
21
-
22
21
  class BlobCache {
23
22
  // Save the timeout so we can cancel and reschedule it as needed
24
23
  private blobCacheTimeout: ReturnType<typeof setTimeout> | undefined;
@@ -43,14 +42,14 @@ class BlobCache {
43
42
  // So for now, purging is disabled.
44
43
  private readonly purgeEnabled = false;
45
44
 
46
- public get value() {
45
+ public get value(): Map<string, ArrayBuffer> {
47
46
  return this._blobCache;
48
47
  }
49
48
 
50
- public addBlobs(blobs: Map<string, ArrayBuffer>) {
51
- blobs.forEach((value, blobId) => {
49
+ public addBlobs(blobs: Map<string, ArrayBuffer>): void {
50
+ for (const [blobId, value] of blobs.entries()) {
52
51
  this._blobCache.set(blobId, value);
53
- });
52
+ }
54
53
  // Reset the timer on cache set
55
54
  this.scheduleClearBlobsCache();
56
55
  }
@@ -58,14 +57,14 @@ class BlobCache {
58
57
  /**
59
58
  * Schedule a timer for clearing the blob cache or defer the current one.
60
59
  */
61
- private scheduleClearBlobsCache() {
60
+ private scheduleClearBlobsCache(): void {
62
61
  if (this.blobCacheTimeout !== undefined) {
63
62
  // If we already have an outstanding timer, just signal that we should defer the clear
64
63
  this.deferBlobCacheClear = true;
65
64
  } else if (this.purgeEnabled) {
66
65
  // If we don't have an outstanding timer, set a timer
67
66
  // When the timer runs out, we'll decide whether to proceed with the cache clear or reset the timer
68
- const clearCacheOrDefer = () => {
67
+ const clearCacheOrDefer = (): void => {
69
68
  this.blobCacheTimeout = undefined;
70
69
  if (this.deferBlobCacheClear) {
71
70
  this.deferBlobCacheClear = false;
@@ -77,7 +76,9 @@ class BlobCache {
77
76
  // We want to optimize both - memory footprint and number of future requests to storage.
78
77
  // Note that Container can realize data store or DDS on-demand at any point in time, so we do not
79
78
  // control when blobs will be used.
80
- this._blobCache.forEach((_, blobId) => this.blobsEvicted.add(blobId));
79
+ for (const blobId of this._blobCache.keys()) {
80
+ this.blobsEvicted.add(blobId);
81
+ }
81
82
  this._blobCache.clear();
82
83
  }
83
84
  };
@@ -88,7 +89,10 @@ class BlobCache {
88
89
  }
89
90
  }
90
91
 
91
- public getBlob(blobId: string) {
92
+ public getBlob(blobId: string): {
93
+ blobContent: ArrayBuffer | undefined;
94
+ evicted: boolean;
95
+ } {
92
96
  // Reset the timer on attempted cache read
93
97
  this.scheduleClearBlobsCache();
94
98
  const blobContent = this._blobCache.get(blobId);
@@ -96,7 +100,7 @@ class BlobCache {
96
100
  return { blobContent, evicted };
97
101
  }
98
102
 
99
- public setBlob(blobId: string, blob: ArrayBuffer) {
103
+ public setBlob(blobId: string, blob: ArrayBuffer): Map<string, ArrayBuffer> | undefined {
100
104
  // This API is called as result of cache miss and reading blob from storage.
101
105
  // Runtime never reads same blob twice.
102
106
  // The only reason we may get read request for same blob is blob de-duping in summaries.
@@ -137,8 +141,6 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
137
141
  }
138
142
  protected readonly commitCache: Map<string, api.ISnapshotTree> = new Map();
139
143
 
140
- private readonly attributesBlobHandles: Set<string> = new Set();
141
-
142
144
  private _ops: api.ISequencedDocumentMessage[] | undefined;
143
145
 
144
146
  private _snapshotSequenceNumber: number | undefined;
@@ -154,12 +156,10 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
154
156
  return this._ops;
155
157
  }
156
158
 
157
- public get snapshotSequenceNumber() {
159
+ public get snapshotSequenceNumber(): number | undefined {
158
160
  return this._snapshotSequenceNumber;
159
161
  }
160
162
 
161
- public readonly repositoryUrl = "";
162
-
163
163
  public abstract createBlob(file: ArrayBufferLike): Promise<api.ICreateBlobResponse>;
164
164
 
165
165
  private async readBlobCore(blobId: string): Promise<ArrayBuffer> {
@@ -179,34 +179,25 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
179
179
  // eslint-disable-next-line @rushstack/no-new-null
180
180
  ): Promise<api.ISnapshotTree | null> {
181
181
  let id: string;
182
- if (!version?.id) {
182
+ if (version?.id) {
183
+ id = version.id;
184
+ } else {
185
+ // eslint-disable-next-line unicorn/no-null
183
186
  const versions = await this.getVersions(null, 1, scenarioName);
184
187
  if (!versions || versions.length === 0) {
188
+ // eslint-disable-next-line unicorn/no-null
185
189
  return null;
186
190
  }
187
191
  id = versions[0].id;
188
- } else {
189
- id = version.id;
190
192
  }
191
193
 
192
194
  const snapshotTree = await this.readTree(id, scenarioName);
193
195
  if (!snapshotTree) {
196
+ // eslint-disable-next-line unicorn/no-null
194
197
  return null;
195
198
  }
196
199
 
197
- if (snapshotTree.blobs) {
198
- const attributesBlob = snapshotTree.blobs.attributes;
199
- if (attributesBlob) {
200
- this.attributesBlobHandles.add(attributesBlob);
201
- }
202
- }
203
-
204
- // When we upload the container snapshot, we upload appTree in ".app" and protocol tree in ".protocol"
205
- // So when we request the snapshot we get ".app" as tree and not as commit node as in the case just above.
206
- const appTree = snapshotTree.trees[".app"];
207
- const protocolTree = snapshotTree.trees[".protocol"];
208
-
209
- return this.combineProtocolAndAppSnapshotTree(appTree, protocolTree);
200
+ return this.combineProtocolAndAppSnapshotTree(snapshotTree);
210
201
  }
211
202
 
212
203
  public abstract getSnapshot(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;
@@ -228,11 +219,11 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
228
219
  throw new Error("Not implemented yet");
229
220
  }
230
221
 
231
- protected setRootTree(id: string, tree: api.ISnapshotTree) {
222
+ protected setRootTree(id: string, tree: api.ISnapshotTree): void {
232
223
  this.commitCache.set(id, tree);
233
224
  }
234
225
 
235
- protected initBlobsCache(blobs: Map<string, ArrayBuffer>) {
226
+ protected initBlobsCache(blobs: Map<string, ArrayBuffer>): void {
236
227
  this.blobCache.addBlobs(blobs);
237
228
  }
238
229
 
@@ -242,6 +233,7 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
242
233
  tree = await this.fetchTreeFromSnapshot(id, scenarioName);
243
234
  }
244
235
 
236
+ // eslint-disable-next-line unicorn/no-null
245
237
  return tree ?? null;
246
238
  }
247
239
 
@@ -250,28 +242,35 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
250
242
  scenarioName?: string,
251
243
  ): Promise<api.ISnapshotTree | undefined>;
252
244
 
253
- private combineProtocolAndAppSnapshotTree(
254
- hierarchicalAppTree: api.ISnapshotTree,
255
- hierarchicalProtocolTree: api.ISnapshotTree,
256
- ) {
245
+ protected combineProtocolAndAppSnapshotTree(
246
+ snapshotTree: api.ISnapshotTree,
247
+ ): api.ISnapshotTree {
248
+ // When we upload the container snapshot, we upload appTree in ".app" and protocol tree in ".protocol"
249
+ // So when we request the snapshot we get ".app" as tree and not as commit node as in the case just above.
250
+ const hierarchicalAppTree = snapshotTree.trees[".app"];
251
+ const hierarchicalProtocolTree = snapshotTree.trees[".protocol"];
257
252
  const summarySnapshotTree: api.ISnapshotTree = {
258
253
  blobs: {
259
254
  ...hierarchicalAppTree.blobs,
260
255
  },
261
256
  trees: {
262
257
  ...hierarchicalAppTree.trees,
263
- // the app tree could have a .protocol
264
- // in that case we want to server protocol to override it
265
- ".protocol": hierarchicalProtocolTree,
266
258
  },
267
259
  };
268
260
 
261
+ // The app tree could have a .protocol in that case we want to server protocol to override it.
262
+ // Snapshot which are for a loading GroupId, will not have a protocol tree.
263
+ if (hierarchicalProtocolTree !== undefined) {
264
+ summarySnapshotTree.trees[".protocol"] = hierarchicalProtocolTree;
265
+ }
266
+
269
267
  return summarySnapshotTree;
270
268
  }
271
269
 
272
270
  protected initializeFromSnapshot(
273
271
  odspSnapshotCacheValue: ISnapshot,
274
272
  cacheOps: boolean = true,
273
+ cacheSnapshot: boolean = true,
275
274
  ): string | undefined {
276
275
  this._snapshotSequenceNumber = odspSnapshotCacheValue.sequenceNumber;
277
276
  const { snapshotTree, blobContents, ops } = odspSnapshotCacheValue;
@@ -281,10 +280,13 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
281
280
  if (snapshotTree) {
282
281
  id = snapshotTree.id;
283
282
  assert(id !== undefined, 0x221 /* "Root tree should contain the id" */);
284
- this.setRootTree(id, snapshotTree);
283
+ if (cacheSnapshot) {
284
+ this.setRootTree(id, snapshotTree);
285
+ }
285
286
  }
286
287
 
287
- if (blobContents) {
288
+ // Currently always cache blobs as container runtime is not caching them.
289
+ if (blobContents !== undefined) {
288
290
  this.initBlobsCache(blobContents);
289
291
  }
290
292
 
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+
5
6
  import { assert } from "@fluidframework/core-utils";
6
7
  import { IRequest } from "@fluidframework/core-interfaces";
7
8
  import {
@@ -12,20 +13,30 @@ import {
12
13
  } from "@fluidframework/driver-definitions";
13
14
  import { IOdspResolvedUrl, OdspErrorTypes } from "@fluidframework/odsp-driver-definitions";
14
15
  import { NonRetryableError } from "@fluidframework/driver-utils";
15
- import { createOdspUrl } from "./createOdspUrl";
16
- import { getApiRoot } from "./odspUrlHelper";
17
- import { getOdspResolvedUrl } from "./odspUtils";
18
- import { getHashedDocumentId } from "./odspPublicUtils";
19
- import { ClpCompliantAppHeader } from "./contractsPublic";
20
- import { pkgVersion } from "./packageVersion";
16
+ import { createOdspUrl } from "./createOdspUrl.js";
17
+ import { getApiRoot } from "./odspUrlHelper.js";
18
+ import { getOdspResolvedUrl } from "./odspUtils.js";
19
+ import { getHashedDocumentId } from "./odspPublicUtils.js";
20
+ import { ClpCompliantAppHeader } from "./contractsPublic.js";
21
+ import { pkgVersion } from "./packageVersion.js";
21
22
 
22
- function getUrlBase(siteUrl: string, driveId: string, itemId: string, fileVersion?: string) {
23
+ function getUrlBase(
24
+ siteUrl: string,
25
+ driveId: string,
26
+ itemId: string,
27
+ fileVersion?: string,
28
+ ): string {
23
29
  const siteOrigin = new URL(siteUrl).origin;
24
30
  const version = fileVersion ? `versions/${fileVersion}/` : "";
25
31
  return `${getApiRoot(siteOrigin)}/drives/${driveId}/items/${itemId}/${version}`;
26
32
  }
27
33
 
28
- function getSnapshotUrl(siteUrl: string, driveId: string, itemId: string, fileVersion?: string) {
34
+ function getSnapshotUrl(
35
+ siteUrl: string,
36
+ driveId: string,
37
+ itemId: string,
38
+ fileVersion?: string,
39
+ ): string {
29
40
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
30
41
  return `${urlBase}opStream/snapshots`;
31
42
  }
@@ -35,7 +46,7 @@ function getAttachmentPOSTUrl(
35
46
  driveId: string,
36
47
  itemId: string,
37
48
  fileVersion?: string,
38
- ) {
49
+ ): string {
39
50
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
40
51
  return `${urlBase}opStream/attachment`;
41
52
  }
@@ -45,7 +56,7 @@ function getAttachmentGETUrl(
45
56
  driveId: string,
46
57
  itemId: string,
47
58
  fileVersion?: string,
48
- ) {
59
+ ): string {
49
60
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
50
61
  return `${urlBase}opStream/attachments`;
51
62
  }
@@ -55,7 +66,7 @@ function getDeltaStorageUrl(
55
66
  driveId: string,
56
67
  itemId: string,
57
68
  fileVersion?: string,
58
- ) {
69
+ ): string {
59
70
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
60
71
  return `${urlBase}opStream`;
61
72
  }
@@ -66,12 +77,16 @@ function getDeltaStorageUrl(
66
77
  */
67
78
  function removeBeginningSlash(str: string): string {
68
79
  if (str.startsWith("/")) {
69
- return str.substr(1);
80
+ return str.slice(1);
70
81
  }
71
82
 
72
83
  return str;
73
84
  }
74
85
 
86
+ // back-compat: GitHub #9653
87
+ const isFluidPackage = (pkg: Record<string, unknown>): boolean =>
88
+ typeof pkg === "object" && typeof pkg?.name === "string" && typeof pkg?.fluid === "object";
89
+
75
90
  /**
76
91
  * Resolver to resolve urls like the ones created by createOdspUrl which is driver inner
77
92
  * url format. Ex: `${siteUrl}?driveId=${driveId}&itemId=${itemId}&path=${path}`
@@ -81,21 +96,22 @@ export class OdspDriverUrlResolver implements IUrlResolver {
81
96
  constructor() {}
82
97
 
83
98
  /**
84
- * @alpha
99
+ * {@inheritDoc @fluidframework/driver-definitions#IUrlResolver.resolve}
85
100
  */
86
101
  public async resolve(request: IRequest): Promise<IOdspResolvedUrl> {
87
102
  if (request.headers?.[DriverHeader.createNew]) {
88
103
  const [siteURL, queryString] = request.url.split("?");
89
104
 
90
105
  const searchParams = new URLSearchParams(queryString);
91
- const fileName = request.headers[DriverHeader.createNew].fileName;
106
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
107
+ const fileName: string = request.headers[DriverHeader.createNew].fileName;
92
108
  const driveID = searchParams.get("driveId");
93
109
  const filePath = searchParams.get("path");
94
110
  const packageName = searchParams.get("containerPackageName");
95
111
  // eslint-disable-next-line @typescript-eslint/prefer-optional-chain -- false positive
96
112
  if (!(fileName && siteURL && driveID && filePath !== null && filePath !== undefined)) {
97
113
  throw new NonRetryableError(
98
- "Proper new file params should be there!!",
114
+ "Proper new file params should be there",
99
115
  OdspErrorTypes.genericError,
100
116
  { driverVersion: pkgVersion },
101
117
  );
@@ -111,7 +127,7 @@ export class OdspDriverUrlResolver implements IUrlResolver {
111
127
  type: "fluid",
112
128
  odspResolvedUrl: true,
113
129
  id: "odspCreateNew",
114
- url: `fluid-odsp://${siteURL}?${queryString}&version=null`,
130
+ url: `https://${siteURL}?${queryString}&version=null`,
115
131
  siteUrl: siteURL,
116
132
  hashedDocumentId: "",
117
133
  driveId: driveID,
@@ -132,7 +148,7 @@ export class OdspDriverUrlResolver implements IUrlResolver {
132
148
  const hashedDocumentId = await getHashedDocumentId(driveId, itemId);
133
149
  assert(!hashedDocumentId.includes("/"), 0x0a8 /* "Docid should not contain slashes!!" */);
134
150
 
135
- const documentUrl = `fluid-odsp://placeholder/placeholder/${hashedDocumentId}/${removeBeginningSlash(
151
+ const documentUrl = `https://placeholder/placeholder/${hashedDocumentId}/${removeBeginningSlash(
136
152
  path,
137
153
  )}`;
138
154
 
@@ -190,21 +206,20 @@ export class OdspDriverUrlResolver implements IUrlResolver {
190
206
  dataStorePath = odspResolvedUrl.dataStorePath;
191
207
  }
192
208
  if (dataStorePath.startsWith("/")) {
193
- dataStorePath = dataStorePath.substr(1);
209
+ dataStorePath = dataStorePath.slice(1);
194
210
  }
195
211
 
196
- // back-compat: GitHub #9653
197
- const isFluidPackage = (pkg: any) =>
198
- typeof pkg === "object" &&
199
- typeof pkg?.name === "string" &&
200
- typeof pkg?.fluid === "object";
201
- let containerPackageName;
212
+ let containerPackageName: string | undefined;
202
213
  if (packageInfoSource && "name" in packageInfoSource) {
203
214
  containerPackageName = packageInfoSource.name;
204
215
  // packageInfoSource is cast to any as it is typed to IContainerPackageInfo instead of IFluidCodeDetails
216
+ // TODO: use stronger type
217
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
205
218
  } else if (isFluidPackage((packageInfoSource as any)?.package)) {
219
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
206
220
  containerPackageName = (packageInfoSource as any)?.package.name;
207
221
  } else {
222
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
208
223
  containerPackageName = (packageInfoSource as any)?.package;
209
224
  }
210
225
  containerPackageName =
@@ -2,6 +2,7 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+
5
6
  import { PromiseCache } from "@fluidframework/core-utils";
6
7
  import { ITelemetryBaseLogger, IRequest } from "@fluidframework/core-interfaces";
7
8
  import {
@@ -19,14 +20,13 @@ import {
19
20
  import {
20
21
  getLocatorFromOdspUrl,
21
22
  storeLocatorInOdspUrl,
22
- encodeOdspFluidDataStoreLocator,
23
23
  locatorQueryParamName,
24
- } from "./odspFluidFileLink";
25
- import { OdspFluidDataStoreLocator, SharingLinkHeader } from "./contractsPublic";
26
- import { createOdspUrl } from "./createOdspUrl";
27
- import { OdspDriverUrlResolver } from "./odspDriverUrlResolver";
28
- import { getOdspResolvedUrl, createOdspLogger } from "./odspUtils";
29
- import { getFileLink } from "./getFileLink";
24
+ } from "./odspFluidFileLink.js";
25
+ import { OdspFluidDataStoreLocator, SharingLinkHeader } from "./contractsPublic.js";
26
+ import { createOdspUrl } from "./createOdspUrl.js";
27
+ import { OdspDriverUrlResolver } from "./odspDriverUrlResolver.js";
28
+ import { getOdspResolvedUrl, createOdspLogger } from "./odspUtils.js";
29
+ import { getFileLink } from "./getFileLink.js";
30
30
 
31
31
  /**
32
32
  * Properties passed to the code responsible for fetching share link for a file.
@@ -43,6 +43,10 @@ export interface ShareLinkFetcherProps {
43
43
  identityType: IdentityType;
44
44
  }
45
45
 
46
+ // back-compat: GitHub #9653
47
+ const isFluidPackage = (pkg: Record<string, unknown>): boolean =>
48
+ typeof pkg === "object" && typeof pkg?.name === "string" && typeof pkg?.fluid === "object";
49
+
46
50
  /**
47
51
  * Resolver to resolve urls like the ones created by createOdspUrl which is driver inner
48
52
  * url format and the ones which have things like driveId, siteId, itemId etc encoded in nav param.
@@ -102,9 +106,9 @@ export class OdspDriverUrlResolverForShareLink implements IUrlResolver {
102
106
  // Determine if the caller is passing a query parameter or path since processing will be different.
103
107
  if (pathToAppend.startsWith("/?") || pathToAppend.startsWith("?")) {
104
108
  const queryParams = new URLSearchParams(pathToAppend);
105
- queryParams.forEach((value: string, key: string) => {
109
+ for (const [key, value] of queryParams.entries()) {
106
110
  parsingUrl.searchParams.append(key, value);
107
- });
111
+ }
108
112
  fluidInfo.dataStorePath = `${parsingUrl.pathname}${parsingUrl.search}`;
109
113
  } else {
110
114
  fluidInfo.dataStorePath = `${parsingUrl.pathname}${
@@ -214,34 +218,55 @@ export class OdspDriverUrlResolverForShareLink implements IUrlResolver {
214
218
  const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
215
219
 
216
220
  const shareLink = await this.getShareLinkPromise(odspResolvedUrl);
217
- const shareLinkUrl = new URL(shareLink);
218
221
 
219
- let actualDataStorePath = dataStorePath;
222
+ return this.appendLocatorParams(shareLink, resolvedUrl, dataStorePath, packageInfoSource);
223
+ }
224
+
225
+ /**
226
+ * Appends the store locator properties to the provided base URL. This function is useful for scenarios where an application
227
+ * has a base URL (for example a sharing link) of the Fluid file, but does not have the locator information that would be used by Fluid
228
+ * to load the file later.
229
+ * @param baseUrl - The input URL on which the locator params will be appended.
230
+ * @param resolvedUrl - odsp-driver's resolvedURL object.
231
+ * @param dataStorePath - The relative data store path URL.
232
+ * For requesting a driver URL, this value should always be '/'. If an empty string is passed, then dataStorePath
233
+ * will be extracted from the resolved url if present.
234
+ * @returns The provided base URL appended with odsp-specific locator information
235
+ */
236
+ public async appendLocatorParams(
237
+ baseUrl: string,
238
+ resolvedUrl: IResolvedUrl,
239
+ dataStorePath: string,
240
+ packageInfoSource?: IContainerPackageInfo,
241
+ ): Promise<string> {
242
+ const url = new URL(baseUrl);
243
+ const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
244
+
220
245
  // If the user has passed an empty dataStorePath, then extract it from the resolved url.
221
- if (dataStorePath === "" && odspResolvedUrl.dataStorePath !== undefined) {
222
- actualDataStorePath = odspResolvedUrl.dataStorePath;
223
- }
246
+ const actualDataStorePath = dataStorePath || (odspResolvedUrl.dataStorePath ?? "");
224
247
 
225
- // back-compat: GitHub #9653
226
- const isFluidPackage = (pkg: any) =>
227
- typeof pkg === "object" &&
228
- typeof pkg?.name === "string" &&
229
- typeof pkg?.fluid === "object";
230
- let containerPackageName;
248
+ let containerPackageName: string | undefined;
231
249
  if (packageInfoSource && "name" in packageInfoSource) {
232
250
  containerPackageName = packageInfoSource.name;
233
251
  // packageInfoSource is cast to any as it is typed to IContainerPackageInfo instead of IFluidCodeDetails
252
+ // TODO: use a stronger type
253
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
234
254
  } else if (isFluidPackage((packageInfoSource as any)?.package)) {
255
+ // TODO: use a stronger type
256
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
235
257
  containerPackageName = (packageInfoSource as any)?.package.name;
236
258
  } else {
259
+ // TODO: use a stronger type
260
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
237
261
  containerPackageName = (packageInfoSource as any)?.package;
238
262
  }
263
+ // TODO: use a stronger type
239
264
  containerPackageName =
240
265
  containerPackageName ?? odspResolvedUrl.codeHint?.containerPackageName;
241
266
 
242
267
  const context = await this.getContext?.(odspResolvedUrl, actualDataStorePath);
243
268
 
244
- storeLocatorInOdspUrl(shareLinkUrl, {
269
+ storeLocatorInOdspUrl(url, {
245
270
  siteUrl: odspResolvedUrl.siteUrl,
246
271
  driveId: odspResolvedUrl.driveId,
247
272
  itemId: odspResolvedUrl.itemId,
@@ -252,25 +277,20 @@ export class OdspDriverUrlResolverForShareLink implements IUrlResolver {
252
277
  context,
253
278
  });
254
279
 
255
- return shareLinkUrl.href;
280
+ return url.href;
256
281
  }
257
282
 
258
283
  /**
259
284
  * Crafts a supported document/driver URL
260
285
  */
261
- public static createDocumentUrl(baseUrl: string, driverInfo: OdspFluidDataStoreLocator) {
286
+ public static createDocumentUrl(
287
+ baseUrl: string,
288
+ driverInfo: OdspFluidDataStoreLocator,
289
+ ): string {
262
290
  const url = new URL(baseUrl);
263
291
 
264
292
  storeLocatorInOdspUrl(url, driverInfo);
265
293
 
266
294
  return url.href;
267
295
  }
268
-
269
- /**
270
- * Crafts a supported data store nav param
271
- * @deprecated encodeOdspFluidDataStoreLocator should be used instead
272
- */
273
- public static createNavParam(locator: OdspFluidDataStoreLocator) {
274
- return encodeOdspFluidDataStoreLocator(locator);
275
- }
276
296
  }
package/src/odspError.ts CHANGED
@@ -3,12 +3,12 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { createOdspNetworkError } from "@fluidframework/odsp-doclib-utils";
6
+ import { createOdspNetworkError } from "@fluidframework/odsp-doclib-utils/internal";
7
7
  import { NonRetryableError } from "@fluidframework/driver-utils";
8
8
  import { OdspError, OdspErrorTypes } from "@fluidframework/odsp-driver-definitions";
9
9
  import { getCircularReplacer, IFluidErrorBase } from "@fluidframework/telemetry-utils";
10
- import { IOdspSocketError } from "./contracts";
11
- import { pkgVersion as driverVersion } from "./packageVersion";
10
+ import { IOdspSocketError } from "./contracts.js";
11
+ import { pkgVersion as driverVersion } from "./packageVersion.js";
12
12
 
13
13
  /**
14
14
  * Returns network error based on error object from ODSP socket (IOdspSocketError)
@@ -33,7 +33,7 @@ export function errorObjectFromSocketError(
33
33
 
34
34
  error.addTelemetryProperties({ odspError: true, relayServiceError: true });
35
35
  return error;
36
- } catch (error) {
36
+ } catch {
37
37
  return new NonRetryableError(
38
38
  "Internal error: errorObjectFromSocketError",
39
39
  OdspErrorTypes.fileNotFoundOrAccessDeniedError,
@@ -4,8 +4,8 @@
4
4
  */
5
5
 
6
6
  import { fromBase64ToUtf8, fromUtf8ToBase64 } from "@fluid-internal/client-utils";
7
- import { OdspFluidDataStoreLocator } from "./contractsPublic";
8
- import { OdcFileSiteOrigin, OdcApiSiteOrigin } from "./constants";
7
+ import { OdspFluidDataStoreLocator } from "./contractsPublic.js";
8
+ import { OdcFileSiteOrigin, OdcApiSiteOrigin } from "./constants.js";
9
9
 
10
10
  const fluidSignature = "1";
11
11
  const fluidSignatureParamName = "fluid";
@@ -122,7 +122,7 @@ export const locatorQueryParamName = "nav";
122
122
  * @param locator - object representing Fluid data store location in ODSP terms
123
123
  * @alpha
124
124
  */
125
- export function storeLocatorInOdspUrl(url: URL, locator: OdspFluidDataStoreLocator) {
125
+ export function storeLocatorInOdspUrl(url: URL, locator: OdspFluidDataStoreLocator): void {
126
126
  const encodedLocatorValue = encodeOdspFluidDataStoreLocator(locator);
127
127
  // IMPORTANT: Do not apply encodeURIComponent to encodedLocatorValue, param value is automatically encoded
128
128
  // when set via URLSearchParams class
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { IResolvedUrl } from "@fluidframework/driver-definitions";
7
7
  import { IOdspResolvedUrl } from "@fluidframework/odsp-driver-definitions";
8
- import { getOdspResolvedUrl } from "./odspUtils";
8
+ import { getOdspResolvedUrl } from "./odspUtils.js";
9
9
 
10
10
  /**
11
11
  * It takes a resolved url with old siteUrl and creates a new resolved url with updated site url domain.
@@ -7,6 +7,9 @@ import { hashFile, IsoBuffer } from "@fluid-internal/client-utils";
7
7
  import { ISequencedDocumentMessage, ISnapshotTree } from "@fluidframework/protocol-definitions";
8
8
 
9
9
  /**
10
+ * Creates a unique and stable id for a document stored in ODSP which doesn't expose the driveId and itemId of
11
+ * said document.
12
+ *
10
13
  * @alpha
11
14
  */
12
15
  export async function getHashedDocumentId(driveId: string, itemId: string): Promise<string> {
@@ -7,7 +7,7 @@ import { stringToBuffer } from "@fluid-internal/client-utils";
7
7
  import { assert } from "@fluidframework/core-utils";
8
8
  import * as api from "@fluidframework/protocol-definitions";
9
9
  import { ISnapshot } from "@fluidframework/driver-definitions";
10
- import { IOdspSnapshot, IOdspSnapshotCommit } from "./contracts";
10
+ import { IOdspSnapshot, IOdspSnapshotCommit } from "./contracts.js";
11
11
 
12
12
  /**
13
13
  * Build a tree hierarchy base on a flat tree
@@ -36,6 +36,7 @@ function buildHierarchy(flatTree: IOdspSnapshotCommit): api.ISnapshotTree {
36
36
  blobs: {},
37
37
  trees: {},
38
38
  unreferenced: entry.unreferenced,
39
+ groupId: entry.groupId,
39
40
  };
40
41
  node.trees[decodeURIComponent(entryPathBase)] = newTree;
41
42
  lookup[entry.path] = newTree;
@@ -54,7 +55,7 @@ function buildHierarchy(flatTree: IOdspSnapshotCommit): api.ISnapshotTree {
54
55
  export function convertOdspSnapshotToSnapshotTreeAndBlobs(odspSnapshot: IOdspSnapshot): ISnapshot {
55
56
  const blobsWithBufferContent = new Map<string, ArrayBuffer>();
56
57
  if (odspSnapshot.blobs) {
57
- odspSnapshot.blobs.forEach((blob) => {
58
+ for (const blob of odspSnapshot.blobs) {
58
59
  assert(
59
60
  blob.encoding === "base64" || blob.encoding === undefined,
60
61
  0x0a4 /* Unexpected blob encoding type */,
@@ -63,7 +64,7 @@ export function convertOdspSnapshotToSnapshotTreeAndBlobs(odspSnapshot: IOdspSna
63
64
  blob.id,
64
65
  stringToBuffer(blob.content, blob.encoding ?? "utf8"),
65
66
  );
66
- });
67
+ }
67
68
  }
68
69
 
69
70
  const sequenceNumber = odspSnapshot?.trees[0].sequenceNumber;