@backblaze-labs/b2-sdk 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (885) hide show
  1. package/CHANGELOG.md +151 -5
  2. package/README.md +163 -34
  3. package/dist/_virtual/_b2-sdk-version-json.cjs +4 -0
  4. package/dist/_virtual/_b2-sdk-version-json.js +4 -0
  5. package/dist/auth/account-info.d.cts +32 -0
  6. package/dist/auth/account-info.d.cts.map +1 -1
  7. package/dist/auth/account-info.d.ts +32 -0
  8. package/dist/auth/account-info.d.ts.map +1 -1
  9. package/dist/auth/file.cjs +408 -207
  10. package/dist/auth/file.cjs.map +1 -1
  11. package/dist/auth/file.d.cts +77 -3
  12. package/dist/auth/file.d.cts.map +1 -1
  13. package/dist/auth/file.d.ts +77 -3
  14. package/dist/auth/file.d.ts.map +1 -1
  15. package/dist/auth/file.js +407 -207
  16. package/dist/auth/file.js.map +1 -1
  17. package/dist/auth/in-memory.cjs +212 -183
  18. package/dist/auth/in-memory.cjs.map +1 -1
  19. package/dist/auth/in-memory.d.cts +8 -0
  20. package/dist/auth/in-memory.d.cts.map +1 -1
  21. package/dist/auth/in-memory.d.ts +8 -0
  22. package/dist/auth/in-memory.d.ts.map +1 -1
  23. package/dist/auth/in-memory.js +211 -182
  24. package/dist/auth/in-memory.js.map +1 -1
  25. package/dist/auth/index.cjs +7 -9
  26. package/dist/auth/index.d.cts +3 -2
  27. package/dist/auth/index.d.cts.map +1 -1
  28. package/dist/auth/index.d.ts +3 -2
  29. package/dist/auth/index.d.ts.map +1 -1
  30. package/dist/auth/index.js +2 -8
  31. package/dist/auth/realms.cjs +80 -7
  32. package/dist/auth/realms.cjs.map +1 -1
  33. package/dist/auth/realms.d.cts +27 -4
  34. package/dist/auth/realms.d.cts.map +1 -1
  35. package/dist/auth/realms.d.ts +27 -4
  36. package/dist/auth/realms.d.ts.map +1 -1
  37. package/dist/auth/realms.js +80 -9
  38. package/dist/auth/realms.js.map +1 -1
  39. package/dist/auth/upload-url-pool.cjs +55 -51
  40. package/dist/auth/upload-url-pool.cjs.map +1 -1
  41. package/dist/auth/upload-url-pool.js +55 -51
  42. package/dist/auth/upload-url-pool.js.map +1 -1
  43. package/dist/backup/client.cjs +206 -0
  44. package/dist/backup/client.cjs.map +1 -0
  45. package/dist/backup/client.d.cts +238 -0
  46. package/dist/backup/client.d.cts.map +1 -0
  47. package/dist/backup/client.d.ts +238 -0
  48. package/dist/backup/client.d.ts.map +1 -0
  49. package/dist/backup/client.js +206 -0
  50. package/dist/backup/client.js.map +1 -0
  51. package/dist/backup/index.cjs +15 -0
  52. package/dist/backup/index.d.cts +22 -0
  53. package/dist/backup/index.d.cts.map +1 -0
  54. package/dist/backup/index.d.ts +22 -0
  55. package/dist/backup/index.d.ts.map +1 -0
  56. package/dist/backup/index.js +7 -0
  57. package/dist/backup/raw.cjs +146 -0
  58. package/dist/backup/raw.cjs.map +1 -0
  59. package/dist/backup/raw.d.cts +122 -0
  60. package/dist/backup/raw.d.cts.map +1 -0
  61. package/dist/backup/raw.d.ts +122 -0
  62. package/dist/backup/raw.d.ts.map +1 -0
  63. package/dist/backup/raw.js +146 -0
  64. package/dist/backup/raw.js.map +1 -0
  65. package/dist/bucket.cjs +786 -787
  66. package/dist/bucket.cjs.map +1 -1
  67. package/dist/bucket.d.cts +35 -47
  68. package/dist/bucket.d.cts.map +1 -1
  69. package/dist/bucket.d.ts +35 -47
  70. package/dist/bucket.d.ts.map +1 -1
  71. package/dist/bucket.js +781 -782
  72. package/dist/bucket.js.map +1 -1
  73. package/dist/client.cjs +246 -228
  74. package/dist/client.cjs.map +1 -1
  75. package/dist/client.d.cts +25 -17
  76. package/dist/client.d.cts.map +1 -1
  77. package/dist/client.d.ts +25 -17
  78. package/dist/client.d.ts.map +1 -1
  79. package/dist/client.js +243 -225
  80. package/dist/client.js.map +1 -1
  81. package/dist/copy/large.cjs +116 -71
  82. package/dist/copy/large.cjs.map +1 -1
  83. package/dist/copy/large.d.cts +6 -0
  84. package/dist/copy/large.d.cts.map +1 -1
  85. package/dist/copy/large.d.ts +6 -0
  86. package/dist/copy/large.d.ts.map +1 -1
  87. package/dist/copy/large.js +114 -69
  88. package/dist/copy/large.js.map +1 -1
  89. package/dist/download/checksum.cjs +93 -0
  90. package/dist/download/checksum.cjs.map +1 -0
  91. package/dist/download/checksum.d.cts +40 -0
  92. package/dist/download/checksum.d.cts.map +1 -0
  93. package/dist/download/checksum.d.ts +40 -0
  94. package/dist/download/checksum.d.ts.map +1 -0
  95. package/dist/download/checksum.js +91 -0
  96. package/dist/download/checksum.js.map +1 -0
  97. package/dist/download/parallel.cjs +251 -118
  98. package/dist/download/parallel.cjs.map +1 -1
  99. package/dist/download/parallel.d.cts +13 -2
  100. package/dist/download/parallel.d.cts.map +1 -1
  101. package/dist/download/parallel.d.ts +13 -2
  102. package/dist/download/parallel.d.ts.map +1 -1
  103. package/dist/download/parallel.js +249 -116
  104. package/dist/download/parallel.js.map +1 -1
  105. package/dist/download/single.cjs +323 -97
  106. package/dist/download/single.cjs.map +1 -1
  107. package/dist/download/single.d.cts +6 -1
  108. package/dist/download/single.d.cts.map +1 -1
  109. package/dist/download/single.d.ts +6 -1
  110. package/dist/download/single.d.ts.map +1 -1
  111. package/dist/download/single.js +322 -99
  112. package/dist/download/single.js.map +1 -1
  113. package/dist/errors/index.cjs +869 -243
  114. package/dist/errors/index.cjs.map +1 -1
  115. package/dist/errors/index.d.cts +404 -82
  116. package/dist/errors/index.d.cts.map +1 -1
  117. package/dist/errors/index.d.ts +404 -82
  118. package/dist/errors/index.d.ts.map +1 -1
  119. package/dist/errors/index.js +835 -261
  120. package/dist/errors/index.js.map +1 -1
  121. package/dist/http/retry.cjs +45 -28
  122. package/dist/http/retry.cjs.map +1 -1
  123. package/dist/http/retry.d.cts +15 -2
  124. package/dist/http/retry.d.cts.map +1 -1
  125. package/dist/http/retry.d.ts +15 -2
  126. package/dist/http/retry.d.ts.map +1 -1
  127. package/dist/http/retry.js +46 -31
  128. package/dist/http/retry.js.map +1 -1
  129. package/dist/http/transport.cjs +476 -140
  130. package/dist/http/transport.cjs.map +1 -1
  131. package/dist/http/transport.d.cts +46 -5
  132. package/dist/http/transport.d.cts.map +1 -1
  133. package/dist/http/transport.d.ts +46 -5
  134. package/dist/http/transport.d.ts.map +1 -1
  135. package/dist/http/transport.js +474 -140
  136. package/dist/http/transport.js.map +1 -1
  137. package/dist/http/url-guard.cjs +154 -89
  138. package/dist/http/url-guard.cjs.map +1 -1
  139. package/dist/http/url-guard.d.cts +25 -3
  140. package/dist/http/url-guard.d.cts.map +1 -1
  141. package/dist/http/url-guard.d.ts +25 -3
  142. package/dist/http/url-guard.d.ts.map +1 -1
  143. package/dist/http/url-guard.js +152 -90
  144. package/dist/http/url-guard.js.map +1 -1
  145. package/dist/http/user-agent.cjs +84 -44
  146. package/dist/http/user-agent.cjs.map +1 -1
  147. package/dist/http/user-agent.js +84 -46
  148. package/dist/http/user-agent.js.map +1 -1
  149. package/dist/index.cjs +124 -77
  150. package/dist/index.d.cts +29 -21
  151. package/dist/index.d.cts.map +1 -1
  152. package/dist/index.d.ts +29 -21
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +18 -72
  155. package/dist/internal/b2-naming.cjs +66 -0
  156. package/dist/internal/b2-naming.cjs.map +1 -0
  157. package/dist/internal/b2-naming.d.cts +43 -0
  158. package/dist/internal/b2-naming.d.cts.map +1 -0
  159. package/dist/internal/b2-naming.d.ts +43 -0
  160. package/dist/internal/b2-naming.d.ts.map +1 -0
  161. package/dist/internal/b2-naming.js +60 -0
  162. package/dist/internal/b2-naming.js.map +1 -0
  163. package/dist/internal/upload-retry-options.cjs +21 -0
  164. package/dist/internal/upload-retry-options.cjs.map +1 -0
  165. package/dist/internal/upload-retry-options.d.cts +12 -0
  166. package/dist/internal/upload-retry-options.d.cts.map +1 -0
  167. package/dist/internal/upload-retry-options.d.ts +12 -0
  168. package/dist/internal/upload-retry-options.d.ts.map +1 -0
  169. package/dist/internal/upload-retry-options.js +21 -0
  170. package/dist/internal/upload-retry-options.js.map +1 -0
  171. package/dist/internal/url-redaction.cjs +31 -0
  172. package/dist/internal/url-redaction.cjs.map +1 -0
  173. package/dist/internal/url-redaction.d.cts +17 -0
  174. package/dist/internal/url-redaction.d.cts.map +1 -0
  175. package/dist/internal/url-redaction.d.ts +17 -0
  176. package/dist/internal/url-redaction.d.ts.map +1 -0
  177. package/dist/internal/url-redaction.js +31 -0
  178. package/dist/internal/url-redaction.js.map +1 -0
  179. package/dist/notifications/index.cjs +4 -6
  180. package/dist/notifications/index.d.cts +1 -1
  181. package/dist/notifications/index.d.cts.map +1 -1
  182. package/dist/notifications/index.d.ts +1 -1
  183. package/dist/notifications/index.d.ts.map +1 -1
  184. package/dist/notifications/index.js +1 -6
  185. package/dist/notifications/webhook.cjs +195 -85
  186. package/dist/notifications/webhook.cjs.map +1 -1
  187. package/dist/notifications/webhook.d.cts.map +1 -1
  188. package/dist/notifications/webhook.d.ts.map +1 -1
  189. package/dist/notifications/webhook.js +195 -87
  190. package/dist/notifications/webhook.js.map +1 -1
  191. package/dist/object.cjs +253 -210
  192. package/dist/object.cjs.map +1 -1
  193. package/dist/object.d.cts +13 -57
  194. package/dist/object.d.cts.map +1 -1
  195. package/dist/object.d.ts +13 -57
  196. package/dist/object.d.ts.map +1 -1
  197. package/dist/object.js +249 -206
  198. package/dist/object.js.map +1 -1
  199. package/dist/partner/account-info.d.cts +43 -0
  200. package/dist/partner/account-info.d.cts.map +1 -0
  201. package/dist/partner/account-info.d.ts +43 -0
  202. package/dist/partner/account-info.d.ts.map +1 -0
  203. package/dist/partner/auth-clone.cjs +64 -0
  204. package/dist/partner/auth-clone.cjs.map +1 -0
  205. package/dist/partner/auth-clone.d.cts +27 -0
  206. package/dist/partner/auth-clone.d.cts.map +1 -0
  207. package/dist/partner/auth-clone.d.ts +27 -0
  208. package/dist/partner/auth-clone.d.ts.map +1 -0
  209. package/dist/partner/auth-clone.js +63 -0
  210. package/dist/partner/auth-clone.js.map +1 -0
  211. package/dist/partner/auth-core.cjs +175 -0
  212. package/dist/partner/auth-core.cjs.map +1 -0
  213. package/dist/partner/auth-core.d.cts +111 -0
  214. package/dist/partner/auth-core.d.cts.map +1 -0
  215. package/dist/partner/auth-core.d.ts +111 -0
  216. package/dist/partner/auth-core.d.ts.map +1 -0
  217. package/dist/partner/auth-core.js +175 -0
  218. package/dist/partner/auth-core.js.map +1 -0
  219. package/dist/partner/auth-shape.cjs +36 -0
  220. package/dist/partner/auth-shape.cjs.map +1 -0
  221. package/dist/partner/auth-shape.d.cts +12 -0
  222. package/dist/partner/auth-shape.d.cts.map +1 -0
  223. package/dist/partner/auth-shape.d.ts +12 -0
  224. package/dist/partner/auth-shape.d.ts.map +1 -0
  225. package/dist/partner/auth-shape.js +36 -0
  226. package/dist/partner/auth-shape.js.map +1 -0
  227. package/dist/partner/client.cjs +255 -0
  228. package/dist/partner/client.cjs.map +1 -0
  229. package/dist/partner/client.d.cts +335 -0
  230. package/dist/partner/client.d.cts.map +1 -0
  231. package/dist/partner/client.d.ts +335 -0
  232. package/dist/partner/client.d.ts.map +1 -0
  233. package/dist/partner/client.js +255 -0
  234. package/dist/partner/client.js.map +1 -0
  235. package/dist/partner/endpoint-url.cjs +108 -0
  236. package/dist/partner/endpoint-url.cjs.map +1 -0
  237. package/dist/partner/endpoint-url.d.cts +72 -0
  238. package/dist/partner/endpoint-url.d.cts.map +1 -0
  239. package/dist/partner/endpoint-url.d.ts +72 -0
  240. package/dist/partner/endpoint-url.d.ts.map +1 -0
  241. package/dist/partner/endpoint-url.js +105 -0
  242. package/dist/partner/endpoint-url.js.map +1 -0
  243. package/dist/partner/in-memory.cjs +135 -0
  244. package/dist/partner/in-memory.cjs.map +1 -0
  245. package/dist/partner/in-memory.d.cts +99 -0
  246. package/dist/partner/in-memory.d.cts.map +1 -0
  247. package/dist/partner/in-memory.d.ts +99 -0
  248. package/dist/partner/in-memory.d.ts.map +1 -0
  249. package/dist/partner/in-memory.js +135 -0
  250. package/dist/partner/in-memory.js.map +1 -0
  251. package/dist/partner/index.cjs +18 -0
  252. package/dist/partner/index.d.cts +23 -0
  253. package/dist/partner/index.d.cts.map +1 -0
  254. package/dist/partner/index.d.ts +23 -0
  255. package/dist/partner/index.d.ts.map +1 -0
  256. package/dist/partner/index.js +7 -0
  257. package/dist/partner/raw.cjs +392 -0
  258. package/dist/partner/raw.cjs.map +1 -0
  259. package/dist/partner/raw.d.cts +223 -0
  260. package/dist/partner/raw.d.cts.map +1 -0
  261. package/dist/partner/raw.d.ts +223 -0
  262. package/dist/partner/raw.d.ts.map +1 -0
  263. package/dist/partner/raw.js +390 -0
  264. package/dist/partner/raw.js.map +1 -0
  265. package/dist/partner/redaction-placeholders.cjs +10 -0
  266. package/dist/partner/redaction-placeholders.cjs.map +1 -0
  267. package/dist/partner/redaction-placeholders.d.cts +5 -0
  268. package/dist/partner/redaction-placeholders.d.cts.map +1 -0
  269. package/dist/partner/redaction-placeholders.d.ts +5 -0
  270. package/dist/partner/redaction-placeholders.d.ts.map +1 -0
  271. package/dist/partner/redaction-placeholders.js +9 -0
  272. package/dist/partner/redaction-placeholders.js.map +1 -0
  273. package/dist/partner/redaction.cjs +267 -0
  274. package/dist/partner/redaction.cjs.map +1 -0
  275. package/dist/partner/redaction.d.cts +124 -0
  276. package/dist/partner/redaction.d.cts.map +1 -0
  277. package/dist/partner/redaction.d.ts +124 -0
  278. package/dist/partner/redaction.d.ts.map +1 -0
  279. package/dist/partner/redaction.js +257 -0
  280. package/dist/partner/redaction.js.map +1 -0
  281. package/dist/raw/encoding.cjs +74 -35
  282. package/dist/raw/encoding.cjs.map +1 -1
  283. package/dist/raw/encoding.js +74 -38
  284. package/dist/raw/encoding.js.map +1 -1
  285. package/dist/raw/index.cjs +740 -587
  286. package/dist/raw/index.cjs.map +1 -1
  287. package/dist/raw/index.d.cts +126 -19
  288. package/dist/raw/index.d.cts.map +1 -1
  289. package/dist/raw/index.d.ts +126 -19
  290. package/dist/raw/index.d.ts.map +1 -1
  291. package/dist/raw/index.js +736 -589
  292. package/dist/raw/index.js.map +1 -1
  293. package/dist/raw/url.cjs +111 -0
  294. package/dist/raw/url.cjs.map +1 -0
  295. package/dist/raw/url.d.cts +41 -0
  296. package/dist/raw/url.d.cts.map +1 -0
  297. package/dist/raw/url.d.ts +41 -0
  298. package/dist/raw/url.d.ts.map +1 -0
  299. package/dist/raw/url.js +110 -0
  300. package/dist/raw/url.js.map +1 -0
  301. package/dist/s3/index.cjs +355 -18
  302. package/dist/s3/index.cjs.map +1 -1
  303. package/dist/s3/index.d.cts +233 -5
  304. package/dist/s3/index.d.cts.map +1 -1
  305. package/dist/s3/index.d.ts +233 -5
  306. package/dist/s3/index.d.ts.map +1 -1
  307. package/dist/s3/index.js +351 -22
  308. package/dist/s3/index.js.map +1 -1
  309. package/dist/s3/sigv4.cjs +154 -0
  310. package/dist/s3/sigv4.cjs.map +1 -0
  311. package/dist/s3/sigv4.d.cts +43 -0
  312. package/dist/s3/sigv4.d.cts.map +1 -0
  313. package/dist/s3/sigv4.d.ts +43 -0
  314. package/dist/s3/sigv4.d.ts.map +1 -0
  315. package/dist/s3/sigv4.js +153 -0
  316. package/dist/s3/sigv4.js.map +1 -0
  317. package/dist/s3/validation.cjs +69 -0
  318. package/dist/s3/validation.cjs.map +1 -0
  319. package/dist/s3/validation.d.cts +43 -0
  320. package/dist/s3/validation.d.cts.map +1 -0
  321. package/dist/s3/validation.d.ts +43 -0
  322. package/dist/s3/validation.d.ts.map +1 -0
  323. package/dist/s3/validation.js +66 -0
  324. package/dist/s3/validation.js.map +1 -0
  325. package/dist/simulator/capabilities.cjs +63 -48
  326. package/dist/simulator/capabilities.cjs.map +1 -1
  327. package/dist/simulator/capabilities.js +63 -49
  328. package/dist/simulator/capabilities.js.map +1 -1
  329. package/dist/simulator/index.cjs +3114 -1547
  330. package/dist/simulator/index.cjs.map +1 -1
  331. package/dist/simulator/index.d.cts +186 -20
  332. package/dist/simulator/index.d.cts.map +1 -1
  333. package/dist/simulator/index.d.ts +186 -20
  334. package/dist/simulator/index.d.ts.map +1 -1
  335. package/dist/simulator/index.js +3098 -1545
  336. package/dist/simulator/index.js.map +1 -1
  337. package/dist/simulator/partner.cjs +719 -0
  338. package/dist/simulator/partner.cjs.map +1 -0
  339. package/dist/simulator/partner.d.cts +183 -0
  340. package/dist/simulator/partner.d.cts.map +1 -0
  341. package/dist/simulator/partner.d.ts +183 -0
  342. package/dist/simulator/partner.d.ts.map +1 -0
  343. package/dist/simulator/partner.js +718 -0
  344. package/dist/simulator/partner.js.map +1 -0
  345. package/dist/simulator/validation.cjs +772 -157
  346. package/dist/simulator/validation.cjs.map +1 -1
  347. package/dist/simulator/validation.d.cts +120 -21
  348. package/dist/simulator/validation.d.cts.map +1 -1
  349. package/dist/simulator/validation.d.ts +120 -21
  350. package/dist/simulator/validation.d.ts.map +1 -1
  351. package/dist/simulator/validation.js +755 -167
  352. package/dist/simulator/validation.js.map +1 -1
  353. package/dist/streams/collect.cjs +74 -24
  354. package/dist/streams/collect.cjs.map +1 -1
  355. package/dist/streams/collect.d.cts +14 -1
  356. package/dist/streams/collect.d.cts.map +1 -1
  357. package/dist/streams/collect.d.ts +14 -1
  358. package/dist/streams/collect.d.ts.map +1 -1
  359. package/dist/streams/collect.js +74 -25
  360. package/dist/streams/collect.js.map +1 -1
  361. package/dist/streams/file-source.cjs +287 -0
  362. package/dist/streams/file-source.cjs.map +1 -0
  363. package/dist/streams/file-source.d.cts +96 -0
  364. package/dist/streams/file-source.d.cts.map +1 -0
  365. package/dist/streams/file-source.d.ts +96 -0
  366. package/dist/streams/file-source.d.ts.map +1 -0
  367. package/dist/streams/file-source.js +286 -0
  368. package/dist/streams/file-source.js.map +1 -0
  369. package/dist/streams/hash.cjs +207 -115
  370. package/dist/streams/hash.cjs.map +1 -1
  371. package/dist/streams/hash.d.cts +5 -4
  372. package/dist/streams/hash.d.cts.map +1 -1
  373. package/dist/streams/hash.d.ts +5 -4
  374. package/dist/streams/hash.d.ts.map +1 -1
  375. package/dist/streams/hash.js +208 -95
  376. package/dist/streams/hash.js.map +1 -1
  377. package/dist/streams/index.cjs +12 -12
  378. package/dist/streams/index.d.cts +3 -3
  379. package/dist/streams/index.d.cts.map +1 -1
  380. package/dist/streams/index.d.ts +3 -3
  381. package/dist/streams/index.d.ts.map +1 -1
  382. package/dist/streams/index.js +3 -11
  383. package/dist/streams/progress.cjs +60 -46
  384. package/dist/streams/progress.cjs.map +1 -1
  385. package/dist/streams/progress.js +60 -46
  386. package/dist/streams/progress.js.map +1 -1
  387. package/dist/streams/source.cjs +317 -146
  388. package/dist/streams/source.cjs.map +1 -1
  389. package/dist/streams/source.d.cts +56 -18
  390. package/dist/streams/source.d.cts.map +1 -1
  391. package/dist/streams/source.d.ts +56 -18
  392. package/dist/streams/source.d.ts.map +1 -1
  393. package/dist/streams/source.js +313 -149
  394. package/dist/streams/source.js.map +1 -1
  395. package/dist/sync/actions/index.cjs +236 -184
  396. package/dist/sync/actions/index.cjs.map +1 -1
  397. package/dist/sync/actions/index.d.cts +29 -21
  398. package/dist/sync/actions/index.d.cts.map +1 -1
  399. package/dist/sync/actions/index.d.ts +29 -21
  400. package/dist/sync/actions/index.d.ts.map +1 -1
  401. package/dist/sync/actions/index.js +236 -190
  402. package/dist/sync/actions/index.js.map +1 -1
  403. package/dist/sync/b2-sha1-reader.cjs +152 -0
  404. package/dist/sync/b2-sha1-reader.cjs.map +1 -0
  405. package/dist/sync/b2-sha1-reader.d.cts +58 -0
  406. package/dist/sync/b2-sha1-reader.d.cts.map +1 -0
  407. package/dist/sync/b2-sha1-reader.d.ts +58 -0
  408. package/dist/sync/b2-sha1-reader.d.ts.map +1 -0
  409. package/dist/sync/b2-sha1-reader.js +149 -0
  410. package/dist/sync/b2-sha1-reader.js.map +1 -0
  411. package/dist/sync/download-staging.cjs +266 -0
  412. package/dist/sync/download-staging.cjs.map +1 -0
  413. package/dist/sync/download-staging.d.cts +55 -0
  414. package/dist/sync/download-staging.d.cts.map +1 -0
  415. package/dist/sync/download-staging.d.ts +55 -0
  416. package/dist/sync/download-staging.d.ts.map +1 -0
  417. package/dist/sync/download-staging.js +260 -0
  418. package/dist/sync/download-staging.js.map +1 -0
  419. package/dist/sync/filesystem-errors.cjs +32 -0
  420. package/dist/sync/filesystem-errors.cjs.map +1 -0
  421. package/dist/sync/filesystem-errors.d.cts +8 -0
  422. package/dist/sync/filesystem-errors.d.cts.map +1 -0
  423. package/dist/sync/filesystem-errors.d.ts +8 -0
  424. package/dist/sync/filesystem-errors.d.ts.map +1 -0
  425. package/dist/sync/filesystem-errors.js +32 -0
  426. package/dist/sync/filesystem-errors.js.map +1 -0
  427. package/dist/sync/filters.cjs +217 -0
  428. package/dist/sync/filters.cjs.map +1 -0
  429. package/dist/sync/filters.d.cts +51 -0
  430. package/dist/sync/filters.d.cts.map +1 -0
  431. package/dist/sync/filters.d.ts +51 -0
  432. package/dist/sync/filters.d.ts.map +1 -0
  433. package/dist/sync/filters.js +213 -0
  434. package/dist/sync/filters.js.map +1 -0
  435. package/dist/sync/index.cjs +39 -22
  436. package/dist/sync/index.d.cts +14 -9
  437. package/dist/sync/index.d.cts.map +1 -1
  438. package/dist/sync/index.d.ts +14 -9
  439. package/dist/sync/index.d.ts.map +1 -1
  440. package/dist/sync/index.js +9 -20
  441. package/dist/sync/local-file-identity.cjs +61 -0
  442. package/dist/sync/local-file-identity.cjs.map +1 -0
  443. package/dist/sync/local-file-identity.d.cts +37 -0
  444. package/dist/sync/local-file-identity.d.cts.map +1 -0
  445. package/dist/sync/local-file-identity.d.ts +37 -0
  446. package/dist/sync/local-file-identity.d.ts.map +1 -0
  447. package/dist/sync/local-file-identity.js +60 -0
  448. package/dist/sync/local-file-identity.js.map +1 -0
  449. package/dist/sync/local-file-io.cjs +369 -0
  450. package/dist/sync/local-file-io.cjs.map +1 -0
  451. package/dist/sync/local-file-io.d.cts +76 -0
  452. package/dist/sync/local-file-io.d.cts.map +1 -0
  453. package/dist/sync/local-file-io.d.ts +76 -0
  454. package/dist/sync/local-file-io.d.ts.map +1 -0
  455. package/dist/sync/local-file-io.js +365 -0
  456. package/dist/sync/local-file-io.js.map +1 -0
  457. package/dist/sync/local-filesystem-root.cjs +27 -0
  458. package/dist/sync/local-filesystem-root.cjs.map +1 -0
  459. package/dist/sync/local-filesystem-root.d.cts +18 -0
  460. package/dist/sync/local-filesystem-root.d.cts.map +1 -0
  461. package/dist/sync/local-filesystem-root.d.ts +18 -0
  462. package/dist/sync/local-filesystem-root.d.ts.map +1 -0
  463. package/dist/sync/local-filesystem-root.js +26 -0
  464. package/dist/sync/local-filesystem-root.js.map +1 -0
  465. package/dist/sync/local-sha1.cjs +110 -0
  466. package/dist/sync/local-sha1.cjs.map +1 -0
  467. package/dist/sync/local-sha1.d.cts +31 -0
  468. package/dist/sync/local-sha1.d.cts.map +1 -0
  469. package/dist/sync/local-sha1.d.ts +31 -0
  470. package/dist/sync/local-sha1.d.ts.map +1 -0
  471. package/dist/sync/local-sha1.js +109 -0
  472. package/dist/sync/local-sha1.js.map +1 -0
  473. package/dist/sync/pairing.cjs +118 -29
  474. package/dist/sync/pairing.cjs.map +1 -1
  475. package/dist/sync/pairing.d.cts +7 -2
  476. package/dist/sync/pairing.d.cts.map +1 -1
  477. package/dist/sync/pairing.d.ts +7 -2
  478. package/dist/sync/pairing.d.ts.map +1 -1
  479. package/dist/sync/pairing.js +120 -31
  480. package/dist/sync/pairing.js.map +1 -1
  481. package/dist/sync/path-order.cjs +30 -0
  482. package/dist/sync/path-order.cjs.map +1 -0
  483. package/dist/sync/path-order.d.cts +28 -0
  484. package/dist/sync/path-order.d.cts.map +1 -0
  485. package/dist/sync/path-order.d.ts +28 -0
  486. package/dist/sync/path-order.d.ts.map +1 -0
  487. package/dist/sync/path-order.js +29 -0
  488. package/dist/sync/path-order.js.map +1 -0
  489. package/dist/sync/path-safety.cjs +111 -0
  490. package/dist/sync/path-safety.cjs.map +1 -0
  491. package/dist/sync/path-safety.d.cts +78 -0
  492. package/dist/sync/path-safety.d.cts.map +1 -0
  493. package/dist/sync/path-safety.d.ts +78 -0
  494. package/dist/sync/path-safety.d.ts.map +1 -0
  495. package/dist/sync/path-safety.js +105 -0
  496. package/dist/sync/path-safety.js.map +1 -0
  497. package/dist/sync/paths.d.cts +19 -0
  498. package/dist/sync/paths.d.cts.map +1 -0
  499. package/dist/sync/paths.d.ts +19 -0
  500. package/dist/sync/paths.d.ts.map +1 -0
  501. package/dist/sync/policies/compare.cjs +391 -11
  502. package/dist/sync/policies/compare.cjs.map +1 -1
  503. package/dist/sync/policies/compare.d.cts +100 -2
  504. package/dist/sync/policies/compare.d.cts.map +1 -1
  505. package/dist/sync/policies/compare.d.ts +100 -2
  506. package/dist/sync/policies/compare.d.ts.map +1 -1
  507. package/dist/sync/policies/compare.js +389 -13
  508. package/dist/sync/policies/compare.js.map +1 -1
  509. package/dist/sync/policies/index.cjs +70 -65
  510. package/dist/sync/policies/index.cjs.map +1 -1
  511. package/dist/sync/policies/index.d.cts +35 -6
  512. package/dist/sync/policies/index.d.cts.map +1 -1
  513. package/dist/sync/policies/index.d.ts +35 -6
  514. package/dist/sync/policies/index.d.ts.map +1 -1
  515. package/dist/sync/policies/index.js +70 -65
  516. package/dist/sync/policies/index.js.map +1 -1
  517. package/dist/sync/prefix.cjs +96 -0
  518. package/dist/sync/prefix.cjs.map +1 -0
  519. package/dist/sync/prefix.d.cts +55 -0
  520. package/dist/sync/prefix.d.cts.map +1 -0
  521. package/dist/sync/prefix.d.ts +55 -0
  522. package/dist/sync/prefix.d.ts.map +1 -0
  523. package/dist/sync/prefix.js +92 -0
  524. package/dist/sync/prefix.js.map +1 -0
  525. package/dist/sync/regexp-safety.cjs +192 -0
  526. package/dist/sync/regexp-safety.cjs.map +1 -0
  527. package/dist/sync/regexp-safety.d.cts +29 -0
  528. package/dist/sync/regexp-safety.d.cts.map +1 -0
  529. package/dist/sync/regexp-safety.d.ts +29 -0
  530. package/dist/sync/regexp-safety.d.ts.map +1 -0
  531. package/dist/sync/regexp-safety.js +190 -0
  532. package/dist/sync/regexp-safety.js.map +1 -0
  533. package/dist/sync/scan-events.cjs +33 -0
  534. package/dist/sync/scan-events.cjs.map +1 -0
  535. package/dist/sync/scan-events.d.cts +17 -0
  536. package/dist/sync/scan-events.d.cts.map +1 -0
  537. package/dist/sync/scan-events.d.ts +17 -0
  538. package/dist/sync/scan-events.d.ts.map +1 -0
  539. package/dist/sync/scan-events.js +32 -0
  540. package/dist/sync/scan-events.js.map +1 -0
  541. package/dist/sync/scan-limit.cjs +33 -0
  542. package/dist/sync/scan-limit.cjs.map +1 -0
  543. package/dist/sync/scan-limit.d.cts +21 -0
  544. package/dist/sync/scan-limit.d.cts.map +1 -0
  545. package/dist/sync/scan-limit.d.ts +21 -0
  546. package/dist/sync/scan-limit.d.ts.map +1 -0
  547. package/dist/sync/scan-limit.js +31 -0
  548. package/dist/sync/scan-limit.js.map +1 -0
  549. package/dist/sync/scanners/b2.cjs +239 -55
  550. package/dist/sync/scanners/b2.cjs.map +1 -1
  551. package/dist/sync/scanners/b2.d.cts +26 -7
  552. package/dist/sync/scanners/b2.d.cts.map +1 -1
  553. package/dist/sync/scanners/b2.d.ts +26 -7
  554. package/dist/sync/scanners/b2.d.ts.map +1 -1
  555. package/dist/sync/scanners/b2.js +239 -55
  556. package/dist/sync/scanners/b2.js.map +1 -1
  557. package/dist/sync/scanners/local.cjs +215 -56
  558. package/dist/sync/scanners/local.cjs.map +1 -1
  559. package/dist/sync/scanners/local.d.cts +22 -7
  560. package/dist/sync/scanners/local.d.cts.map +1 -1
  561. package/dist/sync/scanners/local.d.ts +22 -7
  562. package/dist/sync/scanners/local.d.ts.map +1 -1
  563. package/dist/sync/scanners/local.js +216 -57
  564. package/dist/sync/scanners/local.js.map +1 -1
  565. package/dist/sync/sha1-metadata.cjs +94 -0
  566. package/dist/sync/sha1-metadata.cjs.map +1 -0
  567. package/dist/sync/sha1-metadata.d.cts +82 -0
  568. package/dist/sync/sha1-metadata.d.cts.map +1 -0
  569. package/dist/sync/sha1-metadata.d.ts +82 -0
  570. package/dist/sync/sha1-metadata.d.ts.map +1 -0
  571. package/dist/sync/sha1-metadata.js +89 -0
  572. package/dist/sync/sha1-metadata.js.map +1 -0
  573. package/dist/sync/sha1-options.cjs +23 -0
  574. package/dist/sync/sha1-options.cjs.map +1 -0
  575. package/dist/sync/sha1-options.d.cts +14 -0
  576. package/dist/sync/sha1-options.d.cts.map +1 -0
  577. package/dist/sync/sha1-options.d.ts +14 -0
  578. package/dist/sync/sha1-options.d.ts.map +1 -0
  579. package/dist/sync/sha1-options.js +21 -0
  580. package/dist/sync/sha1-options.js.map +1 -0
  581. package/dist/sync/synchronizer.cjs +783 -197
  582. package/dist/sync/synchronizer.cjs.map +1 -1
  583. package/dist/sync/synchronizer.d.cts +47 -1
  584. package/dist/sync/synchronizer.d.cts.map +1 -1
  585. package/dist/sync/synchronizer.d.ts +47 -1
  586. package/dist/sync/synchronizer.d.ts.map +1 -1
  587. package/dist/sync/synchronizer.js +780 -173
  588. package/dist/sync/synchronizer.js.map +1 -1
  589. package/dist/sync/types.d.cts +208 -16
  590. package/dist/sync/types.d.cts.map +1 -1
  591. package/dist/sync/types.d.ts +208 -16
  592. package/dist/sync/types.d.ts.map +1 -1
  593. package/dist/types/auth.cjs +80 -56
  594. package/dist/types/auth.cjs.map +1 -1
  595. package/dist/types/auth.d.cts +71 -9
  596. package/dist/types/auth.d.cts.map +1 -1
  597. package/dist/types/auth.d.ts +71 -9
  598. package/dist/types/auth.d.ts.map +1 -1
  599. package/dist/types/auth.js +81 -57
  600. package/dist/types/auth.js.map +1 -1
  601. package/dist/types/backup.d.cts +80 -0
  602. package/dist/types/backup.d.cts.map +1 -0
  603. package/dist/types/backup.d.ts +80 -0
  604. package/dist/types/backup.d.ts.map +1 -0
  605. package/dist/types/bucket.cjs +74 -38
  606. package/dist/types/bucket.cjs.map +1 -1
  607. package/dist/types/bucket.d.cts +4 -2
  608. package/dist/types/bucket.d.cts.map +1 -1
  609. package/dist/types/bucket.d.ts +4 -2
  610. package/dist/types/bucket.d.ts.map +1 -1
  611. package/dist/types/bucket.js +75 -41
  612. package/dist/types/bucket.js.map +1 -1
  613. package/dist/types/download.cjs +62 -0
  614. package/dist/types/download.cjs.map +1 -0
  615. package/dist/types/download.d.cts +98 -0
  616. package/dist/types/download.d.cts.map +1 -1
  617. package/dist/types/download.d.ts +98 -0
  618. package/dist/types/download.d.ts.map +1 -1
  619. package/dist/types/download.js +61 -0
  620. package/dist/types/download.js.map +1 -0
  621. package/dist/types/encryption.cjs +194 -328
  622. package/dist/types/encryption.cjs.map +1 -1
  623. package/dist/types/encryption.d.cts +48 -0
  624. package/dist/types/encryption.d.cts.map +1 -1
  625. package/dist/types/encryption.d.ts +48 -0
  626. package/dist/types/encryption.d.ts.map +1 -1
  627. package/dist/types/encryption.js +192 -311
  628. package/dist/types/encryption.js.map +1 -1
  629. package/dist/types/errors.cjs +56 -0
  630. package/dist/types/errors.cjs.map +1 -0
  631. package/dist/types/errors.d.cts +13 -4
  632. package/dist/types/errors.d.cts.map +1 -1
  633. package/dist/types/errors.d.ts +13 -4
  634. package/dist/types/errors.d.ts.map +1 -1
  635. package/dist/types/errors.js +56 -0
  636. package/dist/types/errors.js.map +1 -0
  637. package/dist/types/file.cjs +36 -19
  638. package/dist/types/file.cjs.map +1 -1
  639. package/dist/types/file.d.cts +17 -4
  640. package/dist/types/file.d.cts.map +1 -1
  641. package/dist/types/file.d.ts +17 -4
  642. package/dist/types/file.d.ts.map +1 -1
  643. package/dist/types/file.js +37 -21
  644. package/dist/types/file.js.map +1 -1
  645. package/dist/types/ids.cjs +83 -9
  646. package/dist/types/ids.cjs.map +1 -1
  647. package/dist/types/ids.d.cts +32 -0
  648. package/dist/types/ids.d.cts.map +1 -1
  649. package/dist/types/ids.d.ts +32 -0
  650. package/dist/types/ids.d.ts.map +1 -1
  651. package/dist/types/ids.js +82 -16
  652. package/dist/types/ids.js.map +1 -1
  653. package/dist/types/index.d.cts +18 -13
  654. package/dist/types/index.d.cts.map +1 -1
  655. package/dist/types/index.d.ts +18 -13
  656. package/dist/types/index.d.ts.map +1 -1
  657. package/dist/types/key.d.cts +44 -8
  658. package/dist/types/key.d.cts.map +1 -1
  659. package/dist/types/key.d.ts +44 -8
  660. package/dist/types/key.d.ts.map +1 -1
  661. package/dist/types/lock.cjs +33 -13
  662. package/dist/types/lock.cjs.map +1 -1
  663. package/dist/types/lock.d.cts +14 -0
  664. package/dist/types/lock.d.cts.map +1 -1
  665. package/dist/types/lock.d.ts +14 -0
  666. package/dist/types/lock.d.ts.map +1 -1
  667. package/dist/types/lock.js +34 -15
  668. package/dist/types/lock.js.map +1 -1
  669. package/dist/types/notifications.cjs +44 -22
  670. package/dist/types/notifications.cjs.map +1 -1
  671. package/dist/types/notifications.d.cts +5 -3
  672. package/dist/types/notifications.d.cts.map +1 -1
  673. package/dist/types/notifications.d.ts +5 -3
  674. package/dist/types/notifications.d.ts.map +1 -1
  675. package/dist/types/notifications.js +45 -23
  676. package/dist/types/notifications.js.map +1 -1
  677. package/dist/types/partner.cjs +32 -0
  678. package/dist/types/partner.cjs.map +1 -0
  679. package/dist/types/partner.d.cts +394 -0
  680. package/dist/types/partner.d.cts.map +1 -0
  681. package/dist/types/partner.d.ts +394 -0
  682. package/dist/types/partner.d.ts.map +1 -0
  683. package/dist/types/partner.js +29 -0
  684. package/dist/types/partner.js.map +1 -0
  685. package/dist/types/upload.d.cts +53 -6
  686. package/dist/types/upload.d.cts.map +1 -1
  687. package/dist/types/upload.d.ts +53 -6
  688. package/dist/types/upload.d.ts.map +1 -1
  689. package/dist/upload/abort-scope.cjs +46 -0
  690. package/dist/upload/abort-scope.cjs.map +1 -0
  691. package/dist/upload/abort-scope.d.cts +26 -0
  692. package/dist/upload/abort-scope.d.cts.map +1 -0
  693. package/dist/upload/abort-scope.d.ts +26 -0
  694. package/dist/upload/abort-scope.d.ts.map +1 -0
  695. package/dist/upload/abort-scope.js +45 -0
  696. package/dist/upload/abort-scope.js.map +1 -0
  697. package/dist/upload/cancel.cjs +183 -8
  698. package/dist/upload/cancel.cjs.map +1 -1
  699. package/dist/upload/cancel.d.cts +110 -2
  700. package/dist/upload/cancel.d.cts.map +1 -1
  701. package/dist/upload/cancel.d.ts +110 -2
  702. package/dist/upload/cancel.d.ts.map +1 -1
  703. package/dist/upload/cancel.js +178 -9
  704. package/dist/upload/cancel.js.map +1 -1
  705. package/dist/upload/concurrency.cjs +79 -52
  706. package/dist/upload/concurrency.cjs.map +1 -1
  707. package/dist/upload/concurrency.js +79 -53
  708. package/dist/upload/concurrency.js.map +1 -1
  709. package/dist/upload/finish.cjs +54 -0
  710. package/dist/upload/finish.cjs.map +1 -0
  711. package/dist/upload/finish.d.cts +26 -0
  712. package/dist/upload/finish.d.cts.map +1 -0
  713. package/dist/upload/finish.d.ts +26 -0
  714. package/dist/upload/finish.d.ts.map +1 -0
  715. package/dist/upload/finish.js +54 -0
  716. package/dist/upload/finish.js.map +1 -0
  717. package/dist/upload/large.cjs +305 -218
  718. package/dist/upload/large.cjs.map +1 -1
  719. package/dist/upload/large.d.cts +90 -9
  720. package/dist/upload/large.d.cts.map +1 -1
  721. package/dist/upload/large.d.ts +90 -9
  722. package/dist/upload/large.d.ts.map +1 -1
  723. package/dist/upload/large.js +305 -218
  724. package/dist/upload/large.js.map +1 -1
  725. package/dist/upload/options.cjs +28 -0
  726. package/dist/upload/options.cjs.map +1 -0
  727. package/dist/upload/options.d.cts +116 -0
  728. package/dist/upload/options.d.cts.map +1 -0
  729. package/dist/upload/options.d.ts +116 -0
  730. package/dist/upload/options.d.ts.map +1 -0
  731. package/dist/upload/options.js +27 -0
  732. package/dist/upload/options.js.map +1 -0
  733. package/dist/upload/resume.cjs +334 -33
  734. package/dist/upload/resume.cjs.map +1 -1
  735. package/dist/upload/resume.d.cts +84 -12
  736. package/dist/upload/resume.d.cts.map +1 -1
  737. package/dist/upload/resume.d.ts +84 -12
  738. package/dist/upload/resume.d.ts.map +1 -1
  739. package/dist/upload/resume.js +331 -33
  740. package/dist/upload/resume.js.map +1 -1
  741. package/dist/upload/retry.cjs +191 -0
  742. package/dist/upload/retry.cjs.map +1 -0
  743. package/dist/upload/retry.d.cts +127 -0
  744. package/dist/upload/retry.d.cts.map +1 -0
  745. package/dist/upload/retry.d.ts +127 -0
  746. package/dist/upload/retry.d.ts.map +1 -0
  747. package/dist/upload/retry.js +187 -0
  748. package/dist/upload/retry.js.map +1 -0
  749. package/dist/upload/single.cjs +69 -44
  750. package/dist/upload/single.cjs.map +1 -1
  751. package/dist/upload/single.d.cts +8 -1
  752. package/dist/upload/single.d.cts.map +1 -1
  753. package/dist/upload/single.d.ts +8 -1
  754. package/dist/upload/single.d.ts.map +1 -1
  755. package/dist/upload/single.js +69 -44
  756. package/dist/upload/single.js.map +1 -1
  757. package/dist/upload/stream.cjs +319 -193
  758. package/dist/upload/stream.cjs.map +1 -1
  759. package/dist/upload/stream.d.cts +9 -1
  760. package/dist/upload/stream.d.cts.map +1 -1
  761. package/dist/upload/stream.d.ts +9 -1
  762. package/dist/upload/stream.d.ts.map +1 -1
  763. package/dist/upload/stream.js +318 -192
  764. package/dist/upload/stream.js.map +1 -1
  765. package/dist/util/abort.cjs +114 -0
  766. package/dist/util/abort.cjs.map +1 -0
  767. package/dist/util/abort.d.cts +65 -0
  768. package/dist/util/abort.d.cts.map +1 -0
  769. package/dist/util/abort.d.ts +65 -0
  770. package/dist/util/abort.d.ts.map +1 -0
  771. package/dist/util/abort.js +109 -0
  772. package/dist/util/abort.js.map +1 -0
  773. package/dist/util/best-effort.cjs +42 -8
  774. package/dist/util/best-effort.cjs.map +1 -1
  775. package/dist/util/best-effort.d.cts +2 -1
  776. package/dist/util/best-effort.d.cts.map +1 -1
  777. package/dist/util/best-effort.d.ts +2 -1
  778. package/dist/util/best-effort.d.ts.map +1 -1
  779. package/dist/util/best-effort.js +43 -9
  780. package/dist/util/best-effort.js.map +1 -1
  781. package/dist/util/bytes.cjs +23 -0
  782. package/dist/util/bytes.cjs.map +1 -0
  783. package/dist/util/bytes.d.cts +15 -0
  784. package/dist/util/bytes.d.cts.map +1 -0
  785. package/dist/util/bytes.d.ts +15 -0
  786. package/dist/util/bytes.d.ts.map +1 -0
  787. package/dist/util/bytes.js +23 -0
  788. package/dist/util/bytes.js.map +1 -0
  789. package/dist/util/crypto.cjs +68 -0
  790. package/dist/util/crypto.cjs.map +1 -0
  791. package/dist/util/crypto.d.cts +26 -0
  792. package/dist/util/crypto.d.cts.map +1 -0
  793. package/dist/util/crypto.d.ts +26 -0
  794. package/dist/util/crypto.d.ts.map +1 -0
  795. package/dist/util/crypto.js +66 -0
  796. package/dist/util/crypto.js.map +1 -0
  797. package/dist/util/defaults.cjs +28 -9
  798. package/dist/util/defaults.cjs.map +1 -1
  799. package/dist/util/defaults.d.cts +2 -0
  800. package/dist/util/defaults.d.cts.map +1 -1
  801. package/dist/util/defaults.d.ts +2 -0
  802. package/dist/util/defaults.d.ts.map +1 -1
  803. package/dist/util/defaults.js +28 -11
  804. package/dist/util/defaults.js.map +1 -1
  805. package/dist/util/error-reason.cjs +41 -0
  806. package/dist/util/error-reason.cjs.map +1 -0
  807. package/dist/util/error-reason.d.cts +9 -0
  808. package/dist/util/error-reason.d.cts.map +1 -0
  809. package/dist/util/error-reason.d.ts +9 -0
  810. package/dist/util/error-reason.d.ts.map +1 -0
  811. package/dist/util/error-reason.js +41 -0
  812. package/dist/util/error-reason.js.map +1 -0
  813. package/dist/util/http.cjs +23 -0
  814. package/dist/util/http.cjs.map +1 -0
  815. package/dist/util/http.d.cts +13 -0
  816. package/dist/util/http.d.cts.map +1 -0
  817. package/dist/util/http.d.ts +13 -0
  818. package/dist/util/http.d.ts.map +1 -0
  819. package/dist/util/http.js +23 -0
  820. package/dist/util/http.js.map +1 -0
  821. package/dist/util/md5.cjs +211 -0
  822. package/dist/util/md5.cjs.map +1 -0
  823. package/dist/util/md5.d.cts +43 -0
  824. package/dist/util/md5.d.cts.map +1 -0
  825. package/dist/util/md5.d.ts +43 -0
  826. package/dist/util/md5.d.ts.map +1 -0
  827. package/dist/util/md5.js +209 -0
  828. package/dist/util/md5.js.map +1 -0
  829. package/dist/util/normalize.cjs +66 -7
  830. package/dist/util/normalize.cjs.map +1 -1
  831. package/dist/util/normalize.d.cts +7 -7
  832. package/dist/util/normalize.d.cts.map +1 -1
  833. package/dist/util/normalize.d.ts +7 -7
  834. package/dist/util/normalize.d.ts.map +1 -1
  835. package/dist/util/normalize.js +67 -10
  836. package/dist/util/normalize.js.map +1 -1
  837. package/dist/util/paginator.cjs +69 -14
  838. package/dist/util/paginator.cjs.map +1 -1
  839. package/dist/util/paginator.d.cts +3 -1
  840. package/dist/util/paginator.d.cts.map +1 -1
  841. package/dist/util/paginator.d.ts +3 -1
  842. package/dist/util/paginator.d.ts.map +1 -1
  843. package/dist/util/paginator.js +70 -16
  844. package/dist/util/paginator.js.map +1 -1
  845. package/dist/util/plan-ranges.cjs +47 -22
  846. package/dist/util/plan-ranges.cjs.map +1 -1
  847. package/dist/util/plan-ranges.js +48 -24
  848. package/dist/util/plan-ranges.js.map +1 -1
  849. package/dist/util/sha1.cjs +27 -0
  850. package/dist/util/sha1.cjs.map +1 -0
  851. package/dist/util/sha1.d.cts +17 -0
  852. package/dist/util/sha1.d.cts.map +1 -0
  853. package/dist/util/sha1.d.ts +17 -0
  854. package/dist/util/sha1.d.ts.map +1 -0
  855. package/dist/util/sha1.js +26 -0
  856. package/dist/util/sha1.js.map +1 -0
  857. package/dist/util/text-codec.cjs +29 -5
  858. package/dist/util/text-codec.cjs.map +1 -1
  859. package/dist/util/text-codec.js +30 -7
  860. package/dist/util/text-codec.js.map +1 -1
  861. package/dist/util/to-error.cjs +18 -4
  862. package/dist/util/to-error.cjs.map +1 -1
  863. package/dist/util/to-error.js +19 -5
  864. package/dist/util/to-error.js.map +1 -1
  865. package/dist/version.cjs +17 -5
  866. package/dist/version.cjs.map +1 -1
  867. package/dist/version.d.cts +3 -3
  868. package/dist/version.d.ts +3 -3
  869. package/dist/version.js +19 -6
  870. package/dist/version.js.map +1 -1
  871. package/package.json +45 -20
  872. package/dist/auth/index.cjs.map +0 -1
  873. package/dist/auth/index.js.map +0 -1
  874. package/dist/index.cjs.map +0 -1
  875. package/dist/index.js.map +0 -1
  876. package/dist/notifications/index.cjs.map +0 -1
  877. package/dist/notifications/index.js.map +0 -1
  878. package/dist/package.json.cjs +0 -9
  879. package/dist/package.json.cjs.map +0 -1
  880. package/dist/package.json.js +0 -9
  881. package/dist/package.json.js.map +0 -1
  882. package/dist/streams/index.cjs.map +0 -1
  883. package/dist/streams/index.js.map +0 -1
  884. package/dist/sync/index.cjs.map +0 -1
  885. package/dist/sync/index.js.map +0 -1
@@ -0,0 +1,206 @@
1
+ const require_ids = require("../types/ids.cjs");
2
+ const require_errors_index = require("../errors/index.cjs");
3
+ const require_paginator = require("../util/paginator.cjs");
4
+ const require_redaction_placeholders = require("../partner/redaction-placeholders.cjs");
5
+ const require_auth_core = require("../partner/auth-core.cjs");
6
+ const require_raw = require("./raw.cjs");
7
+ //#region src/backup/client.ts
8
+ var MASTER_KEY_REDACTED = "[redacted Master Application Key]";
9
+ function badListComputersResponse(message) {
10
+ return new require_errors_index.BadJsonError({
11
+ status: 400,
12
+ code: "bad_json",
13
+ message: `bz_list_computers response did not match documented wire shape: ${message}`
14
+ });
15
+ }
16
+ function isRecord(value) {
17
+ return typeof value === "object" && value !== null;
18
+ }
19
+ function normalizeListComputersResponse(response) {
20
+ if (!isRecord(response) || Array.isArray(response)) throw badListComputersResponse("expected a JSON object");
21
+ const resultComputers = response["computers"];
22
+ if (!Array.isArray(resultComputers)) throw badListComputersResponse("response must include a computers array");
23
+ const cursor = response["nextComputerId"];
24
+ if (cursor !== null && typeof cursor !== "string") throw badListComputersResponse("response must include nextComputerId as string or null");
25
+ return {
26
+ nextComputerId: cursor === null ? null : require_ids.computerId(cursor),
27
+ computers: resultComputers
28
+ };
29
+ }
30
+ /**
31
+ * High-level Computer Backup API client for listing and deleting backup records.
32
+ *
33
+ * The client uses Partner authorization and the `backupApiUrl` returned by
34
+ * `authorizePartner`. The target account must belong to a group with
35
+ * Enterprise Controls enabled, and the caller must be a group admin. Deleting
36
+ * a backup also requires the Enterprise Controls setting that permits admins
37
+ * to delete member backups.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const backup = new BackupClient({
42
+ * masterKeyId: process.env.B2_MASTER_KEY_ID,
43
+ * masterKey: process.env.B2_MASTER_KEY,
44
+ * })
45
+ * await backup.authorize()
46
+ * for await (const computer of backup.paginateComputers()) {
47
+ * console.log(computer.computerName)
48
+ * }
49
+ * ```
50
+ *
51
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
52
+ */
53
+ var BackupClient = class {
54
+ /** Low-level client for direct Computer Backup API calls. */
55
+ raw;
56
+ /** Partner authorization state storage (tokens, URLs, capabilities). */
57
+ partnerAccountInfo;
58
+ /**
59
+ * SSRF allow-list applied by the default transport. `null` when
60
+ * a custom transport was supplied; in that case the SDK does not own the
61
+ * guard.
62
+ */
63
+ urlGuard;
64
+ authCore;
65
+ /**
66
+ * Creates a new BackupClient. Call {@link authorize} before making API requests
67
+ * unless `partnerAccountInfo` already contains valid Partner authorization.
68
+ *
69
+ * @param options - Configuration including credentials, realm, and transport settings.
70
+ */
71
+ constructor(options) {
72
+ this.authCore = new require_auth_core.PartnerAuthCore(options);
73
+ this.partnerAccountInfo = this.authCore.partnerAccountInfo;
74
+ this.urlGuard = this.authCore.urlGuard;
75
+ this.raw = new require_raw.BackupRawClient({
76
+ transport: this.authCore.transport,
77
+ ...this.authCore.cachedEndpointSuffixes !== void 0 ? { authorizedBackupEndpointSuffixes: this.authCore.cachedEndpointSuffixes } : {}
78
+ });
79
+ }
80
+ /**
81
+ * Authenticates with B2 Partner authorization and stores the authorization state.
82
+ *
83
+ * @param options - Optional abort signal.
84
+ *
85
+ * @returns The Partner authorization response containing tokens, URLs, and capabilities.
86
+ *
87
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
88
+ */
89
+ async authorize(options) {
90
+ const auth = await this.authCore.authorize(options);
91
+ this.raw.setAuthorizedEndpointSuffixes(this.authCore.activateEndpointSuffixes(auth));
92
+ return auth;
93
+ }
94
+ /**
95
+ * Lists active Computer Backup records for an account.
96
+ *
97
+ * @param options - Optional target account and pagination settings.
98
+ *
99
+ * @returns A normalized page of computer backup records with an optional continuation cursor.
100
+ *
101
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
102
+ */
103
+ async listComputers(options) {
104
+ const auth = this.ensureBackupAuthorization();
105
+ const { backupApiUrl, authToken, accountId } = this.backupCoordinates(auth, options?.accountId);
106
+ return normalizeListComputersResponse(await this.raw.listComputers(backupApiUrl, authToken, {
107
+ accountId,
108
+ ...options?.startComputerId !== void 0 ? { startComputerId: options.startComputerId } : {},
109
+ ...options?.pageSize !== void 0 ? { maxComputerCount: options.pageSize } : {}
110
+ }, options?.signal !== void 0 ? { signal: options.signal } : void 0));
111
+ }
112
+ /**
113
+ * Async iterator that yields every active Computer Backup record for an account.
114
+ *
115
+ * @param options - Optional target account, page size, and abort signal.
116
+ *
117
+ * @returns An async iterable of {@link ComputerBackup} entries.
118
+ *
119
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
120
+ */
121
+ paginateComputers(options) {
122
+ return require_paginator.paginateItems(async (cursor) => {
123
+ const resp = await this.listComputers({
124
+ ...options?.accountId !== void 0 ? { accountId: options.accountId } : {},
125
+ ...options?.pageSize !== void 0 ? { pageSize: options.pageSize } : {},
126
+ ...cursor !== void 0 ? { startComputerId: cursor } : {},
127
+ ...options?.signal !== void 0 ? { signal: options.signal } : {}
128
+ });
129
+ return {
130
+ page: resp,
131
+ nextCursor: resp.nextComputerId ?? void 0
132
+ };
133
+ }, (page) => page.computers, options?.signal);
134
+ }
135
+ /**
136
+ * Deletes a Computer Backup record.
137
+ *
138
+ * This destructive mutation is not automatically retried or reauthorized in
139
+ * place; callers should reconcile backup state before issuing a new delete
140
+ * after an ambiguous failure.
141
+ *
142
+ * @param options - Target account, computer ID, and optional abort signal.
143
+ *
144
+ * @returns The deleted computer backup record array.
145
+ *
146
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
147
+ */
148
+ async deleteComputer(options) {
149
+ const auth = this.ensureBackupAuthorization();
150
+ const { backupApiUrl, authToken, accountId } = this.backupCoordinates(auth, options.accountId);
151
+ return this.raw.deleteComputer(backupApiUrl, authToken, {
152
+ accountId,
153
+ computerId: options.computerId
154
+ }, options.signal !== void 0 ? { signal: options.signal } : void 0);
155
+ }
156
+ ensureBackupAuthorization() {
157
+ const auth = this.partnerAccountInfo.getAuth();
158
+ if (auth === null) throw new require_errors_index.B2PartnerAuthorizationError("Not authorized. Call BackupClient.authorize() first.");
159
+ const suffixes = this.authCore.activateEndpointSuffixes(auth);
160
+ this.raw.setAuthorizedEndpointSuffixes(suffixes);
161
+ return auth;
162
+ }
163
+ backupCoordinates(auth, accountIdOverride) {
164
+ const backupApiUrl = auth.apiInfo.backupApi?.backupApiUrl;
165
+ if (backupApiUrl === void 0) throw new require_errors_index.B2PartnerAuthorizationError("Computer Backup API is not available; Partner authorization did not return apiInfo.backupApi.");
166
+ return {
167
+ backupApiUrl,
168
+ authToken: auth.authorizationToken,
169
+ accountId: accountIdOverride ?? auth.accountId
170
+ };
171
+ }
172
+ /**
173
+ * Hides credentials and Partner tokens from `JSON.stringify(client)`.
174
+ *
175
+ * @returns A redacted diagnostic object.
176
+ */
177
+ toJSON() {
178
+ return {
179
+ type: "BackupClient",
180
+ credentials: MASTER_KEY_REDACTED,
181
+ authorization: this.partnerAccountInfo.getAuth() === null ? "[unauthorized]" : require_redaction_placeholders.PARTNER_TOKEN_REDACTED,
182
+ authorized: this.partnerAccountInfo.getAuth() !== null,
183
+ urlGuardAllowedSuffixes: this.urlGuard?.getAllowedSuffixes() ?? null
184
+ };
185
+ }
186
+ /**
187
+ * Hides credentials and Partner tokens from default stringification.
188
+ *
189
+ * @returns A short redacted label.
190
+ */
191
+ toString() {
192
+ return `[BackupClient ${MASTER_KEY_REDACTED}]`;
193
+ }
194
+ /**
195
+ * Hides credentials and Partner tokens from Node's `util.inspect`.
196
+ *
197
+ * @returns A short redacted label.
198
+ */
199
+ [Symbol.for("nodejs.util.inspect.custom")]() {
200
+ return this.toString();
201
+ }
202
+ };
203
+ //#endregion
204
+ exports.BackupClient = BackupClient;
205
+
206
+ //# sourceMappingURL=client.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.cjs","names":[],"sources":["../../src/backup/client.ts"],"sourcesContent":["import { B2PartnerAuthorizationError, BadJsonError } from '../errors/index.ts'\nimport type { RetryOptions } from '../http/retry.ts'\nimport type { HttpTransport } from '../http/transport.ts'\nimport type { UrlGuard } from '../http/url-guard.ts'\nimport type { PartnerAccountInfo } from '../partner/account-info.ts'\nimport { PartnerAuthCore } from '../partner/auth-core.ts'\nimport { PARTNER_TOKEN_REDACTED } from '../partner/redaction.ts'\nimport type {\n ComputerBackup,\n DeleteComputerResponse,\n ListComputersResponse,\n ListComputersResult,\n} from '../types/backup.ts'\nimport { type AccountId, type ComputerId, computerId, type PartnerToken } from '../types/ids.ts'\nimport type { PartnerAuthorizeResponse } from '../types/partner.ts'\nimport { paginateItems } from '../util/paginator.ts'\nimport { BackupRawClient } from './raw.ts'\n\nconst MASTER_KEY_REDACTED = '[redacted Master Application Key]'\n\n/**\n * Configuration options for creating a {@link BackupClient}.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\nexport interface BackupClientOptions {\n /** The Master Application Key ID for the partner administrator account. */\n readonly masterKeyId: string\n /** The Master Application Key secret. */\n readonly masterKey: string\n /**\n * B2 realm to authenticate against. Accepts a known realm-map key\n * (`\"production\"` or `\"staging\"`) or a direct base URL. Custom HTTPS hosts\n * and loopback IP literal HTTP URLs for local testing are trusted with the\n * Master Application Key during Partner authorize, so never derive `realm`\n * from untrusted input. Defaults to `\"production\"`.\n */\n readonly realm?: string\n /**\n * Shared Partner authorization state. Defaults to\n * {@link InMemoryPartnerAccountInfo}. Pass the same store to\n * {@link BackupClient} and Partner clients when both surfaces should reuse\n * one Partner token. Cached authorization whose endpoints fail this client's\n * realm policy is ignored locally until `authorize()` replaces it; shared\n * stores are not cleared during construction.\n */\n readonly partnerAccountInfo?: PartnerAccountInfo\n /** Custom HTTP transport. Defaults to `FetchTransport`. Wrapped by `RetryTransport`. */\n readonly transport?: HttpTransport\n /** Override retry behavior (max retries, backoff, and per-attempt timeout). */\n readonly retry?: Partial<RetryOptions>\n /** Custom user-agent string prepended to the SDK default. */\n readonly userAgent?: string\n /**\n * Additional SSRF allow-list host suffixes for the default transport.\n *\n * Only consulted when {@link BackupClientOptions.transport} is unset; a\n * custom transport is the user's responsibility to harden.\n */\n readonly additionalAllowedHostSuffixes?: readonly string[]\n /**\n * Explicitly disable the default SSRF guard after authorize.\n *\n * Intended only for controlled simulator/private-proxy tests. Never enable\n * it for URLs derived from untrusted input or production credentials.\n */\n readonly disableSsrfGuard?: boolean\n /**\n * Follow same-origin GET/HEAD redirects in the default fetch transport after\n * checking each target with the SSRF guard. POST redirects remain blocked.\n * Defaults to true.\n */\n readonly followSameOriginRedirects?: boolean\n /**\n * Allow direct custom authorize realms for tests or private proxies.\n * Leave disabled unless the configured host is trusted with the Master\n * Application Key.\n */\n readonly allowCustomAuthorizeRealm?: boolean\n}\n\n/**\n * Options for Partner authorization performed by {@link BackupClient}.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\nexport interface BackupAuthorizeOptions {\n /** Abort signal for cancelling the authorize request. */\n readonly signal?: AbortSignal\n}\n\n/**\n * Options for listing Computer Backup records.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\nexport interface ListComputersOptions {\n /**\n * Account whose active computer backups should be listed. Defaults to the\n * partner administrator account ID from authorization.\n */\n readonly accountId?: AccountId\n /** Computer ID to start listing from for pagination. */\n readonly startComputerId?: ComputerId\n /** Maximum computers to return in this page. Forwarded to `maxComputerCount`. */\n readonly pageSize?: number\n /** Abort signal for cancelling the request. */\n readonly signal?: AbortSignal\n}\n\n/**\n * Options for paginating Computer Backup records.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\nexport interface PaginateComputersOptions extends Omit<ListComputersOptions, 'startComputerId'> {\n /**\n * Aborts the iteration between page fetches. The signal is also forwarded to\n * each underlying list request.\n */\n readonly signal?: AbortSignal\n}\n\n/**\n * Options for deleting a Computer Backup record.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\nexport interface DeleteComputerOptions {\n /**\n * Account that owns the computer backup. Defaults to the partner\n * administrator account ID from authorization.\n */\n readonly accountId?: AccountId\n /** Computer ID of the backup to delete. */\n readonly computerId: ComputerId\n /** Abort signal for cancelling the request. */\n readonly signal?: AbortSignal\n}\n\ninterface BackupCoordinates {\n readonly backupApiUrl: string\n readonly authToken: PartnerToken\n readonly accountId: AccountId\n}\n\nfunction badListComputersResponse(message: string): BadJsonError {\n return new BadJsonError({\n status: 400,\n code: 'bad_json',\n message: `bz_list_computers response did not match documented wire shape: ${message}`,\n })\n}\n\nfunction isRecord(value: unknown): value is Readonly<Record<string, unknown>> {\n return typeof value === 'object' && value !== null\n}\n\nfunction normalizeListComputersResponse(response: ListComputersResponse): ListComputersResult {\n // Archived Backup API docs model bz_list_computers as a single result object\n // with a pagination cursor and a `computers` array (an empty account returns\n // an empty `computers` array, not a top-level empty array).\n if (!isRecord(response) || Array.isArray(response)) {\n throw badListComputersResponse('expected a JSON object')\n }\n const resultComputers = response['computers']\n if (!Array.isArray(resultComputers)) {\n throw badListComputersResponse('response must include a computers array')\n }\n const cursor = response['nextComputerId']\n if (cursor !== null && typeof cursor !== 'string') {\n throw badListComputersResponse('response must include nextComputerId as string or null')\n }\n\n return {\n nextComputerId: cursor === null ? null : computerId(cursor),\n computers: resultComputers as readonly ComputerBackup[],\n }\n}\n\n/** Redacted JSON diagnostic shape emitted by {@link BackupClient.toJSON}. */\nexport interface BackupClientJson {\n /** Object kind for log consumers. */\n readonly type: 'BackupClient'\n /** Redacted Master Application Key credential placeholder. */\n readonly credentials: string\n /** Redacted Partner token placeholder, or unauthorized state. */\n readonly authorization: string\n /** Whether this client currently has Partner authorization state. */\n readonly authorized: boolean\n /** Current default URL guard suffixes, or null when a custom transport owns guarding. */\n readonly urlGuardAllowedSuffixes: readonly string[] | null\n}\n\n/**\n * High-level Computer Backup API client for listing and deleting backup records.\n *\n * The client uses Partner authorization and the `backupApiUrl` returned by\n * `authorizePartner`. The target account must belong to a group with\n * Enterprise Controls enabled, and the caller must be a group admin. Deleting\n * a backup also requires the Enterprise Controls setting that permits admins\n * to delete member backups.\n *\n * @example\n * ```ts\n * const backup = new BackupClient({\n * masterKeyId: process.env.B2_MASTER_KEY_ID,\n * masterKey: process.env.B2_MASTER_KEY,\n * })\n * await backup.authorize()\n * for await (const computer of backup.paginateComputers()) {\n * console.log(computer.computerName)\n * }\n * ```\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\nexport class BackupClient {\n /** Low-level client for direct Computer Backup API calls. */\n readonly raw: BackupRawClient\n /** Partner authorization state storage (tokens, URLs, capabilities). */\n readonly partnerAccountInfo: PartnerAccountInfo\n /**\n * SSRF allow-list applied by the default transport. `null` when\n * a custom transport was supplied; in that case the SDK does not own the\n * guard.\n */\n readonly urlGuard: UrlGuard | null\n private readonly authCore: PartnerAuthCore\n\n /**\n * Creates a new BackupClient. Call {@link authorize} before making API requests\n * unless `partnerAccountInfo` already contains valid Partner authorization.\n *\n * @param options - Configuration including credentials, realm, and transport settings.\n */\n constructor(options: BackupClientOptions) {\n this.authCore = new PartnerAuthCore(options)\n this.partnerAccountInfo = this.authCore.partnerAccountInfo\n this.urlGuard = this.authCore.urlGuard\n this.raw = new BackupRawClient({\n transport: this.authCore.transport,\n ...(this.authCore.cachedEndpointSuffixes !== undefined\n ? { authorizedBackupEndpointSuffixes: this.authCore.cachedEndpointSuffixes }\n : {}),\n })\n }\n\n /**\n * Authenticates with B2 Partner authorization and stores the authorization state.\n *\n * @param options - Optional abort signal.\n *\n * @returns The Partner authorization response containing tokens, URLs, and capabilities.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\n async authorize(options?: BackupAuthorizeOptions): Promise<PartnerAuthorizeResponse> {\n const auth = await this.authCore.authorize(options)\n this.raw.setAuthorizedEndpointSuffixes(this.authCore.activateEndpointSuffixes(auth))\n return auth\n }\n\n /**\n * Lists active Computer Backup records for an account.\n *\n * @param options - Optional target account and pagination settings.\n *\n * @returns A normalized page of computer backup records with an optional continuation cursor.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\n async listComputers(options?: ListComputersOptions): Promise<ListComputersResult> {\n const auth = this.ensureBackupAuthorization()\n const { backupApiUrl, authToken, accountId } = this.backupCoordinates(auth, options?.accountId)\n const response = await this.raw.listComputers(\n backupApiUrl,\n authToken,\n {\n accountId,\n ...(options?.startComputerId !== undefined\n ? { startComputerId: options.startComputerId }\n : {}),\n ...(options?.pageSize !== undefined ? { maxComputerCount: options.pageSize } : {}),\n },\n options?.signal !== undefined ? { signal: options.signal } : undefined,\n )\n return normalizeListComputersResponse(response)\n }\n\n /**\n * Async iterator that yields every active Computer Backup record for an account.\n *\n * @param options - Optional target account, page size, and abort signal.\n *\n * @returns An async iterable of {@link ComputerBackup} entries.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\n paginateComputers(options?: PaginateComputersOptions): AsyncIterableIterator<ComputerBackup> {\n return paginateItems(\n async (cursor: ComputerId | undefined) => {\n const resp = await this.listComputers({\n ...(options?.accountId !== undefined ? { accountId: options.accountId } : {}),\n ...(options?.pageSize !== undefined ? { pageSize: options.pageSize } : {}),\n ...(cursor !== undefined ? { startComputerId: cursor } : {}),\n ...(options?.signal !== undefined ? { signal: options.signal } : {}),\n })\n return { page: resp, nextCursor: resp.nextComputerId ?? undefined }\n },\n (page) => page.computers,\n options?.signal,\n )\n }\n\n /**\n * Deletes a Computer Backup record.\n *\n * This destructive mutation is not automatically retried or reauthorized in\n * place; callers should reconcile backup state before issuing a new delete\n * after an ambiguous failure.\n *\n * @param options - Target account, computer ID, and optional abort signal.\n *\n * @returns The deleted computer backup record array.\n *\n * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.\n */\n async deleteComputer(options: DeleteComputerOptions): Promise<DeleteComputerResponse> {\n const auth = this.ensureBackupAuthorization()\n const { backupApiUrl, authToken, accountId } = this.backupCoordinates(auth, options.accountId)\n return this.raw.deleteComputer(\n backupApiUrl,\n authToken,\n {\n accountId,\n computerId: options.computerId,\n },\n options.signal !== undefined ? { signal: options.signal } : undefined,\n )\n }\n\n private ensureBackupAuthorization(): PartnerAuthorizeResponse {\n const auth = this.partnerAccountInfo.getAuth()\n if (auth === null) {\n throw new B2PartnerAuthorizationError('Not authorized. Call BackupClient.authorize() first.')\n }\n const suffixes = this.authCore.activateEndpointSuffixes(auth)\n this.raw.setAuthorizedEndpointSuffixes(suffixes)\n return auth\n }\n\n private backupCoordinates(\n auth: PartnerAuthorizeResponse,\n accountIdOverride: AccountId | undefined,\n ): BackupCoordinates {\n const backupApiUrl = auth.apiInfo.backupApi?.backupApiUrl\n if (backupApiUrl === undefined) {\n throw new B2PartnerAuthorizationError(\n 'Computer Backup API is not available; Partner authorization did not return apiInfo.backupApi.',\n )\n }\n return {\n backupApiUrl,\n authToken: auth.authorizationToken,\n accountId: accountIdOverride ?? auth.accountId,\n }\n }\n\n /**\n * Hides credentials and Partner tokens from `JSON.stringify(client)`.\n *\n * @returns A redacted diagnostic object.\n */\n toJSON(): BackupClientJson {\n return {\n type: 'BackupClient',\n credentials: MASTER_KEY_REDACTED,\n authorization:\n this.partnerAccountInfo.getAuth() === null ? '[unauthorized]' : PARTNER_TOKEN_REDACTED,\n authorized: this.partnerAccountInfo.getAuth() !== null,\n urlGuardAllowedSuffixes: this.urlGuard?.getAllowedSuffixes() ?? null,\n }\n }\n\n /**\n * Hides credentials and Partner tokens from default stringification.\n *\n * @returns A short redacted label.\n */\n toString(): string {\n return `[BackupClient ${MASTER_KEY_REDACTED}]`\n }\n\n /**\n * Hides credentials and Partner tokens from Node's `util.inspect`.\n *\n * @returns A short redacted label.\n */\n [Symbol.for('nodejs.util.inspect.custom')](): string {\n return this.toString()\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ import { RetryOptions } from '../http/retry.js';
2
+ import { HttpTransport } from '../http/transport.js';
3
+ import { UrlGuard } from '../http/url-guard.js';
4
+ import { PartnerAccountInfo } from '../partner/account-info.js';
5
+ import { ComputerBackup, DeleteComputerResponse, ListComputersResult } from '../types/backup.js';
6
+ import { AccountId, ComputerId } from '../types/ids.js';
7
+ import { PartnerAuthorizeResponse } from '../types/partner.js';
8
+ import { BackupRawClient } from './raw.js';
9
+ /**
10
+ * Configuration options for creating a {@link BackupClient}.
11
+ *
12
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
13
+ */
14
+ export interface BackupClientOptions {
15
+ /** The Master Application Key ID for the partner administrator account. */
16
+ readonly masterKeyId: string;
17
+ /** The Master Application Key secret. */
18
+ readonly masterKey: string;
19
+ /**
20
+ * B2 realm to authenticate against. Accepts a known realm-map key
21
+ * (`"production"` or `"staging"`) or a direct base URL. Custom HTTPS hosts
22
+ * and loopback IP literal HTTP URLs for local testing are trusted with the
23
+ * Master Application Key during Partner authorize, so never derive `realm`
24
+ * from untrusted input. Defaults to `"production"`.
25
+ */
26
+ readonly realm?: string;
27
+ /**
28
+ * Shared Partner authorization state. Defaults to
29
+ * {@link InMemoryPartnerAccountInfo}. Pass the same store to
30
+ * {@link BackupClient} and Partner clients when both surfaces should reuse
31
+ * one Partner token. Cached authorization whose endpoints fail this client's
32
+ * realm policy is ignored locally until `authorize()` replaces it; shared
33
+ * stores are not cleared during construction.
34
+ */
35
+ readonly partnerAccountInfo?: PartnerAccountInfo;
36
+ /** Custom HTTP transport. Defaults to `FetchTransport`. Wrapped by `RetryTransport`. */
37
+ readonly transport?: HttpTransport;
38
+ /** Override retry behavior (max retries, backoff, and per-attempt timeout). */
39
+ readonly retry?: Partial<RetryOptions>;
40
+ /** Custom user-agent string prepended to the SDK default. */
41
+ readonly userAgent?: string;
42
+ /**
43
+ * Additional SSRF allow-list host suffixes for the default transport.
44
+ *
45
+ * Only consulted when {@link BackupClientOptions.transport} is unset; a
46
+ * custom transport is the user's responsibility to harden.
47
+ */
48
+ readonly additionalAllowedHostSuffixes?: readonly string[];
49
+ /**
50
+ * Explicitly disable the default SSRF guard after authorize.
51
+ *
52
+ * Intended only for controlled simulator/private-proxy tests. Never enable
53
+ * it for URLs derived from untrusted input or production credentials.
54
+ */
55
+ readonly disableSsrfGuard?: boolean;
56
+ /**
57
+ * Follow same-origin GET/HEAD redirects in the default fetch transport after
58
+ * checking each target with the SSRF guard. POST redirects remain blocked.
59
+ * Defaults to true.
60
+ */
61
+ readonly followSameOriginRedirects?: boolean;
62
+ /**
63
+ * Allow direct custom authorize realms for tests or private proxies.
64
+ * Leave disabled unless the configured host is trusted with the Master
65
+ * Application Key.
66
+ */
67
+ readonly allowCustomAuthorizeRealm?: boolean;
68
+ }
69
+ /**
70
+ * Options for Partner authorization performed by {@link BackupClient}.
71
+ *
72
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
73
+ */
74
+ export interface BackupAuthorizeOptions {
75
+ /** Abort signal for cancelling the authorize request. */
76
+ readonly signal?: AbortSignal;
77
+ }
78
+ /**
79
+ * Options for listing Computer Backup records.
80
+ *
81
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
82
+ */
83
+ export interface ListComputersOptions {
84
+ /**
85
+ * Account whose active computer backups should be listed. Defaults to the
86
+ * partner administrator account ID from authorization.
87
+ */
88
+ readonly accountId?: AccountId;
89
+ /** Computer ID to start listing from for pagination. */
90
+ readonly startComputerId?: ComputerId;
91
+ /** Maximum computers to return in this page. Forwarded to `maxComputerCount`. */
92
+ readonly pageSize?: number;
93
+ /** Abort signal for cancelling the request. */
94
+ readonly signal?: AbortSignal;
95
+ }
96
+ /**
97
+ * Options for paginating Computer Backup records.
98
+ *
99
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
100
+ */
101
+ export interface PaginateComputersOptions extends Omit<ListComputersOptions, 'startComputerId'> {
102
+ /**
103
+ * Aborts the iteration between page fetches. The signal is also forwarded to
104
+ * each underlying list request.
105
+ */
106
+ readonly signal?: AbortSignal;
107
+ }
108
+ /**
109
+ * Options for deleting a Computer Backup record.
110
+ *
111
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
112
+ */
113
+ export interface DeleteComputerOptions {
114
+ /**
115
+ * Account that owns the computer backup. Defaults to the partner
116
+ * administrator account ID from authorization.
117
+ */
118
+ readonly accountId?: AccountId;
119
+ /** Computer ID of the backup to delete. */
120
+ readonly computerId: ComputerId;
121
+ /** Abort signal for cancelling the request. */
122
+ readonly signal?: AbortSignal;
123
+ }
124
+ /** Redacted JSON diagnostic shape emitted by {@link BackupClient.toJSON}. */
125
+ export interface BackupClientJson {
126
+ /** Object kind for log consumers. */
127
+ readonly type: 'BackupClient';
128
+ /** Redacted Master Application Key credential placeholder. */
129
+ readonly credentials: string;
130
+ /** Redacted Partner token placeholder, or unauthorized state. */
131
+ readonly authorization: string;
132
+ /** Whether this client currently has Partner authorization state. */
133
+ readonly authorized: boolean;
134
+ /** Current default URL guard suffixes, or null when a custom transport owns guarding. */
135
+ readonly urlGuardAllowedSuffixes: readonly string[] | null;
136
+ }
137
+ /**
138
+ * High-level Computer Backup API client for listing and deleting backup records.
139
+ *
140
+ * The client uses Partner authorization and the `backupApiUrl` returned by
141
+ * `authorizePartner`. The target account must belong to a group with
142
+ * Enterprise Controls enabled, and the caller must be a group admin. Deleting
143
+ * a backup also requires the Enterprise Controls setting that permits admins
144
+ * to delete member backups.
145
+ *
146
+ * @example
147
+ * ```ts
148
+ * const backup = new BackupClient({
149
+ * masterKeyId: process.env.B2_MASTER_KEY_ID,
150
+ * masterKey: process.env.B2_MASTER_KEY,
151
+ * })
152
+ * await backup.authorize()
153
+ * for await (const computer of backup.paginateComputers()) {
154
+ * console.log(computer.computerName)
155
+ * }
156
+ * ```
157
+ *
158
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
159
+ */
160
+ export declare class BackupClient {
161
+ /** Low-level client for direct Computer Backup API calls. */
162
+ readonly raw: BackupRawClient;
163
+ /** Partner authorization state storage (tokens, URLs, capabilities). */
164
+ readonly partnerAccountInfo: PartnerAccountInfo;
165
+ /**
166
+ * SSRF allow-list applied by the default transport. `null` when
167
+ * a custom transport was supplied; in that case the SDK does not own the
168
+ * guard.
169
+ */
170
+ readonly urlGuard: UrlGuard | null;
171
+ private readonly authCore;
172
+ /**
173
+ * Creates a new BackupClient. Call {@link authorize} before making API requests
174
+ * unless `partnerAccountInfo` already contains valid Partner authorization.
175
+ *
176
+ * @param options - Configuration including credentials, realm, and transport settings.
177
+ */
178
+ constructor(options: BackupClientOptions);
179
+ /**
180
+ * Authenticates with B2 Partner authorization and stores the authorization state.
181
+ *
182
+ * @param options - Optional abort signal.
183
+ *
184
+ * @returns The Partner authorization response containing tokens, URLs, and capabilities.
185
+ *
186
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
187
+ */
188
+ authorize(options?: BackupAuthorizeOptions): Promise<PartnerAuthorizeResponse>;
189
+ /**
190
+ * Lists active Computer Backup records for an account.
191
+ *
192
+ * @param options - Optional target account and pagination settings.
193
+ *
194
+ * @returns A normalized page of computer backup records with an optional continuation cursor.
195
+ *
196
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
197
+ */
198
+ listComputers(options?: ListComputersOptions): Promise<ListComputersResult>;
199
+ /**
200
+ * Async iterator that yields every active Computer Backup record for an account.
201
+ *
202
+ * @param options - Optional target account, page size, and abort signal.
203
+ *
204
+ * @returns An async iterable of {@link ComputerBackup} entries.
205
+ *
206
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
207
+ */
208
+ paginateComputers(options?: PaginateComputersOptions): AsyncIterableIterator<ComputerBackup>;
209
+ /**
210
+ * Deletes a Computer Backup record.
211
+ *
212
+ * This destructive mutation is not automatically retried or reauthorized in
213
+ * place; callers should reconcile backup state before issuing a new delete
214
+ * after an ambiguous failure.
215
+ *
216
+ * @param options - Target account, computer ID, and optional abort signal.
217
+ *
218
+ * @returns The deleted computer backup record array.
219
+ *
220
+ * @experimental Computer Backup API surface; shape may change as the Backup API docs evolve.
221
+ */
222
+ deleteComputer(options: DeleteComputerOptions): Promise<DeleteComputerResponse>;
223
+ private ensureBackupAuthorization;
224
+ private backupCoordinates;
225
+ /**
226
+ * Hides credentials and Partner tokens from `JSON.stringify(client)`.
227
+ *
228
+ * @returns A redacted diagnostic object.
229
+ */
230
+ toJSON(): BackupClientJson;
231
+ /**
232
+ * Hides credentials and Partner tokens from default stringification.
233
+ *
234
+ * @returns A short redacted label.
235
+ */
236
+ toString(): string;
237
+ }
238
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/backup/client.js"],"names":[],"mappings":"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"}