@fluidframework/odsp-driver 2.0.0-dev-rc.1.0.0.228517 → 2.0.0-dev-rc.2.0.0.245554

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 (623) hide show
  1. package/.eslintrc.cjs +33 -0
  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 +16 -17
  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 +2 -2
  18. package/dist/compactSnapshotParser.d.ts.map +1 -1
  19. package/dist/compactSnapshotParser.js +94 -75
  20. package/dist/compactSnapshotParser.js.map +1 -1
  21. package/dist/compactSnapshotWriter.d.ts +2 -2
  22. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  23. package/dist/compactSnapshotWriter.js +26 -20
  24. package/dist/compactSnapshotWriter.js.map +1 -1
  25. package/dist/contracts.d.ts +24 -4
  26. package/dist/contracts.d.ts.map +1 -1
  27. package/dist/contracts.js +5 -1
  28. package/dist/contracts.js.map +1 -1
  29. package/dist/createFile.d.ts +4 -4
  30. package/dist/createFile.d.ts.map +1 -1
  31. package/dist/createFile.js +36 -52
  32. package/dist/createFile.js.map +1 -1
  33. package/dist/createNewContainerOnExistingFile.d.ts +2 -2
  34. package/dist/createNewContainerOnExistingFile.d.ts.map +1 -1
  35. package/dist/createNewContainerOnExistingFile.js +14 -14
  36. package/dist/createNewContainerOnExistingFile.js.map +1 -1
  37. package/dist/createNewModule.d.ts +2 -2
  38. package/dist/createNewModule.d.ts.map +1 -1
  39. package/dist/createNewModule.js +4 -4
  40. package/dist/createNewModule.js.map +1 -1
  41. package/dist/createNewUtils.d.ts +4 -4
  42. package/dist/createNewUtils.d.ts.map +1 -1
  43. package/dist/createNewUtils.js +16 -11
  44. package/dist/createNewUtils.js.map +1 -1
  45. package/dist/createOdspCreateContainerRequest.d.ts +2 -2
  46. package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
  47. package/dist/createOdspCreateContainerRequest.js +2 -2
  48. package/dist/createOdspCreateContainerRequest.js.map +1 -1
  49. package/dist/createOdspUrl.d.ts +1 -1
  50. package/dist/createOdspUrl.d.ts.map +1 -1
  51. package/dist/createOdspUrl.js.map +1 -1
  52. package/dist/epochTracker.d.ts +10 -9
  53. package/dist/epochTracker.d.ts.map +1 -1
  54. package/dist/epochTracker.js +67 -45
  55. package/dist/epochTracker.js.map +1 -1
  56. package/dist/fetchSnapshot.d.ts +14 -11
  57. package/dist/fetchSnapshot.d.ts.map +1 -1
  58. package/dist/fetchSnapshot.js +91 -71
  59. package/dist/fetchSnapshot.js.map +1 -1
  60. package/dist/getFileLink.d.ts.map +1 -1
  61. package/dist/getFileLink.js +25 -18
  62. package/dist/getFileLink.js.map +1 -1
  63. package/dist/getQueryString.d.ts.map +1 -1
  64. package/dist/getQueryString.js +2 -0
  65. package/dist/getQueryString.js.map +1 -1
  66. package/dist/index.d.ts +19 -19
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +44 -44
  69. package/dist/index.js.map +1 -1
  70. package/dist/localOdspDriver/localOdspDocumentService.d.ts +4 -3
  71. package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
  72. package/dist/localOdspDriver/localOdspDocumentService.js +8 -6
  73. package/dist/localOdspDriver/localOdspDocumentService.js.map +1 -1
  74. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +8 -6
  75. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
  76. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js +10 -9
  77. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +1 -1
  78. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +3 -2
  79. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
  80. package/dist/localOdspDriver/localOdspDocumentStorageManager.js +9 -6
  81. package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +1 -1
  82. package/dist/odsp-driver-alpha.d.ts +31 -15
  83. package/dist/odsp-driver-beta.d.ts +4 -5
  84. package/dist/odsp-driver-public.d.ts +4 -5
  85. package/dist/odsp-driver-untrimmed.d.ts +34 -16
  86. package/dist/odspCache.d.ts +5 -5
  87. package/dist/odspCache.d.ts.map +1 -1
  88. package/dist/odspCache.js +1 -2
  89. package/dist/odspCache.js.map +1 -1
  90. package/dist/odspDelayLoadedDeltaStream.d.ts +12 -6
  91. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -1
  92. package/dist/odspDelayLoadedDeltaStream.js +89 -25
  93. package/dist/odspDelayLoadedDeltaStream.js.map +1 -1
  94. package/dist/odspDeltaStorageService.d.ts +7 -7
  95. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  96. package/dist/odspDeltaStorageService.js +5 -5
  97. package/dist/odspDeltaStorageService.js.map +1 -1
  98. package/dist/odspDocumentDeltaConnection.d.ts +1 -1
  99. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  100. package/dist/odspDocumentDeltaConnection.js +41 -23
  101. package/dist/odspDocumentDeltaConnection.js.map +1 -1
  102. package/dist/odspDocumentService.d.ts +9 -6
  103. package/dist/odspDocumentService.d.ts.map +1 -1
  104. package/dist/odspDocumentService.js +25 -19
  105. package/dist/odspDocumentService.js.map +1 -1
  106. package/dist/odspDocumentServiceFactory.d.ts +6 -1
  107. package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
  108. package/dist/odspDocumentServiceFactory.js +9 -4
  109. package/dist/odspDocumentServiceFactory.js.map +1 -1
  110. package/dist/odspDocumentServiceFactoryCore.d.ts +4 -4
  111. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  112. package/dist/odspDocumentServiceFactoryCore.js +27 -30
  113. package/dist/odspDocumentServiceFactoryCore.js.map +1 -1
  114. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +1 -1
  115. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
  116. package/dist/odspDocumentServiceFactoryWithCodeSplit.js +2 -2
  117. package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +1 -1
  118. package/dist/odspDocumentStorageManager.d.ts +17 -10
  119. package/dist/odspDocumentStorageManager.d.ts.map +1 -1
  120. package/dist/odspDocumentStorageManager.js +226 -169
  121. package/dist/odspDocumentStorageManager.js.map +1 -1
  122. package/dist/odspDocumentStorageServiceBase.d.ts +4 -6
  123. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  124. package/dist/odspDocumentStorageServiceBase.js +34 -31
  125. package/dist/odspDocumentStorageServiceBase.js.map +1 -1
  126. package/dist/odspDriverUrlResolver.d.ts +1 -1
  127. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  128. package/dist/odspDriverUrlResolver.js +26 -32
  129. package/dist/odspDriverUrlResolver.js.map +1 -1
  130. package/dist/odspDriverUrlResolverForShareLink.d.ts +13 -6
  131. package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
  132. package/dist/odspDriverUrlResolverForShareLink.js +47 -37
  133. package/dist/odspDriverUrlResolverForShareLink.js.map +1 -1
  134. package/dist/odspError.d.ts +1 -1
  135. package/dist/odspError.d.ts.map +1 -1
  136. package/dist/odspError.js +6 -6
  137. package/dist/odspError.js.map +1 -1
  138. package/dist/odspFluidFileLink.d.ts +1 -1
  139. package/dist/odspFluidFileLink.d.ts.map +1 -1
  140. package/dist/odspFluidFileLink.js +2 -2
  141. package/dist/odspFluidFileLink.js.map +1 -1
  142. package/dist/odspLocationRedirection.js +2 -2
  143. package/dist/odspLocationRedirection.js.map +1 -1
  144. package/dist/odspPublicUtils.d.ts +4 -0
  145. package/dist/odspPublicUtils.d.ts.map +1 -1
  146. package/dist/odspPublicUtils.js +3 -0
  147. package/dist/odspPublicUtils.js.map +1 -1
  148. package/dist/odspSnapshotParser.d.ts +3 -3
  149. package/dist/odspSnapshotParser.d.ts.map +1 -1
  150. package/dist/odspSnapshotParser.js +5 -3
  151. package/dist/odspSnapshotParser.js.map +1 -1
  152. package/dist/odspSummaryUploadManager.d.ts +1 -1
  153. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  154. package/dist/odspSummaryUploadManager.js +9 -6
  155. package/dist/odspSummaryUploadManager.js.map +1 -1
  156. package/dist/odspUrlHelper.d.ts.map +1 -1
  157. package/dist/odspUrlHelper.js +1 -2
  158. package/dist/odspUrlHelper.js.map +1 -1
  159. package/dist/odspUtils.d.ts +29 -13
  160. package/dist/odspUtils.d.ts.map +1 -1
  161. package/dist/odspUtils.js +75 -41
  162. package/dist/odspUtils.js.map +1 -1
  163. package/dist/opsCaching.d.ts +1 -1
  164. package/dist/opsCaching.d.ts.map +1 -1
  165. package/dist/opsCaching.js +2 -1
  166. package/dist/opsCaching.js.map +1 -1
  167. package/dist/package.json +3 -0
  168. package/dist/packageVersion.d.ts +1 -1
  169. package/dist/packageVersion.js +1 -1
  170. package/dist/packageVersion.js.map +1 -1
  171. package/dist/prefetchLatestSnapshot.d.ts +2 -2
  172. package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
  173. package/dist/prefetchLatestSnapshot.js +17 -12
  174. package/dist/prefetchLatestSnapshot.js.map +1 -1
  175. package/dist/retryErrorsStorageAdapter.d.ts +2 -2
  176. package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
  177. package/dist/retryErrorsStorageAdapter.js +10 -5
  178. package/dist/retryErrorsStorageAdapter.js.map +1 -1
  179. package/dist/retryUtils.d.ts.map +1 -1
  180. package/dist/retryUtils.js +7 -3
  181. package/dist/retryUtils.js.map +1 -1
  182. package/dist/socketModule.d.ts.map +1 -1
  183. package/dist/socketModule.js +2 -0
  184. package/dist/socketModule.js.map +1 -1
  185. package/dist/tsdoc-metadata.json +1 -1
  186. package/dist/vroom.d.ts +2 -2
  187. package/dist/vroom.d.ts.map +1 -1
  188. package/dist/vroom.js +5 -5
  189. package/dist/vroom.js.map +1 -1
  190. package/dist/zipItDataRepresentationUtils.d.ts +1 -1
  191. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  192. package/dist/zipItDataRepresentationUtils.js +17 -13
  193. package/dist/zipItDataRepresentationUtils.js.map +1 -1
  194. package/lib/{ReadBufferUtils.d.mts → ReadBufferUtils.d.ts} +1 -1
  195. package/lib/ReadBufferUtils.d.ts.map +1 -0
  196. package/lib/{ReadBufferUtils.mjs → ReadBufferUtils.js} +1 -1
  197. package/lib/ReadBufferUtils.js.map +1 -0
  198. package/lib/{WriteBufferUtils.d.mts → WriteBufferUtils.d.ts} +2 -2
  199. package/lib/WriteBufferUtils.d.ts.map +1 -0
  200. package/lib/{WriteBufferUtils.mjs → WriteBufferUtils.js} +2 -2
  201. package/lib/WriteBufferUtils.js.map +1 -0
  202. package/lib/{checkUrl.d.mts → checkUrl.d.ts} +1 -1
  203. package/lib/checkUrl.d.ts.map +1 -0
  204. package/lib/{checkUrl.mjs → checkUrl.js} +5 -3
  205. package/lib/checkUrl.js.map +1 -0
  206. package/lib/{compactSnapshotParser.d.mts → compactSnapshotParser.d.ts} +3 -3
  207. package/lib/compactSnapshotParser.d.ts.map +1 -0
  208. package/lib/{compactSnapshotParser.mjs → compactSnapshotParser.js} +69 -50
  209. package/lib/compactSnapshotParser.js.map +1 -0
  210. package/lib/{compactSnapshotWriter.d.mts → compactSnapshotWriter.d.ts} +3 -3
  211. package/lib/compactSnapshotWriter.d.ts.map +1 -0
  212. package/lib/{compactSnapshotWriter.mjs → compactSnapshotWriter.js} +14 -8
  213. package/lib/compactSnapshotWriter.js.map +1 -0
  214. package/lib/{constants.d.mts → constants.d.ts} +1 -1
  215. package/lib/constants.d.ts.map +1 -0
  216. package/lib/{constants.mjs → constants.js} +1 -1
  217. package/lib/constants.js.map +1 -0
  218. package/lib/{contracts.d.mts → contracts.d.ts} +25 -5
  219. package/lib/contracts.d.ts.map +1 -0
  220. package/lib/contracts.js +10 -0
  221. package/lib/contracts.js.map +1 -0
  222. package/lib/{contractsPublic.d.mts → contractsPublic.d.ts} +1 -1
  223. package/lib/contractsPublic.d.ts.map +1 -0
  224. package/lib/{contractsPublic.mjs → contractsPublic.js} +1 -1
  225. package/lib/contractsPublic.js.map +1 -0
  226. package/lib/{createFile.d.mts → createFile.d.ts} +5 -5
  227. package/lib/createFile.d.ts.map +1 -0
  228. package/lib/{createFile.mjs → createFile.js} +25 -41
  229. package/lib/createFile.js.map +1 -0
  230. package/lib/{createNewContainerOnExistingFile.d.mts → createNewContainerOnExistingFile.d.ts} +3 -3
  231. package/lib/createNewContainerOnExistingFile.d.ts.map +1 -0
  232. package/lib/{createNewContainerOnExistingFile.mjs → createNewContainerOnExistingFile.js} +7 -7
  233. package/lib/createNewContainerOnExistingFile.js.map +1 -0
  234. package/lib/{createNewModule.mjs → createNewModule.d.ts} +3 -3
  235. package/lib/createNewModule.d.ts.map +1 -0
  236. package/lib/{createNewModule.d.mts → createNewModule.js} +3 -3
  237. package/lib/createNewModule.js.map +1 -0
  238. package/lib/{createNewUtils.d.mts → createNewUtils.d.ts} +5 -5
  239. package/lib/createNewUtils.d.ts.map +1 -0
  240. package/lib/{createNewUtils.mjs → createNewUtils.js} +13 -8
  241. package/lib/createNewUtils.js.map +1 -0
  242. package/lib/{createOdspCreateContainerRequest.d.mts → createOdspCreateContainerRequest.d.ts} +7 -3
  243. package/lib/createOdspCreateContainerRequest.d.ts.map +1 -0
  244. package/lib/{createOdspCreateContainerRequest.mjs → createOdspCreateContainerRequest.js} +2 -2
  245. package/lib/createOdspCreateContainerRequest.js.map +1 -0
  246. package/lib/{createOdspUrl.d.mts → createOdspUrl.d.ts} +2 -2
  247. package/lib/createOdspUrl.d.ts.map +1 -0
  248. package/lib/{createOdspUrl.mjs → createOdspUrl.js} +1 -1
  249. package/lib/createOdspUrl.js.map +1 -0
  250. package/lib/{epochTracker.d.mts → epochTracker.d.ts} +11 -10
  251. package/lib/epochTracker.d.ts.map +1 -0
  252. package/lib/{epochTracker.mjs → epochTracker.js} +58 -36
  253. package/lib/epochTracker.js.map +1 -0
  254. package/lib/{fetch.d.mts → fetch.d.ts} +1 -1
  255. package/lib/fetch.d.ts.map +1 -0
  256. package/lib/{fetch.mjs → fetch.js} +1 -1
  257. package/lib/fetch.js.map +1 -0
  258. package/lib/{fetchSnapshot.d.mts → fetchSnapshot.d.ts} +15 -12
  259. package/lib/fetchSnapshot.d.ts.map +1 -0
  260. package/lib/{fetchSnapshot.mjs → fetchSnapshot.js} +74 -54
  261. package/lib/fetchSnapshot.js.map +1 -0
  262. package/lib/{getFileLink.d.mts → getFileLink.d.ts} +1 -1
  263. package/lib/getFileLink.d.ts.map +1 -0
  264. package/lib/{getFileLink.mjs → getFileLink.js} +17 -10
  265. package/lib/getFileLink.js.map +1 -0
  266. package/lib/{getQueryString.d.mts → getQueryString.d.ts} +5 -1
  267. package/lib/getQueryString.d.ts.map +1 -0
  268. package/lib/{getQueryString.mjs → getQueryString.js} +3 -1
  269. package/lib/getQueryString.js.map +1 -0
  270. package/lib/{getUrlAndHeadersWithAuth.d.mts → getUrlAndHeadersWithAuth.d.ts} +1 -1
  271. package/lib/getUrlAndHeadersWithAuth.d.ts.map +1 -0
  272. package/lib/{getUrlAndHeadersWithAuth.mjs → getUrlAndHeadersWithAuth.js} +1 -1
  273. package/lib/getUrlAndHeadersWithAuth.js.map +1 -0
  274. package/lib/{index.d.mts → index.d.ts} +20 -20
  275. package/lib/index.d.ts.map +1 -0
  276. package/lib/index.js +29 -0
  277. package/lib/index.js.map +1 -0
  278. package/lib/localOdspDriver/{localOdspDeltaStorageService.d.mts → localOdspDeltaStorageService.d.ts} +1 -1
  279. package/lib/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
  280. package/lib/localOdspDriver/{localOdspDeltaStorageService.mjs → localOdspDeltaStorageService.js} +1 -1
  281. package/lib/localOdspDriver/localOdspDeltaStorageService.js.map +1 -0
  282. package/lib/localOdspDriver/{localOdspDocumentService.d.mts → localOdspDocumentService.d.ts} +5 -4
  283. package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +1 -0
  284. package/lib/localOdspDriver/{localOdspDocumentService.mjs → localOdspDocumentService.js} +7 -5
  285. package/lib/localOdspDriver/localOdspDocumentService.js.map +1 -0
  286. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.mts → localOdspDocumentServiceFactory.d.ts} +9 -7
  287. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -0
  288. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.mjs → localOdspDocumentServiceFactory.js} +9 -8
  289. package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +1 -0
  290. package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.mts → localOdspDocumentStorageManager.d.ts} +4 -3
  291. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -0
  292. package/lib/localOdspDriver/{localOdspDocumentStorageManager.mjs → localOdspDocumentStorageManager.js} +7 -4
  293. package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +1 -0
  294. package/lib/{odsp-driver-alpha.d.mts → odsp-driver-alpha.d.ts} +31 -15
  295. package/lib/{odsp-driver-beta.d.mts → odsp-driver-beta.d.ts} +4 -5
  296. package/lib/{odsp-driver-public.d.mts → odsp-driver-public.d.ts} +4 -5
  297. package/lib/{odsp-driver-untrimmed.d.mts → odsp-driver-untrimmed.d.ts} +34 -16
  298. package/lib/{odspCache.d.mts → odspCache.d.ts} +10 -6
  299. package/lib/odspCache.d.ts.map +1 -0
  300. package/lib/{odspCache.mjs → odspCache.js} +6 -3
  301. package/lib/odspCache.js.map +1 -0
  302. package/lib/{odspDelayLoadedDeltaStream.d.mts → odspDelayLoadedDeltaStream.d.ts} +13 -7
  303. package/lib/odspDelayLoadedDeltaStream.d.ts.map +1 -0
  304. package/lib/{odspDelayLoadedDeltaStream.mjs → odspDelayLoadedDeltaStream.js} +84 -20
  305. package/lib/odspDelayLoadedDeltaStream.js.map +1 -0
  306. package/lib/{odspDeltaStorageService.d.mts → odspDeltaStorageService.d.ts} +8 -8
  307. package/lib/odspDeltaStorageService.d.ts.map +1 -0
  308. package/lib/{odspDeltaStorageService.mjs → odspDeltaStorageService.js} +5 -5
  309. package/lib/odspDeltaStorageService.js.map +1 -0
  310. package/lib/{odspDocumentDeltaConnection.d.mts → odspDocumentDeltaConnection.d.ts} +2 -2
  311. package/lib/odspDocumentDeltaConnection.d.ts.map +1 -0
  312. package/lib/{odspDocumentDeltaConnection.mjs → odspDocumentDeltaConnection.js} +34 -16
  313. package/lib/odspDocumentDeltaConnection.js.map +1 -0
  314. package/lib/{odspDocumentService.d.mts → odspDocumentService.d.ts} +10 -7
  315. package/lib/odspDocumentService.d.ts.map +1 -0
  316. package/lib/{odspDocumentService.mjs → odspDocumentService.js} +22 -14
  317. package/lib/odspDocumentService.js.map +1 -0
  318. package/lib/{odspDocumentServiceFactory.d.mts → odspDocumentServiceFactory.d.ts} +7 -2
  319. package/lib/odspDocumentServiceFactory.d.ts.map +1 -0
  320. package/lib/{odspDocumentServiceFactory.mjs → odspDocumentServiceFactory.js} +9 -3
  321. package/lib/odspDocumentServiceFactory.js.map +1 -0
  322. package/lib/{odspDocumentServiceFactoryCore.d.mts → odspDocumentServiceFactoryCore.d.ts} +5 -5
  323. package/lib/odspDocumentServiceFactoryCore.d.ts.map +1 -0
  324. package/lib/{odspDocumentServiceFactoryCore.mjs → odspDocumentServiceFactoryCore.js} +25 -26
  325. package/lib/odspDocumentServiceFactoryCore.js.map +1 -0
  326. package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.mts → odspDocumentServiceFactoryWithCodeSplit.d.ts} +2 -2
  327. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -0
  328. package/lib/{odspDocumentServiceFactoryWithCodeSplit.mjs → odspDocumentServiceFactoryWithCodeSplit.js} +2 -2
  329. package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +1 -0
  330. package/lib/{odspDocumentStorageManager.d.mts → odspDocumentStorageManager.d.ts} +18 -11
  331. package/lib/odspDocumentStorageManager.d.ts.map +1 -0
  332. package/lib/{odspDocumentStorageManager.mjs → odspDocumentStorageManager.js} +221 -162
  333. package/lib/odspDocumentStorageManager.js.map +1 -0
  334. package/lib/{odspDocumentStorageServiceBase.d.mts → odspDocumentStorageServiceBase.d.ts} +5 -7
  335. package/lib/odspDocumentStorageServiceBase.d.ts.map +1 -0
  336. package/lib/{odspDocumentStorageServiceBase.mjs → odspDocumentStorageServiceBase.js} +34 -31
  337. package/lib/odspDocumentStorageServiceBase.js.map +1 -0
  338. package/lib/{odspDriverUrlResolver.d.mts → odspDriverUrlResolver.d.ts} +2 -2
  339. package/lib/odspDriverUrlResolver.d.ts.map +1 -0
  340. package/lib/{odspDriverUrlResolver.mjs → odspDriverUrlResolver.js} +27 -29
  341. package/lib/odspDriverUrlResolver.js.map +1 -0
  342. package/lib/{odspDriverUrlResolverForShareLink.d.mts → odspDriverUrlResolverForShareLink.d.ts} +14 -7
  343. package/lib/odspDriverUrlResolverForShareLink.d.ts.map +1 -0
  344. package/lib/{odspDriverUrlResolverForShareLink.mjs → odspDriverUrlResolverForShareLink.js} +41 -27
  345. package/lib/odspDriverUrlResolverForShareLink.js.map +1 -0
  346. package/lib/{odspError.d.mts → odspError.d.ts} +2 -2
  347. package/lib/odspError.d.ts.map +1 -0
  348. package/lib/{odspError.mjs → odspError.js} +6 -6
  349. package/lib/odspError.js.map +1 -0
  350. package/lib/{odspFluidFileLink.d.mts → odspFluidFileLink.d.ts} +2 -2
  351. package/lib/odspFluidFileLink.d.ts.map +1 -0
  352. package/lib/{odspFluidFileLink.mjs → odspFluidFileLink.js} +2 -2
  353. package/lib/odspFluidFileLink.js.map +1 -0
  354. package/lib/{odspLocationRedirection.d.mts → odspLocationRedirection.d.ts} +1 -1
  355. package/lib/odspLocationRedirection.d.ts.map +1 -0
  356. package/lib/{odspLocationRedirection.mjs → odspLocationRedirection.js} +2 -2
  357. package/lib/odspLocationRedirection.js.map +1 -0
  358. package/lib/{odspPublicUtils.d.mts → odspPublicUtils.d.ts} +5 -1
  359. package/lib/odspPublicUtils.d.ts.map +1 -0
  360. package/lib/{odspPublicUtils.mjs → odspPublicUtils.js} +4 -1
  361. package/lib/odspPublicUtils.js.map +1 -0
  362. package/lib/{odspSnapshotParser.d.mts → odspSnapshotParser.d.ts} +4 -4
  363. package/lib/odspSnapshotParser.d.ts.map +1 -0
  364. package/lib/{odspSnapshotParser.mjs → odspSnapshotParser.js} +6 -4
  365. package/lib/odspSnapshotParser.js.map +1 -0
  366. package/lib/{odspSummaryUploadManager.d.mts → odspSummaryUploadManager.d.ts} +2 -2
  367. package/lib/odspSummaryUploadManager.d.ts.map +1 -0
  368. package/lib/{odspSummaryUploadManager.mjs → odspSummaryUploadManager.js} +8 -5
  369. package/lib/odspSummaryUploadManager.js.map +1 -0
  370. package/lib/{odspUrlHelper.d.mts → odspUrlHelper.d.ts} +1 -1
  371. package/lib/odspUrlHelper.d.ts.map +1 -0
  372. package/lib/{odspUrlHelper.mjs → odspUrlHelper.js} +2 -3
  373. package/lib/odspUrlHelper.js.map +1 -0
  374. package/lib/{odspUtils.d.mts → odspUtils.d.ts} +30 -14
  375. package/lib/odspUtils.d.ts.map +1 -0
  376. package/lib/{odspUtils.mjs → odspUtils.js} +61 -30
  377. package/lib/odspUtils.js.map +1 -0
  378. package/lib/{opsCaching.d.mts → opsCaching.d.ts} +2 -2
  379. package/lib/opsCaching.d.ts.map +1 -0
  380. package/lib/{opsCaching.mjs → opsCaching.js} +3 -2
  381. package/lib/opsCaching.js.map +1 -0
  382. package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
  383. package/lib/packageVersion.d.ts.map +1 -0
  384. package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
  385. package/lib/packageVersion.js.map +1 -0
  386. package/lib/{prefetchLatestSnapshot.d.mts → prefetchLatestSnapshot.d.ts} +3 -3
  387. package/lib/prefetchLatestSnapshot.d.ts.map +1 -0
  388. package/lib/{prefetchLatestSnapshot.mjs → prefetchLatestSnapshot.js} +16 -11
  389. package/lib/prefetchLatestSnapshot.js.map +1 -0
  390. package/lib/{retryErrorsStorageAdapter.d.mts → retryErrorsStorageAdapter.d.ts} +3 -3
  391. package/lib/retryErrorsStorageAdapter.d.ts.map +1 -0
  392. package/lib/{retryErrorsStorageAdapter.mjs → retryErrorsStorageAdapter.js} +11 -6
  393. package/lib/retryErrorsStorageAdapter.js.map +1 -0
  394. package/lib/{retryUtils.d.mts → retryUtils.d.ts} +1 -1
  395. package/lib/retryUtils.d.ts.map +1 -0
  396. package/lib/{retryUtils.mjs → retryUtils.js} +8 -4
  397. package/lib/retryUtils.js.map +1 -0
  398. package/lib/{socketModule.d.mts → socketModule.d.ts} +1 -1
  399. package/lib/socketModule.d.ts.map +1 -0
  400. package/lib/{socketModule.mjs → socketModule.js} +3 -1
  401. package/lib/socketModule.js.map +1 -0
  402. package/lib/test/buildOdspShareLinkReqParams.spec.js +25 -0
  403. package/lib/test/buildOdspShareLinkReqParams.spec.js.map +1 -0
  404. package/lib/test/createNewUtilsTests.spec.js +221 -0
  405. package/lib/test/createNewUtilsTests.spec.js.map +1 -0
  406. package/lib/test/deltaStorageService.spec.js +176 -0
  407. package/lib/test/deltaStorageService.spec.js.map +1 -0
  408. package/lib/test/epochTests.spec.js +340 -0
  409. package/lib/test/epochTests.spec.js.map +1 -0
  410. package/lib/test/epochTestsWithRedemption.spec.js +119 -0
  411. package/lib/test/epochTestsWithRedemption.spec.js.map +1 -0
  412. package/lib/test/fetchSnapshot.spec.js +412 -0
  413. package/lib/test/fetchSnapshot.spec.js.map +1 -0
  414. package/lib/test/getFileLink.spec.js +62 -0
  415. package/lib/test/getFileLink.spec.js.map +1 -0
  416. package/lib/test/getUrlAndHeadersWithAuth.spec.js +66 -0
  417. package/lib/test/getUrlAndHeadersWithAuth.spec.js.map +1 -0
  418. package/lib/test/getVersions.spec.js +284 -0
  419. package/lib/test/getVersions.spec.js.map +1 -0
  420. package/lib/test/joinSessionCacheTests.spec.js +53 -0
  421. package/lib/test/joinSessionCacheTests.spec.js.map +1 -0
  422. package/lib/test/joinSessionPeriodicCall.spec.js +158 -0
  423. package/lib/test/joinSessionPeriodicCall.spec.js.map +1 -0
  424. package/lib/test/jsonSnapshotFormatTests.spec.js +107 -0
  425. package/lib/test/jsonSnapshotFormatTests.spec.js.map +1 -0
  426. package/lib/test/localOdspDriver.spec.js +177 -0
  427. package/lib/test/localOdspDriver.spec.js.map +1 -0
  428. package/lib/test/mockFetch.js +61 -0
  429. package/lib/test/mockFetch.js.map +1 -0
  430. package/lib/test/odspCreateContainer.spec.js +116 -0
  431. package/lib/test/odspCreateContainer.spec.js.map +1 -0
  432. package/lib/test/odspDriverResolverTest.spec.js +289 -0
  433. package/lib/test/odspDriverResolverTest.spec.js.map +1 -0
  434. package/lib/test/odspDriverUrlResolverForShareLink.spec.js +287 -0
  435. package/lib/test/odspDriverUrlResolverForShareLink.spec.js.map +1 -0
  436. package/lib/test/odspError.spec.js +299 -0
  437. package/lib/test/odspError.spec.js.map +1 -0
  438. package/lib/test/opsCaching.spec.js +357 -0
  439. package/lib/test/opsCaching.spec.js.map +1 -0
  440. package/lib/test/prefetchSnapshotTests.spec.js +420 -0
  441. package/lib/test/prefetchSnapshotTests.spec.js.map +1 -0
  442. package/lib/test/snapshotFormatTests.spec.js +218 -0
  443. package/lib/test/snapshotFormatTests.spec.js.map +1 -0
  444. package/lib/test/socketTests/deltaConnectionUpdateTests.spec.js +152 -0
  445. package/lib/test/socketTests/deltaConnectionUpdateTests.spec.js.map +1 -0
  446. package/lib/test/socketTests/socketMock.js +109 -0
  447. package/lib/test/socketTests/socketMock.js.map +1 -0
  448. package/lib/test/socketTests/socketTests.spec.js +256 -0
  449. package/lib/test/socketTests/socketTests.spec.js.map +1 -0
  450. package/lib/test/tokenFetch.spec.js +39 -0
  451. package/lib/test/tokenFetch.spec.js.map +1 -0
  452. package/lib/test/types/validateOdspDriverPrevious.generated.js +96 -0
  453. package/lib/test/types/validateOdspDriverPrevious.generated.js.map +1 -0
  454. package/lib/test/zipItDataRepresentationTests.spec.js +207 -0
  455. package/lib/test/zipItDataRepresentationTests.spec.js.map +1 -0
  456. package/lib/{vroom.d.mts → vroom.d.ts} +3 -3
  457. package/lib/vroom.d.ts.map +1 -0
  458. package/lib/{vroom.mjs → vroom.js} +4 -4
  459. package/lib/vroom.js.map +1 -0
  460. package/lib/{zipItDataRepresentationUtils.d.mts → zipItDataRepresentationUtils.d.ts} +2 -2
  461. package/lib/zipItDataRepresentationUtils.d.ts.map +1 -0
  462. package/lib/{zipItDataRepresentationUtils.mjs → zipItDataRepresentationUtils.js} +19 -11
  463. package/lib/zipItDataRepresentationUtils.js.map +1 -0
  464. package/package.json +100 -32
  465. package/src/ReadBufferUtils.ts +7 -7
  466. package/src/WriteBufferUtils.ts +13 -9
  467. package/src/checkUrl.ts +4 -2
  468. package/src/compactSnapshotParser.ts +97 -61
  469. package/src/compactSnapshotWriter.ts +22 -15
  470. package/src/contracts.ts +33 -4
  471. package/src/createFile.ts +26 -51
  472. package/src/createNewContainerOnExistingFile.ts +10 -10
  473. package/src/createNewModule.ts +2 -2
  474. package/src/createNewUtils.ts +26 -15
  475. package/src/createOdspCreateContainerRequest.ts +3 -3
  476. package/src/createOdspUrl.ts +1 -1
  477. package/src/epochTracker.ts +93 -58
  478. package/src/fetchSnapshot.ts +122 -66
  479. package/src/getFileLink.ts +24 -16
  480. package/src/getQueryString.ts +2 -0
  481. package/src/index.ts +27 -19
  482. package/src/localOdspDriver/localOdspDocumentService.ts +12 -5
  483. package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +12 -11
  484. package/src/localOdspDriver/localOdspDocumentStorageManager.ts +15 -8
  485. package/src/odspCache.ts +14 -11
  486. package/src/odspDelayLoadedDeltaStream.ts +113 -31
  487. package/src/odspDeltaStorageService.ts +17 -16
  488. package/src/odspDocumentDeltaConnection.ts +52 -34
  489. package/src/odspDocumentService.ts +33 -22
  490. package/src/odspDocumentServiceFactory.ts +7 -2
  491. package/src/odspDocumentServiceFactoryCore.ts +28 -29
  492. package/src/odspDocumentServiceFactoryWithCodeSplit.ts +1 -1
  493. package/src/odspDocumentStorageManager.ts +303 -210
  494. package/src/odspDocumentStorageServiceBase.ts +52 -47
  495. package/src/odspDriverUrlResolver.ts +41 -41
  496. package/src/odspDriverUrlResolverForShareLink.ts +50 -31
  497. package/src/odspError.ts +6 -7
  498. package/src/odspFluidFileLink.ts +3 -3
  499. package/src/odspLocationRedirection.ts +1 -1
  500. package/src/odspPublicUtils.ts +4 -0
  501. package/src/odspSnapshotParser.ts +9 -9
  502. package/src/odspSummaryUploadManager.ts +21 -9
  503. package/src/odspUrlHelper.ts +2 -3
  504. package/src/odspUtils.ts +102 -53
  505. package/src/opsCaching.ts +13 -12
  506. package/src/packageVersion.ts +1 -1
  507. package/src/prefetchLatestSnapshot.ts +24 -15
  508. package/src/retryErrorsStorageAdapter.ts +16 -9
  509. package/src/retryUtils.ts +8 -4
  510. package/src/socketModule.ts +2 -0
  511. package/src/vroom.ts +6 -6
  512. package/src/zipItDataRepresentationUtils.ts +65 -37
  513. package/tsconfig.cjs.json +7 -0
  514. package/tsconfig.json +2 -5
  515. package/.eslintrc.js +0 -18
  516. package/lib/ReadBufferUtils.d.mts.map +0 -1
  517. package/lib/ReadBufferUtils.mjs.map +0 -1
  518. package/lib/WriteBufferUtils.d.mts.map +0 -1
  519. package/lib/WriteBufferUtils.mjs.map +0 -1
  520. package/lib/checkUrl.d.mts.map +0 -1
  521. package/lib/checkUrl.mjs.map +0 -1
  522. package/lib/compactSnapshotParser.d.mts.map +0 -1
  523. package/lib/compactSnapshotParser.mjs.map +0 -1
  524. package/lib/compactSnapshotWriter.d.mts.map +0 -1
  525. package/lib/compactSnapshotWriter.mjs.map +0 -1
  526. package/lib/constants.d.mts.map +0 -1
  527. package/lib/constants.mjs.map +0 -1
  528. package/lib/contracts.d.mts.map +0 -1
  529. package/lib/contracts.mjs +0 -6
  530. package/lib/contracts.mjs.map +0 -1
  531. package/lib/contractsPublic.d.mts.map +0 -1
  532. package/lib/contractsPublic.mjs.map +0 -1
  533. package/lib/createFile.d.mts.map +0 -1
  534. package/lib/createFile.mjs.map +0 -1
  535. package/lib/createNewContainerOnExistingFile.d.mts.map +0 -1
  536. package/lib/createNewContainerOnExistingFile.mjs.map +0 -1
  537. package/lib/createNewModule.d.mts.map +0 -1
  538. package/lib/createNewModule.mjs.map +0 -1
  539. package/lib/createNewUtils.d.mts.map +0 -1
  540. package/lib/createNewUtils.mjs.map +0 -1
  541. package/lib/createOdspCreateContainerRequest.d.mts.map +0 -1
  542. package/lib/createOdspCreateContainerRequest.mjs.map +0 -1
  543. package/lib/createOdspUrl.d.mts.map +0 -1
  544. package/lib/createOdspUrl.mjs.map +0 -1
  545. package/lib/epochTracker.d.mts.map +0 -1
  546. package/lib/epochTracker.mjs.map +0 -1
  547. package/lib/fetch.d.mts.map +0 -1
  548. package/lib/fetch.mjs.map +0 -1
  549. package/lib/fetchSnapshot.d.mts.map +0 -1
  550. package/lib/fetchSnapshot.mjs.map +0 -1
  551. package/lib/getFileLink.d.mts.map +0 -1
  552. package/lib/getFileLink.mjs.map +0 -1
  553. package/lib/getQueryString.d.mts.map +0 -1
  554. package/lib/getQueryString.mjs.map +0 -1
  555. package/lib/getUrlAndHeadersWithAuth.d.mts.map +0 -1
  556. package/lib/getUrlAndHeadersWithAuth.mjs.map +0 -1
  557. package/lib/index.d.mts.map +0 -1
  558. package/lib/index.mjs +0 -22
  559. package/lib/index.mjs.map +0 -1
  560. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +0 -1
  561. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +0 -1
  562. package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +0 -1
  563. package/lib/localOdspDriver/localOdspDocumentService.mjs.map +0 -1
  564. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +0 -1
  565. package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +0 -1
  566. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +0 -1
  567. package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +0 -1
  568. package/lib/odspCache.d.mts.map +0 -1
  569. package/lib/odspCache.mjs.map +0 -1
  570. package/lib/odspDelayLoadedDeltaStream.d.mts.map +0 -1
  571. package/lib/odspDelayLoadedDeltaStream.mjs.map +0 -1
  572. package/lib/odspDeltaStorageService.d.mts.map +0 -1
  573. package/lib/odspDeltaStorageService.mjs.map +0 -1
  574. package/lib/odspDocumentDeltaConnection.d.mts.map +0 -1
  575. package/lib/odspDocumentDeltaConnection.mjs.map +0 -1
  576. package/lib/odspDocumentService.d.mts.map +0 -1
  577. package/lib/odspDocumentService.mjs.map +0 -1
  578. package/lib/odspDocumentServiceFactory.d.mts.map +0 -1
  579. package/lib/odspDocumentServiceFactory.mjs.map +0 -1
  580. package/lib/odspDocumentServiceFactoryCore.d.mts.map +0 -1
  581. package/lib/odspDocumentServiceFactoryCore.mjs.map +0 -1
  582. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +0 -1
  583. package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +0 -1
  584. package/lib/odspDocumentStorageManager.d.mts.map +0 -1
  585. package/lib/odspDocumentStorageManager.mjs.map +0 -1
  586. package/lib/odspDocumentStorageServiceBase.d.mts.map +0 -1
  587. package/lib/odspDocumentStorageServiceBase.mjs.map +0 -1
  588. package/lib/odspDriverUrlResolver.d.mts.map +0 -1
  589. package/lib/odspDriverUrlResolver.mjs.map +0 -1
  590. package/lib/odspDriverUrlResolverForShareLink.d.mts.map +0 -1
  591. package/lib/odspDriverUrlResolverForShareLink.mjs.map +0 -1
  592. package/lib/odspError.d.mts.map +0 -1
  593. package/lib/odspError.mjs.map +0 -1
  594. package/lib/odspFluidFileLink.d.mts.map +0 -1
  595. package/lib/odspFluidFileLink.mjs.map +0 -1
  596. package/lib/odspLocationRedirection.d.mts.map +0 -1
  597. package/lib/odspLocationRedirection.mjs.map +0 -1
  598. package/lib/odspPublicUtils.d.mts.map +0 -1
  599. package/lib/odspPublicUtils.mjs.map +0 -1
  600. package/lib/odspSnapshotParser.d.mts.map +0 -1
  601. package/lib/odspSnapshotParser.mjs.map +0 -1
  602. package/lib/odspSummaryUploadManager.d.mts.map +0 -1
  603. package/lib/odspSummaryUploadManager.mjs.map +0 -1
  604. package/lib/odspUrlHelper.d.mts.map +0 -1
  605. package/lib/odspUrlHelper.mjs.map +0 -1
  606. package/lib/odspUtils.d.mts.map +0 -1
  607. package/lib/odspUtils.mjs.map +0 -1
  608. package/lib/opsCaching.d.mts.map +0 -1
  609. package/lib/opsCaching.mjs.map +0 -1
  610. package/lib/packageVersion.d.mts.map +0 -1
  611. package/lib/packageVersion.mjs.map +0 -1
  612. package/lib/prefetchLatestSnapshot.d.mts.map +0 -1
  613. package/lib/prefetchLatestSnapshot.mjs.map +0 -1
  614. package/lib/retryErrorsStorageAdapter.d.mts.map +0 -1
  615. package/lib/retryErrorsStorageAdapter.mjs.map +0 -1
  616. package/lib/retryUtils.d.mts.map +0 -1
  617. package/lib/retryUtils.mjs.map +0 -1
  618. package/lib/socketModule.d.mts.map +0 -1
  619. package/lib/socketModule.mjs.map +0 -1
  620. package/lib/vroom.d.mts.map +0 -1
  621. package/lib/vroom.mjs.map +0 -1
  622. package/lib/zipItDataRepresentationUtils.d.mts.map +0 -1
  623. package/lib/zipItDataRepresentationUtils.mjs.map +0 -1
@@ -11,12 +11,12 @@ import {
11
11
  LoaderCachingPolicy,
12
12
  FiveDaysMs,
13
13
  FetchSource,
14
+ ISnapshot,
15
+ ISnapshotFetchOptions,
14
16
  } from "@fluidframework/driver-definitions";
17
+ import { maximumCacheDurationMs } from "@fluidframework/odsp-driver-definitions";
15
18
  import * as api from "@fluidframework/protocol-definitions";
16
19
  import { IConfigProvider } from "@fluidframework/telemetry-utils";
17
- import { ISnapshotContents } from "./odspPublicUtils";
18
-
19
- const maximumCacheDurationMs: FiveDaysMs = 432000000; // 5 * 24 * 60 * 60 * 1000 = 5 days in ms
20
20
 
21
21
  class BlobCache {
22
22
  // Save the timeout so we can cancel and reschedule it as needed
@@ -42,14 +42,14 @@ class BlobCache {
42
42
  // So for now, purging is disabled.
43
43
  private readonly purgeEnabled = false;
44
44
 
45
- public get value() {
45
+ public get value(): Map<string, ArrayBuffer> {
46
46
  return this._blobCache;
47
47
  }
48
48
 
49
- public addBlobs(blobs: Map<string, ArrayBuffer>) {
50
- blobs.forEach((value, blobId) => {
49
+ public addBlobs(blobs: Map<string, ArrayBuffer>): void {
50
+ for (const [blobId, value] of blobs.entries()) {
51
51
  this._blobCache.set(blobId, value);
52
- });
52
+ }
53
53
  // Reset the timer on cache set
54
54
  this.scheduleClearBlobsCache();
55
55
  }
@@ -57,14 +57,14 @@ class BlobCache {
57
57
  /**
58
58
  * Schedule a timer for clearing the blob cache or defer the current one.
59
59
  */
60
- private scheduleClearBlobsCache() {
60
+ private scheduleClearBlobsCache(): void {
61
61
  if (this.blobCacheTimeout !== undefined) {
62
62
  // If we already have an outstanding timer, just signal that we should defer the clear
63
63
  this.deferBlobCacheClear = true;
64
64
  } else if (this.purgeEnabled) {
65
65
  // If we don't have an outstanding timer, set a timer
66
66
  // When the timer runs out, we'll decide whether to proceed with the cache clear or reset the timer
67
- const clearCacheOrDefer = () => {
67
+ const clearCacheOrDefer = (): void => {
68
68
  this.blobCacheTimeout = undefined;
69
69
  if (this.deferBlobCacheClear) {
70
70
  this.deferBlobCacheClear = false;
@@ -76,7 +76,9 @@ class BlobCache {
76
76
  // We want to optimize both - memory footprint and number of future requests to storage.
77
77
  // Note that Container can realize data store or DDS on-demand at any point in time, so we do not
78
78
  // control when blobs will be used.
79
- this._blobCache.forEach((_, blobId) => this.blobsEvicted.add(blobId));
79
+ for (const blobId of this._blobCache.keys()) {
80
+ this.blobsEvicted.add(blobId);
81
+ }
80
82
  this._blobCache.clear();
81
83
  }
82
84
  };
@@ -87,7 +89,10 @@ class BlobCache {
87
89
  }
88
90
  }
89
91
 
90
- public getBlob(blobId: string) {
92
+ public getBlob(blobId: string): {
93
+ blobContent: ArrayBuffer | undefined;
94
+ evicted: boolean;
95
+ } {
91
96
  // Reset the timer on attempted cache read
92
97
  this.scheduleClearBlobsCache();
93
98
  const blobContent = this._blobCache.get(blobId);
@@ -95,7 +100,7 @@ class BlobCache {
95
100
  return { blobContent, evicted };
96
101
  }
97
102
 
98
- public setBlob(blobId: string, blob: ArrayBuffer) {
103
+ public setBlob(blobId: string, blob: ArrayBuffer): Map<string, ArrayBuffer> | undefined {
99
104
  // This API is called as result of cache miss and reading blob from storage.
100
105
  // Runtime never reads same blob twice.
101
106
  // The only reason we may get read request for same blob is blob de-duping in summaries.
@@ -136,8 +141,6 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
136
141
  }
137
142
  protected readonly commitCache: Map<string, api.ISnapshotTree> = new Map();
138
143
 
139
- private readonly attributesBlobHandles: Set<string> = new Set();
140
-
141
144
  private _ops: api.ISequencedDocumentMessage[] | undefined;
142
145
 
143
146
  private _snapshotSequenceNumber: number | undefined;
@@ -153,12 +156,10 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
153
156
  return this._ops;
154
157
  }
155
158
 
156
- public get snapshotSequenceNumber() {
159
+ public get snapshotSequenceNumber(): number | undefined {
157
160
  return this._snapshotSequenceNumber;
158
161
  }
159
162
 
160
- public readonly repositoryUrl = "";
161
-
162
163
  public abstract createBlob(file: ArrayBufferLike): Promise<api.ICreateBlobResponse>;
163
164
 
164
165
  private async readBlobCore(blobId: string): Promise<ArrayBuffer> {
@@ -178,36 +179,29 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
178
179
  // eslint-disable-next-line @rushstack/no-new-null
179
180
  ): Promise<api.ISnapshotTree | null> {
180
181
  let id: string;
181
- if (!version?.id) {
182
+ if (version?.id) {
183
+ id = version.id;
184
+ } else {
185
+ // eslint-disable-next-line unicorn/no-null
182
186
  const versions = await this.getVersions(null, 1, scenarioName);
183
187
  if (!versions || versions.length === 0) {
188
+ // eslint-disable-next-line unicorn/no-null
184
189
  return null;
185
190
  }
186
191
  id = versions[0].id;
187
- } else {
188
- id = version.id;
189
192
  }
190
193
 
191
194
  const snapshotTree = await this.readTree(id, scenarioName);
192
195
  if (!snapshotTree) {
196
+ // eslint-disable-next-line unicorn/no-null
193
197
  return null;
194
198
  }
195
199
 
196
- if (snapshotTree.blobs) {
197
- const attributesBlob = snapshotTree.blobs.attributes;
198
- if (attributesBlob) {
199
- this.attributesBlobHandles.add(attributesBlob);
200
- }
201
- }
202
-
203
- // When we upload the container snapshot, we upload appTree in ".app" and protocol tree in ".protocol"
204
- // So when we request the snapshot we get ".app" as tree and not as commit node as in the case just above.
205
- const appTree = snapshotTree.trees[".app"];
206
- const protocolTree = snapshotTree.trees[".protocol"];
207
-
208
- return this.combineProtocolAndAppSnapshotTree(appTree, protocolTree);
200
+ return this.combineProtocolAndAppSnapshotTree(snapshotTree);
209
201
  }
210
202
 
203
+ public abstract getSnapshot(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;
204
+
211
205
  public abstract getVersions(
212
206
  // eslint-disable-next-line @rushstack/no-new-null
213
207
  blobid: string | null,
@@ -225,11 +219,11 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
225
219
  throw new Error("Not implemented yet");
226
220
  }
227
221
 
228
- protected setRootTree(id: string, tree: api.ISnapshotTree) {
222
+ protected setRootTree(id: string, tree: api.ISnapshotTree): void {
229
223
  this.commitCache.set(id, tree);
230
224
  }
231
225
 
232
- protected initBlobsCache(blobs: Map<string, ArrayBuffer>) {
226
+ protected initBlobsCache(blobs: Map<string, ArrayBuffer>): void {
233
227
  this.blobCache.addBlobs(blobs);
234
228
  }
235
229
 
@@ -239,6 +233,7 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
239
233
  tree = await this.fetchTreeFromSnapshot(id, scenarioName);
240
234
  }
241
235
 
236
+ // eslint-disable-next-line unicorn/no-null
242
237
  return tree ?? null;
243
238
  }
244
239
 
@@ -247,42 +242,52 @@ export abstract class OdspDocumentStorageServiceBase implements IDocumentStorage
247
242
  scenarioName?: string,
248
243
  ): Promise<api.ISnapshotTree | undefined>;
249
244
 
250
- private combineProtocolAndAppSnapshotTree(
251
- hierarchicalAppTree: api.ISnapshotTree,
252
- hierarchicalProtocolTree: api.ISnapshotTree,
253
- ) {
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"];
254
252
  const summarySnapshotTree: api.ISnapshotTree = {
255
253
  blobs: {
256
254
  ...hierarchicalAppTree.blobs,
257
255
  },
258
256
  trees: {
259
257
  ...hierarchicalAppTree.trees,
260
- // the app tree could have a .protocol
261
- // in that case we want to server protocol to override it
262
- ".protocol": hierarchicalProtocolTree,
263
258
  },
264
259
  };
265
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
+
266
267
  return summarySnapshotTree;
267
268
  }
268
269
 
269
270
  protected initializeFromSnapshot(
270
- odspSnapshotCacheValue: ISnapshotContents,
271
+ odspSnapshotCacheValue: ISnapshot,
271
272
  cacheOps: boolean = true,
273
+ cacheSnapshot: boolean = true,
272
274
  ): string | undefined {
273
275
  this._snapshotSequenceNumber = odspSnapshotCacheValue.sequenceNumber;
274
- const { snapshotTree, blobs, ops } = odspSnapshotCacheValue;
276
+ const { snapshotTree, blobContents, ops } = odspSnapshotCacheValue;
275
277
 
276
278
  // id should be undefined in case of just ops in snapshot.
277
279
  let id: string | undefined;
278
280
  if (snapshotTree) {
279
281
  id = snapshotTree.id;
280
282
  assert(id !== undefined, 0x221 /* "Root tree should contain the id" */);
281
- this.setRootTree(id, snapshotTree);
283
+ if (cacheSnapshot) {
284
+ this.setRootTree(id, snapshotTree);
285
+ }
282
286
  }
283
287
 
284
- if (blobs) {
285
- this.initBlobsCache(blobs);
288
+ // Currently always cache blobs as container runtime is not caching them.
289
+ if (blobContents !== undefined) {
290
+ this.initBlobsCache(blobContents);
286
291
  }
287
292
 
288
293
  if (cacheOps) {
@@ -5,32 +5,37 @@
5
5
  import { assert } from "@fluidframework/core-utils";
6
6
  import { IRequest } from "@fluidframework/core-interfaces";
7
7
  import {
8
- DriverErrorType,
9
8
  DriverHeader,
10
9
  IContainerPackageInfo,
11
10
  IResolvedUrl,
12
11
  IUrlResolver,
13
12
  } from "@fluidframework/driver-definitions";
14
- import {
15
- IOdspResolvedUrl,
16
- ShareLinkTypes,
17
- ShareLinkInfoType,
18
- } from "@fluidframework/odsp-driver-definitions";
13
+ import { IOdspResolvedUrl, OdspErrorTypes } from "@fluidframework/odsp-driver-definitions";
19
14
  import { NonRetryableError } from "@fluidframework/driver-utils";
20
- import { createOdspUrl } from "./createOdspUrl";
21
- import { getApiRoot } from "./odspUrlHelper";
22
- import { getOdspResolvedUrl } from "./odspUtils";
23
- import { getHashedDocumentId } from "./odspPublicUtils";
24
- import { ClpCompliantAppHeader } from "./contractsPublic";
25
- import { pkgVersion } from "./packageVersion";
15
+ import { createOdspUrl } from "./createOdspUrl.js";
16
+ import { getApiRoot } from "./odspUrlHelper.js";
17
+ import { getOdspResolvedUrl } from "./odspUtils.js";
18
+ import { getHashedDocumentId } from "./odspPublicUtils.js";
19
+ import { ClpCompliantAppHeader } from "./contractsPublic.js";
20
+ import { pkgVersion } from "./packageVersion.js";
26
21
 
27
- function getUrlBase(siteUrl: string, driveId: string, itemId: string, fileVersion?: string) {
22
+ function getUrlBase(
23
+ siteUrl: string,
24
+ driveId: string,
25
+ itemId: string,
26
+ fileVersion?: string,
27
+ ): string {
28
28
  const siteOrigin = new URL(siteUrl).origin;
29
29
  const version = fileVersion ? `versions/${fileVersion}/` : "";
30
30
  return `${getApiRoot(siteOrigin)}/drives/${driveId}/items/${itemId}/${version}`;
31
31
  }
32
32
 
33
- function getSnapshotUrl(siteUrl: string, driveId: string, itemId: string, fileVersion?: string) {
33
+ function getSnapshotUrl(
34
+ siteUrl: string,
35
+ driveId: string,
36
+ itemId: string,
37
+ fileVersion?: string,
38
+ ): string {
34
39
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
35
40
  return `${urlBase}opStream/snapshots`;
36
41
  }
@@ -40,7 +45,7 @@ function getAttachmentPOSTUrl(
40
45
  driveId: string,
41
46
  itemId: string,
42
47
  fileVersion?: string,
43
- ) {
48
+ ): string {
44
49
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
45
50
  return `${urlBase}opStream/attachment`;
46
51
  }
@@ -50,7 +55,7 @@ function getAttachmentGETUrl(
50
55
  driveId: string,
51
56
  itemId: string,
52
57
  fileVersion?: string,
53
- ) {
58
+ ): string {
54
59
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
55
60
  return `${urlBase}opStream/attachments`;
56
61
  }
@@ -60,7 +65,7 @@ function getDeltaStorageUrl(
60
65
  driveId: string,
61
66
  itemId: string,
62
67
  fileVersion?: string,
63
- ) {
68
+ ): string {
64
69
  const urlBase = getUrlBase(siteUrl, driveId, itemId, fileVersion);
65
70
  return `${urlBase}opStream`;
66
71
  }
@@ -71,12 +76,16 @@ function getDeltaStorageUrl(
71
76
  */
72
77
  function removeBeginningSlash(str: string): string {
73
78
  if (str.startsWith("/")) {
74
- return str.substr(1);
79
+ return str.slice(1);
75
80
  }
76
81
 
77
82
  return str;
78
83
  }
79
84
 
85
+ // back-compat: GitHub #9653
86
+ const isFluidPackage = (pkg: Record<string, unknown>): boolean =>
87
+ typeof pkg === "object" && typeof pkg?.name === "string" && typeof pkg?.fluid === "object";
88
+
80
89
  /**
81
90
  * Resolver to resolve urls like the ones created by createOdspUrl which is driver inner
82
91
  * url format. Ex: `${siteUrl}?driveId=${driveId}&itemId=${itemId}&path=${path}`
@@ -86,34 +95,26 @@ export class OdspDriverUrlResolver implements IUrlResolver {
86
95
  constructor() {}
87
96
 
88
97
  /**
89
- * @alpha
98
+ * {@inheritDoc @fluidframework/driver-definitions#IUrlResolver.resolve}
90
99
  */
91
100
  public async resolve(request: IRequest): Promise<IOdspResolvedUrl> {
92
101
  if (request.headers?.[DriverHeader.createNew]) {
93
102
  const [siteURL, queryString] = request.url.split("?");
94
103
 
95
104
  const searchParams = new URLSearchParams(queryString);
96
- const fileName = request.headers[DriverHeader.createNew].fileName;
105
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
106
+ const fileName: string = request.headers[DriverHeader.createNew].fileName;
97
107
  const driveID = searchParams.get("driveId");
98
108
  const filePath = searchParams.get("path");
99
109
  const packageName = searchParams.get("containerPackageName");
100
- const createLinkType = searchParams.get("createLinkType");
101
110
  // eslint-disable-next-line @typescript-eslint/prefer-optional-chain -- false positive
102
111
  if (!(fileName && siteURL && driveID && filePath !== null && filePath !== undefined)) {
103
112
  throw new NonRetryableError(
104
- "Proper new file params should be there!!",
105
- DriverErrorType.genericError,
113
+ "Proper new file params should be there",
114
+ OdspErrorTypes.genericError,
106
115
  { driverVersion: pkgVersion },
107
116
  );
108
117
  }
109
- let shareLinkInfo: ShareLinkInfoType | undefined;
110
- if (createLinkType && createLinkType in ShareLinkTypes) {
111
- shareLinkInfo = {
112
- createLink: {
113
- type: ShareLinkTypes[createLinkType],
114
- },
115
- };
116
- }
117
118
  return {
118
119
  endpoints: {
119
120
  snapshotStorageUrl: "",
@@ -125,7 +126,7 @@ export class OdspDriverUrlResolver implements IUrlResolver {
125
126
  type: "fluid",
126
127
  odspResolvedUrl: true,
127
128
  id: "odspCreateNew",
128
- url: `fluid-odsp://${siteURL}?${queryString}&version=null`,
129
+ url: `https://${siteURL}?${queryString}&version=null`,
129
130
  siteUrl: siteURL,
130
131
  hashedDocumentId: "",
131
132
  driveId: driveID,
@@ -136,7 +137,7 @@ export class OdspDriverUrlResolver implements IUrlResolver {
136
137
  containerPackageName: packageName ?? undefined,
137
138
  },
138
139
  fileVersion: undefined,
139
- shareLinkInfo,
140
+ shareLinkInfo: undefined,
140
141
  isClpCompliantApp: request.headers?.[ClpCompliantAppHeader.isClpCompliantApp],
141
142
  };
142
143
  }
@@ -146,7 +147,7 @@ export class OdspDriverUrlResolver implements IUrlResolver {
146
147
  const hashedDocumentId = await getHashedDocumentId(driveId, itemId);
147
148
  assert(!hashedDocumentId.includes("/"), 0x0a8 /* "Docid should not contain slashes!!" */);
148
149
 
149
- const documentUrl = `fluid-odsp://placeholder/placeholder/${hashedDocumentId}/${removeBeginningSlash(
150
+ const documentUrl = `https://placeholder/placeholder/${hashedDocumentId}/${removeBeginningSlash(
150
151
  path,
151
152
  )}`;
152
153
 
@@ -204,21 +205,20 @@ export class OdspDriverUrlResolver implements IUrlResolver {
204
205
  dataStorePath = odspResolvedUrl.dataStorePath;
205
206
  }
206
207
  if (dataStorePath.startsWith("/")) {
207
- dataStorePath = dataStorePath.substr(1);
208
+ dataStorePath = dataStorePath.slice(1);
208
209
  }
209
210
 
210
- // back-compat: GitHub #9653
211
- const isFluidPackage = (pkg: any) =>
212
- typeof pkg === "object" &&
213
- typeof pkg?.name === "string" &&
214
- typeof pkg?.fluid === "object";
215
- let containerPackageName;
211
+ let containerPackageName: string | undefined;
216
212
  if (packageInfoSource && "name" in packageInfoSource) {
217
213
  containerPackageName = packageInfoSource.name;
218
214
  // packageInfoSource is cast to any as it is typed to IContainerPackageInfo instead of IFluidCodeDetails
215
+ // TODO: use stronger type
216
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
219
217
  } else if (isFluidPackage((packageInfoSource as any)?.package)) {
218
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
220
219
  containerPackageName = (packageInfoSource as any)?.package.name;
221
220
  } else {
221
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
222
222
  containerPackageName = (packageInfoSource as any)?.package;
223
223
  }
224
224
  containerPackageName =
@@ -19,14 +19,13 @@ import {
19
19
  import {
20
20
  getLocatorFromOdspUrl,
21
21
  storeLocatorInOdspUrl,
22
- encodeOdspFluidDataStoreLocator,
23
22
  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";
23
+ } from "./odspFluidFileLink.js";
24
+ import { OdspFluidDataStoreLocator, SharingLinkHeader } from "./contractsPublic.js";
25
+ import { createOdspUrl } from "./createOdspUrl.js";
26
+ import { OdspDriverUrlResolver } from "./odspDriverUrlResolver.js";
27
+ import { getOdspResolvedUrl, createOdspLogger } from "./odspUtils.js";
28
+ import { getFileLink } from "./getFileLink.js";
30
29
 
31
30
  /**
32
31
  * Properties passed to the code responsible for fetching share link for a file.
@@ -43,6 +42,10 @@ export interface ShareLinkFetcherProps {
43
42
  identityType: IdentityType;
44
43
  }
45
44
 
45
+ // back-compat: GitHub #9653
46
+ const isFluidPackage = (pkg: Record<string, unknown>): boolean =>
47
+ typeof pkg === "object" && typeof pkg?.name === "string" && typeof pkg?.fluid === "object";
48
+
46
49
  /**
47
50
  * Resolver to resolve urls like the ones created by createOdspUrl which is driver inner
48
51
  * url format and the ones which have things like driveId, siteId, itemId etc encoded in nav param.
@@ -102,9 +105,9 @@ export class OdspDriverUrlResolverForShareLink implements IUrlResolver {
102
105
  // Determine if the caller is passing a query parameter or path since processing will be different.
103
106
  if (pathToAppend.startsWith("/?") || pathToAppend.startsWith("?")) {
104
107
  const queryParams = new URLSearchParams(pathToAppend);
105
- queryParams.forEach((value: string, key: string) => {
108
+ for (const [key, value] of queryParams.entries()) {
106
109
  parsingUrl.searchParams.append(key, value);
107
- });
110
+ }
108
111
  fluidInfo.dataStorePath = `${parsingUrl.pathname}${parsingUrl.search}`;
109
112
  } else {
110
113
  fluidInfo.dataStorePath = `${parsingUrl.pathname}${
@@ -214,34 +217,55 @@ export class OdspDriverUrlResolverForShareLink implements IUrlResolver {
214
217
  const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
215
218
 
216
219
  const shareLink = await this.getShareLinkPromise(odspResolvedUrl);
217
- const shareLinkUrl = new URL(shareLink);
218
220
 
219
- let actualDataStorePath = dataStorePath;
221
+ return this.appendLocatorParams(shareLink, resolvedUrl, dataStorePath, packageInfoSource);
222
+ }
223
+
224
+ /**
225
+ * Appends the store locator properties to the provided base URL. This function is useful for scenarios where an application
226
+ * 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
227
+ * to load the file later.
228
+ * @param baseUrl - The input URL on which the locator params will be appended.
229
+ * @param resolvedUrl - odsp-driver's resolvedURL object.
230
+ * @param dataStorePath - The relative data store path URL.
231
+ * For requesting a driver URL, this value should always be '/'. If an empty string is passed, then dataStorePath
232
+ * will be extracted from the resolved url if present.
233
+ * @returns The provided base URL appended with odsp-specific locator information
234
+ */
235
+ public async appendLocatorParams(
236
+ baseUrl: string,
237
+ resolvedUrl: IResolvedUrl,
238
+ dataStorePath: string,
239
+ packageInfoSource?: IContainerPackageInfo,
240
+ ): Promise<string> {
241
+ const url = new URL(baseUrl);
242
+ const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
243
+
220
244
  // 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
- }
245
+ const actualDataStorePath = dataStorePath || (odspResolvedUrl.dataStorePath ?? "");
224
246
 
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;
247
+ let containerPackageName: string | undefined;
231
248
  if (packageInfoSource && "name" in packageInfoSource) {
232
249
  containerPackageName = packageInfoSource.name;
233
250
  // packageInfoSource is cast to any as it is typed to IContainerPackageInfo instead of IFluidCodeDetails
251
+ // TODO: use a stronger type
252
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
234
253
  } else if (isFluidPackage((packageInfoSource as any)?.package)) {
254
+ // TODO: use a stronger type
255
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
235
256
  containerPackageName = (packageInfoSource as any)?.package.name;
236
257
  } else {
258
+ // TODO: use a stronger type
259
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
237
260
  containerPackageName = (packageInfoSource as any)?.package;
238
261
  }
262
+ // TODO: use a stronger type
239
263
  containerPackageName =
240
264
  containerPackageName ?? odspResolvedUrl.codeHint?.containerPackageName;
241
265
 
242
266
  const context = await this.getContext?.(odspResolvedUrl, actualDataStorePath);
243
267
 
244
- storeLocatorInOdspUrl(shareLinkUrl, {
268
+ storeLocatorInOdspUrl(url, {
245
269
  siteUrl: odspResolvedUrl.siteUrl,
246
270
  driveId: odspResolvedUrl.driveId,
247
271
  itemId: odspResolvedUrl.itemId,
@@ -252,25 +276,20 @@ export class OdspDriverUrlResolverForShareLink implements IUrlResolver {
252
276
  context,
253
277
  });
254
278
 
255
- return shareLinkUrl.href;
279
+ return url.href;
256
280
  }
257
281
 
258
282
  /**
259
283
  * Crafts a supported document/driver URL
260
284
  */
261
- public static createDocumentUrl(baseUrl: string, driverInfo: OdspFluidDataStoreLocator) {
285
+ public static createDocumentUrl(
286
+ baseUrl: string,
287
+ driverInfo: OdspFluidDataStoreLocator,
288
+ ): string {
262
289
  const url = new URL(baseUrl);
263
290
 
264
291
  storeLocatorInOdspUrl(url, driverInfo);
265
292
 
266
293
  return url.href;
267
294
  }
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
295
  }
package/src/odspError.ts CHANGED
@@ -3,13 +3,12 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { createOdspNetworkError } from "@fluidframework/odsp-doclib-utils";
7
- import { DriverErrorType } from "@fluidframework/driver-definitions";
6
+ import { createOdspNetworkError } from "@fluidframework/odsp-doclib-utils/internal";
8
7
  import { NonRetryableError } from "@fluidframework/driver-utils";
9
- import { OdspError } from "@fluidframework/odsp-driver-definitions";
8
+ import { OdspError, OdspErrorTypes } from "@fluidframework/odsp-driver-definitions";
10
9
  import { getCircularReplacer, IFluidErrorBase } from "@fluidframework/telemetry-utils";
11
- import { IOdspSocketError } from "./contracts";
12
- import { pkgVersion as driverVersion } from "./packageVersion";
10
+ import { IOdspSocketError } from "./contracts.js";
11
+ import { pkgVersion as driverVersion } from "./packageVersion.js";
13
12
 
14
13
  /**
15
14
  * Returns network error based on error object from ODSP socket (IOdspSocketError)
@@ -34,10 +33,10 @@ export function errorObjectFromSocketError(
34
33
 
35
34
  error.addTelemetryProperties({ odspError: true, relayServiceError: true });
36
35
  return error;
37
- } catch (error) {
36
+ } catch {
38
37
  return new NonRetryableError(
39
38
  "Internal error: errorObjectFromSocketError",
40
- DriverErrorType.fileNotFoundOrAccessDeniedError,
39
+ OdspErrorTypes.fileNotFoundOrAccessDeniedError,
41
40
  { driverVersion },
42
41
  );
43
42
  }
@@ -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> {
@@ -16,6 +19,7 @@ export async function getHashedDocumentId(driveId: string, itemId: string): Prom
16
19
 
17
20
  /**
18
21
  * @alpha
22
+ * @deprecated - This is deprecated.
19
23
  */
20
24
  export interface ISnapshotContents {
21
25
  snapshotTree: ISnapshotTree;