@fluidframework/driver-utils 1.4.0-115997 → 2.0.0-dev-rc.1.0.0.224419

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 (390) hide show
  1. package/.eslintrc.js +17 -7
  2. package/.mocharc.js +12 -0
  3. package/CHANGELOG.md +141 -0
  4. package/README.md +68 -1
  5. package/api-extractor-lint.json +4 -0
  6. package/api-extractor.json +2 -2
  7. package/api-report/driver-utils.api.md +401 -0
  8. package/dist/adapters/compression/compressionTypes.cjs +20 -0
  9. package/dist/adapters/compression/compressionTypes.cjs.map +1 -0
  10. package/dist/adapters/compression/compressionTypes.d.ts +23 -0
  11. package/dist/adapters/compression/compressionTypes.d.ts.map +1 -0
  12. package/dist/adapters/compression/documentServiceCompressionAdapter.cjs +23 -0
  13. package/dist/adapters/compression/documentServiceCompressionAdapter.cjs.map +1 -0
  14. package/dist/adapters/compression/documentServiceCompressionAdapter.d.ts +13 -0
  15. package/dist/adapters/compression/documentServiceCompressionAdapter.d.ts.map +1 -0
  16. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.cjs +31 -0
  17. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.cjs.map +1 -0
  18. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts +16 -0
  19. package/dist/adapters/compression/documentServiceFactoryCompressionAdapter.d.ts.map +1 -0
  20. package/dist/adapters/compression/index.cjs +15 -0
  21. package/dist/adapters/compression/index.cjs.map +1 -0
  22. package/dist/adapters/compression/index.d.ts +8 -0
  23. package/dist/adapters/compression/index.d.ts.map +1 -0
  24. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.cjs +370 -0
  25. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.cjs.map +1 -0
  26. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts +165 -0
  27. package/dist/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.ts.map +1 -0
  28. package/dist/adapters/compression/summaryblob/index.cjs +11 -0
  29. package/dist/adapters/compression/summaryblob/index.cjs.map +1 -0
  30. package/dist/adapters/compression/summaryblob/index.d.ts +6 -0
  31. package/dist/adapters/compression/summaryblob/index.d.ts.map +1 -0
  32. package/dist/adapters/index.cjs +14 -0
  33. package/dist/adapters/index.cjs.map +1 -0
  34. package/dist/adapters/index.d.ts +7 -0
  35. package/dist/adapters/index.d.ts.map +1 -0
  36. package/dist/adapters/predefinedAdapters.cjs +52 -0
  37. package/dist/adapters/predefinedAdapters.cjs.map +1 -0
  38. package/dist/adapters/predefinedAdapters.d.ts +21 -0
  39. package/dist/adapters/predefinedAdapters.d.ts.map +1 -0
  40. package/dist/blob.cjs +65 -0
  41. package/dist/blob.cjs.map +1 -0
  42. package/dist/blob.d.ts +56 -0
  43. package/dist/blob.d.ts.map +1 -0
  44. package/dist/{buildSnapshotTree.js → buildSnapshotTree.cjs} +7 -5
  45. package/dist/buildSnapshotTree.cjs.map +1 -0
  46. package/dist/buildSnapshotTree.d.ts +1 -0
  47. package/dist/buildSnapshotTree.d.ts.map +1 -1
  48. package/dist/documentServiceFactoryProxy.cjs +27 -0
  49. package/dist/documentServiceFactoryProxy.cjs.map +1 -0
  50. package/dist/documentServiceFactoryProxy.d.ts +19 -0
  51. package/dist/documentServiceFactoryProxy.d.ts.map +1 -0
  52. package/dist/documentServiceProxy.cjs +36 -0
  53. package/dist/documentServiceProxy.cjs.map +1 -0
  54. package/dist/documentServiceProxy.d.ts +21 -0
  55. package/dist/documentServiceProxy.d.ts.map +1 -0
  56. package/dist/{documentStorageServiceProxy.js → documentStorageServiceProxy.cjs} +10 -8
  57. package/dist/documentStorageServiceProxy.cjs.map +1 -0
  58. package/dist/documentStorageServiceProxy.d.ts +5 -2
  59. package/dist/documentStorageServiceProxy.d.ts.map +1 -1
  60. package/dist/driver-utils-alpha.d.ts +163 -0
  61. package/dist/driver-utils-beta.d.ts +178 -0
  62. package/dist/driver-utils-public.d.ts +178 -0
  63. package/dist/driver-utils-untrimmed.d.ts +590 -0
  64. package/dist/{error.js → error.cjs} +10 -3
  65. package/dist/error.cjs.map +1 -0
  66. package/dist/error.d.ts +8 -3
  67. package/dist/error.d.ts.map +1 -1
  68. package/dist/index.cjs +69 -0
  69. package/dist/index.cjs.map +1 -0
  70. package/dist/index.d.ts +16 -21
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/{insecureUrlResolver.js → insecureUrlResolver.cjs} +10 -11
  73. package/dist/insecureUrlResolver.cjs.map +1 -0
  74. package/dist/insecureUrlResolver.d.ts +1 -0
  75. package/dist/insecureUrlResolver.d.ts.map +1 -1
  76. package/dist/messageRecognition.cjs +38 -0
  77. package/dist/messageRecognition.cjs.map +1 -0
  78. package/dist/messageRecognition.d.ts +16 -26
  79. package/dist/messageRecognition.d.ts.map +1 -1
  80. package/dist/{network.js → network.cjs} +86 -24
  81. package/dist/network.cjs.map +1 -0
  82. package/dist/network.d.ts +69 -20
  83. package/dist/network.d.ts.map +1 -1
  84. package/dist/networkUtils.cjs +29 -0
  85. package/dist/networkUtils.cjs.map +1 -0
  86. package/dist/networkUtils.d.ts +4 -10
  87. package/dist/networkUtils.d.ts.map +1 -1
  88. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  89. package/dist/packageVersion.cjs.map +1 -0
  90. package/dist/packageVersion.d.ts +1 -1
  91. package/dist/packageVersion.d.ts.map +1 -1
  92. package/dist/{parallelRequests.js → parallelRequests.cjs} +146 -74
  93. package/dist/parallelRequests.cjs.map +1 -0
  94. package/dist/parallelRequests.d.ts +19 -6
  95. package/dist/parallelRequests.d.ts.map +1 -1
  96. package/dist/{prefetchDocumentStorageService.js → prefetchDocumentStorageService.cjs} +7 -4
  97. package/dist/prefetchDocumentStorageService.cjs.map +1 -0
  98. package/dist/prefetchDocumentStorageService.d.ts +4 -2
  99. package/dist/prefetchDocumentStorageService.d.ts.map +1 -1
  100. package/dist/{rateLimiter.js → rateLimiter.cjs} +6 -3
  101. package/dist/rateLimiter.cjs.map +1 -0
  102. package/dist/rateLimiter.d.ts +3 -0
  103. package/dist/rateLimiter.d.ts.map +1 -1
  104. package/dist/readAndParse.cjs +28 -0
  105. package/dist/readAndParse.cjs.map +1 -0
  106. package/dist/readAndParse.d.ts +10 -4
  107. package/dist/readAndParse.d.ts.map +1 -1
  108. package/dist/runWithRetry.cjs +108 -0
  109. package/dist/runWithRetry.cjs.map +1 -0
  110. package/dist/runWithRetry.d.ts +26 -7
  111. package/dist/runWithRetry.d.ts.map +1 -1
  112. package/dist/{summaryForCreateNew.js → summaryForCreateNew.cjs} +20 -19
  113. package/dist/summaryForCreateNew.cjs.map +1 -0
  114. package/dist/summaryForCreateNew.d.ts +17 -4
  115. package/dist/summaryForCreateNew.d.ts.map +1 -1
  116. package/dist/{treeConversions.js → treeConversions.cjs} +16 -18
  117. package/dist/treeConversions.cjs.map +1 -0
  118. package/dist/treeConversions.d.ts +1 -0
  119. package/dist/treeConversions.d.ts.map +1 -1
  120. package/dist/tsdoc-metadata.json +11 -0
  121. package/lib/adapters/compression/compressionTypes.d.mts +23 -0
  122. package/lib/adapters/compression/compressionTypes.d.mts.map +1 -0
  123. package/lib/adapters/compression/compressionTypes.mjs +17 -0
  124. package/lib/adapters/compression/compressionTypes.mjs.map +1 -0
  125. package/lib/adapters/compression/documentServiceCompressionAdapter.d.mts +13 -0
  126. package/lib/adapters/compression/documentServiceCompressionAdapter.d.mts.map +1 -0
  127. package/lib/adapters/compression/documentServiceCompressionAdapter.mjs +19 -0
  128. package/lib/adapters/compression/documentServiceCompressionAdapter.mjs.map +1 -0
  129. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.d.mts +16 -0
  130. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.d.mts.map +1 -0
  131. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.mjs +27 -0
  132. package/lib/adapters/compression/documentServiceFactoryCompressionAdapter.mjs.map +1 -0
  133. package/lib/adapters/compression/index.d.mts +8 -0
  134. package/lib/adapters/compression/index.d.mts.map +1 -0
  135. package/lib/adapters/compression/index.mjs +8 -0
  136. package/lib/adapters/compression/index.mjs.map +1 -0
  137. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.mts +165 -0
  138. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.d.mts.map +1 -0
  139. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.mjs +366 -0
  140. package/lib/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.mjs.map +1 -0
  141. package/lib/adapters/compression/summaryblob/index.d.mts +6 -0
  142. package/lib/adapters/compression/summaryblob/index.d.mts.map +1 -0
  143. package/lib/adapters/compression/summaryblob/index.mjs +6 -0
  144. package/lib/adapters/compression/summaryblob/index.mjs.map +1 -0
  145. package/lib/adapters/index.d.mts +7 -0
  146. package/lib/adapters/index.d.mts.map +1 -0
  147. package/lib/adapters/index.mjs +7 -0
  148. package/lib/adapters/index.mjs.map +1 -0
  149. package/lib/adapters/predefinedAdapters.d.mts +21 -0
  150. package/lib/adapters/predefinedAdapters.d.mts.map +1 -0
  151. package/lib/adapters/predefinedAdapters.mjs +47 -0
  152. package/lib/adapters/predefinedAdapters.mjs.map +1 -0
  153. package/lib/blob.d.mts +56 -0
  154. package/lib/blob.d.mts.map +1 -0
  155. package/lib/blob.mjs +59 -0
  156. package/lib/blob.mjs.map +1 -0
  157. package/lib/{buildSnapshotTree.d.ts → buildSnapshotTree.d.mts} +1 -0
  158. package/lib/buildSnapshotTree.d.mts.map +1 -0
  159. package/lib/{buildSnapshotTree.js → buildSnapshotTree.mjs} +6 -4
  160. package/lib/buildSnapshotTree.mjs.map +1 -0
  161. package/lib/documentServiceFactoryProxy.d.mts +19 -0
  162. package/lib/documentServiceFactoryProxy.d.mts.map +1 -0
  163. package/lib/documentServiceFactoryProxy.mjs +23 -0
  164. package/lib/documentServiceFactoryProxy.mjs.map +1 -0
  165. package/lib/documentServiceProxy.d.mts +21 -0
  166. package/lib/documentServiceProxy.d.mts.map +1 -0
  167. package/lib/documentServiceProxy.mjs +32 -0
  168. package/lib/documentServiceProxy.mjs.map +1 -0
  169. package/lib/{documentStorageServiceProxy.d.ts → documentStorageServiceProxy.d.mts} +5 -2
  170. package/lib/documentStorageServiceProxy.d.mts.map +1 -0
  171. package/lib/{documentStorageServiceProxy.js → documentStorageServiceProxy.mjs} +10 -8
  172. package/lib/documentStorageServiceProxy.mjs.map +1 -0
  173. package/lib/driver-utils-alpha.d.mts +163 -0
  174. package/lib/driver-utils-beta.d.mts +178 -0
  175. package/lib/driver-utils-public.d.mts +178 -0
  176. package/lib/driver-utils-untrimmed.d.mts +590 -0
  177. package/lib/error.d.mts +16 -0
  178. package/lib/error.d.mts.map +1 -0
  179. package/lib/error.mjs +19 -0
  180. package/lib/error.mjs.map +1 -0
  181. package/lib/index.d.mts +21 -0
  182. package/lib/index.d.mts.map +1 -0
  183. package/lib/index.mjs +21 -0
  184. package/lib/index.mjs.map +1 -0
  185. package/lib/{insecureUrlResolver.d.ts → insecureUrlResolver.d.mts} +1 -0
  186. package/lib/insecureUrlResolver.d.mts.map +1 -0
  187. package/lib/{insecureUrlResolver.js → insecureUrlResolver.mjs} +10 -11
  188. package/lib/insecureUrlResolver.mjs.map +1 -0
  189. package/lib/messageRecognition.d.mts +24 -0
  190. package/lib/messageRecognition.d.mts.map +1 -0
  191. package/lib/messageRecognition.mjs +29 -0
  192. package/lib/messageRecognition.mjs.map +1 -0
  193. package/lib/{network.d.ts → network.d.mts} +69 -20
  194. package/lib/network.d.mts.map +1 -0
  195. package/lib/{network.js → network.mjs} +85 -23
  196. package/lib/network.mjs.map +1 -0
  197. package/lib/networkUtils.d.mts +11 -0
  198. package/lib/networkUtils.d.mts.map +1 -0
  199. package/lib/networkUtils.mjs +25 -0
  200. package/lib/networkUtils.mjs.map +1 -0
  201. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
  202. package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +1 -1
  203. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  204. package/lib/packageVersion.mjs.map +1 -0
  205. package/lib/{parallelRequests.d.ts → parallelRequests.d.mts} +19 -6
  206. package/lib/parallelRequests.d.mts.map +1 -0
  207. package/lib/{parallelRequests.js → parallelRequests.mjs} +119 -52
  208. package/lib/parallelRequests.mjs.map +1 -0
  209. package/lib/{prefetchDocumentStorageService.d.ts → prefetchDocumentStorageService.d.mts} +5 -7
  210. package/lib/prefetchDocumentStorageService.d.mts.map +1 -0
  211. package/lib/{prefetchDocumentStorageService.js → prefetchDocumentStorageService.mjs} +7 -8
  212. package/lib/prefetchDocumentStorageService.mjs.map +1 -0
  213. package/lib/{rateLimiter.d.ts → rateLimiter.d.mts} +3 -0
  214. package/lib/rateLimiter.d.mts.map +1 -0
  215. package/lib/{rateLimiter.js → rateLimiter.mjs} +5 -2
  216. package/lib/rateLimiter.mjs.map +1 -0
  217. package/lib/readAndParse.d.mts +20 -0
  218. package/lib/readAndParse.d.mts.map +1 -0
  219. package/lib/readAndParse.mjs +24 -0
  220. package/lib/readAndParse.mjs.map +1 -0
  221. package/lib/{runWithRetry.d.ts → runWithRetry.d.mts} +26 -7
  222. package/lib/runWithRetry.d.mts.map +1 -0
  223. package/lib/runWithRetry.mjs +103 -0
  224. package/lib/runWithRetry.mjs.map +1 -0
  225. package/lib/{summaryForCreateNew.d.ts → summaryForCreateNew.d.mts} +17 -4
  226. package/lib/summaryForCreateNew.d.mts.map +1 -0
  227. package/lib/{summaryForCreateNew.js → summaryForCreateNew.mjs} +18 -17
  228. package/lib/summaryForCreateNew.mjs.map +1 -0
  229. package/lib/{treeConversions.d.ts → treeConversions.d.mts} +1 -0
  230. package/lib/treeConversions.d.mts.map +1 -0
  231. package/lib/{treeConversions.js → treeConversions.mjs} +12 -14
  232. package/lib/treeConversions.mjs.map +1 -0
  233. package/package.json +88 -64
  234. package/prettier.config.cjs +8 -0
  235. package/src/adapters/compression/compressionTypes.ts +25 -0
  236. package/src/adapters/compression/documentServiceCompressionAdapter.ts +28 -0
  237. package/src/adapters/compression/documentServiceFactoryCompressionAdapter.ts +54 -0
  238. package/src/adapters/compression/index.ts +12 -0
  239. package/src/adapters/compression/summaryblob/documentStorageServiceSummaryBlobCompressionAdapter.ts +451 -0
  240. package/src/adapters/compression/summaryblob/index.ts +9 -0
  241. package/src/adapters/index.ts +13 -0
  242. package/src/adapters/predefinedAdapters.ts +74 -0
  243. package/src/blob.ts +77 -0
  244. package/src/buildSnapshotTree.ts +58 -53
  245. package/src/documentServiceFactoryProxy.ts +47 -0
  246. package/src/documentServiceProxy.ts +46 -0
  247. package/src/documentStorageServiceProxy.ts +52 -37
  248. package/src/error.ts +13 -8
  249. package/src/index.ts +51 -21
  250. package/src/insecureUrlResolver.ts +125 -120
  251. package/src/messageRecognition.ts +24 -53
  252. package/src/network.ts +189 -111
  253. package/src/networkUtils.ts +24 -49
  254. package/src/packageVersion.ts +1 -1
  255. package/src/parallelRequests.ts +630 -519
  256. package/src/prefetchDocumentStorageService.ts +79 -74
  257. package/src/rateLimiter.ts +33 -30
  258. package/src/readAndParse.ts +18 -9
  259. package/src/runWithRetry.ts +145 -85
  260. package/src/summaryForCreateNew.ts +48 -29
  261. package/src/treeConversions.ts +49 -70
  262. package/tsc-multi.test.json +4 -0
  263. package/tsconfig.json +10 -12
  264. package/dist/blobAggregationStorage.d.ts +0 -43
  265. package/dist/blobAggregationStorage.d.ts.map +0 -1
  266. package/dist/blobAggregationStorage.js +0 -318
  267. package/dist/blobAggregationStorage.js.map +0 -1
  268. package/dist/blobCacheStorageService.d.ts +0 -16
  269. package/dist/blobCacheStorageService.d.ts.map +0 -1
  270. package/dist/blobCacheStorageService.js +0 -29
  271. package/dist/blobCacheStorageService.js.map +0 -1
  272. package/dist/buildSnapshotTree.js.map +0 -1
  273. package/dist/documentStorageServiceProxy.js.map +0 -1
  274. package/dist/emptyDocumentDeltaStorageService.d.ts +0 -13
  275. package/dist/emptyDocumentDeltaStorageService.d.ts.map +0 -1
  276. package/dist/emptyDocumentDeltaStorageService.js +0 -20
  277. package/dist/emptyDocumentDeltaStorageService.js.map +0 -1
  278. package/dist/error.js.map +0 -1
  279. package/dist/fluidResolvedUrl.d.ts +0 -8
  280. package/dist/fluidResolvedUrl.d.ts.map +0 -1
  281. package/dist/fluidResolvedUrl.js +0 -16
  282. package/dist/fluidResolvedUrl.js.map +0 -1
  283. package/dist/index.js +0 -38
  284. package/dist/index.js.map +0 -1
  285. package/dist/insecureUrlResolver.js.map +0 -1
  286. package/dist/messageRecognition.js +0 -73
  287. package/dist/messageRecognition.js.map +0 -1
  288. package/dist/multiDocumentServiceFactory.d.ts +0 -16
  289. package/dist/multiDocumentServiceFactory.d.ts.map +0 -1
  290. package/dist/multiDocumentServiceFactory.js +0 -63
  291. package/dist/multiDocumentServiceFactory.js.map +0 -1
  292. package/dist/multiUrlResolver.d.ts +0 -20
  293. package/dist/multiUrlResolver.d.ts.map +0 -1
  294. package/dist/multiUrlResolver.js +0 -45
  295. package/dist/multiUrlResolver.js.map +0 -1
  296. package/dist/network.js.map +0 -1
  297. package/dist/networkUtils.js +0 -59
  298. package/dist/networkUtils.js.map +0 -1
  299. package/dist/packageVersion.js.map +0 -1
  300. package/dist/parallelRequests.js.map +0 -1
  301. package/dist/prefetchDocumentStorageService.js.map +0 -1
  302. package/dist/rateLimiter.js.map +0 -1
  303. package/dist/readAndParse.js +0 -22
  304. package/dist/readAndParse.js.map +0 -1
  305. package/dist/runWithRetry.js +0 -69
  306. package/dist/runWithRetry.js.map +0 -1
  307. package/dist/summaryForCreateNew.js.map +0 -1
  308. package/dist/treeConversions.js.map +0 -1
  309. package/dist/treeUtils.d.ts +0 -51
  310. package/dist/treeUtils.d.ts.map +0 -1
  311. package/dist/treeUtils.js +0 -85
  312. package/dist/treeUtils.js.map +0 -1
  313. package/lib/blobAggregationStorage.d.ts +0 -43
  314. package/lib/blobAggregationStorage.d.ts.map +0 -1
  315. package/lib/blobAggregationStorage.js +0 -313
  316. package/lib/blobAggregationStorage.js.map +0 -1
  317. package/lib/blobCacheStorageService.d.ts +0 -16
  318. package/lib/blobCacheStorageService.d.ts.map +0 -1
  319. package/lib/blobCacheStorageService.js +0 -25
  320. package/lib/blobCacheStorageService.js.map +0 -1
  321. package/lib/buildSnapshotTree.d.ts.map +0 -1
  322. package/lib/buildSnapshotTree.js.map +0 -1
  323. package/lib/documentStorageServiceProxy.d.ts.map +0 -1
  324. package/lib/documentStorageServiceProxy.js.map +0 -1
  325. package/lib/emptyDocumentDeltaStorageService.d.ts +0 -13
  326. package/lib/emptyDocumentDeltaStorageService.d.ts.map +0 -1
  327. package/lib/emptyDocumentDeltaStorageService.js +0 -16
  328. package/lib/emptyDocumentDeltaStorageService.js.map +0 -1
  329. package/lib/error.d.ts +0 -11
  330. package/lib/error.d.ts.map +0 -1
  331. package/lib/error.js +0 -13
  332. package/lib/error.js.map +0 -1
  333. package/lib/fluidResolvedUrl.d.ts +0 -8
  334. package/lib/fluidResolvedUrl.d.ts.map +0 -1
  335. package/lib/fluidResolvedUrl.js +0 -11
  336. package/lib/fluidResolvedUrl.js.map +0 -1
  337. package/lib/index.d.ts +0 -26
  338. package/lib/index.d.ts.map +0 -1
  339. package/lib/index.js +0 -26
  340. package/lib/index.js.map +0 -1
  341. package/lib/insecureUrlResolver.d.ts.map +0 -1
  342. package/lib/insecureUrlResolver.js.map +0 -1
  343. package/lib/messageRecognition.d.ts +0 -38
  344. package/lib/messageRecognition.d.ts.map +0 -1
  345. package/lib/messageRecognition.js +0 -67
  346. package/lib/messageRecognition.js.map +0 -1
  347. package/lib/multiDocumentServiceFactory.d.ts +0 -16
  348. package/lib/multiDocumentServiceFactory.d.ts.map +0 -1
  349. package/lib/multiDocumentServiceFactory.js +0 -59
  350. package/lib/multiDocumentServiceFactory.js.map +0 -1
  351. package/lib/multiUrlResolver.d.ts +0 -20
  352. package/lib/multiUrlResolver.d.ts.map +0 -1
  353. package/lib/multiUrlResolver.js +0 -40
  354. package/lib/multiUrlResolver.js.map +0 -1
  355. package/lib/network.d.ts.map +0 -1
  356. package/lib/network.js.map +0 -1
  357. package/lib/networkUtils.d.ts +0 -17
  358. package/lib/networkUtils.d.ts.map +0 -1
  359. package/lib/networkUtils.js +0 -54
  360. package/lib/networkUtils.js.map +0 -1
  361. package/lib/packageVersion.js.map +0 -1
  362. package/lib/parallelRequests.d.ts.map +0 -1
  363. package/lib/parallelRequests.js.map +0 -1
  364. package/lib/prefetchDocumentStorageService.d.ts.map +0 -1
  365. package/lib/prefetchDocumentStorageService.js.map +0 -1
  366. package/lib/rateLimiter.d.ts.map +0 -1
  367. package/lib/rateLimiter.js.map +0 -1
  368. package/lib/readAndParse.d.ts +0 -14
  369. package/lib/readAndParse.d.ts.map +0 -1
  370. package/lib/readAndParse.js +0 -18
  371. package/lib/readAndParse.js.map +0 -1
  372. package/lib/runWithRetry.d.ts.map +0 -1
  373. package/lib/runWithRetry.js +0 -65
  374. package/lib/runWithRetry.js.map +0 -1
  375. package/lib/summaryForCreateNew.d.ts.map +0 -1
  376. package/lib/summaryForCreateNew.js.map +0 -1
  377. package/lib/treeConversions.d.ts.map +0 -1
  378. package/lib/treeConversions.js.map +0 -1
  379. package/lib/treeUtils.d.ts +0 -51
  380. package/lib/treeUtils.d.ts.map +0 -1
  381. package/lib/treeUtils.js +0 -80
  382. package/lib/treeUtils.js.map +0 -1
  383. package/src/blobAggregationStorage.ts +0 -374
  384. package/src/blobCacheStorageService.ts +0 -32
  385. package/src/emptyDocumentDeltaStorageService.ts +0 -24
  386. package/src/fluidResolvedUrl.ts +0 -15
  387. package/src/multiDocumentServiceFactory.ts +0 -80
  388. package/src/multiUrlResolver.ts +0 -51
  389. package/src/treeUtils.ts +0 -111
  390. package/tsconfig.esnext.json +0 -7
package/.eslintrc.js CHANGED
@@ -4,10 +4,20 @@
4
4
  */
5
5
 
6
6
  module.exports = {
7
- "extends": [
8
- require.resolve("@fluidframework/eslint-config-fluid")
9
- ],
10
- "parserOptions": {
11
- "project": ["./tsconfig.json", "./src/test/tsconfig.json"]
12
- },
13
- }
7
+ extends: [require.resolve("@fluidframework/eslint-config-fluid/minimal"), "prettier"],
8
+ parserOptions: {
9
+ project: ["./tsconfig.json", "./src/test/tsconfig.json"],
10
+ },
11
+ rules: {
12
+ "import/no-nodejs-modules": ["error", { allow: ["url"] }],
13
+ },
14
+ overrides: [
15
+ {
16
+ // Rules only for test files
17
+ files: ["*.spec.ts", "src/test/**"],
18
+ rules: {
19
+ "import/no-nodejs-modules": "off", // Node libraries are OK for test files.
20
+ },
21
+ },
22
+ ],
23
+ };
package/.mocharc.js ADDED
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ "use strict";
7
+
8
+ const getFluidTestMochaConfig = require("@fluidframework/mocha-test-setup/mocharc-common");
9
+
10
+ const packageDir = __dirname;
11
+ const config = getFluidTestMochaConfig(packageDir);
12
+ module.exports = config;
package/CHANGELOG.md ADDED
@@ -0,0 +1,141 @@
1
+ # @fluidframework/driver-utils
2
+
3
+ ## 2.0.0-internal.8.0.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 2.0.0-internal.7.4.0
8
+
9
+ Dependency updates only.
10
+
11
+ ## 2.0.0-internal.7.3.0
12
+
13
+ Dependency updates only.
14
+
15
+ ## 2.0.0-internal.7.2.0
16
+
17
+ Dependency updates only.
18
+
19
+ ## 2.0.0-internal.7.1.0
20
+
21
+ Dependency updates only.
22
+
23
+ ## 2.0.0-internal.7.0.0
24
+
25
+ ### Major Changes
26
+
27
+ - odsp-driver: Load container in readonly mode when driver throws DriverErrorType.outOfStorage [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
28
+
29
+ Handle DriverErrorType.outOfStorage error from driver and load the container in readonly mode. Currently there is no
30
+ handling and when the join session throws this error, the container will get closed. With this we use NoDeltaStream
31
+ object as connection and load the container in read mode, so that it loads properly. We also notify the that the
32
+ container is "readonly" through the event on delta manager so that apps can listen to this and show any UX etc. The app
33
+ can listen to the event like this:
34
+
35
+ ```ts
36
+ container.deltaManager.on(
37
+ "readonly",
38
+ (readonly?: boolean, readonlyConnectionReason?: { text: string; error?: IErrorBase }) => {
39
+ // error?.errorType will be equal to DriverErrorType.outOfStorage in this case
40
+ // App logic
41
+ },
42
+ );
43
+ ```
44
+
45
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
46
+
47
+ This included the following changes from the protocol-definitions release:
48
+
49
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
50
+ submitted by clients to the server and the resulting signals sent from the server to clients.
51
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
52
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
53
+ ISignalMessageBase interface that contains common members.
54
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
55
+
56
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
57
+
58
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
59
+
60
+ - @fluidframework/gitresources: 2.0.1
61
+ - @fluidframework/server-kafka-orderer: 2.0.1
62
+ - @fluidframework/server-lambdas: 2.0.1
63
+ - @fluidframework/server-lambdas-driver: 2.0.1
64
+ - @fluidframework/server-local-server: 2.0.1
65
+ - @fluidframework/server-memory-orderer: 2.0.1
66
+ - @fluidframework/protocol-base: 2.0.1
67
+ - @fluidframework/server-routerlicious: 2.0.1
68
+ - @fluidframework/server-routerlicious-base: 2.0.1
69
+ - @fluidframework/server-services: 2.0.1
70
+ - @fluidframework/server-services-client: 2.0.1
71
+ - @fluidframework/server-services-core: 2.0.1
72
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
73
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
74
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
75
+ - @fluidframework/server-services-shared: 2.0.1
76
+ - @fluidframework/server-services-telemetry: 2.0.1
77
+ - @fluidframework/server-services-utils: 2.0.1
78
+ - @fluidframework/server-test-utils: 2.0.1
79
+ - tinylicious: 2.0.1
80
+
81
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
82
+
83
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
84
+
85
+ ## 2.0.0-internal.6.4.0
86
+
87
+ Dependency updates only.
88
+
89
+ ## 2.0.0-internal.6.3.0
90
+
91
+ Dependency updates only.
92
+
93
+ ## 2.0.0-internal.6.2.0
94
+
95
+ Dependency updates only.
96
+
97
+ ## 2.0.0-internal.6.1.0
98
+
99
+ Dependency updates only.
100
+
101
+ ## 2.0.0-internal.6.0.0
102
+
103
+ ### Major Changes
104
+
105
+ - combineAppAndProtocolSummary removed from driver-utils [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
106
+
107
+ combineAppAndProtocolSummary was deprecated in 2.0.0-internal.3.4.0 and has now been removed.
108
+
109
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
110
+
111
+ Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
112
+
113
+ ## 2.0.0-internal.5.4.0
114
+
115
+ Dependency updates only.
116
+
117
+ ## 2.0.0-internal.5.3.0
118
+
119
+ Dependency updates only.
120
+
121
+ ## 2.0.0-internal.5.2.0
122
+
123
+ Dependency updates only.
124
+
125
+ ## 2.0.0-internal.5.1.0
126
+
127
+ Dependency updates only.
128
+
129
+ ## 2.0.0-internal.5.0.0
130
+
131
+ Dependency updates only.
132
+
133
+ ## 2.0.0-internal.4.4.0
134
+
135
+ ### Minor Changes
136
+
137
+ - The following classes have been moved from `@fluidframework/protocol-base` to `@fluidframework/driver-utils`: `BlobTreeEntry`, `TreeTreeEntry` and `AttachmentTreeEntry`. ([#15687](https://github.com/microsoft/FluidFramework/pull/15687)) [c0d2f364e8](https://github.com/microsoft/FluidFramework/commits/c0d2f364e830a7b62ec42999df8c45941f7f0a2c)
138
+
139
+ ## 2.0.0-internal.4.1.0
140
+
141
+ Dependency updates only.
package/README.md CHANGED
@@ -2,4 +2,71 @@
2
2
 
3
3
  Utilities for driver implementations.
4
4
 
5
- See [GitHub](https://github.com/microsoft/FluidFramework) for more details on the Fluid Framework and packages within.
5
+ <!-- AUTO-GENERATED-CONTENT:START (LIBRARY_PACKAGE_README:scripts=FALSE) -->
6
+
7
+ <!-- prettier-ignore-start -->
8
+ <!-- NOTE: This section is automatically generated using @fluid-tools/markdown-magic. Do not update these generated contents directly. -->
9
+
10
+ ## Using Fluid Framework libraries
11
+
12
+ When taking a dependency on a Fluid Framework library, we recommend using a `^` (caret) version range, such as `^1.3.4`.
13
+ While Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,
14
+ library consumers should always prefer `^`.
15
+
16
+ Note that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,
17
+ you must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).
18
+ Standard `^` and `~` ranges will not work as expected.
19
+ See the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)
20
+ package for more information including tools to convert between version schemes.
21
+
22
+ ## Installation
23
+
24
+ To get started, install the package by running the following command:
25
+
26
+ ```bash
27
+ npm i @fluidframework/driver-utils
28
+ ```
29
+
30
+ ## API Documentation
31
+
32
+ API documentation for **@fluidframework/driver-utils** is available at <https://fluidframework.com/docs/apis/driver-utils>.
33
+
34
+ ## Contribution Guidelines
35
+
36
+ There are many ways to [contribute](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md) to Fluid.
37
+
38
+ - Participate in Q&A in our [GitHub Discussions](https://github.com/microsoft/FluidFramework/discussions).
39
+ - [Submit bugs](https://github.com/microsoft/FluidFramework/issues) and help us verify fixes as they are checked in.
40
+ - Review the [source code changes](https://github.com/microsoft/FluidFramework/pulls).
41
+ - [Contribute bug fixes](https://github.com/microsoft/FluidFramework/blob/main/CONTRIBUTING.md).
42
+
43
+ Detailed instructions for working in the repo can be found in the [Wiki](https://github.com/microsoft/FluidFramework/wiki).
44
+
45
+ This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
46
+ For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
47
+
48
+ This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
49
+ Use of these trademarks or logos must follow Microsoft’s [Trademark & Brand Guidelines](https://www.microsoft.com/trademarks).
50
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
51
+
52
+ ## Help
53
+
54
+ Not finding what you're looking for in this README? Check out our [GitHub
55
+ Wiki](https://github.com/microsoft/FluidFramework/wiki) or [fluidframework.com](https://fluidframework.com/docs/).
56
+
57
+ Still not finding what you're looking for? Please [file an
58
+ issue](https://github.com/microsoft/FluidFramework/wiki/Submitting-Bugs-and-Feature-Requests).
59
+
60
+ Thank you!
61
+
62
+ ## Trademark
63
+
64
+ This project may contain Microsoft trademarks or logos for Microsoft projects, products, or services.
65
+
66
+ Use of these trademarks or logos must follow Microsoft's [Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
67
+
68
+ Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
69
+
70
+ <!-- prettier-ignore-end -->
71
+
72
+ <!-- AUTO-GENERATED-CONTENT:END -->
@@ -0,0 +1,4 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-lint.json"
4
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "@fluidframework/build-common/api-extractor-common-report.json"
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-base.json"
4
4
  }
@@ -0,0 +1,401 @@
1
+ ## API Report File for "@fluidframework/driver-utils"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { FetchSource } from '@fluidframework/driver-definitions';
8
+ import { IAttachment } from '@fluidframework/protocol-definitions';
9
+ import { IAuthorizationError } from '@fluidframework/driver-definitions';
10
+ import { IBlob } from '@fluidframework/protocol-definitions';
11
+ import { ICommittedProposal } from '@fluidframework/protocol-definitions';
12
+ import { ICreateBlobResponse } from '@fluidframework/protocol-definitions';
13
+ import { IDeltasFetchResult } from '@fluidframework/driver-definitions';
14
+ import { IDocumentAttributes } from '@fluidframework/protocol-definitions';
15
+ import { IDocumentMessage } from '@fluidframework/protocol-definitions';
16
+ import { IDocumentServiceFactory } from '@fluidframework/driver-definitions';
17
+ import { IDocumentStorageService } from '@fluidframework/driver-definitions';
18
+ import { IDocumentStorageServicePolicies } from '@fluidframework/driver-definitions';
19
+ import { IDriverErrorBase } from '@fluidframework/driver-definitions';
20
+ import { IFluidErrorBase } from '@fluidframework/telemetry-utils';
21
+ import { ILocationRedirectionError } from '@fluidframework/driver-definitions';
22
+ import { IRequest } from '@fluidframework/core-interfaces';
23
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
24
+ import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
25
+ import { ISnapshotTree } from '@fluidframework/protocol-definitions';
26
+ import { IStream } from '@fluidframework/driver-definitions';
27
+ import { IStreamResult } from '@fluidframework/driver-definitions';
28
+ import { ISummaryContext } from '@fluidframework/driver-definitions';
29
+ import { ISummaryHandle } from '@fluidframework/protocol-definitions';
30
+ import { ISummaryTree } from '@fluidframework/protocol-definitions';
31
+ import { ITelemetryErrorEvent } from '@fluidframework/core-interfaces';
32
+ import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
33
+ import { ITelemetryProperties } from '@fluidframework/core-interfaces';
34
+ import { IThrottlingWarning } from '@fluidframework/driver-definitions';
35
+ import { ITree } from '@fluidframework/protocol-definitions';
36
+ import { ITreeEntry } from '@fluidframework/protocol-definitions';
37
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
38
+ import { IVersion } from '@fluidframework/protocol-definitions';
39
+ import { LoaderCachingPolicy } from '@fluidframework/driver-definitions';
40
+ import { LoggingError } from '@fluidframework/telemetry-utils';
41
+
42
+ // @internal
43
+ export function applyStorageCompression(documentServiceFactory: IDocumentServiceFactory, config?: ICompressionStorageConfig | boolean): IDocumentServiceFactory;
44
+
45
+ // @internal
46
+ export class AttachmentTreeEntry {
47
+ constructor(path: string, id: string);
48
+ // (undocumented)
49
+ readonly id: string;
50
+ // (undocumented)
51
+ readonly mode = FileMode.File;
52
+ // (undocumented)
53
+ readonly path: string;
54
+ // (undocumented)
55
+ readonly type = TreeEntry.Attachment;
56
+ // (undocumented)
57
+ readonly value: IAttachment;
58
+ }
59
+
60
+ // @internal (undocumented)
61
+ export class AuthorizationError extends LoggingError implements IAuthorizationError, IFluidErrorBase {
62
+ constructor(message: string, claims: string | undefined, tenantId: string | undefined, props: DriverErrorTelemetryProps);
63
+ // (undocumented)
64
+ readonly canRetry = false;
65
+ // (undocumented)
66
+ readonly claims: string | undefined;
67
+ // (undocumented)
68
+ readonly errorType = DriverErrorType.authorizationError;
69
+ // (undocumented)
70
+ readonly tenantId: string | undefined;
71
+ }
72
+
73
+ // @internal (undocumented)
74
+ export const blobHeadersBlobName = ".metadata.blobHeaders";
75
+
76
+ // @internal
77
+ export class BlobTreeEntry {
78
+ constructor(path: string, contents: string, encoding?: "utf-8" | "base64");
79
+ // (undocumented)
80
+ readonly mode = FileMode.File;
81
+ // (undocumented)
82
+ readonly path: string;
83
+ // (undocumented)
84
+ readonly type = TreeEntry.Blob;
85
+ // (undocumented)
86
+ readonly value: IBlob;
87
+ }
88
+
89
+ // @internal
90
+ export function buildSnapshotTree(entries: ITreeEntry[], blobMap: Map<string, ArrayBufferLike>): ISnapshotTree;
91
+
92
+ // @internal
93
+ export function calculateMaxWaitTime(delayMs: number, error: unknown): number;
94
+
95
+ // @internal (undocumented)
96
+ export function canBeCoalescedByService(message: ISequencedDocumentMessage | IDocumentMessage): boolean;
97
+
98
+ // @internal
99
+ export const canRetryOnError: (error: any) => boolean;
100
+
101
+ // @internal
102
+ export interface CombinedAppAndProtocolSummary extends ISummaryTree {
103
+ // (undocumented)
104
+ tree: {
105
+ [".app"]: ISummaryTree;
106
+ [".protocol"]: ISummaryTree;
107
+ };
108
+ }
109
+
110
+ // @internal
111
+ export function convertSummaryTreeToSnapshotITree(summaryTree: ISummaryTree): ITree;
112
+
113
+ // @internal (undocumented)
114
+ export function createGenericNetworkError(message: string, retryInfo: {
115
+ canRetry: boolean;
116
+ retryAfterMs?: number;
117
+ }, props: DriverErrorTelemetryProps): ThrottlingError | GenericNetworkError;
118
+
119
+ // @internal (undocumented)
120
+ export const createWriteError: (message: string, props: DriverErrorTelemetryProps) => NonRetryableError<"writeError">;
121
+
122
+ // @internal (undocumented)
123
+ export class DeltaStreamConnectionForbiddenError extends LoggingError implements IDriverErrorBase, IFluidErrorBase {
124
+ constructor(message: string, props: DriverErrorTelemetryProps, storageOnlyReason?: string);
125
+ // (undocumented)
126
+ readonly canRetry = false;
127
+ // (undocumented)
128
+ static readonly errorType = DriverErrorType.deltaStreamConnectionForbidden;
129
+ // (undocumented)
130
+ readonly errorType = DriverErrorType.deltaStreamConnectionForbidden;
131
+ // (undocumented)
132
+ readonly storageOnlyReason: string | undefined;
133
+ }
134
+
135
+ // @internal (undocumented)
136
+ export class DocumentStorageServiceProxy implements IDocumentStorageService {
137
+ constructor(internalStorageService: IDocumentStorageService);
138
+ // (undocumented)
139
+ createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;
140
+ // (undocumented)
141
+ downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;
142
+ // (undocumented)
143
+ getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;
144
+ // (undocumented)
145
+ getVersions(versionId: string | null, count: number, scenarioName?: string, fetchSource?: FetchSource): Promise<IVersion[]>;
146
+ // (undocumented)
147
+ protected readonly internalStorageService: IDocumentStorageService;
148
+ set policies(policies: IDocumentStorageServicePolicies | undefined);
149
+ // (undocumented)
150
+ get policies(): IDocumentStorageServicePolicies | undefined;
151
+ // (undocumented)
152
+ readBlob(blobId: string): Promise<ArrayBufferLike>;
153
+ // (undocumented)
154
+ get repositoryUrl(): string;
155
+ // (undocumented)
156
+ uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;
157
+ }
158
+
159
+ // @internal
160
+ export type DriverErrorTelemetryProps = ITelemetryProperties & {
161
+ driverVersion: string | undefined;
162
+ };
163
+
164
+ // @internal (undocumented)
165
+ export const emptyMessageStream: IStream<ISequencedDocumentMessage[]>;
166
+
167
+ // @internal
168
+ export class FluidInvalidSchemaError extends LoggingError implements IDriverErrorBase, IFluidErrorBase {
169
+ constructor(message: string, props: DriverErrorTelemetryProps);
170
+ // (undocumented)
171
+ readonly canRetry = false;
172
+ // (undocumented)
173
+ readonly errorType = DriverErrorType.fluidInvalidSchema;
174
+ }
175
+
176
+ // @internal
177
+ export class GenericNetworkError extends LoggingError implements IDriverErrorBase, IFluidErrorBase {
178
+ constructor(message: string, canRetry: boolean, props: DriverErrorTelemetryProps);
179
+ // (undocumented)
180
+ readonly canRetry: boolean;
181
+ // (undocumented)
182
+ readonly errorType = DriverErrorType.genericNetworkError;
183
+ }
184
+
185
+ // @internal
186
+ export function getDocAttributesFromProtocolSummary(protocolSummary: ISummaryTree): IDocumentAttributes;
187
+
188
+ // @internal
189
+ export function getQuorumValuesFromProtocolSummary(protocolSummary: ISummaryTree): [string, ICommittedProposal][];
190
+
191
+ // @internal
192
+ export const getRetryDelayFromError: (error: any) => number | undefined;
193
+
194
+ // @internal
195
+ export const getRetryDelaySecondsFromError: (error: any) => number | undefined;
196
+
197
+ // @public (undocumented)
198
+ export interface ICompressionStorageConfig {
199
+ // (undocumented)
200
+ algorithm: SummaryCompressionAlgorithm;
201
+ // (undocumented)
202
+ minSizeToCompress: number;
203
+ }
204
+
205
+ // @internal
206
+ export class InsecureUrlResolver implements IUrlResolver {
207
+ constructor(hostUrl: string, ordererUrl: string, storageUrl: string, tenantId: string, bearer: string, isForNodeTest?: boolean);
208
+ // (undocumented)
209
+ createCreateNewRequest(fileName?: string): IRequest;
210
+ // (undocumented)
211
+ getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string>;
212
+ // (undocumented)
213
+ resolve(request: IRequest): Promise<IResolvedUrl | undefined>;
214
+ }
215
+
216
+ // @internal
217
+ export interface IProgress {
218
+ cancel?: AbortSignal;
219
+ onRetry?(delayInMs: number, error: any): void;
220
+ }
221
+
222
+ // @internal
223
+ export function isCombinedAppAndProtocolSummary(summary: ISummaryTree | undefined, ...optionalRootTrees: string[]): summary is CombinedAppAndProtocolSummary;
224
+
225
+ // @internal
226
+ export function isOnline(): OnlineStatus;
227
+
228
+ // @internal
229
+ export function isRuntimeMessage(message: {
230
+ type: string;
231
+ }): boolean;
232
+
233
+ // @internal (undocumented)
234
+ export class LocationRedirectionError extends LoggingError implements ILocationRedirectionError, IFluidErrorBase {
235
+ constructor(message: string, redirectUrl: IResolvedUrl, props: DriverErrorTelemetryProps);
236
+ // (undocumented)
237
+ readonly canRetry = false;
238
+ // (undocumented)
239
+ readonly errorType = DriverErrorType.locationRedirection;
240
+ // (undocumented)
241
+ readonly redirectUrl: IResolvedUrl;
242
+ }
243
+
244
+ // @internal (undocumented)
245
+ export function logNetworkFailure(logger: ITelemetryLoggerExt, event: ITelemetryErrorEvent, error?: any): void;
246
+
247
+ // @internal (undocumented)
248
+ export enum MessageType2 {
249
+ // (undocumented)
250
+ Accept = "accept"
251
+ }
252
+
253
+ // @internal (undocumented)
254
+ export class NetworkErrorBasic<T extends string> extends LoggingError implements IFluidErrorBase {
255
+ constructor(message: string, errorType: T, canRetry: boolean, props: DriverErrorTelemetryProps);
256
+ // (undocumented)
257
+ readonly canRetry: boolean;
258
+ // (undocumented)
259
+ readonly errorType: T;
260
+ }
261
+
262
+ // @internal (undocumented)
263
+ export class NonRetryableError<T extends string> extends NetworkErrorBasic<T> {
264
+ constructor(message: string, errorType: T, props: DriverErrorTelemetryProps);
265
+ // (undocumented)
266
+ readonly errorType: T;
267
+ }
268
+
269
+ // @internal (undocumented)
270
+ export enum OnlineStatus {
271
+ // (undocumented)
272
+ Offline = 0,
273
+ // (undocumented)
274
+ Online = 1,
275
+ // (undocumented)
276
+ Unknown = 2
277
+ }
278
+
279
+ // @internal
280
+ export class ParallelRequests<T> {
281
+ constructor(from: number, to: number | undefined, payloadSize: number, logger: ITelemetryLoggerExt, requestCallback: (request: number, from: number, to: number, strongTo: boolean, props: ITelemetryProperties) => Promise<{
282
+ partial: boolean;
283
+ cancel: boolean;
284
+ payload: T[];
285
+ }>, responseCallback: (payload: T[]) => void);
286
+ // (undocumented)
287
+ cancel(): void;
288
+ // (undocumented)
289
+ get canceled(): boolean;
290
+ // (undocumented)
291
+ run(concurrency: number): Promise<void>;
292
+ }
293
+
294
+ // @internal (undocumented)
295
+ export class PrefetchDocumentStorageService extends DocumentStorageServiceProxy {
296
+ // (undocumented)
297
+ getSnapshotTree(version?: IVersion): Promise<ISnapshotTree | null>;
298
+ // (undocumented)
299
+ get policies(): {
300
+ caching: LoaderCachingPolicy;
301
+ maximumCacheDurationMs?: 432000000 | undefined;
302
+ } | undefined;
303
+ // (undocumented)
304
+ readBlob(blobId: string): Promise<ArrayBufferLike>;
305
+ // (undocumented)
306
+ stopPrefetch(): void;
307
+ }
308
+
309
+ // @internal
310
+ export class Queue<T> implements IStream<T> {
311
+ // (undocumented)
312
+ protected pushCore(value: Promise<IStreamResult<T>>): void;
313
+ // (undocumented)
314
+ pushDone(): void;
315
+ // (undocumented)
316
+ pushError(error: any): void;
317
+ // (undocumented)
318
+ pushValue(value: T): void;
319
+ // (undocumented)
320
+ read(): Promise<IStreamResult<T>>;
321
+ }
322
+
323
+ // @alpha (undocumented)
324
+ export class RateLimiter {
325
+ constructor(maxRequests: number);
326
+ // (undocumented)
327
+ protected acquire(): Promise<void>;
328
+ // (undocumented)
329
+ protected readonly release: () => void;
330
+ // (undocumented)
331
+ schedule<T>(work: () => Promise<T>): Promise<T>;
332
+ // (undocumented)
333
+ get waitQueueLength(): number;
334
+ }
335
+
336
+ // @internal
337
+ export function readAndParse<T>(storage: Pick<IDocumentStorageService, "readBlob">, id: string): Promise<T>;
338
+
339
+ // @internal
340
+ export function requestOps(get: (from: number, to: number, telemetryProps: ITelemetryProperties) => Promise<IDeltasFetchResult>, concurrency: number, fromTotal: number, toTotal: number | undefined, payloadSize: number, logger: ITelemetryLoggerExt, signal?: AbortSignal, scenarioName?: string): IStream<ISequencedDocumentMessage[]>;
341
+
342
+ // @internal (undocumented)
343
+ export class RetryableError<T extends string> extends NetworkErrorBasic<T> {
344
+ constructor(message: string, errorType: T, props: DriverErrorTelemetryProps);
345
+ // (undocumented)
346
+ readonly errorType: T;
347
+ }
348
+
349
+ // @internal (undocumented)
350
+ export function runWithRetry<T>(api: (cancel?: AbortSignal) => Promise<T>, fetchCallName: string, logger: ITelemetryLoggerExt, progress: IProgress): Promise<T>;
351
+
352
+ // @internal (undocumented)
353
+ export function streamFromMessages(messagesArg: Promise<ISequencedDocumentMessage[]>): IStream<ISequencedDocumentMessage[]>;
354
+
355
+ // @internal (undocumented)
356
+ export function streamObserver<T>(stream: IStream<T>, handler: (value: IStreamResult<T>) => void): IStream<T>;
357
+
358
+ // @public (undocumented)
359
+ export enum SummaryCompressionAlgorithm {
360
+ // (undocumented)
361
+ LZ4 = 1,
362
+ // (undocumented)
363
+ None = 0
364
+ }
365
+
366
+ // @internal
367
+ export class ThrottlingError extends LoggingError implements IThrottlingWarning, IFluidErrorBase {
368
+ constructor(message: string, retryAfterSeconds: number, props: DriverErrorTelemetryProps);
369
+ // (undocumented)
370
+ readonly canRetry = true;
371
+ // (undocumented)
372
+ readonly errorType = DriverErrorType.throttlingError;
373
+ // (undocumented)
374
+ readonly retryAfterSeconds: number;
375
+ }
376
+
377
+ // @internal
378
+ export class TreeTreeEntry {
379
+ constructor(path: string, value: ITree);
380
+ // (undocumented)
381
+ readonly mode = FileMode.Directory;
382
+ // (undocumented)
383
+ readonly path: string;
384
+ // (undocumented)
385
+ readonly type = TreeEntry.Tree;
386
+ // (undocumented)
387
+ readonly value: ITree;
388
+ }
389
+
390
+ // @internal
391
+ export class UsageError extends LoggingError implements IDriverErrorBase, IFluidErrorBase {
392
+ constructor(message: string);
393
+ // (undocumented)
394
+ readonly canRetry = false;
395
+ // (undocumented)
396
+ readonly errorType = DriverErrorType.usageError;
397
+ }
398
+
399
+ // (No @packageDocumentation comment for this package)
400
+
401
+ ```