@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
@@ -3,108 +3,170 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { default as AbortController } from "abort-controller";
7
- import { ITelemetryBaseLogger } from "@fluidframework/common-definitions";
8
- import { assert } from "@fluidframework/common-utils";
6
+ import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
7
+ import { performance } from "@fluid-internal/client-utils";
8
+ import { assert, Deferred } from "@fluidframework/core-utils";
9
9
  import { IResolvedUrl } from "@fluidframework/driver-definitions";
10
10
  import {
11
- IOdspResolvedUrl,
12
- IPersistedCache,
13
- ISnapshotOptions,
14
- OdspResourceTokenFetchOptions,
15
- TokenFetcher,
16
- IOdspUrlParts,
11
+ IOdspResolvedUrl,
12
+ IPersistedCache,
13
+ ISnapshotOptions,
14
+ OdspResourceTokenFetchOptions,
15
+ TokenFetcher,
16
+ IOdspUrlParts,
17
+ getKeyForCacheEntry,
17
18
  } from "@fluidframework/odsp-driver-definitions";
18
- import { ChildLogger, PerformanceEvent } from "@fluidframework/telemetry-utils";
19
+ import { createChildLogger, PerformanceEvent } from "@fluidframework/telemetry-utils";
19
20
  import {
20
- createCacheSnapshotKey,
21
- createOdspLogger,
22
- getOdspResolvedUrl,
23
- toInstrumentedOdspTokenFetcher,
21
+ createCacheSnapshotKey,
22
+ createOdspLogger,
23
+ getOdspResolvedUrl,
24
+ toInstrumentedOdspTokenFetcher,
24
25
  } from "./odspUtils";
25
- import { downloadSnapshot, fetchSnapshotWithRedeem, SnapshotFormatSupportType } from "./fetchSnapshot";
26
+ import {
27
+ downloadSnapshot,
28
+ fetchSnapshotWithRedeem,
29
+ SnapshotFormatSupportType,
30
+ } from "./fetchSnapshot";
26
31
  import { IVersionedValueWithEpoch } from "./contracts";
32
+ import { IPrefetchSnapshotContents } from "./odspCache";
33
+ import { OdspDocumentServiceFactory } from "./odspDocumentServiceFactory";
27
34
 
28
35
  /**
29
36
  * Function to prefetch the snapshot and cached it in the persistant cache, so that when the container is loaded
30
37
  * the cached latest snapshot could be used and removes the network call from the critical path.
38
+ *
31
39
  * @param resolvedUrl - Resolved url to fetch the snapshot.
32
40
  * @param getStorageToken - function that can provide the storage token for a given site. This is
33
- * is also referred to as the "VROOM" token in SPO.
41
+ * is also referred to as the "VROOM" token in SPO.
34
42
  * @param persistedCache - Cache to store the fetched snapshot.
35
43
  * @param forceAccessTokenViaAuthorizationHeader - whether to force passing given token via authorization header.
36
44
  * @param logger - Logger to have telemetry events.
37
45
  * @param hostSnapshotFetchOptions - Options to fetch the snapshot if any. Otherwise default will be used.
38
46
  * @param enableRedeemFallback - True to have the sharing link redeem fallback in case the Trees Latest/Redeem
39
- * 1RT call fails with redeem error. During fallback it will first redeem the sharing link and then make
40
- * the Trees latest call.
41
- * @deprecated - This will be replaced with snapshotFormatFetchType.
47
+ * 1RT call fails with redeem error. During fallback it will first redeem the sharing link and then make
48
+ * the Trees latest call.
49
+ * Note: this can be considered deprecated - it will be replaced with `snapshotFormatFetchType`.
42
50
  * @param fetchBinarySnapshotFormat - Control if we want to fetch binary format snapshot.
43
51
  * @param snapshotFormatFetchType - Snapshot format to fetch.
44
- * @returns - True if the snapshot is cached, false otherwise.
52
+ * @param odspDocumentServiceFactory - factory to access the non persistent cache and store the prefetch promise.
53
+ *
54
+ * @returns `true` if the snapshot is cached, `false` otherwise.
55
+ * @alpha
45
56
  */
46
57
  export async function prefetchLatestSnapshot(
47
- resolvedUrl: IResolvedUrl,
48
- getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
49
- persistedCache: IPersistedCache,
50
- forceAccessTokenViaAuthorizationHeader: boolean,
51
- logger: ITelemetryBaseLogger,
52
- hostSnapshotFetchOptions: ISnapshotOptions | undefined,
53
- enableRedeemFallback: boolean = true,
54
- fetchBinarySnapshotFormat?: boolean,
55
- snapshotFormatFetchType?: SnapshotFormatSupportType,
58
+ resolvedUrl: IResolvedUrl,
59
+ getStorageToken: TokenFetcher<OdspResourceTokenFetchOptions>,
60
+ persistedCache: IPersistedCache,
61
+ forceAccessTokenViaAuthorizationHeader: boolean,
62
+ logger: ITelemetryBaseLogger,
63
+ hostSnapshotFetchOptions: ISnapshotOptions | undefined,
64
+ enableRedeemFallback: boolean = true,
65
+ fetchBinarySnapshotFormat?: boolean,
66
+ snapshotFormatFetchType?: SnapshotFormatSupportType,
67
+ odspDocumentServiceFactory?: OdspDocumentServiceFactory,
56
68
  ): Promise<boolean> {
57
- const odspLogger = createOdspLogger(ChildLogger.create(logger, "PrefetchSnapshot"));
58
- const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
69
+ const odspLogger = createOdspLogger(
70
+ createChildLogger({ logger, namespace: "PrefetchSnapshot" }),
71
+ );
72
+ const odspResolvedUrl = getOdspResolvedUrl(resolvedUrl);
59
73
 
60
- const resolvedUrlData: IOdspUrlParts = {
61
- siteUrl: odspResolvedUrl.siteUrl,
62
- driveId: odspResolvedUrl.driveId,
63
- itemId: odspResolvedUrl.itemId,
64
- };
65
- const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
66
- odspLogger,
67
- resolvedUrlData,
68
- getStorageToken,
69
- true /* throwOnNullToken */,
70
- );
74
+ const resolvedUrlData: IOdspUrlParts = {
75
+ siteUrl: odspResolvedUrl.siteUrl,
76
+ driveId: odspResolvedUrl.driveId,
77
+ itemId: odspResolvedUrl.itemId,
78
+ };
79
+ const storageTokenFetcher = toInstrumentedOdspTokenFetcher(
80
+ odspLogger,
81
+ resolvedUrlData,
82
+ getStorageToken,
83
+ true /* throwOnNullToken */,
84
+ );
71
85
 
72
- const snapshotDownloader = async (
73
- finalOdspResolvedUrl: IOdspResolvedUrl,
74
- storageToken: string,
75
- snapshotOptions: ISnapshotOptions | undefined,
76
- controller?: AbortController,
77
- ) => {
78
- return downloadSnapshot(
79
- finalOdspResolvedUrl, storageToken, odspLogger, snapshotOptions, snapshotFormatFetchType, controller);
80
- };
81
- const snapshotKey = createCacheSnapshotKey(odspResolvedUrl);
82
- let cacheP: Promise<void> | undefined;
83
- const putInCache = async (valueWithEpoch: IVersionedValueWithEpoch) => {
84
- cacheP = persistedCache.put(
85
- snapshotKey,
86
- valueWithEpoch,
87
- );
88
- return cacheP;
89
- };
90
- const removeEntries = async () => persistedCache.removeEntries(snapshotKey.file);
91
- return PerformanceEvent.timedExecAsync(
92
- odspLogger,
93
- { eventName: "PrefetchLatestSnapshot" },
94
- async () => {
95
- await fetchSnapshotWithRedeem(
96
- odspResolvedUrl,
97
- storageTokenFetcher,
98
- hostSnapshotFetchOptions,
99
- forceAccessTokenViaAuthorizationHeader,
100
- odspLogger,
101
- snapshotDownloader,
102
- putInCache,
103
- removeEntries,
104
- enableRedeemFallback,
105
- );
106
- assert(cacheP !== undefined, 0x1e7 /* "caching was not performed!" */);
107
- await cacheP;
108
- return true;
109
- }).catch(async (error) => false);
86
+ const snapshotDownloader = async (
87
+ finalOdspResolvedUrl: IOdspResolvedUrl,
88
+ storageToken: string,
89
+ snapshotOptions: ISnapshotOptions | undefined,
90
+ controller?: AbortController,
91
+ ) => {
92
+ return downloadSnapshot(
93
+ finalOdspResolvedUrl,
94
+ storageToken,
95
+ odspLogger,
96
+ snapshotOptions,
97
+ undefined,
98
+ controller,
99
+ );
100
+ };
101
+ const snapshotKey = createCacheSnapshotKey(odspResolvedUrl);
102
+ let cacheP: Promise<void> | undefined;
103
+ let snapshotEpoch: string | undefined;
104
+ const putInCache = async (valueWithEpoch: IVersionedValueWithEpoch) => {
105
+ snapshotEpoch = valueWithEpoch.fluidEpoch;
106
+ cacheP = persistedCache.put(snapshotKey, valueWithEpoch);
107
+ return cacheP;
108
+ };
109
+ const removeEntries = async () => persistedCache.removeEntries(snapshotKey.file);
110
+ return PerformanceEvent.timedExecAsync(
111
+ odspLogger,
112
+ { eventName: "PrefetchLatestSnapshot" },
113
+ async () => {
114
+ const prefetchStartTime = performance.now();
115
+ // Add the deferred promise to the cache, so that it can be leveraged while loading the container.
116
+ const snapshotContentsWithEpochP = new Deferred<IPrefetchSnapshotContents>();
117
+ const nonPersistentCacheKey = getKeyForCacheEntry(snapshotKey);
118
+ const snapshotNonPersistentCache =
119
+ odspDocumentServiceFactory?.snapshotPrefetchResultCache;
120
+ snapshotNonPersistentCache?.add(
121
+ nonPersistentCacheKey,
122
+ async () => snapshotContentsWithEpochP.promise,
123
+ );
124
+ await fetchSnapshotWithRedeem(
125
+ odspResolvedUrl,
126
+ storageTokenFetcher,
127
+ hostSnapshotFetchOptions,
128
+ forceAccessTokenViaAuthorizationHeader,
129
+ odspLogger,
130
+ snapshotDownloader,
131
+ putInCache,
132
+ removeEntries,
133
+ enableRedeemFallback,
134
+ )
135
+ .then(async (value) => {
136
+ assert(
137
+ !!snapshotEpoch,
138
+ 0x585 /* prefetched snapshot should have a valid epoch */,
139
+ );
140
+ snapshotContentsWithEpochP.resolve({
141
+ ...value,
142
+ fluidEpoch: snapshotEpoch,
143
+ prefetchStartTime,
144
+ });
145
+ assert(cacheP !== undefined, 0x1e7 /* "caching was not performed!" */);
146
+ await cacheP;
147
+ // Schedule it to remove from cache after 5s.
148
+ // 1. While it's in snapshotNonPersistentCache: Load flow will use this value and will not attempt
149
+ // to fetch snapshot from network again. That's the best from perf POV, but cache will not be
150
+ // updated if we keep it in this cache, thus we want to eventually remove snapshot from this cache.
151
+ // 2. After it's removed from snapshotNonPersistentCache: snapshot is present in persistent cache,
152
+ // so we sill still use it (in accordance with cache policy controlled by host). But load flow will
153
+ // also fetch snapshot (in parallel) from storage and update cache. This is fine long term,
154
+ // but is an extra cost (unneeded network call). However since it is 5s older, new network call
155
+ // will update the snapshot in cache.
156
+ setTimeout(() => {
157
+ snapshotNonPersistentCache?.remove(nonPersistentCacheKey);
158
+ }, 5000);
159
+ })
160
+ .catch((err) => {
161
+ // Remove it from the non persistent cache if an error occured.
162
+ snapshotNonPersistentCache?.remove(nonPersistentCacheKey);
163
+ snapshotContentsWithEpochP.reject(err);
164
+ throw err;
165
+ });
166
+ return true;
167
+ },
168
+ ).catch(async (error) => {
169
+ odspLogger.sendErrorEvent({ eventName: "PrefetchLatestSnapshotError" }, error);
170
+ return false;
171
+ });
110
172
  }
@@ -3,98 +3,113 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { LoggingError } from "@fluidframework/telemetry-utils";
6
+ import { LoggingError, ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
7
7
  import {
8
- IDocumentStorageService,
9
- IDocumentStorageServicePolicies,
10
- ISummaryContext,
8
+ FetchSource,
9
+ IDocumentStorageService,
10
+ IDocumentStorageServicePolicies,
11
+ ISummaryContext,
11
12
  } from "@fluidframework/driver-definitions";
12
13
  import {
13
- ICreateBlobResponse,
14
- ISnapshotTree,
15
- ISummaryHandle,
16
- ISummaryTree,
17
- IVersion,
14
+ ICreateBlobResponse,
15
+ ISnapshotTree,
16
+ ISummaryHandle,
17
+ ISummaryTree,
18
+ IVersion,
18
19
  } from "@fluidframework/protocol-definitions";
19
- import { IDisposable, ITelemetryLogger } from "@fluidframework/common-definitions";
20
+ import { IDisposable } from "@fluidframework/core-interfaces";
20
21
  import { runWithRetry } from "./retryUtils";
21
22
 
22
23
  export class RetryErrorsStorageAdapter implements IDocumentStorageService, IDisposable {
23
- private _disposed = false;
24
- constructor(
25
- private readonly internalStorageService: IDocumentStorageService,
26
- private readonly logger: ITelemetryLogger,
27
- ) {
28
- }
24
+ private _disposed = false;
25
+ constructor(
26
+ private readonly internalStorageService: IDocumentStorageService,
27
+ private readonly logger: ITelemetryLoggerExt,
28
+ ) {}
29
29
 
30
- public get policies(): IDocumentStorageServicePolicies | undefined {
31
- return this.internalStorageService.policies;
32
- }
33
- public get disposed() { return this._disposed; }
34
- public dispose() {
35
- this._disposed = true;
36
- }
30
+ public get policies(): IDocumentStorageServicePolicies | undefined {
31
+ return this.internalStorageService.policies;
32
+ }
33
+ public get disposed() {
34
+ return this._disposed;
35
+ }
36
+ public dispose() {
37
+ this._disposed = true;
38
+ }
37
39
 
38
- public get repositoryUrl(): string {
39
- return this.internalStorageService.repositoryUrl;
40
- }
40
+ public get repositoryUrl(): string {
41
+ return this.internalStorageService.repositoryUrl;
42
+ }
41
43
 
42
- public async getSnapshotTree(version?: IVersion): Promise<ISnapshotTree | null> {
43
- return this.runWithRetry(
44
- async () => this.internalStorageService.getSnapshotTree(version),
45
- "storage_getSnapshotTree",
46
- );
47
- }
44
+ // eslint-disable-next-line @rushstack/no-new-null
45
+ public async getSnapshotTree(version?: IVersion): Promise<ISnapshotTree | null> {
46
+ return this.runWithRetry(
47
+ async () => this.internalStorageService.getSnapshotTree(version),
48
+ "storage_getSnapshotTree",
49
+ );
50
+ }
48
51
 
49
- public async readBlob(id: string): Promise<ArrayBufferLike> {
50
- return this.runWithRetry(
51
- async () => this.internalStorageService.readBlob(id),
52
- "storage_readBlob",
53
- );
54
- }
52
+ public async readBlob(id: string): Promise<ArrayBufferLike> {
53
+ return this.runWithRetry(
54
+ async () => this.internalStorageService.readBlob(id),
55
+ "storage_readBlob",
56
+ );
57
+ }
55
58
 
56
- public async getVersions(versionId: string | null, count: number): Promise<IVersion[]> {
57
- return this.runWithRetry(
58
- async () => this.internalStorageService.getVersions(versionId, count),
59
- "storage_getVersions",
60
- );
61
- }
59
+ public async getVersions(
60
+ // eslint-disable-next-line @rushstack/no-new-null
61
+ versionId: string | null,
62
+ count: number,
63
+ scenarioName?: string,
64
+ fetchSource?: FetchSource,
65
+ ): Promise<IVersion[]> {
66
+ return this.runWithRetry(
67
+ async () =>
68
+ this.internalStorageService.getVersions(
69
+ versionId,
70
+ count,
71
+ scenarioName,
72
+ fetchSource,
73
+ ),
74
+ "storage_getVersions",
75
+ );
76
+ }
62
77
 
63
- public async uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string> {
64
- // Creation flow with attachment blobs - need to do retries!
65
- return this.runWithRetry(
66
- async () => this.internalStorageService.uploadSummaryWithContext(summary, context),
67
- "storage_uploadSummaryWithContext",
68
- );
69
- }
78
+ public async uploadSummaryWithContext(
79
+ summary: ISummaryTree,
80
+ context: ISummaryContext,
81
+ ): Promise<string> {
82
+ // Creation flow with attachment blobs - need to do retries!
83
+ return this.runWithRetry(
84
+ async () => this.internalStorageService.uploadSummaryWithContext(summary, context),
85
+ "storage_uploadSummaryWithContext",
86
+ );
87
+ }
70
88
 
71
- public async downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree> {
72
- return this.runWithRetry(
73
- async () => this.internalStorageService.downloadSummary(handle),
74
- "storage_downloadSummary",
75
- );
76
- }
89
+ public async downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree> {
90
+ return this.runWithRetry(
91
+ async () => this.internalStorageService.downloadSummary(handle),
92
+ "storage_downloadSummary",
93
+ );
94
+ }
77
95
 
78
- public async createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse> {
79
- return this.runWithRetry(
80
- async () => this.internalStorageService.createBlob(file),
81
- "storage_createBlob",
82
- );
83
- }
96
+ public async createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse> {
97
+ return this.runWithRetry(
98
+ async () => this.internalStorageService.createBlob(file),
99
+ "storage_createBlob",
100
+ );
101
+ }
84
102
 
85
- private checkStorageDisposed() {
86
- if (this._disposed) {
87
- // pre-0.58 error message: storageServiceDisposedCannotRetry
88
- throw new LoggingError("Storage Service is disposed. Cannot retry", { canRetry: false });
89
- }
90
- }
103
+ private checkStorageDisposed() {
104
+ if (this._disposed) {
105
+ // pre-0.58 error message: storageServiceDisposedCannotRetry
106
+ throw new LoggingError("Storage Service is disposed. Cannot retry", {
107
+ canRetry: false,
108
+ });
109
+ }
110
+ }
91
111
 
92
- private async runWithRetry<T>(api: () => Promise<T>, callName: string): Promise<T> {
93
- return runWithRetry(
94
- api,
95
- callName,
96
- this.logger,
97
- () => this.checkStorageDisposed(),
98
- );
99
- }
112
+ private async runWithRetry<T>(api: () => Promise<T>, callName: string): Promise<T> {
113
+ return runWithRetry(api, callName, this.logger, () => this.checkStorageDisposed());
114
+ }
100
115
  }
package/src/retryUtils.ts CHANGED
@@ -3,9 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryLogger } from "@fluidframework/common-definitions";
7
- import { delay, performance } from "@fluidframework/common-utils";
8
- import { canRetryOnError } from "@fluidframework/driver-utils";
6
+ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
7
+ import { performance } from "@fluid-internal/client-utils";
8
+ import { delay } from "@fluidframework/core-utils";
9
+ import { canRetryOnError, getRetryDelayFromError } from "@fluidframework/driver-utils";
9
10
  import { OdspErrorType } from "@fluidframework/odsp-driver-definitions";
10
11
  import { Odsp409Error } from "./epochTracker";
11
12
 
@@ -13,62 +14,84 @@ import { Odsp409Error } from "./epochTracker";
13
14
  * This method retries only for retriable coherency and service read only errors.
14
15
  */
15
16
  export async function runWithRetry<T>(
16
- api: () => Promise<T>,
17
- callName: string,
18
- logger: ITelemetryLogger,
19
- checkDisposed?: () => void,
17
+ api: () => Promise<T>,
18
+ callName: string,
19
+ logger: ITelemetryLoggerExt,
20
+ checkDisposed?: () => void,
20
21
  ): Promise<T> {
21
- let retryAfter = 1000;
22
- const start = performance.now();
23
- let lastError: any;
24
- for (let attempts = 1; ; attempts++) {
25
- if (checkDisposed !== undefined) {
26
- checkDisposed();
27
- }
28
- try {
29
- const result = await api();
30
- if (attempts > 1) {
31
- logger.sendTelemetryEvent(
32
- {
33
- eventName: "MultipleRetries",
34
- callName,
35
- attempts,
36
- duration: performance.now() - start,
37
- },
38
- lastError);
39
- }
40
- return result;
41
- } catch (error: any) {
42
- const canRetry = canRetryOnError(error);
22
+ let retryAfter = 1000;
23
+ const start = performance.now();
24
+ let lastError: any;
25
+ for (let attempts = 1; ; attempts++) {
26
+ if (checkDisposed !== undefined) {
27
+ checkDisposed();
28
+ }
29
+ try {
30
+ const result = await api();
31
+ if (attempts > 1) {
32
+ logger.sendTelemetryEvent(
33
+ {
34
+ eventName: "MultipleRetries",
35
+ callName,
36
+ attempts,
37
+ duration: performance.now() - start,
38
+ },
39
+ lastError,
40
+ );
41
+ }
42
+ return result;
43
+ } catch (error: any) {
44
+ const canRetry = canRetryOnError(error);
43
45
 
44
- const coherencyError = error?.[Odsp409Error] === true;
45
- const serviceReadonlyError = error?.errorType === OdspErrorType.serviceReadOnly;
46
- // Retry for retriable 409 coherency errors or serviceReadOnly errors.
47
- if (!(coherencyError || serviceReadonlyError || canRetry)) {
48
- throw error;
49
- }
46
+ const coherencyError = error?.[Odsp409Error] === true;
47
+ const serviceReadonlyError = error?.errorType === OdspErrorType.serviceReadOnly;
50
48
 
51
- // SPO itself does number of retries internally before returning 409 to client.
52
- // That multiplied to 5 suggests need to reconsider current design, as client spends
53
- // too much time / bandwidth doing the same thing without any progress.
54
- if (attempts === 5) {
55
- logger.sendErrorEvent(
56
- {
57
- eventName: coherencyError ?
58
- "CoherencyErrorTooManyRetries" : "ServiceReadonlyErrorTooManyRetries",
59
- callName,
60
- attempts,
61
- duration: performance.now() - start, // record total wait time.
62
- },
63
- error);
64
- // Fail hard.
65
- error.canRetry = false;
66
- throw error;
67
- }
49
+ // logging the first failed retry instead of every attempt. We want to avoid filling telemetry
50
+ // when we have tight loop of retrying in offline mode, but we also want to know what caused
51
+ // the failure in the first place
52
+ if (attempts === 1) {
53
+ logger.sendTelemetryEvent(
54
+ {
55
+ eventName: `${callName}_firstFailed`,
56
+ callName,
57
+ attempts,
58
+ duration: performance.now() - start, // record total wait time.
59
+ },
60
+ error,
61
+ );
62
+ }
68
63
 
69
- await delay(Math.floor(retryAfter));
70
- retryAfter += retryAfter / 4 * (1 + Math.random());
71
- lastError = error;
72
- }
73
- }
64
+ // Retry for retriable 409 coherency errors or serviceReadOnly errors. These errors are always retriable
65
+ // unless someone specifically set canRetry = false on the error like in fetchSnapshot() flow. So in
66
+ // that case don't retry.
67
+ if (!((coherencyError || serviceReadonlyError) && canRetry)) {
68
+ throw error;
69
+ }
70
+
71
+ // SPO itself does number of retries internally before returning 409 to client.
72
+ // That multiplied to 5 suggests need to reconsider current design, as client spends
73
+ // too much time / bandwidth doing the same thing without any progress.
74
+ if (attempts === 5) {
75
+ logger.sendErrorEvent(
76
+ {
77
+ eventName: coherencyError
78
+ ? "CoherencyErrorTooManyRetries"
79
+ : "ServiceReadonlyErrorTooManyRetries",
80
+ callName,
81
+ attempts,
82
+ duration: performance.now() - start, // record total wait time.
83
+ },
84
+ error,
85
+ );
86
+ // Fail hard.
87
+ error.canRetry = false;
88
+ throw error;
89
+ }
90
+
91
+ retryAfter = getRetryDelayFromError(error) ?? retryAfter;
92
+ await delay(Math.floor(retryAfter));
93
+ retryAfter += (retryAfter / 4) * (1 + Math.random());
94
+ lastError = error;
95
+ }
96
+ }
74
97
  }
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { io } from "socket.io-client";
7
+
8
+ export const SocketIOClientStatic = io;