@backblaze-labs/b2-sdk 0.1.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 (512) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/LICENSE +21 -0
  3. package/README.md +664 -0
  4. package/dist/auth/account-info.d.cts +51 -0
  5. package/dist/auth/account-info.d.cts.map +1 -0
  6. package/dist/auth/account-info.d.ts +51 -0
  7. package/dist/auth/account-info.d.ts.map +1 -0
  8. package/dist/auth/file.cjs +210 -0
  9. package/dist/auth/file.cjs.map +1 -0
  10. package/dist/auth/file.d.cts +157 -0
  11. package/dist/auth/file.d.cts.map +1 -0
  12. package/dist/auth/file.d.ts +157 -0
  13. package/dist/auth/file.d.ts.map +1 -0
  14. package/dist/auth/file.js +210 -0
  15. package/dist/auth/file.js.map +1 -0
  16. package/dist/auth/in-memory.cjs +184 -0
  17. package/dist/auth/in-memory.cjs.map +1 -0
  18. package/dist/auth/in-memory.d.cts +147 -0
  19. package/dist/auth/in-memory.d.cts.map +1 -0
  20. package/dist/auth/in-memory.d.ts +147 -0
  21. package/dist/auth/in-memory.d.ts.map +1 -0
  22. package/dist/auth/in-memory.js +184 -0
  23. package/dist/auth/in-memory.js.map +1 -0
  24. package/dist/auth/index.cjs +10 -0
  25. package/dist/auth/index.cjs.map +1 -0
  26. package/dist/auth/index.d.cts +6 -0
  27. package/dist/auth/index.d.cts.map +1 -0
  28. package/dist/auth/index.d.ts +6 -0
  29. package/dist/auth/index.d.ts.map +1 -0
  30. package/dist/auth/index.js +10 -0
  31. package/dist/auth/index.js.map +1 -0
  32. package/dist/auth/realms.cjs +12 -0
  33. package/dist/auth/realms.cjs.map +1 -0
  34. package/dist/auth/realms.d.cts +12 -0
  35. package/dist/auth/realms.d.cts.map +1 -0
  36. package/dist/auth/realms.d.ts +12 -0
  37. package/dist/auth/realms.d.ts.map +1 -0
  38. package/dist/auth/realms.js +12 -0
  39. package/dist/auth/realms.js.map +1 -0
  40. package/dist/auth/upload-url-pool.cjs +52 -0
  41. package/dist/auth/upload-url-pool.cjs.map +1 -0
  42. package/dist/auth/upload-url-pool.d.cts +35 -0
  43. package/dist/auth/upload-url-pool.d.cts.map +1 -0
  44. package/dist/auth/upload-url-pool.d.ts +35 -0
  45. package/dist/auth/upload-url-pool.d.ts.map +1 -0
  46. package/dist/auth/upload-url-pool.js +52 -0
  47. package/dist/auth/upload-url-pool.js.map +1 -0
  48. package/dist/bucket.cjs +789 -0
  49. package/dist/bucket.cjs.map +1 -0
  50. package/dist/bucket.d.cts +659 -0
  51. package/dist/bucket.d.cts.map +1 -0
  52. package/dist/bucket.d.ts +659 -0
  53. package/dist/bucket.d.ts.map +1 -0
  54. package/dist/bucket.js +789 -0
  55. package/dist/bucket.js.map +1 -0
  56. package/dist/client.cjs +230 -0
  57. package/dist/client.cjs.map +1 -0
  58. package/dist/client.d.cts +222 -0
  59. package/dist/client.d.cts.map +1 -0
  60. package/dist/client.d.ts +222 -0
  61. package/dist/client.d.ts.map +1 -0
  62. package/dist/client.js +230 -0
  63. package/dist/client.js.map +1 -0
  64. package/dist/copy/large.cjs +74 -0
  65. package/dist/copy/large.cjs.map +1 -0
  66. package/dist/copy/large.d.cts +53 -0
  67. package/dist/copy/large.d.cts.map +1 -0
  68. package/dist/copy/large.d.ts +53 -0
  69. package/dist/copy/large.d.ts.map +1 -0
  70. package/dist/copy/large.js +74 -0
  71. package/dist/copy/large.js.map +1 -0
  72. package/dist/download/parallel.cjs +122 -0
  73. package/dist/download/parallel.cjs.map +1 -0
  74. package/dist/download/parallel.d.cts +42 -0
  75. package/dist/download/parallel.d.cts.map +1 -0
  76. package/dist/download/parallel.d.ts +42 -0
  77. package/dist/download/parallel.d.ts.map +1 -0
  78. package/dist/download/parallel.js +122 -0
  79. package/dist/download/parallel.js.map +1 -0
  80. package/dist/download/single.cjs +117 -0
  81. package/dist/download/single.cjs.map +1 -0
  82. package/dist/download/single.d.cts +152 -0
  83. package/dist/download/single.d.cts.map +1 -0
  84. package/dist/download/single.d.ts +152 -0
  85. package/dist/download/single.d.ts.map +1 -0
  86. package/dist/download/single.js +117 -0
  87. package/dist/download/single.js.map +1 -0
  88. package/dist/errors/index.cjs +268 -0
  89. package/dist/errors/index.cjs.map +1 -0
  90. package/dist/errors/index.d.cts +264 -0
  91. package/dist/errors/index.d.cts.map +1 -0
  92. package/dist/errors/index.d.ts +264 -0
  93. package/dist/errors/index.d.ts.map +1 -0
  94. package/dist/errors/index.js +268 -0
  95. package/dist/errors/index.js.map +1 -0
  96. package/dist/http/retry.cjs +36 -0
  97. package/dist/http/retry.cjs.map +1 -0
  98. package/dist/http/retry.d.cts +34 -0
  99. package/dist/http/retry.d.cts.map +1 -0
  100. package/dist/http/retry.d.ts +34 -0
  101. package/dist/http/retry.d.ts.map +1 -0
  102. package/dist/http/retry.js +36 -0
  103. package/dist/http/retry.js.map +1 -0
  104. package/dist/http/transport.cjs +143 -0
  105. package/dist/http/transport.cjs.map +1 -0
  106. package/dist/http/transport.d.cts +122 -0
  107. package/dist/http/transport.d.cts.map +1 -0
  108. package/dist/http/transport.d.ts +122 -0
  109. package/dist/http/transport.d.ts.map +1 -0
  110. package/dist/http/transport.js +143 -0
  111. package/dist/http/transport.js.map +1 -0
  112. package/dist/http/url-guard.cjs +97 -0
  113. package/dist/http/url-guard.cjs.map +1 -0
  114. package/dist/http/url-guard.d.cts +88 -0
  115. package/dist/http/url-guard.d.cts.map +1 -0
  116. package/dist/http/url-guard.d.ts +88 -0
  117. package/dist/http/url-guard.d.ts.map +1 -0
  118. package/dist/http/url-guard.js +97 -0
  119. package/dist/http/url-guard.js.map +1 -0
  120. package/dist/http/user-agent.cjs +51 -0
  121. package/dist/http/user-agent.cjs.map +1 -0
  122. package/dist/http/user-agent.d.cts +28 -0
  123. package/dist/http/user-agent.d.cts.map +1 -0
  124. package/dist/http/user-agent.d.ts +28 -0
  125. package/dist/http/user-agent.d.ts.map +1 -0
  126. package/dist/http/user-agent.js +51 -0
  127. package/dist/http/user-agent.js.map +1 -0
  128. package/dist/index.cjs +78 -0
  129. package/dist/index.cjs.map +1 -0
  130. package/dist/index.d.cts +39 -0
  131. package/dist/index.d.cts.map +1 -0
  132. package/dist/index.d.ts +39 -0
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +78 -0
  135. package/dist/index.js.map +1 -0
  136. package/dist/notifications/index.cjs +7 -0
  137. package/dist/notifications/index.cjs.map +1 -0
  138. package/dist/notifications/index.d.cts +3 -0
  139. package/dist/notifications/index.d.cts.map +1 -0
  140. package/dist/notifications/index.d.ts +3 -0
  141. package/dist/notifications/index.d.ts.map +1 -0
  142. package/dist/notifications/index.js +7 -0
  143. package/dist/notifications/index.js.map +1 -0
  144. package/dist/notifications/webhook.cjs +106 -0
  145. package/dist/notifications/webhook.cjs.map +1 -0
  146. package/dist/notifications/webhook.d.cts +146 -0
  147. package/dist/notifications/webhook.d.cts.map +1 -0
  148. package/dist/notifications/webhook.d.ts +146 -0
  149. package/dist/notifications/webhook.d.ts.map +1 -0
  150. package/dist/notifications/webhook.js +106 -0
  151. package/dist/notifications/webhook.js.map +1 -0
  152. package/dist/object.cjs +212 -0
  153. package/dist/object.cjs.map +1 -0
  154. package/dist/object.d.cts +263 -0
  155. package/dist/object.d.cts.map +1 -0
  156. package/dist/object.d.ts +263 -0
  157. package/dist/object.d.ts.map +1 -0
  158. package/dist/object.js +212 -0
  159. package/dist/object.js.map +1 -0
  160. package/dist/package.json.cjs +9 -0
  161. package/dist/package.json.cjs.map +1 -0
  162. package/dist/package.json.js +9 -0
  163. package/dist/package.json.js.map +1 -0
  164. package/dist/raw/encoding.cjs +47 -0
  165. package/dist/raw/encoding.cjs.map +1 -0
  166. package/dist/raw/encoding.d.cts +46 -0
  167. package/dist/raw/encoding.d.cts.map +1 -0
  168. package/dist/raw/encoding.d.ts +46 -0
  169. package/dist/raw/encoding.d.ts.map +1 -0
  170. package/dist/raw/encoding.js +47 -0
  171. package/dist/raw/encoding.js.map +1 -0
  172. package/dist/raw/index.cjs +600 -0
  173. package/dist/raw/index.cjs.map +1 -0
  174. package/dist/raw/index.d.cts +381 -0
  175. package/dist/raw/index.d.cts.map +1 -0
  176. package/dist/raw/index.d.ts +381 -0
  177. package/dist/raw/index.d.ts.map +1 -0
  178. package/dist/raw/index.js +601 -0
  179. package/dist/raw/index.js.map +1 -0
  180. package/dist/s3/index.cjs +23 -0
  181. package/dist/s3/index.cjs.map +1 -0
  182. package/dist/s3/index.d.cts +74 -0
  183. package/dist/s3/index.d.cts.map +1 -0
  184. package/dist/s3/index.d.ts +74 -0
  185. package/dist/s3/index.d.ts.map +1 -0
  186. package/dist/s3/index.js +23 -0
  187. package/dist/s3/index.js.map +1 -0
  188. package/dist/simulator/capabilities.cjs +53 -0
  189. package/dist/simulator/capabilities.cjs.map +1 -0
  190. package/dist/simulator/capabilities.d.cts +15 -0
  191. package/dist/simulator/capabilities.d.cts.map +1 -0
  192. package/dist/simulator/capabilities.d.ts +15 -0
  193. package/dist/simulator/capabilities.d.ts.map +1 -0
  194. package/dist/simulator/capabilities.js +53 -0
  195. package/dist/simulator/capabilities.js.map +1 -0
  196. package/dist/simulator/index.cjs +1559 -0
  197. package/dist/simulator/index.cjs.map +1 -0
  198. package/dist/simulator/index.d.cts +495 -0
  199. package/dist/simulator/index.d.cts.map +1 -0
  200. package/dist/simulator/index.d.ts +495 -0
  201. package/dist/simulator/index.d.ts.map +1 -0
  202. package/dist/simulator/index.js +1560 -0
  203. package/dist/simulator/index.js.map +1 -0
  204. package/dist/simulator/validation.cjs +174 -0
  205. package/dist/simulator/validation.cjs.map +1 -0
  206. package/dist/simulator/validation.d.cts +104 -0
  207. package/dist/simulator/validation.d.cts.map +1 -0
  208. package/dist/simulator/validation.d.ts +104 -0
  209. package/dist/simulator/validation.d.ts.map +1 -0
  210. package/dist/simulator/validation.js +174 -0
  211. package/dist/simulator/validation.js.map +1 -0
  212. package/dist/streams/collect.cjs +26 -0
  213. package/dist/streams/collect.cjs.map +1 -0
  214. package/dist/streams/collect.d.cts +18 -0
  215. package/dist/streams/collect.d.cts.map +1 -0
  216. package/dist/streams/collect.d.ts +18 -0
  217. package/dist/streams/collect.d.ts.map +1 -0
  218. package/dist/streams/collect.js +26 -0
  219. package/dist/streams/collect.js.map +1 -0
  220. package/dist/streams/hash.cjs +123 -0
  221. package/dist/streams/hash.cjs.map +1 -0
  222. package/dist/streams/hash.d.cts +42 -0
  223. package/dist/streams/hash.d.cts.map +1 -0
  224. package/dist/streams/hash.d.ts +42 -0
  225. package/dist/streams/hash.d.ts.map +1 -0
  226. package/dist/streams/hash.js +101 -0
  227. package/dist/streams/hash.js.map +1 -0
  228. package/dist/streams/index.cjs +13 -0
  229. package/dist/streams/index.cjs.map +1 -0
  230. package/dist/streams/index.d.cts +7 -0
  231. package/dist/streams/index.d.cts.map +1 -0
  232. package/dist/streams/index.d.ts +7 -0
  233. package/dist/streams/index.d.ts.map +1 -0
  234. package/dist/streams/index.js +13 -0
  235. package/dist/streams/index.js.map +1 -0
  236. package/dist/streams/progress.cjs +47 -0
  237. package/dist/streams/progress.cjs.map +1 -0
  238. package/dist/streams/progress.d.cts +53 -0
  239. package/dist/streams/progress.d.cts.map +1 -0
  240. package/dist/streams/progress.d.ts +53 -0
  241. package/dist/streams/progress.d.ts.map +1 -0
  242. package/dist/streams/progress.js +47 -0
  243. package/dist/streams/progress.js.map +1 -0
  244. package/dist/streams/source.cjs +155 -0
  245. package/dist/streams/source.cjs.map +1 -0
  246. package/dist/streams/source.d.cts +140 -0
  247. package/dist/streams/source.d.cts.map +1 -0
  248. package/dist/streams/source.d.ts +140 -0
  249. package/dist/streams/source.d.ts.map +1 -0
  250. package/dist/streams/source.js +155 -0
  251. package/dist/streams/source.js.map +1 -0
  252. package/dist/sync/actions/index.cjs +191 -0
  253. package/dist/sync/actions/index.cjs.map +1 -0
  254. package/dist/sync/actions/index.d.cts +167 -0
  255. package/dist/sync/actions/index.d.cts.map +1 -0
  256. package/dist/sync/actions/index.d.ts +167 -0
  257. package/dist/sync/actions/index.d.ts.map +1 -0
  258. package/dist/sync/actions/index.js +191 -0
  259. package/dist/sync/actions/index.js.map +1 -0
  260. package/dist/sync/index.cjs +23 -0
  261. package/dist/sync/index.cjs.map +1 -0
  262. package/dist/sync/index.d.cts +21 -0
  263. package/dist/sync/index.d.cts.map +1 -0
  264. package/dist/sync/index.d.ts +21 -0
  265. package/dist/sync/index.d.ts.map +1 -0
  266. package/dist/sync/index.js +23 -0
  267. package/dist/sync/index.js.map +1 -0
  268. package/dist/sync/pairing.cjs +31 -0
  269. package/dist/sync/pairing.cjs.map +1 -0
  270. package/dist/sync/pairing.d.cts +13 -0
  271. package/dist/sync/pairing.d.cts.map +1 -0
  272. package/dist/sync/pairing.d.ts +13 -0
  273. package/dist/sync/pairing.d.ts.map +1 -0
  274. package/dist/sync/pairing.js +31 -0
  275. package/dist/sync/pairing.js.map +1 -0
  276. package/dist/sync/policies/compare.cjs +14 -0
  277. package/dist/sync/policies/compare.cjs.map +1 -0
  278. package/dist/sync/policies/compare.d.cts +13 -0
  279. package/dist/sync/policies/compare.d.cts.map +1 -0
  280. package/dist/sync/policies/compare.d.ts +13 -0
  281. package/dist/sync/policies/compare.d.ts.map +1 -0
  282. package/dist/sync/policies/compare.js +14 -0
  283. package/dist/sync/policies/compare.js.map +1 -0
  284. package/dist/sync/policies/index.cjs +74 -0
  285. package/dist/sync/policies/index.cjs.map +1 -0
  286. package/dist/sync/policies/index.d.cts +42 -0
  287. package/dist/sync/policies/index.d.cts.map +1 -0
  288. package/dist/sync/policies/index.d.ts +42 -0
  289. package/dist/sync/policies/index.d.ts.map +1 -0
  290. package/dist/sync/policies/index.js +74 -0
  291. package/dist/sync/policies/index.js.map +1 -0
  292. package/dist/sync/scanners/b2.cjs +57 -0
  293. package/dist/sync/scanners/b2.cjs.map +1 -0
  294. package/dist/sync/scanners/b2.d.cts +20 -0
  295. package/dist/sync/scanners/b2.d.cts.map +1 -0
  296. package/dist/sync/scanners/b2.d.ts +20 -0
  297. package/dist/sync/scanners/b2.d.ts.map +1 -0
  298. package/dist/sync/scanners/b2.js +57 -0
  299. package/dist/sync/scanners/b2.js.map +1 -0
  300. package/dist/sync/scanners/local.cjs +58 -0
  301. package/dist/sync/scanners/local.cjs.map +1 -0
  302. package/dist/sync/scanners/local.d.cts +24 -0
  303. package/dist/sync/scanners/local.d.cts.map +1 -0
  304. package/dist/sync/scanners/local.d.ts +24 -0
  305. package/dist/sync/scanners/local.d.ts.map +1 -0
  306. package/dist/sync/scanners/local.js +58 -0
  307. package/dist/sync/scanners/local.js.map +1 -0
  308. package/dist/sync/synchronizer.cjs +203 -0
  309. package/dist/sync/synchronizer.cjs.map +1 -0
  310. package/dist/sync/synchronizer.d.cts +52 -0
  311. package/dist/sync/synchronizer.d.cts.map +1 -0
  312. package/dist/sync/synchronizer.d.ts +52 -0
  313. package/dist/sync/synchronizer.d.ts.map +1 -0
  314. package/dist/sync/synchronizer.js +181 -0
  315. package/dist/sync/synchronizer.js.map +1 -0
  316. package/dist/sync/types.d.cts +121 -0
  317. package/dist/sync/types.d.cts.map +1 -0
  318. package/dist/sync/types.d.ts +121 -0
  319. package/dist/sync/types.d.ts.map +1 -0
  320. package/dist/types/auth.cjs +58 -0
  321. package/dist/types/auth.cjs.map +1 -0
  322. package/dist/types/auth.d.cts +150 -0
  323. package/dist/types/auth.d.cts.map +1 -0
  324. package/dist/types/auth.d.ts +150 -0
  325. package/dist/types/auth.d.ts.map +1 -0
  326. package/dist/types/auth.js +58 -0
  327. package/dist/types/auth.js.map +1 -0
  328. package/dist/types/bucket.cjs +44 -0
  329. package/dist/types/bucket.cjs.map +1 -0
  330. package/dist/types/bucket.d.cts +245 -0
  331. package/dist/types/bucket.d.cts.map +1 -0
  332. package/dist/types/bucket.d.ts +245 -0
  333. package/dist/types/bucket.d.ts.map +1 -0
  334. package/dist/types/bucket.js +44 -0
  335. package/dist/types/bucket.js.map +1 -0
  336. package/dist/types/download.d.cts +110 -0
  337. package/dist/types/download.d.cts.map +1 -0
  338. package/dist/types/download.d.ts +110 -0
  339. package/dist/types/download.d.ts.map +1 -0
  340. package/dist/types/encryption.cjs +343 -0
  341. package/dist/types/encryption.cjs.map +1 -0
  342. package/dist/types/encryption.d.cts +132 -0
  343. package/dist/types/encryption.d.cts.map +1 -0
  344. package/dist/types/encryption.d.ts +132 -0
  345. package/dist/types/encryption.d.ts.map +1 -0
  346. package/dist/types/encryption.js +321 -0
  347. package/dist/types/encryption.js.map +1 -0
  348. package/dist/types/errors.d.cts +16 -0
  349. package/dist/types/errors.d.cts.map +1 -0
  350. package/dist/types/errors.d.ts +16 -0
  351. package/dist/types/errors.d.ts.map +1 -0
  352. package/dist/types/file.cjs +23 -0
  353. package/dist/types/file.cjs.map +1 -0
  354. package/dist/types/file.d.cts +220 -0
  355. package/dist/types/file.d.cts.map +1 -0
  356. package/dist/types/file.d.ts +220 -0
  357. package/dist/types/file.d.ts.map +1 -0
  358. package/dist/types/file.js +23 -0
  359. package/dist/types/file.js.map +1 -0
  360. package/dist/types/ids.cjs +27 -0
  361. package/dist/types/ids.cjs.map +1 -0
  362. package/dist/types/ids.d.cts +84 -0
  363. package/dist/types/ids.d.cts.map +1 -0
  364. package/dist/types/ids.d.ts +84 -0
  365. package/dist/types/ids.d.ts.map +1 -0
  366. package/dist/types/ids.js +27 -0
  367. package/dist/types/ids.js.map +1 -0
  368. package/dist/types/index.d.cts +25 -0
  369. package/dist/types/index.d.cts.map +1 -0
  370. package/dist/types/index.d.ts +25 -0
  371. package/dist/types/index.d.ts.map +1 -0
  372. package/dist/types/key.d.cts +84 -0
  373. package/dist/types/key.d.cts.map +1 -0
  374. package/dist/types/key.d.ts +84 -0
  375. package/dist/types/key.d.ts.map +1 -0
  376. package/dist/types/lock.cjs +17 -0
  377. package/dist/types/lock.cjs.map +1 -0
  378. package/dist/types/lock.d.cts +92 -0
  379. package/dist/types/lock.d.cts.map +1 -0
  380. package/dist/types/lock.d.ts +92 -0
  381. package/dist/types/lock.d.ts.map +1 -0
  382. package/dist/types/lock.js +17 -0
  383. package/dist/types/lock.js.map +1 -0
  384. package/dist/types/notifications.cjs +24 -0
  385. package/dist/types/notifications.cjs.map +1 -0
  386. package/dist/types/notifications.d.cts +97 -0
  387. package/dist/types/notifications.d.cts.map +1 -0
  388. package/dist/types/notifications.d.ts +97 -0
  389. package/dist/types/notifications.d.ts.map +1 -0
  390. package/dist/types/notifications.js +24 -0
  391. package/dist/types/notifications.js.map +1 -0
  392. package/dist/types/replication.d.cts +42 -0
  393. package/dist/types/replication.d.cts.map +1 -0
  394. package/dist/types/replication.d.ts +42 -0
  395. package/dist/types/replication.d.ts.map +1 -0
  396. package/dist/types/upload.d.cts +219 -0
  397. package/dist/types/upload.d.cts.map +1 -0
  398. package/dist/types/upload.d.ts +219 -0
  399. package/dist/types/upload.d.ts.map +1 -0
  400. package/dist/upload/cancel.cjs +10 -0
  401. package/dist/upload/cancel.cjs.map +1 -0
  402. package/dist/upload/cancel.d.cts +23 -0
  403. package/dist/upload/cancel.d.cts.map +1 -0
  404. package/dist/upload/cancel.d.ts +23 -0
  405. package/dist/upload/cancel.d.ts.map +1 -0
  406. package/dist/upload/cancel.js +10 -0
  407. package/dist/upload/cancel.js.map +1 -0
  408. package/dist/upload/concurrency.cjs +54 -0
  409. package/dist/upload/concurrency.cjs.map +1 -0
  410. package/dist/upload/concurrency.d.cts +46 -0
  411. package/dist/upload/concurrency.d.cts.map +1 -0
  412. package/dist/upload/concurrency.d.ts +46 -0
  413. package/dist/upload/concurrency.d.ts.map +1 -0
  414. package/dist/upload/concurrency.js +54 -0
  415. package/dist/upload/concurrency.js.map +1 -0
  416. package/dist/upload/large.cjs +222 -0
  417. package/dist/upload/large.cjs.map +1 -0
  418. package/dist/upload/large.d.cts +71 -0
  419. package/dist/upload/large.d.cts.map +1 -0
  420. package/dist/upload/large.d.ts +71 -0
  421. package/dist/upload/large.d.ts.map +1 -0
  422. package/dist/upload/large.js +222 -0
  423. package/dist/upload/large.js.map +1 -0
  424. package/dist/upload/resume.cjs +34 -0
  425. package/dist/upload/resume.cjs.map +1 -0
  426. package/dist/upload/resume.d.cts +33 -0
  427. package/dist/upload/resume.d.cts.map +1 -0
  428. package/dist/upload/resume.d.ts +33 -0
  429. package/dist/upload/resume.d.ts.map +1 -0
  430. package/dist/upload/resume.js +34 -0
  431. package/dist/upload/resume.js.map +1 -0
  432. package/dist/upload/single.cjs +47 -0
  433. package/dist/upload/single.cjs.map +1 -0
  434. package/dist/upload/single.d.cts +51 -0
  435. package/dist/upload/single.d.cts.map +1 -0
  436. package/dist/upload/single.d.ts +51 -0
  437. package/dist/upload/single.d.ts.map +1 -0
  438. package/dist/upload/single.js +47 -0
  439. package/dist/upload/single.js.map +1 -0
  440. package/dist/upload/stream.cjs +198 -0
  441. package/dist/upload/stream.cjs.map +1 -0
  442. package/dist/upload/stream.d.cts +61 -0
  443. package/dist/upload/stream.d.cts.map +1 -0
  444. package/dist/upload/stream.d.ts +61 -0
  445. package/dist/upload/stream.d.ts.map +1 -0
  446. package/dist/upload/stream.js +198 -0
  447. package/dist/upload/stream.js.map +1 -0
  448. package/dist/util/best-effort.cjs +10 -0
  449. package/dist/util/best-effort.cjs.map +1 -0
  450. package/dist/util/best-effort.d.cts +31 -0
  451. package/dist/util/best-effort.d.cts.map +1 -0
  452. package/dist/util/best-effort.d.ts +31 -0
  453. package/dist/util/best-effort.d.ts.map +1 -0
  454. package/dist/util/best-effort.js +10 -0
  455. package/dist/util/best-effort.js.map +1 -0
  456. package/dist/util/defaults.cjs +11 -0
  457. package/dist/util/defaults.cjs.map +1 -0
  458. package/dist/util/defaults.d.cts +54 -0
  459. package/dist/util/defaults.d.cts.map +1 -0
  460. package/dist/util/defaults.d.ts +54 -0
  461. package/dist/util/defaults.d.ts.map +1 -0
  462. package/dist/util/defaults.js +11 -0
  463. package/dist/util/defaults.js.map +1 -0
  464. package/dist/util/normalize.cjs +16 -0
  465. package/dist/util/normalize.cjs.map +1 -0
  466. package/dist/util/normalize.d.cts +62 -0
  467. package/dist/util/normalize.d.cts.map +1 -0
  468. package/dist/util/normalize.d.ts +62 -0
  469. package/dist/util/normalize.d.ts.map +1 -0
  470. package/dist/util/normalize.js +16 -0
  471. package/dist/util/normalize.js.map +1 -0
  472. package/dist/util/paginator.cjs +20 -0
  473. package/dist/util/paginator.cjs.map +1 -0
  474. package/dist/util/paginator.d.cts +120 -0
  475. package/dist/util/paginator.d.cts.map +1 -0
  476. package/dist/util/paginator.d.ts +120 -0
  477. package/dist/util/paginator.d.ts.map +1 -0
  478. package/dist/util/paginator.js +20 -0
  479. package/dist/util/paginator.js.map +1 -0
  480. package/dist/util/plan-ranges.cjs +28 -0
  481. package/dist/util/plan-ranges.cjs.map +1 -0
  482. package/dist/util/plan-ranges.d.cts +56 -0
  483. package/dist/util/plan-ranges.d.cts.map +1 -0
  484. package/dist/util/plan-ranges.d.ts +56 -0
  485. package/dist/util/plan-ranges.d.ts.map +1 -0
  486. package/dist/util/plan-ranges.js +28 -0
  487. package/dist/util/plan-ranges.js.map +1 -0
  488. package/dist/util/text-codec.cjs +7 -0
  489. package/dist/util/text-codec.cjs.map +1 -0
  490. package/dist/util/text-codec.d.cts +26 -0
  491. package/dist/util/text-codec.d.cts.map +1 -0
  492. package/dist/util/text-codec.d.ts +26 -0
  493. package/dist/util/text-codec.d.ts.map +1 -0
  494. package/dist/util/text-codec.js +7 -0
  495. package/dist/util/text-codec.js.map +1 -0
  496. package/dist/util/to-error.cjs +7 -0
  497. package/dist/util/to-error.cjs.map +1 -0
  498. package/dist/util/to-error.d.cts +15 -0
  499. package/dist/util/to-error.d.cts.map +1 -0
  500. package/dist/util/to-error.d.ts +15 -0
  501. package/dist/util/to-error.d.ts.map +1 -0
  502. package/dist/util/to-error.js +7 -0
  503. package/dist/util/to-error.js.map +1 -0
  504. package/dist/version.cjs +6 -0
  505. package/dist/version.cjs.map +1 -0
  506. package/dist/version.d.cts +14 -0
  507. package/dist/version.d.cts.map +1 -0
  508. package/dist/version.d.ts +14 -0
  509. package/dist/version.d.ts.map +1 -0
  510. package/dist/version.js +6 -0
  511. package/dist/version.js.map +1 -0
  512. package/package.json +198 -0
@@ -0,0 +1,245 @@
1
+ import { EncryptionSetting } from './encryption.js';
2
+ import { AccountId, BucketId } from './ids.js';
3
+ import { ReplicationConfiguration } from './replication.js';
4
+ /**
5
+ * Named constants for the bucket access level.
6
+ *
7
+ * The {@link BucketType} type alias is derived from the values of this
8
+ * object, so the const is the single source of truth: adding a key here
9
+ * automatically widens the type union.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * await client.createBucket({ bucketName: 'my-app-logs', bucketType: BucketType.AllPrivate })
14
+ * ```
15
+ */
16
+ export declare const BucketType: {
17
+ /** Publicly downloadable without authentication. */
18
+ readonly AllPublic: "allPublic";
19
+ /** Requires a valid auth token to download. */
20
+ readonly AllPrivate: "allPrivate";
21
+ /** Internal snapshot bucket type, generally not user-created. */
22
+ readonly Snapshot: "snapshot";
23
+ /** B2-restricted bucket (e.g., for S3-compatible workflows). */
24
+ readonly Restricted: "restricted";
25
+ };
26
+ /** Access level for a B2 bucket. Derived from {@link BucketType}. */
27
+ export type BucketType = (typeof BucketType)[keyof typeof BucketType];
28
+ /** Rule that automatically hides or deletes files after a specified number of days. */
29
+ export interface LifecycleRule {
30
+ /** Days after hiding before automatic deletion, or null to never auto-delete hidden files. */
31
+ readonly daysFromHidingToDeleting: number | null;
32
+ /** Days after upload before automatic hiding, or null to never auto-hide. */
33
+ readonly daysFromUploadingToHiding: number | null;
34
+ /** File name prefix this rule applies to. Empty string matches all files. */
35
+ readonly fileNamePrefix: string;
36
+ }
37
+ /**
38
+ * Named constants for the B2 + S3 operations a CORS rule can permit.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * await bucket.update({
43
+ * corsRules: [{
44
+ * corsRuleName: 'browser-downloads',
45
+ * allowedOrigins: ['https://example.com'],
46
+ * allowedOperations: [CorsOperation.B2DownloadFileByName, CorsOperation.S3Get],
47
+ * allowedHeaders: null,
48
+ * exposeHeaders: null,
49
+ * maxAgeSeconds: 3600,
50
+ * }],
51
+ * })
52
+ * ```
53
+ */
54
+ export declare const CorsOperation: {
55
+ /** Native B2 download-by-name request. */
56
+ readonly B2DownloadFileByName: "b2_download_file_by_name";
57
+ /** Native B2 download-by-id request. */
58
+ readonly B2DownloadFileById: "b2_download_file_by_id";
59
+ /** Native B2 small-file upload. */
60
+ readonly B2UploadFile: "b2_upload_file";
61
+ /** Native B2 multipart-part upload. */
62
+ readonly B2UploadPart: "b2_upload_part";
63
+ /** S3-compatible DELETE. */
64
+ readonly S3Delete: "s3_delete";
65
+ /** S3-compatible GET. */
66
+ readonly S3Get: "s3_get";
67
+ /** S3-compatible HEAD. */
68
+ readonly S3Head: "s3_head";
69
+ /** S3-compatible POST. */
70
+ readonly S3Post: "s3_post";
71
+ /** S3-compatible PUT. */
72
+ readonly S3Put: "s3_put";
73
+ };
74
+ /**
75
+ * A B2 or S3 operation that a CORS rule can permit. Derived from
76
+ * {@link CorsOperation}.
77
+ */
78
+ export type CorsOperation = (typeof CorsOperation)[keyof typeof CorsOperation];
79
+ /** Cross-Origin Resource Sharing (CORS) rule for browser-based access to a bucket. */
80
+ export interface CorsRule {
81
+ /** Unique name identifying this CORS rule within the bucket. */
82
+ readonly corsRuleName: string;
83
+ /** Origins allowed to make cross-origin requests (e.g., `'https://example.com'`). */
84
+ readonly allowedOrigins: readonly string[];
85
+ /** B2 and S3 operations permitted by this rule. */
86
+ readonly allowedOperations: readonly CorsOperation[];
87
+ /** Request headers allowed in preflight requests, or null if none are allowed. */
88
+ readonly allowedHeaders: readonly string[] | null;
89
+ /** Response headers exposed to the browser, or null if none are exposed. */
90
+ readonly exposeHeaders: readonly string[] | null;
91
+ /** Maximum time (in seconds) browsers may cache the preflight response. */
92
+ readonly maxAgeSeconds: number;
93
+ }
94
+ /**
95
+ * Named constants for the bucket-level Object Lock retention mode.
96
+ *
97
+ * Pair with {@link BucketRetentionPolicy} when setting a bucket's default
98
+ * retention: `{ mode: BucketRetentionMode.Compliance, period: { duration: 30, unit: 'days' } }`.
99
+ */
100
+ export declare const BucketRetentionMode: {
101
+ /** Files cannot be deleted or modified during the retention period, even by the account owner. */
102
+ readonly Compliance: "compliance";
103
+ /** Files cannot be deleted during retention except by callers with the `bypassGovernance` capability. */
104
+ readonly Governance: "governance";
105
+ /** No default retention is applied to new uploads. */
106
+ readonly None: "none";
107
+ };
108
+ /** Bucket-level Object Lock retention mode. Derived from {@link BucketRetentionMode}. */
109
+ export type BucketRetentionMode = (typeof BucketRetentionMode)[keyof typeof BucketRetentionMode];
110
+ /** Duration and unit for a retention period. */
111
+ export interface RetentionPeriod {
112
+ /** Length of the retention period. */
113
+ readonly duration: number;
114
+ /** Time unit for the retention period. */
115
+ readonly unit: 'days' | 'years';
116
+ }
117
+ /** Default Object Lock retention policy applied to new files in a bucket. */
118
+ export interface BucketRetentionPolicy {
119
+ /** Retention mode for the policy. */
120
+ readonly mode: BucketRetentionMode;
121
+ /** Retention period, or null when mode is `'none'`. */
122
+ readonly period: RetentionPeriod | null;
123
+ }
124
+ /**
125
+ * Complete bucket metadata as returned by the B2 API.
126
+ * Corresponds to the bucket object in responses from `b2_list_buckets`, `b2_create_bucket`, and `b2_update_bucket`.
127
+ */
128
+ export interface BucketInfo {
129
+ /** Account that owns this bucket. */
130
+ readonly accountId: AccountId;
131
+ /** Unique identifier for this bucket. */
132
+ readonly bucketId: BucketId;
133
+ /** Globally unique name of this bucket. */
134
+ readonly bucketName: string;
135
+ /** Access level of this bucket. */
136
+ readonly bucketType: BucketType;
137
+ /** User-defined key-value metadata stored on the bucket. */
138
+ readonly bucketInfo: Record<string, string>;
139
+ /** CORS rules configured on this bucket. */
140
+ readonly corsRules: readonly CorsRule[];
141
+ /** Default server-side encryption setting for new files in this bucket. */
142
+ readonly defaultServerSideEncryption: EncryptionSetting;
143
+ /** File Lock configuration including authorization status and current settings. */
144
+ readonly fileLockConfiguration: {
145
+ /** Whether the caller is authorized to read file lock settings. */
146
+ readonly isClientAuthorizedToRead: boolean;
147
+ /** File lock settings, or null if the caller lacks read authorization. */
148
+ readonly value: {
149
+ /** Whether Object Lock is enabled on this bucket. */
150
+ readonly isFileLockEnabled: boolean;
151
+ /** Default retention policy for newly uploaded files. */
152
+ readonly defaultRetention: BucketRetentionPolicy;
153
+ } | null;
154
+ };
155
+ /** Lifecycle rules configured on this bucket. */
156
+ readonly lifecycleRules: readonly LifecycleRule[];
157
+ /** Set of options enabled on this bucket (e.g., `'s3'`). */
158
+ readonly options: readonly string[];
159
+ /** Monotonically increasing revision number, incremented on each bucket update. */
160
+ readonly revision: number;
161
+ /** Default retention policy for newly uploaded files. */
162
+ readonly defaultRetention: BucketRetentionPolicy;
163
+ /** Cross-region replication configuration for this bucket. */
164
+ readonly replicationConfiguration: ReplicationConfiguration;
165
+ }
166
+ /**
167
+ * Request parameters for the `b2_create_bucket` API call.
168
+ */
169
+ export interface CreateBucketRequest {
170
+ /** Account that will own the new bucket. */
171
+ readonly accountId: AccountId;
172
+ /** Globally unique name for the bucket. */
173
+ readonly bucketName: string;
174
+ /** Access level for the bucket. */
175
+ readonly bucketType: BucketType;
176
+ /** Optional user-defined key-value metadata. */
177
+ readonly bucketInfo?: Record<string, string>;
178
+ /** Optional CORS rules. */
179
+ readonly corsRules?: readonly CorsRule[];
180
+ /** Optional default server-side encryption setting. */
181
+ readonly defaultServerSideEncryption?: EncryptionSetting;
182
+ /** Optional default Object Lock retention policy. */
183
+ readonly defaultRetention?: BucketRetentionPolicy;
184
+ /** Whether to enable Object Lock on the bucket. Cannot be changed after creation. */
185
+ readonly fileLockEnabled?: boolean;
186
+ /** Optional lifecycle rules. */
187
+ readonly lifecycleRules?: readonly LifecycleRule[];
188
+ /** Optional replication configuration. */
189
+ readonly replicationConfiguration?: ReplicationConfiguration;
190
+ }
191
+ /**
192
+ * Request parameters for the `b2_update_bucket` API call.
193
+ */
194
+ export interface UpdateBucketRequest {
195
+ /** Account that owns the bucket. */
196
+ readonly accountId: AccountId;
197
+ /** ID of the bucket to update. */
198
+ readonly bucketId: BucketId;
199
+ /** New access level for the bucket. */
200
+ readonly bucketType?: BucketType;
201
+ /** Updated user-defined key-value metadata. Replaces all existing metadata. */
202
+ readonly bucketInfo?: Record<string, string>;
203
+ /** Updated CORS rules. Replaces all existing rules. */
204
+ readonly corsRules?: readonly CorsRule[];
205
+ /** Updated default server-side encryption setting. */
206
+ readonly defaultServerSideEncryption?: EncryptionSetting;
207
+ /** Updated default Object Lock retention policy. */
208
+ readonly defaultRetention?: BucketRetentionPolicy;
209
+ /** Whether to enable Object Lock. Can only transition from disabled to enabled. */
210
+ readonly fileLockEnabled?: boolean;
211
+ /** Updated lifecycle rules. Replaces all existing rules. */
212
+ readonly lifecycleRules?: readonly LifecycleRule[];
213
+ /** Updated replication configuration. */
214
+ readonly replicationConfiguration?: ReplicationConfiguration;
215
+ /** Optimistic locking: only update if the bucket's current revision matches this value. */
216
+ readonly ifRevisionIs?: number;
217
+ }
218
+ /**
219
+ * Request parameters for the `b2_list_buckets` API call.
220
+ */
221
+ export interface ListBucketsRequest {
222
+ /** Account whose buckets to list. */
223
+ readonly accountId: AccountId;
224
+ /** Optional filter to return only the bucket with this ID. */
225
+ readonly bucketId?: BucketId;
226
+ /** Optional filter to return only the bucket with this name. */
227
+ readonly bucketName?: string;
228
+ /** Optional filter to return only buckets of these types. */
229
+ readonly bucketTypes?: readonly BucketType[];
230
+ }
231
+ /** Response from the `b2_list_buckets` API call. */
232
+ export interface ListBucketsResponse {
233
+ /** Array of buckets matching the request filters. */
234
+ readonly buckets: readonly BucketInfo[];
235
+ }
236
+ /**
237
+ * Request parameters for the `b2_delete_bucket` API call.
238
+ */
239
+ export interface DeleteBucketRequest {
240
+ /** Account that owns the bucket. */
241
+ readonly accountId: AccountId;
242
+ /** ID of the bucket to delete. The bucket must be empty. */
243
+ readonly bucketId: BucketId;
244
+ }
245
+ //# sourceMappingURL=bucket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket.d.ts","sourceRoot":"","sources":["../../src/types/bucket.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,245 @@
1
+ import { EncryptionSetting } from './encryption.js';
2
+ import { AccountId, BucketId } from './ids.js';
3
+ import { ReplicationConfiguration } from './replication.js';
4
+ /**
5
+ * Named constants for the bucket access level.
6
+ *
7
+ * The {@link BucketType} type alias is derived from the values of this
8
+ * object, so the const is the single source of truth: adding a key here
9
+ * automatically widens the type union.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * await client.createBucket({ bucketName: 'my-app-logs', bucketType: BucketType.AllPrivate })
14
+ * ```
15
+ */
16
+ export declare const BucketType: {
17
+ /** Publicly downloadable without authentication. */
18
+ readonly AllPublic: "allPublic";
19
+ /** Requires a valid auth token to download. */
20
+ readonly AllPrivate: "allPrivate";
21
+ /** Internal snapshot bucket type, generally not user-created. */
22
+ readonly Snapshot: "snapshot";
23
+ /** B2-restricted bucket (e.g., for S3-compatible workflows). */
24
+ readonly Restricted: "restricted";
25
+ };
26
+ /** Access level for a B2 bucket. Derived from {@link BucketType}. */
27
+ export type BucketType = (typeof BucketType)[keyof typeof BucketType];
28
+ /** Rule that automatically hides or deletes files after a specified number of days. */
29
+ export interface LifecycleRule {
30
+ /** Days after hiding before automatic deletion, or null to never auto-delete hidden files. */
31
+ readonly daysFromHidingToDeleting: number | null;
32
+ /** Days after upload before automatic hiding, or null to never auto-hide. */
33
+ readonly daysFromUploadingToHiding: number | null;
34
+ /** File name prefix this rule applies to. Empty string matches all files. */
35
+ readonly fileNamePrefix: string;
36
+ }
37
+ /**
38
+ * Named constants for the B2 + S3 operations a CORS rule can permit.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * await bucket.update({
43
+ * corsRules: [{
44
+ * corsRuleName: 'browser-downloads',
45
+ * allowedOrigins: ['https://example.com'],
46
+ * allowedOperations: [CorsOperation.B2DownloadFileByName, CorsOperation.S3Get],
47
+ * allowedHeaders: null,
48
+ * exposeHeaders: null,
49
+ * maxAgeSeconds: 3600,
50
+ * }],
51
+ * })
52
+ * ```
53
+ */
54
+ export declare const CorsOperation: {
55
+ /** Native B2 download-by-name request. */
56
+ readonly B2DownloadFileByName: "b2_download_file_by_name";
57
+ /** Native B2 download-by-id request. */
58
+ readonly B2DownloadFileById: "b2_download_file_by_id";
59
+ /** Native B2 small-file upload. */
60
+ readonly B2UploadFile: "b2_upload_file";
61
+ /** Native B2 multipart-part upload. */
62
+ readonly B2UploadPart: "b2_upload_part";
63
+ /** S3-compatible DELETE. */
64
+ readonly S3Delete: "s3_delete";
65
+ /** S3-compatible GET. */
66
+ readonly S3Get: "s3_get";
67
+ /** S3-compatible HEAD. */
68
+ readonly S3Head: "s3_head";
69
+ /** S3-compatible POST. */
70
+ readonly S3Post: "s3_post";
71
+ /** S3-compatible PUT. */
72
+ readonly S3Put: "s3_put";
73
+ };
74
+ /**
75
+ * A B2 or S3 operation that a CORS rule can permit. Derived from
76
+ * {@link CorsOperation}.
77
+ */
78
+ export type CorsOperation = (typeof CorsOperation)[keyof typeof CorsOperation];
79
+ /** Cross-Origin Resource Sharing (CORS) rule for browser-based access to a bucket. */
80
+ export interface CorsRule {
81
+ /** Unique name identifying this CORS rule within the bucket. */
82
+ readonly corsRuleName: string;
83
+ /** Origins allowed to make cross-origin requests (e.g., `'https://example.com'`). */
84
+ readonly allowedOrigins: readonly string[];
85
+ /** B2 and S3 operations permitted by this rule. */
86
+ readonly allowedOperations: readonly CorsOperation[];
87
+ /** Request headers allowed in preflight requests, or null if none are allowed. */
88
+ readonly allowedHeaders: readonly string[] | null;
89
+ /** Response headers exposed to the browser, or null if none are exposed. */
90
+ readonly exposeHeaders: readonly string[] | null;
91
+ /** Maximum time (in seconds) browsers may cache the preflight response. */
92
+ readonly maxAgeSeconds: number;
93
+ }
94
+ /**
95
+ * Named constants for the bucket-level Object Lock retention mode.
96
+ *
97
+ * Pair with {@link BucketRetentionPolicy} when setting a bucket's default
98
+ * retention: `{ mode: BucketRetentionMode.Compliance, period: { duration: 30, unit: 'days' } }`.
99
+ */
100
+ export declare const BucketRetentionMode: {
101
+ /** Files cannot be deleted or modified during the retention period, even by the account owner. */
102
+ readonly Compliance: "compliance";
103
+ /** Files cannot be deleted during retention except by callers with the `bypassGovernance` capability. */
104
+ readonly Governance: "governance";
105
+ /** No default retention is applied to new uploads. */
106
+ readonly None: "none";
107
+ };
108
+ /** Bucket-level Object Lock retention mode. Derived from {@link BucketRetentionMode}. */
109
+ export type BucketRetentionMode = (typeof BucketRetentionMode)[keyof typeof BucketRetentionMode];
110
+ /** Duration and unit for a retention period. */
111
+ export interface RetentionPeriod {
112
+ /** Length of the retention period. */
113
+ readonly duration: number;
114
+ /** Time unit for the retention period. */
115
+ readonly unit: 'days' | 'years';
116
+ }
117
+ /** Default Object Lock retention policy applied to new files in a bucket. */
118
+ export interface BucketRetentionPolicy {
119
+ /** Retention mode for the policy. */
120
+ readonly mode: BucketRetentionMode;
121
+ /** Retention period, or null when mode is `'none'`. */
122
+ readonly period: RetentionPeriod | null;
123
+ }
124
+ /**
125
+ * Complete bucket metadata as returned by the B2 API.
126
+ * Corresponds to the bucket object in responses from `b2_list_buckets`, `b2_create_bucket`, and `b2_update_bucket`.
127
+ */
128
+ export interface BucketInfo {
129
+ /** Account that owns this bucket. */
130
+ readonly accountId: AccountId;
131
+ /** Unique identifier for this bucket. */
132
+ readonly bucketId: BucketId;
133
+ /** Globally unique name of this bucket. */
134
+ readonly bucketName: string;
135
+ /** Access level of this bucket. */
136
+ readonly bucketType: BucketType;
137
+ /** User-defined key-value metadata stored on the bucket. */
138
+ readonly bucketInfo: Record<string, string>;
139
+ /** CORS rules configured on this bucket. */
140
+ readonly corsRules: readonly CorsRule[];
141
+ /** Default server-side encryption setting for new files in this bucket. */
142
+ readonly defaultServerSideEncryption: EncryptionSetting;
143
+ /** File Lock configuration including authorization status and current settings. */
144
+ readonly fileLockConfiguration: {
145
+ /** Whether the caller is authorized to read file lock settings. */
146
+ readonly isClientAuthorizedToRead: boolean;
147
+ /** File lock settings, or null if the caller lacks read authorization. */
148
+ readonly value: {
149
+ /** Whether Object Lock is enabled on this bucket. */
150
+ readonly isFileLockEnabled: boolean;
151
+ /** Default retention policy for newly uploaded files. */
152
+ readonly defaultRetention: BucketRetentionPolicy;
153
+ } | null;
154
+ };
155
+ /** Lifecycle rules configured on this bucket. */
156
+ readonly lifecycleRules: readonly LifecycleRule[];
157
+ /** Set of options enabled on this bucket (e.g., `'s3'`). */
158
+ readonly options: readonly string[];
159
+ /** Monotonically increasing revision number, incremented on each bucket update. */
160
+ readonly revision: number;
161
+ /** Default retention policy for newly uploaded files. */
162
+ readonly defaultRetention: BucketRetentionPolicy;
163
+ /** Cross-region replication configuration for this bucket. */
164
+ readonly replicationConfiguration: ReplicationConfiguration;
165
+ }
166
+ /**
167
+ * Request parameters for the `b2_create_bucket` API call.
168
+ */
169
+ export interface CreateBucketRequest {
170
+ /** Account that will own the new bucket. */
171
+ readonly accountId: AccountId;
172
+ /** Globally unique name for the bucket. */
173
+ readonly bucketName: string;
174
+ /** Access level for the bucket. */
175
+ readonly bucketType: BucketType;
176
+ /** Optional user-defined key-value metadata. */
177
+ readonly bucketInfo?: Record<string, string>;
178
+ /** Optional CORS rules. */
179
+ readonly corsRules?: readonly CorsRule[];
180
+ /** Optional default server-side encryption setting. */
181
+ readonly defaultServerSideEncryption?: EncryptionSetting;
182
+ /** Optional default Object Lock retention policy. */
183
+ readonly defaultRetention?: BucketRetentionPolicy;
184
+ /** Whether to enable Object Lock on the bucket. Cannot be changed after creation. */
185
+ readonly fileLockEnabled?: boolean;
186
+ /** Optional lifecycle rules. */
187
+ readonly lifecycleRules?: readonly LifecycleRule[];
188
+ /** Optional replication configuration. */
189
+ readonly replicationConfiguration?: ReplicationConfiguration;
190
+ }
191
+ /**
192
+ * Request parameters for the `b2_update_bucket` API call.
193
+ */
194
+ export interface UpdateBucketRequest {
195
+ /** Account that owns the bucket. */
196
+ readonly accountId: AccountId;
197
+ /** ID of the bucket to update. */
198
+ readonly bucketId: BucketId;
199
+ /** New access level for the bucket. */
200
+ readonly bucketType?: BucketType;
201
+ /** Updated user-defined key-value metadata. Replaces all existing metadata. */
202
+ readonly bucketInfo?: Record<string, string>;
203
+ /** Updated CORS rules. Replaces all existing rules. */
204
+ readonly corsRules?: readonly CorsRule[];
205
+ /** Updated default server-side encryption setting. */
206
+ readonly defaultServerSideEncryption?: EncryptionSetting;
207
+ /** Updated default Object Lock retention policy. */
208
+ readonly defaultRetention?: BucketRetentionPolicy;
209
+ /** Whether to enable Object Lock. Can only transition from disabled to enabled. */
210
+ readonly fileLockEnabled?: boolean;
211
+ /** Updated lifecycle rules. Replaces all existing rules. */
212
+ readonly lifecycleRules?: readonly LifecycleRule[];
213
+ /** Updated replication configuration. */
214
+ readonly replicationConfiguration?: ReplicationConfiguration;
215
+ /** Optimistic locking: only update if the bucket's current revision matches this value. */
216
+ readonly ifRevisionIs?: number;
217
+ }
218
+ /**
219
+ * Request parameters for the `b2_list_buckets` API call.
220
+ */
221
+ export interface ListBucketsRequest {
222
+ /** Account whose buckets to list. */
223
+ readonly accountId: AccountId;
224
+ /** Optional filter to return only the bucket with this ID. */
225
+ readonly bucketId?: BucketId;
226
+ /** Optional filter to return only the bucket with this name. */
227
+ readonly bucketName?: string;
228
+ /** Optional filter to return only buckets of these types. */
229
+ readonly bucketTypes?: readonly BucketType[];
230
+ }
231
+ /** Response from the `b2_list_buckets` API call. */
232
+ export interface ListBucketsResponse {
233
+ /** Array of buckets matching the request filters. */
234
+ readonly buckets: readonly BucketInfo[];
235
+ }
236
+ /**
237
+ * Request parameters for the `b2_delete_bucket` API call.
238
+ */
239
+ export interface DeleteBucketRequest {
240
+ /** Account that owns the bucket. */
241
+ readonly accountId: AccountId;
242
+ /** ID of the bucket to delete. The bucket must be empty. */
243
+ readonly bucketId: BucketId;
244
+ }
245
+ //# sourceMappingURL=bucket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket.d.ts","sourceRoot":"","sources":["../../src/types/bucket.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ const BucketType = {
2
+ /** Publicly downloadable without authentication. */
3
+ AllPublic: "allPublic",
4
+ /** Requires a valid auth token to download. */
5
+ AllPrivate: "allPrivate",
6
+ /** Internal snapshot bucket type, generally not user-created. */
7
+ Snapshot: "snapshot",
8
+ /** B2-restricted bucket (e.g., for S3-compatible workflows). */
9
+ Restricted: "restricted"
10
+ };
11
+ const CorsOperation = {
12
+ /** Native B2 download-by-name request. */
13
+ B2DownloadFileByName: "b2_download_file_by_name",
14
+ /** Native B2 download-by-id request. */
15
+ B2DownloadFileById: "b2_download_file_by_id",
16
+ /** Native B2 small-file upload. */
17
+ B2UploadFile: "b2_upload_file",
18
+ /** Native B2 multipart-part upload. */
19
+ B2UploadPart: "b2_upload_part",
20
+ /** S3-compatible DELETE. */
21
+ S3Delete: "s3_delete",
22
+ /** S3-compatible GET. */
23
+ S3Get: "s3_get",
24
+ /** S3-compatible HEAD. */
25
+ S3Head: "s3_head",
26
+ /** S3-compatible POST. */
27
+ S3Post: "s3_post",
28
+ /** S3-compatible PUT. */
29
+ S3Put: "s3_put"
30
+ };
31
+ const BucketRetentionMode = {
32
+ /** Files cannot be deleted or modified during the retention period, even by the account owner. */
33
+ Compliance: "compliance",
34
+ /** Files cannot be deleted during retention except by callers with the `bypassGovernance` capability. */
35
+ Governance: "governance",
36
+ /** No default retention is applied to new uploads. */
37
+ None: "none"
38
+ };
39
+ export {
40
+ BucketRetentionMode,
41
+ BucketType,
42
+ CorsOperation
43
+ };
44
+ //# sourceMappingURL=bucket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bucket.js","sources":["../../src/types/bucket.ts"],"sourcesContent":["import type { EncryptionSetting } from './encryption.ts'\nimport type { AccountId, BucketId } from './ids.ts'\nimport type { ReplicationConfiguration } from './replication.ts'\n\n/**\n * Named constants for the bucket access level.\n *\n * The {@link BucketType} type alias is derived from the values of this\n * object, so the const is the single source of truth: adding a key here\n * automatically widens the type union.\n *\n * @example\n * ```ts\n * await client.createBucket({ bucketName: 'my-app-logs', bucketType: BucketType.AllPrivate })\n * ```\n */\nexport const BucketType = {\n /** Publicly downloadable without authentication. */\n AllPublic: 'allPublic',\n /** Requires a valid auth token to download. */\n AllPrivate: 'allPrivate',\n /** Internal snapshot bucket type, generally not user-created. */\n Snapshot: 'snapshot',\n /** B2-restricted bucket (e.g., for S3-compatible workflows). */\n Restricted: 'restricted',\n} as const\n\n/** Access level for a B2 bucket. Derived from {@link BucketType}. */\nexport type BucketType = (typeof BucketType)[keyof typeof BucketType]\n\n/** Rule that automatically hides or deletes files after a specified number of days. */\nexport interface LifecycleRule {\n /** Days after hiding before automatic deletion, or null to never auto-delete hidden files. */\n readonly daysFromHidingToDeleting: number | null\n /** Days after upload before automatic hiding, or null to never auto-hide. */\n readonly daysFromUploadingToHiding: number | null\n /** File name prefix this rule applies to. Empty string matches all files. */\n readonly fileNamePrefix: string\n}\n\n/**\n * Named constants for the B2 + S3 operations a CORS rule can permit.\n *\n * @example\n * ```ts\n * await bucket.update({\n * corsRules: [{\n * corsRuleName: 'browser-downloads',\n * allowedOrigins: ['https://example.com'],\n * allowedOperations: [CorsOperation.B2DownloadFileByName, CorsOperation.S3Get],\n * allowedHeaders: null,\n * exposeHeaders: null,\n * maxAgeSeconds: 3600,\n * }],\n * })\n * ```\n */\nexport const CorsOperation = {\n /** Native B2 download-by-name request. */\n B2DownloadFileByName: 'b2_download_file_by_name',\n /** Native B2 download-by-id request. */\n B2DownloadFileById: 'b2_download_file_by_id',\n /** Native B2 small-file upload. */\n B2UploadFile: 'b2_upload_file',\n /** Native B2 multipart-part upload. */\n B2UploadPart: 'b2_upload_part',\n /** S3-compatible DELETE. */\n S3Delete: 's3_delete',\n /** S3-compatible GET. */\n S3Get: 's3_get',\n /** S3-compatible HEAD. */\n S3Head: 's3_head',\n /** S3-compatible POST. */\n S3Post: 's3_post',\n /** S3-compatible PUT. */\n S3Put: 's3_put',\n} as const\n\n/**\n * A B2 or S3 operation that a CORS rule can permit. Derived from\n * {@link CorsOperation}.\n */\nexport type CorsOperation = (typeof CorsOperation)[keyof typeof CorsOperation]\n\n/** Cross-Origin Resource Sharing (CORS) rule for browser-based access to a bucket. */\nexport interface CorsRule {\n /** Unique name identifying this CORS rule within the bucket. */\n readonly corsRuleName: string\n /** Origins allowed to make cross-origin requests (e.g., `'https://example.com'`). */\n readonly allowedOrigins: readonly string[]\n /** B2 and S3 operations permitted by this rule. */\n readonly allowedOperations: readonly CorsOperation[]\n /** Request headers allowed in preflight requests, or null if none are allowed. */\n readonly allowedHeaders: readonly string[] | null\n /** Response headers exposed to the browser, or null if none are exposed. */\n readonly exposeHeaders: readonly string[] | null\n /** Maximum time (in seconds) browsers may cache the preflight response. */\n readonly maxAgeSeconds: number\n}\n\n/**\n * Named constants for the bucket-level Object Lock retention mode.\n *\n * Pair with {@link BucketRetentionPolicy} when setting a bucket's default\n * retention: `{ mode: BucketRetentionMode.Compliance, period: { duration: 30, unit: 'days' } }`.\n */\nexport const BucketRetentionMode = {\n /** Files cannot be deleted or modified during the retention period, even by the account owner. */\n Compliance: 'compliance',\n /** Files cannot be deleted during retention except by callers with the `bypassGovernance` capability. */\n Governance: 'governance',\n /** No default retention is applied to new uploads. */\n None: 'none',\n} as const\n\n/** Bucket-level Object Lock retention mode. Derived from {@link BucketRetentionMode}. */\nexport type BucketRetentionMode = (typeof BucketRetentionMode)[keyof typeof BucketRetentionMode]\n\n/** Duration and unit for a retention period. */\nexport interface RetentionPeriod {\n /** Length of the retention period. */\n readonly duration: number\n /** Time unit for the retention period. */\n readonly unit: 'days' | 'years'\n}\n\n/** Default Object Lock retention policy applied to new files in a bucket. */\nexport interface BucketRetentionPolicy {\n /** Retention mode for the policy. */\n readonly mode: BucketRetentionMode\n /** Retention period, or null when mode is `'none'`. */\n readonly period: RetentionPeriod | null\n}\n\n/**\n * Complete bucket metadata as returned by the B2 API.\n * Corresponds to the bucket object in responses from `b2_list_buckets`, `b2_create_bucket`, and `b2_update_bucket`.\n */\nexport interface BucketInfo {\n /** Account that owns this bucket. */\n readonly accountId: AccountId\n /** Unique identifier for this bucket. */\n readonly bucketId: BucketId\n /** Globally unique name of this bucket. */\n readonly bucketName: string\n /** Access level of this bucket. */\n readonly bucketType: BucketType\n /** User-defined key-value metadata stored on the bucket. */\n readonly bucketInfo: Record<string, string>\n /** CORS rules configured on this bucket. */\n readonly corsRules: readonly CorsRule[]\n /** Default server-side encryption setting for new files in this bucket. */\n readonly defaultServerSideEncryption: EncryptionSetting\n /** File Lock configuration including authorization status and current settings. */\n readonly fileLockConfiguration: {\n /** Whether the caller is authorized to read file lock settings. */\n readonly isClientAuthorizedToRead: boolean\n /** File lock settings, or null if the caller lacks read authorization. */\n readonly value: {\n /** Whether Object Lock is enabled on this bucket. */\n readonly isFileLockEnabled: boolean\n /** Default retention policy for newly uploaded files. */\n readonly defaultRetention: BucketRetentionPolicy\n } | null\n }\n /** Lifecycle rules configured on this bucket. */\n readonly lifecycleRules: readonly LifecycleRule[]\n /** Set of options enabled on this bucket (e.g., `'s3'`). */\n readonly options: readonly string[]\n /** Monotonically increasing revision number, incremented on each bucket update. */\n readonly revision: number\n /** Default retention policy for newly uploaded files. */\n readonly defaultRetention: BucketRetentionPolicy\n /** Cross-region replication configuration for this bucket. */\n readonly replicationConfiguration: ReplicationConfiguration\n}\n\n/**\n * Request parameters for the `b2_create_bucket` API call.\n */\nexport interface CreateBucketRequest {\n /** Account that will own the new bucket. */\n readonly accountId: AccountId\n /** Globally unique name for the bucket. */\n readonly bucketName: string\n /** Access level for the bucket. */\n readonly bucketType: BucketType\n /** Optional user-defined key-value metadata. */\n readonly bucketInfo?: Record<string, string>\n /** Optional CORS rules. */\n readonly corsRules?: readonly CorsRule[]\n /** Optional default server-side encryption setting. */\n readonly defaultServerSideEncryption?: EncryptionSetting\n /** Optional default Object Lock retention policy. */\n readonly defaultRetention?: BucketRetentionPolicy\n /** Whether to enable Object Lock on the bucket. Cannot be changed after creation. */\n readonly fileLockEnabled?: boolean\n /** Optional lifecycle rules. */\n readonly lifecycleRules?: readonly LifecycleRule[]\n /** Optional replication configuration. */\n readonly replicationConfiguration?: ReplicationConfiguration\n}\n\n/**\n * Request parameters for the `b2_update_bucket` API call.\n */\nexport interface UpdateBucketRequest {\n /** Account that owns the bucket. */\n readonly accountId: AccountId\n /** ID of the bucket to update. */\n readonly bucketId: BucketId\n /** New access level for the bucket. */\n readonly bucketType?: BucketType\n /** Updated user-defined key-value metadata. Replaces all existing metadata. */\n readonly bucketInfo?: Record<string, string>\n /** Updated CORS rules. Replaces all existing rules. */\n readonly corsRules?: readonly CorsRule[]\n /** Updated default server-side encryption setting. */\n readonly defaultServerSideEncryption?: EncryptionSetting\n /** Updated default Object Lock retention policy. */\n readonly defaultRetention?: BucketRetentionPolicy\n /** Whether to enable Object Lock. Can only transition from disabled to enabled. */\n readonly fileLockEnabled?: boolean\n /** Updated lifecycle rules. Replaces all existing rules. */\n readonly lifecycleRules?: readonly LifecycleRule[]\n /** Updated replication configuration. */\n readonly replicationConfiguration?: ReplicationConfiguration\n /** Optimistic locking: only update if the bucket's current revision matches this value. */\n readonly ifRevisionIs?: number\n}\n\n/**\n * Request parameters for the `b2_list_buckets` API call.\n */\nexport interface ListBucketsRequest {\n /** Account whose buckets to list. */\n readonly accountId: AccountId\n /** Optional filter to return only the bucket with this ID. */\n readonly bucketId?: BucketId\n /** Optional filter to return only the bucket with this name. */\n readonly bucketName?: string\n /** Optional filter to return only buckets of these types. */\n readonly bucketTypes?: readonly BucketType[]\n}\n\n/** Response from the `b2_list_buckets` API call. */\nexport interface ListBucketsResponse {\n /** Array of buckets matching the request filters. */\n readonly buckets: readonly BucketInfo[]\n}\n\n/**\n * Request parameters for the `b2_delete_bucket` API call.\n */\nexport interface DeleteBucketRequest {\n /** Account that owns the bucket. */\n readonly accountId: AccountId\n /** ID of the bucket to delete. The bucket must be empty. */\n readonly bucketId: BucketId\n}\n"],"names":[],"mappings":"AAgBO,MAAM,aAAa;AAAA;AAAA,EAExB,WAAW;AAAA;AAAA,EAEX,YAAY;AAAA;AAAA,EAEZ,UAAU;AAAA;AAAA,EAEV,YAAY;AACd;AAgCO,MAAM,gBAAgB;AAAA;AAAA,EAE3B,sBAAsB;AAAA;AAAA,EAEtB,oBAAoB;AAAA;AAAA,EAEpB,cAAc;AAAA;AAAA,EAEd,cAAc;AAAA;AAAA,EAEd,UAAU;AAAA;AAAA,EAEV,OAAO;AAAA;AAAA,EAEP,QAAQ;AAAA;AAAA,EAER,QAAQ;AAAA;AAAA,EAER,OAAO;AACT;AA8BO,MAAM,sBAAsB;AAAA;AAAA,EAEjC,YAAY;AAAA;AAAA,EAEZ,YAAY;AAAA;AAAA,EAEZ,MAAM;AACR;"}