@backblaze-labs/b2-sdk 0.2.0 → 0.4.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 (590) hide show
  1. package/CHANGELOG.md +86 -1
  2. package/README.md +38 -7
  3. package/dist/_virtual/_b2-sdk-version-json.cjs +1 -1
  4. package/dist/_virtual/_b2-sdk-version-json.js +1 -1
  5. package/dist/auth/file.cjs.map +1 -1
  6. package/dist/auth/reauth-coalescer.cjs +65 -0
  7. package/dist/auth/reauth-coalescer.cjs.map +1 -0
  8. package/dist/auth/reauth-coalescer.d.cts +34 -0
  9. package/dist/auth/reauth-coalescer.d.cts.map +1 -0
  10. package/dist/auth/reauth-coalescer.d.ts +34 -0
  11. package/dist/auth/reauth-coalescer.d.ts.map +1 -0
  12. package/dist/auth/reauth-coalescer.js +65 -0
  13. package/dist/auth/reauth-coalescer.js.map +1 -0
  14. package/dist/backup/client.cjs +206 -0
  15. package/dist/backup/client.cjs.map +1 -0
  16. package/dist/backup/client.d.cts +238 -0
  17. package/dist/backup/client.d.cts.map +1 -0
  18. package/dist/backup/client.d.ts +238 -0
  19. package/dist/backup/client.d.ts.map +1 -0
  20. package/dist/backup/client.js +206 -0
  21. package/dist/backup/client.js.map +1 -0
  22. package/dist/backup/index.cjs +15 -0
  23. package/dist/backup/index.d.cts +22 -0
  24. package/dist/backup/index.d.cts.map +1 -0
  25. package/dist/backup/index.d.ts +22 -0
  26. package/dist/backup/index.d.ts.map +1 -0
  27. package/dist/backup/index.js +7 -0
  28. package/dist/backup/raw.cjs +168 -0
  29. package/dist/backup/raw.cjs.map +1 -0
  30. package/dist/backup/raw.d.cts +122 -0
  31. package/dist/backup/raw.d.cts.map +1 -0
  32. package/dist/backup/raw.d.ts +122 -0
  33. package/dist/backup/raw.d.ts.map +1 -0
  34. package/dist/backup/raw.js +168 -0
  35. package/dist/backup/raw.js.map +1 -0
  36. package/dist/bucket-validation.cjs +111 -0
  37. package/dist/bucket-validation.cjs.map +1 -0
  38. package/dist/bucket-validation.d.cts +27 -0
  39. package/dist/bucket-validation.d.cts.map +1 -0
  40. package/dist/bucket-validation.d.ts +27 -0
  41. package/dist/bucket-validation.d.ts.map +1 -0
  42. package/dist/bucket-validation.js +109 -0
  43. package/dist/bucket-validation.js.map +1 -0
  44. package/dist/bucket.cjs +125 -74
  45. package/dist/bucket.cjs.map +1 -1
  46. package/dist/bucket.d.cts +156 -61
  47. package/dist/bucket.d.cts.map +1 -1
  48. package/dist/bucket.d.ts +156 -61
  49. package/dist/bucket.d.ts.map +1 -1
  50. package/dist/bucket.js +125 -74
  51. package/dist/bucket.js.map +1 -1
  52. package/dist/client.cjs +29 -8
  53. package/dist/client.cjs.map +1 -1
  54. package/dist/client.d.cts +30 -9
  55. package/dist/client.d.cts.map +1 -1
  56. package/dist/client.d.ts +30 -9
  57. package/dist/client.d.ts.map +1 -1
  58. package/dist/client.js +29 -8
  59. package/dist/client.js.map +1 -1
  60. package/dist/copy/large.cjs +5 -3
  61. package/dist/copy/large.cjs.map +1 -1
  62. package/dist/copy/large.d.cts.map +1 -1
  63. package/dist/copy/large.d.ts.map +1 -1
  64. package/dist/copy/large.js +5 -3
  65. package/dist/copy/large.js.map +1 -1
  66. package/dist/download/checksum.cjs +6 -2
  67. package/dist/download/checksum.cjs.map +1 -1
  68. package/dist/download/checksum.js +6 -2
  69. package/dist/download/checksum.js.map +1 -1
  70. package/dist/download/parallel.cjs +52 -15
  71. package/dist/download/parallel.cjs.map +1 -1
  72. package/dist/download/parallel.d.cts +8 -1
  73. package/dist/download/parallel.d.cts.map +1 -1
  74. package/dist/download/parallel.d.ts +8 -1
  75. package/dist/download/parallel.d.ts.map +1 -1
  76. package/dist/download/parallel.js +52 -15
  77. package/dist/download/parallel.js.map +1 -1
  78. package/dist/download/single.cjs +179 -19
  79. package/dist/download/single.cjs.map +1 -1
  80. package/dist/download/single.d.cts +10 -4
  81. package/dist/download/single.d.cts.map +1 -1
  82. package/dist/download/single.d.ts +10 -4
  83. package/dist/download/single.d.ts.map +1 -1
  84. package/dist/download/single.js +179 -19
  85. package/dist/download/single.js.map +1 -1
  86. package/dist/errors/index.cjs +196 -3
  87. package/dist/errors/index.cjs.map +1 -1
  88. package/dist/errors/index.d.cts +134 -0
  89. package/dist/errors/index.d.cts.map +1 -1
  90. package/dist/errors/index.d.ts +134 -0
  91. package/dist/errors/index.d.ts.map +1 -1
  92. package/dist/errors/index.js +183 -4
  93. package/dist/errors/index.js.map +1 -1
  94. package/dist/http/non-idempotent-mutations.cjs +38 -0
  95. package/dist/http/non-idempotent-mutations.cjs.map +1 -0
  96. package/dist/http/non-idempotent-mutations.d.cts +25 -0
  97. package/dist/http/non-idempotent-mutations.d.cts.map +1 -0
  98. package/dist/http/non-idempotent-mutations.d.ts +25 -0
  99. package/dist/http/non-idempotent-mutations.d.ts.map +1 -0
  100. package/dist/http/non-idempotent-mutations.js +35 -0
  101. package/dist/http/non-idempotent-mutations.js.map +1 -0
  102. package/dist/http/retry.cjs +1 -1
  103. package/dist/http/retry.cjs.map +1 -1
  104. package/dist/http/retry.js +1 -1
  105. package/dist/http/retry.js.map +1 -1
  106. package/dist/http/transport.cjs +62 -23
  107. package/dist/http/transport.cjs.map +1 -1
  108. package/dist/http/transport.d.cts +30 -3
  109. package/dist/http/transport.d.cts.map +1 -1
  110. package/dist/http/transport.d.ts +30 -3
  111. package/dist/http/transport.d.ts.map +1 -1
  112. package/dist/http/transport.js +60 -22
  113. package/dist/http/transport.js.map +1 -1
  114. package/dist/http/user-agent.cjs +12 -1
  115. package/dist/http/user-agent.cjs.map +1 -1
  116. package/dist/http/user-agent.d.cts +8 -0
  117. package/dist/http/user-agent.d.cts.map +1 -1
  118. package/dist/http/user-agent.d.ts +8 -0
  119. package/dist/http/user-agent.d.ts.map +1 -1
  120. package/dist/http/user-agent.js +13 -3
  121. package/dist/http/user-agent.js.map +1 -1
  122. package/dist/index.cjs +50 -2
  123. package/dist/index.d.cts +15 -12
  124. package/dist/index.d.cts.map +1 -1
  125. package/dist/index.d.ts +15 -12
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +13 -10
  128. package/dist/notifications/index.cjs +3 -0
  129. package/dist/notifications/index.d.cts +2 -0
  130. package/dist/notifications/index.d.cts.map +1 -1
  131. package/dist/notifications/index.d.ts +2 -0
  132. package/dist/notifications/index.d.ts.map +1 -1
  133. package/dist/notifications/index.js +2 -1
  134. package/dist/object.cjs +13 -2
  135. package/dist/object.cjs.map +1 -1
  136. package/dist/object.d.cts +11 -3
  137. package/dist/object.d.cts.map +1 -1
  138. package/dist/object.d.ts +11 -3
  139. package/dist/object.d.ts.map +1 -1
  140. package/dist/object.js +13 -2
  141. package/dist/object.js.map +1 -1
  142. package/dist/partner/account-info.d.cts +43 -0
  143. package/dist/partner/account-info.d.cts.map +1 -0
  144. package/dist/partner/account-info.d.ts +43 -0
  145. package/dist/partner/account-info.d.ts.map +1 -0
  146. package/dist/partner/auth-clone.cjs +64 -0
  147. package/dist/partner/auth-clone.cjs.map +1 -0
  148. package/dist/partner/auth-clone.d.cts +27 -0
  149. package/dist/partner/auth-clone.d.cts.map +1 -0
  150. package/dist/partner/auth-clone.d.ts +27 -0
  151. package/dist/partner/auth-clone.d.ts.map +1 -0
  152. package/dist/partner/auth-clone.js +63 -0
  153. package/dist/partner/auth-clone.js.map +1 -0
  154. package/dist/partner/auth-core.cjs +156 -0
  155. package/dist/partner/auth-core.cjs.map +1 -0
  156. package/dist/partner/auth-core.d.cts +111 -0
  157. package/dist/partner/auth-core.d.cts.map +1 -0
  158. package/dist/partner/auth-core.d.ts +111 -0
  159. package/dist/partner/auth-core.d.ts.map +1 -0
  160. package/dist/partner/auth-core.js +156 -0
  161. package/dist/partner/auth-core.js.map +1 -0
  162. package/dist/partner/auth-shape.cjs +36 -0
  163. package/dist/partner/auth-shape.cjs.map +1 -0
  164. package/dist/partner/auth-shape.d.cts +12 -0
  165. package/dist/partner/auth-shape.d.cts.map +1 -0
  166. package/dist/partner/auth-shape.d.ts +12 -0
  167. package/dist/partner/auth-shape.d.ts.map +1 -0
  168. package/dist/partner/auth-shape.js +36 -0
  169. package/dist/partner/auth-shape.js.map +1 -0
  170. package/dist/partner/client.cjs +270 -0
  171. package/dist/partner/client.cjs.map +1 -0
  172. package/dist/partner/client.d.cts +357 -0
  173. package/dist/partner/client.d.cts.map +1 -0
  174. package/dist/partner/client.d.ts +357 -0
  175. package/dist/partner/client.d.ts.map +1 -0
  176. package/dist/partner/client.js +270 -0
  177. package/dist/partner/client.js.map +1 -0
  178. package/dist/partner/endpoint-url.cjs +109 -0
  179. package/dist/partner/endpoint-url.cjs.map +1 -0
  180. package/dist/partner/endpoint-url.d.cts +74 -0
  181. package/dist/partner/endpoint-url.d.cts.map +1 -0
  182. package/dist/partner/endpoint-url.d.ts +74 -0
  183. package/dist/partner/endpoint-url.d.ts.map +1 -0
  184. package/dist/partner/endpoint-url.js +106 -0
  185. package/dist/partner/endpoint-url.js.map +1 -0
  186. package/dist/partner/in-memory.cjs +135 -0
  187. package/dist/partner/in-memory.cjs.map +1 -0
  188. package/dist/partner/in-memory.d.cts +99 -0
  189. package/dist/partner/in-memory.d.cts.map +1 -0
  190. package/dist/partner/in-memory.d.ts +99 -0
  191. package/dist/partner/in-memory.d.ts.map +1 -0
  192. package/dist/partner/in-memory.js +135 -0
  193. package/dist/partner/in-memory.js.map +1 -0
  194. package/dist/partner/index.cjs +27 -0
  195. package/dist/partner/index.d.cts +32 -0
  196. package/dist/partner/index.d.cts.map +1 -0
  197. package/dist/partner/index.d.ts +32 -0
  198. package/dist/partner/index.d.ts.map +1 -0
  199. package/dist/partner/index.js +9 -0
  200. package/dist/partner/raw.cjs +400 -0
  201. package/dist/partner/raw.cjs.map +1 -0
  202. package/dist/partner/raw.d.cts +220 -0
  203. package/dist/partner/raw.d.cts.map +1 -0
  204. package/dist/partner/raw.d.ts +220 -0
  205. package/dist/partner/raw.d.ts.map +1 -0
  206. package/dist/partner/raw.js +398 -0
  207. package/dist/partner/raw.js.map +1 -0
  208. package/dist/partner/redaction-placeholders.cjs +10 -0
  209. package/dist/partner/redaction-placeholders.cjs.map +1 -0
  210. package/dist/partner/redaction-placeholders.d.cts +5 -0
  211. package/dist/partner/redaction-placeholders.d.cts.map +1 -0
  212. package/dist/partner/redaction-placeholders.d.ts +5 -0
  213. package/dist/partner/redaction-placeholders.d.ts.map +1 -0
  214. package/dist/partner/redaction-placeholders.js +9 -0
  215. package/dist/partner/redaction-placeholders.js.map +1 -0
  216. package/dist/partner/redaction.cjs +292 -0
  217. package/dist/partner/redaction.cjs.map +1 -0
  218. package/dist/partner/redaction.d.cts +158 -0
  219. package/dist/partner/redaction.d.cts.map +1 -0
  220. package/dist/partner/redaction.d.ts +158 -0
  221. package/dist/partner/redaction.d.ts.map +1 -0
  222. package/dist/partner/redaction.js +281 -0
  223. package/dist/partner/redaction.js.map +1 -0
  224. package/dist/raw/encoding.cjs +29 -10
  225. package/dist/raw/encoding.cjs.map +1 -1
  226. package/dist/raw/encoding.d.cts +3 -2
  227. package/dist/raw/encoding.d.cts.map +1 -1
  228. package/dist/raw/encoding.d.ts +3 -2
  229. package/dist/raw/encoding.d.ts.map +1 -1
  230. package/dist/raw/encoding.js +29 -10
  231. package/dist/raw/encoding.js.map +1 -1
  232. package/dist/raw/index.cjs +131 -44
  233. package/dist/raw/index.cjs.map +1 -1
  234. package/dist/raw/index.d.cts +21 -15
  235. package/dist/raw/index.d.cts.map +1 -1
  236. package/dist/raw/index.d.ts +21 -15
  237. package/dist/raw/index.d.ts.map +1 -1
  238. package/dist/raw/index.js +114 -45
  239. package/dist/raw/index.js.map +1 -1
  240. package/dist/raw/url.cjs +111 -0
  241. package/dist/raw/url.cjs.map +1 -0
  242. package/dist/raw/url.d.cts +41 -0
  243. package/dist/raw/url.d.cts.map +1 -0
  244. package/dist/raw/url.d.ts +41 -0
  245. package/dist/raw/url.d.ts.map +1 -0
  246. package/dist/raw/url.js +110 -0
  247. package/dist/raw/url.js.map +1 -0
  248. package/dist/s3/sigv4.cjs +15 -10
  249. package/dist/s3/sigv4.cjs.map +1 -1
  250. package/dist/s3/sigv4.js +15 -10
  251. package/dist/s3/sigv4.js.map +1 -1
  252. package/dist/simulator/index.cjs +1579 -257
  253. package/dist/simulator/index.cjs.map +1 -1
  254. package/dist/simulator/index.d.cts +124 -11
  255. package/dist/simulator/index.d.cts.map +1 -1
  256. package/dist/simulator/index.d.ts +124 -11
  257. package/dist/simulator/index.d.ts.map +1 -1
  258. package/dist/simulator/index.js +1568 -262
  259. package/dist/simulator/index.js.map +1 -1
  260. package/dist/simulator/partner-capabilities.cjs +77 -0
  261. package/dist/simulator/partner-capabilities.cjs.map +1 -0
  262. package/dist/simulator/partner-capabilities.d.cts +53 -0
  263. package/dist/simulator/partner-capabilities.d.cts.map +1 -0
  264. package/dist/simulator/partner-capabilities.d.ts +53 -0
  265. package/dist/simulator/partner-capabilities.d.ts.map +1 -0
  266. package/dist/simulator/partner-capabilities.js +73 -0
  267. package/dist/simulator/partner-capabilities.js.map +1 -0
  268. package/dist/simulator/partner.cjs +713 -0
  269. package/dist/simulator/partner.cjs.map +1 -0
  270. package/dist/simulator/partner.d.cts +186 -0
  271. package/dist/simulator/partner.d.cts.map +1 -0
  272. package/dist/simulator/partner.d.ts +186 -0
  273. package/dist/simulator/partner.d.ts.map +1 -0
  274. package/dist/simulator/partner.js +713 -0
  275. package/dist/simulator/partner.js.map +1 -0
  276. package/dist/simulator/validation.cjs +732 -25
  277. package/dist/simulator/validation.cjs.map +1 -1
  278. package/dist/simulator/validation.d.cts +145 -6
  279. package/dist/simulator/validation.d.cts.map +1 -1
  280. package/dist/simulator/validation.d.ts +145 -6
  281. package/dist/simulator/validation.d.ts.map +1 -1
  282. package/dist/simulator/validation.js +705 -26
  283. package/dist/simulator/validation.js.map +1 -1
  284. package/dist/streams/file-source.cjs +2 -2
  285. package/dist/streams/file-source.cjs.map +1 -1
  286. package/dist/streams/file-source.js +2 -2
  287. package/dist/streams/file-source.js.map +1 -1
  288. package/dist/streams/hash.cjs +246 -13
  289. package/dist/streams/hash.cjs.map +1 -1
  290. package/dist/streams/hash.d.cts +37 -12
  291. package/dist/streams/hash.d.cts.map +1 -1
  292. package/dist/streams/hash.d.ts +37 -12
  293. package/dist/streams/hash.d.ts.map +1 -1
  294. package/dist/streams/hash.js +246 -15
  295. package/dist/streams/hash.js.map +1 -1
  296. package/dist/streams/index.cjs +3 -1
  297. package/dist/streams/index.d.cts +1 -1
  298. package/dist/streams/index.d.cts.map +1 -1
  299. package/dist/streams/index.d.ts +1 -1
  300. package/dist/streams/index.d.ts.map +1 -1
  301. package/dist/streams/index.js +3 -3
  302. package/dist/streams/progress.cjs +63 -4
  303. package/dist/streams/progress.cjs.map +1 -1
  304. package/dist/streams/progress.d.cts +28 -2
  305. package/dist/streams/progress.d.cts.map +1 -1
  306. package/dist/streams/progress.d.ts +28 -2
  307. package/dist/streams/progress.d.ts.map +1 -1
  308. package/dist/streams/progress.js +63 -4
  309. package/dist/streams/progress.js.map +1 -1
  310. package/dist/streams/source.cjs +2 -1
  311. package/dist/streams/source.cjs.map +1 -1
  312. package/dist/streams/source.js +2 -1
  313. package/dist/streams/source.js.map +1 -1
  314. package/dist/sync/b2-sha1-reader.cjs +6 -2
  315. package/dist/sync/b2-sha1-reader.cjs.map +1 -1
  316. package/dist/sync/b2-sha1-reader.d.cts.map +1 -1
  317. package/dist/sync/b2-sha1-reader.d.ts.map +1 -1
  318. package/dist/sync/b2-sha1-reader.js +6 -2
  319. package/dist/sync/b2-sha1-reader.js.map +1 -1
  320. package/dist/sync/download-staging.cjs +156 -43
  321. package/dist/sync/download-staging.cjs.map +1 -1
  322. package/dist/sync/download-staging.d.cts +26 -2
  323. package/dist/sync/download-staging.d.cts.map +1 -1
  324. package/dist/sync/download-staging.d.ts +26 -2
  325. package/dist/sync/download-staging.d.ts.map +1 -1
  326. package/dist/sync/download-staging.js +155 -44
  327. package/dist/sync/download-staging.js.map +1 -1
  328. package/dist/sync/filters.cjs.map +1 -1
  329. package/dist/sync/filters.js.map +1 -1
  330. package/dist/sync/index.d.cts +1 -1
  331. package/dist/sync/index.d.cts.map +1 -1
  332. package/dist/sync/index.d.ts +1 -1
  333. package/dist/sync/index.d.ts.map +1 -1
  334. package/dist/sync/local-file-io.cjs +15 -6
  335. package/dist/sync/local-file-io.cjs.map +1 -1
  336. package/dist/sync/local-file-io.d.cts +3 -0
  337. package/dist/sync/local-file-io.d.cts.map +1 -1
  338. package/dist/sync/local-file-io.d.ts +3 -0
  339. package/dist/sync/local-file-io.d.ts.map +1 -1
  340. package/dist/sync/local-file-io.js +15 -6
  341. package/dist/sync/local-file-io.js.map +1 -1
  342. package/dist/sync/local-sha1.cjs +6 -15
  343. package/dist/sync/local-sha1.cjs.map +1 -1
  344. package/dist/sync/local-sha1.d.cts +0 -8
  345. package/dist/sync/local-sha1.d.cts.map +1 -1
  346. package/dist/sync/local-sha1.d.ts +0 -8
  347. package/dist/sync/local-sha1.d.ts.map +1 -1
  348. package/dist/sync/local-sha1.js +7 -15
  349. package/dist/sync/local-sha1.js.map +1 -1
  350. package/dist/sync/pairing.cjs +1 -0
  351. package/dist/sync/pairing.cjs.map +1 -1
  352. package/dist/sync/pairing.js +1 -0
  353. package/dist/sync/pairing.js.map +1 -1
  354. package/dist/sync/policies/compare.cjs +5 -3
  355. package/dist/sync/policies/compare.cjs.map +1 -1
  356. package/dist/sync/policies/compare.d.cts.map +1 -1
  357. package/dist/sync/policies/compare.d.ts.map +1 -1
  358. package/dist/sync/policies/compare.js +6 -4
  359. package/dist/sync/policies/compare.js.map +1 -1
  360. package/dist/sync/policies/index.cjs +4 -10
  361. package/dist/sync/policies/index.cjs.map +1 -1
  362. package/dist/sync/policies/index.js +4 -10
  363. package/dist/sync/policies/index.js.map +1 -1
  364. package/dist/sync/scanners/b2.cjs +4 -2
  365. package/dist/sync/scanners/b2.cjs.map +1 -1
  366. package/dist/sync/scanners/b2.d.cts.map +1 -1
  367. package/dist/sync/scanners/b2.d.ts.map +1 -1
  368. package/dist/sync/scanners/b2.js +4 -2
  369. package/dist/sync/scanners/b2.js.map +1 -1
  370. package/dist/sync/scanners/local.cjs +150 -33
  371. package/dist/sync/scanners/local.cjs.map +1 -1
  372. package/dist/sync/scanners/local.d.cts +6 -0
  373. package/dist/sync/scanners/local.d.cts.map +1 -1
  374. package/dist/sync/scanners/local.d.ts +6 -0
  375. package/dist/sync/scanners/local.d.ts.map +1 -1
  376. package/dist/sync/scanners/local.js +150 -33
  377. package/dist/sync/scanners/local.js.map +1 -1
  378. package/dist/sync/synchronizer.cjs +79 -31
  379. package/dist/sync/synchronizer.cjs.map +1 -1
  380. package/dist/sync/synchronizer.d.cts +1 -0
  381. package/dist/sync/synchronizer.d.cts.map +1 -1
  382. package/dist/sync/synchronizer.d.ts +1 -0
  383. package/dist/sync/synchronizer.d.ts.map +1 -1
  384. package/dist/sync/synchronizer.js +79 -31
  385. package/dist/sync/synchronizer.js.map +1 -1
  386. package/dist/sync/types.d.cts +19 -3
  387. package/dist/sync/types.d.cts.map +1 -1
  388. package/dist/sync/types.d.ts +19 -3
  389. package/dist/sync/types.d.ts.map +1 -1
  390. package/dist/types/auth.cjs +4 -0
  391. package/dist/types/auth.cjs.map +1 -1
  392. package/dist/types/auth.d.cts +4 -0
  393. package/dist/types/auth.d.cts.map +1 -1
  394. package/dist/types/auth.d.ts +4 -0
  395. package/dist/types/auth.d.ts.map +1 -1
  396. package/dist/types/auth.js +4 -0
  397. package/dist/types/auth.js.map +1 -1
  398. package/dist/types/backup.d.cts +85 -0
  399. package/dist/types/backup.d.cts.map +1 -0
  400. package/dist/types/backup.d.ts +85 -0
  401. package/dist/types/backup.d.ts.map +1 -0
  402. package/dist/types/bucket.cjs +81 -11
  403. package/dist/types/bucket.cjs.map +1 -1
  404. package/dist/types/bucket.d.cts +194 -41
  405. package/dist/types/bucket.d.cts.map +1 -1
  406. package/dist/types/bucket.d.ts +194 -41
  407. package/dist/types/bucket.d.ts.map +1 -1
  408. package/dist/types/bucket.js +67 -12
  409. package/dist/types/bucket.js.map +1 -1
  410. package/dist/types/download.cjs +62 -0
  411. package/dist/types/download.cjs.map +1 -0
  412. package/dist/types/download.d.cts +100 -16
  413. package/dist/types/download.d.cts.map +1 -1
  414. package/dist/types/download.d.ts +100 -16
  415. package/dist/types/download.d.ts.map +1 -1
  416. package/dist/types/download.js +61 -0
  417. package/dist/types/download.js.map +1 -0
  418. package/dist/types/encryption.cjs +76 -229
  419. package/dist/types/encryption.cjs.map +1 -1
  420. package/dist/types/encryption.d.cts +48 -6
  421. package/dist/types/encryption.d.cts.map +1 -1
  422. package/dist/types/encryption.d.ts +48 -6
  423. package/dist/types/encryption.d.ts.map +1 -1
  424. package/dist/types/encryption.js +74 -229
  425. package/dist/types/encryption.js.map +1 -1
  426. package/dist/types/errors.cjs +9 -0
  427. package/dist/types/errors.cjs.map +1 -1
  428. package/dist/types/errors.d.cts +1 -1
  429. package/dist/types/errors.d.cts.map +1 -1
  430. package/dist/types/errors.d.ts +1 -1
  431. package/dist/types/errors.d.ts.map +1 -1
  432. package/dist/types/errors.js +9 -0
  433. package/dist/types/errors.js.map +1 -1
  434. package/dist/types/file.cjs +3 -0
  435. package/dist/types/file.cjs.map +1 -1
  436. package/dist/types/file.d.cts +140 -18
  437. package/dist/types/file.d.cts.map +1 -1
  438. package/dist/types/file.d.ts +140 -18
  439. package/dist/types/file.d.ts.map +1 -1
  440. package/dist/types/file.js +3 -1
  441. package/dist/types/file.js.map +1 -1
  442. package/dist/types/ids.cjs +30 -0
  443. package/dist/types/ids.cjs.map +1 -1
  444. package/dist/types/ids.d.cts +32 -0
  445. package/dist/types/ids.d.cts.map +1 -1
  446. package/dist/types/ids.d.ts +32 -0
  447. package/dist/types/ids.d.ts.map +1 -1
  448. package/dist/types/ids.js +28 -1
  449. package/dist/types/ids.js.map +1 -1
  450. package/dist/types/index.d.cts +16 -12
  451. package/dist/types/index.d.cts.map +1 -1
  452. package/dist/types/index.d.ts +16 -12
  453. package/dist/types/index.d.ts.map +1 -1
  454. package/dist/types/key.d.cts +4 -3
  455. package/dist/types/key.d.cts.map +1 -1
  456. package/dist/types/key.d.ts +4 -3
  457. package/dist/types/key.d.ts.map +1 -1
  458. package/dist/types/lock.cjs.map +1 -1
  459. package/dist/types/lock.d.cts +14 -0
  460. package/dist/types/lock.d.cts.map +1 -1
  461. package/dist/types/lock.d.ts +14 -0
  462. package/dist/types/lock.d.ts.map +1 -1
  463. package/dist/types/lock.js.map +1 -1
  464. package/dist/types/notifications.cjs +31 -1
  465. package/dist/types/notifications.cjs.map +1 -1
  466. package/dist/types/notifications.d.cts +31 -4
  467. package/dist/types/notifications.d.cts.map +1 -1
  468. package/dist/types/notifications.d.ts +31 -4
  469. package/dist/types/notifications.d.ts.map +1 -1
  470. package/dist/types/notifications.js +30 -2
  471. package/dist/types/notifications.js.map +1 -1
  472. package/dist/types/partner.cjs +32 -0
  473. package/dist/types/partner.cjs.map +1 -0
  474. package/dist/types/partner.d.cts +386 -0
  475. package/dist/types/partner.d.cts.map +1 -0
  476. package/dist/types/partner.d.ts +386 -0
  477. package/dist/types/partner.d.ts.map +1 -0
  478. package/dist/types/partner.js +29 -0
  479. package/dist/types/partner.js.map +1 -0
  480. package/dist/types/upload.d.cts +35 -18
  481. package/dist/types/upload.d.cts.map +1 -1
  482. package/dist/types/upload.d.ts +35 -18
  483. package/dist/types/upload.d.ts.map +1 -1
  484. package/dist/upload/abort-scope.cjs +0 -45
  485. package/dist/upload/abort-scope.cjs.map +1 -1
  486. package/dist/upload/abort-scope.d.cts +0 -22
  487. package/dist/upload/abort-scope.d.cts.map +1 -1
  488. package/dist/upload/abort-scope.d.ts +0 -22
  489. package/dist/upload/abort-scope.d.ts.map +1 -1
  490. package/dist/upload/abort-scope.js +1 -44
  491. package/dist/upload/abort-scope.js.map +1 -1
  492. package/dist/upload/finish.cjs +3 -8
  493. package/dist/upload/finish.cjs.map +1 -1
  494. package/dist/upload/finish.d.cts.map +1 -1
  495. package/dist/upload/finish.d.ts.map +1 -1
  496. package/dist/upload/finish.js +1 -6
  497. package/dist/upload/finish.js.map +1 -1
  498. package/dist/upload/large.cjs +15 -8
  499. package/dist/upload/large.cjs.map +1 -1
  500. package/dist/upload/large.d.cts +31 -8
  501. package/dist/upload/large.d.cts.map +1 -1
  502. package/dist/upload/large.d.ts +31 -8
  503. package/dist/upload/large.d.ts.map +1 -1
  504. package/dist/upload/large.js +15 -8
  505. package/dist/upload/large.js.map +1 -1
  506. package/dist/upload/options.cjs.map +1 -1
  507. package/dist/upload/options.d.cts +24 -0
  508. package/dist/upload/options.d.cts.map +1 -1
  509. package/dist/upload/options.d.ts +24 -0
  510. package/dist/upload/options.d.ts.map +1 -1
  511. package/dist/upload/options.js.map +1 -1
  512. package/dist/upload/resume.cjs +6 -4
  513. package/dist/upload/resume.cjs.map +1 -1
  514. package/dist/upload/resume.d.cts +9 -5
  515. package/dist/upload/resume.d.cts.map +1 -1
  516. package/dist/upload/resume.d.ts +9 -5
  517. package/dist/upload/resume.d.ts.map +1 -1
  518. package/dist/upload/resume.js +6 -4
  519. package/dist/upload/resume.js.map +1 -1
  520. package/dist/upload/retry.cjs +25 -13
  521. package/dist/upload/retry.cjs.map +1 -1
  522. package/dist/upload/retry.d.cts.map +1 -1
  523. package/dist/upload/retry.d.ts.map +1 -1
  524. package/dist/upload/retry.js +25 -13
  525. package/dist/upload/retry.js.map +1 -1
  526. package/dist/upload/single.cjs +35 -30
  527. package/dist/upload/single.cjs.map +1 -1
  528. package/dist/upload/single.d.cts +12 -0
  529. package/dist/upload/single.d.cts.map +1 -1
  530. package/dist/upload/single.d.ts +12 -0
  531. package/dist/upload/single.d.ts.map +1 -1
  532. package/dist/upload/single.js +35 -30
  533. package/dist/upload/single.js.map +1 -1
  534. package/dist/upload/stream.cjs +18 -5
  535. package/dist/upload/stream.cjs.map +1 -1
  536. package/dist/upload/stream.d.cts +12 -0
  537. package/dist/upload/stream.d.cts.map +1 -1
  538. package/dist/upload/stream.d.ts +12 -0
  539. package/dist/upload/stream.d.ts.map +1 -1
  540. package/dist/upload/stream.js +15 -2
  541. package/dist/upload/stream.js.map +1 -1
  542. package/dist/util/abort.cjs +114 -0
  543. package/dist/util/abort.cjs.map +1 -0
  544. package/dist/util/abort.d.cts +65 -0
  545. package/dist/util/abort.d.cts.map +1 -0
  546. package/dist/util/abort.d.ts +65 -0
  547. package/dist/util/abort.d.ts.map +1 -0
  548. package/dist/util/abort.js +109 -0
  549. package/dist/util/abort.js.map +1 -0
  550. package/dist/util/defaults.cjs +3 -0
  551. package/dist/util/defaults.cjs.map +1 -1
  552. package/dist/util/defaults.d.cts +2 -0
  553. package/dist/util/defaults.d.cts.map +1 -1
  554. package/dist/util/defaults.d.ts +2 -0
  555. package/dist/util/defaults.d.ts.map +1 -1
  556. package/dist/util/defaults.js +3 -1
  557. package/dist/util/defaults.js.map +1 -1
  558. package/dist/util/md5.cjs +211 -0
  559. package/dist/util/md5.cjs.map +1 -0
  560. package/dist/util/md5.d.cts +43 -0
  561. package/dist/util/md5.d.cts.map +1 -0
  562. package/dist/util/md5.d.ts +43 -0
  563. package/dist/util/md5.d.ts.map +1 -0
  564. package/dist/util/md5.js +209 -0
  565. package/dist/util/md5.js.map +1 -0
  566. package/dist/util/normalize.cjs +5 -5
  567. package/dist/util/normalize.cjs.map +1 -1
  568. package/dist/util/normalize.d.cts +7 -7
  569. package/dist/util/normalize.d.cts.map +1 -1
  570. package/dist/util/normalize.d.ts +7 -7
  571. package/dist/util/normalize.d.ts.map +1 -1
  572. package/dist/util/normalize.js +5 -5
  573. package/dist/util/normalize.js.map +1 -1
  574. package/dist/util/paginator.cjs +7 -1
  575. package/dist/util/paginator.cjs.map +1 -1
  576. package/dist/util/paginator.d.cts +3 -1
  577. package/dist/util/paginator.d.cts.map +1 -1
  578. package/dist/util/paginator.d.ts +3 -1
  579. package/dist/util/paginator.d.ts.map +1 -1
  580. package/dist/util/paginator.js +7 -1
  581. package/dist/util/paginator.js.map +1 -1
  582. package/dist/version.cjs +56 -4
  583. package/dist/version.cjs.map +1 -1
  584. package/dist/version.d.cts +53 -4
  585. package/dist/version.d.cts.map +1 -1
  586. package/dist/version.d.ts +53 -4
  587. package/dist/version.d.ts.map +1 -1
  588. package/dist/version.js +52 -5
  589. package/dist/version.js.map +1 -1
  590. package/package.json +47 -18
@@ -1,9 +1,12 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_errors_index = require("../errors/index.cjs");
3
3
  const require_encoding = require("./encoding.cjs");
4
- const require_normalize = require("../util/normalize.cjs");
5
4
  const require_encryption = require("../types/encryption.cjs");
5
+ const require_normalize = require("../util/normalize.cjs");
6
+ const require_bucket = require("../types/bucket.cjs");
7
+ const require_bucket_validation = require("../bucket-validation.cjs");
6
8
  const require_realms = require("../auth/realms.cjs");
9
+ const require_url = require("./url.cjs");
7
10
  //#region src/raw/index.ts
8
11
  /**
9
12
  * Low-level 1:1 bindings for every B2 native API endpoint.
@@ -12,9 +15,16 @@ const require_realms = require("../auth/realms.cjs");
12
15
  * with fully typed request and response objects. No retry logic, no URL pooling,
13
16
  * no automatic reauthorization. Use this when you need precise control over
14
17
  * individual API calls; for most use cases prefer the high-level `B2Client`.
18
+ * SDK-built B2 native storage API URLs use `/b2api/v4`. JSON endpoints use
19
+ * POST request bodies, including read/list endpoints whose API docs also show
20
+ * GET query examples but document POST JSON compatibility.
15
21
  *
16
22
  * @packageDocumentation
17
23
  */
24
+ var B2_NATIVE_API = {
25
+ prefix: "b2api",
26
+ version: "v4"
27
+ };
18
28
  function normalizeRawRequestOptions(optionsOrSignal, retry) {
19
29
  if (optionsOrSignal === void 0) return retry === void 0 ? void 0 : { retry };
20
30
  if (isAbortSignal(optionsOrSignal)) return {
@@ -29,6 +39,34 @@ function normalizeRawRequestOptions(optionsOrSignal, retry) {
29
39
  function isAbortSignal(value) {
30
40
  return typeof value === "object" && value !== null && "aborted" in value && typeof value.addEventListener === "function";
31
41
  }
42
+ function assertCustomUploadTimestamp(value) {
43
+ if (value === void 0) return;
44
+ if (typeof value === "number" && Number.isSafeInteger(value) && value >= 0) return;
45
+ throw new TypeError("customUploadTimestamp must be a non-negative safe integer");
46
+ }
47
+ function assertSafeHttpHeaderValue(name, value) {
48
+ if (hasHttpHeaderControlByte(value)) throw new TypeError(`${name} must not contain HTTP control characters`);
49
+ }
50
+ function hasHttpHeaderControlByte(value) {
51
+ for (let i = 0; i < value.length; i += 1) {
52
+ const code = value.charCodeAt(i);
53
+ if (code <= 31 || code === 127) return true;
54
+ }
55
+ return false;
56
+ }
57
+ function setB2ContentFileInfoHeader(headers, key, optionName, value) {
58
+ if (!value) return;
59
+ assertSafeHttpHeaderValue(optionName, value);
60
+ Object.assign(headers, require_encoding.buildFileInfoHeaders({ [key]: value }));
61
+ }
62
+ function assertRawCustomUploadTimestamp(value) {
63
+ if (value === void 0 || value === null) return;
64
+ if (typeof value === "string" && /^\d+$/.test(value)) {
65
+ const timestamp = Number(value);
66
+ if (Number.isSafeInteger(timestamp)) return;
67
+ }
68
+ throw new TypeError("customUploadTimestamp must be a non-negative safe integer string or null");
69
+ }
32
70
  function normalizeCreateKeyRequest(request) {
33
71
  const { bucketId, ...withoutDeprecatedBucketId } = request;
34
72
  if (bucketId !== void 0 && withoutDeprecatedBucketId.bucketIds !== void 0) throw new TypeError("createKey accepts either bucketIds or deprecated bucketId, not both");
@@ -92,7 +130,8 @@ function normalizeAuthorizeAccountResponse(response) {
92
130
  }
93
131
  function uploadResponseBodyError(err, signal) {
94
132
  if (signal?.aborted === true) throw signal.reason ?? new DOMException("Aborted", "AbortError");
95
- return new require_errors_index.UploadResponseBodyError(err instanceof Error ? err.message : "Upload response body could not be read", { cause: err });
133
+ const message = err instanceof Error ? err.message : "Upload response body could not be read";
134
+ return new require_errors_index.UploadResponseBodyError(message, { cause: err });
96
135
  }
97
136
  /**
98
137
  * Low-level client providing 1:1 bindings to all B2 native API endpoints.
@@ -116,15 +155,21 @@ var RawClient = class {
116
155
  * @param applicationKeyId - The application key ID for authentication.
117
156
  * @param applicationKey - The application key secret.
118
157
  * @param realmUrl - The B2 realm URL to authenticate against.
158
+ * @param options - Optional request controls.
119
159
  *
120
160
  * @returns The authorization response with API URLs and credentials.
121
161
  */
122
- async authorizeAccount(applicationKeyId, applicationKey, realmUrl = "https://api.backblazeb2.com") {
162
+ async authorizeAccount(applicationKeyId, applicationKey, realmUrl = "https://api.backblazeb2.com", options) {
123
163
  require_realms.assertSecureRealmUrl(realmUrl);
124
164
  return normalizeAuthorizeAccountResponse(await (await this.transport.send({
125
- url: `${realmUrl}/b2api/v4/b2_authorize_account`,
165
+ url: require_url.b2Url(realmUrl, {
166
+ ...B2_NATIVE_API,
167
+ endpoint: "b2_authorize_account"
168
+ }),
126
169
  method: "GET",
127
- headers: { Authorization: `Basic ${btoa(`${applicationKeyId}:${applicationKey}`)}` }
170
+ headers: { Authorization: `Basic ${btoa(`${applicationKeyId}:${applicationKey}`)}` },
171
+ ...options?.signal !== void 0 ? { signal: options.signal } : {},
172
+ ...options?.retry !== void 0 ? { retry: options.retry } : {}
128
173
  })).json());
129
174
  }
130
175
  /**
@@ -136,6 +181,7 @@ var RawClient = class {
136
181
  * @returns The created bucket metadata.
137
182
  */
138
183
  async createBucket(apiUrl, authToken, request) {
184
+ require_bucket_validation.assertValidBucketConfiguration(request);
139
185
  return this.postJson(apiUrl, authToken, "b2_create_bucket", request);
140
186
  }
141
187
  /**
@@ -169,6 +215,7 @@ var RawClient = class {
169
215
  * @returns The updated bucket metadata.
170
216
  */
171
217
  async updateBucket(apiUrl, authToken, request) {
218
+ require_bucket_validation.assertValidBucketConfiguration(request);
172
219
  return this.postJson(apiUrl, authToken, "b2_update_bucket", request);
173
220
  }
174
221
  /**
@@ -196,6 +243,9 @@ var RawClient = class {
196
243
  */
197
244
  async uploadFile(uploadUrl, headers, body, optionsOrSignal, retry) {
198
245
  const options = normalizeRawRequestOptions(optionsOrSignal, retry);
246
+ assertSafeHttpHeaderValue("authorization", headers.authorization);
247
+ assertSafeHttpHeaderValue("contentType", headers.contentType);
248
+ assertSafeHttpHeaderValue("contentSha1", headers.contentSha1);
199
249
  const reqHeaders = {
200
250
  Authorization: headers.authorization,
201
251
  "X-Bz-File-Name": require_encoding.encodeFileName(headers.fileName),
@@ -205,11 +255,15 @@ var RawClient = class {
205
255
  ...require_encoding.buildFileInfoHeaders(headers.fileInfo)
206
256
  };
207
257
  if (headers.lastModifiedMillis !== void 0) reqHeaders["X-Bz-Info-src_last_modified_millis"] = String(headers.lastModifiedMillis);
208
- if (headers.contentDisposition) reqHeaders["X-Bz-Info-b2-content-disposition"] = headers.contentDisposition;
209
- if (headers.contentLanguage) reqHeaders["X-Bz-Info-b2-content-language"] = headers.contentLanguage;
210
- if (headers.expires) reqHeaders["X-Bz-Info-b2-expires"] = headers.expires;
211
- if (headers.cacheControl) reqHeaders["X-Bz-Info-b2-cache-control"] = headers.cacheControl;
212
- if (headers.contentEncoding) reqHeaders["X-Bz-Info-b2-content-encoding"] = headers.contentEncoding;
258
+ if (headers.customUploadTimestamp !== void 0) {
259
+ assertCustomUploadTimestamp(headers.customUploadTimestamp);
260
+ reqHeaders["X-Bz-Custom-Upload-Timestamp"] = String(headers.customUploadTimestamp);
261
+ }
262
+ setB2ContentFileInfoHeader(reqHeaders, "b2-content-disposition", "contentDisposition", headers.contentDisposition);
263
+ setB2ContentFileInfoHeader(reqHeaders, "b2-content-language", "contentLanguage", headers.contentLanguage);
264
+ setB2ContentFileInfoHeader(reqHeaders, "b2-expires", "expires", headers.expires);
265
+ setB2ContentFileInfoHeader(reqHeaders, "b2-cache-control", "cacheControl", headers.cacheControl);
266
+ setB2ContentFileInfoHeader(reqHeaders, "b2-content-encoding", "contentEncoding", headers.contentEncoding);
213
267
  applyEncryptionHeaders(reqHeaders, headers.serverSideEncryption);
214
268
  applyRetentionHeaders(reqHeaders, headers.fileRetention);
215
269
  applyLegalHoldHeader(reqHeaders, headers.legalHold);
@@ -227,27 +281,9 @@ var RawClient = class {
227
281
  throw uploadResponseBodyError(err, options?.signal);
228
282
  }
229
283
  }
230
- /**
231
- * Calls {@link https://www.backblaze.com/apidocs/b2-list-file-names | b2_list_file_names}.
232
- * @param apiUrl - The B2 API base URL.
233
- * @param authToken - The authorization token.
234
- * @param request - The API request parameters.
235
- * @param options - Optional request controls such as an abort signal.
236
- *
237
- * @returns The list of file names and optional continuation token.
238
- */
239
284
  async listFileNames(apiUrl, authToken, request, options) {
240
285
  return require_normalize.normalizeFileVersionListSha1(await this.postJson(apiUrl, authToken, "b2_list_file_names", request, options));
241
286
  }
242
- /**
243
- * Calls {@link https://www.backblaze.com/apidocs/b2-list-file-versions | b2_list_file_versions}.
244
- * @param apiUrl - The B2 API base URL.
245
- * @param authToken - The authorization token.
246
- * @param request - The API request parameters.
247
- * @param options - Optional request controls such as an abort signal.
248
- *
249
- * @returns The list of file versions and optional continuation token.
250
- */
251
287
  async listFileVersions(apiUrl, authToken, request, options) {
252
288
  return require_normalize.normalizeFileVersionListSha1(await this.postJson(apiUrl, authToken, "b2_list_file_versions", request, options));
253
289
  }
@@ -296,7 +332,7 @@ var RawClient = class {
296
332
  * @returns The copied file version metadata.
297
333
  */
298
334
  async copyFile(apiUrl, authToken, request, options) {
299
- return require_normalize.normalizeFileVersionSha1(await this.postJson(apiUrl, authToken, "b2_copy_file", request, options));
335
+ return require_normalize.normalizeFileVersionSha1(await this.postJson(apiUrl, authToken, "b2_copy_file", withJsonBodyWireSseC(request), options));
300
336
  }
301
337
  /**
302
338
  * Calls {@link https://www.backblaze.com/apidocs/b2-copy-part | b2_copy_part}.
@@ -308,7 +344,7 @@ var RawClient = class {
308
344
  * @returns The copied part metadata.
309
345
  */
310
346
  async copyPart(apiUrl, authToken, request, options) {
311
- return this.postJson(apiUrl, authToken, "b2_copy_part", request, options);
347
+ return this.postJson(apiUrl, authToken, "b2_copy_part", withJsonBodyWireSseC(request), options);
312
348
  }
313
349
  /**
314
350
  * Calls {@link https://www.backblaze.com/apidocs/b2-start-large-file | b2_start_large_file}.
@@ -320,7 +356,8 @@ var RawClient = class {
320
356
  * @returns The started large file metadata with file ID.
321
357
  */
322
358
  async startLargeFile(apiUrl, authToken, request, options) {
323
- return this.postJson(apiUrl, authToken, "b2_start_large_file", request, options);
359
+ assertRawCustomUploadTimestamp(request.customUploadTimestamp);
360
+ return require_normalize.normalizeFileVersionSha1(await this.postJson(apiUrl, authToken, "b2_start_large_file", withJsonBodyWireSseC(request), options));
324
361
  }
325
362
  /**
326
363
  * Implementation for both upload part URL request-control signatures.
@@ -347,6 +384,8 @@ var RawClient = class {
347
384
  */
348
385
  async uploadPart(uploadUrl, headers, body, optionsOrSignal, retry) {
349
386
  const options = normalizeRawRequestOptions(optionsOrSignal, retry);
387
+ assertSafeHttpHeaderValue("authorization", headers.authorization);
388
+ assertSafeHttpHeaderValue("contentSha1", headers.contentSha1);
350
389
  const reqHeaders = {
351
390
  Authorization: headers.authorization,
352
391
  "X-Bz-Part-Number": String(headers.partNumber),
@@ -379,7 +418,10 @@ var RawClient = class {
379
418
  */
380
419
  async finishLargeFile(apiUrl, authToken, request, options) {
381
420
  const response = await this.transport.send({
382
- url: `${apiUrl}/b2api/v3/b2_finish_large_file`,
421
+ url: require_url.b2Url(apiUrl, {
422
+ ...B2_NATIVE_API,
423
+ endpoint: "b2_finish_large_file"
424
+ }),
383
425
  method: "POST",
384
426
  headers: {
385
427
  Authorization: authToken,
@@ -422,7 +464,7 @@ var RawClient = class {
422
464
  * @returns The list of unfinished large files and optional continuation token.
423
465
  */
424
466
  async listUnfinishedLargeFiles(apiUrl, authToken, request, options) {
425
- return this.postJson(apiUrl, authToken, "b2_list_unfinished_large_files", request, options);
467
+ return require_normalize.normalizeFileVersionListSha1(await this.postJson(apiUrl, authToken, "b2_list_unfinished_large_files", request, options));
426
468
  }
427
469
  /**
428
470
  * Calls {@link https://www.backblaze.com/apidocs/b2-list-parts | b2_list_parts}.
@@ -447,7 +489,10 @@ var RawClient = class {
447
489
  */
448
490
  async downloadFileById(downloadUrl, authToken, fileId, options) {
449
491
  const headers = buildDownloadRequestHeaders(authToken, options);
450
- const url = appendDownloadOverrides(`${downloadUrl}/b2api/v3/b2_download_file_by_id?fileId=${encodeURIComponent(fileId)}`, options);
492
+ const url = appendDownloadOverrides(`${require_url.b2Url(downloadUrl, {
493
+ ...B2_NATIVE_API,
494
+ endpoint: "b2_download_file_by_id"
495
+ })}?fileId=${encodeURIComponent(fileId)}`, options);
451
496
  const response = await this.transport.send({
452
497
  url,
453
498
  method: options?.method ?? "GET",
@@ -505,7 +550,7 @@ var RawClient = class {
505
550
  * @returns The newly created application key with secret.
506
551
  */
507
552
  async createKey(apiUrl, authToken, request) {
508
- return normalizeKeyResponse(await this.postJson(apiUrl, authToken, "b2_create_key", normalizeCreateKeyRequest(request), void 0, "v4"));
553
+ return normalizeKeyResponse(await this.postJson(apiUrl, authToken, "b2_create_key", normalizeCreateKeyRequest(request)));
509
554
  }
510
555
  /**
511
556
  * Calls {@link https://www.backblaze.com/apidocs/b2-list-keys | b2_list_keys}.
@@ -516,7 +561,7 @@ var RawClient = class {
516
561
  * @returns The list of application keys and optional continuation token.
517
562
  */
518
563
  async listKeys(apiUrl, authToken, request) {
519
- const response = await this.postJson(apiUrl, authToken, "b2_list_keys", request, void 0, "v4");
564
+ const response = await this.postJson(apiUrl, authToken, "b2_list_keys", request);
520
565
  return {
521
566
  ...response,
522
567
  keys: response.keys.map((key) => normalizeKeyResponse(key))
@@ -531,7 +576,7 @@ var RawClient = class {
531
576
  * @returns The deleted application key metadata.
532
577
  */
533
578
  async deleteKey(apiUrl, authToken, request) {
534
- return normalizeKeyResponse(await this.postJson(apiUrl, authToken, "b2_delete_key", request, void 0, "v4"));
579
+ return normalizeKeyResponse(await this.postJson(apiUrl, authToken, "b2_delete_key", request));
535
580
  }
536
581
  /**
537
582
  * Calls {@link https://www.backblaze.com/apidocs/b2-update-file-retention | b2_update_file_retention}.
@@ -584,13 +629,15 @@ var RawClient = class {
584
629
  * @param endpoint - The B2 API endpoint name.
585
630
  * @param body - The JSON request body.
586
631
  * @param options - Optional abort and per-request retry settings.
587
- * @param apiVersion - B2 Native API version segment for this endpoint.
588
632
  *
589
633
  * @returns The parsed JSON response.
590
634
  */
591
- async postJson(apiUrl, authToken, endpoint, body, options, apiVersion = "v3") {
635
+ async postJson(apiUrl, authToken, endpoint, body, options) {
592
636
  return (await this.transport.send({
593
- url: `${apiUrl}/b2api/${apiVersion}/${endpoint}`,
637
+ url: require_url.b2Url(apiUrl, {
638
+ ...B2_NATIVE_API,
639
+ endpoint
640
+ }),
594
641
  method: "POST",
595
642
  headers: {
596
643
  Authorization: authToken,
@@ -602,6 +649,23 @@ var RawClient = class {
602
649
  })).json();
603
650
  }
604
651
  };
652
+ function withJsonBodyWireSseC(request) {
653
+ return {
654
+ ...request,
655
+ ...request.serverSideEncryption !== void 0 ? { serverSideEncryption: toWireSseC(request.serverSideEncryption) } : {},
656
+ ...request.sourceServerSideEncryption !== void 0 ? { sourceServerSideEncryption: toWireSseC(request.sourceServerSideEncryption) } : {},
657
+ ...request.destinationServerSideEncryption !== void 0 ? { destinationServerSideEncryption: toWireSseC(request.destinationServerSideEncryption) } : {}
658
+ };
659
+ }
660
+ function toWireSseC(setting) {
661
+ if (setting.mode !== require_encryption.EncryptionMode.SseC) return setting;
662
+ return {
663
+ mode: require_encryption.EncryptionMode.SseC,
664
+ algorithm: setting.algorithm,
665
+ customerKey: setting.customerKey,
666
+ customerKeyMd5: setting.customerKeyMd5
667
+ };
668
+ }
605
669
  /**
606
670
  * Applies server-side encryption headers to the request.
607
671
  * @param headers - The mutable headers object to populate.
@@ -636,10 +700,15 @@ var DOWNLOAD_OVERRIDE_PARAMS = [
636
700
  function buildDownloadRequestHeaders(authToken, options) {
637
701
  const headers = { Authorization: authToken };
638
702
  if (options?.range) headers["Range"] = options.range;
639
- if (options?.serverSideEncryption) applyEncryptionHeaders(headers, {
640
- mode: require_encryption.EncryptionMode.SseC,
641
- ...options.serverSideEncryption
642
- });
703
+ if (options?.serverSideEncryption) {
704
+ const encryption = options.serverSideEncryption;
705
+ applyEncryptionHeaders(headers, {
706
+ mode: require_encryption.EncryptionMode.SseC,
707
+ algorithm: encryption.algorithm,
708
+ customerKey: encryption.customerKey,
709
+ customerKeyMd5: encryption.customerKeyMd5
710
+ });
711
+ }
643
712
  return headers;
644
713
  }
645
714
  /**
@@ -682,7 +751,25 @@ function applyLegalHoldHeader(headers, legalHold) {
682
751
  headers["X-Bz-File-Legal-Hold"] = legalHold;
683
752
  }
684
753
  //#endregion
754
+ exports.BUCKET_INFO_KEY_MAX_BYTES = require_bucket.BUCKET_INFO_KEY_MAX_BYTES;
755
+ exports.BUCKET_INFO_KEY_MIN_BYTES = require_bucket.BUCKET_INFO_KEY_MIN_BYTES;
756
+ exports.BUCKET_INFO_KEY_PATTERN = require_bucket.BUCKET_INFO_KEY_PATTERN;
757
+ exports.BUCKET_INFO_RESERVED_PREFIX = require_bucket.BUCKET_INFO_RESERVED_PREFIX;
758
+ exports.BUCKET_INFO_VALUES_MAX_BYTES = require_bucket.BUCKET_INFO_VALUES_MAX_BYTES;
759
+ exports.BucketKeyOption = require_bucket.BucketKeyOption;
760
+ exports.CORS_ALLOWED_OPERATIONS = require_bucket.CORS_ALLOWED_OPERATIONS;
761
+ exports.CORS_MAX_AGE_SECONDS_MAX = require_bucket.CORS_MAX_AGE_SECONDS_MAX;
762
+ exports.CORS_RULES_MAX_COUNT = require_bucket.CORS_RULES_MAX_COUNT;
763
+ exports.CORS_RULE_MAX_BYTES = require_bucket.CORS_RULE_MAX_BYTES;
764
+ exports.CORS_RULE_NAME_MAX_LENGTH = require_bucket.CORS_RULE_NAME_MAX_LENGTH;
765
+ exports.CORS_RULE_NAME_MIN_LENGTH = require_bucket.CORS_RULE_NAME_MIN_LENGTH;
766
+ exports.CORS_RULE_NAME_PATTERN = require_bucket.CORS_RULE_NAME_PATTERN;
767
+ exports.CORS_RULE_NAME_RESERVED_PREFIX = require_bucket.CORS_RULE_NAME_RESERVED_PREFIX;
768
+ exports.CorsOperation = require_bucket.CorsOperation;
685
769
  exports.RawClient = RawClient;
770
+ exports.assertValidBucketConfiguration = require_bucket_validation.assertValidBucketConfiguration;
771
+ exports.assertValidBucketInfo = require_bucket_validation.assertValidBucketInfo;
772
+ exports.assertValidCorsRules = require_bucket_validation.assertValidCorsRules;
686
773
  exports.buildFileInfoHeaders = require_encoding.buildFileInfoHeaders;
687
774
  exports.decodeFileName = require_encoding.decodeFileName;
688
775
  exports.encodeFileName = require_encoding.encodeFileName;