@backblaze-labs/b2-sdk 0.1.0 → 0.3.0

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 (885) hide show
  1. package/CHANGELOG.md +151 -5
  2. package/README.md +163 -34
  3. package/dist/_virtual/_b2-sdk-version-json.cjs +4 -0
  4. package/dist/_virtual/_b2-sdk-version-json.js +4 -0
  5. package/dist/auth/account-info.d.cts +32 -0
  6. package/dist/auth/account-info.d.cts.map +1 -1
  7. package/dist/auth/account-info.d.ts +32 -0
  8. package/dist/auth/account-info.d.ts.map +1 -1
  9. package/dist/auth/file.cjs +408 -207
  10. package/dist/auth/file.cjs.map +1 -1
  11. package/dist/auth/file.d.cts +77 -3
  12. package/dist/auth/file.d.cts.map +1 -1
  13. package/dist/auth/file.d.ts +77 -3
  14. package/dist/auth/file.d.ts.map +1 -1
  15. package/dist/auth/file.js +407 -207
  16. package/dist/auth/file.js.map +1 -1
  17. package/dist/auth/in-memory.cjs +212 -183
  18. package/dist/auth/in-memory.cjs.map +1 -1
  19. package/dist/auth/in-memory.d.cts +8 -0
  20. package/dist/auth/in-memory.d.cts.map +1 -1
  21. package/dist/auth/in-memory.d.ts +8 -0
  22. package/dist/auth/in-memory.d.ts.map +1 -1
  23. package/dist/auth/in-memory.js +211 -182
  24. package/dist/auth/in-memory.js.map +1 -1
  25. package/dist/auth/index.cjs +7 -9
  26. package/dist/auth/index.d.cts +3 -2
  27. package/dist/auth/index.d.cts.map +1 -1
  28. package/dist/auth/index.d.ts +3 -2
  29. package/dist/auth/index.d.ts.map +1 -1
  30. package/dist/auth/index.js +2 -8
  31. package/dist/auth/realms.cjs +80 -7
  32. package/dist/auth/realms.cjs.map +1 -1
  33. package/dist/auth/realms.d.cts +27 -4
  34. package/dist/auth/realms.d.cts.map +1 -1
  35. package/dist/auth/realms.d.ts +27 -4
  36. package/dist/auth/realms.d.ts.map +1 -1
  37. package/dist/auth/realms.js +80 -9
  38. package/dist/auth/realms.js.map +1 -1
  39. package/dist/auth/upload-url-pool.cjs +55 -51
  40. package/dist/auth/upload-url-pool.cjs.map +1 -1
  41. package/dist/auth/upload-url-pool.js +55 -51
  42. package/dist/auth/upload-url-pool.js.map +1 -1
  43. package/dist/backup/client.cjs +206 -0
  44. package/dist/backup/client.cjs.map +1 -0
  45. package/dist/backup/client.d.cts +238 -0
  46. package/dist/backup/client.d.cts.map +1 -0
  47. package/dist/backup/client.d.ts +238 -0
  48. package/dist/backup/client.d.ts.map +1 -0
  49. package/dist/backup/client.js +206 -0
  50. package/dist/backup/client.js.map +1 -0
  51. package/dist/backup/index.cjs +15 -0
  52. package/dist/backup/index.d.cts +22 -0
  53. package/dist/backup/index.d.cts.map +1 -0
  54. package/dist/backup/index.d.ts +22 -0
  55. package/dist/backup/index.d.ts.map +1 -0
  56. package/dist/backup/index.js +7 -0
  57. package/dist/backup/raw.cjs +146 -0
  58. package/dist/backup/raw.cjs.map +1 -0
  59. package/dist/backup/raw.d.cts +122 -0
  60. package/dist/backup/raw.d.cts.map +1 -0
  61. package/dist/backup/raw.d.ts +122 -0
  62. package/dist/backup/raw.d.ts.map +1 -0
  63. package/dist/backup/raw.js +146 -0
  64. package/dist/backup/raw.js.map +1 -0
  65. package/dist/bucket.cjs +786 -787
  66. package/dist/bucket.cjs.map +1 -1
  67. package/dist/bucket.d.cts +35 -47
  68. package/dist/bucket.d.cts.map +1 -1
  69. package/dist/bucket.d.ts +35 -47
  70. package/dist/bucket.d.ts.map +1 -1
  71. package/dist/bucket.js +781 -782
  72. package/dist/bucket.js.map +1 -1
  73. package/dist/client.cjs +246 -228
  74. package/dist/client.cjs.map +1 -1
  75. package/dist/client.d.cts +25 -17
  76. package/dist/client.d.cts.map +1 -1
  77. package/dist/client.d.ts +25 -17
  78. package/dist/client.d.ts.map +1 -1
  79. package/dist/client.js +243 -225
  80. package/dist/client.js.map +1 -1
  81. package/dist/copy/large.cjs +116 -71
  82. package/dist/copy/large.cjs.map +1 -1
  83. package/dist/copy/large.d.cts +6 -0
  84. package/dist/copy/large.d.cts.map +1 -1
  85. package/dist/copy/large.d.ts +6 -0
  86. package/dist/copy/large.d.ts.map +1 -1
  87. package/dist/copy/large.js +114 -69
  88. package/dist/copy/large.js.map +1 -1
  89. package/dist/download/checksum.cjs +93 -0
  90. package/dist/download/checksum.cjs.map +1 -0
  91. package/dist/download/checksum.d.cts +40 -0
  92. package/dist/download/checksum.d.cts.map +1 -0
  93. package/dist/download/checksum.d.ts +40 -0
  94. package/dist/download/checksum.d.ts.map +1 -0
  95. package/dist/download/checksum.js +91 -0
  96. package/dist/download/checksum.js.map +1 -0
  97. package/dist/download/parallel.cjs +251 -118
  98. package/dist/download/parallel.cjs.map +1 -1
  99. package/dist/download/parallel.d.cts +13 -2
  100. package/dist/download/parallel.d.cts.map +1 -1
  101. package/dist/download/parallel.d.ts +13 -2
  102. package/dist/download/parallel.d.ts.map +1 -1
  103. package/dist/download/parallel.js +249 -116
  104. package/dist/download/parallel.js.map +1 -1
  105. package/dist/download/single.cjs +323 -97
  106. package/dist/download/single.cjs.map +1 -1
  107. package/dist/download/single.d.cts +6 -1
  108. package/dist/download/single.d.cts.map +1 -1
  109. package/dist/download/single.d.ts +6 -1
  110. package/dist/download/single.d.ts.map +1 -1
  111. package/dist/download/single.js +322 -99
  112. package/dist/download/single.js.map +1 -1
  113. package/dist/errors/index.cjs +869 -243
  114. package/dist/errors/index.cjs.map +1 -1
  115. package/dist/errors/index.d.cts +404 -82
  116. package/dist/errors/index.d.cts.map +1 -1
  117. package/dist/errors/index.d.ts +404 -82
  118. package/dist/errors/index.d.ts.map +1 -1
  119. package/dist/errors/index.js +835 -261
  120. package/dist/errors/index.js.map +1 -1
  121. package/dist/http/retry.cjs +45 -28
  122. package/dist/http/retry.cjs.map +1 -1
  123. package/dist/http/retry.d.cts +15 -2
  124. package/dist/http/retry.d.cts.map +1 -1
  125. package/dist/http/retry.d.ts +15 -2
  126. package/dist/http/retry.d.ts.map +1 -1
  127. package/dist/http/retry.js +46 -31
  128. package/dist/http/retry.js.map +1 -1
  129. package/dist/http/transport.cjs +476 -140
  130. package/dist/http/transport.cjs.map +1 -1
  131. package/dist/http/transport.d.cts +46 -5
  132. package/dist/http/transport.d.cts.map +1 -1
  133. package/dist/http/transport.d.ts +46 -5
  134. package/dist/http/transport.d.ts.map +1 -1
  135. package/dist/http/transport.js +474 -140
  136. package/dist/http/transport.js.map +1 -1
  137. package/dist/http/url-guard.cjs +154 -89
  138. package/dist/http/url-guard.cjs.map +1 -1
  139. package/dist/http/url-guard.d.cts +25 -3
  140. package/dist/http/url-guard.d.cts.map +1 -1
  141. package/dist/http/url-guard.d.ts +25 -3
  142. package/dist/http/url-guard.d.ts.map +1 -1
  143. package/dist/http/url-guard.js +152 -90
  144. package/dist/http/url-guard.js.map +1 -1
  145. package/dist/http/user-agent.cjs +84 -44
  146. package/dist/http/user-agent.cjs.map +1 -1
  147. package/dist/http/user-agent.js +84 -46
  148. package/dist/http/user-agent.js.map +1 -1
  149. package/dist/index.cjs +124 -77
  150. package/dist/index.d.cts +29 -21
  151. package/dist/index.d.cts.map +1 -1
  152. package/dist/index.d.ts +29 -21
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +18 -72
  155. package/dist/internal/b2-naming.cjs +66 -0
  156. package/dist/internal/b2-naming.cjs.map +1 -0
  157. package/dist/internal/b2-naming.d.cts +43 -0
  158. package/dist/internal/b2-naming.d.cts.map +1 -0
  159. package/dist/internal/b2-naming.d.ts +43 -0
  160. package/dist/internal/b2-naming.d.ts.map +1 -0
  161. package/dist/internal/b2-naming.js +60 -0
  162. package/dist/internal/b2-naming.js.map +1 -0
  163. package/dist/internal/upload-retry-options.cjs +21 -0
  164. package/dist/internal/upload-retry-options.cjs.map +1 -0
  165. package/dist/internal/upload-retry-options.d.cts +12 -0
  166. package/dist/internal/upload-retry-options.d.cts.map +1 -0
  167. package/dist/internal/upload-retry-options.d.ts +12 -0
  168. package/dist/internal/upload-retry-options.d.ts.map +1 -0
  169. package/dist/internal/upload-retry-options.js +21 -0
  170. package/dist/internal/upload-retry-options.js.map +1 -0
  171. package/dist/internal/url-redaction.cjs +31 -0
  172. package/dist/internal/url-redaction.cjs.map +1 -0
  173. package/dist/internal/url-redaction.d.cts +17 -0
  174. package/dist/internal/url-redaction.d.cts.map +1 -0
  175. package/dist/internal/url-redaction.d.ts +17 -0
  176. package/dist/internal/url-redaction.d.ts.map +1 -0
  177. package/dist/internal/url-redaction.js +31 -0
  178. package/dist/internal/url-redaction.js.map +1 -0
  179. package/dist/notifications/index.cjs +4 -6
  180. package/dist/notifications/index.d.cts +1 -1
  181. package/dist/notifications/index.d.cts.map +1 -1
  182. package/dist/notifications/index.d.ts +1 -1
  183. package/dist/notifications/index.d.ts.map +1 -1
  184. package/dist/notifications/index.js +1 -6
  185. package/dist/notifications/webhook.cjs +195 -85
  186. package/dist/notifications/webhook.cjs.map +1 -1
  187. package/dist/notifications/webhook.d.cts.map +1 -1
  188. package/dist/notifications/webhook.d.ts.map +1 -1
  189. package/dist/notifications/webhook.js +195 -87
  190. package/dist/notifications/webhook.js.map +1 -1
  191. package/dist/object.cjs +253 -210
  192. package/dist/object.cjs.map +1 -1
  193. package/dist/object.d.cts +13 -57
  194. package/dist/object.d.cts.map +1 -1
  195. package/dist/object.d.ts +13 -57
  196. package/dist/object.d.ts.map +1 -1
  197. package/dist/object.js +249 -206
  198. package/dist/object.js.map +1 -1
  199. package/dist/partner/account-info.d.cts +43 -0
  200. package/dist/partner/account-info.d.cts.map +1 -0
  201. package/dist/partner/account-info.d.ts +43 -0
  202. package/dist/partner/account-info.d.ts.map +1 -0
  203. package/dist/partner/auth-clone.cjs +64 -0
  204. package/dist/partner/auth-clone.cjs.map +1 -0
  205. package/dist/partner/auth-clone.d.cts +27 -0
  206. package/dist/partner/auth-clone.d.cts.map +1 -0
  207. package/dist/partner/auth-clone.d.ts +27 -0
  208. package/dist/partner/auth-clone.d.ts.map +1 -0
  209. package/dist/partner/auth-clone.js +63 -0
  210. package/dist/partner/auth-clone.js.map +1 -0
  211. package/dist/partner/auth-core.cjs +175 -0
  212. package/dist/partner/auth-core.cjs.map +1 -0
  213. package/dist/partner/auth-core.d.cts +111 -0
  214. package/dist/partner/auth-core.d.cts.map +1 -0
  215. package/dist/partner/auth-core.d.ts +111 -0
  216. package/dist/partner/auth-core.d.ts.map +1 -0
  217. package/dist/partner/auth-core.js +175 -0
  218. package/dist/partner/auth-core.js.map +1 -0
  219. package/dist/partner/auth-shape.cjs +36 -0
  220. package/dist/partner/auth-shape.cjs.map +1 -0
  221. package/dist/partner/auth-shape.d.cts +12 -0
  222. package/dist/partner/auth-shape.d.cts.map +1 -0
  223. package/dist/partner/auth-shape.d.ts +12 -0
  224. package/dist/partner/auth-shape.d.ts.map +1 -0
  225. package/dist/partner/auth-shape.js +36 -0
  226. package/dist/partner/auth-shape.js.map +1 -0
  227. package/dist/partner/client.cjs +255 -0
  228. package/dist/partner/client.cjs.map +1 -0
  229. package/dist/partner/client.d.cts +335 -0
  230. package/dist/partner/client.d.cts.map +1 -0
  231. package/dist/partner/client.d.ts +335 -0
  232. package/dist/partner/client.d.ts.map +1 -0
  233. package/dist/partner/client.js +255 -0
  234. package/dist/partner/client.js.map +1 -0
  235. package/dist/partner/endpoint-url.cjs +108 -0
  236. package/dist/partner/endpoint-url.cjs.map +1 -0
  237. package/dist/partner/endpoint-url.d.cts +72 -0
  238. package/dist/partner/endpoint-url.d.cts.map +1 -0
  239. package/dist/partner/endpoint-url.d.ts +72 -0
  240. package/dist/partner/endpoint-url.d.ts.map +1 -0
  241. package/dist/partner/endpoint-url.js +105 -0
  242. package/dist/partner/endpoint-url.js.map +1 -0
  243. package/dist/partner/in-memory.cjs +135 -0
  244. package/dist/partner/in-memory.cjs.map +1 -0
  245. package/dist/partner/in-memory.d.cts +99 -0
  246. package/dist/partner/in-memory.d.cts.map +1 -0
  247. package/dist/partner/in-memory.d.ts +99 -0
  248. package/dist/partner/in-memory.d.ts.map +1 -0
  249. package/dist/partner/in-memory.js +135 -0
  250. package/dist/partner/in-memory.js.map +1 -0
  251. package/dist/partner/index.cjs +18 -0
  252. package/dist/partner/index.d.cts +23 -0
  253. package/dist/partner/index.d.cts.map +1 -0
  254. package/dist/partner/index.d.ts +23 -0
  255. package/dist/partner/index.d.ts.map +1 -0
  256. package/dist/partner/index.js +7 -0
  257. package/dist/partner/raw.cjs +392 -0
  258. package/dist/partner/raw.cjs.map +1 -0
  259. package/dist/partner/raw.d.cts +223 -0
  260. package/dist/partner/raw.d.cts.map +1 -0
  261. package/dist/partner/raw.d.ts +223 -0
  262. package/dist/partner/raw.d.ts.map +1 -0
  263. package/dist/partner/raw.js +390 -0
  264. package/dist/partner/raw.js.map +1 -0
  265. package/dist/partner/redaction-placeholders.cjs +10 -0
  266. package/dist/partner/redaction-placeholders.cjs.map +1 -0
  267. package/dist/partner/redaction-placeholders.d.cts +5 -0
  268. package/dist/partner/redaction-placeholders.d.cts.map +1 -0
  269. package/dist/partner/redaction-placeholders.d.ts +5 -0
  270. package/dist/partner/redaction-placeholders.d.ts.map +1 -0
  271. package/dist/partner/redaction-placeholders.js +9 -0
  272. package/dist/partner/redaction-placeholders.js.map +1 -0
  273. package/dist/partner/redaction.cjs +267 -0
  274. package/dist/partner/redaction.cjs.map +1 -0
  275. package/dist/partner/redaction.d.cts +124 -0
  276. package/dist/partner/redaction.d.cts.map +1 -0
  277. package/dist/partner/redaction.d.ts +124 -0
  278. package/dist/partner/redaction.d.ts.map +1 -0
  279. package/dist/partner/redaction.js +257 -0
  280. package/dist/partner/redaction.js.map +1 -0
  281. package/dist/raw/encoding.cjs +74 -35
  282. package/dist/raw/encoding.cjs.map +1 -1
  283. package/dist/raw/encoding.js +74 -38
  284. package/dist/raw/encoding.js.map +1 -1
  285. package/dist/raw/index.cjs +740 -587
  286. package/dist/raw/index.cjs.map +1 -1
  287. package/dist/raw/index.d.cts +126 -19
  288. package/dist/raw/index.d.cts.map +1 -1
  289. package/dist/raw/index.d.ts +126 -19
  290. package/dist/raw/index.d.ts.map +1 -1
  291. package/dist/raw/index.js +736 -589
  292. package/dist/raw/index.js.map +1 -1
  293. package/dist/raw/url.cjs +111 -0
  294. package/dist/raw/url.cjs.map +1 -0
  295. package/dist/raw/url.d.cts +41 -0
  296. package/dist/raw/url.d.cts.map +1 -0
  297. package/dist/raw/url.d.ts +41 -0
  298. package/dist/raw/url.d.ts.map +1 -0
  299. package/dist/raw/url.js +110 -0
  300. package/dist/raw/url.js.map +1 -0
  301. package/dist/s3/index.cjs +355 -18
  302. package/dist/s3/index.cjs.map +1 -1
  303. package/dist/s3/index.d.cts +233 -5
  304. package/dist/s3/index.d.cts.map +1 -1
  305. package/dist/s3/index.d.ts +233 -5
  306. package/dist/s3/index.d.ts.map +1 -1
  307. package/dist/s3/index.js +351 -22
  308. package/dist/s3/index.js.map +1 -1
  309. package/dist/s3/sigv4.cjs +154 -0
  310. package/dist/s3/sigv4.cjs.map +1 -0
  311. package/dist/s3/sigv4.d.cts +43 -0
  312. package/dist/s3/sigv4.d.cts.map +1 -0
  313. package/dist/s3/sigv4.d.ts +43 -0
  314. package/dist/s3/sigv4.d.ts.map +1 -0
  315. package/dist/s3/sigv4.js +153 -0
  316. package/dist/s3/sigv4.js.map +1 -0
  317. package/dist/s3/validation.cjs +69 -0
  318. package/dist/s3/validation.cjs.map +1 -0
  319. package/dist/s3/validation.d.cts +43 -0
  320. package/dist/s3/validation.d.cts.map +1 -0
  321. package/dist/s3/validation.d.ts +43 -0
  322. package/dist/s3/validation.d.ts.map +1 -0
  323. package/dist/s3/validation.js +66 -0
  324. package/dist/s3/validation.js.map +1 -0
  325. package/dist/simulator/capabilities.cjs +63 -48
  326. package/dist/simulator/capabilities.cjs.map +1 -1
  327. package/dist/simulator/capabilities.js +63 -49
  328. package/dist/simulator/capabilities.js.map +1 -1
  329. package/dist/simulator/index.cjs +3114 -1547
  330. package/dist/simulator/index.cjs.map +1 -1
  331. package/dist/simulator/index.d.cts +186 -20
  332. package/dist/simulator/index.d.cts.map +1 -1
  333. package/dist/simulator/index.d.ts +186 -20
  334. package/dist/simulator/index.d.ts.map +1 -1
  335. package/dist/simulator/index.js +3098 -1545
  336. package/dist/simulator/index.js.map +1 -1
  337. package/dist/simulator/partner.cjs +719 -0
  338. package/dist/simulator/partner.cjs.map +1 -0
  339. package/dist/simulator/partner.d.cts +183 -0
  340. package/dist/simulator/partner.d.cts.map +1 -0
  341. package/dist/simulator/partner.d.ts +183 -0
  342. package/dist/simulator/partner.d.ts.map +1 -0
  343. package/dist/simulator/partner.js +718 -0
  344. package/dist/simulator/partner.js.map +1 -0
  345. package/dist/simulator/validation.cjs +772 -157
  346. package/dist/simulator/validation.cjs.map +1 -1
  347. package/dist/simulator/validation.d.cts +120 -21
  348. package/dist/simulator/validation.d.cts.map +1 -1
  349. package/dist/simulator/validation.d.ts +120 -21
  350. package/dist/simulator/validation.d.ts.map +1 -1
  351. package/dist/simulator/validation.js +755 -167
  352. package/dist/simulator/validation.js.map +1 -1
  353. package/dist/streams/collect.cjs +74 -24
  354. package/dist/streams/collect.cjs.map +1 -1
  355. package/dist/streams/collect.d.cts +14 -1
  356. package/dist/streams/collect.d.cts.map +1 -1
  357. package/dist/streams/collect.d.ts +14 -1
  358. package/dist/streams/collect.d.ts.map +1 -1
  359. package/dist/streams/collect.js +74 -25
  360. package/dist/streams/collect.js.map +1 -1
  361. package/dist/streams/file-source.cjs +287 -0
  362. package/dist/streams/file-source.cjs.map +1 -0
  363. package/dist/streams/file-source.d.cts +96 -0
  364. package/dist/streams/file-source.d.cts.map +1 -0
  365. package/dist/streams/file-source.d.ts +96 -0
  366. package/dist/streams/file-source.d.ts.map +1 -0
  367. package/dist/streams/file-source.js +286 -0
  368. package/dist/streams/file-source.js.map +1 -0
  369. package/dist/streams/hash.cjs +207 -115
  370. package/dist/streams/hash.cjs.map +1 -1
  371. package/dist/streams/hash.d.cts +5 -4
  372. package/dist/streams/hash.d.cts.map +1 -1
  373. package/dist/streams/hash.d.ts +5 -4
  374. package/dist/streams/hash.d.ts.map +1 -1
  375. package/dist/streams/hash.js +208 -95
  376. package/dist/streams/hash.js.map +1 -1
  377. package/dist/streams/index.cjs +12 -12
  378. package/dist/streams/index.d.cts +3 -3
  379. package/dist/streams/index.d.cts.map +1 -1
  380. package/dist/streams/index.d.ts +3 -3
  381. package/dist/streams/index.d.ts.map +1 -1
  382. package/dist/streams/index.js +3 -11
  383. package/dist/streams/progress.cjs +60 -46
  384. package/dist/streams/progress.cjs.map +1 -1
  385. package/dist/streams/progress.js +60 -46
  386. package/dist/streams/progress.js.map +1 -1
  387. package/dist/streams/source.cjs +317 -146
  388. package/dist/streams/source.cjs.map +1 -1
  389. package/dist/streams/source.d.cts +56 -18
  390. package/dist/streams/source.d.cts.map +1 -1
  391. package/dist/streams/source.d.ts +56 -18
  392. package/dist/streams/source.d.ts.map +1 -1
  393. package/dist/streams/source.js +313 -149
  394. package/dist/streams/source.js.map +1 -1
  395. package/dist/sync/actions/index.cjs +236 -184
  396. package/dist/sync/actions/index.cjs.map +1 -1
  397. package/dist/sync/actions/index.d.cts +29 -21
  398. package/dist/sync/actions/index.d.cts.map +1 -1
  399. package/dist/sync/actions/index.d.ts +29 -21
  400. package/dist/sync/actions/index.d.ts.map +1 -1
  401. package/dist/sync/actions/index.js +236 -190
  402. package/dist/sync/actions/index.js.map +1 -1
  403. package/dist/sync/b2-sha1-reader.cjs +152 -0
  404. package/dist/sync/b2-sha1-reader.cjs.map +1 -0
  405. package/dist/sync/b2-sha1-reader.d.cts +58 -0
  406. package/dist/sync/b2-sha1-reader.d.cts.map +1 -0
  407. package/dist/sync/b2-sha1-reader.d.ts +58 -0
  408. package/dist/sync/b2-sha1-reader.d.ts.map +1 -0
  409. package/dist/sync/b2-sha1-reader.js +149 -0
  410. package/dist/sync/b2-sha1-reader.js.map +1 -0
  411. package/dist/sync/download-staging.cjs +266 -0
  412. package/dist/sync/download-staging.cjs.map +1 -0
  413. package/dist/sync/download-staging.d.cts +55 -0
  414. package/dist/sync/download-staging.d.cts.map +1 -0
  415. package/dist/sync/download-staging.d.ts +55 -0
  416. package/dist/sync/download-staging.d.ts.map +1 -0
  417. package/dist/sync/download-staging.js +260 -0
  418. package/dist/sync/download-staging.js.map +1 -0
  419. package/dist/sync/filesystem-errors.cjs +32 -0
  420. package/dist/sync/filesystem-errors.cjs.map +1 -0
  421. package/dist/sync/filesystem-errors.d.cts +8 -0
  422. package/dist/sync/filesystem-errors.d.cts.map +1 -0
  423. package/dist/sync/filesystem-errors.d.ts +8 -0
  424. package/dist/sync/filesystem-errors.d.ts.map +1 -0
  425. package/dist/sync/filesystem-errors.js +32 -0
  426. package/dist/sync/filesystem-errors.js.map +1 -0
  427. package/dist/sync/filters.cjs +217 -0
  428. package/dist/sync/filters.cjs.map +1 -0
  429. package/dist/sync/filters.d.cts +51 -0
  430. package/dist/sync/filters.d.cts.map +1 -0
  431. package/dist/sync/filters.d.ts +51 -0
  432. package/dist/sync/filters.d.ts.map +1 -0
  433. package/dist/sync/filters.js +213 -0
  434. package/dist/sync/filters.js.map +1 -0
  435. package/dist/sync/index.cjs +39 -22
  436. package/dist/sync/index.d.cts +14 -9
  437. package/dist/sync/index.d.cts.map +1 -1
  438. package/dist/sync/index.d.ts +14 -9
  439. package/dist/sync/index.d.ts.map +1 -1
  440. package/dist/sync/index.js +9 -20
  441. package/dist/sync/local-file-identity.cjs +61 -0
  442. package/dist/sync/local-file-identity.cjs.map +1 -0
  443. package/dist/sync/local-file-identity.d.cts +37 -0
  444. package/dist/sync/local-file-identity.d.cts.map +1 -0
  445. package/dist/sync/local-file-identity.d.ts +37 -0
  446. package/dist/sync/local-file-identity.d.ts.map +1 -0
  447. package/dist/sync/local-file-identity.js +60 -0
  448. package/dist/sync/local-file-identity.js.map +1 -0
  449. package/dist/sync/local-file-io.cjs +369 -0
  450. package/dist/sync/local-file-io.cjs.map +1 -0
  451. package/dist/sync/local-file-io.d.cts +76 -0
  452. package/dist/sync/local-file-io.d.cts.map +1 -0
  453. package/dist/sync/local-file-io.d.ts +76 -0
  454. package/dist/sync/local-file-io.d.ts.map +1 -0
  455. package/dist/sync/local-file-io.js +365 -0
  456. package/dist/sync/local-file-io.js.map +1 -0
  457. package/dist/sync/local-filesystem-root.cjs +27 -0
  458. package/dist/sync/local-filesystem-root.cjs.map +1 -0
  459. package/dist/sync/local-filesystem-root.d.cts +18 -0
  460. package/dist/sync/local-filesystem-root.d.cts.map +1 -0
  461. package/dist/sync/local-filesystem-root.d.ts +18 -0
  462. package/dist/sync/local-filesystem-root.d.ts.map +1 -0
  463. package/dist/sync/local-filesystem-root.js +26 -0
  464. package/dist/sync/local-filesystem-root.js.map +1 -0
  465. package/dist/sync/local-sha1.cjs +110 -0
  466. package/dist/sync/local-sha1.cjs.map +1 -0
  467. package/dist/sync/local-sha1.d.cts +31 -0
  468. package/dist/sync/local-sha1.d.cts.map +1 -0
  469. package/dist/sync/local-sha1.d.ts +31 -0
  470. package/dist/sync/local-sha1.d.ts.map +1 -0
  471. package/dist/sync/local-sha1.js +109 -0
  472. package/dist/sync/local-sha1.js.map +1 -0
  473. package/dist/sync/pairing.cjs +118 -29
  474. package/dist/sync/pairing.cjs.map +1 -1
  475. package/dist/sync/pairing.d.cts +7 -2
  476. package/dist/sync/pairing.d.cts.map +1 -1
  477. package/dist/sync/pairing.d.ts +7 -2
  478. package/dist/sync/pairing.d.ts.map +1 -1
  479. package/dist/sync/pairing.js +120 -31
  480. package/dist/sync/pairing.js.map +1 -1
  481. package/dist/sync/path-order.cjs +30 -0
  482. package/dist/sync/path-order.cjs.map +1 -0
  483. package/dist/sync/path-order.d.cts +28 -0
  484. package/dist/sync/path-order.d.cts.map +1 -0
  485. package/dist/sync/path-order.d.ts +28 -0
  486. package/dist/sync/path-order.d.ts.map +1 -0
  487. package/dist/sync/path-order.js +29 -0
  488. package/dist/sync/path-order.js.map +1 -0
  489. package/dist/sync/path-safety.cjs +111 -0
  490. package/dist/sync/path-safety.cjs.map +1 -0
  491. package/dist/sync/path-safety.d.cts +78 -0
  492. package/dist/sync/path-safety.d.cts.map +1 -0
  493. package/dist/sync/path-safety.d.ts +78 -0
  494. package/dist/sync/path-safety.d.ts.map +1 -0
  495. package/dist/sync/path-safety.js +105 -0
  496. package/dist/sync/path-safety.js.map +1 -0
  497. package/dist/sync/paths.d.cts +19 -0
  498. package/dist/sync/paths.d.cts.map +1 -0
  499. package/dist/sync/paths.d.ts +19 -0
  500. package/dist/sync/paths.d.ts.map +1 -0
  501. package/dist/sync/policies/compare.cjs +391 -11
  502. package/dist/sync/policies/compare.cjs.map +1 -1
  503. package/dist/sync/policies/compare.d.cts +100 -2
  504. package/dist/sync/policies/compare.d.cts.map +1 -1
  505. package/dist/sync/policies/compare.d.ts +100 -2
  506. package/dist/sync/policies/compare.d.ts.map +1 -1
  507. package/dist/sync/policies/compare.js +389 -13
  508. package/dist/sync/policies/compare.js.map +1 -1
  509. package/dist/sync/policies/index.cjs +70 -65
  510. package/dist/sync/policies/index.cjs.map +1 -1
  511. package/dist/sync/policies/index.d.cts +35 -6
  512. package/dist/sync/policies/index.d.cts.map +1 -1
  513. package/dist/sync/policies/index.d.ts +35 -6
  514. package/dist/sync/policies/index.d.ts.map +1 -1
  515. package/dist/sync/policies/index.js +70 -65
  516. package/dist/sync/policies/index.js.map +1 -1
  517. package/dist/sync/prefix.cjs +96 -0
  518. package/dist/sync/prefix.cjs.map +1 -0
  519. package/dist/sync/prefix.d.cts +55 -0
  520. package/dist/sync/prefix.d.cts.map +1 -0
  521. package/dist/sync/prefix.d.ts +55 -0
  522. package/dist/sync/prefix.d.ts.map +1 -0
  523. package/dist/sync/prefix.js +92 -0
  524. package/dist/sync/prefix.js.map +1 -0
  525. package/dist/sync/regexp-safety.cjs +192 -0
  526. package/dist/sync/regexp-safety.cjs.map +1 -0
  527. package/dist/sync/regexp-safety.d.cts +29 -0
  528. package/dist/sync/regexp-safety.d.cts.map +1 -0
  529. package/dist/sync/regexp-safety.d.ts +29 -0
  530. package/dist/sync/regexp-safety.d.ts.map +1 -0
  531. package/dist/sync/regexp-safety.js +190 -0
  532. package/dist/sync/regexp-safety.js.map +1 -0
  533. package/dist/sync/scan-events.cjs +33 -0
  534. package/dist/sync/scan-events.cjs.map +1 -0
  535. package/dist/sync/scan-events.d.cts +17 -0
  536. package/dist/sync/scan-events.d.cts.map +1 -0
  537. package/dist/sync/scan-events.d.ts +17 -0
  538. package/dist/sync/scan-events.d.ts.map +1 -0
  539. package/dist/sync/scan-events.js +32 -0
  540. package/dist/sync/scan-events.js.map +1 -0
  541. package/dist/sync/scan-limit.cjs +33 -0
  542. package/dist/sync/scan-limit.cjs.map +1 -0
  543. package/dist/sync/scan-limit.d.cts +21 -0
  544. package/dist/sync/scan-limit.d.cts.map +1 -0
  545. package/dist/sync/scan-limit.d.ts +21 -0
  546. package/dist/sync/scan-limit.d.ts.map +1 -0
  547. package/dist/sync/scan-limit.js +31 -0
  548. package/dist/sync/scan-limit.js.map +1 -0
  549. package/dist/sync/scanners/b2.cjs +239 -55
  550. package/dist/sync/scanners/b2.cjs.map +1 -1
  551. package/dist/sync/scanners/b2.d.cts +26 -7
  552. package/dist/sync/scanners/b2.d.cts.map +1 -1
  553. package/dist/sync/scanners/b2.d.ts +26 -7
  554. package/dist/sync/scanners/b2.d.ts.map +1 -1
  555. package/dist/sync/scanners/b2.js +239 -55
  556. package/dist/sync/scanners/b2.js.map +1 -1
  557. package/dist/sync/scanners/local.cjs +215 -56
  558. package/dist/sync/scanners/local.cjs.map +1 -1
  559. package/dist/sync/scanners/local.d.cts +22 -7
  560. package/dist/sync/scanners/local.d.cts.map +1 -1
  561. package/dist/sync/scanners/local.d.ts +22 -7
  562. package/dist/sync/scanners/local.d.ts.map +1 -1
  563. package/dist/sync/scanners/local.js +216 -57
  564. package/dist/sync/scanners/local.js.map +1 -1
  565. package/dist/sync/sha1-metadata.cjs +94 -0
  566. package/dist/sync/sha1-metadata.cjs.map +1 -0
  567. package/dist/sync/sha1-metadata.d.cts +82 -0
  568. package/dist/sync/sha1-metadata.d.cts.map +1 -0
  569. package/dist/sync/sha1-metadata.d.ts +82 -0
  570. package/dist/sync/sha1-metadata.d.ts.map +1 -0
  571. package/dist/sync/sha1-metadata.js +89 -0
  572. package/dist/sync/sha1-metadata.js.map +1 -0
  573. package/dist/sync/sha1-options.cjs +23 -0
  574. package/dist/sync/sha1-options.cjs.map +1 -0
  575. package/dist/sync/sha1-options.d.cts +14 -0
  576. package/dist/sync/sha1-options.d.cts.map +1 -0
  577. package/dist/sync/sha1-options.d.ts +14 -0
  578. package/dist/sync/sha1-options.d.ts.map +1 -0
  579. package/dist/sync/sha1-options.js +21 -0
  580. package/dist/sync/sha1-options.js.map +1 -0
  581. package/dist/sync/synchronizer.cjs +783 -197
  582. package/dist/sync/synchronizer.cjs.map +1 -1
  583. package/dist/sync/synchronizer.d.cts +47 -1
  584. package/dist/sync/synchronizer.d.cts.map +1 -1
  585. package/dist/sync/synchronizer.d.ts +47 -1
  586. package/dist/sync/synchronizer.d.ts.map +1 -1
  587. package/dist/sync/synchronizer.js +780 -173
  588. package/dist/sync/synchronizer.js.map +1 -1
  589. package/dist/sync/types.d.cts +208 -16
  590. package/dist/sync/types.d.cts.map +1 -1
  591. package/dist/sync/types.d.ts +208 -16
  592. package/dist/sync/types.d.ts.map +1 -1
  593. package/dist/types/auth.cjs +80 -56
  594. package/dist/types/auth.cjs.map +1 -1
  595. package/dist/types/auth.d.cts +71 -9
  596. package/dist/types/auth.d.cts.map +1 -1
  597. package/dist/types/auth.d.ts +71 -9
  598. package/dist/types/auth.d.ts.map +1 -1
  599. package/dist/types/auth.js +81 -57
  600. package/dist/types/auth.js.map +1 -1
  601. package/dist/types/backup.d.cts +80 -0
  602. package/dist/types/backup.d.cts.map +1 -0
  603. package/dist/types/backup.d.ts +80 -0
  604. package/dist/types/backup.d.ts.map +1 -0
  605. package/dist/types/bucket.cjs +74 -38
  606. package/dist/types/bucket.cjs.map +1 -1
  607. package/dist/types/bucket.d.cts +4 -2
  608. package/dist/types/bucket.d.cts.map +1 -1
  609. package/dist/types/bucket.d.ts +4 -2
  610. package/dist/types/bucket.d.ts.map +1 -1
  611. package/dist/types/bucket.js +75 -41
  612. package/dist/types/bucket.js.map +1 -1
  613. package/dist/types/download.cjs +62 -0
  614. package/dist/types/download.cjs.map +1 -0
  615. package/dist/types/download.d.cts +98 -0
  616. package/dist/types/download.d.cts.map +1 -1
  617. package/dist/types/download.d.ts +98 -0
  618. package/dist/types/download.d.ts.map +1 -1
  619. package/dist/types/download.js +61 -0
  620. package/dist/types/download.js.map +1 -0
  621. package/dist/types/encryption.cjs +194 -328
  622. package/dist/types/encryption.cjs.map +1 -1
  623. package/dist/types/encryption.d.cts +48 -0
  624. package/dist/types/encryption.d.cts.map +1 -1
  625. package/dist/types/encryption.d.ts +48 -0
  626. package/dist/types/encryption.d.ts.map +1 -1
  627. package/dist/types/encryption.js +192 -311
  628. package/dist/types/encryption.js.map +1 -1
  629. package/dist/types/errors.cjs +56 -0
  630. package/dist/types/errors.cjs.map +1 -0
  631. package/dist/types/errors.d.cts +13 -4
  632. package/dist/types/errors.d.cts.map +1 -1
  633. package/dist/types/errors.d.ts +13 -4
  634. package/dist/types/errors.d.ts.map +1 -1
  635. package/dist/types/errors.js +56 -0
  636. package/dist/types/errors.js.map +1 -0
  637. package/dist/types/file.cjs +36 -19
  638. package/dist/types/file.cjs.map +1 -1
  639. package/dist/types/file.d.cts +17 -4
  640. package/dist/types/file.d.cts.map +1 -1
  641. package/dist/types/file.d.ts +17 -4
  642. package/dist/types/file.d.ts.map +1 -1
  643. package/dist/types/file.js +37 -21
  644. package/dist/types/file.js.map +1 -1
  645. package/dist/types/ids.cjs +83 -9
  646. package/dist/types/ids.cjs.map +1 -1
  647. package/dist/types/ids.d.cts +32 -0
  648. package/dist/types/ids.d.cts.map +1 -1
  649. package/dist/types/ids.d.ts +32 -0
  650. package/dist/types/ids.d.ts.map +1 -1
  651. package/dist/types/ids.js +82 -16
  652. package/dist/types/ids.js.map +1 -1
  653. package/dist/types/index.d.cts +18 -13
  654. package/dist/types/index.d.cts.map +1 -1
  655. package/dist/types/index.d.ts +18 -13
  656. package/dist/types/index.d.ts.map +1 -1
  657. package/dist/types/key.d.cts +44 -8
  658. package/dist/types/key.d.cts.map +1 -1
  659. package/dist/types/key.d.ts +44 -8
  660. package/dist/types/key.d.ts.map +1 -1
  661. package/dist/types/lock.cjs +33 -13
  662. package/dist/types/lock.cjs.map +1 -1
  663. package/dist/types/lock.d.cts +14 -0
  664. package/dist/types/lock.d.cts.map +1 -1
  665. package/dist/types/lock.d.ts +14 -0
  666. package/dist/types/lock.d.ts.map +1 -1
  667. package/dist/types/lock.js +34 -15
  668. package/dist/types/lock.js.map +1 -1
  669. package/dist/types/notifications.cjs +44 -22
  670. package/dist/types/notifications.cjs.map +1 -1
  671. package/dist/types/notifications.d.cts +5 -3
  672. package/dist/types/notifications.d.cts.map +1 -1
  673. package/dist/types/notifications.d.ts +5 -3
  674. package/dist/types/notifications.d.ts.map +1 -1
  675. package/dist/types/notifications.js +45 -23
  676. package/dist/types/notifications.js.map +1 -1
  677. package/dist/types/partner.cjs +32 -0
  678. package/dist/types/partner.cjs.map +1 -0
  679. package/dist/types/partner.d.cts +394 -0
  680. package/dist/types/partner.d.cts.map +1 -0
  681. package/dist/types/partner.d.ts +394 -0
  682. package/dist/types/partner.d.ts.map +1 -0
  683. package/dist/types/partner.js +29 -0
  684. package/dist/types/partner.js.map +1 -0
  685. package/dist/types/upload.d.cts +53 -6
  686. package/dist/types/upload.d.cts.map +1 -1
  687. package/dist/types/upload.d.ts +53 -6
  688. package/dist/types/upload.d.ts.map +1 -1
  689. package/dist/upload/abort-scope.cjs +46 -0
  690. package/dist/upload/abort-scope.cjs.map +1 -0
  691. package/dist/upload/abort-scope.d.cts +26 -0
  692. package/dist/upload/abort-scope.d.cts.map +1 -0
  693. package/dist/upload/abort-scope.d.ts +26 -0
  694. package/dist/upload/abort-scope.d.ts.map +1 -0
  695. package/dist/upload/abort-scope.js +45 -0
  696. package/dist/upload/abort-scope.js.map +1 -0
  697. package/dist/upload/cancel.cjs +183 -8
  698. package/dist/upload/cancel.cjs.map +1 -1
  699. package/dist/upload/cancel.d.cts +110 -2
  700. package/dist/upload/cancel.d.cts.map +1 -1
  701. package/dist/upload/cancel.d.ts +110 -2
  702. package/dist/upload/cancel.d.ts.map +1 -1
  703. package/dist/upload/cancel.js +178 -9
  704. package/dist/upload/cancel.js.map +1 -1
  705. package/dist/upload/concurrency.cjs +79 -52
  706. package/dist/upload/concurrency.cjs.map +1 -1
  707. package/dist/upload/concurrency.js +79 -53
  708. package/dist/upload/concurrency.js.map +1 -1
  709. package/dist/upload/finish.cjs +54 -0
  710. package/dist/upload/finish.cjs.map +1 -0
  711. package/dist/upload/finish.d.cts +26 -0
  712. package/dist/upload/finish.d.cts.map +1 -0
  713. package/dist/upload/finish.d.ts +26 -0
  714. package/dist/upload/finish.d.ts.map +1 -0
  715. package/dist/upload/finish.js +54 -0
  716. package/dist/upload/finish.js.map +1 -0
  717. package/dist/upload/large.cjs +305 -218
  718. package/dist/upload/large.cjs.map +1 -1
  719. package/dist/upload/large.d.cts +90 -9
  720. package/dist/upload/large.d.cts.map +1 -1
  721. package/dist/upload/large.d.ts +90 -9
  722. package/dist/upload/large.d.ts.map +1 -1
  723. package/dist/upload/large.js +305 -218
  724. package/dist/upload/large.js.map +1 -1
  725. package/dist/upload/options.cjs +28 -0
  726. package/dist/upload/options.cjs.map +1 -0
  727. package/dist/upload/options.d.cts +116 -0
  728. package/dist/upload/options.d.cts.map +1 -0
  729. package/dist/upload/options.d.ts +116 -0
  730. package/dist/upload/options.d.ts.map +1 -0
  731. package/dist/upload/options.js +27 -0
  732. package/dist/upload/options.js.map +1 -0
  733. package/dist/upload/resume.cjs +334 -33
  734. package/dist/upload/resume.cjs.map +1 -1
  735. package/dist/upload/resume.d.cts +84 -12
  736. package/dist/upload/resume.d.cts.map +1 -1
  737. package/dist/upload/resume.d.ts +84 -12
  738. package/dist/upload/resume.d.ts.map +1 -1
  739. package/dist/upload/resume.js +331 -33
  740. package/dist/upload/resume.js.map +1 -1
  741. package/dist/upload/retry.cjs +191 -0
  742. package/dist/upload/retry.cjs.map +1 -0
  743. package/dist/upload/retry.d.cts +127 -0
  744. package/dist/upload/retry.d.cts.map +1 -0
  745. package/dist/upload/retry.d.ts +127 -0
  746. package/dist/upload/retry.d.ts.map +1 -0
  747. package/dist/upload/retry.js +187 -0
  748. package/dist/upload/retry.js.map +1 -0
  749. package/dist/upload/single.cjs +69 -44
  750. package/dist/upload/single.cjs.map +1 -1
  751. package/dist/upload/single.d.cts +8 -1
  752. package/dist/upload/single.d.cts.map +1 -1
  753. package/dist/upload/single.d.ts +8 -1
  754. package/dist/upload/single.d.ts.map +1 -1
  755. package/dist/upload/single.js +69 -44
  756. package/dist/upload/single.js.map +1 -1
  757. package/dist/upload/stream.cjs +319 -193
  758. package/dist/upload/stream.cjs.map +1 -1
  759. package/dist/upload/stream.d.cts +9 -1
  760. package/dist/upload/stream.d.cts.map +1 -1
  761. package/dist/upload/stream.d.ts +9 -1
  762. package/dist/upload/stream.d.ts.map +1 -1
  763. package/dist/upload/stream.js +318 -192
  764. package/dist/upload/stream.js.map +1 -1
  765. package/dist/util/abort.cjs +114 -0
  766. package/dist/util/abort.cjs.map +1 -0
  767. package/dist/util/abort.d.cts +65 -0
  768. package/dist/util/abort.d.cts.map +1 -0
  769. package/dist/util/abort.d.ts +65 -0
  770. package/dist/util/abort.d.ts.map +1 -0
  771. package/dist/util/abort.js +109 -0
  772. package/dist/util/abort.js.map +1 -0
  773. package/dist/util/best-effort.cjs +42 -8
  774. package/dist/util/best-effort.cjs.map +1 -1
  775. package/dist/util/best-effort.d.cts +2 -1
  776. package/dist/util/best-effort.d.cts.map +1 -1
  777. package/dist/util/best-effort.d.ts +2 -1
  778. package/dist/util/best-effort.d.ts.map +1 -1
  779. package/dist/util/best-effort.js +43 -9
  780. package/dist/util/best-effort.js.map +1 -1
  781. package/dist/util/bytes.cjs +23 -0
  782. package/dist/util/bytes.cjs.map +1 -0
  783. package/dist/util/bytes.d.cts +15 -0
  784. package/dist/util/bytes.d.cts.map +1 -0
  785. package/dist/util/bytes.d.ts +15 -0
  786. package/dist/util/bytes.d.ts.map +1 -0
  787. package/dist/util/bytes.js +23 -0
  788. package/dist/util/bytes.js.map +1 -0
  789. package/dist/util/crypto.cjs +68 -0
  790. package/dist/util/crypto.cjs.map +1 -0
  791. package/dist/util/crypto.d.cts +26 -0
  792. package/dist/util/crypto.d.cts.map +1 -0
  793. package/dist/util/crypto.d.ts +26 -0
  794. package/dist/util/crypto.d.ts.map +1 -0
  795. package/dist/util/crypto.js +66 -0
  796. package/dist/util/crypto.js.map +1 -0
  797. package/dist/util/defaults.cjs +28 -9
  798. package/dist/util/defaults.cjs.map +1 -1
  799. package/dist/util/defaults.d.cts +2 -0
  800. package/dist/util/defaults.d.cts.map +1 -1
  801. package/dist/util/defaults.d.ts +2 -0
  802. package/dist/util/defaults.d.ts.map +1 -1
  803. package/dist/util/defaults.js +28 -11
  804. package/dist/util/defaults.js.map +1 -1
  805. package/dist/util/error-reason.cjs +41 -0
  806. package/dist/util/error-reason.cjs.map +1 -0
  807. package/dist/util/error-reason.d.cts +9 -0
  808. package/dist/util/error-reason.d.cts.map +1 -0
  809. package/dist/util/error-reason.d.ts +9 -0
  810. package/dist/util/error-reason.d.ts.map +1 -0
  811. package/dist/util/error-reason.js +41 -0
  812. package/dist/util/error-reason.js.map +1 -0
  813. package/dist/util/http.cjs +23 -0
  814. package/dist/util/http.cjs.map +1 -0
  815. package/dist/util/http.d.cts +13 -0
  816. package/dist/util/http.d.cts.map +1 -0
  817. package/dist/util/http.d.ts +13 -0
  818. package/dist/util/http.d.ts.map +1 -0
  819. package/dist/util/http.js +23 -0
  820. package/dist/util/http.js.map +1 -0
  821. package/dist/util/md5.cjs +211 -0
  822. package/dist/util/md5.cjs.map +1 -0
  823. package/dist/util/md5.d.cts +43 -0
  824. package/dist/util/md5.d.cts.map +1 -0
  825. package/dist/util/md5.d.ts +43 -0
  826. package/dist/util/md5.d.ts.map +1 -0
  827. package/dist/util/md5.js +209 -0
  828. package/dist/util/md5.js.map +1 -0
  829. package/dist/util/normalize.cjs +66 -7
  830. package/dist/util/normalize.cjs.map +1 -1
  831. package/dist/util/normalize.d.cts +7 -7
  832. package/dist/util/normalize.d.cts.map +1 -1
  833. package/dist/util/normalize.d.ts +7 -7
  834. package/dist/util/normalize.d.ts.map +1 -1
  835. package/dist/util/normalize.js +67 -10
  836. package/dist/util/normalize.js.map +1 -1
  837. package/dist/util/paginator.cjs +69 -14
  838. package/dist/util/paginator.cjs.map +1 -1
  839. package/dist/util/paginator.d.cts +3 -1
  840. package/dist/util/paginator.d.cts.map +1 -1
  841. package/dist/util/paginator.d.ts +3 -1
  842. package/dist/util/paginator.d.ts.map +1 -1
  843. package/dist/util/paginator.js +70 -16
  844. package/dist/util/paginator.js.map +1 -1
  845. package/dist/util/plan-ranges.cjs +47 -22
  846. package/dist/util/plan-ranges.cjs.map +1 -1
  847. package/dist/util/plan-ranges.js +48 -24
  848. package/dist/util/plan-ranges.js.map +1 -1
  849. package/dist/util/sha1.cjs +27 -0
  850. package/dist/util/sha1.cjs.map +1 -0
  851. package/dist/util/sha1.d.cts +17 -0
  852. package/dist/util/sha1.d.cts.map +1 -0
  853. package/dist/util/sha1.d.ts +17 -0
  854. package/dist/util/sha1.d.ts.map +1 -0
  855. package/dist/util/sha1.js +26 -0
  856. package/dist/util/sha1.js.map +1 -0
  857. package/dist/util/text-codec.cjs +29 -5
  858. package/dist/util/text-codec.cjs.map +1 -1
  859. package/dist/util/text-codec.js +30 -7
  860. package/dist/util/text-codec.js.map +1 -1
  861. package/dist/util/to-error.cjs +18 -4
  862. package/dist/util/to-error.cjs.map +1 -1
  863. package/dist/util/to-error.js +19 -5
  864. package/dist/util/to-error.js.map +1 -1
  865. package/dist/version.cjs +17 -5
  866. package/dist/version.cjs.map +1 -1
  867. package/dist/version.d.cts +3 -3
  868. package/dist/version.d.ts +3 -3
  869. package/dist/version.js +19 -6
  870. package/dist/version.js.map +1 -1
  871. package/package.json +45 -20
  872. package/dist/auth/index.cjs.map +0 -1
  873. package/dist/auth/index.js.map +0 -1
  874. package/dist/index.cjs.map +0 -1
  875. package/dist/index.js.map +0 -1
  876. package/dist/notifications/index.cjs.map +0 -1
  877. package/dist/notifications/index.js.map +0 -1
  878. package/dist/package.json.cjs +0 -9
  879. package/dist/package.json.cjs.map +0 -1
  880. package/dist/package.json.js +0 -9
  881. package/dist/package.json.js.map +0 -1
  882. package/dist/streams/index.cjs.map +0 -1
  883. package/dist/streams/index.js.map +0 -1
  884. package/dist/sync/index.cjs.map +0 -1
  885. package/dist/sync/index.js.map +0 -1
@@ -1,268 +1,842 @@
1
- class B2Error extends Error {
2
- /** HTTP status code returned by the B2 API. */
3
- status;
4
- /** B2 error code identifying the error type (e.g. `expired_auth_token`). */
5
- code;
6
- /** B2 request ID from the `X-Bz-Request-Id` response header, if present. */
7
- requestId;
8
- /** Retry delay in seconds from the `Retry-After` response header, if present. */
9
- retryAfter;
10
- /** Whether this error is transient and the request can be retried. */
11
- retryable;
12
- /**
13
- * Creates a new B2Error instance.
14
- * @param response - Parsed B2 error response body.
15
- * @param options - Optional retry and request metadata from response headers.
16
- */
17
- constructor(response, options) {
18
- super(response.message);
19
- this.name = "B2Error";
20
- this.status = response.status;
21
- this.code = response.code;
22
- if (options?.retryAfter !== void 0) this.retryAfter = options.retryAfter;
23
- if (options?.requestId !== void 0) this.requestId = options.requestId;
24
- this.retryable = isTransient(response.status, response.code);
25
- }
26
- }
27
- class ExpiredAuthTokenError extends B2Error {
28
- /**
29
- * Creates a new ExpiredAuthTokenError instance.
30
- * @param response - Parsed B2 error response body.
31
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
32
- */
33
- constructor(response, options) {
34
- super(response, options);
35
- this.name = "ExpiredAuthTokenError";
36
- }
37
- }
38
- class BadAuthTokenError extends B2Error {
39
- /**
40
- * Creates a new BadAuthTokenError instance.
41
- * @param response - Parsed B2 error response body.
42
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
43
- */
44
- constructor(response, options) {
45
- super(response, options);
46
- this.name = "BadAuthTokenError";
47
- }
48
- }
49
- class ServiceUnavailableError extends B2Error {
50
- /**
51
- * Creates a new ServiceUnavailableError instance.
52
- * @param response - Parsed B2 error response body.
53
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
54
- */
55
- constructor(response, options) {
56
- super(response, options);
57
- this.name = "ServiceUnavailableError";
58
- }
59
- }
60
- class RequestTimeoutError extends B2Error {
61
- /**
62
- * Creates a new RequestTimeoutError instance.
63
- * @param response - Parsed B2 error response body.
64
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
65
- */
66
- constructor(response, options) {
67
- super(response, options);
68
- this.name = "RequestTimeoutError";
69
- }
70
- }
71
- class TooManyRequestsError extends B2Error {
72
- /**
73
- * Creates a new TooManyRequestsError instance.
74
- * @param response - Parsed B2 error response body.
75
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
76
- */
77
- constructor(response, options) {
78
- super(response, options);
79
- this.name = "TooManyRequestsError";
80
- }
81
- }
82
- class CapExceededError extends B2Error {
83
- /**
84
- * Creates a new CapExceededError instance.
85
- * @param response - Parsed B2 error response body.
86
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
87
- */
88
- constructor(response, options) {
89
- super(response, options);
90
- this.name = "CapExceededError";
91
- }
92
- }
93
- class AccessDeniedError extends B2Error {
94
- /**
95
- * Creates a new AccessDeniedError instance.
96
- * @param response - Parsed B2 error response body.
97
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
98
- */
99
- constructor(response, options) {
100
- super(response, options);
101
- this.name = "AccessDeniedError";
102
- }
103
- }
104
- class FileNotPresentError extends B2Error {
105
- /**
106
- * Creates a new FileNotPresentError instance.
107
- * @param response - Parsed B2 error response body.
108
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
109
- */
110
- constructor(response, options) {
111
- super(response, options);
112
- this.name = "FileNotPresentError";
113
- }
114
- }
115
- class DuplicateBucketNameError extends B2Error {
116
- /**
117
- * Creates a new DuplicateBucketNameError instance.
118
- * @param response - Parsed B2 error response body.
119
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
120
- */
121
- constructor(response, options) {
122
- super(response, options);
123
- this.name = "DuplicateBucketNameError";
124
- }
125
- }
126
- class BadRequestError extends B2Error {
127
- /**
128
- * Creates a new BadRequestError instance.
129
- * @param response - Parsed B2 error response body.
130
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
131
- */
132
- constructor(response, options) {
133
- super(response, options);
134
- this.name = "BadRequestError";
135
- }
136
- }
137
- class BadUploadUrlError extends B2Error {
138
- /**
139
- * Creates a new BadUploadUrlError instance.
140
- * @param response - Parsed B2 error response body.
141
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
142
- */
143
- constructor(response, options) {
144
- super(response, options);
145
- this.name = "BadUploadUrlError";
146
- }
147
- }
148
- class ChecksumMismatchError extends B2Error {
149
- /**
150
- * Creates a new ChecksumMismatchError instance.
151
- * @param response - Parsed B2 error response body.
152
- * @param options - The error details including HTTP status, error code, message, and optional request ID.
153
- */
154
- constructor(response, options) {
155
- super(response, options);
156
- this.name = "ChecksumMismatchError";
157
- }
1
+ import { redactUrlForError } from "../internal/url-redaction.js";
2
+ import { KNOWN_B2_ERROR_CODES } from "../types/errors.js";
3
+ //#region src/errors/index.ts
4
+ /**
5
+ * Typed error hierarchy for B2 API failures.
6
+ *
7
+ * Every B2 error response maps to a specific {@link B2Error} subclass.
8
+ * Retry behavior is exposed through {@link B2Error.retryable}.
9
+ * Examples include {@link ExpiredAuthTokenError} and {@link CapExceededError}.
10
+ * Use {@link classifyError} to convert a raw error response into the
11
+ * appropriate subclass.
12
+ *
13
+ * Convention: most `B2Error` subclasses represent failures returned by the B2
14
+ * API. The client-side exceptions are {@link B2RealmConfigurationError} and
15
+ * {@link B2PartnerAuthorizationError}; they extend `B2Error` so realm- and
16
+ * Partner-authorization failures can be handled with the SDK error hierarchy
17
+ * before or without a server round-trip.
18
+ *
19
+ * Other programming errors and SDK preconditions, such as "not yet authorized",
20
+ * "stream consumed twice", or "called before init", use the native `Error`
21
+ * constructor instead. The direct `Error` outliers are
22
+ * {@link B2InsufficientCapabilityError}, {@link B2RedirectError},
23
+ * {@link B2SsrfError}, {@link NetworkError},
24
+ * {@link ResumeFileIdMismatchError}, {@link UploadResponseBodyError}, and
25
+ * {@link FinishLargeFileResponseBodyError}.
26
+ *
27
+ * @packageDocumentation
28
+ */
29
+ /** Thrown when an explicit resumeFileId is not compatible with the requested upload. */
30
+ var ResumeFileIdMismatchError = class extends Error {
31
+ /** Caller-supplied unfinished large file ID that failed verification. */
32
+ fileId;
33
+ /** Requested destination file name. */
34
+ fileName;
35
+ /**
36
+ * Creates a new resume-file ID mismatch error.
37
+ * @param fileId - Caller-supplied unfinished large file ID that failed verification.
38
+ * @param fileName - Requested destination file name.
39
+ */
40
+ constructor(fileId, fileName) {
41
+ super(`uploadLargeFile: resumeFileId ${fileId} does not identify a compatible unfinished large file for ${fileName}.`);
42
+ this.name = "ResumeFileIdMismatchError";
43
+ this.fileId = fileId;
44
+ this.fileName = fileName;
45
+ }
46
+ };
47
+ /**
48
+ * Base error class for all B2 API errors.
49
+ * Contains the HTTP status, B2 error code, and retry metadata from the response.
50
+ */
51
+ var B2Error = class extends Error {
52
+ /** HTTP status code returned by the B2 API. */
53
+ status;
54
+ /** B2 error code identifying the error type (e.g. `expired_auth_token`). */
55
+ code;
56
+ /** B2 request ID from the `X-Bz-Request-Id` response header, if present. */
57
+ requestId;
58
+ /** Retry delay in seconds from the `Retry-After` response header, if present. */
59
+ retryAfter;
60
+ /** Whether this error is transient and the request can be retried. */
61
+ retryable;
62
+ /**
63
+ * Creates a new B2Error instance.
64
+ * @param response - Parsed B2 error response body.
65
+ * @param options - Optional retry and request metadata from response headers.
66
+ */
67
+ constructor(response, options) {
68
+ super(response.message);
69
+ this.name = "B2Error";
70
+ this.status = response.status;
71
+ this.code = response.code;
72
+ if (options?.retryAfter !== void 0) this.retryAfter = options.retryAfter;
73
+ if (options?.requestId !== void 0) this.requestId = options.requestId;
74
+ this.retryable = isTransient(response.status, response.code);
75
+ }
76
+ };
77
+ /** Thrown when the auth token has expired. Triggers automatic re-authorization. */
78
+ var ExpiredAuthTokenError = class extends B2Error {
79
+ /**
80
+ * Creates a new ExpiredAuthTokenError instance.
81
+ * @param response - Parsed B2 error response body.
82
+ * @param options - Optional metadata from response headers.
83
+ */
84
+ constructor(response, options) {
85
+ super(response, options);
86
+ this.name = "ExpiredAuthTokenError";
87
+ }
88
+ };
89
+ /** Thrown when the auth token is invalid or unauthorized. */
90
+ var BadAuthTokenError = class extends B2Error {
91
+ /**
92
+ * Creates a new BadAuthTokenError instance.
93
+ * @param response - Parsed B2 error response body.
94
+ * @param options - Optional metadata from response headers.
95
+ */
96
+ constructor(response, options) {
97
+ super(response, options);
98
+ this.name = "BadAuthTokenError";
99
+ }
100
+ };
101
+ /** Thrown when the B2 service is temporarily unavailable (HTTP 503). */
102
+ var ServiceUnavailableError = class extends B2Error {
103
+ /**
104
+ * Creates a new ServiceUnavailableError instance.
105
+ * @param response - Parsed B2 error response body.
106
+ * @param options - Optional metadata from response headers.
107
+ */
108
+ constructor(response, options) {
109
+ super(response, options);
110
+ this.name = "ServiceUnavailableError";
111
+ }
112
+ };
113
+ /** Thrown when B2 reports an internal server error. */
114
+ var InternalError = class extends B2Error {
115
+ /**
116
+ * Creates a new InternalError instance.
117
+ * @param response - Parsed B2 error response body.
118
+ * @param options - Optional metadata from response headers.
119
+ */
120
+ constructor(response, options) {
121
+ super(response, options);
122
+ this.name = "InternalError";
123
+ }
124
+ };
125
+ /** Thrown when a request times out on the server side (HTTP 408). */
126
+ var RequestTimeoutError = class extends B2Error {
127
+ /**
128
+ * Creates a new RequestTimeoutError instance.
129
+ * @param response - Parsed B2 error response body.
130
+ * @param options - Optional metadata from response headers.
131
+ */
132
+ constructor(response, options) {
133
+ super(response, options);
134
+ this.name = "RequestTimeoutError";
135
+ }
136
+ };
137
+ /** Thrown when the client has sent too many requests (HTTP 429). */
138
+ var TooManyRequestsError = class extends B2Error {
139
+ /**
140
+ * Creates a new TooManyRequestsError instance.
141
+ * @param response - Parsed B2 error response body.
142
+ * @param options - Optional metadata from response headers.
143
+ */
144
+ constructor(response, options) {
145
+ super(response, options);
146
+ this.name = "TooManyRequestsError";
147
+ }
148
+ };
149
+ /** Thrown when the account has reached the maximum number of buckets. */
150
+ var TooManyBucketsError = class extends B2Error {
151
+ /**
152
+ * Creates a new TooManyBucketsError instance.
153
+ * @param response - Parsed B2 error response body.
154
+ * @param options - Optional metadata from response headers.
155
+ */
156
+ constructor(response, options) {
157
+ super(response, options);
158
+ this.name = "TooManyBucketsError";
159
+ }
160
+ };
161
+ /** Thrown when the bucket or request has reached the maximum number of files. */
162
+ var TooManyFilesError = class extends B2Error {
163
+ /**
164
+ * Creates a new TooManyFilesError instance.
165
+ * @param response - Parsed B2 error response body.
166
+ * @param options - Optional metadata from response headers.
167
+ */
168
+ constructor(response, options) {
169
+ super(response, options);
170
+ this.name = "TooManyFilesError";
171
+ }
172
+ };
173
+ /** Thrown when a storage, transaction, or download cap has been exceeded. */
174
+ var CapExceededError = class extends B2Error {
175
+ /**
176
+ * Creates a new CapExceededError instance.
177
+ * @param response - Parsed B2 error response body.
178
+ * @param options - Optional metadata from response headers.
179
+ */
180
+ constructor(response, options) {
181
+ super(response, options);
182
+ this.name = "CapExceededError";
183
+ }
184
+ };
185
+ /** Thrown when the application key does not have permission for the requested operation. */
186
+ var AccessDeniedError = class extends B2Error {
187
+ /**
188
+ * Creates a new AccessDeniedError instance.
189
+ * @param response - Parsed B2 error response body.
190
+ * @param options - Optional metadata from response headers.
191
+ */
192
+ constructor(response, options) {
193
+ super(response, options);
194
+ this.name = "AccessDeniedError";
195
+ }
196
+ };
197
+ /** Thrown when the requested file does not exist. */
198
+ var FileNotPresentError = class extends B2Error {
199
+ /**
200
+ * Creates a new FileNotPresentError instance.
201
+ * @param response - Parsed B2 error response body.
202
+ * @param options - Optional metadata from response headers.
203
+ */
204
+ constructor(response, options) {
205
+ super(response, options);
206
+ this.name = "FileNotPresentError";
207
+ }
208
+ };
209
+ /** Thrown when a requested B2 resource does not exist. */
210
+ var NotFoundError = class extends B2Error {
211
+ /**
212
+ * Creates a new NotFoundError instance.
213
+ * @param response - Parsed B2 error response body.
214
+ * @param options - Optional metadata from response headers.
215
+ */
216
+ constructor(response, options) {
217
+ super(response, options);
218
+ this.name = "NotFoundError";
219
+ }
220
+ };
221
+ /** Thrown when creating a bucket with a name that already exists in the account. */
222
+ var DuplicateBucketNameError = class extends B2Error {
223
+ /**
224
+ * Creates a new DuplicateBucketNameError instance.
225
+ * @param response - Parsed B2 error response body.
226
+ * @param options - Optional metadata from response headers.
227
+ */
228
+ constructor(response, options) {
229
+ super(response, options);
230
+ this.name = "DuplicateBucketNameError";
231
+ }
232
+ };
233
+ /** Thrown when a bucket name is malformed, reserved, or otherwise rejected by B2. */
234
+ var InvalidBucketNameError = class extends B2Error {
235
+ /**
236
+ * Creates a new InvalidBucketNameError instance.
237
+ * @param response - Parsed B2 error response body.
238
+ * @param options - Optional metadata from response headers.
239
+ */
240
+ constructor(response, options) {
241
+ super(response, options);
242
+ this.name = "InvalidBucketNameError";
243
+ }
244
+ };
245
+ /** Thrown when bucket metadata fails B2 validation. */
246
+ var InvalidBucketInfoError = class extends B2Error {
247
+ /**
248
+ * Creates a new InvalidBucketInfoError instance.
249
+ * @param response - Parsed B2 error response body.
250
+ * @param options - Optional metadata from response headers.
251
+ */
252
+ constructor(response, options) {
253
+ super(response, options);
254
+ this.name = "InvalidBucketInfoError";
255
+ }
256
+ };
257
+ /** Thrown when a bucket ID is malformed or does not identify a valid bucket. */
258
+ var BadBucketIdError = class extends B2Error {
259
+ /**
260
+ * Creates a new BadBucketIdError instance.
261
+ * @param response - Parsed B2 error response body.
262
+ * @param options - Optional metadata from response headers.
263
+ */
264
+ constructor(response, options) {
265
+ super(response, options);
266
+ this.name = "BadBucketIdError";
267
+ }
268
+ };
269
+ /** Thrown when the B2 endpoint does not allow the request method. */
270
+ var MethodNotAllowedError = class extends B2Error {
271
+ /**
272
+ * Creates a new MethodNotAllowedError instance.
273
+ * @param response - Parsed B2 error response body.
274
+ * @param options - Optional metadata from response headers.
275
+ */
276
+ constructor(response, options) {
277
+ super(response, options);
278
+ this.name = "MethodNotAllowedError";
279
+ }
280
+ };
281
+ /** Thrown when the request conflicts with current B2 resource state. */
282
+ var ConflictError = class extends B2Error {
283
+ /**
284
+ * Creates a new ConflictError instance.
285
+ * @param response - Parsed B2 error response body.
286
+ * @param options - Optional metadata from response headers.
287
+ */
288
+ constructor(response, options) {
289
+ super(response, options);
290
+ this.name = "ConflictError";
291
+ }
292
+ };
293
+ /** Thrown for general bad request errors (HTTP 400) not covered by a more specific subclass. */
294
+ var BadRequestError = class extends B2Error {
295
+ /**
296
+ * Creates a new BadRequestError instance.
297
+ * @param response - Parsed B2 error response body.
298
+ * @param options - Optional metadata from response headers.
299
+ */
300
+ constructor(response, options) {
301
+ super(response, options);
302
+ this.name = "BadRequestError";
303
+ }
304
+ };
305
+ /** Thrown when B2 cannot parse the JSON request body. */
306
+ var BadJsonError = class extends B2Error {
307
+ /**
308
+ * Creates a new BadJsonError instance.
309
+ * @param response - Parsed B2 error response body.
310
+ * @param options - Optional metadata from response headers.
311
+ */
312
+ constructor(response, options) {
313
+ super(response, options);
314
+ this.name = "BadJsonError";
315
+ }
316
+ };
317
+ /** Thrown when a bucket ID has a valid shape but does not identify a usable bucket. */
318
+ var InvalidBucketIdError = class extends B2Error {
319
+ /**
320
+ * Creates a new InvalidBucketIdError instance.
321
+ * @param response - Parsed B2 error response body.
322
+ * @param options - Optional metadata from response headers.
323
+ */
324
+ constructor(response, options) {
325
+ super(response, options);
326
+ this.name = "InvalidBucketIdError";
327
+ }
328
+ };
329
+ /** Thrown when a numeric request parameter is outside the allowed range. */
330
+ var OutOfRangeError = class extends B2Error {
331
+ /**
332
+ * Creates a new OutOfRangeError instance.
333
+ * @param response - Parsed B2 error response body.
334
+ * @param options - Optional metadata from response headers.
335
+ */
336
+ constructor(response, options) {
337
+ super(response, options);
338
+ this.name = "OutOfRangeError";
339
+ }
340
+ };
341
+ /** Thrown when a requested byte range cannot be satisfied. */
342
+ var RangeNotSatisfiableError = class extends B2Error {
343
+ /**
344
+ * Creates a new RangeNotSatisfiableError instance.
345
+ * @param response - Parsed B2 error response body.
346
+ * @param options - Optional metadata from response headers.
347
+ */
348
+ constructor(response, options) {
349
+ super(response, options);
350
+ this.name = "RangeNotSatisfiableError";
351
+ }
352
+ };
353
+ /** Thrown when a file name is malformed or otherwise rejected by B2. */
354
+ var InvalidFileNameError = class extends B2Error {
355
+ /**
356
+ * Creates a new InvalidFileNameError instance.
357
+ * @param response - Parsed B2 error response body.
358
+ * @param options - Optional metadata from response headers.
359
+ */
360
+ constructor(response, options) {
361
+ super(response, options);
362
+ this.name = "InvalidFileNameError";
363
+ }
364
+ };
365
+ /** Thrown when file metadata fails B2 validation. */
366
+ var InvalidFileInfoError = class extends B2Error {
367
+ /**
368
+ * Creates a new InvalidFileInfoError instance.
369
+ * @param response - Parsed B2 error response body.
370
+ * @param options - Optional metadata from response headers.
371
+ */
372
+ constructor(response, options) {
373
+ super(response, options);
374
+ this.name = "InvalidFileInfoError";
375
+ }
376
+ };
377
+ /** Thrown when a file ID is malformed or does not identify a valid file. */
378
+ var InvalidFileIdError = class extends B2Error {
379
+ /**
380
+ * Creates a new InvalidFileIdError instance.
381
+ * @param response - Parsed B2 error response body.
382
+ * @param options - Optional metadata from response headers.
383
+ */
384
+ constructor(response, options) {
385
+ super(response, options);
386
+ this.name = "InvalidFileIdError";
387
+ }
388
+ };
389
+ /** Thrown when a multipart upload part number is invalid. */
390
+ var InvalidPartNumberError = class extends B2Error {
391
+ /**
392
+ * Creates a new InvalidPartNumberError instance.
393
+ * @param response - Parsed B2 error response body.
394
+ * @param options - Optional metadata from response headers.
395
+ */
396
+ constructor(response, options) {
397
+ super(response, options);
398
+ this.name = "InvalidPartNumberError";
399
+ }
400
+ };
401
+ /**
402
+ * Thrown when an upload URL is no longer valid and must be refreshed.
403
+ *
404
+ * Forward-compat insurance: B2 does not currently surface a distinct
405
+ * error code for this case, so {@link classifyError} never actually
406
+ * instantiates this class today. It's part of the public API so
407
+ * consumers can pre-write `instanceof` checks; when B2 documents a
408
+ * `bad_upload_url` (or similar) error code, the `classifyError`
409
+ * switch gets a matching case and existing consumer code starts
410
+ * catching the typed error without any changes on their side.
411
+ *
412
+ * Until then, expect `BadRequestError` for upload-URL invalidation
413
+ * scenarios — that's what B2 currently returns.
414
+ */
415
+ var BadUploadUrlError = class extends B2Error {
416
+ /**
417
+ * Creates a new BadUploadUrlError instance.
418
+ * @param response - Parsed B2 error response body.
419
+ * @param options - Optional metadata from response headers.
420
+ */
421
+ constructor(response, options) {
422
+ super(response, options);
423
+ this.name = "BadUploadUrlError";
424
+ }
425
+ };
426
+ /**
427
+ * Thrown when the uploaded file's SHA-1 checksum does not match the
428
+ * expected value.
429
+ *
430
+ * When B2 returns `bad_sha1_checksum`, {@link classifyError} instantiates
431
+ * this class so callers can handle checksum failures with `instanceof`.
432
+ * Generic `bad_request` checksum failures continue to classify as
433
+ * {@link BadRequestError}.
434
+ */
435
+ var ChecksumMismatchError = class extends B2Error {
436
+ /**
437
+ * Creates a new ChecksumMismatchError instance.
438
+ * @param response - Parsed B2 error response body.
439
+ * @param options - Optional metadata from response headers.
440
+ */
441
+ constructor(response, options) {
442
+ super(response, options);
443
+ this.name = "ChecksumMismatchError";
444
+ }
445
+ };
446
+ /** Thrown when a Partner group has reached its maximum member count. */
447
+ var TooManyMembersError = class extends B2Error {
448
+ /**
449
+ * Creates a new TooManyMembersError instance.
450
+ * @param response - Parsed B2 error response body.
451
+ * @param options - Optional metadata from response headers.
452
+ */
453
+ constructor(response, options) {
454
+ super(response, options);
455
+ this.name = "TooManyMembersError";
456
+ }
457
+ };
458
+ /**
459
+ * Compatibility alias for the issue #167 Partner member-limit error name.
460
+ * @deprecated Use {@link TooManyMembersError}.
461
+ */
462
+ var TooManyGroupMembersError = TooManyMembersError;
463
+ /** Thrown when a Partner group ID is malformed or does not identify a valid group. */
464
+ var InvalidGroupIdError = class extends B2Error {
465
+ /**
466
+ * Creates a new InvalidGroupIdError instance.
467
+ * @param response - Parsed B2 error response body.
468
+ * @param options - Optional metadata from response headers.
469
+ */
470
+ constructor(response, options) {
471
+ super(response, options);
472
+ this.name = "InvalidGroupIdError";
473
+ }
474
+ };
475
+ /** Thrown when a Partner member email address fails validation. */
476
+ var InvalidEmailError = class extends B2Error {
477
+ /**
478
+ * Creates a new InvalidEmailError instance.
479
+ * @param response - Parsed B2 error response body.
480
+ * @param options - Optional metadata from response headers.
481
+ */
482
+ constructor(response, options) {
483
+ super(response, options);
484
+ this.name = "InvalidEmailError";
485
+ }
486
+ };
487
+ /** Thrown when a Partner API region value is unsupported or malformed. */
488
+ var InvalidRegionError = class extends B2Error {
489
+ /**
490
+ * Creates a new InvalidRegionError instance.
491
+ * @param response - Parsed B2 error response body.
492
+ * @param options - Optional metadata from response headers.
493
+ */
494
+ constructor(response, options) {
495
+ super(response, options);
496
+ this.name = "InvalidRegionError";
497
+ }
498
+ };
499
+ /** Thrown when a Partner account SMS phone number fails validation. */
500
+ var InvalidSmsPhoneError = class extends B2Error {
501
+ /**
502
+ * Creates a new InvalidSmsPhoneError instance.
503
+ * @param response - Parsed B2 error response body.
504
+ * @param options - Optional metadata from response headers.
505
+ */
506
+ constructor(response, options) {
507
+ super(response, options);
508
+ this.name = "InvalidSmsPhoneError";
509
+ }
510
+ };
511
+ /**
512
+ * Compatibility alias for the issue #167 Partner SMS-phone error name.
513
+ * @deprecated Use {@link InvalidSmsPhoneError}.
514
+ */
515
+ var MissingSmsPhoneError = InvalidSmsPhoneError;
516
+ /**
517
+ * Thrown when B2 returns `method_failure`.
518
+ *
519
+ * The documented Partner group-member creation flow uses this code after
520
+ * server-side creation fails and Backblaze rolls back before callers retry.
521
+ * The code itself is classified globally, so this class stays endpoint-neutral.
522
+ */
523
+ var MethodFailureError = class extends B2Error {
524
+ /** Always `false` because callers should decide when a documented operation-level retry is safe. */
525
+ retryable = false;
526
+ /**
527
+ * Creates a new MethodFailureError instance.
528
+ * @param response - Parsed B2 error response body.
529
+ * @param options - Optional metadata from response headers.
530
+ */
531
+ constructor(response, options) {
532
+ super(response, options);
533
+ this.name = "MethodFailureError";
534
+ }
535
+ };
536
+ /**
537
+ * Compatibility alias for the issue #167 Partner group-member failure name.
538
+ * @deprecated Use {@link MethodFailureError}.
539
+ */
540
+ var GroupMemberCreationFailedError = MethodFailureError;
541
+ /** Thrown when a Partner group member account ID fails validation. */
542
+ var InvalidMemberAccountIdError = class extends B2Error {
543
+ /**
544
+ * Creates a new InvalidMemberAccountIdError instance.
545
+ * @param response - Parsed B2 error response body.
546
+ * @param options - Optional metadata from response headers.
547
+ */
548
+ constructor(response, options) {
549
+ super(response, options);
550
+ this.name = "InvalidMemberAccountIdError";
551
+ }
552
+ };
553
+ /** Thrown when an account ID fails Partner or Computer Backup API validation. */
554
+ var InvalidAccountIdError = class extends B2Error {
555
+ /**
556
+ * Creates a new InvalidAccountIdError instance.
557
+ * @param response - Parsed B2 error response body.
558
+ * @param options - Optional metadata from response headers.
559
+ */
560
+ constructor(response, options) {
561
+ super(response, options);
562
+ this.name = "InvalidAccountIdError";
563
+ }
564
+ };
565
+ /** Thrown when a Computer Backup computer ID fails validation. */
566
+ var InvalidComputerIdError = class extends B2Error {
567
+ /**
568
+ * Creates a new InvalidComputerIdError instance.
569
+ * @param response - Parsed B2 error response body.
570
+ * @param options - Optional metadata from response headers.
571
+ */
572
+ constructor(response, options) {
573
+ super(response, options);
574
+ this.name = "InvalidComputerIdError";
575
+ }
576
+ };
577
+ /**
578
+ * Thrown by client-side capability checks when the application key is missing
579
+ * capabilities required by an operation. Not raised by the server.
580
+ */
581
+ var B2InsufficientCapabilityError = class extends Error {
582
+ /** Capabilities that were required for the operation. */
583
+ required;
584
+ /** Capabilities that the current key actually has. */
585
+ available;
586
+ /** Capabilities present in `required` but not in `available`. */
587
+ missing;
588
+ /**
589
+ * Creates a new B2InsufficientCapabilityError instance.
590
+ *
591
+ * @param required - Capabilities the operation requires.
592
+ * @param available - Capabilities the current key holds.
593
+ * @param missing - The subset of required that isn't available.
594
+ */
595
+ constructor(required, available, missing) {
596
+ super(`Application key is missing capabilities: ${missing.join(", ")}`);
597
+ this.name = "B2InsufficientCapabilityError";
598
+ this.required = required;
599
+ this.available = available;
600
+ this.missing = missing;
601
+ }
602
+ };
603
+ /**
604
+ * Thrown when the SDK is asked to fetch a URL whose host is outside the
605
+ * authorized B2 realm. Defense against SSRF / URL-substitution attacks where
606
+ * a compromised or hostile B2 endpoint returns an upload URL pointing at an
607
+ * internal service (e.g. cloud metadata at `169.254.169.254`).
608
+ *
609
+ * Not retryable.
610
+ */
611
+ var B2SsrfError = class extends Error {
612
+ /** Always `false` — this is a security failure, not transient. */
613
+ retryable = false;
614
+ /**
615
+ * Creates a new {@link B2SsrfError}.
616
+ *
617
+ * @param message - Human-readable description of which URL was rejected and why.
618
+ * @param url - The URL that was rejected. Stored as a sanitized URL.
619
+ */
620
+ constructor(message, url) {
621
+ const safeUrl = redactUrlForError(url);
622
+ super(`${message.split(url).join(safeUrl)} (${safeUrl})`);
623
+ this.name = "B2SsrfError";
624
+ this.url = safeUrl;
625
+ }
626
+ /** Sanitized URL that was rejected. */
627
+ url;
628
+ };
629
+ /** Thrown when a configured auth realm cannot safely be used for authorization. */
630
+ var B2RealmConfigurationError = class extends B2Error {
631
+ /**
632
+ * Creates a new B2RealmConfigurationError instance.
633
+ *
634
+ * @param message - Human-readable description of the invalid realm setting.
635
+ */
636
+ constructor(message) {
637
+ super({
638
+ status: 400,
639
+ code: "bad_request",
640
+ message
641
+ });
642
+ this.name = "B2RealmConfigurationError";
643
+ }
644
+ };
645
+ /** Thrown when Partner authorization returns unusable Partner/Backup auth data. */
646
+ var B2PartnerAuthorizationError = class extends B2Error {
647
+ /**
648
+ * Creates a new B2PartnerAuthorizationError instance.
649
+ *
650
+ * @param message - Human-readable description of the invalid Partner authorization state.
651
+ */
652
+ constructor(message) {
653
+ super({
654
+ status: 400,
655
+ code: "bad_request",
656
+ message
657
+ });
658
+ this.name = "B2PartnerAuthorizationError";
659
+ }
660
+ };
661
+ /** Thrown when the SDK refuses to follow an HTTP redirect automatically. */
662
+ var B2RedirectError = class extends Error {
663
+ /** Always `false` because a blocked redirect is deterministic. */
664
+ retryable = false;
665
+ /** Sanitized request URL whose response attempted to redirect. */
666
+ url;
667
+ /** HTTP redirect status code, or 0 for an opaque browser redirect. */
668
+ status;
669
+ /** Sanitized redirect target, or `null` when no Location header was present. */
670
+ location;
671
+ /**
672
+ * Creates a new B2RedirectError instance.
673
+ *
674
+ * @param url - Request URL whose response attempted to redirect. Stored as a sanitized URL.
675
+ * @param status - HTTP redirect status code.
676
+ * @param location - Redirect Location header, if present. Stored as a sanitized URL.
677
+ */
678
+ constructor(url, status, location) {
679
+ const safeUrl = redactUrlForError(url);
680
+ const safeLocation = location !== null ? redactUrlForError(location, { baseUrl: url }) : null;
681
+ super(safeLocation !== null ? `HTTP ${status} redirect blocked for ${safeUrl} to ${safeLocation}` : `HTTP ${status} redirect blocked for ${safeUrl}`);
682
+ this.name = "B2RedirectError";
683
+ this.url = safeUrl;
684
+ this.status = status;
685
+ this.location = safeLocation;
686
+ }
687
+ };
688
+ /** Thrown when a network-level failure occurs (DNS, TCP, TLS). Always retryable. */
689
+ var NetworkError = class extends Error {
690
+ cause;
691
+ /** Always `true` since network errors are transient. */
692
+ retryable = true;
693
+ /**
694
+ * Creates a new NetworkError instance.
695
+ * @param message - Human-readable description of the network failure.
696
+ * @param cause - The underlying error that caused this failure, if any.
697
+ */
698
+ constructor(message, cause) {
699
+ super(message);
700
+ this.cause = cause;
701
+ this.name = "NetworkError";
702
+ }
703
+ };
704
+ /**
705
+ * Thrown when an upload POST returned a response but its body could not be
706
+ * read. The upload may already have been stored by B2, so retrying this error
707
+ * can create duplicate file versions or parts.
708
+ */
709
+ var UploadResponseBodyError = class extends Error {
710
+ /** Underlying response body error, when available. */
711
+ cause;
712
+ /**
713
+ * Creates a new UploadResponseBodyError instance.
714
+ * @param message - Human-readable description of the response read failure.
715
+ * @param options - Optional cause.
716
+ */
717
+ constructor(message, options = {}) {
718
+ super(message, { cause: options.cause });
719
+ this.name = "UploadResponseBodyError";
720
+ if (options.cause !== void 0) this.cause = options.cause;
721
+ }
722
+ };
723
+ /**
724
+ * Thrown when `b2_finish_large_file` returned a response but its body could not
725
+ * be read. The large file may already be committed server-side, so high-level
726
+ * upload paths do not cancel the large file after this error.
727
+ */
728
+ var FinishLargeFileResponseBodyError = class extends Error {
729
+ /** Ambiguous large file ID that may already be committed server-side. */
730
+ fileId;
731
+ /** Bucket requested by the high-level upload, when available. */
732
+ bucketId;
733
+ /** File name requested by the high-level upload, when available. */
734
+ fileName;
735
+ /**
736
+ * Creates a new FinishLargeFileResponseBodyError instance.
737
+ * @param message - Human-readable description of the response read failure.
738
+ * @param options - Optional cause and reconciliation metadata.
739
+ */
740
+ constructor(message, options = {}) {
741
+ super(message, { cause: options.cause });
742
+ this.name = "FinishLargeFileResponseBodyError";
743
+ if (options.cause !== void 0) this.cause = options.cause;
744
+ if (options.fileId !== void 0) this.fileId = options.fileId;
745
+ if (options.bucketId !== void 0) this.bucketId = options.bucketId;
746
+ if (options.fileName !== void 0) this.fileName = options.fileName;
747
+ }
748
+ };
749
+ function isTransient(status, code) {
750
+ if (status === 408 || status === 429) return true;
751
+ if (status === 500 || status === 502 || status === 503 || status === 504) return true;
752
+ if (code === "expired_auth_token") return true;
753
+ if (code === "service_unavailable" || code === "request_timeout") return true;
754
+ return false;
158
755
  }
159
- class B2InsufficientCapabilityError extends Error {
160
- /** Capabilities that were required for the operation. */
161
- required;
162
- /** Capabilities that the current key actually has. */
163
- available;
164
- /** Capabilities present in `required` but not in `available`. */
165
- missing;
166
- /**
167
- * Creates a new B2InsufficientCapabilityError instance.
168
- *
169
- * @param required - Capabilities the operation requires.
170
- * @param available - Capabilities the current key holds.
171
- * @param missing - The subset of required that isn't available.
172
- */
173
- constructor(required, available, missing) {
174
- super(`Application key is missing capabilities: ${missing.join(", ")}`);
175
- this.name = "B2InsufficientCapabilityError";
176
- this.required = required;
177
- this.available = available;
178
- this.missing = missing;
179
- }
756
+ var knownB2ErrorCodes = new Set(KNOWN_B2_ERROR_CODES);
757
+ function isKnownB2ErrorCode(code) {
758
+ return knownB2ErrorCodes.has(code);
180
759
  }
181
- class B2SsrfError extends Error {
182
- /**
183
- * Creates a new {@link B2SsrfError}.
184
- *
185
- * @param message - Human-readable description of which URL was rejected and why.
186
- * @param url - The full URL that was rejected.
187
- */
188
- constructor(message, url) {
189
- super(message);
190
- this.url = url;
191
- this.name = "B2SsrfError";
192
- }
193
- /** Always `false` — this is a security failure, not transient. */
194
- retryable = false;
760
+ function assertNever(value) {
761
+ throw new Error(`Unhandled B2 error code: ${String(value)}`);
195
762
  }
196
- class NetworkError extends Error {
197
- /**
198
- * Creates a new NetworkError instance.
199
- * @param message - Human-readable description of the network failure.
200
- * @param cause - The underlying error that caused this failure, if any.
201
- */
202
- constructor(message, cause) {
203
- super(message);
204
- this.cause = cause;
205
- this.name = "NetworkError";
206
- }
207
- /** Always `true` since network errors are transient. */
208
- retryable = true;
763
+ function classifyKnownError(response, code, options) {
764
+ switch (code) {
765
+ case "expired_auth_token": return new ExpiredAuthTokenError(response, options);
766
+ case "bad_auth_token":
767
+ case "unauthorized": return new BadAuthTokenError(response, options);
768
+ case "bad_request": return new BadRequestError(response, options);
769
+ case "bad_bucket_name":
770
+ case "invalid_bucket_name": return new InvalidBucketNameError(response, options);
771
+ case "bad_bucket_id": return new BadBucketIdError(response, options);
772
+ case "not_found": return new NotFoundError(response, options);
773
+ case "method_not_allowed": return new MethodNotAllowedError(response, options);
774
+ case "request_timeout": return new RequestTimeoutError(response, options);
775
+ case "too_many_requests": return new TooManyRequestsError(response, options);
776
+ case "conflict": return new ConflictError(response, options);
777
+ case "duplicate_bucket_name": return new DuplicateBucketNameError(response, options);
778
+ case "too_many_buckets": return new TooManyBucketsError(response, options);
779
+ case "too_many_files": return new TooManyFilesError(response, options);
780
+ case "too_many_members": return new TooManyMembersError(response, options);
781
+ case "cap_exceeded":
782
+ case "storage_cap_exceeded":
783
+ case "transaction_cap_exceeded":
784
+ case "download_cap_exceeded": return new CapExceededError(response, options);
785
+ case "access_denied": return new AccessDeniedError(response, options);
786
+ case "service_unavailable": return new ServiceUnavailableError(response, options);
787
+ case "internal_error": return new InternalError(response, options);
788
+ case "bad_json": return new BadJsonError(response, options);
789
+ case "invalid_account_id": return new InvalidAccountIdError(response, options);
790
+ case "invalid_bucket_id": return new InvalidBucketIdError(response, options);
791
+ case "invalid_bucket_info": return new InvalidBucketInfoError(response, options);
792
+ case "invalid_computer_id": return new InvalidComputerIdError(response, options);
793
+ case "invalid_email": return new InvalidEmailError(response, options);
794
+ case "invalid_group_id": return new InvalidGroupIdError(response, options);
795
+ case "invalid_member_account_id": return new InvalidMemberAccountIdError(response, options);
796
+ case "invalid_region": return new InvalidRegionError(response, options);
797
+ case "invalid_sms_phone": return new InvalidSmsPhoneError(response, options);
798
+ case "file_not_present":
799
+ case "no_such_file": return new FileNotPresentError(response, options);
800
+ case "out_of_range": return new OutOfRangeError(response, options);
801
+ case "range_not_satisfiable": return new RangeNotSatisfiableError(response, options);
802
+ case "invalid_file_id": return new InvalidFileIdError(response, options);
803
+ case "invalid_file_name": return new InvalidFileNameError(response, options);
804
+ case "invalid_file_info": return new InvalidFileInfoError(response, options);
805
+ case "invalid_part_number": return new InvalidPartNumberError(response, options);
806
+ case "method_failure": return new MethodFailureError(response, options);
807
+ case "bad_sha1_checksum": return new ChecksumMismatchError(response, options);
808
+ default: return assertNever(code);
809
+ }
209
810
  }
210
- function isTransient(status, code) {
211
- if (status === 408 || status === 429 || status === 503) return true;
212
- if (code === "expired_auth_token") return true;
213
- if (code === "service_unavailable" || code === "request_timeout") return true;
214
- return false;
811
+ function classifyUnknownError(response, options) {
812
+ if (response.status === 429) return new TooManyRequestsError(response, options);
813
+ if (response.status === 503) return new ServiceUnavailableError(response, options);
814
+ if (response.status === 408) return new RequestTimeoutError(response, options);
815
+ return new B2Error(response, options);
215
816
  }
817
+ /**
818
+ * Maps a B2 error response to the appropriate {@link B2Error} subclass.
819
+ * Uses known error codes for exact matching, then falls back to HTTP status
820
+ * codes for unknown future B2 codes.
821
+ *
822
+ * Maintainer note: when B2 documents a new error code, add it to
823
+ * `KNOWN_B2_ERROR_CODES` in `src/types/errors.ts` and add a matching
824
+ * `classifyKnownError` switch case. Unknown codes fall through to the
825
+ * HTTP-status-based heuristic and finally to a generic `B2Error`, which is
826
+ * safe but loses semantic specificity (the caller can't `instanceof` against
827
+ * a precise subclass and the retry decision relies on status alone).
828
+ *
829
+ * @param response - Parsed B2 error response body.
830
+ * @param options - Optional retry and request metadata from response headers.
831
+ *
832
+ * @returns A typed B2Error subclass instance.
833
+ */
216
834
  function classifyError(response, options) {
217
- switch (response.code) {
218
- case "expired_auth_token":
219
- return new ExpiredAuthTokenError(response, options);
220
- case "bad_auth_token":
221
- case "unauthorized":
222
- return new BadAuthTokenError(response, options);
223
- case "service_unavailable":
224
- return new ServiceUnavailableError(response, options);
225
- case "request_timeout":
226
- return new RequestTimeoutError(response, options);
227
- case "cap_exceeded":
228
- case "storage_cap_exceeded":
229
- case "transaction_cap_exceeded":
230
- case "download_cap_exceeded":
231
- return new CapExceededError(response, options);
232
- case "access_denied":
233
- return new AccessDeniedError(response, options);
234
- case "file_not_present":
235
- case "no_such_file":
236
- return new FileNotPresentError(response, options);
237
- case "duplicate_bucket_name":
238
- return new DuplicateBucketNameError(response, options);
239
- case "bad_sha1_checksum":
240
- return new ChecksumMismatchError(response, options);
241
- case "bad_request":
242
- return new BadRequestError(response, options);
243
- }
244
- if (response.status === 429) return new TooManyRequestsError(response, options);
245
- if (response.status === 503) return new ServiceUnavailableError(response, options);
246
- if (response.status === 408) return new RequestTimeoutError(response, options);
247
- return new B2Error(response, options);
835
+ if (response.code === "internal_error" && response.status !== 500) return classifyUnknownError(response, options);
836
+ if (isKnownB2ErrorCode(response.code)) return classifyKnownError(response, response.code, options);
837
+ return classifyUnknownError(response, options);
248
838
  }
249
- export {
250
- AccessDeniedError,
251
- B2Error,
252
- B2InsufficientCapabilityError,
253
- B2SsrfError,
254
- BadAuthTokenError,
255
- BadRequestError,
256
- BadUploadUrlError,
257
- CapExceededError,
258
- ChecksumMismatchError,
259
- DuplicateBucketNameError,
260
- ExpiredAuthTokenError,
261
- FileNotPresentError,
262
- NetworkError,
263
- RequestTimeoutError,
264
- ServiceUnavailableError,
265
- TooManyRequestsError,
266
- classifyError
267
- };
268
- //# sourceMappingURL=index.js.map
839
+ //#endregion
840
+ export { AccessDeniedError, B2Error, B2InsufficientCapabilityError, B2PartnerAuthorizationError, B2RealmConfigurationError, B2RedirectError, B2SsrfError, BadAuthTokenError, BadBucketIdError, BadJsonError, BadRequestError, BadUploadUrlError, CapExceededError, ChecksumMismatchError, ConflictError, DuplicateBucketNameError, ExpiredAuthTokenError, FileNotPresentError, FinishLargeFileResponseBodyError, GroupMemberCreationFailedError, InternalError, InvalidAccountIdError, InvalidBucketIdError, InvalidBucketInfoError, InvalidBucketNameError, InvalidComputerIdError, InvalidEmailError, InvalidFileIdError, InvalidFileInfoError, InvalidFileNameError, InvalidGroupIdError, InvalidMemberAccountIdError, InvalidPartNumberError, InvalidRegionError, InvalidSmsPhoneError, MethodFailureError, MethodNotAllowedError, MissingSmsPhoneError, NetworkError, NotFoundError, OutOfRangeError, RangeNotSatisfiableError, RequestTimeoutError, ResumeFileIdMismatchError, ServiceUnavailableError, TooManyBucketsError, TooManyFilesError, TooManyGroupMembersError, TooManyMembersError, TooManyRequestsError, UploadResponseBodyError, classifyError };
841
+
842
+ //# sourceMappingURL=index.js.map