@fluidframework/routerlicious-driver 2.0.0-dev-rc.2.0.0.245554 → 2.0.0-dev-rc.3.0.0.250606

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 (317) hide show
  1. package/{api-extractor-esm.json → api-extractor-cjs.json} +5 -1
  2. package/api-extractor-lint.json +1 -1
  3. package/api-extractor.json +1 -1
  4. package/{lib/storageContracts.mjs → dist/axios.cjs} +3 -2
  5. package/dist/axios.cjs.map +1 -0
  6. package/dist/axios.d.cts +7 -0
  7. package/dist/axios.d.cts.map +1 -0
  8. package/dist/cache.js +2 -2
  9. package/dist/cache.js.map +1 -1
  10. package/dist/defaultTokenProvider.d.ts +1 -1
  11. package/dist/defaultTokenProvider.d.ts.map +1 -1
  12. package/dist/defaultTokenProvider.js.map +1 -1
  13. package/dist/deltaStorageService.d.ts +3 -3
  14. package/dist/deltaStorageService.d.ts.map +1 -1
  15. package/dist/deltaStorageService.js.map +1 -1
  16. package/dist/documentDeltaConnection.d.ts +1 -1
  17. package/dist/documentDeltaConnection.d.ts.map +1 -1
  18. package/dist/documentDeltaConnection.js +4 -4
  19. package/dist/documentDeltaConnection.js.map +1 -1
  20. package/dist/documentService.d.ts +6 -6
  21. package/dist/documentService.d.ts.map +1 -1
  22. package/dist/documentService.js +22 -22
  23. package/dist/documentService.js.map +1 -1
  24. package/dist/documentServiceFactory.d.ts +3 -3
  25. package/dist/documentServiceFactory.d.ts.map +1 -1
  26. package/dist/documentServiceFactory.js +25 -25
  27. package/dist/documentServiceFactory.js.map +1 -1
  28. package/dist/documentStorageService.d.ts +7 -7
  29. package/dist/documentStorageService.d.ts.map +1 -1
  30. package/dist/documentStorageService.js +4 -4
  31. package/dist/documentStorageService.js.map +1 -1
  32. package/dist/errorUtils.d.ts +1 -1
  33. package/dist/errorUtils.d.ts.map +1 -1
  34. package/dist/errorUtils.js +2 -3
  35. package/dist/errorUtils.js.map +1 -1
  36. package/dist/gitManager.d.ts +3 -3
  37. package/dist/gitManager.d.ts.map +1 -1
  38. package/dist/gitManager.js.map +1 -1
  39. package/dist/historian.d.ts +4 -4
  40. package/dist/historian.d.ts.map +1 -1
  41. package/dist/historian.js.map +1 -1
  42. package/dist/index.d.ts +6 -6
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +7 -7
  45. package/dist/index.js.map +1 -1
  46. package/dist/package.json +3 -0
  47. package/dist/packageVersion.d.ts +1 -1
  48. package/dist/packageVersion.js +1 -1
  49. package/dist/packageVersion.js.map +1 -1
  50. package/dist/r11sSnapshotParser.d.ts +1 -1
  51. package/dist/r11sSnapshotParser.d.ts.map +1 -1
  52. package/dist/r11sSnapshotParser.js.map +1 -1
  53. package/dist/restWrapper.d.ts +4 -4
  54. package/dist/restWrapper.d.ts.map +1 -1
  55. package/dist/restWrapper.js +11 -11
  56. package/dist/restWrapper.js.map +1 -1
  57. package/dist/restWrapperBase.d.ts +2 -2
  58. package/dist/restWrapperBase.d.ts.map +1 -1
  59. package/dist/restWrapperBase.js.map +1 -1
  60. package/dist/retriableGitManager.d.ts +3 -3
  61. package/dist/retriableGitManager.d.ts.map +1 -1
  62. package/dist/retriableGitManager.js.map +1 -1
  63. package/dist/shreddedSummaryDocumentStorageService.d.ts +6 -6
  64. package/dist/shreddedSummaryDocumentStorageService.d.ts.map +1 -1
  65. package/dist/shreddedSummaryDocumentStorageService.js +7 -7
  66. package/dist/shreddedSummaryDocumentStorageService.js.map +1 -1
  67. package/dist/storageContracts.d.ts +2 -2
  68. package/dist/storageContracts.d.ts.map +1 -1
  69. package/dist/storageContracts.js.map +1 -1
  70. package/dist/summaryTreeUploadManager.d.ts +1 -1
  71. package/dist/summaryTreeUploadManager.d.ts.map +1 -1
  72. package/dist/summaryTreeUploadManager.js.map +1 -1
  73. package/dist/treeUtils.d.ts +2 -2
  74. package/dist/treeUtils.d.ts.map +1 -1
  75. package/dist/treeUtils.js.map +1 -1
  76. package/dist/wholeSummaryDocumentStorageService.d.ts +6 -6
  77. package/dist/wholeSummaryDocumentStorageService.d.ts.map +1 -1
  78. package/dist/wholeSummaryDocumentStorageService.js +12 -12
  79. package/dist/wholeSummaryDocumentStorageService.js.map +1 -1
  80. package/dist/wholeSummaryUploadManager.d.ts +1 -1
  81. package/dist/wholeSummaryUploadManager.d.ts.map +1 -1
  82. package/dist/wholeSummaryUploadManager.js.map +1 -1
  83. package/lib/axios.cjs +7 -0
  84. package/lib/axios.cjs.map +1 -0
  85. package/lib/axios.d.cts +7 -0
  86. package/lib/axios.d.cts.map +1 -0
  87. package/lib/{cache.d.mts → cache.d.ts} +1 -1
  88. package/lib/cache.d.ts.map +1 -0
  89. package/lib/{cache.mjs → cache.js} +2 -2
  90. package/lib/cache.js.map +1 -0
  91. package/lib/{contracts.d.mts → contracts.d.ts} +1 -1
  92. package/lib/contracts.d.ts.map +1 -0
  93. package/lib/{policies.mjs → contracts.js} +1 -1
  94. package/lib/contracts.js.map +1 -0
  95. package/lib/{createNewUtils.d.mts → createNewUtils.d.ts} +1 -1
  96. package/lib/createNewUtils.d.ts.map +1 -0
  97. package/lib/{createNewUtils.mjs → createNewUtils.js} +1 -1
  98. package/lib/createNewUtils.js.map +1 -0
  99. package/lib/{defaultTokenProvider.d.mts → defaultTokenProvider.d.ts} +2 -2
  100. package/lib/defaultTokenProvider.d.ts.map +1 -0
  101. package/lib/{defaultTokenProvider.mjs → defaultTokenProvider.js} +1 -1
  102. package/lib/defaultTokenProvider.js.map +1 -0
  103. package/lib/{definitions.d.mts → definitions.d.ts} +1 -1
  104. package/lib/definitions.d.ts.map +1 -0
  105. package/lib/{definitions.mjs → definitions.js} +1 -1
  106. package/lib/definitions.js.map +1 -0
  107. package/lib/{deltaStorageService.d.mts → deltaStorageService.d.ts} +4 -4
  108. package/lib/deltaStorageService.d.ts.map +1 -0
  109. package/lib/{deltaStorageService.mjs → deltaStorageService.js} +2 -2
  110. package/lib/deltaStorageService.js.map +1 -0
  111. package/lib/{documentDeltaConnection.d.mts → documentDeltaConnection.d.ts} +2 -2
  112. package/lib/documentDeltaConnection.d.ts.map +1 -0
  113. package/lib/{documentDeltaConnection.mjs → documentDeltaConnection.js} +3 -3
  114. package/lib/documentDeltaConnection.js.map +1 -0
  115. package/lib/{documentService.d.mts → documentService.d.ts} +7 -7
  116. package/lib/documentService.d.ts.map +1 -0
  117. package/lib/{documentService.mjs → documentService.js} +12 -12
  118. package/lib/documentService.js.map +1 -0
  119. package/lib/{documentServiceFactory.d.mts → documentServiceFactory.d.ts} +4 -4
  120. package/lib/documentServiceFactory.d.ts.map +1 -0
  121. package/lib/{documentServiceFactory.mjs → documentServiceFactory.js} +9 -9
  122. package/lib/documentServiceFactory.js.map +1 -0
  123. package/lib/{documentStorageService.d.mts → documentStorageService.d.ts} +8 -8
  124. package/lib/documentStorageService.d.ts.map +1 -0
  125. package/lib/{documentStorageService.mjs → documentStorageService.js} +3 -3
  126. package/lib/documentStorageService.js.map +1 -0
  127. package/lib/{errorUtils.d.mts → errorUtils.d.ts} +2 -2
  128. package/lib/errorUtils.d.ts.map +1 -0
  129. package/lib/{errorUtils.mjs → errorUtils.js} +3 -4
  130. package/lib/errorUtils.js.map +1 -0
  131. package/lib/{gitManager.d.mts → gitManager.d.ts} +4 -4
  132. package/lib/gitManager.d.ts.map +1 -0
  133. package/lib/{gitManager.mjs → gitManager.js} +1 -1
  134. package/lib/gitManager.js.map +1 -0
  135. package/lib/{historian.d.mts → historian.d.ts} +5 -5
  136. package/lib/historian.d.ts.map +1 -0
  137. package/lib/{historian.mjs → historian.js} +1 -1
  138. package/lib/historian.js.map +1 -0
  139. package/lib/{index.d.mts → index.d.ts} +7 -7
  140. package/lib/index.d.ts.map +1 -0
  141. package/lib/index.js +11 -0
  142. package/lib/index.js.map +1 -0
  143. package/lib/{mapWithExpiration.d.mts → mapWithExpiration.d.ts} +1 -1
  144. package/lib/mapWithExpiration.d.ts.map +1 -0
  145. package/lib/{mapWithExpiration.mjs → mapWithExpiration.js} +1 -1
  146. package/lib/mapWithExpiration.js.map +1 -0
  147. package/lib/{nullBlobStorageService.d.mts → nullBlobStorageService.d.ts} +1 -1
  148. package/lib/nullBlobStorageService.d.ts.map +1 -0
  149. package/lib/{nullBlobStorageService.mjs → nullBlobStorageService.js} +1 -1
  150. package/lib/nullBlobStorageService.js.map +1 -0
  151. package/lib/{packageVersion.d.mts → packageVersion.d.ts} +2 -2
  152. package/lib/packageVersion.d.ts.map +1 -0
  153. package/lib/{packageVersion.mjs → packageVersion.js} +2 -2
  154. package/lib/packageVersion.js.map +1 -0
  155. package/lib/{policies.d.mts → policies.d.ts} +1 -1
  156. package/lib/policies.d.ts.map +1 -0
  157. package/lib/{contracts.mjs → policies.js} +1 -1
  158. package/lib/policies.js.map +1 -0
  159. package/lib/{r11sSnapshotParser.d.mts → r11sSnapshotParser.d.ts} +2 -2
  160. package/lib/r11sSnapshotParser.d.ts.map +1 -0
  161. package/lib/{r11sSnapshotParser.mjs → r11sSnapshotParser.js} +1 -1
  162. package/lib/r11sSnapshotParser.js.map +1 -0
  163. package/lib/{restWrapper.d.mts → restWrapper.d.ts} +5 -5
  164. package/lib/restWrapper.d.ts.map +1 -0
  165. package/lib/{restWrapper.mjs → restWrapper.js} +7 -7
  166. package/lib/restWrapper.js.map +1 -0
  167. package/lib/{restWrapperBase.d.mts → restWrapperBase.d.ts} +3 -3
  168. package/lib/restWrapperBase.d.ts.map +1 -0
  169. package/lib/{restWrapperBase.mjs → restWrapperBase.js} +1 -1
  170. package/lib/restWrapperBase.js.map +1 -0
  171. package/lib/{retriableGitManager.d.mts → retriableGitManager.d.ts} +4 -4
  172. package/lib/retriableGitManager.d.ts.map +1 -0
  173. package/lib/{retriableGitManager.mjs → retriableGitManager.js} +1 -1
  174. package/lib/retriableGitManager.js.map +1 -0
  175. package/lib/{routerliciousResolvedUrl.d.mts → routerliciousResolvedUrl.d.ts} +1 -1
  176. package/lib/routerliciousResolvedUrl.d.ts.map +1 -0
  177. package/lib/{routerliciousResolvedUrl.mjs → routerliciousResolvedUrl.js} +1 -1
  178. package/lib/routerliciousResolvedUrl.js.map +1 -0
  179. package/lib/{shreddedSummaryDocumentStorageService.d.mts → shreddedSummaryDocumentStorageService.d.ts} +7 -7
  180. package/lib/shreddedSummaryDocumentStorageService.d.ts.map +1 -0
  181. package/lib/{shreddedSummaryDocumentStorageService.mjs → shreddedSummaryDocumentStorageService.js} +6 -6
  182. package/lib/shreddedSummaryDocumentStorageService.js.map +1 -0
  183. package/lib/{storageContracts.d.mts → storageContracts.d.ts} +3 -3
  184. package/lib/storageContracts.d.ts.map +1 -0
  185. package/lib/storageContracts.js +6 -0
  186. package/lib/storageContracts.js.map +1 -0
  187. package/lib/{summaryTreeUploadManager.d.mts → summaryTreeUploadManager.d.ts} +2 -2
  188. package/lib/summaryTreeUploadManager.d.ts.map +1 -0
  189. package/lib/{summaryTreeUploadManager.mjs → summaryTreeUploadManager.js} +2 -2
  190. package/lib/summaryTreeUploadManager.js.map +1 -0
  191. package/lib/test/cache.spec.js +43 -0
  192. package/lib/test/cache.spec.js.map +1 -0
  193. package/lib/test/errorUtils.spec.js +227 -0
  194. package/lib/test/errorUtils.spec.js.map +1 -0
  195. package/lib/test/mapWithExpiration.spec.js +205 -0
  196. package/lib/test/mapWithExpiration.spec.js.map +1 -0
  197. package/lib/test/restWrapper.spec.js +309 -0
  198. package/lib/test/restWrapper.spec.js.map +1 -0
  199. package/lib/test/types/validateRouterliciousDriverPrevious.generated.js +22 -0
  200. package/lib/test/types/validateRouterliciousDriverPrevious.generated.js.map +1 -0
  201. package/lib/test/urlUtils.spec.js +62 -0
  202. package/lib/test/urlUtils.spec.js.map +1 -0
  203. package/lib/test/wholeSummaryDocumentStorageService.spec.js +144 -0
  204. package/lib/test/wholeSummaryDocumentStorageService.spec.js.map +1 -0
  205. package/lib/{tokens.d.mts → tokens.d.ts} +1 -1
  206. package/lib/tokens.d.ts.map +1 -0
  207. package/lib/{tokens.mjs → tokens.js} +1 -1
  208. package/lib/tokens.js.map +1 -0
  209. package/lib/{treeUtils.d.mts → treeUtils.d.ts} +3 -3
  210. package/lib/treeUtils.d.ts.map +1 -0
  211. package/lib/{treeUtils.mjs → treeUtils.js} +1 -1
  212. package/lib/treeUtils.js.map +1 -0
  213. package/lib/{urlUtils.d.mts → urlUtils.d.ts} +1 -1
  214. package/lib/urlUtils.d.ts.map +1 -0
  215. package/lib/{urlUtils.mjs → urlUtils.js} +1 -1
  216. package/lib/urlUtils.js.map +1 -0
  217. package/lib/{wholeSummaryDocumentStorageService.d.mts → wholeSummaryDocumentStorageService.d.ts} +7 -7
  218. package/lib/wholeSummaryDocumentStorageService.d.ts.map +1 -0
  219. package/lib/{wholeSummaryDocumentStorageService.mjs → wholeSummaryDocumentStorageService.js} +7 -7
  220. package/lib/wholeSummaryDocumentStorageService.js.map +1 -0
  221. package/lib/{wholeSummaryUploadManager.d.mts → wholeSummaryUploadManager.d.ts} +2 -2
  222. package/lib/wholeSummaryUploadManager.d.ts.map +1 -0
  223. package/lib/{wholeSummaryUploadManager.mjs → wholeSummaryUploadManager.js} +1 -1
  224. package/lib/wholeSummaryUploadManager.js.map +1 -0
  225. package/package.json +46 -40
  226. package/src/axios.cts +8 -0
  227. package/src/cache.ts +1 -1
  228. package/src/defaultTokenProvider.ts +1 -1
  229. package/src/deltaStorageService.ts +5 -5
  230. package/src/documentDeltaConnection.ts +3 -3
  231. package/src/documentService.ts +17 -17
  232. package/src/documentServiceFactory.ts +14 -14
  233. package/src/documentStorageService.ts +9 -9
  234. package/src/errorUtils.ts +5 -6
  235. package/src/gitManager.ts +3 -3
  236. package/src/historian.ts +4 -4
  237. package/src/index.ts +6 -6
  238. package/src/packageVersion.ts +1 -1
  239. package/src/r11sSnapshotParser.ts +6 -2
  240. package/src/restWrapper.ts +12 -12
  241. package/src/restWrapperBase.ts +2 -2
  242. package/src/retriableGitManager.ts +4 -4
  243. package/src/shreddedSummaryDocumentStorageService.ts +15 -15
  244. package/src/storageContracts.ts +2 -2
  245. package/src/summaryTreeUploadManager.ts +2 -2
  246. package/src/treeUtils.ts +2 -2
  247. package/src/wholeSummaryDocumentStorageService.ts +17 -17
  248. package/src/wholeSummaryUploadManager.ts +1 -1
  249. package/tsconfig.cjs.json +7 -0
  250. package/tsconfig.json +2 -5
  251. package/lib/cache.d.mts.map +0 -1
  252. package/lib/cache.mjs.map +0 -1
  253. package/lib/contracts.d.mts.map +0 -1
  254. package/lib/contracts.mjs.map +0 -1
  255. package/lib/createNewUtils.d.mts.map +0 -1
  256. package/lib/createNewUtils.mjs.map +0 -1
  257. package/lib/defaultTokenProvider.d.mts.map +0 -1
  258. package/lib/defaultTokenProvider.mjs.map +0 -1
  259. package/lib/definitions.d.mts.map +0 -1
  260. package/lib/definitions.mjs.map +0 -1
  261. package/lib/deltaStorageService.d.mts.map +0 -1
  262. package/lib/deltaStorageService.mjs.map +0 -1
  263. package/lib/documentDeltaConnection.d.mts.map +0 -1
  264. package/lib/documentDeltaConnection.mjs.map +0 -1
  265. package/lib/documentService.d.mts.map +0 -1
  266. package/lib/documentService.mjs.map +0 -1
  267. package/lib/documentServiceFactory.d.mts.map +0 -1
  268. package/lib/documentServiceFactory.mjs.map +0 -1
  269. package/lib/documentStorageService.d.mts.map +0 -1
  270. package/lib/documentStorageService.mjs.map +0 -1
  271. package/lib/errorUtils.d.mts.map +0 -1
  272. package/lib/errorUtils.mjs.map +0 -1
  273. package/lib/gitManager.d.mts.map +0 -1
  274. package/lib/gitManager.mjs.map +0 -1
  275. package/lib/historian.d.mts.map +0 -1
  276. package/lib/historian.mjs.map +0 -1
  277. package/lib/index.d.mts.map +0 -1
  278. package/lib/index.mjs +0 -8
  279. package/lib/index.mjs.map +0 -1
  280. package/lib/mapWithExpiration.d.mts.map +0 -1
  281. package/lib/mapWithExpiration.mjs.map +0 -1
  282. package/lib/nullBlobStorageService.d.mts.map +0 -1
  283. package/lib/nullBlobStorageService.mjs.map +0 -1
  284. package/lib/packageVersion.d.mts.map +0 -1
  285. package/lib/packageVersion.mjs.map +0 -1
  286. package/lib/policies.d.mts.map +0 -1
  287. package/lib/policies.mjs.map +0 -1
  288. package/lib/r11sSnapshotParser.d.mts.map +0 -1
  289. package/lib/r11sSnapshotParser.mjs.map +0 -1
  290. package/lib/restWrapper.d.mts.map +0 -1
  291. package/lib/restWrapper.mjs.map +0 -1
  292. package/lib/restWrapperBase.d.mts.map +0 -1
  293. package/lib/restWrapperBase.mjs.map +0 -1
  294. package/lib/retriableGitManager.d.mts.map +0 -1
  295. package/lib/retriableGitManager.mjs.map +0 -1
  296. package/lib/routerliciousResolvedUrl.d.mts.map +0 -1
  297. package/lib/routerliciousResolvedUrl.mjs.map +0 -1
  298. package/lib/shreddedSummaryDocumentStorageService.d.mts.map +0 -1
  299. package/lib/shreddedSummaryDocumentStorageService.mjs.map +0 -1
  300. package/lib/storageContracts.d.mts.map +0 -1
  301. package/lib/storageContracts.mjs.map +0 -1
  302. package/lib/summaryTreeUploadManager.d.mts.map +0 -1
  303. package/lib/summaryTreeUploadManager.mjs.map +0 -1
  304. package/lib/tokens.d.mts.map +0 -1
  305. package/lib/tokens.mjs.map +0 -1
  306. package/lib/treeUtils.d.mts.map +0 -1
  307. package/lib/treeUtils.mjs.map +0 -1
  308. package/lib/urlUtils.d.mts.map +0 -1
  309. package/lib/urlUtils.mjs.map +0 -1
  310. package/lib/wholeSummaryDocumentStorageService.d.mts.map +0 -1
  311. package/lib/wholeSummaryDocumentStorageService.mjs.map +0 -1
  312. package/lib/wholeSummaryUploadManager.d.mts.map +0 -1
  313. package/lib/wholeSummaryUploadManager.mjs.map +0 -1
  314. /package/lib/{routerlicious-driver-alpha.d.mts → routerlicious-driver-alpha.d.ts} +0 -0
  315. /package/lib/{routerlicious-driver-beta.d.mts → routerlicious-driver-beta.d.ts} +0 -0
  316. /package/lib/{routerlicious-driver-public.d.mts → routerlicious-driver-public.d.ts} +0 -0
  317. /package/lib/{routerlicious-driver-untrimmed.d.mts → routerlicious-driver-untrimmed.d.ts} +0 -0
@@ -3,6 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
6
7
  import { assert } from "@fluidframework/core-utils";
7
8
  import { getW3CData } from "@fluidframework/driver-base";
8
9
  import {
@@ -13,34 +14,33 @@ import {
13
14
  IResolvedUrl,
14
15
  LoaderCachingPolicy,
15
16
  } from "@fluidframework/driver-definitions";
16
- import { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
17
- import { ISummaryTree } from "@fluidframework/protocol-definitions";
18
17
  import {
18
+ RateLimiter,
19
19
  getDocAttributesFromProtocolSummary,
20
20
  getQuorumValuesFromProtocolSummary,
21
21
  isCombinedAppAndProtocolSummary,
22
- RateLimiter,
23
22
  } from "@fluidframework/driver-utils";
24
- import { createChildLogger, PerformanceEvent } from "@fluidframework/telemetry-utils";
23
+ import { ISummaryTree } from "@fluidframework/protocol-definitions";
25
24
  import {
26
25
  ISession,
27
26
  convertSummaryTreeToWholeSummaryTree,
28
27
  } from "@fluidframework/server-services-client";
29
- import { ICache, InMemoryCache, NullCache } from "./cache";
30
- import { INormalizedWholeSnapshot } from "./contracts";
31
- import { ISnapshotTreeVersion } from "./definitions";
32
- import { DocumentService } from "./documentService";
33
- import { pkgVersion as driverVersion } from "./packageVersion";
34
- import { IRouterliciousDriverPolicies } from "./policies";
28
+ import { PerformanceEvent, createChildLogger } from "@fluidframework/telemetry-utils";
29
+ import { ICache, InMemoryCache, NullCache } from "./cache.js";
30
+ import { INormalizedWholeSnapshot } from "./contracts.js";
31
+ import { ISnapshotTreeVersion } from "./definitions.js";
32
+ import { DocumentService } from "./documentService.js";
33
+ import { pkgVersion as driverVersion } from "./packageVersion.js";
34
+ import { IRouterliciousDriverPolicies } from "./policies.js";
35
35
  import {
36
36
  RouterliciousOrdererRestWrapper,
37
37
  RouterliciousStorageRestWrapper,
38
38
  toInstrumentedR11sOrdererTokenFetcher,
39
39
  toInstrumentedR11sStorageTokenFetcher,
40
- } from "./restWrapper";
41
- import { isRouterliciousResolvedUrl } from "./routerliciousResolvedUrl";
42
- import { ITokenProvider } from "./tokens";
43
- import { replaceDocumentIdInPath, getDiscoveredFluidResolvedUrl } from "./urlUtils";
40
+ } from "./restWrapper.js";
41
+ import { isRouterliciousResolvedUrl } from "./routerliciousResolvedUrl.js";
42
+ import { ITokenProvider } from "./tokens.js";
43
+ import { getDiscoveredFluidResolvedUrl, replaceDocumentIdInPath } from "./urlUtils.js";
44
44
 
45
45
  const maximumSnapshotCacheDurationMs: FiveDaysMs = 432_000_000; // 5 days in ms
46
46
 
@@ -3,24 +3,24 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
7
6
  import {
8
7
  IDocumentStorageService,
9
8
  IDocumentStorageServicePolicies,
10
9
  LoaderCachingPolicy,
11
10
  } from "@fluidframework/driver-definitions";
12
- import { ISnapshotTree, IVersion } from "@fluidframework/protocol-definitions";
13
11
  import {
14
12
  DocumentStorageServiceProxy,
15
13
  PrefetchDocumentStorageService,
16
14
  } from "@fluidframework/driver-utils";
17
- import { IRouterliciousDriverPolicies } from "./policies";
18
- import { ICache } from "./cache";
19
- import { WholeSummaryDocumentStorageService } from "./wholeSummaryDocumentStorageService";
20
- import { ShreddedSummaryDocumentStorageService } from "./shreddedSummaryDocumentStorageService";
21
- import { GitManager } from "./gitManager";
22
- import { ISnapshotTreeVersion } from "./definitions";
23
- import { INormalizedWholeSnapshot } from "./contracts";
15
+ import { ISnapshotTree, IVersion } from "@fluidframework/protocol-definitions";
16
+ import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
17
+ import { ICache } from "./cache.js";
18
+ import { INormalizedWholeSnapshot } from "./contracts.js";
19
+ import { ISnapshotTreeVersion } from "./definitions.js";
20
+ import { GitManager } from "./gitManager.js";
21
+ import { IRouterliciousDriverPolicies } from "./policies.js";
22
+ import { ShreddedSummaryDocumentStorageService } from "./shreddedSummaryDocumentStorageService.js";
23
+ import { WholeSummaryDocumentStorageService } from "./wholeSummaryDocumentStorageService.js";
24
24
 
25
25
  export class DocumentStorageService extends DocumentStorageServiceProxy {
26
26
  private _logTailSha: string | undefined = undefined;
package/src/errorUtils.ts CHANGED
@@ -5,17 +5,17 @@
5
5
 
6
6
  import {
7
7
  DriverError,
8
- IDriverErrorBase,
9
8
  DriverErrorTypes,
9
+ IDriverErrorBase,
10
10
  } from "@fluidframework/driver-definitions";
11
11
  import {
12
- NonRetryableError,
12
+ AuthorizationError,
13
13
  GenericNetworkError,
14
+ NonRetryableError,
14
15
  createGenericNetworkError,
15
- AuthorizationError,
16
16
  } from "@fluidframework/driver-utils";
17
17
  import { IFluidErrorBase } from "@fluidframework/telemetry-utils";
18
- import { pkgVersion as driverVersion } from "./packageVersion";
18
+ import { pkgVersion as driverVersion } from "./packageVersion.js";
19
19
 
20
20
  /**
21
21
  * Routerlicious Error types
@@ -39,7 +39,7 @@ export type RouterliciousErrorTypes =
39
39
 
40
40
  /**
41
41
  * Interface for error responses for the WebSocket connection
42
- * Intended to be compatible with output from {@link NetworkError.toJSON}
42
+ * Intended to be compatible with output from `NetworkError.toJSON`.
43
43
  */
44
44
  export interface IR11sSocketError {
45
45
  /**
@@ -118,7 +118,6 @@ export function throwR11sNetworkError(
118
118
  ): never {
119
119
  const networkError = createR11sNetworkError(errorMessage, statusCode, retryAfterMs);
120
120
 
121
- // eslint-disable-next-line @typescript-eslint/no-throw-literal
122
121
  throw networkError;
123
122
  }
124
123
 
package/src/gitManager.ts CHANGED
@@ -8,9 +8,9 @@ import {
8
8
  IWholeSummaryPayload,
9
9
  IWriteSummaryResponse,
10
10
  } from "@fluidframework/server-services-client";
11
- import { IGitManager, IHistorian } from "./storageContracts";
12
- import { IR11sResponse } from "./restWrapper";
13
- import { IWholeFlatSnapshot } from "./contracts";
11
+ import { IWholeFlatSnapshot } from "./contracts.js";
12
+ import { IR11sResponse } from "./restWrapper.js";
13
+ import { IGitManager, IHistorian } from "./storageContracts.js";
14
14
 
15
15
  export class GitManager implements IGitManager {
16
16
  constructor(private readonly historian: IHistorian) {}
package/src/historian.ts CHANGED
@@ -9,10 +9,10 @@ import {
9
9
  IWholeSummaryPayload,
10
10
  IWriteSummaryResponse,
11
11
  } from "@fluidframework/server-services-client";
12
- import { QueryStringType, RestWrapper } from "./restWrapperBase";
13
- import { IR11sResponse } from "./restWrapper";
14
- import { IHistorian } from "./storageContracts";
15
- import { IWholeFlatSnapshot } from "./contracts";
12
+ import { IWholeFlatSnapshot } from "./contracts.js";
13
+ import { IR11sResponse } from "./restWrapper.js";
14
+ import { QueryStringType, RestWrapper } from "./restWrapperBase.js";
15
+ import { IHistorian } from "./storageContracts.js";
16
16
 
17
17
  export interface ICredentials {
18
18
  user: string;
package/src/index.ts CHANGED
@@ -4,20 +4,20 @@
4
4
  */
5
5
 
6
6
  // URL
7
- export type { IRouterliciousResolvedUrl } from "./routerliciousResolvedUrl";
7
+ export type { IRouterliciousResolvedUrl } from "./routerliciousResolvedUrl.js";
8
8
 
9
9
  // Tokens
10
- export { DefaultTokenProvider } from "./defaultTokenProvider";
11
- export { ITokenProvider, ITokenResponse, ITokenService } from "./tokens";
10
+ export { DefaultTokenProvider } from "./defaultTokenProvider.js";
11
+ export { ITokenProvider, ITokenResponse, ITokenService } from "./tokens.js";
12
12
 
13
13
  // Errors
14
- export { RouterliciousErrorTypes } from "./errorUtils";
14
+ export { RouterliciousErrorTypes } from "./errorUtils.js";
15
15
 
16
16
  // Factory
17
17
  export {
18
18
  DocumentPostCreateError,
19
19
  RouterliciousDocumentServiceFactory,
20
- } from "./documentServiceFactory";
20
+ } from "./documentServiceFactory.js";
21
21
 
22
22
  // Configuration
23
- export { IRouterliciousDriverPolicies } from "./policies";
23
+ export { IRouterliciousDriverPolicies } from "./policies.js";
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/routerlicious-driver";
9
- export const pkgVersion = "2.0.0-dev-rc.2.0.0.245554";
9
+ export const pkgVersion = "2.0.0-dev-rc.3.0.0.250606";
@@ -3,9 +3,13 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ISnapshotTree } from "@fluidframework/protocol-definitions";
7
6
  import { stringToBuffer } from "@fluid-internal/client-utils";
8
- import { INormalizedWholeSnapshot, IWholeFlatSnapshot, IWholeFlatSnapshotTree } from "./contracts";
7
+ import { ISnapshotTree } from "@fluidframework/protocol-definitions";
8
+ import {
9
+ INormalizedWholeSnapshot,
10
+ IWholeFlatSnapshot,
11
+ IWholeFlatSnapshotTree,
12
+ } from "./contracts.js";
9
13
 
10
14
  /**
11
15
  * Build a tree hierarchy from a flat tree.
@@ -3,28 +3,28 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { fromUtf8ToBase64, performance } from "@fluid-internal/client-utils";
6
7
  import { ITelemetryBaseProperties } from "@fluidframework/core-interfaces";
7
- import {
8
- ITelemetryLoggerExt,
9
- PerformanceEvent,
10
- numberFromString,
11
- } from "@fluidframework/telemetry-utils";
12
8
  import { assert } from "@fluidframework/core-utils";
13
- import { fromUtf8ToBase64, performance } from "@fluid-internal/client-utils";
14
9
  import { GenericNetworkError, NonRetryableError, RateLimiter } from "@fluidframework/driver-utils";
15
10
  import {
16
11
  CorrelationIdHeaderName,
17
12
  DriverVersionHeaderName,
18
- getAuthorizationTokenFromCredentials,
19
13
  RestLessClient,
14
+ getAuthorizationTokenFromCredentials,
20
15
  } from "@fluidframework/server-services-client";
16
+ import {
17
+ ITelemetryLoggerExt,
18
+ PerformanceEvent,
19
+ numberFromString,
20
+ } from "@fluidframework/telemetry-utils";
21
21
  import fetch from "cross-fetch";
22
- import type { AxiosRequestConfig, RawAxiosRequestHeaders } from "axios";
23
22
  import safeStringify from "json-stringify-safe";
24
- import { RouterliciousErrorTypes, throwR11sNetworkError } from "./errorUtils";
25
- import { ITokenProvider, ITokenResponse } from "./tokens";
26
- import { pkgVersion as driverVersion } from "./packageVersion";
27
- import { QueryStringType, RestWrapper } from "./restWrapperBase";
23
+ import type { AxiosRequestConfig, RawAxiosRequestHeaders } from "./axios.cjs";
24
+ import { RouterliciousErrorTypes, throwR11sNetworkError } from "./errorUtils.js";
25
+ import { pkgVersion as driverVersion } from "./packageVersion.js";
26
+ import { QueryStringType, RestWrapper } from "./restWrapperBase.js";
27
+ import { ITokenProvider, ITokenResponse } from "./tokens.js";
28
28
 
29
29
  type AuthorizationHeaderGetter = (token: ITokenResponse) => string;
30
30
  export type TokenFetcher = (refresh?: boolean) => Promise<ITokenResponse>;
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import type { AxiosRequestConfig, AxiosRequestHeaders } from "axios";
7
- import { IR11sResponse } from "./restWrapper";
6
+ import type { AxiosRequestConfig, AxiosRequestHeaders } from "./axios.cjs";
7
+ import { IR11sResponse } from "./restWrapper.js";
8
8
 
9
9
  export abstract class RestWrapper {
10
10
  constructor(
@@ -3,16 +3,16 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { runWithRetry } from "@fluidframework/driver-utils";
6
7
  import type * as git from "@fluidframework/gitresources";
7
8
  import {
8
9
  IWholeSummaryPayload,
9
10
  IWriteSummaryResponse,
10
11
  } from "@fluidframework/server-services-client";
11
- import { runWithRetry } from "@fluidframework/driver-utils";
12
12
  import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
13
- import { IGitManager } from "./storageContracts";
14
- import { IR11sResponse } from "./restWrapper";
15
- import { IWholeFlatSnapshot } from "./contracts";
13
+ import { IWholeFlatSnapshot } from "./contracts.js";
14
+ import { IR11sResponse } from "./restWrapper.js";
15
+ import { IGitManager } from "./storageContracts.js";
16
16
 
17
17
  export class RetriableGitManager implements IGitManager {
18
18
  constructor(
@@ -3,17 +3,11 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import {
7
- ITelemetryLoggerExt,
8
- MonitoringContext,
9
- PerformanceEvent,
10
- createChildMonitoringContext,
11
- } from "@fluidframework/telemetry-utils";
12
- import { stringToBuffer, Uint8ArrayToString } from "@fluid-internal/client-utils";
6
+ import { Uint8ArrayToString, stringToBuffer } from "@fluid-internal/client-utils";
13
7
  import {
14
8
  IDocumentStorageService,
15
- ISummaryContext,
16
9
  IDocumentStorageServicePolicies,
10
+ ISummaryContext,
17
11
  } from "@fluidframework/driver-definitions";
18
12
  import { buildGitTreeHierarchy } from "@fluidframework/protocol-base";
19
13
  import {
@@ -23,13 +17,19 @@ import {
23
17
  ISummaryTree,
24
18
  IVersion,
25
19
  } from "@fluidframework/protocol-definitions";
26
- import { IRouterliciousDriverPolicies } from "./policies";
27
- import { ICache, InMemoryCache } from "./cache";
28
- import { RetriableGitManager } from "./retriableGitManager";
29
- import { ISnapshotTreeVersion } from "./definitions";
30
- import { GitManager } from "./gitManager";
31
- import { ISummaryUploadManager } from "./storageContracts";
32
- import { SummaryTreeUploadManager } from "./summaryTreeUploadManager";
20
+ import {
21
+ ITelemetryLoggerExt,
22
+ MonitoringContext,
23
+ PerformanceEvent,
24
+ createChildMonitoringContext,
25
+ } from "@fluidframework/telemetry-utils";
26
+ import { ICache, InMemoryCache } from "./cache.js";
27
+ import { ISnapshotTreeVersion } from "./definitions.js";
28
+ import { GitManager } from "./gitManager.js";
29
+ import { IRouterliciousDriverPolicies } from "./policies.js";
30
+ import { RetriableGitManager } from "./retriableGitManager.js";
31
+ import { ISummaryUploadManager } from "./storageContracts.js";
32
+ import { SummaryTreeUploadManager } from "./summaryTreeUploadManager.js";
33
33
 
34
34
  const isNode = typeof window === "undefined";
35
35
 
@@ -10,8 +10,8 @@ import {
10
10
  IWholeSummaryPayloadType,
11
11
  IWriteSummaryResponse,
12
12
  } from "@fluidframework/server-services-client";
13
- import { IR11sResponse } from "./restWrapper";
14
- import { IWholeFlatSnapshot } from "./contracts";
13
+ import { IWholeFlatSnapshot } from "./contracts.js";
14
+ import { IR11sResponse } from "./restWrapper.js";
15
15
 
16
16
  /**
17
17
  * Interface to a generic Git provider
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { gitHashFile, IsoBuffer, Uint8ArrayToString } from "@fluid-internal/client-utils";
6
+ import { IsoBuffer, Uint8ArrayToString, gitHashFile } from "@fluid-internal/client-utils";
7
7
  import { assert, unreachableCase } from "@fluidframework/core-utils";
8
8
  import { ICreateTreeEntry } from "@fluidframework/gitresources";
9
9
  import { getGitMode, getGitType } from "@fluidframework/protocol-base";
@@ -14,7 +14,7 @@ import {
14
14
  SummaryType,
15
15
  } from "@fluidframework/protocol-definitions";
16
16
  import { IWholeSummaryPayloadType } from "@fluidframework/server-services-client";
17
- import { IGitManager, ISummaryUploadManager } from "./storageContracts";
17
+ import { IGitManager, ISummaryUploadManager } from "./storageContracts.js";
18
18
 
19
19
  /**
20
20
  * Recursively writes summary tree as individual summary blobs.
package/src/treeUtils.ts CHANGED
@@ -6,12 +6,12 @@
6
6
  import { IsoBuffer } from "@fluid-internal/client-utils";
7
7
  import { assert } from "@fluidframework/core-utils";
8
8
  import {
9
- SummaryType,
10
9
  ISnapshotTree,
11
10
  ISummaryTree,
12
11
  SummaryObject,
12
+ SummaryType,
13
13
  } from "@fluidframework/protocol-definitions";
14
- import { INormalizedWholeSnapshot } from "./contracts";
14
+ import { INormalizedWholeSnapshot } from "./contracts.js";
15
15
 
16
16
  /**
17
17
  * Summary tree assembler props
@@ -3,19 +3,13 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import {
7
- ITelemetryLoggerExt,
8
- MonitoringContext,
9
- PerformanceEvent,
10
- createChildMonitoringContext,
11
- } from "@fluidframework/telemetry-utils";
12
- import { performance, stringToBuffer, Uint8ArrayToString } from "@fluid-internal/client-utils";
6
+ import { Uint8ArrayToString, performance, stringToBuffer } from "@fluid-internal/client-utils";
13
7
  import { assert } from "@fluidframework/core-utils";
14
8
  import { getW3CData, promiseRaceWithWinner } from "@fluidframework/driver-base";
15
9
  import {
16
10
  IDocumentStorageService,
17
- ISummaryContext,
18
11
  IDocumentStorageServicePolicies,
12
+ ISummaryContext,
19
13
  } from "@fluidframework/driver-definitions";
20
14
  import {
21
15
  ICreateBlobResponse,
@@ -24,19 +18,25 @@ import {
24
18
  ISummaryTree,
25
19
  IVersion,
26
20
  } from "@fluidframework/protocol-definitions";
27
- import { ICache, InMemoryCache } from "./cache";
28
- import { IRouterliciousDriverPolicies } from "./policies";
21
+ import {
22
+ ITelemetryLoggerExt,
23
+ MonitoringContext,
24
+ PerformanceEvent,
25
+ createChildMonitoringContext,
26
+ } from "@fluidframework/telemetry-utils";
27
+ import { ICache, InMemoryCache } from "./cache.js";
28
+ import { INormalizedWholeSnapshot, IWholeFlatSnapshot } from "./contracts.js";
29
+ import { GitManager } from "./gitManager.js";
30
+ import { IRouterliciousDriverPolicies } from "./policies.js";
31
+ import { convertWholeFlatSnapshotToSnapshotTreeAndBlobs } from "./r11sSnapshotParser.js";
32
+ import { IR11sResponse } from "./restWrapper.js";
33
+ import { ISummaryUploadManager } from "./storageContracts.js";
29
34
  import {
30
35
  convertSnapshotAndBlobsToSummaryTree,
31
36
  evalBlobsAndTrees,
32
37
  validateBlobsAndTrees,
33
- } from "./treeUtils";
34
- import { GitManager } from "./gitManager";
35
- import { WholeSummaryUploadManager } from "./wholeSummaryUploadManager";
36
- import { ISummaryUploadManager } from "./storageContracts";
37
- import { IR11sResponse } from "./restWrapper";
38
- import { INormalizedWholeSnapshot, IWholeFlatSnapshot } from "./contracts";
39
- import { convertWholeFlatSnapshotToSnapshotTreeAndBlobs } from "./r11sSnapshotParser";
38
+ } from "./treeUtils.js";
39
+ import { WholeSummaryUploadManager } from "./wholeSummaryUploadManager.js";
40
40
 
41
41
  const latestSnapshotId: string = "latest";
42
42
 
@@ -9,7 +9,7 @@ import {
9
9
  IWholeSummaryPayloadType,
10
10
  convertSummaryTreeToWholeSummaryTree,
11
11
  } from "@fluidframework/server-services-client";
12
- import { IGitManager, ISummaryUploadManager } from "./storageContracts";
12
+ import { IGitManager, ISummaryUploadManager } from "./storageContracts.js";
13
13
 
14
14
  /**
15
15
  * Converts summary to snapshot tree and uploads with single snaphot tree payload.
@@ -0,0 +1,7 @@
1
+ {
2
+ // This config must be used in a "type": "commonjs" environment. (Use fluid-tsc commonjs.)
3
+ "extends": "./tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "./dist",
6
+ },
7
+ }
package/tsconfig.json CHANGED
@@ -1,12 +1,9 @@
1
1
  {
2
- "extends": [
3
- "../../../common/build/build-common/tsconfig.base.json",
4
- "../../../common/build/build-common/tsconfig.cjs.json",
5
- ],
2
+ "extends": "../../../common/build/build-common/tsconfig.node16.json",
6
3
  "include": ["src/**/*"],
7
4
  "exclude": ["src/test/**/*"],
8
5
  "compilerOptions": {
9
6
  "rootDir": "./src",
10
- "outDir": "./dist",
7
+ "outDir": "./lib",
11
8
  },
12
9
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.mts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAED,qGAAqG;AACrG,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,YAAY,CAAC,EAAE,MAAM;IAIpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtD;AAED,yEAAyE;AACzE,qBAAa,SAAS,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CACtD"}
package/lib/cache.mjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.mjs","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,iBAAiB,EAAE;AAO5B,qGAAqG;AACrG,MAAM,OAAO,aAAa;IAGzB,YAAY,YAAqB;QAChC,IAAI,CAAC,KAAK,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAC3F,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACD;AAED,yEAAyE;AACzE,MAAM,OAAO,SAAS;IACd,KAAK,CAAC,GAAG,CAAC,GAAW;QAC3B,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAQ,IAAkB,CAAC;CACzD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { MapWithExpiration } from \"./mapWithExpiration\";\n\nexport interface ICache<T> {\n\tget(key: string): Promise<T | undefined>;\n\tput(key: string, value: T): Promise<void>;\n}\n\n/** A basic in-memory cache that optionally supports expiring entries after a period of inactivity */\nexport class InMemoryCache<T> implements ICache<T> {\n\tprivate readonly cache: Map<string, T>;\n\n\tconstructor(expirationMs?: number) {\n\t\tthis.cache = expirationMs !== undefined ? new MapWithExpiration(expirationMs) : new Map();\n\t}\n\n\tpublic async get(key: string): Promise<T | undefined> {\n\t\treturn this.cache.get(key);\n\t}\n\n\tpublic async put(key: string, value: T): Promise<void> {\n\t\tthis.cache.set(key, value);\n\t}\n}\n\n/** This \"cache\" does nothing on put, and get always returns undefined */\nexport class NullCache<T> implements ICache<T> {\n\tpublic async get(key: string): Promise<T | undefined> {\n\t\treturn undefined;\n\t}\n\n\tpublic async put(key: string, value: T): Promise<void> {}\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.d.mts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,aAAa,EAAE,MAAM,sCAAsC;AAQpE,MAAM,WAAW,+BAA+B;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,+BAA+B;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,2BAA2B,GACpC,+BAA+B,GAC/B,+BAA+B,CAAC;AAEnC,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IAElC,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;CACX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.mjs","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISnapshotTree } from \"@fluidframework/protocol-definitions\";\n\n/*\n *\n * Whole Snapshot Download Data Structures\n *\n */\n\nexport interface IWholeFlatSnapshotTreeEntryTree {\n\tpath: string;\n\ttype: \"tree\";\n\t// Indicates that this tree entry is unreferenced. If this is not present, the tree entry is considered referenced.\n\tunreferenced?: true;\n\tgroupId?: string;\n}\n\nexport interface IWholeFlatSnapshotTreeEntryBlob {\n\tid: string;\n\tpath: string;\n\ttype: \"blob\";\n}\n\nexport type IWholeFlatSnapshotTreeEntry =\n\t| IWholeFlatSnapshotTreeEntryTree\n\t| IWholeFlatSnapshotTreeEntryBlob;\n\nexport interface IWholeFlatSnapshotTree {\n\tentries: IWholeFlatSnapshotTreeEntry[];\n\tid: string;\n\tsequenceNumber: number;\n}\n\nexport interface IWholeFlatSnapshotBlob {\n\tcontent: string;\n\tencoding: \"base64\" | \"utf-8\";\n\tid: string;\n\tsize: number;\n}\n\nexport interface IWholeFlatSnapshot {\n\t// The same as the id of the first snapshot tree in the trees array.\n\tid: string;\n\t// Receive an array of snapshot trees for future-proofing, however, always length 1 for now.\n\ttrees: IWholeFlatSnapshotTree[];\n\tblobs?: IWholeFlatSnapshotBlob[];\n}\n\n/**\n * Normalized Whole Summary with decoded blobs and unflattened snapshot tree.\n */\nexport interface INormalizedWholeSnapshot {\n\tblobs: Map<string, ArrayBuffer>;\n\tsnapshotTree: ISnapshotTree;\n\tsequenceNumber: number | undefined;\n\tid: string;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createNewUtils.d.mts","sourceRoot":"","sources":["../src/createNewUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAE,YAAY,EAAe,MAAM,sCAAsC;AAEhF;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CA2BpF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"createNewUtils.mjs","sourceRoot":"","sources":["../src/createNewUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,kBAAkB,EAAE,MAAM,8BAA8B;OAC1D,EAAgB,WAAW,EAAE,MAAM,sCAAsC;AAEhF;;;;GAIG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAAqB;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACvB,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAExC,QAAQ,aAAa,CAAC,IAAI,EAAE;YAC3B,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,gCAAgC,CAAC,aAAa,CAAC,CAAC;gBACpE,MAAM;aACN;YACD,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC;gBACtB,aAAa,CAAC,OAAO;oBACpB,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ;wBACxC,CAAC,CAAC,aAAa,CAAC,OAAO;wBACvB,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACtD,MAAM;aACN;YACD,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACnE;YACD,OAAO,CAAC,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,qBAAqB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;aAC3D;SACD;KACD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Uint8ArrayToString } from \"@fluid-internal/client-utils\";\nimport { ISummaryTree, SummaryType } from \"@fluidframework/protocol-definitions\";\n\n/**\n * Utility api to convert ISummaryTree to a summary tree where blob contents are only utf8 strings.\n * @param summary - Summary supplied by the runtime to upload.\n * @returns Modified summary tree where the blob contents could be utf8 string only.\n */\nexport function convertSummaryToCreateNewSummary(summary: ISummaryTree): ISummaryTree {\n\tconst keys = Object.keys(summary.tree);\n\tfor (const key of keys) {\n\t\tconst summaryObject = summary.tree[key];\n\n\t\tswitch (summaryObject.type) {\n\t\t\tcase SummaryType.Tree: {\n\t\t\t\tsummary.tree[key] = convertSummaryToCreateNewSummary(summaryObject);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SummaryType.Blob: {\n\t\t\t\tsummaryObject.content =\n\t\t\t\t\ttypeof summaryObject.content === \"string\"\n\t\t\t\t\t\t? summaryObject.content\n\t\t\t\t\t\t: Uint8ArrayToString(summaryObject.content, \"utf8\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase SummaryType.Handle: {\n\t\t\t\tthrow new Error(\"No handle should be present for first summary!!\");\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new Error(`Unknown tree type ${summaryObject.type}`);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn summary;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultTokenProvider.d.mts","sourceRoot":"","sources":["../src/defaultTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,cAAc,EAAE,cAAc,EAAE;AAEzC;;;GAGG;AAEH,qBAAa,oBAAqB,YAAW,cAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAE3B,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAO5C,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;CAMzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaultTokenProvider.mjs","sourceRoot":"","sources":["../src/defaultTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AAEH,MAAM,OAAO,oBAAoB;IAChC,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAErC,KAAK,CAAC,iBAAiB;QAC7B,OAAO;YACN,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;SACb,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC7B,OAAO;YACN,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;SACb,CAAC;IACH,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ITokenProvider, ITokenResponse } from \"./tokens\";\n\n/**\n * Default token provider in case the host does not provide one. It simply caches the provided jwt and returns it back.\n * @internal\n */\n\nexport class DefaultTokenProvider implements ITokenProvider {\n\tconstructor(private readonly jwt: string) {}\n\n\tpublic async fetchOrdererToken(): Promise<ITokenResponse> {\n\t\treturn {\n\t\t\tfromCache: true,\n\t\t\tjwt: this.jwt,\n\t\t};\n\t}\n\n\tpublic async fetchStorageToken(): Promise<ITokenResponse> {\n\t\treturn {\n\t\t\tfromCache: true,\n\t\t\tjwt: this.jwt,\n\t\t};\n\t}\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.mts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,aAAa,EAAE,MAAM,sCAAsC;AAEpE,MAAM,WAAW,oBAAoB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,aAAa,CAAC;CAC5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.mjs","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISnapshotTree } from \"@fluidframework/protocol-definitions\";\n\nexport interface ISnapshotTreeVersion {\n\tid: string;\n\tsnapshotTree: ISnapshotTree;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deltaStorageService.d.mts","sourceRoot":"","sources":["../src/deltaStorageService.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAII,EACN,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,OAAO,EACP,MAAM,oCAAoC;OACpC,EAAE,yBAAyB,EAAE,MAAM,sCAAsC;OAOzE,EAAE,mBAAmB,EAAoB,MAAM,iCAAiC;OAChF,EAAE,sBAAsB,EAAE;OAC1B,EAAE,WAAW,EAAE;AAWtB;;GAEG;AACH,qBAAa,2BAA4B,YAAW,4BAA4B;IAE9E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJN,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,mBAAmB,EAAE,oBAAoB,EACzC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,mBAAmB;IAG7C,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,WAAW,CAA0C;IAE7D,aAAa,CACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,OAAO,EACpB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,EAAE,CAAC;CAmEvC;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAE9D,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAJlB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,GAAE,MAAM,OAAO,CAAC,WAAW,CAAgC,EACzE,kBAAkB,GAAE,MAAM,MAAuB;IAGtD,GAAG,CACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EAAE,YAAY;IAC1B,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,kBAAkB,CAAC;CAiC9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"deltaStorageService.mjs","sourceRoot":"","sources":["../src/deltaStorageService.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ITelemetryBaseProperties } from \"@fluidframework/core-interfaces\";\nimport { getW3CData, validateMessages } from \"@fluidframework/driver-base\";\nimport {\n\tIDeltaStorageService,\n\tIDocumentDeltaStorageService,\n\tIDeltasFetchResult,\n\tIStream,\n} from \"@fluidframework/driver-definitions\";\nimport { ISequencedDocumentMessage } from \"@fluidframework/protocol-definitions\";\nimport {\n\treadAndParse,\n\trequestOps,\n\temptyMessageStream,\n\tstreamObserver,\n} from \"@fluidframework/driver-utils\";\nimport { ITelemetryLoggerExt, PerformanceEvent } from \"@fluidframework/telemetry-utils\";\nimport { DocumentStorageService } from \"./documentStorageService\";\nimport { RestWrapper } from \"./restWrapperBase\";\n\n/**\n * Maximum number of ops we can fetch at a time. This should be kept at 2k, as\n * server determines whether to try to fallback to long-term storage if the ops range requested is larger than\n * what they have locally available in short-term storage. So if we request 2k ops, they know it is not a\n * specific request and they don't fall to long term storage which takes time.\n * Please coordinate to AFR team if this value need to be changed.\n */\nconst MaxBatchDeltas = 2000;\n\n/**\n * Storage service limited to only being able to fetch documents for a specific document\n */\nexport class DocumentDeltaStorageService implements IDocumentDeltaStorageService {\n\tconstructor(\n\t\tprivate readonly tenantId: string,\n\t\tprivate readonly id: string,\n\t\tprivate readonly deltaStorageService: IDeltaStorageService,\n\t\tprivate readonly documentStorageService: DocumentStorageService,\n\t\tprivate readonly logger: ITelemetryLoggerExt,\n\t) {}\n\n\tprivate logtailSha: string | undefined = this.documentStorageService.logTailSha;\n\tprivate snapshotOps: ISequencedDocumentMessage[] | undefined;\n\n\tfetchMessages(\n\t\tfromTotal: number,\n\t\ttoTotal: number | undefined,\n\t\tabortSignal?: AbortSignal,\n\t\tcachedOnly?: boolean,\n\t\tfetchReason?: string,\n\t): IStream<ISequencedDocumentMessage[]> {\n\t\tif (cachedOnly) {\n\t\t\treturn emptyMessageStream;\n\t\t}\n\n\t\tlet opsFromSnapshot = 0;\n\t\tlet opsFromStorage = 0;\n\t\tconst requestCallback = async (\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t\ttelemetryProps: ITelemetryBaseProperties,\n\t\t) => {\n\t\t\tthis.snapshotOps = this.logtailSha\n\t\t\t\t? await readAndParse<ISequencedDocumentMessage[]>(\n\t\t\t\t\t\tthis.documentStorageService,\n\t\t\t\t\t\tthis.logtailSha,\n\t\t\t\t )\n\t\t\t\t: [];\n\t\t\tthis.logtailSha = undefined;\n\n\t\t\tif (this.snapshotOps !== undefined && this.snapshotOps.length !== 0) {\n\t\t\t\tconst messages = this.snapshotOps.filter(\n\t\t\t\t\t(op) => op.sequenceNumber >= from && op.sequenceNumber < to,\n\t\t\t\t);\n\t\t\t\tvalidateMessages(\"snapshotOps\", messages, from, this.logger, false /* strict */);\n\t\t\t\tif (messages.length > 0 && messages[0].sequenceNumber === from) {\n\t\t\t\t\tthis.snapshotOps = this.snapshotOps.filter((op) => op.sequenceNumber >= to);\n\t\t\t\t\topsFromSnapshot += messages.length;\n\t\t\t\t\treturn { messages, partialResult: true };\n\t\t\t\t}\n\t\t\t\tthis.snapshotOps = undefined;\n\t\t\t}\n\n\t\t\tconst ops = await this.deltaStorageService.get(this.tenantId, this.id, from, to);\n\t\t\tvalidateMessages(\"storage\", ops.messages, from, this.logger, false /* strict */);\n\t\t\topsFromStorage += ops.messages.length;\n\t\t\treturn ops;\n\t\t};\n\n\t\tconst stream = requestOps(\n\t\t\tasync (from: number, to: number, telemetryProps: ITelemetryBaseProperties) => {\n\t\t\t\tconst result = await requestCallback(from, to, telemetryProps);\n\t\t\t\t// Catch all case, just in case\n\t\t\t\tvalidateMessages(\"catch all\", result.messages, from, this.logger);\n\t\t\t\treturn result;\n\t\t\t},\n\t\t\t// Staging: starting with no concurrency, listening for feedback first.\n\t\t\t// In future releases we will switch to actual concurrency\n\t\t\t1, // concurrency\n\t\t\tfromTotal, // inclusive\n\t\t\ttoTotal, // exclusive\n\t\t\tMaxBatchDeltas,\n\t\t\tthis.logger,\n\t\t\tabortSignal,\n\t\t\tfetchReason,\n\t\t);\n\n\t\treturn streamObserver(stream, (result) => {\n\t\t\tif (result.done && opsFromSnapshot + opsFromStorage !== 0) {\n\t\t\t\tthis.logger.sendPerformanceEvent({\n\t\t\t\t\teventName: \"CacheOpsRetrieved\",\n\t\t\t\t\topsFromSnapshot,\n\t\t\t\t\topsFromStorage,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * Provides access to the underlying delta storage on the server for routerlicious driver.\n */\nexport class DeltaStorageService implements IDeltaStorageService {\n\tconstructor(\n\t\tprivate readonly url: string,\n\t\tprivate readonly restWrapper: RestWrapper,\n\t\tprivate readonly logger: ITelemetryLoggerExt,\n\t\tprivate readonly getRestWrapper: () => Promise<RestWrapper> = async () => this.restWrapper,\n\t\tprivate readonly getDeltaStorageUrl: () => string = () => this.url,\n\t) {}\n\n\tpublic async get(\n\t\ttenantId: string,\n\t\tid: string,\n\t\tfrom: number, // inclusive\n\t\tto: number, // exclusive\n\t): Promise<IDeltasFetchResult> {\n\t\tconst ops = await PerformanceEvent.timedExecAsync(\n\t\t\tthis.logger,\n\t\t\t{\n\t\t\t\teventName: \"OpsFetch\",\n\t\t\t\tfrom,\n\t\t\t\tto,\n\t\t\t},\n\t\t\tasync (event) => {\n\t\t\t\tconst restWrapper = await this.getRestWrapper();\n\t\t\t\tconst url = this.getDeltaStorageUrl();\n\t\t\t\tconst response = await restWrapper.get<ISequencedDocumentMessage[]>(url, {\n\t\t\t\t\tfrom: from - 1,\n\t\t\t\t\tto,\n\t\t\t\t});\n\t\t\t\tevent.end({\n\t\t\t\t\tlength: response.content.length,\n\t\t\t\t\tdetails: JSON.stringify({\n\t\t\t\t\t\tfirstOpSeqNumber: response.content[0]?.sequenceNumber,\n\t\t\t\t\t\tlastOpSeqNumber:\n\t\t\t\t\t\t\tresponse.content[response.content.length - 1]?.sequenceNumber,\n\t\t\t\t\t}),\n\t\t\t\t\t...response.propsToLog,\n\t\t\t\t\t...getW3CData(response.requestUrl, \"xmlhttprequest\"),\n\t\t\t\t});\n\t\t\t\treturn response.content;\n\t\t\t},\n\t\t);\n\n\t\t// It is assumed that server always returns all the ops that it has in the range that was requested.\n\t\t// This may change in the future, if so, we need to adjust and receive \"end\" value from server in such case.\n\t\treturn { messages: ops, partialResult: false };\n\t}\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentDeltaConnection.d.mts","sourceRoot":"","sources":["../src/documentDeltaConnection.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,mBAAmB,EAAE,MAAM,iCAAiC;OAC9D,EAAE,uBAAuB,EAAE,MAAM,6BAA6B;OAC9D,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,oCAAoC;OACvF,EAAE,OAAO,EAAY,MAAM,sCAAsC;OACjE,KAAK,EAAE,EAAE,IAAI,oBAAoB,EAAE,MAAM,kBAAkB;AAMlE;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;WACnD,MAAM,CACzB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,EAAE,EAAE,OAAO,oBAAoB,EAC/B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,EAC3B,SAAS,SAAQ,EACjB,0BAA0B,UAAO,GAC/B,OAAO,CAAC,wBAAwB,CAAC;IAmCpC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,QAAQ,UAAO,GAAG,eAAe;CAQ3F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentDeltaConnection.mjs","sourceRoot":"","sources":["../src/documentDeltaConnection.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAGI,EAAE,uBAAuB,EAAE,MAAM,6BAA6B;OAI9D,EAAE,0BAA0B,EAAoB;OAChD,EAAE,UAAU,IAAI,aAAa,EAAE;AAEtC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,uBAAuB;IAChE,MAAM,CAAC,KAAK,CAAC,MAAM,CACzB,QAAgB,EAChB,EAAU,EACV,KAAoB,EACpB,EAA+B,EAC/B,MAAe,EACf,GAAW,EACX,MAA2B,EAC3B,SAAS,GAAG,KAAK,EACjB,0BAA0B,GAAG,IAAI;QAEjC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE;YACtB,KAAK,EAAE;gBACN,UAAU,EAAE,EAAE;gBACd,QAAQ;aACR;YACD,YAAY,EAAE,KAAK;YACnB,8DAA8D;YAC9D,UAAU,EAAE,CAAC,WAAW,CAAC;YACzB,OAAO,EAAE,SAAS;SAClB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAa;YAChC,MAAM;YACN,EAAE;YACF,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ;YACR,KAAK;YACL,QAAQ,EAAE,gBAAgB;YAC1B,cAAc,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,kBAAkB,aAAa,EAAE,CAAC,CAAC,IAAI,CACnF,GAAG,CACH;SACD,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,2BAA2B,CACtD,MAAM,EACN,EAAE,EACF,MAAM,EACN,0BAA0B,CAC1B,CAAC;QAEF,MAAM,eAAe,CAAC,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC5D,OAAO,eAAe,CAAC;IACxB,CAAC;IAED;;OAEG;IACO,iBAAiB,CAAC,OAAe,EAAE,KAAW,EAAE,QAAQ,GAAG,IAAI;QACxE,wDAAwD;QACxD,wGAAwG;QACxG,4CAA4C;QAC5C,OAAO,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;YACrF,CAAC,CAAC,0BAA0B,CAAC,KAAyB,EAAE,OAAO,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;CACD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ITelemetryLoggerExt } from \"@fluidframework/telemetry-utils\";\nimport { DocumentDeltaConnection } from \"@fluidframework/driver-base\";\nimport { IAnyDriverError, IDocumentDeltaConnection } from \"@fluidframework/driver-definitions\";\nimport { IClient, IConnect } from \"@fluidframework/protocol-definitions\";\nimport type { io as SocketIOClientStatic } from \"socket.io-client\";\nimport { errorObjectFromSocketError, IR11sSocketError } from \"./errorUtils\";\nimport { pkgVersion as driverVersion } from \"./packageVersion\";\n\nconst protocolVersions = [\"^0.4.0\", \"^0.3.0\", \"^0.2.0\", \"^0.1.0\"];\n\n/**\n * Wrapper over the shared one for driver specific translation.\n */\nexport class R11sDocumentDeltaConnection extends DocumentDeltaConnection {\n\tpublic static async create(\n\t\ttenantId: string,\n\t\tid: string,\n\t\ttoken: string | null,\n\t\tio: typeof SocketIOClientStatic,\n\t\tclient: IClient,\n\t\turl: string,\n\t\tlogger: ITelemetryLoggerExt,\n\t\ttimeoutMs = 20000,\n\t\tenableLongPollingDowngrade = true,\n\t): Promise<IDocumentDeltaConnection> {\n\t\tconst socket = io(url, {\n\t\t\tquery: {\n\t\t\t\tdocumentId: id,\n\t\t\t\ttenantId,\n\t\t\t},\n\t\t\treconnection: false,\n\t\t\t// Default to websocket connection, with long-polling disabled\n\t\t\ttransports: [\"websocket\"],\n\t\t\ttimeout: timeoutMs,\n\t\t});\n\n\t\tconst connectMessage: IConnect = {\n\t\t\tclient,\n\t\t\tid,\n\t\t\tmode: client.mode,\n\t\t\ttenantId,\n\t\t\ttoken, // Token is going to indicate tenant level information, etc...\n\t\t\tversions: protocolVersions,\n\t\t\trelayUserAgent: [client.details.environment, ` driverVersion:${driverVersion}`].join(\n\t\t\t\t\";\",\n\t\t\t),\n\t\t};\n\n\t\tconst deltaConnection = new R11sDocumentDeltaConnection(\n\t\t\tsocket,\n\t\t\tid,\n\t\t\tlogger,\n\t\t\tenableLongPollingDowngrade,\n\t\t);\n\n\t\tawait deltaConnection.initialize(connectMessage, timeoutMs);\n\t\treturn deltaConnection;\n\t}\n\n\t/**\n\t * Error raising for socket.io issues\n\t */\n\tprotected createErrorObject(handler: string, error?: any, canRetry = true): IAnyDriverError {\n\t\t// Note: we suspect the incoming error object is either:\n\t\t// - a socketError: add it to the R11sError object for driver to be able to parse it and reason over it.\n\t\t// - anything else: let base class handle it\n\t\treturn canRetry && Number.isInteger(error?.code) && typeof error?.message === \"string\"\n\t\t\t? errorObjectFromSocketError(error as IR11sSocketError, handler)\n\t\t\t: super.createErrorObject(handler, error, canRetry);\n\t}\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentService.d.mts","sourceRoot":"","sources":["../src/documentService.ts"],"names":[],"mappings":"AAAA;;;GAGG;OAEI,EAAE,iBAAiB,EAAE,MAAM,8BAA8B;OAEzD,KAAK,GAAG,MAAM,oCAAoC;OAElD,EAAE,OAAO,EAAE,MAAM,sCAAsC;OAEvD,EAA+B,mBAAmB,EAAE,MAAM,iCAAiC;OAM3F,EAAE,cAAc,EAAE;OAClB,EACN,+BAA+B,EAC/B,+BAA+B,EAC/B,YAAY,EACZ;OACM,EAAE,4BAA4B,EAAE;OAChC,EAAE,MAAM,EAAE;OACV,EAAE,oBAAoB,EAAE;OAKxB,EAAE,wBAAwB,EAAE;AAUnC;;;GAGG;AAEH,qBAAa,eACZ,SAAQ,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CACpD,YAAW,GAAG,CAAC,gBAAgB;IAa9B,OAAO,CAAC,YAAY;IACpB,SAAS,CAAC,UAAU,EAAE,MAAM;IAC5B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,SAAS,CAAC,aAAa,EAAE,cAAc;IACvC,SAAS,CAAC,QAAQ,EAAE,MAAM;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM;IAC5B,SAAS,CAAC,kBAAkB,EAAE,+BAA+B;IAC7D,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IA7BrC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,SAAS,CAA4B;IAE7C,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,qBAAqB,CAAyB;IAEtD,IAAW,WAAW,qBAErB;gBAGQ,YAAY,EAAE,GAAG,CAAC,YAAY,EAC5B,UAAU,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EACT,MAAM,EAAE,mBAAmB,EAClC,aAAa,EAAE,cAAc,EAC7B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,+BAA+B,EAC5C,8BAA8B,EAAE,GAAG,CAAC,+BAA+B,EACnE,cAAc,EAAE,4BAA4B,EAC5C,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAClC,sBAAsB,EAAE,MAAM,CAAC,wBAAwB,CAAC,EACxD,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,CAAC,EACtD,wBAAwB,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAClE,kBAAkB,EAAE,+BAA+B,EAC1C,mBAAmB,EAAE,YAAY,EACjC,mBAAmB,EAAE,YAAY;IAKnD,OAAO,CAAC,sBAAsB,CAAqC;IAE5D,OAAO;IAEd;;;;OAIG;IACU,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IA0DrE;;;;OAIG;IACU,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAsC/E;;;;OAIG;IACU,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IA+EzF;;OAEG;YACW,gBAAgB;YAahB,oBAAoB;IASlC;;OAEG;IACH,OAAO,CAAC,iCAAiC;CAsBzC"}