@fluidframework/odsp-driver 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 (661) 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-lint.json +4 -0
  6. package/api-extractor.json +2 -2
  7. package/api-report/odsp-driver.api.md +310 -0
  8. package/dist/{ReadBufferUtils.js → ReadBufferUtils.cjs} +16 -9
  9. package/dist/ReadBufferUtils.cjs.map +1 -0
  10. package/dist/ReadBufferUtils.d.ts.map +1 -1
  11. package/dist/{WriteBufferUtils.js → WriteBufferUtils.cjs} +73 -69
  12. package/dist/WriteBufferUtils.cjs.map +1 -0
  13. package/dist/WriteBufferUtils.d.ts +3 -5
  14. package/dist/WriteBufferUtils.d.ts.map +1 -1
  15. package/dist/{checkUrl.js → checkUrl.cjs} +7 -6
  16. package/dist/checkUrl.cjs.map +1 -0
  17. package/dist/checkUrl.d.ts +1 -0
  18. package/dist/checkUrl.d.ts.map +1 -1
  19. package/dist/compactSnapshotParser.cjs +207 -0
  20. package/dist/compactSnapshotParser.cjs.map +1 -0
  21. package/dist/compactSnapshotParser.d.ts +12 -3
  22. package/dist/compactSnapshotParser.d.ts.map +1 -1
  23. package/dist/{compactSnapshotWriter.js → compactSnapshotWriter.cjs} +43 -33
  24. package/dist/compactSnapshotWriter.cjs.map +1 -0
  25. package/dist/compactSnapshotWriter.d.ts +2 -3
  26. package/dist/compactSnapshotWriter.d.ts.map +1 -1
  27. package/dist/{constants.js → constants.cjs} +7 -1
  28. package/dist/constants.cjs.map +1 -0
  29. package/dist/constants.d.ts +6 -0
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/{contracts.js → contracts.cjs} +1 -1
  32. package/dist/contracts.cjs.map +1 -0
  33. package/dist/contracts.d.ts +16 -53
  34. package/dist/contracts.d.ts.map +1 -1
  35. package/dist/{contractsPublic.js → contractsPublic.cjs} +9 -3
  36. package/dist/contractsPublic.cjs.map +1 -0
  37. package/dist/contractsPublic.d.ts +15 -0
  38. package/dist/contractsPublic.d.ts.map +1 -1
  39. package/dist/createFile.cjs +177 -0
  40. package/dist/createFile.cjs.map +1 -0
  41. package/dist/createFile.d.ts +6 -10
  42. package/dist/createFile.d.ts.map +1 -1
  43. package/dist/createNewContainerOnExistingFile.cjs +60 -0
  44. package/dist/createNewContainerOnExistingFile.cjs.map +1 -0
  45. package/dist/createNewContainerOnExistingFile.d.ts +22 -0
  46. package/dist/createNewContainerOnExistingFile.d.ts.map +1 -0
  47. package/dist/createNewModule.cjs +12 -0
  48. package/dist/createNewModule.cjs.map +1 -0
  49. package/dist/createNewModule.d.ts +7 -0
  50. package/dist/createNewModule.d.ts.map +1 -0
  51. package/dist/createNewUtils.cjs +203 -0
  52. package/dist/createNewUtils.cjs.map +1 -0
  53. package/dist/createNewUtils.d.ts +16 -0
  54. package/dist/createNewUtils.d.ts.map +1 -1
  55. package/dist/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.cjs} +8 -4
  56. package/dist/createOdspCreateContainerRequest.cjs.map +1 -0
  57. package/dist/createOdspCreateContainerRequest.d.ts +5 -3
  58. package/dist/createOdspCreateContainerRequest.d.ts.map +1 -1
  59. package/dist/{createOdspUrl.js → createOdspUrl.cjs} +2 -1
  60. package/dist/createOdspUrl.cjs.map +1 -0
  61. package/dist/createOdspUrl.d.ts +1 -0
  62. package/dist/createOdspUrl.d.ts.map +1 -1
  63. package/dist/{epochTracker.js → epochTracker.cjs} +102 -48
  64. package/dist/epochTracker.cjs.map +1 -0
  65. package/dist/epochTracker.d.ts +32 -8
  66. package/dist/epochTracker.d.ts.map +1 -1
  67. package/dist/{fetch.js → fetch.cjs} +1 -1
  68. package/dist/fetch.cjs.map +1 -0
  69. package/dist/fetch.d.ts +1 -1
  70. package/dist/fetch.d.ts.map +1 -1
  71. package/dist/{fetchSnapshot.js → fetchSnapshot.cjs} +192 -176
  72. package/dist/fetchSnapshot.cjs.map +1 -0
  73. package/dist/fetchSnapshot.d.ts +10 -5
  74. package/dist/fetchSnapshot.d.ts.map +1 -1
  75. package/dist/{getFileLink.js → getFileLink.cjs} +52 -41
  76. package/dist/getFileLink.cjs.map +1 -0
  77. package/dist/getFileLink.d.ts +4 -7
  78. package/dist/getFileLink.d.ts.map +1 -1
  79. package/dist/{getQueryString.js → getQueryString.cjs} +1 -1
  80. package/dist/getQueryString.cjs.map +1 -0
  81. package/dist/getQueryString.d.ts.map +1 -1
  82. package/dist/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.cjs} +4 -2
  83. package/dist/getUrlAndHeadersWithAuth.cjs.map +1 -0
  84. package/dist/getUrlAndHeadersWithAuth.d.ts.map +1 -1
  85. package/dist/index.cjs +59 -0
  86. package/dist/index.cjs.map +1 -0
  87. package/dist/index.d.ts +19 -16
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs +35 -0
  90. package/dist/localOdspDriver/localOdspDeltaStorageService.cjs.map +1 -0
  91. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts +17 -0
  92. package/dist/localOdspDriver/localOdspDeltaStorageService.d.ts.map +1 -0
  93. package/dist/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.cjs} +7 -5
  94. package/dist/localOdspDriver/localOdspDocumentService.cjs.map +1 -0
  95. package/dist/localOdspDriver/localOdspDocumentService.d.ts +3 -2
  96. package/dist/localOdspDriver/localOdspDocumentService.d.ts.map +1 -1
  97. package/dist/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.cjs} +9 -10
  98. package/dist/localOdspDriver/localOdspDocumentServiceFactory.cjs.map +1 -0
  99. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts +2 -3
  100. package/dist/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +1 -1
  101. package/dist/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.cjs} +13 -11
  102. package/dist/localOdspDriver/localOdspDocumentStorageManager.cjs.map +1 -0
  103. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts +2 -2
  104. package/dist/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +1 -1
  105. package/dist/odsp-driver-alpha.d.ts +497 -0
  106. package/dist/odsp-driver-beta.d.ts +159 -0
  107. package/dist/odsp-driver-public.d.ts +159 -0
  108. package/dist/odsp-driver-untrimmed.d.ts +566 -0
  109. package/dist/{odspCache.js → odspCache.cjs} +9 -10
  110. package/dist/odspCache.cjs.map +1 -0
  111. package/dist/odspCache.d.ts +19 -4
  112. package/dist/odspCache.d.ts.map +1 -1
  113. package/dist/odspDelayLoadedDeltaStream.cjs +291 -0
  114. package/dist/odspDelayLoadedDeltaStream.cjs.map +1 -0
  115. package/dist/odspDelayLoadedDeltaStream.d.ts +75 -0
  116. package/dist/odspDelayLoadedDeltaStream.d.ts.map +1 -0
  117. package/dist/{odspDeltaStorageService.js → odspDeltaStorageService.cjs} +70 -71
  118. package/dist/odspDeltaStorageService.cjs.map +1 -0
  119. package/dist/odspDeltaStorageService.d.ts +8 -6
  120. package/dist/odspDeltaStorageService.d.ts.map +1 -1
  121. package/dist/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.cjs} +224 -113
  122. package/dist/odspDocumentDeltaConnection.cjs.map +1 -0
  123. package/dist/odspDocumentDeltaConnection.d.ts +32 -12
  124. package/dist/odspDocumentDeltaConnection.d.ts.map +1 -1
  125. package/dist/odspDocumentService.cjs +225 -0
  126. package/dist/odspDocumentService.cjs.map +1 -0
  127. package/dist/odspDocumentService.d.ts +11 -25
  128. package/dist/odspDocumentService.d.ts.map +1 -1
  129. package/dist/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.cjs} +8 -5
  130. package/dist/odspDocumentServiceFactory.cjs.map +1 -0
  131. package/dist/odspDocumentServiceFactory.d.ts +4 -0
  132. package/dist/odspDocumentServiceFactory.d.ts.map +1 -1
  133. package/dist/odspDocumentServiceFactoryCore.cjs +196 -0
  134. package/dist/odspDocumentServiceFactoryCore.cjs.map +1 -0
  135. package/dist/odspDocumentServiceFactoryCore.d.ts +16 -11
  136. package/dist/odspDocumentServiceFactoryCore.d.ts.map +1 -1
  137. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs +20 -0
  138. package/dist/odspDocumentServiceFactoryWithCodeSplit.cjs.map +1 -0
  139. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts +5 -0
  140. package/dist/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +1 -1
  141. package/dist/odspDocumentStorageManager.cjs +490 -0
  142. package/dist/odspDocumentStorageManager.cjs.map +1 -0
  143. package/dist/odspDocumentStorageManager.d.ts +11 -5
  144. package/dist/odspDocumentStorageManager.d.ts.map +1 -1
  145. package/dist/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.cjs} +32 -34
  146. package/dist/odspDocumentStorageServiceBase.cjs.map +1 -0
  147. package/dist/odspDocumentStorageServiceBase.d.ts +7 -9
  148. package/dist/odspDocumentStorageServiceBase.d.ts.map +1 -1
  149. package/dist/{odspDriverUrlResolver.js → odspDriverUrlResolver.cjs} +50 -36
  150. package/dist/odspDriverUrlResolver.cjs.map +1 -0
  151. package/dist/odspDriverUrlResolver.d.ts +12 -0
  152. package/dist/odspDriverUrlResolver.d.ts.map +1 -1
  153. package/dist/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.cjs} +37 -26
  154. package/dist/odspDriverUrlResolverForShareLink.cjs.map +1 -0
  155. package/dist/odspDriverUrlResolverForShareLink.d.ts +5 -3
  156. package/dist/odspDriverUrlResolverForShareLink.d.ts.map +1 -1
  157. package/dist/{odspError.js → odspError.cjs} +7 -3
  158. package/dist/odspError.cjs.map +1 -0
  159. package/dist/odspError.d.ts.map +1 -1
  160. package/dist/{odspFluidFileLink.js → odspFluidFileLink.cjs} +25 -18
  161. package/dist/odspFluidFileLink.cjs.map +1 -0
  162. package/dist/odspFluidFileLink.d.ts +10 -1
  163. package/dist/odspFluidFileLink.d.ts.map +1 -1
  164. package/dist/odspLocationRedirection.cjs +24 -0
  165. package/dist/odspLocationRedirection.cjs.map +1 -0
  166. package/dist/odspLocationRedirection.d.ts +14 -0
  167. package/dist/odspLocationRedirection.d.ts.map +1 -0
  168. package/dist/{odspPublicUtils.js → odspPublicUtils.cjs} +7 -4
  169. package/dist/odspPublicUtils.cjs.map +1 -0
  170. package/dist/odspPublicUtils.d.ts +6 -0
  171. package/dist/odspPublicUtils.d.ts.map +1 -1
  172. package/dist/{odspSnapshotParser.js → odspSnapshotParser.cjs} +11 -12
  173. package/dist/odspSnapshotParser.cjs.map +1 -0
  174. package/dist/odspSnapshotParser.d.ts.map +1 -1
  175. package/dist/{odspSummaryUploadManager.js → odspSummaryUploadManager.cjs} +47 -34
  176. package/dist/odspSummaryUploadManager.cjs.map +1 -0
  177. package/dist/odspSummaryUploadManager.d.ts +7 -4
  178. package/dist/odspSummaryUploadManager.d.ts.map +1 -1
  179. package/dist/{odspUrlHelper.js → odspUrlHelper.cjs} +9 -3
  180. package/dist/odspUrlHelper.cjs.map +1 -0
  181. package/dist/odspUrlHelper.d.ts +5 -0
  182. package/dist/odspUrlHelper.d.ts.map +1 -1
  183. package/dist/{odspUtils.js → odspUtils.cjs} +118 -30
  184. package/dist/odspUtils.cjs.map +1 -0
  185. package/dist/odspUtils.d.ts +35 -6
  186. package/dist/odspUtils.d.ts.map +1 -1
  187. package/dist/{opsCaching.js → opsCaching.cjs} +25 -9
  188. package/dist/opsCaching.cjs.map +1 -0
  189. package/dist/opsCaching.d.ts +3 -3
  190. package/dist/opsCaching.d.ts.map +1 -1
  191. package/dist/{packageVersion.js → packageVersion.cjs} +2 -2
  192. package/dist/packageVersion.cjs.map +1 -0
  193. package/dist/packageVersion.d.ts +1 -1
  194. package/dist/packageVersion.d.ts.map +1 -1
  195. package/dist/prefetchLatestSnapshot.cjs +100 -0
  196. package/dist/prefetchLatestSnapshot.cjs.map +1 -0
  197. package/dist/prefetchLatestSnapshot.d.ts +12 -7
  198. package/dist/prefetchLatestSnapshot.d.ts.map +1 -1
  199. package/dist/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.cjs} +13 -6
  200. package/dist/retryErrorsStorageAdapter.cjs.map +1 -0
  201. package/dist/retryErrorsStorageAdapter.d.ts +5 -4
  202. package/dist/retryErrorsStorageAdapter.d.ts.map +1 -1
  203. package/dist/{retryUtils.js → retryUtils.cjs} +30 -14
  204. package/dist/retryUtils.cjs.map +1 -0
  205. package/dist/retryUtils.d.ts +2 -2
  206. package/dist/retryUtils.d.ts.map +1 -1
  207. package/dist/socketModule.cjs +10 -0
  208. package/dist/socketModule.cjs.map +1 -0
  209. package/dist/socketModule.d.ts +7 -0
  210. package/dist/socketModule.d.ts.map +1 -0
  211. package/dist/tsdoc-metadata.json +11 -0
  212. package/dist/{vroom.js → vroom.cjs} +24 -9
  213. package/dist/vroom.cjs.map +1 -0
  214. package/dist/vroom.d.ts +4 -4
  215. package/dist/vroom.d.ts.map +1 -1
  216. package/dist/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.cjs} +227 -118
  217. package/dist/zipItDataRepresentationUtils.cjs.map +1 -0
  218. package/dist/zipItDataRepresentationUtils.d.ts +47 -20
  219. package/dist/zipItDataRepresentationUtils.d.ts.map +1 -1
  220. package/lib/ReadBufferUtils.d.mts.map +1 -0
  221. package/lib/{ReadBufferUtils.js → ReadBufferUtils.mjs} +14 -7
  222. package/lib/ReadBufferUtils.mjs.map +1 -0
  223. package/lib/{WriteBufferUtils.d.ts → WriteBufferUtils.d.mts} +3 -5
  224. package/lib/WriteBufferUtils.d.mts.map +1 -0
  225. package/lib/{WriteBufferUtils.js → WriteBufferUtils.mjs} +68 -64
  226. package/lib/WriteBufferUtils.mjs.map +1 -0
  227. package/lib/{checkUrl.d.ts → checkUrl.d.mts} +1 -0
  228. package/lib/checkUrl.d.mts.map +1 -0
  229. package/lib/{checkUrl.js → checkUrl.mjs} +7 -6
  230. package/lib/checkUrl.mjs.map +1 -0
  231. package/lib/compactSnapshotParser.d.mts +24 -0
  232. package/lib/compactSnapshotParser.d.mts.map +1 -0
  233. package/lib/compactSnapshotParser.mjs +203 -0
  234. package/lib/compactSnapshotParser.mjs.map +1 -0
  235. package/lib/{compactSnapshotWriter.d.ts → compactSnapshotWriter.d.mts} +3 -4
  236. package/lib/compactSnapshotWriter.d.mts.map +1 -0
  237. package/lib/{compactSnapshotWriter.js → compactSnapshotWriter.mjs} +41 -31
  238. package/lib/compactSnapshotWriter.mjs.map +1 -0
  239. package/lib/{constants.d.ts → constants.d.mts} +6 -0
  240. package/lib/constants.d.mts.map +1 -0
  241. package/lib/{constants.js → constants.mjs} +7 -1
  242. package/lib/constants.mjs.map +1 -0
  243. package/lib/{contracts.d.ts → contracts.d.mts} +17 -54
  244. package/lib/contracts.d.mts.map +1 -0
  245. package/lib/{contracts.js → contracts.mjs} +1 -1
  246. package/lib/contracts.mjs.map +1 -0
  247. package/lib/{contractsPublic.d.ts → contractsPublic.d.mts} +15 -0
  248. package/lib/contractsPublic.d.mts.map +1 -0
  249. package/lib/{contractsPublic.js → contractsPublic.mjs} +7 -1
  250. package/lib/contractsPublic.mjs.map +1 -0
  251. package/lib/createFile.d.mts +18 -0
  252. package/lib/createFile.d.mts.map +1 -0
  253. package/lib/createFile.mjs +171 -0
  254. package/lib/createFile.mjs.map +1 -0
  255. package/lib/createNewContainerOnExistingFile.d.mts +22 -0
  256. package/lib/createNewContainerOnExistingFile.d.mts.map +1 -0
  257. package/lib/createNewContainerOnExistingFile.mjs +56 -0
  258. package/lib/createNewContainerOnExistingFile.mjs.map +1 -0
  259. package/lib/createNewModule.d.mts +7 -0
  260. package/lib/createNewModule.d.mts.map +1 -0
  261. package/lib/createNewModule.mjs +7 -0
  262. package/lib/createNewModule.mjs.map +1 -0
  263. package/lib/createNewUtils.d.mts +27 -0
  264. package/lib/createNewUtils.d.mts.map +1 -0
  265. package/lib/createNewUtils.mjs +197 -0
  266. package/lib/createNewUtils.mjs.map +1 -0
  267. package/lib/{createOdspCreateContainerRequest.d.ts → createOdspCreateContainerRequest.d.mts} +5 -7
  268. package/lib/createOdspCreateContainerRequest.d.mts.map +1 -0
  269. package/lib/{createOdspCreateContainerRequest.js → createOdspCreateContainerRequest.mjs} +8 -4
  270. package/lib/createOdspCreateContainerRequest.mjs.map +1 -0
  271. package/lib/{createOdspUrl.d.ts → createOdspUrl.d.mts} +2 -1
  272. package/lib/{createOdspUrl.d.ts.map → createOdspUrl.d.mts.map} +1 -1
  273. package/lib/{createOdspUrl.js → createOdspUrl.mjs} +2 -1
  274. package/lib/createOdspUrl.mjs.map +1 -0
  275. package/lib/{epochTracker.d.ts → epochTracker.d.mts} +34 -10
  276. package/lib/epochTracker.d.mts.map +1 -0
  277. package/lib/{epochTracker.js → epochTracker.mjs} +97 -43
  278. package/lib/epochTracker.mjs.map +1 -0
  279. package/lib/{fetch.d.ts → fetch.d.mts} +1 -1
  280. package/lib/{fetch.d.ts.map → fetch.d.mts.map} +1 -1
  281. package/lib/{fetch.js → fetch.mjs} +1 -1
  282. package/lib/fetch.mjs.map +1 -0
  283. package/lib/{fetchSnapshot.d.ts → fetchSnapshot.d.mts} +14 -9
  284. package/lib/fetchSnapshot.d.mts.map +1 -0
  285. package/lib/{fetchSnapshot.js → fetchSnapshot.mjs} +185 -167
  286. package/lib/fetchSnapshot.mjs.map +1 -0
  287. package/lib/{getFileLink.d.ts → getFileLink.d.mts} +4 -7
  288. package/lib/getFileLink.d.mts.map +1 -0
  289. package/lib/{getFileLink.js → getFileLink.mjs} +49 -38
  290. package/lib/getFileLink.mjs.map +1 -0
  291. package/lib/{getQueryString.d.ts → getQueryString.d.mts} +0 -4
  292. package/lib/getQueryString.d.mts.map +1 -0
  293. package/lib/{getQueryString.js → getQueryString.mjs} +1 -1
  294. package/lib/getQueryString.mjs.map +1 -0
  295. package/lib/{getUrlAndHeadersWithAuth.d.ts.map → getUrlAndHeadersWithAuth.d.mts.map} +1 -1
  296. package/lib/{getUrlAndHeadersWithAuth.js → getUrlAndHeadersWithAuth.mjs} +4 -2
  297. package/lib/getUrlAndHeadersWithAuth.mjs.map +1 -0
  298. package/lib/index.d.mts +24 -0
  299. package/lib/index.d.mts.map +1 -0
  300. package/lib/index.mjs +22 -0
  301. package/lib/index.mjs.map +1 -0
  302. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts +17 -0
  303. package/lib/localOdspDriver/localOdspDeltaStorageService.d.mts.map +1 -0
  304. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs +31 -0
  305. package/lib/localOdspDriver/localOdspDeltaStorageService.mjs.map +1 -0
  306. package/lib/localOdspDriver/{localOdspDocumentService.d.ts → localOdspDocumentService.d.mts} +3 -2
  307. package/lib/localOdspDriver/localOdspDocumentService.d.mts.map +1 -0
  308. package/lib/localOdspDriver/{localOdspDocumentService.js → localOdspDocumentService.mjs} +8 -6
  309. package/lib/localOdspDriver/localOdspDocumentService.mjs.map +1 -0
  310. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.d.ts → localOdspDocumentServiceFactory.d.mts} +4 -5
  311. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.mts.map +1 -0
  312. package/lib/localOdspDriver/{localOdspDocumentServiceFactory.js → localOdspDocumentServiceFactory.mjs} +9 -10
  313. package/lib/localOdspDriver/localOdspDocumentServiceFactory.mjs.map +1 -0
  314. package/lib/localOdspDriver/{localOdspDocumentStorageManager.d.ts → localOdspDocumentStorageManager.d.mts} +3 -3
  315. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.mts.map +1 -0
  316. package/lib/localOdspDriver/{localOdspDocumentStorageManager.js → localOdspDocumentStorageManager.mjs} +11 -9
  317. package/lib/localOdspDriver/localOdspDocumentStorageManager.mjs.map +1 -0
  318. package/lib/odsp-driver-alpha.d.mts +497 -0
  319. package/lib/odsp-driver-beta.d.mts +159 -0
  320. package/lib/odsp-driver-public.d.mts +159 -0
  321. package/lib/odsp-driver-untrimmed.d.mts +566 -0
  322. package/lib/{odspCache.d.ts → odspCache.d.mts} +19 -8
  323. package/lib/odspCache.d.mts.map +1 -0
  324. package/lib/{odspCache.js → odspCache.mjs} +6 -11
  325. package/lib/odspCache.mjs.map +1 -0
  326. package/lib/odspDelayLoadedDeltaStream.d.mts +75 -0
  327. package/lib/odspDelayLoadedDeltaStream.d.mts.map +1 -0
  328. package/lib/odspDelayLoadedDeltaStream.mjs +287 -0
  329. package/lib/odspDelayLoadedDeltaStream.mjs.map +1 -0
  330. package/lib/{odspDeltaStorageService.d.ts → odspDeltaStorageService.d.mts} +9 -7
  331. package/lib/odspDeltaStorageService.d.mts.map +1 -0
  332. package/lib/{odspDeltaStorageService.js → odspDeltaStorageService.mjs} +70 -68
  333. package/lib/odspDeltaStorageService.mjs.map +1 -0
  334. package/lib/{odspDocumentDeltaConnection.d.ts → odspDocumentDeltaConnection.d.mts} +33 -13
  335. package/lib/odspDocumentDeltaConnection.d.mts.map +1 -0
  336. package/lib/{odspDocumentDeltaConnection.js → odspDocumentDeltaConnection.mjs} +214 -103
  337. package/lib/odspDocumentDeltaConnection.mjs.map +1 -0
  338. package/lib/{odspDocumentService.d.ts → odspDocumentService.d.mts} +14 -28
  339. package/lib/odspDocumentService.d.mts.map +1 -0
  340. package/lib/odspDocumentService.mjs +221 -0
  341. package/lib/odspDocumentService.mjs.map +1 -0
  342. package/lib/{odspDocumentServiceFactory.d.ts → odspDocumentServiceFactory.d.mts} +5 -1
  343. package/lib/odspDocumentServiceFactory.d.mts.map +1 -0
  344. package/lib/{odspDocumentServiceFactory.js → odspDocumentServiceFactory.mjs} +8 -6
  345. package/lib/odspDocumentServiceFactory.mjs.map +1 -0
  346. package/lib/{odspDocumentServiceFactoryCore.d.ts → odspDocumentServiceFactoryCore.d.mts} +17 -12
  347. package/lib/odspDocumentServiceFactoryCore.d.mts.map +1 -0
  348. package/lib/odspDocumentServiceFactoryCore.mjs +192 -0
  349. package/lib/odspDocumentServiceFactoryCore.mjs.map +1 -0
  350. package/lib/{odspDocumentServiceFactoryWithCodeSplit.d.ts → odspDocumentServiceFactoryWithCodeSplit.d.mts} +6 -1
  351. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.mts.map +1 -0
  352. package/lib/{odspDocumentServiceFactoryWithCodeSplit.js → odspDocumentServiceFactoryWithCodeSplit.mjs} +8 -3
  353. package/lib/odspDocumentServiceFactoryWithCodeSplit.mjs.map +1 -0
  354. package/lib/{odspDocumentStorageManager.d.ts → odspDocumentStorageManager.d.mts} +17 -11
  355. package/lib/odspDocumentStorageManager.d.mts.map +1 -0
  356. package/lib/odspDocumentStorageManager.mjs +486 -0
  357. package/lib/odspDocumentStorageManager.mjs.map +1 -0
  358. package/lib/{odspDocumentStorageServiceBase.d.ts → odspDocumentStorageServiceBase.d.mts} +8 -10
  359. package/lib/odspDocumentStorageServiceBase.d.mts.map +1 -0
  360. package/lib/{odspDocumentStorageServiceBase.js → odspDocumentStorageServiceBase.mjs} +31 -33
  361. package/lib/odspDocumentStorageServiceBase.mjs.map +1 -0
  362. package/lib/{odspDriverUrlResolver.d.ts → odspDriverUrlResolver.d.mts} +12 -0
  363. package/lib/odspDriverUrlResolver.d.mts.map +1 -0
  364. package/lib/{odspDriverUrlResolver.js → odspDriverUrlResolver.mjs} +50 -40
  365. package/lib/odspDriverUrlResolver.mjs.map +1 -0
  366. package/lib/{odspDriverUrlResolverForShareLink.d.ts → odspDriverUrlResolverForShareLink.d.mts} +6 -4
  367. package/lib/odspDriverUrlResolverForShareLink.d.mts.map +1 -0
  368. package/lib/{odspDriverUrlResolverForShareLink.js → odspDriverUrlResolverForShareLink.mjs} +36 -29
  369. package/lib/odspDriverUrlResolverForShareLink.mjs.map +1 -0
  370. package/lib/{odspError.d.ts → odspError.d.mts} +1 -1
  371. package/lib/odspError.d.mts.map +1 -0
  372. package/lib/{odspError.js → odspError.mjs} +7 -3
  373. package/lib/odspError.mjs.map +1 -0
  374. package/lib/{odspFluidFileLink.d.ts → odspFluidFileLink.d.mts} +11 -2
  375. package/lib/odspFluidFileLink.d.mts.map +1 -0
  376. package/lib/{odspFluidFileLink.js → odspFluidFileLink.mjs} +23 -16
  377. package/lib/odspFluidFileLink.mjs.map +1 -0
  378. package/lib/odspLocationRedirection.d.mts +14 -0
  379. package/lib/odspLocationRedirection.d.mts.map +1 -0
  380. package/lib/odspLocationRedirection.mjs +20 -0
  381. package/lib/odspLocationRedirection.mjs.map +1 -0
  382. package/lib/{odspPublicUtils.d.ts → odspPublicUtils.d.mts} +6 -0
  383. package/lib/odspPublicUtils.d.mts.map +1 -0
  384. package/lib/{odspPublicUtils.js → odspPublicUtils.mjs} +5 -2
  385. package/lib/odspPublicUtils.mjs.map +1 -0
  386. package/lib/{odspSnapshotParser.d.ts → odspSnapshotParser.d.mts} +2 -2
  387. package/lib/odspSnapshotParser.d.mts.map +1 -0
  388. package/lib/{odspSnapshotParser.js → odspSnapshotParser.mjs} +10 -11
  389. package/lib/odspSnapshotParser.mjs.map +1 -0
  390. package/lib/{odspSummaryUploadManager.d.ts → odspSummaryUploadManager.d.mts} +8 -5
  391. package/lib/odspSummaryUploadManager.d.mts.map +1 -0
  392. package/lib/{odspSummaryUploadManager.js → odspSummaryUploadManager.mjs} +41 -32
  393. package/lib/odspSummaryUploadManager.mjs.map +1 -0
  394. package/lib/{odspUrlHelper.d.ts → odspUrlHelper.d.mts} +5 -0
  395. package/lib/odspUrlHelper.d.mts.map +1 -0
  396. package/lib/{odspUrlHelper.js → odspUrlHelper.mjs} +9 -3
  397. package/lib/odspUrlHelper.mjs.map +1 -0
  398. package/lib/{odspUtils.d.ts → odspUtils.d.mts} +36 -7
  399. package/lib/odspUtils.d.mts.map +1 -0
  400. package/lib/{odspUtils.js → odspUtils.mjs} +109 -27
  401. package/lib/odspUtils.mjs.map +1 -0
  402. package/lib/{opsCaching.d.ts → opsCaching.d.mts} +3 -3
  403. package/lib/opsCaching.d.mts.map +1 -0
  404. package/lib/{opsCaching.js → opsCaching.mjs} +23 -7
  405. package/lib/opsCaching.mjs.map +1 -0
  406. package/lib/{packageVersion.d.ts → packageVersion.d.mts} +1 -1
  407. package/lib/{packageVersion.d.ts.map → packageVersion.d.mts.map} +1 -1
  408. package/lib/{packageVersion.js → packageVersion.mjs} +2 -2
  409. package/lib/packageVersion.mjs.map +1 -0
  410. package/lib/{prefetchLatestSnapshot.d.ts → prefetchLatestSnapshot.d.mts} +13 -8
  411. package/lib/prefetchLatestSnapshot.d.mts.map +1 -0
  412. package/lib/prefetchLatestSnapshot.mjs +96 -0
  413. package/lib/prefetchLatestSnapshot.mjs.map +1 -0
  414. package/lib/{retryErrorsStorageAdapter.d.ts → retryErrorsStorageAdapter.d.mts} +5 -4
  415. package/lib/retryErrorsStorageAdapter.d.mts.map +1 -0
  416. package/lib/{retryErrorsStorageAdapter.js → retryErrorsStorageAdapter.mjs} +13 -6
  417. package/lib/retryErrorsStorageAdapter.mjs.map +1 -0
  418. package/lib/{retryUtils.d.ts → retryUtils.d.mts} +2 -2
  419. package/lib/retryUtils.d.mts.map +1 -0
  420. package/lib/{retryUtils.js → retryUtils.mjs} +27 -11
  421. package/lib/retryUtils.mjs.map +1 -0
  422. package/lib/socketModule.d.mts +7 -0
  423. package/lib/socketModule.d.mts.map +1 -0
  424. package/lib/socketModule.mjs +7 -0
  425. package/lib/socketModule.mjs.map +1 -0
  426. package/lib/{vroom.d.ts → vroom.d.mts} +6 -6
  427. package/lib/vroom.d.mts.map +1 -0
  428. package/lib/{vroom.js → vroom.mjs} +24 -9
  429. package/lib/vroom.mjs.map +1 -0
  430. package/lib/{zipItDataRepresentationUtils.d.ts → zipItDataRepresentationUtils.d.mts} +48 -21
  431. package/lib/zipItDataRepresentationUtils.d.mts.map +1 -0
  432. package/lib/{zipItDataRepresentationUtils.js → zipItDataRepresentationUtils.mjs} +213 -111
  433. package/lib/zipItDataRepresentationUtils.mjs.map +1 -0
  434. package/package.json +89 -69
  435. package/prettier.config.cjs +8 -0
  436. package/src/ReadBufferUtils.ts +51 -44
  437. package/src/WriteBufferUtils.ts +203 -181
  438. package/src/checkUrl.ts +16 -15
  439. package/src/compactSnapshotParser.ts +219 -103
  440. package/src/compactSnapshotWriter.ts +118 -97
  441. package/src/constants.ts +7 -0
  442. package/src/contracts.ts +96 -136
  443. package/src/contractsPublic.ts +31 -16
  444. package/src/createFile.ts +243 -305
  445. package/src/createNewContainerOnExistingFile.ts +93 -0
  446. package/src/createNewModule.ts +7 -0
  447. package/src/createNewUtils.ts +266 -56
  448. package/src/createOdspCreateContainerRequest.ts +22 -18
  449. package/src/createOdspUrl.ts +12 -13
  450. package/src/epochTracker.ts +596 -457
  451. package/src/fetch.ts +4 -4
  452. package/src/fetchSnapshot.ts +583 -508
  453. package/src/getFileLink.ts +194 -155
  454. package/src/getQueryString.ts +11 -9
  455. package/src/getUrlAndHeadersWithAuth.ts +34 -33
  456. package/src/index.ts +42 -18
  457. package/src/localOdspDriver/localOdspDeltaStorageService.ts +49 -0
  458. package/src/localOdspDriver/localOdspDocumentService.ts +40 -38
  459. package/src/localOdspDriver/localOdspDocumentServiceFactory.ts +46 -43
  460. package/src/localOdspDriver/localOdspDocumentStorageManager.ts +55 -50
  461. package/src/odspCache.ts +112 -90
  462. package/src/odspDelayLoadedDeltaStream.ts +459 -0
  463. package/src/odspDeltaStorageService.ts +232 -221
  464. package/src/odspDocumentDeltaConnection.ts +751 -563
  465. package/src/odspDocumentService.ts +324 -523
  466. package/src/odspDocumentServiceFactory.ts +20 -21
  467. package/src/odspDocumentServiceFactoryCore.ts +325 -202
  468. package/src/odspDocumentServiceFactoryWithCodeSplit.ts +20 -20
  469. package/src/odspDocumentStorageManager.ts +730 -534
  470. package/src/odspDocumentStorageServiceBase.ts +279 -254
  471. package/src/odspDriverUrlResolver.ts +230 -188
  472. package/src/odspDriverUrlResolverForShareLink.ts +223 -203
  473. package/src/odspError.ts +27 -19
  474. package/src/odspFluidFileLink.ts +106 -87
  475. package/src/odspLocationRedirection.ts +26 -0
  476. package/src/odspPublicUtils.ts +20 -14
  477. package/src/odspSnapshotParser.ts +53 -46
  478. package/src/odspSummaryUploadManager.ts +243 -218
  479. package/src/odspUrlHelper.ts +81 -71
  480. package/src/odspUtils.ts +401 -259
  481. package/src/opsCaching.ts +214 -193
  482. package/src/packageVersion.ts +1 -1
  483. package/src/prefetchLatestSnapshot.ts +142 -80
  484. package/src/retryErrorsStorageAdapter.ts +92 -77
  485. package/src/retryUtils.ts +80 -57
  486. package/src/socketModule.ts +8 -0
  487. package/src/vroom.ts +92 -83
  488. package/src/zipItDataRepresentationUtils.ts +534 -394
  489. package/tsc-multi.test.json +4 -0
  490. package/tsconfig.json +11 -13
  491. package/.editorconfig +0 -7
  492. package/dist/ReadBufferUtils.js.map +0 -1
  493. package/dist/WriteBufferUtils.js.map +0 -1
  494. package/dist/checkUrl.js.map +0 -1
  495. package/dist/compactSnapshotParser.js +0 -115
  496. package/dist/compactSnapshotParser.js.map +0 -1
  497. package/dist/compactSnapshotWriter.js.map +0 -1
  498. package/dist/constants.js.map +0 -1
  499. package/dist/contracts.js.map +0 -1
  500. package/dist/contractsPublic.js.map +0 -1
  501. package/dist/createFile.js +0 -242
  502. package/dist/createFile.js.map +0 -1
  503. package/dist/createNewUtils.js +0 -67
  504. package/dist/createNewUtils.js.map +0 -1
  505. package/dist/createOdspCreateContainerRequest.js.map +0 -1
  506. package/dist/createOdspUrl.js.map +0 -1
  507. package/dist/epochTracker.js.map +0 -1
  508. package/dist/fetch.js.map +0 -1
  509. package/dist/fetchSnapshot.js.map +0 -1
  510. package/dist/getFileLink.js.map +0 -1
  511. package/dist/getQueryString.js.map +0 -1
  512. package/dist/getSocketIo.d.ts +0 -11
  513. package/dist/getSocketIo.d.ts.map +0 -1
  514. package/dist/getSocketIo.js +0 -20
  515. package/dist/getSocketIo.js.map +0 -1
  516. package/dist/getUrlAndHeadersWithAuth.js.map +0 -1
  517. package/dist/index.js +0 -41
  518. package/dist/index.js.map +0 -1
  519. package/dist/localOdspDriver/localOdspDocumentService.js.map +0 -1
  520. package/dist/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  521. package/dist/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  522. package/dist/odspCache.js.map +0 -1
  523. package/dist/odspDeltaStorageService.js.map +0 -1
  524. package/dist/odspDocumentDeltaConnection.js.map +0 -1
  525. package/dist/odspDocumentService.js +0 -364
  526. package/dist/odspDocumentService.js.map +0 -1
  527. package/dist/odspDocumentServiceFactory.js.map +0 -1
  528. package/dist/odspDocumentServiceFactoryCore.js +0 -118
  529. package/dist/odspDocumentServiceFactoryCore.js.map +0 -1
  530. package/dist/odspDocumentServiceFactoryWithCodeSplit.js +0 -34
  531. package/dist/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  532. package/dist/odspDocumentStorageManager.js +0 -356
  533. package/dist/odspDocumentStorageManager.js.map +0 -1
  534. package/dist/odspDocumentStorageServiceBase.js.map +0 -1
  535. package/dist/odspDriverUrlResolver.js.map +0 -1
  536. package/dist/odspDriverUrlResolverForShareLink.js.map +0 -1
  537. package/dist/odspError.js.map +0 -1
  538. package/dist/odspFluidFileLink.js.map +0 -1
  539. package/dist/odspPublicUtils.js.map +0 -1
  540. package/dist/odspSnapshotParser.js.map +0 -1
  541. package/dist/odspSummaryUploadManager.js.map +0 -1
  542. package/dist/odspUrlHelper.js.map +0 -1
  543. package/dist/odspUtils.js.map +0 -1
  544. package/dist/opsCaching.js.map +0 -1
  545. package/dist/packageVersion.js.map +0 -1
  546. package/dist/prefetchLatestSnapshot.js +0 -57
  547. package/dist/prefetchLatestSnapshot.js.map +0 -1
  548. package/dist/retryErrorsStorageAdapter.js.map +0 -1
  549. package/dist/retryUtils.js.map +0 -1
  550. package/dist/vroom.js.map +0 -1
  551. package/dist/zipItDataRepresentationUtils.js.map +0 -1
  552. package/lib/ReadBufferUtils.d.ts.map +0 -1
  553. package/lib/ReadBufferUtils.js.map +0 -1
  554. package/lib/WriteBufferUtils.d.ts.map +0 -1
  555. package/lib/WriteBufferUtils.js.map +0 -1
  556. package/lib/checkUrl.d.ts.map +0 -1
  557. package/lib/checkUrl.js.map +0 -1
  558. package/lib/compactSnapshotParser.d.ts +0 -15
  559. package/lib/compactSnapshotParser.d.ts.map +0 -1
  560. package/lib/compactSnapshotParser.js +0 -111
  561. package/lib/compactSnapshotParser.js.map +0 -1
  562. package/lib/compactSnapshotWriter.d.ts.map +0 -1
  563. package/lib/compactSnapshotWriter.js.map +0 -1
  564. package/lib/constants.d.ts.map +0 -1
  565. package/lib/constants.js.map +0 -1
  566. package/lib/contracts.d.ts.map +0 -1
  567. package/lib/contracts.js.map +0 -1
  568. package/lib/contractsPublic.d.ts.map +0 -1
  569. package/lib/contractsPublic.js.map +0 -1
  570. package/lib/createFile.d.ts +0 -22
  571. package/lib/createFile.d.ts.map +0 -1
  572. package/lib/createFile.js +0 -235
  573. package/lib/createFile.js.map +0 -1
  574. package/lib/createNewUtils.d.ts +0 -11
  575. package/lib/createNewUtils.d.ts.map +0 -1
  576. package/lib/createNewUtils.js +0 -63
  577. package/lib/createNewUtils.js.map +0 -1
  578. package/lib/createOdspCreateContainerRequest.d.ts.map +0 -1
  579. package/lib/createOdspCreateContainerRequest.js.map +0 -1
  580. package/lib/createOdspUrl.js.map +0 -1
  581. package/lib/epochTracker.d.ts.map +0 -1
  582. package/lib/epochTracker.js.map +0 -1
  583. package/lib/fetch.js.map +0 -1
  584. package/lib/fetchSnapshot.d.ts.map +0 -1
  585. package/lib/fetchSnapshot.js.map +0 -1
  586. package/lib/getFileLink.d.ts.map +0 -1
  587. package/lib/getFileLink.js.map +0 -1
  588. package/lib/getQueryString.d.ts.map +0 -1
  589. package/lib/getQueryString.js.map +0 -1
  590. package/lib/getSocketIo.d.ts +0 -11
  591. package/lib/getSocketIo.d.ts.map +0 -1
  592. package/lib/getSocketIo.js +0 -13
  593. package/lib/getSocketIo.js.map +0 -1
  594. package/lib/getUrlAndHeadersWithAuth.js.map +0 -1
  595. package/lib/index.d.ts +0 -21
  596. package/lib/index.d.ts.map +0 -1
  597. package/lib/index.js +0 -29
  598. package/lib/index.js.map +0 -1
  599. package/lib/localOdspDriver/localOdspDocumentService.d.ts.map +0 -1
  600. package/lib/localOdspDriver/localOdspDocumentService.js.map +0 -1
  601. package/lib/localOdspDriver/localOdspDocumentServiceFactory.d.ts.map +0 -1
  602. package/lib/localOdspDriver/localOdspDocumentServiceFactory.js.map +0 -1
  603. package/lib/localOdspDriver/localOdspDocumentStorageManager.d.ts.map +0 -1
  604. package/lib/localOdspDriver/localOdspDocumentStorageManager.js.map +0 -1
  605. package/lib/odspCache.d.ts.map +0 -1
  606. package/lib/odspCache.js.map +0 -1
  607. package/lib/odspDeltaStorageService.d.ts.map +0 -1
  608. package/lib/odspDeltaStorageService.js.map +0 -1
  609. package/lib/odspDocumentDeltaConnection.d.ts.map +0 -1
  610. package/lib/odspDocumentDeltaConnection.js.map +0 -1
  611. package/lib/odspDocumentService.d.ts.map +0 -1
  612. package/lib/odspDocumentService.js +0 -360
  613. package/lib/odspDocumentService.js.map +0 -1
  614. package/lib/odspDocumentServiceFactory.d.ts.map +0 -1
  615. package/lib/odspDocumentServiceFactory.js.map +0 -1
  616. package/lib/odspDocumentServiceFactoryCore.d.ts.map +0 -1
  617. package/lib/odspDocumentServiceFactoryCore.js +0 -114
  618. package/lib/odspDocumentServiceFactoryCore.js.map +0 -1
  619. package/lib/odspDocumentServiceFactoryWithCodeSplit.d.ts.map +0 -1
  620. package/lib/odspDocumentServiceFactoryWithCodeSplit.js.map +0 -1
  621. package/lib/odspDocumentStorageManager.d.ts.map +0 -1
  622. package/lib/odspDocumentStorageManager.js +0 -352
  623. package/lib/odspDocumentStorageManager.js.map +0 -1
  624. package/lib/odspDocumentStorageServiceBase.d.ts.map +0 -1
  625. package/lib/odspDocumentStorageServiceBase.js.map +0 -1
  626. package/lib/odspDriverUrlResolver.d.ts.map +0 -1
  627. package/lib/odspDriverUrlResolver.js.map +0 -1
  628. package/lib/odspDriverUrlResolverForShareLink.d.ts.map +0 -1
  629. package/lib/odspDriverUrlResolverForShareLink.js.map +0 -1
  630. package/lib/odspError.d.ts.map +0 -1
  631. package/lib/odspError.js.map +0 -1
  632. package/lib/odspFluidFileLink.d.ts.map +0 -1
  633. package/lib/odspFluidFileLink.js.map +0 -1
  634. package/lib/odspPublicUtils.d.ts.map +0 -1
  635. package/lib/odspPublicUtils.js.map +0 -1
  636. package/lib/odspSnapshotParser.d.ts.map +0 -1
  637. package/lib/odspSnapshotParser.js.map +0 -1
  638. package/lib/odspSummaryUploadManager.d.ts.map +0 -1
  639. package/lib/odspSummaryUploadManager.js.map +0 -1
  640. package/lib/odspUrlHelper.d.ts.map +0 -1
  641. package/lib/odspUrlHelper.js.map +0 -1
  642. package/lib/odspUtils.d.ts.map +0 -1
  643. package/lib/odspUtils.js.map +0 -1
  644. package/lib/opsCaching.d.ts.map +0 -1
  645. package/lib/opsCaching.js.map +0 -1
  646. package/lib/packageVersion.js.map +0 -1
  647. package/lib/prefetchLatestSnapshot.d.ts.map +0 -1
  648. package/lib/prefetchLatestSnapshot.js +0 -53
  649. package/lib/prefetchLatestSnapshot.js.map +0 -1
  650. package/lib/retryErrorsStorageAdapter.d.ts.map +0 -1
  651. package/lib/retryErrorsStorageAdapter.js.map +0 -1
  652. package/lib/retryUtils.d.ts.map +0 -1
  653. package/lib/retryUtils.js.map +0 -1
  654. package/lib/vroom.d.ts.map +0 -1
  655. package/lib/vroom.js.map +0 -1
  656. package/lib/zipItDataRepresentationUtils.d.ts.map +0 -1
  657. package/lib/zipItDataRepresentationUtils.js.map +0 -1
  658. package/src/getSocketIo.ts +0 -14
  659. package/tsconfig.esnext.json +0 -7
  660. /package/lib/{ReadBufferUtils.d.ts → ReadBufferUtils.d.mts} +0 -0
  661. /package/lib/{getUrlAndHeadersWithAuth.d.ts → getUrlAndHeadersWithAuth.d.mts} +0 -0
package/src/createFile.ts CHANGED
@@ -3,48 +3,46 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { v4 as uuid } from "uuid";
7
- import { assert, Uint8ArrayToString } from "@fluidframework/common-utils";
8
- import { getDocAttributesFromProtocolSummary, NonRetryableError } from "@fluidframework/driver-utils";
9
- import { getGitType } from "@fluidframework/protocol-base";
10
- import { SummaryType, ISummaryTree, ISummaryBlob } from "@fluidframework/protocol-definitions";
11
- import { ITelemetryLogger } from "@fluidframework/common-definitions";
12
- import { PerformanceEvent } from "@fluidframework/telemetry-utils";
6
+ import { assert } from "@fluidframework/core-utils";
7
+ import { NonRetryableError } from "@fluidframework/driver-utils";
8
+ import { ISummaryTree } from "@fluidframework/protocol-definitions";
9
+ import { ITelemetryLoggerExt, PerformanceEvent } from "@fluidframework/telemetry-utils";
13
10
  import {
14
- IFileEntry,
15
- InstrumentedStorageTokenFetcher,
16
- IOdspResolvedUrl,
17
- OdspErrorType,
11
+ InstrumentedStorageTokenFetcher,
12
+ IOdspResolvedUrl,
13
+ OdspErrorType,
14
+ ShareLinkInfoType,
15
+ ISharingLinkKind,
16
+ ShareLinkTypes,
17
+ IFileEntry,
18
18
  } from "@fluidframework/odsp-driver-definitions";
19
19
  import { DriverErrorType } from "@fluidframework/driver-definitions";
20
- import {
21
- IOdspSummaryTree,
22
- OdspSummaryTreeValue,
23
- OdspSummaryTreeEntry,
24
- ICreateFileResponse,
25
- IOdspSummaryPayload,
26
- } from "./contracts";
20
+ import { ICreateFileResponse } from "./contracts";
27
21
  import { getUrlAndHeadersWithAuth } from "./getUrlAndHeadersWithAuth";
28
22
  import {
29
- createCacheSnapshotKey,
30
- getWithRetryForTokenRefresh,
31
- INewFileInfo,
32
- getOrigin,
33
- maxUmpPostBodySize,
23
+ buildOdspShareLinkReqParams,
24
+ createCacheSnapshotKey,
25
+ getWithRetryForTokenRefresh,
26
+ INewFileInfo,
27
+ getOrigin,
34
28
  } from "./odspUtils";
35
29
  import { ISnapshotContents } from "./odspPublicUtils";
36
30
  import { createOdspUrl } from "./createOdspUrl";
37
31
  import { getApiRoot } from "./odspUrlHelper";
38
32
  import { EpochTracker } from "./epochTracker";
39
33
  import { OdspDriverUrlResolver } from "./odspDriverUrlResolver";
40
- import { convertCreateNewSummaryTreeToTreeAndBlobs } from "./createNewUtils";
34
+ import {
35
+ convertCreateNewSummaryTreeToTreeAndBlobs,
36
+ convertSummaryIntoContainerSnapshot,
37
+ createNewFluidContainerCore,
38
+ } from "./createNewUtils";
41
39
  import { runWithRetry } from "./retryUtils";
42
40
  import { pkgVersion as driverVersion } from "./packageVersion";
43
41
  import { ClpCompliantAppHeader } from "./contractsPublic";
44
42
 
45
43
  const isInvalidFileName = (fileName: string): boolean => {
46
- const invalidCharsRegex = /["*/:<>?\\|]+/g;
47
- return !!fileName.match(invalidCharsRegex);
44
+ const invalidCharsRegex = /["*/:<>?\\|]+/g;
45
+ return !!fileName.match(invalidCharsRegex);
48
46
  };
49
47
 
50
48
  /**
@@ -52,303 +50,243 @@ const isInvalidFileName = (fileName: string): boolean => {
52
50
  * Returns resolved url
53
51
  */
54
52
  export async function createNewFluidFile(
55
- getStorageToken: InstrumentedStorageTokenFetcher,
56
- newFileInfo: INewFileInfo,
57
- logger: ITelemetryLogger,
58
- createNewSummary: ISummaryTree | undefined,
59
- epochTracker: EpochTracker,
60
- fileEntry: IFileEntry,
61
- createNewCaching: boolean,
62
- forceAccessTokenViaAuthorizationHeader: boolean,
63
- isClpCompliantApp?: boolean,
53
+ getStorageToken: InstrumentedStorageTokenFetcher,
54
+ newFileInfo: INewFileInfo,
55
+ logger: ITelemetryLoggerExt,
56
+ createNewSummary: ISummaryTree | undefined,
57
+ epochTracker: EpochTracker,
58
+ fileEntry: IFileEntry,
59
+ createNewCaching: boolean,
60
+ forceAccessTokenViaAuthorizationHeader: boolean,
61
+ isClpCompliantApp?: boolean,
62
+ enableSingleRequestForShareLinkWithCreate?: boolean,
63
+ enableShareLinkWithCreate?: boolean,
64
64
  ): Promise<IOdspResolvedUrl> {
65
- // Check for valid filename before the request to create file is actually made.
66
- if (isInvalidFileName(newFileInfo.filename)) {
67
- throw new NonRetryableError(
68
- // pre-0.58 error message: Invalid filename
69
- "Invalid filename for createNew", OdspErrorType.invalidFileNameError, { driverVersion });
70
- }
65
+ // Check for valid filename before the request to create file is actually made.
66
+ if (isInvalidFileName(newFileInfo.filename)) {
67
+ throw new NonRetryableError(
68
+ // pre-0.58 error message: Invalid filename
69
+ "Invalid filename for createNew",
70
+ OdspErrorType.invalidFileNameError,
71
+ { driverVersion },
72
+ );
73
+ }
74
+
75
+ let itemId: string;
76
+ let summaryHandle: string = "";
77
+ let shareLinkInfo: ShareLinkInfoType | undefined;
78
+ if (createNewSummary === undefined) {
79
+ itemId = await createNewEmptyFluidFile(
80
+ getStorageToken,
81
+ newFileInfo,
82
+ logger,
83
+ epochTracker,
84
+ forceAccessTokenViaAuthorizationHeader,
85
+ );
86
+ } else {
87
+ const content = await createNewFluidFileFromSummary(
88
+ getStorageToken,
89
+ newFileInfo,
90
+ logger,
91
+ createNewSummary,
92
+ epochTracker,
93
+ forceAccessTokenViaAuthorizationHeader,
94
+ );
95
+ itemId = content.itemId;
96
+ summaryHandle = content.id;
71
97
 
72
- let itemId: string;
73
- let summaryHandle: string = "";
74
- let sharingLink: string | undefined;
75
- let sharingLinkErrorReason: string | undefined;
76
- if (createNewSummary === undefined) {
77
- itemId = await createNewEmptyFluidFile(
78
- getStorageToken, newFileInfo, logger, epochTracker, forceAccessTokenViaAuthorizationHeader);
79
- } else {
80
- const content = await createNewFluidFileFromSummary(
81
- getStorageToken,
82
- newFileInfo,
83
- logger,
84
- createNewSummary,
85
- epochTracker,
86
- forceAccessTokenViaAuthorizationHeader,
87
- );
88
- itemId = content.itemId;
89
- summaryHandle = content.id;
90
- sharingLink = content.sharingLink;
91
- sharingLinkErrorReason = content.sharingLinkErrorReason;
92
- }
98
+ shareLinkInfo = extractShareLinkData(
99
+ newFileInfo.createLinkType,
100
+ content,
101
+ enableSingleRequestForShareLinkWithCreate,
102
+ enableShareLinkWithCreate,
103
+ );
104
+ }
93
105
 
94
- const odspUrl = createOdspUrl({ ...newFileInfo, itemId, dataStorePath: "/" });
95
- const resolver = new OdspDriverUrlResolver();
96
- const odspResolvedUrl = await resolver.resolve({
97
- url: odspUrl,
98
- headers: { [ClpCompliantAppHeader.isClpCompliantApp]: isClpCompliantApp },
99
- });
100
- fileEntry.docId = odspResolvedUrl.hashedDocumentId;
101
- fileEntry.resolvedUrl = odspResolvedUrl;
106
+ const odspUrl = createOdspUrl({ ...newFileInfo, itemId, dataStorePath: "/" });
107
+ const resolver = new OdspDriverUrlResolver();
108
+ const odspResolvedUrl = await resolver.resolve({
109
+ url: odspUrl,
110
+ headers: { [ClpCompliantAppHeader.isClpCompliantApp]: isClpCompliantApp },
111
+ });
112
+ fileEntry.docId = odspResolvedUrl.hashedDocumentId;
113
+ fileEntry.resolvedUrl = odspResolvedUrl;
102
114
 
103
- if (sharingLink || sharingLinkErrorReason) {
104
- odspResolvedUrl.shareLinkInfo = {
105
- createLink: {
106
- type: newFileInfo.createLinkType,
107
- link: sharingLink,
108
- error: sharingLinkErrorReason,
109
- },
110
- };
111
- }
115
+ odspResolvedUrl.shareLinkInfo = shareLinkInfo;
112
116
 
113
- if (createNewSummary !== undefined && createNewCaching) {
114
- assert(summaryHandle !== undefined, 0x203 /* "Summary handle is undefined" */);
115
- // converting summary and getting sequence number
116
- const snapshot: ISnapshotContents = convertCreateNewSummaryTreeToTreeAndBlobs(createNewSummary, summaryHandle);
117
- // caching the converted summary
118
- await epochTracker.put(createCacheSnapshotKey(odspResolvedUrl), snapshot);
119
- }
120
- return odspResolvedUrl;
117
+ if (createNewSummary !== undefined && createNewCaching) {
118
+ assert(summaryHandle !== undefined, 0x203 /* "Summary handle is undefined" */);
119
+ // converting summary and getting sequence number
120
+ const snapshot: ISnapshotContents = convertCreateNewSummaryTreeToTreeAndBlobs(
121
+ createNewSummary,
122
+ summaryHandle,
123
+ );
124
+ // caching the converted summary
125
+ await epochTracker.put(createCacheSnapshotKey(odspResolvedUrl), snapshot);
126
+ }
127
+ return odspResolvedUrl;
128
+ }
129
+
130
+ /**
131
+ * If user requested creation of a sharing link along with the creation of the file by providing either
132
+ * createLinkType (now deprecated) or createLinkScope in the request parameters, extract and save
133
+ * sharing link information from the response if it is available.
134
+ * In case there was an error in creation of the sharing link, error is provided back in the response,
135
+ * and does not impact the creation of file in ODSP.
136
+ * @param requestedSharingLinkKind - Kind of sharing link requested to be created along with the creation of file.
137
+ * @param response - Response object received from the /snapshot api call
138
+ * @returns Sharing link information received in the response from a successful creation of a file.
139
+ */
140
+ function extractShareLinkData(
141
+ requestedSharingLinkKind: ShareLinkTypes | ISharingLinkKind | undefined,
142
+ response: ICreateFileResponse,
143
+ enableSingleRequestForShareLinkWithCreate?: boolean,
144
+ enableShareLinkWithCreate?: boolean,
145
+ ): ShareLinkInfoType | undefined {
146
+ if (!requestedSharingLinkKind) {
147
+ return;
148
+ }
149
+ let shareLinkInfo: ShareLinkInfoType | undefined;
150
+ if (enableSingleRequestForShareLinkWithCreate) {
151
+ const { sharing } = response;
152
+ if (!sharing) {
153
+ return;
154
+ }
155
+ shareLinkInfo = {
156
+ createLink: {
157
+ type: requestedSharingLinkKind,
158
+ link: sharing.sharingLink
159
+ ? {
160
+ scope: sharing.sharingLink.scope,
161
+ role: sharing.sharingLink.type,
162
+ webUrl: sharing.sharingLink.webUrl,
163
+ ...sharing.sharingLink,
164
+ }
165
+ : undefined,
166
+ error: sharing.error,
167
+ shareId: sharing.shareId,
168
+ },
169
+ };
170
+ } else if (enableShareLinkWithCreate) {
171
+ const { sharing, sharingLink, sharingLinkErrorReason } = response;
172
+ if (!sharingLink && !sharingLinkErrorReason) {
173
+ return;
174
+ }
175
+ shareLinkInfo = {
176
+ createLink: {
177
+ type: requestedSharingLinkKind,
178
+ link: sharingLink,
179
+ error: sharingLinkErrorReason,
180
+ shareId: sharing?.shareId,
181
+ },
182
+ };
183
+ }
184
+ return shareLinkInfo;
121
185
  }
122
186
 
123
187
  export async function createNewEmptyFluidFile(
124
- getStorageToken: InstrumentedStorageTokenFetcher,
125
- newFileInfo: INewFileInfo,
126
- logger: ITelemetryLogger,
127
- epochTracker: EpochTracker,
128
- forceAccessTokenViaAuthorizationHeader: boolean,
188
+ getStorageToken: InstrumentedStorageTokenFetcher,
189
+ newFileInfo: INewFileInfo,
190
+ logger: ITelemetryLoggerExt,
191
+ epochTracker: EpochTracker,
192
+ forceAccessTokenViaAuthorizationHeader: boolean,
129
193
  ): Promise<string> {
130
- const filePath = newFileInfo.filePath ? encodeURIComponent(`/${newFileInfo.filePath}`) : "";
131
- // add .tmp extension to empty file (host is expected to rename)
132
- const encodedFilename = encodeURIComponent(`${newFileInfo.filename}.tmp`);
133
- const initialUrl =
134
- `${getApiRoot(getOrigin(newFileInfo.siteUrl))}/drives/${newFileInfo.driveId}/items/root:/${filePath
135
- }/${encodedFilename}:/content?@name.conflictBehavior=rename&select=id,name,parentReference`;
194
+ const filePath = newFileInfo.filePath ? encodeURIComponent(`/${newFileInfo.filePath}`) : "";
195
+ // add .tmp extension to empty file (host is expected to rename)
196
+ const encodedFilename = encodeURIComponent(`${newFileInfo.filename}.tmp`);
197
+ const initialUrl = `${getApiRoot(getOrigin(newFileInfo.siteUrl))}/drives/${
198
+ newFileInfo.driveId
199
+ }/items/root:/${filePath}/${encodedFilename}:/content?@name.conflictBehavior=rename&select=id,name,parentReference`;
136
200
 
137
- return getWithRetryForTokenRefresh(async (options) => {
138
- const storageToken = await getStorageToken(options, "CreateNewFile");
201
+ return getWithRetryForTokenRefresh(async (options) => {
202
+ const storageToken = await getStorageToken(options, "CreateNewFile");
139
203
 
140
- return PerformanceEvent.timedExecAsync(
141
- logger,
142
- { eventName: "createNewEmptyFile" },
143
- async (event) => {
144
- const { url, headers } = getUrlAndHeadersWithAuth(
145
- initialUrl, storageToken, forceAccessTokenViaAuthorizationHeader);
146
- headers["Content-Type"] = "application/json";
204
+ return PerformanceEvent.timedExecAsync(
205
+ logger,
206
+ { eventName: "createNewEmptyFile" },
207
+ async (event) => {
208
+ const { url, headers } = getUrlAndHeadersWithAuth(
209
+ initialUrl,
210
+ storageToken,
211
+ forceAccessTokenViaAuthorizationHeader,
212
+ );
213
+ headers["Content-Type"] = "application/json";
147
214
 
148
- const fetchResponse = await runWithRetry(
149
- async () => epochTracker.fetchAndParseAsJSON<ICreateFileResponse>(
150
- url,
151
- {
152
- body: undefined,
153
- headers,
154
- method: "PUT",
155
- },
156
- "createFile",
157
- ),
158
- "createFile",
159
- logger,
160
- );
215
+ const fetchResponse = await runWithRetry(
216
+ async () =>
217
+ epochTracker.fetchAndParseAsJSON<ICreateFileResponse>(
218
+ url,
219
+ {
220
+ body: undefined,
221
+ headers,
222
+ method: "PUT",
223
+ },
224
+ "createFile",
225
+ ),
226
+ "createFile",
227
+ logger,
228
+ );
161
229
 
162
- const content = fetchResponse.content;
163
- if (!content || !content.id) {
164
- throw new NonRetryableError(
165
- // pre-0.58 error message: ODSP CreateFile call returned no item ID
166
- "ODSP CreateFile call returned no item ID (for empty file)",
167
- DriverErrorType.incorrectServerResponse,
168
- { driverVersion });
169
- }
170
- event.end({
171
- headers: Object.keys(headers).length !== 0 ? true : undefined,
172
- ...fetchResponse.propsToLog,
173
- });
174
- return content.id;
175
- },
176
- { end: true, cancel: "error" });
177
- });
230
+ const content = fetchResponse.content;
231
+ if (!content?.id) {
232
+ throw new NonRetryableError(
233
+ // pre-0.58 error message: ODSP CreateFile call returned no item ID
234
+ "ODSP CreateFile call returned no item ID (for empty file)",
235
+ DriverErrorType.incorrectServerResponse,
236
+ { driverVersion },
237
+ );
238
+ }
239
+ event.end({
240
+ headers: Object.keys(headers).length !== 0 ? true : undefined,
241
+ ...fetchResponse.propsToLog,
242
+ });
243
+ return content.id;
244
+ },
245
+ { end: true, cancel: "error" },
246
+ );
247
+ });
178
248
  }
179
249
 
180
250
  export async function createNewFluidFileFromSummary(
181
- getStorageToken: InstrumentedStorageTokenFetcher,
182
- newFileInfo: INewFileInfo,
183
- logger: ITelemetryLogger,
184
- createNewSummary: ISummaryTree,
185
- epochTracker: EpochTracker,
186
- forceAccessTokenViaAuthorizationHeader: boolean,
251
+ getStorageToken: InstrumentedStorageTokenFetcher,
252
+ newFileInfo: INewFileInfo,
253
+ logger: ITelemetryLoggerExt,
254
+ createNewSummary: ISummaryTree,
255
+ epochTracker: EpochTracker,
256
+ forceAccessTokenViaAuthorizationHeader: boolean,
187
257
  ): Promise<ICreateFileResponse> {
188
- const filePath = newFileInfo.filePath ? encodeURIComponent(`/${newFileInfo.filePath}`) : "";
189
- const encodedFilename = encodeURIComponent(newFileInfo.filename);
190
- const baseUrl =
191
- `${getApiRoot(getOrigin(newFileInfo.siteUrl))}/drives/${newFileInfo.driveId}/items/root:` +
192
- `${filePath}/${encodedFilename}`;
193
-
194
- const containerSnapshot = convertSummaryIntoContainerSnapshot(createNewSummary);
195
- const initialUrl = `${baseUrl}:/opStream/snapshots/snapshot${newFileInfo.createLinkType ?
196
- `?createLinkType=${newFileInfo.createLinkType}` : ""}`;
197
-
198
- return getWithRetryForTokenRefresh(async (options) => {
199
- const storageToken = await getStorageToken(options, "CreateNewFile");
200
-
201
- return PerformanceEvent.timedExecAsync(
202
- logger,
203
- { eventName: "createNewFile" },
204
- async (event) => {
205
- const snapshotBody = JSON.stringify(containerSnapshot);
206
- let url: string;
207
- let headers: { [index: string]: string; };
208
- let addInBody = false;
209
- const formBoundary = uuid();
210
- let postBody = `--${formBoundary}\r\n`;
211
- postBody += `Authorization: Bearer ${storageToken}\r\n`;
212
- postBody += `X-HTTP-Method-Override: POST\r\n`;
213
- postBody += `Content-Type: application/json\r\n`;
214
- postBody += `_post: 1\r\n`;
215
- postBody += `\r\n${snapshotBody}\r\n`;
216
- postBody += `\r\n--${formBoundary}--`;
217
-
218
- if (postBody.length <= maxUmpPostBodySize) {
219
- const urlObj = new URL(initialUrl);
220
- urlObj.searchParams.set("ump", "1");
221
- url = urlObj.href;
222
- headers = {
223
- "Content-Type": `multipart/form-data;boundary=${formBoundary}`,
224
- };
225
- addInBody = true;
226
- } else {
227
- const parts = getUrlAndHeadersWithAuth(
228
- initialUrl, storageToken, forceAccessTokenViaAuthorizationHeader);
229
- url = parts.url;
230
- headers = {
231
- ...parts.headers,
232
- "Content-Type": "application/json",
233
- };
234
- postBody = snapshotBody;
235
- }
236
-
237
- const fetchResponse = await runWithRetry(
238
- async () => epochTracker.fetchAndParseAsJSON<ICreateFileResponse>(
239
- url,
240
- {
241
- body: postBody,
242
- headers,
243
- method: "POST",
244
- },
245
- "createFile",
246
- addInBody,
247
- ),
248
- "createFile",
249
- logger,
250
- );
251
-
252
- const content = fetchResponse.content;
253
- if (!content || !content.itemId) {
254
- throw new NonRetryableError(
255
- "ODSP CreateFile call returned no item ID",
256
- DriverErrorType.incorrectServerResponse,
257
- { driverVersion });
258
- }
259
- event.end({
260
- headers: Object.keys(headers).length !== 0 ? true : undefined,
261
- attempts: options.refresh ? 2 : 1,
262
- ...fetchResponse.propsToLog,
263
- });
264
- return content;
265
- },
266
- );
267
- });
268
- }
269
-
270
- function convertSummaryIntoContainerSnapshot(createNewSummary: ISummaryTree) {
271
- const appSummary = createNewSummary.tree[".app"] as ISummaryTree;
272
- const protocolSummary = createNewSummary.tree[".protocol"] as ISummaryTree;
273
- if (!(appSummary && protocolSummary)) {
274
- throw new Error("App and protocol summary required for create new path!!");
275
- }
276
- const documentAttributes = getDocAttributesFromProtocolSummary(protocolSummary);
277
- const attributesSummaryBlob: ISummaryBlob = {
278
- type: SummaryType.Blob,
279
- content: JSON.stringify(documentAttributes),
280
- };
281
- protocolSummary.tree.attributes = attributesSummaryBlob;
282
- const convertedCreateNewSummary: ISummaryTree = {
283
- type: SummaryType.Tree,
284
- tree: {
285
- ".protocol": protocolSummary,
286
- ".app": appSummary,
287
- },
288
- };
289
- const snapshotTree = convertSummaryToSnapshotTreeForCreateNew(convertedCreateNewSummary);
290
- const snapshot: IOdspSummaryPayload = {
291
- entries: snapshotTree.entries ?? [],
292
- message: "app",
293
- sequenceNumber: documentAttributes.sequenceNumber,
294
- type: "container",
295
- };
296
- return snapshot;
297
- }
298
-
299
- /**
300
- * Converts a summary tree to ODSP tree
301
- */
302
- export function convertSummaryToSnapshotTreeForCreateNew(summary: ISummaryTree): IOdspSummaryTree {
303
- const snapshotTree: IOdspSummaryTree = {
304
- type: "tree",
305
- entries: [],
306
- };
307
-
308
- const keys = Object.keys(summary.tree);
309
- for (const key of keys) {
310
- const summaryObject = summary.tree[key];
311
-
312
- let value: OdspSummaryTreeValue;
313
- // Tracks if an entry is unreferenced. Currently, only tree entries can be marked as unreferenced. If the
314
- // property is not present, the tree entry is considered referenced. If the property is present and is true,
315
- // the tree entry is considered unreferenced.
316
- let unreferenced: true | undefined;
317
-
318
- switch (summaryObject.type) {
319
- case SummaryType.Tree: {
320
- value = convertSummaryToSnapshotTreeForCreateNew(summaryObject);
321
- unreferenced = summaryObject.unreferenced;
322
- break;
323
- }
324
- case SummaryType.Blob: {
325
- const content = typeof summaryObject.content === "string" ?
326
- summaryObject.content : Uint8ArrayToString(summaryObject.content, "base64");
327
- const encoding = typeof summaryObject.content === "string" ? "utf-8" : "base64";
258
+ const filePath = newFileInfo.filePath ? encodeURIComponent(`/${newFileInfo.filePath}`) : "";
259
+ const encodedFilename = encodeURIComponent(newFileInfo.filename);
260
+ const baseUrl =
261
+ `${getApiRoot(getOrigin(newFileInfo.siteUrl))}/drives/${newFileInfo.driveId}/items/root:` +
262
+ `${filePath}/${encodedFilename}`;
328
263
 
329
- value = {
330
- type: "blob",
331
- content,
332
- encoding,
333
- };
334
- break;
335
- }
336
- case SummaryType.Handle: {
337
- throw new Error("No handle should be present for first summary!!");
338
- }
339
- default: {
340
- throw new Error(`Unknown tree type ${summaryObject.type}`);
341
- }
342
- }
264
+ const containerSnapshot = convertSummaryIntoContainerSnapshot(createNewSummary);
343
265
 
344
- const entry: OdspSummaryTreeEntry = {
345
- path: encodeURIComponent(key),
346
- type: getGitType(summaryObject),
347
- value,
348
- unreferenced,
349
- };
350
- snapshotTree.entries?.push(entry);
351
- }
266
+ // Build share link parameter based on the createLinkType provided so that the
267
+ // snapshot api can create and return the share link along with creation of file in the response.
268
+ const createShareLinkParam = buildOdspShareLinkReqParams(newFileInfo.createLinkType);
269
+ const initialUrl = `${baseUrl}:/opStream/snapshots/snapshot${
270
+ createShareLinkParam ? `?${createShareLinkParam}` : ""
271
+ }`;
352
272
 
353
- return snapshotTree;
273
+ return createNewFluidContainerCore<ICreateFileResponse>({
274
+ containerSnapshot,
275
+ getStorageToken,
276
+ logger,
277
+ initialUrl,
278
+ forceAccessTokenViaAuthorizationHeader,
279
+ epochTracker,
280
+ telemetryName: "CreateNewFile",
281
+ fetchType: "createFile",
282
+ validateResponseCallback: (content) => {
283
+ if (!content?.itemId) {
284
+ throw new NonRetryableError(
285
+ "ODSP CreateFile call returned no item ID",
286
+ DriverErrorType.incorrectServerResponse,
287
+ { driverVersion },
288
+ );
289
+ }
290
+ },
291
+ });
354
292
  }