@fluidframework/odsp-driver 1.4.0-121020 → 2.0.0-dev-rc.1.0.0.225277

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 (666) hide show
  1. package/.eslintrc.js +12 -12
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +162 -0
  4. package/README.md +56 -0
  5. package/api-extractor-esm.json +4 -0
  6. package/api-extractor-lint.json +4 -0
  7. package/api-extractor.json +2 -2
  8. package/api-report/odsp-driver.api.md +309 -0
  9. package/dist/{ReadBufferUtils.js → ReadBufferUtils.cjs} +16 -9
  10. package/dist/ReadBufferUtils.cjs.map +1 -0
  11. package/dist/ReadBufferUtils.d.ts.map +1 -1
  12. package/dist/{WriteBufferUtils.js → WriteBufferUtils.cjs} +73 -69
  13. package/dist/WriteBufferUtils.cjs.map +1 -0
  14. package/dist/WriteBufferUtils.d.ts +3 -5
  15. package/dist/WriteBufferUtils.d.ts.map +1 -1
  16. package/dist/{checkUrl.js → checkUrl.cjs} +7 -6
  17. package/dist/checkUrl.cjs.map +1 -0
  18. package/dist/checkUrl.d.ts +1 -0
  19. package/dist/checkUrl.d.ts.map +1 -1
  20. package/dist/compactSnapshotParser.cjs +207 -0
  21. package/dist/compactSnapshotParser.cjs.map +1 -0
  22. package/dist/compactSnapshotParser.d.ts +12 -3
  23. package/dist/compactSnapshotParser.d.ts.map +1 -1
  24. package/dist/{compactSnapshotWriter.js → compactSnapshotWriter.cjs} +43 -33
  25. package/dist/compactSnapshotWriter.cjs.map +1 -0
  26. package/dist/compactSnapshotWriter.d.ts +2 -3
  27. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  28. package/dist/{constants.js → constants.cjs} +7 -1
  29. package/dist/constants.cjs.map +1 -0
  30. package/dist/constants.d.ts +6 -0
  31. package/dist/constants.d.ts.map +1 -1
  32. package/dist/{contracts.js → contracts.cjs} +1 -1
  33. package/dist/contracts.cjs.map +1 -0
  34. package/dist/contracts.d.ts +16 -53
  35. package/dist/contracts.d.ts.map +1 -1
  36. package/dist/{contractsPublic.js → contractsPublic.cjs} +9 -3
  37. package/dist/contractsPublic.cjs.map +1 -0
  38. package/dist/contractsPublic.d.ts +15 -0
  39. package/dist/contractsPublic.d.ts.map +1 -1
  40. package/dist/createFile.cjs +177 -0
  41. package/dist/createFile.cjs.map +1 -0
  42. package/dist/createFile.d.ts +6 -10
  43. package/dist/createFile.d.ts.map +1 -1
  44. package/dist/createNewContainerOnExistingFile.cjs +60 -0
  45. package/dist/createNewContainerOnExistingFile.cjs.map +1 -0
  46. package/dist/createNewContainerOnExistingFile.d.ts +22 -0
  47. package/dist/createNewContainerOnExistingFile.d.ts.map +1 -0
  48. package/dist/createNewModule.cjs +12 -0
  49. package/dist/createNewModule.cjs.map +1 -0
  50. package/dist/createNewModule.d.ts +7 -0
  51. package/dist/createNewModule.d.ts.map +1 -0
  52. package/dist/createNewUtils.cjs +203 -0
  53. package/dist/createNewUtils.cjs.map +1 -0
  54. package/dist/createNewUtils.d.ts +16 -0
  55. package/dist/createNewUtils.d.ts.map +1 -1
  56. package/dist/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.cjs} +8 -4
  57. package/dist/createOdspCreateContainerRequest.cjs.map +1 -0
  58. package/dist/createOdspCreateContainerRequest.d.ts +5 -3
  59. package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
  60. package/dist/{createOdspUrl.js → createOdspUrl.cjs} +2 -1
  61. package/dist/createOdspUrl.cjs.map +1 -0
  62. package/dist/createOdspUrl.d.ts +1 -0
  63. package/dist/createOdspUrl.d.ts.map +1 -1
  64. package/dist/{epochTracker.js → epochTracker.cjs} +102 -48
  65. package/dist/epochTracker.cjs.map +1 -0
  66. package/dist/epochTracker.d.ts +32 -8
  67. package/dist/epochTracker.d.ts.map +1 -1
  68. package/dist/{fetch.js → fetch.cjs} +1 -1
  69. package/dist/fetch.cjs.map +1 -0
  70. package/dist/fetch.d.ts +1 -1
  71. package/dist/fetch.d.ts.map +1 -1
  72. package/dist/{fetchSnapshot.js → fetchSnapshot.cjs} +192 -176
  73. package/dist/fetchSnapshot.cjs.map +1 -0
  74. package/dist/fetchSnapshot.d.ts +10 -5
  75. package/dist/fetchSnapshot.d.ts.map +1 -1
  76. package/dist/{getFileLink.js → getFileLink.cjs} +52 -41
  77. package/dist/getFileLink.cjs.map +1 -0
  78. package/dist/getFileLink.d.ts +4 -7
  79. package/dist/getFileLink.d.ts.map +1 -1
  80. package/dist/{getQueryString.js → getQueryString.cjs} +1 -1
  81. package/dist/getQueryString.cjs.map +1 -0
  82. package/dist/getQueryString.d.ts.map +1 -1
  83. package/dist/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.cjs} +4 -2
  84. package/dist/getUrlAndHeadersWithAuth.cjs.map +1 -0
  85. package/dist/getUrlAndHeadersWithAuth.d.ts.map +1 -1
  86. package/dist/index.cjs +59 -0
  87. package/dist/index.cjs.map +1 -0
  88. package/dist/index.d.ts +19 -16
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs +35 -0
  91. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs.map +1 -0
  92. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts +17 -0
  93. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
  94. package/dist/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.cjs} +7 -5
  95. package/dist/localOdspDriver/localOdspDocumentService.cjs.map +1 -0
  96. package/dist/localOdspDriver/localOdspDocumentService.d.ts +3 -2
  97. package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
  98. package/dist/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.cjs} +9 -10
  99. package/dist/localOdspDriver/localOdspDocumentServiceFactory.cjs.map +1 -0
  100. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +2 -3
  101. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
  102. package/dist/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.cjs} +13 -11
  103. package/dist/localOdspDriver/localOdspDocumentStorageManager.cjs.map +1 -0
  104. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +2 -2
  105. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
  106. package/dist/odsp-driver-alpha.d.ts +496 -0
  107. package/dist/odsp-driver-beta.d.ts +160 -0
  108. package/dist/odsp-driver-public.d.ts +160 -0
  109. package/dist/odsp-driver-untrimmed.d.ts +565 -0
  110. package/dist/{odspCache.js → odspCache.cjs} +9 -10
  111. package/dist/odspCache.cjs.map +1 -0
  112. package/dist/odspCache.d.ts +19 -4
  113. package/dist/odspCache.d.ts.map +1 -1
  114. package/dist/odspDelayLoadedDeltaStream.cjs +291 -0
  115. package/dist/odspDelayLoadedDeltaStream.cjs.map +1 -0
  116. package/dist/odspDelayLoadedDeltaStream.d.ts +75 -0
  117. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -0
  118. package/dist/{odspDeltaStorageService.js → odspDeltaStorageService.cjs} +70 -71
  119. package/dist/odspDeltaStorageService.cjs.map +1 -0
  120. package/dist/odspDeltaStorageService.d.ts +8 -6
  121. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  122. package/dist/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.cjs} +224 -113
  123. package/dist/odspDocumentDeltaConnection.cjs.map +1 -0
  124. package/dist/odspDocumentDeltaConnection.d.ts +32 -12
  125. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  126. package/dist/odspDocumentService.cjs +225 -0
  127. package/dist/odspDocumentService.cjs.map +1 -0
  128. package/dist/odspDocumentService.d.ts +11 -25
  129. package/dist/odspDocumentService.d.ts.map +1 -1
  130. package/dist/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.cjs} +8 -5
  131. package/dist/odspDocumentServiceFactory.cjs.map +1 -0
  132. package/dist/odspDocumentServiceFactory.d.ts +4 -0
  133. package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
  134. package/dist/odspDocumentServiceFactoryCore.cjs +196 -0
  135. package/dist/odspDocumentServiceFactoryCore.cjs.map +1 -0
  136. package/dist/odspDocumentServiceFactoryCore.d.ts +18 -11
  137. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  138. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs +20 -0
  139. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs.map +1 -0
  140. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +5 -0
  141. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
  142. package/dist/odspDocumentStorageManager.cjs +490 -0
  143. package/dist/odspDocumentStorageManager.cjs.map +1 -0
  144. package/dist/odspDocumentStorageManager.d.ts +11 -5
  145. package/dist/odspDocumentStorageManager.d.ts.map +1 -1
  146. package/dist/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.cjs} +32 -34
  147. package/dist/odspDocumentStorageServiceBase.cjs.map +1 -0
  148. package/dist/odspDocumentStorageServiceBase.d.ts +7 -9
  149. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  150. package/dist/{odspDriverUrlResolver.js → odspDriverUrlResolver.cjs} +50 -36
  151. package/dist/odspDriverUrlResolver.cjs.map +1 -0
  152. package/dist/odspDriverUrlResolver.d.ts +12 -0
  153. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  154. package/dist/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.cjs} +37 -26
  155. package/dist/odspDriverUrlResolverForShareLink.cjs.map +1 -0
  156. package/dist/odspDriverUrlResolverForShareLink.d.ts +5 -3
  157. package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
  158. package/dist/{odspError.js → odspError.cjs} +7 -3
  159. package/dist/odspError.cjs.map +1 -0
  160. package/dist/odspError.d.ts.map +1 -1
  161. package/dist/{odspFluidFileLink.js → odspFluidFileLink.cjs} +25 -18
  162. package/dist/odspFluidFileLink.cjs.map +1 -0
  163. package/dist/odspFluidFileLink.d.ts +10 -1
  164. package/dist/odspFluidFileLink.d.ts.map +1 -1
  165. package/dist/odspLocationRedirection.cjs +24 -0
  166. package/dist/odspLocationRedirection.cjs.map +1 -0
  167. package/dist/odspLocationRedirection.d.ts +14 -0
  168. package/dist/odspLocationRedirection.d.ts.map +1 -0
  169. package/dist/{odspPublicUtils.js → odspPublicUtils.cjs} +7 -4
  170. package/dist/odspPublicUtils.cjs.map +1 -0
  171. package/dist/odspPublicUtils.d.ts +6 -0
  172. package/dist/odspPublicUtils.d.ts.map +1 -1
  173. package/dist/{odspSnapshotParser.js → odspSnapshotParser.cjs} +11 -12
  174. package/dist/odspSnapshotParser.cjs.map +1 -0
  175. package/dist/odspSnapshotParser.d.ts.map +1 -1
  176. package/dist/{odspSummaryUploadManager.js → odspSummaryUploadManager.cjs} +47 -34
  177. package/dist/odspSummaryUploadManager.cjs.map +1 -0
  178. package/dist/odspSummaryUploadManager.d.ts +7 -4
  179. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  180. package/dist/{odspUrlHelper.js → odspUrlHelper.cjs} +9 -3
  181. package/dist/odspUrlHelper.cjs.map +1 -0
  182. package/dist/odspUrlHelper.d.ts +5 -0
  183. package/dist/odspUrlHelper.d.ts.map +1 -1
  184. package/dist/{odspUtils.js → odspUtils.cjs} +118 -30
  185. package/dist/odspUtils.cjs.map +1 -0
  186. package/dist/odspUtils.d.ts +35 -6
  187. package/dist/odspUtils.d.ts.map +1 -1
  188. package/dist/{opsCaching.js → opsCaching.cjs} +25 -9
  189. package/dist/opsCaching.cjs.map +1 -0
  190. package/dist/opsCaching.d.ts +3 -3
  191. package/dist/opsCaching.d.ts.map +1 -1
  192. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  193. package/dist/packageVersion.cjs.map +1 -0
  194. package/dist/packageVersion.d.ts +1 -1
  195. package/dist/packageVersion.d.ts.map +1 -1
  196. package/dist/prefetchLatestSnapshot.cjs +100 -0
  197. package/dist/prefetchLatestSnapshot.cjs.map +1 -0
  198. package/dist/prefetchLatestSnapshot.d.ts +12 -7
  199. package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
  200. package/dist/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.cjs} +13 -6
  201. package/dist/retryErrorsStorageAdapter.cjs.map +1 -0
  202. package/dist/retryErrorsStorageAdapter.d.ts +5 -4
  203. package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
  204. package/dist/{retryUtils.js → retryUtils.cjs} +30 -14
  205. package/dist/retryUtils.cjs.map +1 -0
  206. package/dist/retryUtils.d.ts +2 -2
  207. package/dist/retryUtils.d.ts.map +1 -1
  208. package/dist/socketModule.cjs +10 -0
  209. package/dist/socketModule.cjs.map +1 -0
  210. package/dist/socketModule.d.ts +7 -0
  211. package/dist/socketModule.d.ts.map +1 -0
  212. package/dist/tsdoc-metadata.json +11 -0
  213. package/dist/{vroom.js → vroom.cjs} +24 -9
  214. package/dist/vroom.cjs.map +1 -0
  215. package/dist/vroom.d.ts +4 -4
  216. package/dist/vroom.d.ts.map +1 -1
  217. package/dist/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.cjs} +227 -118
  218. package/dist/zipItDataRepresentationUtils.cjs.map +1 -0
  219. package/dist/zipItDataRepresentationUtils.d.ts +47 -20
  220. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  221. package/lib/{ReadBufferUtils.d.ts → ReadBufferUtils.d.mts} +1 -1
  222. package/lib/ReadBufferUtils.d.mts.map +1 -0
  223. package/lib/{ReadBufferUtils.js → ReadBufferUtils.mjs} +14 -7
  224. package/lib/ReadBufferUtils.mjs.map +1 -0
  225. package/lib/{WriteBufferUtils.d.ts → WriteBufferUtils.d.mts} +4 -6
  226. package/lib/WriteBufferUtils.d.mts.map +1 -0
  227. package/lib/{WriteBufferUtils.js → WriteBufferUtils.mjs} +68 -64
  228. package/lib/WriteBufferUtils.mjs.map +1 -0
  229. package/lib/{checkUrl.d.ts → checkUrl.d.mts} +2 -1
  230. package/lib/checkUrl.d.mts.map +1 -0
  231. package/lib/{checkUrl.js → checkUrl.mjs} +7 -6
  232. package/lib/checkUrl.mjs.map +1 -0
  233. package/lib/compactSnapshotParser.d.mts +24 -0
  234. package/lib/compactSnapshotParser.d.mts.map +1 -0
  235. package/lib/compactSnapshotParser.mjs +203 -0
  236. package/lib/compactSnapshotParser.mjs.map +1 -0
  237. package/lib/{compactSnapshotWriter.d.ts → compactSnapshotWriter.d.mts} +4 -5
  238. package/lib/compactSnapshotWriter.d.mts.map +1 -0
  239. package/lib/{compactSnapshotWriter.js → compactSnapshotWriter.mjs} +41 -31
  240. package/lib/compactSnapshotWriter.mjs.map +1 -0
  241. package/lib/{constants.d.ts → constants.d.mts} +7 -1
  242. package/lib/constants.d.mts.map +1 -0
  243. package/lib/{constants.js → constants.mjs} +7 -1
  244. package/lib/constants.mjs.map +1 -0
  245. package/lib/{contracts.d.ts → contracts.d.mts} +18 -55
  246. package/lib/contracts.d.mts.map +1 -0
  247. package/lib/{contracts.js → contracts.mjs} +1 -1
  248. package/lib/contracts.mjs.map +1 -0
  249. package/lib/{contractsPublic.d.ts → contractsPublic.d.mts} +16 -1
  250. package/lib/contractsPublic.d.mts.map +1 -0
  251. package/lib/{contractsPublic.js → contractsPublic.mjs} +7 -1
  252. package/lib/contractsPublic.mjs.map +1 -0
  253. package/lib/createFile.d.mts +18 -0
  254. package/lib/createFile.d.mts.map +1 -0
  255. package/lib/createFile.mjs +171 -0
  256. package/lib/createFile.mjs.map +1 -0
  257. package/lib/createNewContainerOnExistingFile.d.mts +22 -0
  258. package/lib/createNewContainerOnExistingFile.d.mts.map +1 -0
  259. package/lib/createNewContainerOnExistingFile.mjs +56 -0
  260. package/lib/createNewContainerOnExistingFile.mjs.map +1 -0
  261. package/lib/createNewModule.d.mts +7 -0
  262. package/lib/createNewModule.d.mts.map +1 -0
  263. package/lib/createNewModule.mjs +7 -0
  264. package/lib/createNewModule.mjs.map +1 -0
  265. package/lib/createNewUtils.d.mts +27 -0
  266. package/lib/createNewUtils.d.mts.map +1 -0
  267. package/lib/createNewUtils.mjs +197 -0
  268. package/lib/createNewUtils.mjs.map +1 -0
  269. package/lib/{createOdspCreateContainerRequest.d.ts → createOdspCreateContainerRequest.d.mts} +6 -8
  270. package/lib/createOdspCreateContainerRequest.d.mts.map +1 -0
  271. package/lib/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.mjs} +8 -4
  272. package/lib/createOdspCreateContainerRequest.mjs.map +1 -0
  273. package/lib/{createOdspUrl.d.ts → createOdspUrl.d.mts} +3 -2
  274. package/lib/createOdspUrl.d.mts.map +1 -0
  275. package/lib/{createOdspUrl.js → createOdspUrl.mjs} +2 -1
  276. package/lib/createOdspUrl.mjs.map +1 -0
  277. package/lib/{epochTracker.d.ts → epochTracker.d.mts} +35 -11
  278. package/lib/epochTracker.d.mts.map +1 -0
  279. package/lib/{epochTracker.js → epochTracker.mjs} +97 -43
  280. package/lib/epochTracker.mjs.map +1 -0
  281. package/lib/{fetch.d.ts → fetch.d.mts} +2 -2
  282. package/lib/fetch.d.mts.map +1 -0
  283. package/lib/{fetch.js → fetch.mjs} +1 -1
  284. package/lib/fetch.mjs.map +1 -0
  285. package/lib/{fetchSnapshot.d.ts → fetchSnapshot.d.mts} +15 -10
  286. package/lib/fetchSnapshot.d.mts.map +1 -0
  287. package/lib/{fetchSnapshot.js → fetchSnapshot.mjs} +185 -167
  288. package/lib/fetchSnapshot.mjs.map +1 -0
  289. package/lib/{getFileLink.d.ts → getFileLink.d.mts} +5 -8
  290. package/lib/getFileLink.d.mts.map +1 -0
  291. package/lib/{getFileLink.js → getFileLink.mjs} +49 -38
  292. package/lib/getFileLink.mjs.map +1 -0
  293. package/lib/{getQueryString.d.ts → getQueryString.d.mts} +1 -5
  294. package/lib/getQueryString.d.mts.map +1 -0
  295. package/lib/{getQueryString.js → getQueryString.mjs} +1 -1
  296. package/lib/getQueryString.mjs.map +1 -0
  297. package/lib/{getUrlAndHeadersWithAuth.d.ts → getUrlAndHeadersWithAuth.d.mts} +1 -1
  298. package/lib/getUrlAndHeadersWithAuth.d.mts.map +1 -0
  299. package/lib/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.mjs} +4 -2
  300. package/lib/getUrlAndHeadersWithAuth.mjs.map +1 -0
  301. package/lib/index.d.mts +24 -0
  302. package/lib/index.d.mts.map +1 -0
  303. package/lib/index.mjs +22 -0
  304. package/lib/index.mjs.map +1 -0
  305. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts +17 -0
  306. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +1 -0
  307. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs +31 -0
  308. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +1 -0
  309. package/lib/localOdspDriver/{localOdspDocumentService.d.ts → localOdspDocumentService.d.mts} +4 -3
  310. package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +1 -0
  311. package/lib/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.mjs} +8 -6
  312. package/lib/localOdspDriver/localOdspDocumentService.mjs.map +1 -0
  313. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.ts → localOdspDocumentServiceFactory.d.mts} +5 -6
  314. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +1 -0
  315. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.mjs} +9 -10
  316. package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +1 -0
  317. package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.ts → localOdspDocumentStorageManager.d.mts} +4 -4
  318. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +1 -0
  319. package/lib/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.mjs} +11 -9
  320. package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +1 -0
  321. package/lib/odsp-driver-alpha.d.mts +496 -0
  322. package/lib/odsp-driver-beta.d.mts +160 -0
  323. package/lib/odsp-driver-public.d.mts +160 -0
  324. package/lib/odsp-driver-untrimmed.d.mts +565 -0
  325. package/lib/{odspCache.d.ts → odspCache.d.mts} +20 -9
  326. package/lib/odspCache.d.mts.map +1 -0
  327. package/lib/{odspCache.js → odspCache.mjs} +6 -11
  328. package/lib/odspCache.mjs.map +1 -0
  329. package/lib/odspDelayLoadedDeltaStream.d.mts +75 -0
  330. package/lib/odspDelayLoadedDeltaStream.d.mts.map +1 -0
  331. package/lib/odspDelayLoadedDeltaStream.mjs +287 -0
  332. package/lib/odspDelayLoadedDeltaStream.mjs.map +1 -0
  333. package/lib/{odspDeltaStorageService.d.ts → odspDeltaStorageService.d.mts} +10 -8
  334. package/lib/odspDeltaStorageService.d.mts.map +1 -0
  335. package/lib/{odspDeltaStorageService.js → odspDeltaStorageService.mjs} +70 -68
  336. package/lib/odspDeltaStorageService.mjs.map +1 -0
  337. package/lib/{odspDocumentDeltaConnection.d.ts → odspDocumentDeltaConnection.d.mts} +34 -14
  338. package/lib/odspDocumentDeltaConnection.d.mts.map +1 -0
  339. package/lib/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.mjs} +214 -103
  340. package/lib/odspDocumentDeltaConnection.mjs.map +1 -0
  341. package/lib/{odspDocumentService.d.ts → odspDocumentService.d.mts} +15 -29
  342. package/lib/odspDocumentService.d.mts.map +1 -0
  343. package/lib/odspDocumentService.mjs +221 -0
  344. package/lib/odspDocumentService.mjs.map +1 -0
  345. package/lib/{odspDocumentServiceFactory.d.ts → odspDocumentServiceFactory.d.mts} +6 -2
  346. package/lib/odspDocumentServiceFactory.d.mts.map +1 -0
  347. package/lib/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.mjs} +8 -6
  348. package/lib/odspDocumentServiceFactory.mjs.map +1 -0
  349. package/lib/{odspDocumentServiceFactoryCore.d.ts → odspDocumentServiceFactoryCore.d.mts} +20 -13
  350. package/lib/odspDocumentServiceFactoryCore.d.mts.map +1 -0
  351. package/lib/odspDocumentServiceFactoryCore.mjs +192 -0
  352. package/lib/odspDocumentServiceFactoryCore.mjs.map +1 -0
  353. package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.ts → odspDocumentServiceFactoryWithCodeSplit.d.mts} +7 -2
  354. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +1 -0
  355. package/lib/{odspDocumentServiceFactoryWithCodeSplit.js → odspDocumentServiceFactoryWithCodeSplit.mjs} +8 -3
  356. package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +1 -0
  357. package/lib/{odspDocumentStorageManager.d.ts → odspDocumentStorageManager.d.mts} +18 -12
  358. package/lib/odspDocumentStorageManager.d.mts.map +1 -0
  359. package/lib/odspDocumentStorageManager.mjs +486 -0
  360. package/lib/odspDocumentStorageManager.mjs.map +1 -0
  361. package/lib/{odspDocumentStorageServiceBase.d.ts → odspDocumentStorageServiceBase.d.mts} +9 -11
  362. package/lib/odspDocumentStorageServiceBase.d.mts.map +1 -0
  363. package/lib/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.mjs} +31 -33
  364. package/lib/odspDocumentStorageServiceBase.mjs.map +1 -0
  365. package/lib/{odspDriverUrlResolver.d.ts → odspDriverUrlResolver.d.mts} +13 -1
  366. package/lib/odspDriverUrlResolver.d.mts.map +1 -0
  367. package/lib/{odspDriverUrlResolver.js → odspDriverUrlResolver.mjs} +50 -40
  368. package/lib/odspDriverUrlResolver.mjs.map +1 -0
  369. package/lib/{odspDriverUrlResolverForShareLink.d.ts → odspDriverUrlResolverForShareLink.d.mts} +7 -5
  370. package/lib/odspDriverUrlResolverForShareLink.d.mts.map +1 -0
  371. package/lib/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.mjs} +36 -29
  372. package/lib/odspDriverUrlResolverForShareLink.mjs.map +1 -0
  373. package/lib/{odspError.d.ts → odspError.d.mts} +2 -2
  374. package/lib/odspError.d.mts.map +1 -0
  375. package/lib/{odspError.js → odspError.mjs} +7 -3
  376. package/lib/odspError.mjs.map +1 -0
  377. package/lib/{odspFluidFileLink.d.ts → odspFluidFileLink.d.mts} +12 -3
  378. package/lib/odspFluidFileLink.d.mts.map +1 -0
  379. package/lib/{odspFluidFileLink.js → odspFluidFileLink.mjs} +23 -16
  380. package/lib/odspFluidFileLink.mjs.map +1 -0
  381. package/lib/odspLocationRedirection.d.mts +14 -0
  382. package/lib/odspLocationRedirection.d.mts.map +1 -0
  383. package/lib/odspLocationRedirection.mjs +20 -0
  384. package/lib/odspLocationRedirection.mjs.map +1 -0
  385. package/lib/{odspPublicUtils.d.ts → odspPublicUtils.d.mts} +7 -1
  386. package/lib/odspPublicUtils.d.mts.map +1 -0
  387. package/lib/{odspPublicUtils.js → odspPublicUtils.mjs} +5 -2
  388. package/lib/odspPublicUtils.mjs.map +1 -0
  389. package/lib/{odspSnapshotParser.d.ts → odspSnapshotParser.d.mts} +3 -3
  390. package/lib/odspSnapshotParser.d.mts.map +1 -0
  391. package/lib/{odspSnapshotParser.js → odspSnapshotParser.mjs} +10 -11
  392. package/lib/odspSnapshotParser.mjs.map +1 -0
  393. package/lib/{odspSummaryUploadManager.d.ts → odspSummaryUploadManager.d.mts} +9 -6
  394. package/lib/odspSummaryUploadManager.d.mts.map +1 -0
  395. package/lib/{odspSummaryUploadManager.js → odspSummaryUploadManager.mjs} +41 -32
  396. package/lib/odspSummaryUploadManager.mjs.map +1 -0
  397. package/lib/{odspUrlHelper.d.ts → odspUrlHelper.d.mts} +6 -1
  398. package/lib/odspUrlHelper.d.mts.map +1 -0
  399. package/lib/{odspUrlHelper.js → odspUrlHelper.mjs} +9 -3
  400. package/lib/odspUrlHelper.mjs.map +1 -0
  401. package/lib/{odspUtils.d.ts → odspUtils.d.mts} +37 -8
  402. package/lib/odspUtils.d.mts.map +1 -0
  403. package/lib/{odspUtils.js → odspUtils.mjs} +109 -27
  404. package/lib/odspUtils.mjs.map +1 -0
  405. package/lib/{opsCaching.d.ts → opsCaching.d.mts} +4 -4
  406. package/lib/opsCaching.d.mts.map +1 -0
  407. package/lib/{opsCaching.js → opsCaching.mjs} +23 -7
  408. package/lib/opsCaching.mjs.map +1 -0
  409. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +2 -2
  410. package/lib/packageVersion.d.mts.map +1 -0
  411. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  412. package/lib/packageVersion.mjs.map +1 -0
  413. package/lib/{prefetchLatestSnapshot.d.ts → prefetchLatestSnapshot.d.mts} +14 -9
  414. package/lib/prefetchLatestSnapshot.d.mts.map +1 -0
  415. package/lib/prefetchLatestSnapshot.mjs +96 -0
  416. package/lib/prefetchLatestSnapshot.mjs.map +1 -0
  417. package/lib/{retryErrorsStorageAdapter.d.ts → retryErrorsStorageAdapter.d.mts} +6 -5
  418. package/lib/retryErrorsStorageAdapter.d.mts.map +1 -0
  419. package/lib/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.mjs} +13 -6
  420. package/lib/retryErrorsStorageAdapter.mjs.map +1 -0
  421. package/lib/{retryUtils.d.ts → retryUtils.d.mts} +3 -3
  422. package/lib/retryUtils.d.mts.map +1 -0
  423. package/lib/{retryUtils.js → retryUtils.mjs} +27 -11
  424. package/lib/retryUtils.mjs.map +1 -0
  425. package/lib/socketModule.d.mts +7 -0
  426. package/lib/socketModule.d.mts.map +1 -0
  427. package/lib/socketModule.mjs +7 -0
  428. package/lib/socketModule.mjs.map +1 -0
  429. package/lib/{vroom.d.ts → vroom.d.mts} +7 -7
  430. package/lib/vroom.d.mts.map +1 -0
  431. package/lib/{vroom.js → vroom.mjs} +24 -9
  432. package/lib/vroom.mjs.map +1 -0
  433. package/lib/{zipItDataRepresentationUtils.d.ts → zipItDataRepresentationUtils.d.mts} +49 -22
  434. package/lib/zipItDataRepresentationUtils.d.mts.map +1 -0
  435. package/lib/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.mjs} +213 -111
  436. package/lib/zipItDataRepresentationUtils.mjs.map +1 -0
  437. package/package.json +87 -69
  438. package/prettier.config.cjs +8 -0
  439. package/src/ReadBufferUtils.ts +51 -44
  440. package/src/WriteBufferUtils.ts +203 -181
  441. package/src/checkUrl.ts +16 -15
  442. package/src/compactSnapshotParser.ts +219 -103
  443. package/src/compactSnapshotWriter.ts +118 -97
  444. package/src/constants.ts +7 -0
  445. package/src/contracts.ts +96 -136
  446. package/src/contractsPublic.ts +31 -16
  447. package/src/createFile.ts +243 -305
  448. package/src/createNewContainerOnExistingFile.ts +93 -0
  449. package/src/createNewModule.ts +7 -0
  450. package/src/createNewUtils.ts +266 -56
  451. package/src/createOdspCreateContainerRequest.ts +22 -18
  452. package/src/createOdspUrl.ts +12 -13
  453. package/src/epochTracker.ts +596 -457
  454. package/src/fetch.ts +4 -4
  455. package/src/fetchSnapshot.ts +583 -508
  456. package/src/getFileLink.ts +194 -155
  457. package/src/getQueryString.ts +11 -9
  458. package/src/getUrlAndHeadersWithAuth.ts +34 -33
  459. package/src/index.ts +42 -18
  460. package/src/localOdspDriver/localOdspDeltaStorageService.ts +49 -0
  461. package/src/localOdspDriver/localOdspDocumentService.ts +40 -38
  462. package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +46 -43
  463. package/src/localOdspDriver/localOdspDocumentStorageManager.ts +55 -50
  464. package/src/odspCache.ts +112 -90
  465. package/src/odspDelayLoadedDeltaStream.ts +459 -0
  466. package/src/odspDeltaStorageService.ts +232 -221
  467. package/src/odspDocumentDeltaConnection.ts +751 -563
  468. package/src/odspDocumentService.ts +324 -523
  469. package/src/odspDocumentServiceFactory.ts +20 -21
  470. package/src/odspDocumentServiceFactoryCore.ts +329 -200
  471. package/src/odspDocumentServiceFactoryWithCodeSplit.ts +20 -20
  472. package/src/odspDocumentStorageManager.ts +730 -534
  473. package/src/odspDocumentStorageServiceBase.ts +279 -254
  474. package/src/odspDriverUrlResolver.ts +230 -188
  475. package/src/odspDriverUrlResolverForShareLink.ts +223 -203
  476. package/src/odspError.ts +27 -19
  477. package/src/odspFluidFileLink.ts +106 -87
  478. package/src/odspLocationRedirection.ts +26 -0
  479. package/src/odspPublicUtils.ts +20 -14
  480. package/src/odspSnapshotParser.ts +53 -46
  481. package/src/odspSummaryUploadManager.ts +243 -218
  482. package/src/odspUrlHelper.ts +81 -71
  483. package/src/odspUtils.ts +401 -259
  484. package/src/opsCaching.ts +214 -193
  485. package/src/packageVersion.ts +1 -1
  486. package/src/prefetchLatestSnapshot.ts +142 -80
  487. package/src/retryErrorsStorageAdapter.ts +92 -77
  488. package/src/retryUtils.ts +80 -57
  489. package/src/socketModule.ts +8 -0
  490. package/src/vroom.ts +92 -83
  491. package/src/zipItDataRepresentationUtils.ts +534 -394
  492. package/tsc-multi.test.json +4 -0
  493. package/tsconfig.json +11 -13
  494. package/.editorconfig +0 -7
  495. package/dist/ReadBufferUtils.js.map +0 -1
  496. package/dist/WriteBufferUtils.js.map +0 -1
  497. package/dist/checkUrl.js.map +0 -1
  498. package/dist/compactSnapshotParser.js +0 -115
  499. package/dist/compactSnapshotParser.js.map +0 -1
  500. package/dist/compactSnapshotWriter.js.map +0 -1
  501. package/dist/constants.js.map +0 -1
  502. package/dist/contracts.js.map +0 -1
  503. package/dist/contractsPublic.js.map +0 -1
  504. package/dist/createFile.js +0 -242
  505. package/dist/createFile.js.map +0 -1
  506. package/dist/createNewUtils.js +0 -67
  507. package/dist/createNewUtils.js.map +0 -1
  508. package/dist/createOdspCreateContainerRequest.js.map +0 -1
  509. package/dist/createOdspUrl.js.map +0 -1
  510. package/dist/epochTracker.js.map +0 -1
  511. package/dist/fetch.js.map +0 -1
  512. package/dist/fetchSnapshot.js.map +0 -1
  513. package/dist/getFileLink.js.map +0 -1
  514. package/dist/getQueryString.js.map +0 -1
  515. package/dist/getSocketIo.d.ts +0 -11
  516. package/dist/getSocketIo.d.ts.map +0 -1
  517. package/dist/getSocketIo.js +0 -20
  518. package/dist/getSocketIo.js.map +0 -1
  519. package/dist/getUrlAndHeadersWithAuth.js.map +0 -1
  520. package/dist/index.js +0 -41
  521. package/dist/index.js.map +0 -1
  522. package/dist/localOdspDriver/localOdspDocumentService.js.map +0 -1
  523. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  524. package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  525. package/dist/odspCache.js.map +0 -1
  526. package/dist/odspDeltaStorageService.js.map +0 -1
  527. package/dist/odspDocumentDeltaConnection.js.map +0 -1
  528. package/dist/odspDocumentService.js +0 -364
  529. package/dist/odspDocumentService.js.map +0 -1
  530. package/dist/odspDocumentServiceFactory.js.map +0 -1
  531. package/dist/odspDocumentServiceFactoryCore.js +0 -118
  532. package/dist/odspDocumentServiceFactoryCore.js.map +0 -1
  533. package/dist/odspDocumentServiceFactoryWithCodeSplit.js +0 -34
  534. package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  535. package/dist/odspDocumentStorageManager.js +0 -356
  536. package/dist/odspDocumentStorageManager.js.map +0 -1
  537. package/dist/odspDocumentStorageServiceBase.js.map +0 -1
  538. package/dist/odspDriverUrlResolver.js.map +0 -1
  539. package/dist/odspDriverUrlResolverForShareLink.js.map +0 -1
  540. package/dist/odspError.js.map +0 -1
  541. package/dist/odspFluidFileLink.js.map +0 -1
  542. package/dist/odspPublicUtils.js.map +0 -1
  543. package/dist/odspSnapshotParser.js.map +0 -1
  544. package/dist/odspSummaryUploadManager.js.map +0 -1
  545. package/dist/odspUrlHelper.js.map +0 -1
  546. package/dist/odspUtils.js.map +0 -1
  547. package/dist/opsCaching.js.map +0 -1
  548. package/dist/packageVersion.js.map +0 -1
  549. package/dist/prefetchLatestSnapshot.js +0 -57
  550. package/dist/prefetchLatestSnapshot.js.map +0 -1
  551. package/dist/retryErrorsStorageAdapter.js.map +0 -1
  552. package/dist/retryUtils.js.map +0 -1
  553. package/dist/vroom.js.map +0 -1
  554. package/dist/zipItDataRepresentationUtils.js.map +0 -1
  555. package/lib/ReadBufferUtils.d.ts.map +0 -1
  556. package/lib/ReadBufferUtils.js.map +0 -1
  557. package/lib/WriteBufferUtils.d.ts.map +0 -1
  558. package/lib/WriteBufferUtils.js.map +0 -1
  559. package/lib/checkUrl.d.ts.map +0 -1
  560. package/lib/checkUrl.js.map +0 -1
  561. package/lib/compactSnapshotParser.d.ts +0 -15
  562. package/lib/compactSnapshotParser.d.ts.map +0 -1
  563. package/lib/compactSnapshotParser.js +0 -111
  564. package/lib/compactSnapshotParser.js.map +0 -1
  565. package/lib/compactSnapshotWriter.d.ts.map +0 -1
  566. package/lib/compactSnapshotWriter.js.map +0 -1
  567. package/lib/constants.d.ts.map +0 -1
  568. package/lib/constants.js.map +0 -1
  569. package/lib/contracts.d.ts.map +0 -1
  570. package/lib/contracts.js.map +0 -1
  571. package/lib/contractsPublic.d.ts.map +0 -1
  572. package/lib/contractsPublic.js.map +0 -1
  573. package/lib/createFile.d.ts +0 -22
  574. package/lib/createFile.d.ts.map +0 -1
  575. package/lib/createFile.js +0 -235
  576. package/lib/createFile.js.map +0 -1
  577. package/lib/createNewUtils.d.ts +0 -11
  578. package/lib/createNewUtils.d.ts.map +0 -1
  579. package/lib/createNewUtils.js +0 -63
  580. package/lib/createNewUtils.js.map +0 -1
  581. package/lib/createOdspCreateContainerRequest.d.ts.map +0 -1
  582. package/lib/createOdspCreateContainerRequest.js.map +0 -1
  583. package/lib/createOdspUrl.d.ts.map +0 -1
  584. package/lib/createOdspUrl.js.map +0 -1
  585. package/lib/epochTracker.d.ts.map +0 -1
  586. package/lib/epochTracker.js.map +0 -1
  587. package/lib/fetch.d.ts.map +0 -1
  588. package/lib/fetch.js.map +0 -1
  589. package/lib/fetchSnapshot.d.ts.map +0 -1
  590. package/lib/fetchSnapshot.js.map +0 -1
  591. package/lib/getFileLink.d.ts.map +0 -1
  592. package/lib/getFileLink.js.map +0 -1
  593. package/lib/getQueryString.d.ts.map +0 -1
  594. package/lib/getQueryString.js.map +0 -1
  595. package/lib/getSocketIo.d.ts +0 -11
  596. package/lib/getSocketIo.d.ts.map +0 -1
  597. package/lib/getSocketIo.js +0 -13
  598. package/lib/getSocketIo.js.map +0 -1
  599. package/lib/getUrlAndHeadersWithAuth.d.ts.map +0 -1
  600. package/lib/getUrlAndHeadersWithAuth.js.map +0 -1
  601. package/lib/index.d.ts +0 -21
  602. package/lib/index.d.ts.map +0 -1
  603. package/lib/index.js +0 -29
  604. package/lib/index.js.map +0 -1
  605. package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +0 -1
  606. package/lib/localOdspDriver/localOdspDocumentService.js.map +0 -1
  607. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +0 -1
  608. package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  609. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +0 -1
  610. package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  611. package/lib/odspCache.d.ts.map +0 -1
  612. package/lib/odspCache.js.map +0 -1
  613. package/lib/odspDeltaStorageService.d.ts.map +0 -1
  614. package/lib/odspDeltaStorageService.js.map +0 -1
  615. package/lib/odspDocumentDeltaConnection.d.ts.map +0 -1
  616. package/lib/odspDocumentDeltaConnection.js.map +0 -1
  617. package/lib/odspDocumentService.d.ts.map +0 -1
  618. package/lib/odspDocumentService.js +0 -360
  619. package/lib/odspDocumentService.js.map +0 -1
  620. package/lib/odspDocumentServiceFactory.d.ts.map +0 -1
  621. package/lib/odspDocumentServiceFactory.js.map +0 -1
  622. package/lib/odspDocumentServiceFactoryCore.d.ts.map +0 -1
  623. package/lib/odspDocumentServiceFactoryCore.js +0 -114
  624. package/lib/odspDocumentServiceFactoryCore.js.map +0 -1
  625. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +0 -1
  626. package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  627. package/lib/odspDocumentStorageManager.d.ts.map +0 -1
  628. package/lib/odspDocumentStorageManager.js +0 -352
  629. package/lib/odspDocumentStorageManager.js.map +0 -1
  630. package/lib/odspDocumentStorageServiceBase.d.ts.map +0 -1
  631. package/lib/odspDocumentStorageServiceBase.js.map +0 -1
  632. package/lib/odspDriverUrlResolver.d.ts.map +0 -1
  633. package/lib/odspDriverUrlResolver.js.map +0 -1
  634. package/lib/odspDriverUrlResolverForShareLink.d.ts.map +0 -1
  635. package/lib/odspDriverUrlResolverForShareLink.js.map +0 -1
  636. package/lib/odspError.d.ts.map +0 -1
  637. package/lib/odspError.js.map +0 -1
  638. package/lib/odspFluidFileLink.d.ts.map +0 -1
  639. package/lib/odspFluidFileLink.js.map +0 -1
  640. package/lib/odspPublicUtils.d.ts.map +0 -1
  641. package/lib/odspPublicUtils.js.map +0 -1
  642. package/lib/odspSnapshotParser.d.ts.map +0 -1
  643. package/lib/odspSnapshotParser.js.map +0 -1
  644. package/lib/odspSummaryUploadManager.d.ts.map +0 -1
  645. package/lib/odspSummaryUploadManager.js.map +0 -1
  646. package/lib/odspUrlHelper.d.ts.map +0 -1
  647. package/lib/odspUrlHelper.js.map +0 -1
  648. package/lib/odspUtils.d.ts.map +0 -1
  649. package/lib/odspUtils.js.map +0 -1
  650. package/lib/opsCaching.d.ts.map +0 -1
  651. package/lib/opsCaching.js.map +0 -1
  652. package/lib/packageVersion.d.ts.map +0 -1
  653. package/lib/packageVersion.js.map +0 -1
  654. package/lib/prefetchLatestSnapshot.d.ts.map +0 -1
  655. package/lib/prefetchLatestSnapshot.js +0 -53
  656. package/lib/prefetchLatestSnapshot.js.map +0 -1
  657. package/lib/retryErrorsStorageAdapter.d.ts.map +0 -1
  658. package/lib/retryErrorsStorageAdapter.js.map +0 -1
  659. package/lib/retryUtils.d.ts.map +0 -1
  660. package/lib/retryUtils.js.map +0 -1
  661. package/lib/vroom.d.ts.map +0 -1
  662. package/lib/vroom.js.map +0 -1
  663. package/lib/zipItDataRepresentationUtils.d.ts.map +0 -1
  664. package/lib/zipItDataRepresentationUtils.js.map +0 -1
  665. package/src/getSocketIo.ts +0 -14
  666. package/tsconfig.esnext.json +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"epochTracker.d.ts","sourceRoot":"","sources":["../src/epochTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epochTracker.d.ts","sourceRoot":"","sources":["../src/epochTracker.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,4 @@ const node_fetch_1 = __importDefault(require("node-fetch"));
14
14
  // in the browser's types from 'lib.dom.d.ts'.
15
15
  const fetch = async (request, config) => (0, node_fetch_1.default)(request, config);
16
16
  exports.fetch = fetch;
17
- //# sourceMappingURL=fetch.js.map
17
+ //# sourceMappingURL=fetch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.cjs","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,4DAIoB;AAEpB,yFAAyF;AACzF,gGAAgG;AAChG,8CAA8C;AACvC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAoB,EAAE,MAAoB,EAAqB,EAAE,CAC5F,IAAA,oBAAS,EAAC,OAA2B,EAAE,MAA0B,CAAwB,CAAC;AAD9E,QAAA,KAAK,SACyE","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tdefault as nodeFetch,\n\tRequestInfo as FetchRequestInfo,\n\tRequestInit as FetchRequestInit,\n} from \"node-fetch\";\n\n// The only purpose of this helper is to work around the slight misalignments between the\n// Browser's fetch API and the 'node-fetch' package by wrapping the call to the 'node-fetch' API\n// in the browser's types from 'lib.dom.d.ts'.\nexport const fetch = async (request: RequestInfo, config?: RequestInit): Promise<Response> =>\n\tnodeFetch(request as FetchRequestInfo, config as FetchRequestInit) as unknown as Response;\n"]}
package/dist/fetch.d.ts CHANGED
@@ -2,5 +2,5 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export declare const fetch: (request: RequestInfo, config?: RequestInit | undefined) => Promise<Response>;
5
+ export declare const fetch: (request: RequestInfo, config?: RequestInit) => Promise<Response>;
6
6
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,eAAO,MAAM,KAAK,YAAmB,WAAW,uCAAyB,QAAQ,QAAQ,CACI,CAAC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,eAAO,MAAM,KAAK,YAAmB,WAAW,WAAW,WAAW,KAAG,QAAQ,QAAQ,CACC,CAAC"}
@@ -3,35 +3,34 @@
3
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
6
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.downloadSnapshot = exports.validateBlobsAndTrees = exports.fetchSnapshotWithRedeem = exports.fetchSnapshot = exports.SnapshotFormatSupportType = void 0;
11
- const abort_controller_1 = __importDefault(require("abort-controller"));
7
+ exports.downloadSnapshot = exports.validateBlobsAndTrees = exports.evalBlobsAndTrees = exports.fetchSnapshotWithRedeem = exports.fetchSnapshot = exports.SnapshotFormatSupportType = void 0;
12
8
  const uuid_1 = require("uuid");
13
- const common_utils_1 = require("@fluidframework/common-utils");
14
- const driver_definitions_1 = require("@fluidframework/driver-definitions");
15
9
  const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
10
+ const client_utils_1 = require("@fluid-internal/client-utils");
11
+ const core_utils_1 = require("@fluidframework/core-utils");
12
+ const driver_base_1 = require("@fluidframework/driver-base");
13
+ const driver_definitions_1 = require("@fluidframework/driver-definitions");
16
14
  const odsp_driver_definitions_1 = require("@fluidframework/odsp-driver-definitions");
17
15
  const driver_utils_1 = require("@fluidframework/driver-utils");
18
- const contracts_1 = require("./contracts");
19
- const getQueryString_1 = require("./getQueryString");
20
- const getUrlAndHeadersWithAuth_1 = require("./getUrlAndHeadersWithAuth");
21
- const odspUtils_1 = require("./odspUtils");
22
- const odspSnapshotParser_1 = require("./odspSnapshotParser");
23
- const compactSnapshotParser_1 = require("./compactSnapshotParser");
24
- const ReadBufferUtils_1 = require("./ReadBufferUtils");
25
- const packageVersion_1 = require("./packageVersion");
16
+ const odsp_doclib_utils_1 = require("@fluidframework/odsp-doclib-utils");
17
+ const contracts_1 = require("./contracts.cjs");
18
+ const getQueryString_1 = require("./getQueryString.cjs");
19
+ const getUrlAndHeadersWithAuth_1 = require("./getUrlAndHeadersWithAuth.cjs");
20
+ const odspUtils_1 = require("./odspUtils.cjs");
21
+ const odspSnapshotParser_1 = require("./odspSnapshotParser.cjs");
22
+ const compactSnapshotParser_1 = require("./compactSnapshotParser.cjs");
23
+ const packageVersion_1 = require("./packageVersion.cjs");
26
24
  /**
27
25
  * Enum to support different types of snapshot formats.
26
+ * @alpha
28
27
  */
29
28
  var SnapshotFormatSupportType;
30
29
  (function (SnapshotFormatSupportType) {
31
30
  SnapshotFormatSupportType[SnapshotFormatSupportType["Json"] = 0] = "Json";
32
31
  SnapshotFormatSupportType[SnapshotFormatSupportType["Binary"] = 1] = "Binary";
33
32
  SnapshotFormatSupportType[SnapshotFormatSupportType["JsonAndBinary"] = 2] = "JsonAndBinary";
34
- })(SnapshotFormatSupportType = exports.SnapshotFormatSupportType || (exports.SnapshotFormatSupportType = {}));
33
+ })(SnapshotFormatSupportType || (exports.SnapshotFormatSupportType = SnapshotFormatSupportType = {}));
35
34
  /**
36
35
  * Fetches a snapshot from the server with a given version id.
37
36
  * @param snapshotUrl - snapshot url from where the odsp snapshot will be fetched
@@ -42,23 +41,20 @@ var SnapshotFormatSupportType;
42
41
  * @param forceAccessTokenViaAuthorizationHeader - whether to force passing given token via authorization header
43
42
  * @returns A promise of the snapshot and the status code of the response
44
43
  */
45
- async function fetchSnapshot(snapshotUrl, token, versionId, fetchFullSnapshot, forceAccessTokenViaAuthorizationHeader, logger, snapshotDownloader) {
44
+ async function fetchSnapshot(snapshotUrl,
45
+ // eslint-disable-next-line @rushstack/no-new-null
46
+ token, versionId, fetchFullSnapshot, forceAccessTokenViaAuthorizationHeader, logger, snapshotDownloader) {
46
47
  const path = `/trees/${versionId}`;
47
48
  let queryParams = {};
48
49
  if (fetchFullSnapshot) {
49
- if (versionId !== "latest") {
50
- queryParams = { channels: 1, blobs: 2 };
51
- }
52
- else {
53
- queryParams = { deltas: 1, channels: 1, blobs: 2 };
54
- }
50
+ queryParams = versionId !== "latest" ? { blobs: 2 } : { deltas: 1, blobs: 2 };
55
51
  }
56
52
  const queryString = (0, getQueryString_1.getQueryString)(queryParams);
57
53
  const { url, headers } = (0, getUrlAndHeadersWithAuth_1.getUrlAndHeadersWithAuth)(`${snapshotUrl}${path}${queryString}`, token, forceAccessTokenViaAuthorizationHeader);
58
- const response = await telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, {
54
+ const response = (await telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, {
59
55
  eventName: "fetchSnapshot",
60
56
  headers: Object.keys(headers).length !== 0 ? true : undefined,
61
- }, async () => snapshotDownloader(url, { headers }));
57
+ }, async () => snapshotDownloader(url, { headers })));
62
58
  return (0, odspSnapshotParser_1.convertOdspSnapshotToSnapshotTreeAndBlobs)(response.content);
63
59
  }
64
60
  exports.fetchSnapshot = fetchSnapshot;
@@ -66,28 +62,42 @@ async function fetchSnapshotWithRedeem(odspResolvedUrl, storageTokenFetcher, sna
66
62
  // back-compat: This block to be removed with #8784 when we only consume/consider odsp resolvers that are >= 0.51
67
63
  const sharingLinkToRedeem = odspResolvedUrl.sharingLinkToRedeem;
68
64
  if (sharingLinkToRedeem) {
69
- odspResolvedUrl.shareLinkInfo = Object.assign(Object.assign({}, odspResolvedUrl.shareLinkInfo), { sharingLinkToRedeem });
65
+ odspResolvedUrl.shareLinkInfo = { ...odspResolvedUrl.shareLinkInfo, sharingLinkToRedeem };
70
66
  }
71
- return fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache, enableRedeemFallback).catch(async (error) => {
67
+ return fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache, enableRedeemFallback)
68
+ .catch(async (error) => {
72
69
  if (enableRedeemFallback && isRedeemSharingLinkError(odspResolvedUrl, error)) {
73
70
  // Execute the redeem fallback
74
- logger.sendErrorEvent({
71
+ await redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, forceAccessTokenViaAuthorizationHeader);
72
+ const odspResolvedUrlWithoutShareLink = {
73
+ ...odspResolvedUrl,
74
+ shareLinkInfo: {
75
+ ...odspResolvedUrl.shareLinkInfo,
76
+ sharingLinkToRedeem: undefined,
77
+ },
78
+ };
79
+ // Log initial failure only if redeem succeeded - it points out to some bug somewhere
80
+ // If redeem failed, that most likely means user has no permissions to access a file,
81
+ // and thus it's not worth it logging extra errors - same error will be logged by end-to-end
82
+ // flow (container open) based on a failure above.
83
+ logger.sendTelemetryEvent({
75
84
  eventName: "RedeemFallback",
76
85
  errorType: error.errorType,
77
86
  }, error);
78
- await redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, forceAccessTokenViaAuthorizationHeader);
79
- const odspResolvedUrlWithoutShareLink = Object.assign(Object.assign({}, odspResolvedUrl), { shareLinkInfo: Object.assign(Object.assign({}, odspResolvedUrl.shareLinkInfo), { sharingLinkToRedeem: undefined }) });
80
87
  return fetchLatestSnapshotCore(odspResolvedUrlWithoutShareLink, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache);
81
88
  }
82
89
  else {
83
90
  throw error;
84
91
  }
85
- }).catch(async (error) => {
92
+ })
93
+ .catch(async (error) => {
86
94
  // Clear the cache on 401/403/404 on snapshot fetch from network because this means either the user doesn't
87
95
  // have permissions for the file or it was deleted. So, if we do not clear cache, we will continue fetching
88
96
  // snapshot from cache in the future.
89
- if (typeof error === "object" && error !== null && error.errorType === driver_definitions_1.DriverErrorType.authorizationError
90
- || error.errorType === driver_definitions_1.DriverErrorType.fileNotFoundOrAccessDeniedError) {
97
+ if ((typeof error === "object" &&
98
+ error !== null &&
99
+ error.errorType === driver_definitions_1.DriverErrorType.authorizationError) ||
100
+ error.errorType === driver_definitions_1.DriverErrorType.fileNotFoundOrAccessDeniedError) {
91
101
  await removeEntries();
92
102
  }
93
103
  throw error;
@@ -98,10 +108,9 @@ async function redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, f
98
108
  return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, {
99
109
  eventName: "RedeemShareLink",
100
110
  }, async () => (0, odspUtils_1.getWithRetryForTokenRefresh)(async (tokenFetchOptions) => {
101
- var _a, _b;
102
- (0, common_utils_1.assert)(!!((_a = odspResolvedUrl.shareLinkInfo) === null || _a === void 0 ? void 0 : _a.sharingLinkToRedeem), 0x1ed /* "Share link should be present" */);
111
+ (0, core_utils_1.assert)(!!odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem, 0x1ed /* "Share link should be present" */);
103
112
  const storageToken = await storageTokenFetcher(tokenFetchOptions, "RedeemShareLink");
104
- const encodedShareUrl = getEncodedShareUrl((_b = odspResolvedUrl.shareLinkInfo) === null || _b === void 0 ? void 0 : _b.sharingLinkToRedeem);
113
+ const encodedShareUrl = getEncodedShareUrl(odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem);
105
114
  const redeemUrl = `${odspResolvedUrl.siteUrl}/_api/v2.0/shares/${encodedShareUrl}`;
106
115
  const { url, headers } = (0, getUrlAndHeadersWithAuth_1.getUrlAndHeadersWithAuth)(redeemUrl, storageToken, forceAccessTokenViaAuthorizationHeader);
107
116
  headers.prefer = "redeemSharingLink";
@@ -110,18 +119,12 @@ async function redeemSharingLink(odspResolvedUrl, storageTokenFetcher, logger, f
110
119
  }
111
120
  async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, snapshotOptions, logger, snapshotDownloader, putInCache, enableRedeemFallback) {
112
121
  return (0, odspUtils_1.getWithRetryForTokenRefresh)(async (tokenFetchOptions) => {
113
- var _a;
114
122
  const storageToken = await storageTokenFetcher(tokenFetchOptions, "TreesLatest", true);
115
- (0, common_utils_1.assert)(storageToken !== null, 0x1e5 /* "Storage token should not be null" */);
116
- let controller;
117
- if ((snapshotOptions === null || snapshotOptions === void 0 ? void 0 : snapshotOptions.timeout) !== undefined) {
118
- controller = new abort_controller_1.default();
119
- setTimeout(() => controller.abort(), snapshotOptions.timeout);
120
- }
123
+ (0, core_utils_1.assert)(storageToken !== null, 0x1e5 /* "Storage token should not be null" */);
121
124
  const perfEvent = {
122
125
  eventName: "TreesLatest",
123
126
  attempts: tokenFetchOptions.refresh ? 2 : 1,
124
- shareLinkPresent: ((_a = odspResolvedUrl.shareLinkInfo) === null || _a === void 0 ? void 0 : _a.sharingLinkToRedeem) !== undefined,
127
+ shareLinkPresent: odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem !== undefined,
125
128
  isSummarizer: odspResolvedUrl.summarizer,
126
129
  redeemFallbackEnabled: enableRedeemFallback,
127
130
  };
@@ -134,38 +137,87 @@ async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, sna
134
137
  }
135
138
  // This event measures only successful cases of getLatest call (no tokens, no retries).
136
139
  return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, perfEvent, async (event) => {
137
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
138
- const response = await snapshotDownloader(odspResolvedUrl, storageToken, snapshotOptions, controller);
140
+ let controller;
141
+ let fetchTimeout;
142
+ if (snapshotOptions?.timeout !== undefined) {
143
+ controller = new AbortController();
144
+ fetchTimeout = setTimeout(() => controller.abort(), snapshotOptions.timeout);
145
+ }
146
+ const [response, fetchTime] = await (0, odspUtils_1.measureP)(async () => snapshotDownloader(odspResolvedUrl, storageToken, snapshotOptions, controller)).finally(() => {
147
+ // Clear the fetchTimeout once the response is fetched.
148
+ if (fetchTimeout !== undefined) {
149
+ clearTimeout(fetchTimeout);
150
+ fetchTimeout = undefined;
151
+ }
152
+ });
139
153
  const odspResponse = response.odspResponse;
140
154
  const contentType = odspResponse.headers.get("content-type");
141
- // Measure how much time we spend processing payload
142
- const snapshotParseEvent = telemetry_utils_1.PerformanceEvent.start(logger, {
143
- eventName: "SnapshotParse",
144
- driverVersion: packageVersion_1.pkgVersion,
155
+ const propsToLog = {
156
+ ...odspResponse.propsToLog,
145
157
  contentType,
146
- });
147
- const propsToLog = Object.assign(Object.assign({}, odspResponse.propsToLog), { contentType, accept: response.requestHeaders.accept, driverVersion: packageVersion_1.pkgVersion });
158
+ accept: response.requestHeaders.accept,
159
+ driverVersion: packageVersion_1.pkgVersion,
160
+ };
148
161
  let parsedSnapshotContents;
162
+ let contentTypeToRead;
163
+ if (contentType?.includes("application/ms-fluid")) {
164
+ contentTypeToRead = "application/ms-fluid";
165
+ }
166
+ else if (contentType?.includes("application/json")) {
167
+ contentTypeToRead = "application/json";
168
+ }
169
+ let parseTime;
170
+ let receiveContentTime;
149
171
  try {
150
- switch (contentType) {
172
+ switch (contentTypeToRead) {
151
173
  case "application/json": {
152
- const text = await odspResponse.content.text();
174
+ let text;
175
+ [text, receiveContentTime] = await (0, odspUtils_1.measureP)(async () => odspResponse.content.text().catch((err) =>
176
+ // Parsing can fail and message could contain full request URI, including
177
+ // tokens, etc. So do not log error object itself.
178
+ (0, odsp_doclib_utils_1.throwOdspNetworkError)("Error while parsing fetch response", odsp_doclib_utils_1.fetchIncorrectResponse, odspResponse.content, // response
179
+ undefined, // response text
180
+ propsToLog)));
153
181
  propsToLog.bodySize = text.length;
154
- const content = JSON.parse(text);
182
+ let content;
183
+ [content, parseTime] = (0, odspUtils_1.measure)(() => JSON.parse(text));
155
184
  validateBlobsAndTrees(content);
156
185
  const snapshotContents = (0, odspSnapshotParser_1.convertOdspSnapshotToSnapshotTreeAndBlobs)(content);
157
- parsedSnapshotContents = Object.assign(Object.assign({}, odspResponse), { content: snapshotContents });
186
+ parsedSnapshotContents = {
187
+ ...odspResponse,
188
+ content: {
189
+ ...snapshotContents,
190
+ telemetryProps: {},
191
+ },
192
+ };
158
193
  break;
159
194
  }
160
195
  case "application/ms-fluid": {
161
- const content = await odspResponse.content.arrayBuffer();
196
+ let content;
197
+ [content, receiveContentTime] = await (0, odspUtils_1.measureP)(async () => odspResponse.content.arrayBuffer().catch((err) =>
198
+ // Parsing can fail and message could contain full request URI, including
199
+ // tokens, etc. So do not log error object itself.
200
+ (0, odsp_doclib_utils_1.throwOdspNetworkError)("Error while parsing fetch response", odsp_doclib_utils_1.fetchIncorrectResponse, odspResponse.content, // response
201
+ undefined, // response text
202
+ propsToLog)));
162
203
  propsToLog.bodySize = content.byteLength;
163
- const snapshotContents = (0, compactSnapshotParser_1.parseCompactSnapshotResponse)(new ReadBufferUtils_1.ReadBuffer(new Uint8Array(content)));
204
+ let snapshotContents;
205
+ [snapshotContents, parseTime] = (0, odspUtils_1.measure)(() => (0, compactSnapshotParser_1.parseCompactSnapshotResponse)(new Uint8Array(content), logger));
164
206
  if (snapshotContents.snapshotTree.trees === undefined ||
165
207
  snapshotContents.snapshotTree.blobs === undefined) {
166
208
  throw new driver_utils_1.NonRetryableError("Returned odsp snapshot is malformed. No trees or blobs!", driver_definitions_1.DriverErrorType.incorrectServerResponse, propsToLog);
167
209
  }
168
- parsedSnapshotContents = Object.assign(Object.assign({}, odspResponse), { content: snapshotContents });
210
+ const props = snapshotContents.telemetryProps;
211
+ const slowTreeParseCodePaths = props.slowTreeStructureCount ?? 0;
212
+ const slowBlobParseCodePaths = props.slowBlobStructureCount ?? 0;
213
+ if (slowTreeParseCodePaths > 10 || slowBlobParseCodePaths > 10) {
214
+ logger.sendErrorEvent({
215
+ eventName: "SlowSnapshotParseCodePaths",
216
+ slowTreeStructureCount: slowTreeParseCodePaths,
217
+ slowBlobStructureCount: slowBlobParseCodePaths,
218
+ });
219
+ }
220
+ parsedSnapshotContents = { ...odspResponse, content: snapshotContents };
169
221
  break;
170
222
  }
171
223
  default:
@@ -180,75 +232,32 @@ async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, sna
180
232
  const enhancedError = (0, telemetry_utils_1.wrapError)(error, (errorMessage) => new driver_utils_1.NonRetryableError(`Error parsing snapshot response: ${errorMessage}`, driver_definitions_1.DriverErrorType.genericError, propsToLog));
181
233
  throw enhancedError;
182
234
  }
183
- (0, common_utils_1.assert)(parsedSnapshotContents !== undefined, 0x312 /* snapshot should be parsed */);
235
+ (0, core_utils_1.assert)(parsedSnapshotContents !== undefined, 0x312 /* snapshot should be parsed */);
184
236
  const snapshot = parsedSnapshotContents.content;
185
237
  const { trees, numBlobs, encodedBlobsSize } = evalBlobsAndTrees(snapshot);
186
- // From: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming
187
- // fetchStart: immediately before the browser starts to fetch the resource.
188
- // requestStart: immediately before the browser starts requesting the resource from the server
189
- // responseStart: immediately after the browser receives the first byte of the response from the server.
190
- // responseEnd: immediately after the browser receives the last byte of the resource
191
- // or immediately before the transport connection is closed, whichever comes first.
192
- // secureConnectionStart: immediately before the browser starts the handshake process to secure the
193
- // current connection. If a secure connection is not used, this property returns zero.
194
- // startTime: Time when the resource fetch started. This value is equivalent to fetchStart.
195
- // domainLookupStart: immediately before the browser starts the domain name lookup for the resource.
196
- // domainLookupEnd: immediately after the browser finishes the domain name lookup for the resource.
197
- // redirectStart: start time of the fetch which that initiates the redirect.
198
- // redirectEnd: immediately after receiving the last byte of the response of the last redirect.
199
- let dnsLookupTime; // domainLookupEnd - domainLookupStart
200
- let redirectTime; // redirectEnd - redirectStart
201
- let tcpHandshakeTime; // connectEnd - connectStart
202
- let secureConnectionTime; // connectEnd - secureConnectionStart
203
- let responseNetworkTime; // responsEnd - responseStart
204
- let fetchStartToResponseEndTime; // responseEnd - fetchStart
205
- let reqStartToResponseEndTime; // responseEnd - requestStart
206
- let networkTime; // responseEnd - startTime
207
- const spReqDuration = odspResponse.headers.get("sprequestduration");
208
- // getEntriesByType is only available in browser performance object
209
- const resources1 = (_b = (_a = common_utils_1.performance.getEntriesByType) === null || _a === void 0 ? void 0 : _a.call(common_utils_1.performance, "resource")) !== null && _b !== void 0 ? _b : [];
210
- // Usually the latest fetch call is to the end of resources, so we start from the end.
211
- for (let i = resources1.length - 1; i > 0; i--) {
212
- const indResTime = resources1[i];
213
- const resource_name = indResTime.name;
214
- const resource_initiatortype = indResTime.initiatorType;
215
- if ((resource_initiatortype.localeCompare("fetch") === 0)
216
- && (resource_name.localeCompare(response.requestUrl) === 0)) {
217
- redirectTime = indResTime.redirectEnd - indResTime.redirectStart;
218
- dnsLookupTime = indResTime.domainLookupEnd - indResTime.domainLookupStart;
219
- tcpHandshakeTime = indResTime.connectEnd - indResTime.connectStart;
220
- secureConnectionTime = (indResTime.secureConnectionStart > 0) ?
221
- (indResTime.connectEnd - indResTime.secureConnectionStart) : undefined;
222
- responseNetworkTime = (indResTime.responseStart > 0) ?
223
- (indResTime.responseEnd - indResTime.responseStart) : undefined;
224
- fetchStartToResponseEndTime = (indResTime.fetchStart > 0) ?
225
- (indResTime.responseEnd - indResTime.fetchStart) : undefined;
226
- reqStartToResponseEndTime = (indResTime.requestStart > 0) ?
227
- (indResTime.responseEnd - indResTime.requestStart) : undefined;
228
- networkTime = (indResTime.startTime > 0) ?
229
- (indResTime.responseEnd - indResTime.fetchStart) : undefined;
230
- if (spReqDuration !== undefined && networkTime !== undefined) {
231
- networkTime = networkTime - parseInt(spReqDuration, 10);
232
- }
233
- break;
234
- }
235
- }
236
238
  // There are some scenarios in ODSP where we cannot cache, trees/latest will explicitly tell us when we
237
239
  // cannot cache using an HTTP response header.
238
240
  const canCache = odspResponse.headers.get("disablebrowsercachingofusercontent") !== "true";
239
- const sequenceNumber = (_c = snapshot.sequenceNumber) !== null && _c !== void 0 ? _c : 0;
240
- const seqNumberFromOps = snapshot.ops && snapshot.ops.length > 0 ?
241
- snapshot.ops[0].sequenceNumber - 1 :
242
- undefined;
243
- if (!Number.isInteger(sequenceNumber)
244
- || seqNumberFromOps !== undefined && seqNumberFromOps !== sequenceNumber) {
245
- logger.sendErrorEvent({ eventName: "fetchSnapshotError", sequenceNumber, seqNumberFromOps });
241
+ const sequenceNumber = snapshot.sequenceNumber ?? 0;
242
+ const seqNumberFromOps = snapshot.ops && snapshot.ops.length > 0
243
+ ? snapshot.ops[0].sequenceNumber - 1
244
+ : undefined;
245
+ if (!Number.isInteger(sequenceNumber) ||
246
+ (seqNumberFromOps !== undefined && seqNumberFromOps !== sequenceNumber)) {
247
+ logger.sendErrorEvent({
248
+ eventName: "fetchSnapshotError",
249
+ sequenceNumber,
250
+ seqNumberFromOps,
251
+ });
246
252
  snapshot.sequenceNumber = undefined;
247
253
  }
248
254
  else if (canCache) {
249
255
  const fluidEpoch = odspResponse.headers.get("x-fluid-epoch");
250
- (0, common_utils_1.assert)(fluidEpoch !== undefined, 0x1e6 /* "Epoch should be present in response" */);
251
- const value = Object.assign(Object.assign({}, snapshot), { cacheEntryTime: Date.now() });
256
+ (0, core_utils_1.assert)(fluidEpoch !== undefined, 0x1e6 /* "Epoch should be present in response" */);
257
+ const value = {
258
+ ...snapshot,
259
+ cacheEntryTime: Date.now(),
260
+ };
252
261
  const valueWithEpoch = {
253
262
  value,
254
263
  fluidEpoch,
@@ -257,57 +266,59 @@ async function fetchLatestSnapshotCore(odspResolvedUrl, storageTokenFetcher, sna
257
266
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
258
267
  putInCache(valueWithEpoch);
259
268
  }
260
- snapshotParseEvent.end();
261
- event.end(Object.assign({ trees, blobs: (_e = (_d = snapshot.blobs) === null || _d === void 0 ? void 0 : _d.size) !== null && _e !== void 0 ? _e : 0, leafNodes: numBlobs, encodedBlobsSize,
262
- sequenceNumber, ops: (_g = (_f = snapshot.ops) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0, userOps: (_j = (_h = snapshot.ops) === null || _h === void 0 ? void 0 : _h.filter((op) => (0, driver_utils_1.isRuntimeMessage)(op)).length) !== null && _j !== void 0 ? _j : 0, headers: Object.keys(response.requestHeaders).length !== 0 ? true : undefined,
263
- // Interval between the first fetch until the last byte of the last redirect.
264
- redirectTime,
265
- // Interval between start and finish of the domain name lookup for the resource.
266
- dnsLookupTime,
267
- // Interval to receive all (first to last) bytes form the server.
268
- responseNetworkTime,
269
- // Time to establish the connection to the server to retrieve the resource.
270
- tcpHandshakeTime,
271
- // Time from the end of the connection until the inital handshake process to secure the connection.
272
- secureConnectionTime,
273
- // Interval between the initial fetch until the last byte is received.
274
- fetchStartToResponseEndTime,
275
- // Interval between starting the request for the resource until receiving the last byte.
276
- reqStartToResponseEndTime,
277
- // Interval between starting the request for the resource until receiving the last byte but
278
- // excluding the Snaphot request duration indicated on the snapshot response header.
279
- networkTime,
269
+ event.end({
270
+ trees,
271
+ blobs: snapshot.blobs?.size ?? 0,
272
+ leafNodes: numBlobs,
273
+ encodedBlobsSize,
274
+ sequenceNumber,
275
+ ops: snapshot.ops?.length ?? 0,
276
+ userOps: snapshot.ops?.filter((op) => (0, driver_utils_1.isRuntimeMessage)(op)).length ?? 0,
277
+ headers: Object.keys(response.requestHeaders).length !== 0 ? true : undefined,
278
+ // Measures time to make fetch call. Should be similar to
279
+ // fetchStartToResponseEndTime - receiveContentTime, i.e. it looks like it's time till first byte /
280
+ // end of response headers
281
+ fetchTime,
282
+ // time it takes client to parse payload. Same payload as in "SnapshotParse" event, here for
283
+ // easier analyzes.
284
+ parseTime,
285
+ // Time it takes to receive content (text of buffer) from Response object.
286
+ // This time likely is very closely correlated with networkTime, i.e. time it takes to receive
287
+ // actual content (starting measuring from first bite / end of response header)
288
+ receiveContentTime,
289
+ ...(0, driver_base_1.getW3CData)(response.requestUrl, "fetch"),
280
290
  // Sharing link telemetry regarding sharing link redeem status and performance. Ex: FRL; dur=100,
281
291
  // Azure Fluid Relay service; desc=S, FRP; desc=False. Here, FRL is the duration taken for redeem,
282
292
  // Azure Fluid Relay service is the redeem status (S means success), and FRP is a flag to indicate
283
293
  // if the permission has changed.
284
- sltelemetry: odspResponse.headers.get("x-fluid-sltelemetry") }, propsToLog));
294
+ sltelemetry: odspResponse.headers.get("x-fluid-sltelemetry"),
295
+ // All other props
296
+ ...propsToLog,
297
+ // Various perf counters and measures collected by binary parsing code:
298
+ // slowTreeStructureCount, slowBlobStructureCount, durationStructure, durationStrings,
299
+ // durationSnapshotTree, durationBlobs, etc.
300
+ ...parsedSnapshotContents.content.telemetryProps,
301
+ });
285
302
  return snapshot;
286
303
  }).catch((error) => {
287
304
  // We hit these errors in stress tests, under load
288
305
  // It's useful to try one more time in such case.
289
- if (typeof error === "object" && error !== null && (error.errorType === driver_definitions_1.DriverErrorType.fetchFailure ||
290
- error.errorType === odsp_driver_definitions_1.OdspErrorType.fetchTimeout)) {
306
+ if (typeof error === "object" &&
307
+ error !== null &&
308
+ (error.errorType === driver_definitions_1.DriverErrorType.fetchFailure ||
309
+ error.errorType === odsp_driver_definitions_1.OdspErrorType.fetchTimeout)) {
291
310
  error[odspUtils_1.getWithRetryForTokenRefreshRepeat] = true;
292
311
  }
293
312
  throw error;
294
313
  });
295
314
  });
296
315
  }
297
- function getFormBodyAndHeaders(odspResolvedUrl, storageToken, snapshotOptions, headers) {
298
- var _a, _b;
316
+ function getFormBodyAndHeaders(odspResolvedUrl, storageToken, headers) {
299
317
  const formBoundary = (0, uuid_1.v4)();
300
318
  const formParams = [];
301
319
  formParams.push(`--${formBoundary}`);
302
320
  formParams.push(`Authorization: Bearer ${storageToken}`);
303
321
  formParams.push(`X-HTTP-Method-Override: GET`);
304
- if (snapshotOptions !== undefined) {
305
- Object.entries(snapshotOptions).forEach(([key, value]) => {
306
- if (value !== undefined) {
307
- formParams.push(`${key}: ${value}`);
308
- }
309
- });
310
- }
311
322
  if (headers !== undefined) {
312
323
  Object.entries(headers).forEach(([key, value]) => {
313
324
  if (value !== undefined) {
@@ -315,8 +326,8 @@ function getFormBodyAndHeaders(odspResolvedUrl, storageToken, snapshotOptions, h
315
326
  }
316
327
  });
317
328
  }
318
- if ((_a = odspResolvedUrl.shareLinkInfo) === null || _a === void 0 ? void 0 : _a.sharingLinkToRedeem) {
319
- formParams.push(`sl: ${(_b = odspResolvedUrl.shareLinkInfo) === null || _b === void 0 ? void 0 : _b.sharingLinkToRedeem}`);
329
+ if (odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem) {
330
+ formParams.push(`sl: ${odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem}`);
320
331
  }
321
332
  formParams.push(`_post: 1`);
322
333
  formParams.push(`\r\n--${formBoundary}--`);
@@ -335,9 +346,10 @@ function evalBlobsAndTrees(snapshot) {
335
346
  }
336
347
  return { trees, numBlobs, encodedBlobsSize };
337
348
  }
349
+ exports.evalBlobsAndTrees = evalBlobsAndTrees;
338
350
  function validateBlobsAndTrees(snapshot) {
339
- (0, common_utils_1.assert)(snapshot.trees !== undefined, 0x200 /* "Returned odsp snapshot is malformed. No trees!" */);
340
- (0, common_utils_1.assert)(snapshot.blobs !== undefined, 0x201 /* "Returned odsp snapshot is malformed. No blobs!" */);
351
+ (0, core_utils_1.assert)(snapshot.trees !== undefined, 0x200 /* "Returned odsp snapshot is malformed. No trees!" */);
352
+ (0, core_utils_1.assert)(snapshot.blobs !== undefined, 0x201 /* "Returned odsp snapshot is malformed. No blobs!" */);
341
353
  }
342
354
  exports.validateBlobsAndTrees = validateBlobsAndTrees;
343
355
  function countTreesInSnapshotTree(snapshotTree) {
@@ -360,38 +372,45 @@ function countTreesInSnapshotTree(snapshotTree) {
360
372
  * @returns fetched snapshot.
361
373
  */
362
374
  async function downloadSnapshot(odspResolvedUrl, storageToken, logger, snapshotOptions, snapshotFormatFetchType, controller, epochTracker, scenarioName) {
363
- var _a;
364
375
  // back-compat: This block to be removed with #8784 when we only consume/consider odsp resolvers that are >= 0.51
365
376
  const sharingLinkToRedeem = odspResolvedUrl.sharingLinkToRedeem;
366
377
  if (sharingLinkToRedeem) {
367
- odspResolvedUrl.shareLinkInfo = Object.assign(Object.assign({}, odspResolvedUrl.shareLinkInfo), { sharingLinkToRedeem });
378
+ odspResolvedUrl.shareLinkInfo = { ...odspResolvedUrl.shareLinkInfo, sharingLinkToRedeem };
368
379
  }
369
380
  const snapshotUrl = odspResolvedUrl.endpoints.snapshotStorageUrl;
370
- const url = `${snapshotUrl}/trees/latest?ump=1`;
381
+ const queryParams = { ump: 1 };
382
+ if (snapshotOptions !== undefined) {
383
+ Object.entries(snapshotOptions).forEach(([key, value]) => {
384
+ // Exclude "timeout" from query string
385
+ if (value !== undefined && key !== "timeout") {
386
+ queryParams[key] = value;
387
+ }
388
+ });
389
+ }
390
+ const queryString = (0, getQueryString_1.getQueryString)(queryParams);
391
+ const url = `${snapshotUrl}/trees/latest${queryString}`;
371
392
  // The location of file can move on Spo in which case server returns 308(Permanent Redirect) error.
372
393
  // Adding below header will make VROOM API return 404 instead of 308 and browser can intercept it.
373
394
  // This error thrown by server will contain the new redirect location. Look at the 404 error parsing
374
395
  // for futher reference here: \packages\utils\odsp-doclib-utils\src\odspErrorUtils.ts
375
396
  const header = { prefer: "manualredirect" };
376
- const { body, headers } = getFormBodyAndHeaders(odspResolvedUrl, storageToken, snapshotOptions, header);
397
+ const { body, headers } = getFormBodyAndHeaders(odspResolvedUrl, storageToken, header);
377
398
  const fetchOptions = {
378
399
  body,
379
400
  headers,
380
- signal: controller === null || controller === void 0 ? void 0 : controller.signal,
401
+ signal: controller?.signal,
381
402
  method: "POST",
382
403
  };
383
404
  // Decide what snapshot format to fetch as per the feature gate.
384
405
  switch (snapshotFormatFetchType) {
385
- case SnapshotFormatSupportType.JsonAndBinary:
386
- headers.accept = `application/json, application/ms-fluid; v=${compactSnapshotParser_1.currentReadVersion}`;
387
- break;
388
406
  case SnapshotFormatSupportType.Binary:
389
407
  headers.accept = `application/ms-fluid; v=${compactSnapshotParser_1.currentReadVersion}`;
390
408
  break;
391
409
  default:
392
- headers.accept = "application/json";
410
+ // By default ask both versions and let the server decide the format.
411
+ headers.accept = `application/json, application/ms-fluid; v=${compactSnapshotParser_1.currentReadVersion}`;
393
412
  }
394
- const odspResponse = await ((_a = epochTracker === null || epochTracker === void 0 ? void 0 : epochTracker.fetch(url, fetchOptions, "treesLatest", true, scenarioName)) !== null && _a !== void 0 ? _a : (0, odspUtils_1.fetchHelper)(url, fetchOptions));
413
+ const odspResponse = await (epochTracker?.fetch(url, fetchOptions, "treesLatest", true, scenarioName) ?? (0, odspUtils_1.fetchHelper)(url, fetchOptions));
395
414
  return {
396
415
  odspResponse,
397
416
  requestHeaders: headers,
@@ -400,11 +419,11 @@ async function downloadSnapshot(odspResolvedUrl, storageToken, logger, snapshotO
400
419
  }
401
420
  exports.downloadSnapshot = downloadSnapshot;
402
421
  function isRedeemSharingLinkError(odspResolvedUrl, error) {
403
- var _a;
404
- if (((_a = odspResolvedUrl.shareLinkInfo) === null || _a === void 0 ? void 0 : _a.sharingLinkToRedeem) !== undefined
405
- && (typeof error === "object" && error !== null)
406
- && (error.errorType === driver_definitions_1.DriverErrorType.authorizationError
407
- || error.errorType === driver_definitions_1.DriverErrorType.fileNotFoundOrAccessDeniedError)) {
422
+ if (odspResolvedUrl.shareLinkInfo?.sharingLinkToRedeem !== undefined &&
423
+ typeof error === "object" &&
424
+ error !== null &&
425
+ (error.errorType === driver_definitions_1.DriverErrorType.authorizationError ||
426
+ error.errorType === driver_definitions_1.DriverErrorType.fileNotFoundOrAccessDeniedError)) {
408
427
  return true;
409
428
  }
410
429
  return false;
@@ -414,12 +433,9 @@ function getEncodedShareUrl(url) {
414
433
  * Encode the url to accepted format by Sharepoint
415
434
  * https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/shares_get
416
435
  */
417
- let encodedUrl = (0, common_utils_1.fromUtf8ToBase64)(encodeURI(url));
418
- encodedUrl = encodedUrl
419
- .replace(/=+$/g, "")
420
- .replace(/\//g, "_")
421
- .replace(/\+/g, "-");
436
+ let encodedUrl = (0, client_utils_1.fromUtf8ToBase64)(encodeURI(url));
437
+ encodedUrl = encodedUrl.replace(/=+$/g, "").replace(/\//g, "_").replace(/\+/g, "-");
422
438
  encodedUrl = "u!".concat(encodedUrl);
423
439
  return encodedUrl;
424
440
  }
425
- //# sourceMappingURL=fetchSnapshot.js.map
441
+ //# sourceMappingURL=fetchSnapshot.cjs.map