@fluidframework/driver-utils 1.4.0-121020 → 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
@@ -4,14 +4,9 @@
4
4
  */
5
5
 
6
6
  import { parse } from "url";
7
- import { assert } from "@fluidframework/common-utils";
7
+ import { assert } from "@fluidframework/core-utils";
8
8
  import { IRequest } from "@fluidframework/core-interfaces";
9
- import {
10
- IFluidResolvedUrl,
11
- IResolvedUrl,
12
- IUrlResolver,
13
- DriverHeader,
14
- } from "@fluidframework/driver-definitions";
9
+ import { IResolvedUrl, IUrlResolver, DriverHeader } from "@fluidframework/driver-definitions";
15
10
  import Axios from "axios";
16
11
 
17
12
  /**
@@ -27,130 +22,140 @@ import Axios from "axios";
27
22
  * The tenantId/documentId pair defines the 'full' document ID the service makes use of. The path is then an optional
28
23
  * part of the URL that the document interprets and maps to a data store. It's exactly similar to how a web service
29
24
  * works or a router inside of a single page app framework.
25
+ * @internal
30
26
  */
31
27
  export class InsecureUrlResolver implements IUrlResolver {
32
- private readonly cache = new Map<string, Promise<IResolvedUrl>>();
28
+ private readonly cache = new Map<string, Promise<IResolvedUrl>>();
33
29
 
34
- constructor(
35
- private readonly hostUrl: string,
36
- private readonly ordererUrl: string,
37
- private readonly storageUrl: string,
38
- private readonly tenantId: string,
39
- private readonly bearer: string,
40
- private readonly isForNodeTest: boolean = false,
41
- ) { }
30
+ constructor(
31
+ private readonly hostUrl: string,
32
+ private readonly ordererUrl: string,
33
+ private readonly storageUrl: string,
34
+ private readonly tenantId: string,
35
+ private readonly bearer: string,
36
+ private readonly isForNodeTest: boolean = false,
37
+ ) {}
42
38
 
43
- public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {
44
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
45
- if (request.headers?.[DriverHeader.createNew]) {
46
- const [, queryString] = request.url.split("?");
47
- const searchParams = new URLSearchParams(queryString);
48
- const fileName = searchParams.get("fileName");
49
- return this.resolveHelper(fileName);
50
- }
51
- const parsedUrl = new URL(request.url);
52
- // If hosts match then we use the local tenant information. Otherwise we make a REST call out to the hosting
53
- // service using our bearer token.
54
- if (this.isForNodeTest) {
55
- const [, documentId, tmpRelativePath] = parsedUrl.pathname.substr(1).split("/");
56
- const relativePath = tmpRelativePath === undefined ? "" : tmpRelativePath;
57
- return this.resolveHelper(documentId, relativePath, parsedUrl.search);
58
- } else if (parsedUrl.host === window.location.host) {
59
- const fullPath = parsedUrl.pathname.substr(1);
60
- const documentId = fullPath.split("/")[0];
61
- const documentRelativePath = fullPath.slice(documentId.length);
62
- return this.resolveHelper(documentId, documentRelativePath);
63
- } else {
64
- const maybeResolvedUrl = this.cache.get(request.url);
65
- if (maybeResolvedUrl) {
66
- return maybeResolvedUrl;
67
- }
39
+ public async resolve(request: IRequest): Promise<IResolvedUrl | undefined> {
40
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
41
+ if (request.headers?.[DriverHeader.createNew]) {
42
+ const [, queryString] = request.url.split("?");
43
+ const searchParams = new URLSearchParams(queryString);
44
+ const fileName = searchParams.get("fileName");
45
+ return this.resolveHelper(fileName);
46
+ }
47
+ const parsedUrl = new URL(request.url);
48
+ // If hosts match then we use the local tenant information. Otherwise we make a REST call out to the hosting
49
+ // service using our bearer token.
50
+ if (this.isForNodeTest) {
51
+ const [, documentId, tmpRelativePath] = parsedUrl.pathname.substr(1).split("/");
52
+ const relativePath = tmpRelativePath ?? "";
53
+ return this.resolveHelper(documentId, relativePath, parsedUrl.search);
54
+ } else if (parsedUrl.host === window.location.host) {
55
+ const fullPath = parsedUrl.pathname.substr(1);
56
+ const documentId = fullPath.split("/")[0];
57
+ const documentRelativePath = fullPath.slice(documentId.length);
58
+ return this.resolveHelper(documentId, documentRelativePath);
59
+ } else {
60
+ const maybeResolvedUrl = this.cache.get(request.url);
61
+ if (maybeResolvedUrl) {
62
+ return maybeResolvedUrl;
63
+ }
68
64
 
69
- const headers = {
70
- Authorization: `Bearer ${this.bearer}`,
71
- };
72
- const resolvedP = Axios.post<IResolvedUrl>(
73
- `${this.hostUrl}/api/v1/load`,
74
- {
75
- url: request.url,
76
- },
77
- {
78
- headers,
79
- });
80
- this.cache.set(request.url, resolvedP.then((resolved) => resolved.data));
65
+ const headers = {
66
+ Authorization: `Bearer ${this.bearer}`,
67
+ };
68
+ const resolvedP = Axios.post<IResolvedUrl>(
69
+ `${this.hostUrl}/api/v1/load`,
70
+ {
71
+ url: request.url,
72
+ },
73
+ {
74
+ headers,
75
+ },
76
+ );
77
+ this.cache.set(
78
+ request.url,
79
+ resolvedP.then((resolved) => resolved.data),
80
+ );
81
81
 
82
- return this.cache.get(request.url);
83
- }
84
- }
82
+ return this.cache.get(request.url);
83
+ }
84
+ }
85
85
 
86
- private resolveHelper(documentId: string | null, documentRelativePath: string = "", queryParams: string = "") {
87
- const encodedTenantId = encodeURIComponent(this.tenantId);
88
- const host = new URL(this.ordererUrl).host;
89
- // when the document ID is not provided we need to resolve a special create new document URL.
90
- // the actual container ID will be generated by the driver.
91
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
92
- if (!documentId) {
93
- const createNewResponse: IFluidResolvedUrl = {
94
- endpoints: {
95
- deltaStorageUrl: `${this.ordererUrl}/deltas/${encodedTenantId}/new`,
96
- ordererUrl: this.ordererUrl,
97
- storageUrl: `${this.storageUrl}/repos/${encodedTenantId}`,
98
- },
99
- // document ID is ignored by the driver for new container requests
100
- id: "",
101
- tokens: {},
102
- type: "fluid",
103
- url: `fluid://${host}/${encodedTenantId}/new`,
104
- };
105
- return createNewResponse;
106
- }
107
- const encodedDocId = encodeURIComponent(documentId);
108
- const relativePath = !documentRelativePath || documentRelativePath.startsWith("/")
109
- ? documentRelativePath : `/${documentRelativePath}`;
110
- const documentUrl = `fluid://${host}/${encodedTenantId}/${encodedDocId}${relativePath}${queryParams}`;
86
+ private resolveHelper(
87
+ documentId: string | null,
88
+ documentRelativePath: string = "",
89
+ queryParams: string = "",
90
+ ) {
91
+ const encodedTenantId = encodeURIComponent(this.tenantId);
92
+ const host = new URL(this.ordererUrl).host;
93
+ // when the document ID is not provided we need to resolve a special create new document URL.
94
+ // the actual container ID will be generated by the driver.
95
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
96
+ if (!documentId) {
97
+ const createNewResponse: IResolvedUrl = {
98
+ endpoints: {
99
+ deltaStorageUrl: `${this.ordererUrl}/deltas/${encodedTenantId}/new`,
100
+ ordererUrl: this.ordererUrl,
101
+ storageUrl: `${this.storageUrl}/repos/${encodedTenantId}`,
102
+ },
103
+ // document ID is ignored by the driver for new container requests
104
+ id: "",
105
+ tokens: {},
106
+ type: "fluid",
107
+ url: `fluid://${host}/${encodedTenantId}/new`,
108
+ };
109
+ return createNewResponse;
110
+ }
111
+ const encodedDocId = encodeURIComponent(documentId);
112
+ const relativePath =
113
+ !documentRelativePath || documentRelativePath.startsWith("/")
114
+ ? documentRelativePath
115
+ : `/${documentRelativePath}`;
116
+ const documentUrl = `fluid://${host}/${encodedTenantId}/${encodedDocId}${relativePath}${queryParams}`;
111
117
 
112
- const deltaStorageUrl = `${this.ordererUrl}/deltas/${encodedTenantId}/${encodedDocId}`;
113
- const storageUrl = `${this.storageUrl}/repos/${encodedTenantId}`;
118
+ const deltaStorageUrl = `${this.ordererUrl}/deltas/${encodedTenantId}/${encodedDocId}`;
119
+ const storageUrl = `${this.storageUrl}/repos/${encodedTenantId}`;
114
120
 
115
- const response: IFluidResolvedUrl = {
116
- endpoints: {
117
- deltaStorageUrl,
118
- ordererUrl: this.ordererUrl,
119
- storageUrl,
120
- },
121
- id: documentId,
122
- tokens: {},
123
- type: "fluid",
124
- url: documentUrl,
125
- };
126
- return response;
127
- }
121
+ const response: IResolvedUrl = {
122
+ endpoints: {
123
+ deltaStorageUrl,
124
+ ordererUrl: this.ordererUrl,
125
+ storageUrl,
126
+ },
127
+ id: documentId,
128
+ tokens: {},
129
+ type: "fluid",
130
+ url: documentUrl,
131
+ };
132
+ return response;
133
+ }
128
134
 
129
- public async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {
130
- const fluidResolvedUrl = resolvedUrl as IFluidResolvedUrl;
135
+ public async getAbsoluteUrl(resolvedUrl: IResolvedUrl, relativeUrl: string): Promise<string> {
136
+ const parsedUrl = parse(resolvedUrl.url);
137
+ const [, , documentId] = parsedUrl.pathname?.split("/") ?? [];
138
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
139
+ assert(!!documentId, 0x273 /* "Invalid document id from parsed URL" */);
131
140
 
132
- const parsedUrl = parse(fluidResolvedUrl.url);
133
- const [, , documentId] = parsedUrl.pathname?.split("/") ?? [];
134
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
135
- assert(!!documentId, 0x273 /* "Invalid document id from parsed URL" */);
141
+ let url = relativeUrl;
142
+ if (url.startsWith("/")) {
143
+ url = url.substr(1);
144
+ }
136
145
 
137
- let url = relativeUrl;
138
- if (url.startsWith("/")) {
139
- url = url.substr(1);
140
- }
146
+ return `${this.hostUrl}/${encodeURIComponent(this.tenantId)}/${encodeURIComponent(
147
+ documentId,
148
+ )}/${url}`;
149
+ }
141
150
 
142
- return `${this.hostUrl}/${encodeURIComponent(
143
- this.tenantId)}/${encodeURIComponent(documentId)}/${url}`;
144
- }
145
-
146
- public createCreateNewRequest(fileName?: string): IRequest {
147
- const createNewRequest: IRequest = {
148
- // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
149
- url: fileName ? `${this.hostUrl}?fileName=${fileName}` : this.hostUrl,
150
- headers: {
151
- [DriverHeader.createNew]: true,
152
- },
153
- };
154
- return createNewRequest;
155
- }
151
+ public createCreateNewRequest(fileName?: string): IRequest {
152
+ const createNewRequest: IRequest = {
153
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
154
+ url: fileName ? `${this.hostUrl}?fileName=${fileName}` : this.hostUrl,
155
+ headers: {
156
+ [DriverHeader.createNew]: true,
157
+ },
158
+ };
159
+ return createNewRequest;
160
+ }
156
161
  }
@@ -2,68 +2,39 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { IDocumentMessage, ISequencedDocumentMessage, MessageType } from "@fluidframework/protocol-definitions";
5
+ import {
6
+ IDocumentMessage,
7
+ ISequencedDocumentMessage,
8
+ MessageType,
9
+ } from "@fluidframework/protocol-definitions";
6
10
 
7
11
  /**
8
- *
9
- * @param message-message
10
- * @returns whether or not the message type is one listed below
11
- * "op"
12
- * "summarize"
13
- * "propose"
14
- * "reject"
15
- * "noop"
12
+ * Tells if message was sent by container runtime
13
+ * @privateRemarks ADO #1385: To be moved to container-definitions
14
+ * @returns whether the message is a runtime message
15
+ * @internal
16
16
  */
17
- export function isClientMessage(message: ISequencedDocumentMessage | IDocumentMessage): boolean {
18
- if (isRuntimeMessage(message)) {
19
- return true;
20
- }
21
- switch (message.type) {
22
- case MessageType.Propose:
23
- case MessageType.Reject:
24
- case MessageType.NoOp:
25
- return true;
26
- default:
27
- return false;
28
- }
17
+ export function isRuntimeMessage(message: { type: string }): boolean {
18
+ return message.type === MessageType.Operation;
29
19
  }
30
20
 
31
21
  /**
32
- *
33
- * @param message-message
34
- * @returns whether or not the message type is one listed below
35
- * "op"
36
- * "summarize"
22
+ * @privateRemarks ADO #1385: staging code changes across layers.
23
+ * Eventually to be replaced by MessageType.accept
24
+ * @internal
37
25
  */
38
- export function isRuntimeMessage(message: ISequencedDocumentMessage | IDocumentMessage): boolean {
39
- return message.type === MessageType.Operation || message.type === MessageType.Summarize;
40
- }
41
-
42
- enum RuntimeMessage {
43
- FluidDataStoreOp = "component",
44
- Attach = "attach",
45
- ChunkedOp = "chunkedOp",
46
- BlobAttach = "blobAttach",
47
- Rejoin = "rejoin",
48
- Alias = "alias",
49
- Operation = "op",
26
+ export enum MessageType2 {
27
+ Accept = "accept",
50
28
  }
51
29
 
52
30
  /**
53
- *
54
- * @param message-message
55
- * @returns whether or not the message type is one listed below (legacy)
56
- * "component"
57
- * "attach"
58
- * "chunkedOp"
59
- * "blobAttach"
60
- * "rejoin"
61
- * "alias"
62
- * "op"
31
+ * @privateRemarks ADO #1385: To be moved to packages/protocol-base/src/protocol.ts
32
+ * @internal
63
33
  */
64
- export function isUnpackedRuntimeMessage(message: ISequencedDocumentMessage): boolean {
65
- if ((Object.values(RuntimeMessage) as string[]).includes(message.type)) {
66
- return true;
67
- }
68
- return false;
34
+ export function canBeCoalescedByService(
35
+ message: ISequencedDocumentMessage | IDocumentMessage,
36
+ ): boolean {
37
+ // This assumes that in the future relay service may implement coalescing of accept messages,
38
+ // same way it was doing coalescing of immediate noops in the past.
39
+ return message.type === MessageType.NoOp || message.type === MessageType2.Accept;
69
40
  }