@backblaze-labs/b2-sdk 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (590) hide show
  1. package/CHANGELOG.md +86 -1
  2. package/README.md +38 -7
  3. package/dist/_virtual/_b2-sdk-version-json.cjs +1 -1
  4. package/dist/_virtual/_b2-sdk-version-json.js +1 -1
  5. package/dist/auth/file.cjs.map +1 -1
  6. package/dist/auth/reauth-coalescer.cjs +65 -0
  7. package/dist/auth/reauth-coalescer.cjs.map +1 -0
  8. package/dist/auth/reauth-coalescer.d.cts +34 -0
  9. package/dist/auth/reauth-coalescer.d.cts.map +1 -0
  10. package/dist/auth/reauth-coalescer.d.ts +34 -0
  11. package/dist/auth/reauth-coalescer.d.ts.map +1 -0
  12. package/dist/auth/reauth-coalescer.js +65 -0
  13. package/dist/auth/reauth-coalescer.js.map +1 -0
  14. package/dist/backup/client.cjs +206 -0
  15. package/dist/backup/client.cjs.map +1 -0
  16. package/dist/backup/client.d.cts +238 -0
  17. package/dist/backup/client.d.cts.map +1 -0
  18. package/dist/backup/client.d.ts +238 -0
  19. package/dist/backup/client.d.ts.map +1 -0
  20. package/dist/backup/client.js +206 -0
  21. package/dist/backup/client.js.map +1 -0
  22. package/dist/backup/index.cjs +15 -0
  23. package/dist/backup/index.d.cts +22 -0
  24. package/dist/backup/index.d.cts.map +1 -0
  25. package/dist/backup/index.d.ts +22 -0
  26. package/dist/backup/index.d.ts.map +1 -0
  27. package/dist/backup/index.js +7 -0
  28. package/dist/backup/raw.cjs +168 -0
  29. package/dist/backup/raw.cjs.map +1 -0
  30. package/dist/backup/raw.d.cts +122 -0
  31. package/dist/backup/raw.d.cts.map +1 -0
  32. package/dist/backup/raw.d.ts +122 -0
  33. package/dist/backup/raw.d.ts.map +1 -0
  34. package/dist/backup/raw.js +168 -0
  35. package/dist/backup/raw.js.map +1 -0
  36. package/dist/bucket-validation.cjs +111 -0
  37. package/dist/bucket-validation.cjs.map +1 -0
  38. package/dist/bucket-validation.d.cts +27 -0
  39. package/dist/bucket-validation.d.cts.map +1 -0
  40. package/dist/bucket-validation.d.ts +27 -0
  41. package/dist/bucket-validation.d.ts.map +1 -0
  42. package/dist/bucket-validation.js +109 -0
  43. package/dist/bucket-validation.js.map +1 -0
  44. package/dist/bucket.cjs +125 -74
  45. package/dist/bucket.cjs.map +1 -1
  46. package/dist/bucket.d.cts +156 -61
  47. package/dist/bucket.d.cts.map +1 -1
  48. package/dist/bucket.d.ts +156 -61
  49. package/dist/bucket.d.ts.map +1 -1
  50. package/dist/bucket.js +125 -74
  51. package/dist/bucket.js.map +1 -1
  52. package/dist/client.cjs +29 -8
  53. package/dist/client.cjs.map +1 -1
  54. package/dist/client.d.cts +30 -9
  55. package/dist/client.d.cts.map +1 -1
  56. package/dist/client.d.ts +30 -9
  57. package/dist/client.d.ts.map +1 -1
  58. package/dist/client.js +29 -8
  59. package/dist/client.js.map +1 -1
  60. package/dist/copy/large.cjs +5 -3
  61. package/dist/copy/large.cjs.map +1 -1
  62. package/dist/copy/large.d.cts.map +1 -1
  63. package/dist/copy/large.d.ts.map +1 -1
  64. package/dist/copy/large.js +5 -3
  65. package/dist/copy/large.js.map +1 -1
  66. package/dist/download/checksum.cjs +6 -2
  67. package/dist/download/checksum.cjs.map +1 -1
  68. package/dist/download/checksum.js +6 -2
  69. package/dist/download/checksum.js.map +1 -1
  70. package/dist/download/parallel.cjs +52 -15
  71. package/dist/download/parallel.cjs.map +1 -1
  72. package/dist/download/parallel.d.cts +8 -1
  73. package/dist/download/parallel.d.cts.map +1 -1
  74. package/dist/download/parallel.d.ts +8 -1
  75. package/dist/download/parallel.d.ts.map +1 -1
  76. package/dist/download/parallel.js +52 -15
  77. package/dist/download/parallel.js.map +1 -1
  78. package/dist/download/single.cjs +179 -19
  79. package/dist/download/single.cjs.map +1 -1
  80. package/dist/download/single.d.cts +10 -4
  81. package/dist/download/single.d.cts.map +1 -1
  82. package/dist/download/single.d.ts +10 -4
  83. package/dist/download/single.d.ts.map +1 -1
  84. package/dist/download/single.js +179 -19
  85. package/dist/download/single.js.map +1 -1
  86. package/dist/errors/index.cjs +196 -3
  87. package/dist/errors/index.cjs.map +1 -1
  88. package/dist/errors/index.d.cts +134 -0
  89. package/dist/errors/index.d.cts.map +1 -1
  90. package/dist/errors/index.d.ts +134 -0
  91. package/dist/errors/index.d.ts.map +1 -1
  92. package/dist/errors/index.js +183 -4
  93. package/dist/errors/index.js.map +1 -1
  94. package/dist/http/non-idempotent-mutations.cjs +38 -0
  95. package/dist/http/non-idempotent-mutations.cjs.map +1 -0
  96. package/dist/http/non-idempotent-mutations.d.cts +25 -0
  97. package/dist/http/non-idempotent-mutations.d.cts.map +1 -0
  98. package/dist/http/non-idempotent-mutations.d.ts +25 -0
  99. package/dist/http/non-idempotent-mutations.d.ts.map +1 -0
  100. package/dist/http/non-idempotent-mutations.js +35 -0
  101. package/dist/http/non-idempotent-mutations.js.map +1 -0
  102. package/dist/http/retry.cjs +1 -1
  103. package/dist/http/retry.cjs.map +1 -1
  104. package/dist/http/retry.js +1 -1
  105. package/dist/http/retry.js.map +1 -1
  106. package/dist/http/transport.cjs +62 -23
  107. package/dist/http/transport.cjs.map +1 -1
  108. package/dist/http/transport.d.cts +30 -3
  109. package/dist/http/transport.d.cts.map +1 -1
  110. package/dist/http/transport.d.ts +30 -3
  111. package/dist/http/transport.d.ts.map +1 -1
  112. package/dist/http/transport.js +60 -22
  113. package/dist/http/transport.js.map +1 -1
  114. package/dist/http/user-agent.cjs +12 -1
  115. package/dist/http/user-agent.cjs.map +1 -1
  116. package/dist/http/user-agent.d.cts +8 -0
  117. package/dist/http/user-agent.d.cts.map +1 -1
  118. package/dist/http/user-agent.d.ts +8 -0
  119. package/dist/http/user-agent.d.ts.map +1 -1
  120. package/dist/http/user-agent.js +13 -3
  121. package/dist/http/user-agent.js.map +1 -1
  122. package/dist/index.cjs +50 -2
  123. package/dist/index.d.cts +15 -12
  124. package/dist/index.d.cts.map +1 -1
  125. package/dist/index.d.ts +15 -12
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +13 -10
  128. package/dist/notifications/index.cjs +3 -0
  129. package/dist/notifications/index.d.cts +2 -0
  130. package/dist/notifications/index.d.cts.map +1 -1
  131. package/dist/notifications/index.d.ts +2 -0
  132. package/dist/notifications/index.d.ts.map +1 -1
  133. package/dist/notifications/index.js +2 -1
  134. package/dist/object.cjs +13 -2
  135. package/dist/object.cjs.map +1 -1
  136. package/dist/object.d.cts +11 -3
  137. package/dist/object.d.cts.map +1 -1
  138. package/dist/object.d.ts +11 -3
  139. package/dist/object.d.ts.map +1 -1
  140. package/dist/object.js +13 -2
  141. package/dist/object.js.map +1 -1
  142. package/dist/partner/account-info.d.cts +43 -0
  143. package/dist/partner/account-info.d.cts.map +1 -0
  144. package/dist/partner/account-info.d.ts +43 -0
  145. package/dist/partner/account-info.d.ts.map +1 -0
  146. package/dist/partner/auth-clone.cjs +64 -0
  147. package/dist/partner/auth-clone.cjs.map +1 -0
  148. package/dist/partner/auth-clone.d.cts +27 -0
  149. package/dist/partner/auth-clone.d.cts.map +1 -0
  150. package/dist/partner/auth-clone.d.ts +27 -0
  151. package/dist/partner/auth-clone.d.ts.map +1 -0
  152. package/dist/partner/auth-clone.js +63 -0
  153. package/dist/partner/auth-clone.js.map +1 -0
  154. package/dist/partner/auth-core.cjs +156 -0
  155. package/dist/partner/auth-core.cjs.map +1 -0
  156. package/dist/partner/auth-core.d.cts +111 -0
  157. package/dist/partner/auth-core.d.cts.map +1 -0
  158. package/dist/partner/auth-core.d.ts +111 -0
  159. package/dist/partner/auth-core.d.ts.map +1 -0
  160. package/dist/partner/auth-core.js +156 -0
  161. package/dist/partner/auth-core.js.map +1 -0
  162. package/dist/partner/auth-shape.cjs +36 -0
  163. package/dist/partner/auth-shape.cjs.map +1 -0
  164. package/dist/partner/auth-shape.d.cts +12 -0
  165. package/dist/partner/auth-shape.d.cts.map +1 -0
  166. package/dist/partner/auth-shape.d.ts +12 -0
  167. package/dist/partner/auth-shape.d.ts.map +1 -0
  168. package/dist/partner/auth-shape.js +36 -0
  169. package/dist/partner/auth-shape.js.map +1 -0
  170. package/dist/partner/client.cjs +270 -0
  171. package/dist/partner/client.cjs.map +1 -0
  172. package/dist/partner/client.d.cts +357 -0
  173. package/dist/partner/client.d.cts.map +1 -0
  174. package/dist/partner/client.d.ts +357 -0
  175. package/dist/partner/client.d.ts.map +1 -0
  176. package/dist/partner/client.js +270 -0
  177. package/dist/partner/client.js.map +1 -0
  178. package/dist/partner/endpoint-url.cjs +109 -0
  179. package/dist/partner/endpoint-url.cjs.map +1 -0
  180. package/dist/partner/endpoint-url.d.cts +74 -0
  181. package/dist/partner/endpoint-url.d.cts.map +1 -0
  182. package/dist/partner/endpoint-url.d.ts +74 -0
  183. package/dist/partner/endpoint-url.d.ts.map +1 -0
  184. package/dist/partner/endpoint-url.js +106 -0
  185. package/dist/partner/endpoint-url.js.map +1 -0
  186. package/dist/partner/in-memory.cjs +135 -0
  187. package/dist/partner/in-memory.cjs.map +1 -0
  188. package/dist/partner/in-memory.d.cts +99 -0
  189. package/dist/partner/in-memory.d.cts.map +1 -0
  190. package/dist/partner/in-memory.d.ts +99 -0
  191. package/dist/partner/in-memory.d.ts.map +1 -0
  192. package/dist/partner/in-memory.js +135 -0
  193. package/dist/partner/in-memory.js.map +1 -0
  194. package/dist/partner/index.cjs +27 -0
  195. package/dist/partner/index.d.cts +32 -0
  196. package/dist/partner/index.d.cts.map +1 -0
  197. package/dist/partner/index.d.ts +32 -0
  198. package/dist/partner/index.d.ts.map +1 -0
  199. package/dist/partner/index.js +9 -0
  200. package/dist/partner/raw.cjs +400 -0
  201. package/dist/partner/raw.cjs.map +1 -0
  202. package/dist/partner/raw.d.cts +220 -0
  203. package/dist/partner/raw.d.cts.map +1 -0
  204. package/dist/partner/raw.d.ts +220 -0
  205. package/dist/partner/raw.d.ts.map +1 -0
  206. package/dist/partner/raw.js +398 -0
  207. package/dist/partner/raw.js.map +1 -0
  208. package/dist/partner/redaction-placeholders.cjs +10 -0
  209. package/dist/partner/redaction-placeholders.cjs.map +1 -0
  210. package/dist/partner/redaction-placeholders.d.cts +5 -0
  211. package/dist/partner/redaction-placeholders.d.cts.map +1 -0
  212. package/dist/partner/redaction-placeholders.d.ts +5 -0
  213. package/dist/partner/redaction-placeholders.d.ts.map +1 -0
  214. package/dist/partner/redaction-placeholders.js +9 -0
  215. package/dist/partner/redaction-placeholders.js.map +1 -0
  216. package/dist/partner/redaction.cjs +292 -0
  217. package/dist/partner/redaction.cjs.map +1 -0
  218. package/dist/partner/redaction.d.cts +158 -0
  219. package/dist/partner/redaction.d.cts.map +1 -0
  220. package/dist/partner/redaction.d.ts +158 -0
  221. package/dist/partner/redaction.d.ts.map +1 -0
  222. package/dist/partner/redaction.js +281 -0
  223. package/dist/partner/redaction.js.map +1 -0
  224. package/dist/raw/encoding.cjs +29 -10
  225. package/dist/raw/encoding.cjs.map +1 -1
  226. package/dist/raw/encoding.d.cts +3 -2
  227. package/dist/raw/encoding.d.cts.map +1 -1
  228. package/dist/raw/encoding.d.ts +3 -2
  229. package/dist/raw/encoding.d.ts.map +1 -1
  230. package/dist/raw/encoding.js +29 -10
  231. package/dist/raw/encoding.js.map +1 -1
  232. package/dist/raw/index.cjs +131 -44
  233. package/dist/raw/index.cjs.map +1 -1
  234. package/dist/raw/index.d.cts +21 -15
  235. package/dist/raw/index.d.cts.map +1 -1
  236. package/dist/raw/index.d.ts +21 -15
  237. package/dist/raw/index.d.ts.map +1 -1
  238. package/dist/raw/index.js +114 -45
  239. package/dist/raw/index.js.map +1 -1
  240. package/dist/raw/url.cjs +111 -0
  241. package/dist/raw/url.cjs.map +1 -0
  242. package/dist/raw/url.d.cts +41 -0
  243. package/dist/raw/url.d.cts.map +1 -0
  244. package/dist/raw/url.d.ts +41 -0
  245. package/dist/raw/url.d.ts.map +1 -0
  246. package/dist/raw/url.js +110 -0
  247. package/dist/raw/url.js.map +1 -0
  248. package/dist/s3/sigv4.cjs +15 -10
  249. package/dist/s3/sigv4.cjs.map +1 -1
  250. package/dist/s3/sigv4.js +15 -10
  251. package/dist/s3/sigv4.js.map +1 -1
  252. package/dist/simulator/index.cjs +1579 -257
  253. package/dist/simulator/index.cjs.map +1 -1
  254. package/dist/simulator/index.d.cts +124 -11
  255. package/dist/simulator/index.d.cts.map +1 -1
  256. package/dist/simulator/index.d.ts +124 -11
  257. package/dist/simulator/index.d.ts.map +1 -1
  258. package/dist/simulator/index.js +1568 -262
  259. package/dist/simulator/index.js.map +1 -1
  260. package/dist/simulator/partner-capabilities.cjs +77 -0
  261. package/dist/simulator/partner-capabilities.cjs.map +1 -0
  262. package/dist/simulator/partner-capabilities.d.cts +53 -0
  263. package/dist/simulator/partner-capabilities.d.cts.map +1 -0
  264. package/dist/simulator/partner-capabilities.d.ts +53 -0
  265. package/dist/simulator/partner-capabilities.d.ts.map +1 -0
  266. package/dist/simulator/partner-capabilities.js +73 -0
  267. package/dist/simulator/partner-capabilities.js.map +1 -0
  268. package/dist/simulator/partner.cjs +713 -0
  269. package/dist/simulator/partner.cjs.map +1 -0
  270. package/dist/simulator/partner.d.cts +186 -0
  271. package/dist/simulator/partner.d.cts.map +1 -0
  272. package/dist/simulator/partner.d.ts +186 -0
  273. package/dist/simulator/partner.d.ts.map +1 -0
  274. package/dist/simulator/partner.js +713 -0
  275. package/dist/simulator/partner.js.map +1 -0
  276. package/dist/simulator/validation.cjs +732 -25
  277. package/dist/simulator/validation.cjs.map +1 -1
  278. package/dist/simulator/validation.d.cts +145 -6
  279. package/dist/simulator/validation.d.cts.map +1 -1
  280. package/dist/simulator/validation.d.ts +145 -6
  281. package/dist/simulator/validation.d.ts.map +1 -1
  282. package/dist/simulator/validation.js +705 -26
  283. package/dist/simulator/validation.js.map +1 -1
  284. package/dist/streams/file-source.cjs +2 -2
  285. package/dist/streams/file-source.cjs.map +1 -1
  286. package/dist/streams/file-source.js +2 -2
  287. package/dist/streams/file-source.js.map +1 -1
  288. package/dist/streams/hash.cjs +246 -13
  289. package/dist/streams/hash.cjs.map +1 -1
  290. package/dist/streams/hash.d.cts +37 -12
  291. package/dist/streams/hash.d.cts.map +1 -1
  292. package/dist/streams/hash.d.ts +37 -12
  293. package/dist/streams/hash.d.ts.map +1 -1
  294. package/dist/streams/hash.js +246 -15
  295. package/dist/streams/hash.js.map +1 -1
  296. package/dist/streams/index.cjs +3 -1
  297. package/dist/streams/index.d.cts +1 -1
  298. package/dist/streams/index.d.cts.map +1 -1
  299. package/dist/streams/index.d.ts +1 -1
  300. package/dist/streams/index.d.ts.map +1 -1
  301. package/dist/streams/index.js +3 -3
  302. package/dist/streams/progress.cjs +63 -4
  303. package/dist/streams/progress.cjs.map +1 -1
  304. package/dist/streams/progress.d.cts +28 -2
  305. package/dist/streams/progress.d.cts.map +1 -1
  306. package/dist/streams/progress.d.ts +28 -2
  307. package/dist/streams/progress.d.ts.map +1 -1
  308. package/dist/streams/progress.js +63 -4
  309. package/dist/streams/progress.js.map +1 -1
  310. package/dist/streams/source.cjs +2 -1
  311. package/dist/streams/source.cjs.map +1 -1
  312. package/dist/streams/source.js +2 -1
  313. package/dist/streams/source.js.map +1 -1
  314. package/dist/sync/b2-sha1-reader.cjs +6 -2
  315. package/dist/sync/b2-sha1-reader.cjs.map +1 -1
  316. package/dist/sync/b2-sha1-reader.d.cts.map +1 -1
  317. package/dist/sync/b2-sha1-reader.d.ts.map +1 -1
  318. package/dist/sync/b2-sha1-reader.js +6 -2
  319. package/dist/sync/b2-sha1-reader.js.map +1 -1
  320. package/dist/sync/download-staging.cjs +156 -43
  321. package/dist/sync/download-staging.cjs.map +1 -1
  322. package/dist/sync/download-staging.d.cts +26 -2
  323. package/dist/sync/download-staging.d.cts.map +1 -1
  324. package/dist/sync/download-staging.d.ts +26 -2
  325. package/dist/sync/download-staging.d.ts.map +1 -1
  326. package/dist/sync/download-staging.js +155 -44
  327. package/dist/sync/download-staging.js.map +1 -1
  328. package/dist/sync/filters.cjs.map +1 -1
  329. package/dist/sync/filters.js.map +1 -1
  330. package/dist/sync/index.d.cts +1 -1
  331. package/dist/sync/index.d.cts.map +1 -1
  332. package/dist/sync/index.d.ts +1 -1
  333. package/dist/sync/index.d.ts.map +1 -1
  334. package/dist/sync/local-file-io.cjs +15 -6
  335. package/dist/sync/local-file-io.cjs.map +1 -1
  336. package/dist/sync/local-file-io.d.cts +3 -0
  337. package/dist/sync/local-file-io.d.cts.map +1 -1
  338. package/dist/sync/local-file-io.d.ts +3 -0
  339. package/dist/sync/local-file-io.d.ts.map +1 -1
  340. package/dist/sync/local-file-io.js +15 -6
  341. package/dist/sync/local-file-io.js.map +1 -1
  342. package/dist/sync/local-sha1.cjs +6 -15
  343. package/dist/sync/local-sha1.cjs.map +1 -1
  344. package/dist/sync/local-sha1.d.cts +0 -8
  345. package/dist/sync/local-sha1.d.cts.map +1 -1
  346. package/dist/sync/local-sha1.d.ts +0 -8
  347. package/dist/sync/local-sha1.d.ts.map +1 -1
  348. package/dist/sync/local-sha1.js +7 -15
  349. package/dist/sync/local-sha1.js.map +1 -1
  350. package/dist/sync/pairing.cjs +1 -0
  351. package/dist/sync/pairing.cjs.map +1 -1
  352. package/dist/sync/pairing.js +1 -0
  353. package/dist/sync/pairing.js.map +1 -1
  354. package/dist/sync/policies/compare.cjs +5 -3
  355. package/dist/sync/policies/compare.cjs.map +1 -1
  356. package/dist/sync/policies/compare.d.cts.map +1 -1
  357. package/dist/sync/policies/compare.d.ts.map +1 -1
  358. package/dist/sync/policies/compare.js +6 -4
  359. package/dist/sync/policies/compare.js.map +1 -1
  360. package/dist/sync/policies/index.cjs +4 -10
  361. package/dist/sync/policies/index.cjs.map +1 -1
  362. package/dist/sync/policies/index.js +4 -10
  363. package/dist/sync/policies/index.js.map +1 -1
  364. package/dist/sync/scanners/b2.cjs +4 -2
  365. package/dist/sync/scanners/b2.cjs.map +1 -1
  366. package/dist/sync/scanners/b2.d.cts.map +1 -1
  367. package/dist/sync/scanners/b2.d.ts.map +1 -1
  368. package/dist/sync/scanners/b2.js +4 -2
  369. package/dist/sync/scanners/b2.js.map +1 -1
  370. package/dist/sync/scanners/local.cjs +150 -33
  371. package/dist/sync/scanners/local.cjs.map +1 -1
  372. package/dist/sync/scanners/local.d.cts +6 -0
  373. package/dist/sync/scanners/local.d.cts.map +1 -1
  374. package/dist/sync/scanners/local.d.ts +6 -0
  375. package/dist/sync/scanners/local.d.ts.map +1 -1
  376. package/dist/sync/scanners/local.js +150 -33
  377. package/dist/sync/scanners/local.js.map +1 -1
  378. package/dist/sync/synchronizer.cjs +79 -31
  379. package/dist/sync/synchronizer.cjs.map +1 -1
  380. package/dist/sync/synchronizer.d.cts +1 -0
  381. package/dist/sync/synchronizer.d.cts.map +1 -1
  382. package/dist/sync/synchronizer.d.ts +1 -0
  383. package/dist/sync/synchronizer.d.ts.map +1 -1
  384. package/dist/sync/synchronizer.js +79 -31
  385. package/dist/sync/synchronizer.js.map +1 -1
  386. package/dist/sync/types.d.cts +19 -3
  387. package/dist/sync/types.d.cts.map +1 -1
  388. package/dist/sync/types.d.ts +19 -3
  389. package/dist/sync/types.d.ts.map +1 -1
  390. package/dist/types/auth.cjs +4 -0
  391. package/dist/types/auth.cjs.map +1 -1
  392. package/dist/types/auth.d.cts +4 -0
  393. package/dist/types/auth.d.cts.map +1 -1
  394. package/dist/types/auth.d.ts +4 -0
  395. package/dist/types/auth.d.ts.map +1 -1
  396. package/dist/types/auth.js +4 -0
  397. package/dist/types/auth.js.map +1 -1
  398. package/dist/types/backup.d.cts +85 -0
  399. package/dist/types/backup.d.cts.map +1 -0
  400. package/dist/types/backup.d.ts +85 -0
  401. package/dist/types/backup.d.ts.map +1 -0
  402. package/dist/types/bucket.cjs +81 -11
  403. package/dist/types/bucket.cjs.map +1 -1
  404. package/dist/types/bucket.d.cts +194 -41
  405. package/dist/types/bucket.d.cts.map +1 -1
  406. package/dist/types/bucket.d.ts +194 -41
  407. package/dist/types/bucket.d.ts.map +1 -1
  408. package/dist/types/bucket.js +67 -12
  409. package/dist/types/bucket.js.map +1 -1
  410. package/dist/types/download.cjs +62 -0
  411. package/dist/types/download.cjs.map +1 -0
  412. package/dist/types/download.d.cts +100 -16
  413. package/dist/types/download.d.cts.map +1 -1
  414. package/dist/types/download.d.ts +100 -16
  415. package/dist/types/download.d.ts.map +1 -1
  416. package/dist/types/download.js +61 -0
  417. package/dist/types/download.js.map +1 -0
  418. package/dist/types/encryption.cjs +76 -229
  419. package/dist/types/encryption.cjs.map +1 -1
  420. package/dist/types/encryption.d.cts +48 -6
  421. package/dist/types/encryption.d.cts.map +1 -1
  422. package/dist/types/encryption.d.ts +48 -6
  423. package/dist/types/encryption.d.ts.map +1 -1
  424. package/dist/types/encryption.js +74 -229
  425. package/dist/types/encryption.js.map +1 -1
  426. package/dist/types/errors.cjs +9 -0
  427. package/dist/types/errors.cjs.map +1 -1
  428. package/dist/types/errors.d.cts +1 -1
  429. package/dist/types/errors.d.cts.map +1 -1
  430. package/dist/types/errors.d.ts +1 -1
  431. package/dist/types/errors.d.ts.map +1 -1
  432. package/dist/types/errors.js +9 -0
  433. package/dist/types/errors.js.map +1 -1
  434. package/dist/types/file.cjs +3 -0
  435. package/dist/types/file.cjs.map +1 -1
  436. package/dist/types/file.d.cts +140 -18
  437. package/dist/types/file.d.cts.map +1 -1
  438. package/dist/types/file.d.ts +140 -18
  439. package/dist/types/file.d.ts.map +1 -1
  440. package/dist/types/file.js +3 -1
  441. package/dist/types/file.js.map +1 -1
  442. package/dist/types/ids.cjs +30 -0
  443. package/dist/types/ids.cjs.map +1 -1
  444. package/dist/types/ids.d.cts +32 -0
  445. package/dist/types/ids.d.cts.map +1 -1
  446. package/dist/types/ids.d.ts +32 -0
  447. package/dist/types/ids.d.ts.map +1 -1
  448. package/dist/types/ids.js +28 -1
  449. package/dist/types/ids.js.map +1 -1
  450. package/dist/types/index.d.cts +16 -12
  451. package/dist/types/index.d.cts.map +1 -1
  452. package/dist/types/index.d.ts +16 -12
  453. package/dist/types/index.d.ts.map +1 -1
  454. package/dist/types/key.d.cts +4 -3
  455. package/dist/types/key.d.cts.map +1 -1
  456. package/dist/types/key.d.ts +4 -3
  457. package/dist/types/key.d.ts.map +1 -1
  458. package/dist/types/lock.cjs.map +1 -1
  459. package/dist/types/lock.d.cts +14 -0
  460. package/dist/types/lock.d.cts.map +1 -1
  461. package/dist/types/lock.d.ts +14 -0
  462. package/dist/types/lock.d.ts.map +1 -1
  463. package/dist/types/lock.js.map +1 -1
  464. package/dist/types/notifications.cjs +31 -1
  465. package/dist/types/notifications.cjs.map +1 -1
  466. package/dist/types/notifications.d.cts +31 -4
  467. package/dist/types/notifications.d.cts.map +1 -1
  468. package/dist/types/notifications.d.ts +31 -4
  469. package/dist/types/notifications.d.ts.map +1 -1
  470. package/dist/types/notifications.js +30 -2
  471. package/dist/types/notifications.js.map +1 -1
  472. package/dist/types/partner.cjs +32 -0
  473. package/dist/types/partner.cjs.map +1 -0
  474. package/dist/types/partner.d.cts +386 -0
  475. package/dist/types/partner.d.cts.map +1 -0
  476. package/dist/types/partner.d.ts +386 -0
  477. package/dist/types/partner.d.ts.map +1 -0
  478. package/dist/types/partner.js +29 -0
  479. package/dist/types/partner.js.map +1 -0
  480. package/dist/types/upload.d.cts +35 -18
  481. package/dist/types/upload.d.cts.map +1 -1
  482. package/dist/types/upload.d.ts +35 -18
  483. package/dist/types/upload.d.ts.map +1 -1
  484. package/dist/upload/abort-scope.cjs +0 -45
  485. package/dist/upload/abort-scope.cjs.map +1 -1
  486. package/dist/upload/abort-scope.d.cts +0 -22
  487. package/dist/upload/abort-scope.d.cts.map +1 -1
  488. package/dist/upload/abort-scope.d.ts +0 -22
  489. package/dist/upload/abort-scope.d.ts.map +1 -1
  490. package/dist/upload/abort-scope.js +1 -44
  491. package/dist/upload/abort-scope.js.map +1 -1
  492. package/dist/upload/finish.cjs +3 -8
  493. package/dist/upload/finish.cjs.map +1 -1
  494. package/dist/upload/finish.d.cts.map +1 -1
  495. package/dist/upload/finish.d.ts.map +1 -1
  496. package/dist/upload/finish.js +1 -6
  497. package/dist/upload/finish.js.map +1 -1
  498. package/dist/upload/large.cjs +15 -8
  499. package/dist/upload/large.cjs.map +1 -1
  500. package/dist/upload/large.d.cts +31 -8
  501. package/dist/upload/large.d.cts.map +1 -1
  502. package/dist/upload/large.d.ts +31 -8
  503. package/dist/upload/large.d.ts.map +1 -1
  504. package/dist/upload/large.js +15 -8
  505. package/dist/upload/large.js.map +1 -1
  506. package/dist/upload/options.cjs.map +1 -1
  507. package/dist/upload/options.d.cts +24 -0
  508. package/dist/upload/options.d.cts.map +1 -1
  509. package/dist/upload/options.d.ts +24 -0
  510. package/dist/upload/options.d.ts.map +1 -1
  511. package/dist/upload/options.js.map +1 -1
  512. package/dist/upload/resume.cjs +6 -4
  513. package/dist/upload/resume.cjs.map +1 -1
  514. package/dist/upload/resume.d.cts +9 -5
  515. package/dist/upload/resume.d.cts.map +1 -1
  516. package/dist/upload/resume.d.ts +9 -5
  517. package/dist/upload/resume.d.ts.map +1 -1
  518. package/dist/upload/resume.js +6 -4
  519. package/dist/upload/resume.js.map +1 -1
  520. package/dist/upload/retry.cjs +25 -13
  521. package/dist/upload/retry.cjs.map +1 -1
  522. package/dist/upload/retry.d.cts.map +1 -1
  523. package/dist/upload/retry.d.ts.map +1 -1
  524. package/dist/upload/retry.js +25 -13
  525. package/dist/upload/retry.js.map +1 -1
  526. package/dist/upload/single.cjs +35 -30
  527. package/dist/upload/single.cjs.map +1 -1
  528. package/dist/upload/single.d.cts +12 -0
  529. package/dist/upload/single.d.cts.map +1 -1
  530. package/dist/upload/single.d.ts +12 -0
  531. package/dist/upload/single.d.ts.map +1 -1
  532. package/dist/upload/single.js +35 -30
  533. package/dist/upload/single.js.map +1 -1
  534. package/dist/upload/stream.cjs +18 -5
  535. package/dist/upload/stream.cjs.map +1 -1
  536. package/dist/upload/stream.d.cts +12 -0
  537. package/dist/upload/stream.d.cts.map +1 -1
  538. package/dist/upload/stream.d.ts +12 -0
  539. package/dist/upload/stream.d.ts.map +1 -1
  540. package/dist/upload/stream.js +15 -2
  541. package/dist/upload/stream.js.map +1 -1
  542. package/dist/util/abort.cjs +114 -0
  543. package/dist/util/abort.cjs.map +1 -0
  544. package/dist/util/abort.d.cts +65 -0
  545. package/dist/util/abort.d.cts.map +1 -0
  546. package/dist/util/abort.d.ts +65 -0
  547. package/dist/util/abort.d.ts.map +1 -0
  548. package/dist/util/abort.js +109 -0
  549. package/dist/util/abort.js.map +1 -0
  550. package/dist/util/defaults.cjs +3 -0
  551. package/dist/util/defaults.cjs.map +1 -1
  552. package/dist/util/defaults.d.cts +2 -0
  553. package/dist/util/defaults.d.cts.map +1 -1
  554. package/dist/util/defaults.d.ts +2 -0
  555. package/dist/util/defaults.d.ts.map +1 -1
  556. package/dist/util/defaults.js +3 -1
  557. package/dist/util/defaults.js.map +1 -1
  558. package/dist/util/md5.cjs +211 -0
  559. package/dist/util/md5.cjs.map +1 -0
  560. package/dist/util/md5.d.cts +43 -0
  561. package/dist/util/md5.d.cts.map +1 -0
  562. package/dist/util/md5.d.ts +43 -0
  563. package/dist/util/md5.d.ts.map +1 -0
  564. package/dist/util/md5.js +209 -0
  565. package/dist/util/md5.js.map +1 -0
  566. package/dist/util/normalize.cjs +5 -5
  567. package/dist/util/normalize.cjs.map +1 -1
  568. package/dist/util/normalize.d.cts +7 -7
  569. package/dist/util/normalize.d.cts.map +1 -1
  570. package/dist/util/normalize.d.ts +7 -7
  571. package/dist/util/normalize.d.ts.map +1 -1
  572. package/dist/util/normalize.js +5 -5
  573. package/dist/util/normalize.js.map +1 -1
  574. package/dist/util/paginator.cjs +7 -1
  575. package/dist/util/paginator.cjs.map +1 -1
  576. package/dist/util/paginator.d.cts +3 -1
  577. package/dist/util/paginator.d.cts.map +1 -1
  578. package/dist/util/paginator.d.ts +3 -1
  579. package/dist/util/paginator.d.ts.map +1 -1
  580. package/dist/util/paginator.js +7 -1
  581. package/dist/util/paginator.js.map +1 -1
  582. package/dist/version.cjs +56 -4
  583. package/dist/version.cjs.map +1 -1
  584. package/dist/version.d.cts +53 -4
  585. package/dist/version.d.cts.map +1 -1
  586. package/dist/version.d.ts +53 -4
  587. package/dist/version.d.ts.map +1 -1
  588. package/dist/version.js +52 -5
  589. package/dist/version.js.map +1 -1
  590. package/package.json +47 -18
@@ -0,0 +1,77 @@
1
+ const require_partner = require("../types/partner.cjs");
2
+ //#region src/simulator/partner-capabilities.ts
3
+ /**
4
+ * Partner and Computer Backup endpoint capability requirements.
5
+ *
6
+ * Partner tokens carry suite-specific grants that are independent from
7
+ * storage application-key capabilities. The simulator uses this table only
8
+ * for strict Partner/Backup auth checks.
9
+ *
10
+ * Source: https://www.backblaze.com/apidocs (Partner endpoint pages list
11
+ * valid-token authorization failures as `401 unauthorized`).
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ var PartnerEndpoint = Object.freeze({
16
+ CreateGroupMember: "b2_create_group_member",
17
+ EjectGroupMember: "b2_eject_group_member",
18
+ ListGroups: "b2_list_groups",
19
+ ListGroupMembers: "b2_list_group_members",
20
+ ReserveTrialCreateAccount: "b2_reserve_trial_create_account",
21
+ ListComputers: "bz_list_computers",
22
+ DeleteComputer: "bz_delete_computer"
23
+ });
24
+ var PARTNER_ENDPOINT_NAMES = Object.freeze([
25
+ PartnerEndpoint.CreateGroupMember,
26
+ PartnerEndpoint.EjectGroupMember,
27
+ PartnerEndpoint.ListGroups,
28
+ PartnerEndpoint.ListGroupMembers,
29
+ PartnerEndpoint.ReserveTrialCreateAccount,
30
+ PartnerEndpoint.ListComputers,
31
+ PartnerEndpoint.DeleteComputer
32
+ ]);
33
+ function endpointRequirement(suite, capabilities) {
34
+ return Object.freeze({
35
+ suite,
36
+ capabilities: Object.freeze([...capabilities])
37
+ });
38
+ }
39
+ var PARTNER_ENDPOINT_CAPABILITIES = Object.freeze({
40
+ [PartnerEndpoint.CreateGroupMember]: endpointRequirement("groups", [require_partner.PartnerCapability.All]),
41
+ [PartnerEndpoint.EjectGroupMember]: endpointRequirement("groups", [require_partner.PartnerCapability.All]),
42
+ [PartnerEndpoint.ListGroups]: endpointRequirement("groups", [require_partner.PartnerCapability.All]),
43
+ [PartnerEndpoint.ListGroupMembers]: endpointRequirement("groups", [require_partner.PartnerCapability.All]),
44
+ [PartnerEndpoint.ReserveTrialCreateAccount]: endpointRequirement("groups", [require_partner.PartnerCapability.All]),
45
+ [PartnerEndpoint.ListComputers]: endpointRequirement("backup", [require_partner.PartnerCapability.All]),
46
+ [PartnerEndpoint.DeleteComputer]: endpointRequirement("backup", [require_partner.PartnerCapability.All])
47
+ });
48
+ /**
49
+ * Resolve the frozen capability requirement for a Partner or Backup endpoint.
50
+ *
51
+ * @param endpoint - Partner or Computer Backup endpoint name.
52
+ *
53
+ * @returns The endpoint's requirement, or null when no policy is available.
54
+ */
55
+ function partnerEndpointCapabilityRequirementFor(endpoint) {
56
+ return PARTNER_ENDPOINT_CAPABILITIES[endpoint] ?? null;
57
+ }
58
+ /**
59
+ * Find missing Partner capabilities against an already-resolved requirement.
60
+ *
61
+ * @param required - Partner capabilities required by the endpoint.
62
+ * @param granted - Partner capabilities granted by the token suite.
63
+ *
64
+ * @returns The subset of required Partner capabilities absent from `granted`.
65
+ */
66
+ function missingPartnerCapabilities(required, granted) {
67
+ const grantedSet = new Set(granted);
68
+ return required.filter((capability) => !grantedSet.has(capability));
69
+ }
70
+ //#endregion
71
+ exports.PARTNER_ENDPOINT_CAPABILITIES = PARTNER_ENDPOINT_CAPABILITIES;
72
+ exports.PARTNER_ENDPOINT_NAMES = PARTNER_ENDPOINT_NAMES;
73
+ exports.PartnerEndpoint = PartnerEndpoint;
74
+ exports.missingPartnerCapabilities = missingPartnerCapabilities;
75
+ exports.partnerEndpointCapabilityRequirementFor = partnerEndpointCapabilityRequirementFor;
76
+
77
+ //# sourceMappingURL=partner-capabilities.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-capabilities.cjs","names":[],"sources":["../../src/simulator/partner-capabilities.ts"],"sourcesContent":["/**\n * Partner and Computer Backup endpoint capability requirements.\n *\n * Partner tokens carry suite-specific grants that are independent from\n * storage application-key capabilities. The simulator uses this table only\n * for strict Partner/Backup auth checks.\n *\n * Source: https://www.backblaze.com/apidocs (Partner endpoint pages list\n * valid-token authorization failures as `401 unauthorized`).\n *\n * @packageDocumentation\n */\n\nimport { PartnerCapability } from '../types/partner.ts'\n\nexport const PartnerEndpoint = Object.freeze({\n CreateGroupMember: 'b2_create_group_member',\n EjectGroupMember: 'b2_eject_group_member',\n ListGroups: 'b2_list_groups',\n ListGroupMembers: 'b2_list_group_members',\n ReserveTrialCreateAccount: 'b2_reserve_trial_create_account',\n ListComputers: 'bz_list_computers',\n DeleteComputer: 'bz_delete_computer',\n} as const)\n\nexport type PartnerEndpoint = (typeof PartnerEndpoint)[keyof typeof PartnerEndpoint]\n\nexport const PARTNER_ENDPOINT_NAMES = Object.freeze([\n PartnerEndpoint.CreateGroupMember,\n PartnerEndpoint.EjectGroupMember,\n PartnerEndpoint.ListGroups,\n PartnerEndpoint.ListGroupMembers,\n PartnerEndpoint.ReserveTrialCreateAccount,\n PartnerEndpoint.ListComputers,\n PartnerEndpoint.DeleteComputer,\n] as const)\n\nexport type PartnerCapabilitySuite = 'groups' | 'backup'\n\nexport interface PartnerEndpointCapabilityRequirement {\n readonly suite: PartnerCapabilitySuite\n readonly capabilities: readonly PartnerCapability[]\n}\n\nfunction endpointRequirement(\n suite: PartnerCapabilitySuite,\n capabilities: readonly PartnerCapability[],\n): PartnerEndpointCapabilityRequirement {\n return Object.freeze({\n suite,\n capabilities: Object.freeze([...capabilities]),\n })\n}\n\nexport const PARTNER_ENDPOINT_CAPABILITIES = Object.freeze({\n [PartnerEndpoint.CreateGroupMember]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.EjectGroupMember]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.ListGroups]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.ListGroupMembers]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.ReserveTrialCreateAccount]: endpointRequirement('groups', [\n PartnerCapability.All,\n ]),\n [PartnerEndpoint.ListComputers]: endpointRequirement('backup', [PartnerCapability.All]),\n [PartnerEndpoint.DeleteComputer]: endpointRequirement('backup', [PartnerCapability.All]),\n} satisfies Record<PartnerEndpoint, PartnerEndpointCapabilityRequirement>)\n\n/**\n * Resolve the frozen capability requirement for a Partner or Backup endpoint.\n *\n * @param endpoint - Partner or Computer Backup endpoint name.\n *\n * @returns The endpoint's requirement, or null when no policy is available.\n */\nexport function partnerEndpointCapabilityRequirementFor(\n endpoint: PartnerEndpoint,\n): PartnerEndpointCapabilityRequirement | null {\n return PARTNER_ENDPOINT_CAPABILITIES[endpoint] ?? null\n}\n\n/**\n * Find missing Partner capabilities against an already-resolved requirement.\n *\n * @param required - Partner capabilities required by the endpoint.\n * @param granted - Partner capabilities granted by the token suite.\n *\n * @returns The subset of required Partner capabilities absent from `granted`.\n */\nexport function missingPartnerCapabilities(\n required: readonly PartnerCapability[],\n granted: readonly PartnerCapability[],\n): readonly PartnerCapability[] {\n const grantedSet = new Set(granted)\n return required.filter((capability) => !grantedSet.has(capability))\n}\n\n/**\n * Find which Partner capabilities are missing from the caller's grant set.\n *\n * @param endpoint - Partner or Computer Backup endpoint name.\n * @param granted - Suite capabilities carried by the Partner token.\n *\n * @returns The required Partner capabilities not present in `granted`.\n */\nexport function missingPartnerCapabilitiesFor(\n endpoint: PartnerEndpoint,\n granted: readonly PartnerCapability[],\n): readonly PartnerCapability[] {\n return missingPartnerCapabilities(\n partnerEndpointCapabilityRequirementFor(endpoint)?.capabilities ?? [],\n granted,\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,IAAa,kBAAkB,OAAO,OAAO;CAC3C,mBAAmB;CACnB,kBAAkB;CAClB,YAAY;CACZ,kBAAkB;CAClB,2BAA2B;CAC3B,eAAe;CACf,gBAAgB;AAClB,CAAU;AAIV,IAAa,yBAAyB,OAAO,OAAO;CAClD,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;AAClB,CAAU;AASV,SAAS,oBACP,OACA,cACsC;CACtC,OAAO,OAAO,OAAO;EACnB;EACA,cAAc,OAAO,OAAO,CAAC,GAAG,YAAY,CAAC;CAC/C,CAAC;AACH;AAEA,IAAa,gCAAgC,OAAO,OAAO;EACxD,gBAAgB,oBAAoB,oBAAoB,UAAU,CAAC,gBAAA,kBAAkB,GAAG,CAAC;EACzF,gBAAgB,mBAAmB,oBAAoB,UAAU,CAAC,gBAAA,kBAAkB,GAAG,CAAC;EACxF,gBAAgB,aAAa,oBAAoB,UAAU,CAAC,gBAAA,kBAAkB,GAAG,CAAC;EAClF,gBAAgB,mBAAmB,oBAAoB,UAAU,CAAC,gBAAA,kBAAkB,GAAG,CAAC;EACxF,gBAAgB,4BAA4B,oBAAoB,UAAU,CACzE,gBAAA,kBAAkB,GACpB,CAAC;EACA,gBAAgB,gBAAgB,oBAAoB,UAAU,CAAC,gBAAA,kBAAkB,GAAG,CAAC;EACrF,gBAAgB,iBAAiB,oBAAoB,UAAU,CAAC,gBAAA,kBAAkB,GAAG,CAAC;AACzF,CAAyE;;;;;;;;AASzE,SAAgB,wCACd,UAC6C;CAC7C,OAAO,8BAA8B,aAAa;AACpD;;;;;;;;;AAUA,SAAgB,2BACd,UACA,SAC8B;CAC9B,MAAM,aAAa,IAAI,IAAI,OAAO;CAClC,OAAO,SAAS,QAAQ,eAAe,CAAC,WAAW,IAAI,UAAU,CAAC;AACpE"}
@@ -0,0 +1,53 @@
1
+ import { PartnerCapability } from '../types/partner.js';
2
+ export declare const PartnerEndpoint: Readonly<{
3
+ readonly CreateGroupMember: "b2_create_group_member";
4
+ readonly EjectGroupMember: "b2_eject_group_member";
5
+ readonly ListGroups: "b2_list_groups";
6
+ readonly ListGroupMembers: "b2_list_group_members";
7
+ readonly ReserveTrialCreateAccount: "b2_reserve_trial_create_account";
8
+ readonly ListComputers: "bz_list_computers";
9
+ readonly DeleteComputer: "bz_delete_computer";
10
+ }>;
11
+ export type PartnerEndpoint = (typeof PartnerEndpoint)[keyof typeof PartnerEndpoint];
12
+ export declare const PARTNER_ENDPOINT_NAMES: readonly ["b2_create_group_member", "b2_eject_group_member", "b2_list_groups", "b2_list_group_members", "b2_reserve_trial_create_account", "bz_list_computers", "bz_delete_computer"];
13
+ export type PartnerCapabilitySuite = 'groups' | 'backup';
14
+ export interface PartnerEndpointCapabilityRequirement {
15
+ readonly suite: PartnerCapabilitySuite;
16
+ readonly capabilities: readonly PartnerCapability[];
17
+ }
18
+ export declare const PARTNER_ENDPOINT_CAPABILITIES: Readonly<{
19
+ b2_create_group_member: PartnerEndpointCapabilityRequirement;
20
+ b2_eject_group_member: PartnerEndpointCapabilityRequirement;
21
+ b2_list_groups: PartnerEndpointCapabilityRequirement;
22
+ b2_list_group_members: PartnerEndpointCapabilityRequirement;
23
+ b2_reserve_trial_create_account: PartnerEndpointCapabilityRequirement;
24
+ bz_list_computers: PartnerEndpointCapabilityRequirement;
25
+ bz_delete_computer: PartnerEndpointCapabilityRequirement;
26
+ }>;
27
+ /**
28
+ * Resolve the frozen capability requirement for a Partner or Backup endpoint.
29
+ *
30
+ * @param endpoint - Partner or Computer Backup endpoint name.
31
+ *
32
+ * @returns The endpoint's requirement, or null when no policy is available.
33
+ */
34
+ export declare function partnerEndpointCapabilityRequirementFor(endpoint: PartnerEndpoint): PartnerEndpointCapabilityRequirement | null;
35
+ /**
36
+ * Find missing Partner capabilities against an already-resolved requirement.
37
+ *
38
+ * @param required - Partner capabilities required by the endpoint.
39
+ * @param granted - Partner capabilities granted by the token suite.
40
+ *
41
+ * @returns The subset of required Partner capabilities absent from `granted`.
42
+ */
43
+ export declare function missingPartnerCapabilities(required: readonly PartnerCapability[], granted: readonly PartnerCapability[]): readonly PartnerCapability[];
44
+ /**
45
+ * Find which Partner capabilities are missing from the caller's grant set.
46
+ *
47
+ * @param endpoint - Partner or Computer Backup endpoint name.
48
+ * @param granted - Suite capabilities carried by the Partner token.
49
+ *
50
+ * @returns The required Partner capabilities not present in `granted`.
51
+ */
52
+ export declare function missingPartnerCapabilitiesFor(endpoint: PartnerEndpoint, granted: readonly PartnerCapability[]): readonly PartnerCapability[];
53
+ //# sourceMappingURL=partner-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-capabilities.d.ts","sourceRoot":"","sources":["../../src/simulator/partner-capabilities.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,eAAO,MAAM,eAAe;;;;;;;;EAQjB,CAAA;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAA;AAEpF,eAAO,MAAM,sBAAsB,uLAQxB,CAAA;AAEX,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAExD,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACpD;AAYD,eAAO,MAAM,6BAA6B;;;;;;;;EAUgC,CAAA;AAE1E;;;;;;GAMG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,eAAe,GACxB,oCAAoC,GAAG,IAAI,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GACpC,SAAS,iBAAiB,EAAE,CAG9B;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,SAAS,iBAAiB,EAAE,GACpC,SAAS,iBAAiB,EAAE,CAK9B"}
@@ -0,0 +1,53 @@
1
+ import { PartnerCapability } from '../types/partner.js';
2
+ export declare const PartnerEndpoint: Readonly<{
3
+ readonly CreateGroupMember: "b2_create_group_member";
4
+ readonly EjectGroupMember: "b2_eject_group_member";
5
+ readonly ListGroups: "b2_list_groups";
6
+ readonly ListGroupMembers: "b2_list_group_members";
7
+ readonly ReserveTrialCreateAccount: "b2_reserve_trial_create_account";
8
+ readonly ListComputers: "bz_list_computers";
9
+ readonly DeleteComputer: "bz_delete_computer";
10
+ }>;
11
+ export type PartnerEndpoint = (typeof PartnerEndpoint)[keyof typeof PartnerEndpoint];
12
+ export declare const PARTNER_ENDPOINT_NAMES: readonly ["b2_create_group_member", "b2_eject_group_member", "b2_list_groups", "b2_list_group_members", "b2_reserve_trial_create_account", "bz_list_computers", "bz_delete_computer"];
13
+ export type PartnerCapabilitySuite = 'groups' | 'backup';
14
+ export interface PartnerEndpointCapabilityRequirement {
15
+ readonly suite: PartnerCapabilitySuite;
16
+ readonly capabilities: readonly PartnerCapability[];
17
+ }
18
+ export declare const PARTNER_ENDPOINT_CAPABILITIES: Readonly<{
19
+ b2_create_group_member: PartnerEndpointCapabilityRequirement;
20
+ b2_eject_group_member: PartnerEndpointCapabilityRequirement;
21
+ b2_list_groups: PartnerEndpointCapabilityRequirement;
22
+ b2_list_group_members: PartnerEndpointCapabilityRequirement;
23
+ b2_reserve_trial_create_account: PartnerEndpointCapabilityRequirement;
24
+ bz_list_computers: PartnerEndpointCapabilityRequirement;
25
+ bz_delete_computer: PartnerEndpointCapabilityRequirement;
26
+ }>;
27
+ /**
28
+ * Resolve the frozen capability requirement for a Partner or Backup endpoint.
29
+ *
30
+ * @param endpoint - Partner or Computer Backup endpoint name.
31
+ *
32
+ * @returns The endpoint's requirement, or null when no policy is available.
33
+ */
34
+ export declare function partnerEndpointCapabilityRequirementFor(endpoint: PartnerEndpoint): PartnerEndpointCapabilityRequirement | null;
35
+ /**
36
+ * Find missing Partner capabilities against an already-resolved requirement.
37
+ *
38
+ * @param required - Partner capabilities required by the endpoint.
39
+ * @param granted - Partner capabilities granted by the token suite.
40
+ *
41
+ * @returns The subset of required Partner capabilities absent from `granted`.
42
+ */
43
+ export declare function missingPartnerCapabilities(required: readonly PartnerCapability[], granted: readonly PartnerCapability[]): readonly PartnerCapability[];
44
+ /**
45
+ * Find which Partner capabilities are missing from the caller's grant set.
46
+ *
47
+ * @param endpoint - Partner or Computer Backup endpoint name.
48
+ * @param granted - Suite capabilities carried by the Partner token.
49
+ *
50
+ * @returns The required Partner capabilities not present in `granted`.
51
+ */
52
+ export declare function missingPartnerCapabilitiesFor(endpoint: PartnerEndpoint, granted: readonly PartnerCapability[]): readonly PartnerCapability[];
53
+ //# sourceMappingURL=partner-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-capabilities.d.ts","sourceRoot":"","sources":["../../src/simulator/partner-capabilities.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,eAAO,MAAM,eAAe;;;;;;;;EAQjB,CAAA;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAA;AAEpF,eAAO,MAAM,sBAAsB,uLAQxB,CAAA;AAEX,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAExD,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;IACtC,QAAQ,CAAC,YAAY,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACpD;AAYD,eAAO,MAAM,6BAA6B;;;;;;;;EAUgC,CAAA;AAE1E;;;;;;GAMG;AACH,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,eAAe,GACxB,oCAAoC,GAAG,IAAI,CAE7C;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,OAAO,EAAE,SAAS,iBAAiB,EAAE,GACpC,SAAS,iBAAiB,EAAE,CAG9B;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,SAAS,iBAAiB,EAAE,GACpC,SAAS,iBAAiB,EAAE,CAK9B"}
@@ -0,0 +1,73 @@
1
+ import { PartnerCapability } from "../types/partner.js";
2
+ //#region src/simulator/partner-capabilities.ts
3
+ /**
4
+ * Partner and Computer Backup endpoint capability requirements.
5
+ *
6
+ * Partner tokens carry suite-specific grants that are independent from
7
+ * storage application-key capabilities. The simulator uses this table only
8
+ * for strict Partner/Backup auth checks.
9
+ *
10
+ * Source: https://www.backblaze.com/apidocs (Partner endpoint pages list
11
+ * valid-token authorization failures as `401 unauthorized`).
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ var PartnerEndpoint = Object.freeze({
16
+ CreateGroupMember: "b2_create_group_member",
17
+ EjectGroupMember: "b2_eject_group_member",
18
+ ListGroups: "b2_list_groups",
19
+ ListGroupMembers: "b2_list_group_members",
20
+ ReserveTrialCreateAccount: "b2_reserve_trial_create_account",
21
+ ListComputers: "bz_list_computers",
22
+ DeleteComputer: "bz_delete_computer"
23
+ });
24
+ var PARTNER_ENDPOINT_NAMES = Object.freeze([
25
+ PartnerEndpoint.CreateGroupMember,
26
+ PartnerEndpoint.EjectGroupMember,
27
+ PartnerEndpoint.ListGroups,
28
+ PartnerEndpoint.ListGroupMembers,
29
+ PartnerEndpoint.ReserveTrialCreateAccount,
30
+ PartnerEndpoint.ListComputers,
31
+ PartnerEndpoint.DeleteComputer
32
+ ]);
33
+ function endpointRequirement(suite, capabilities) {
34
+ return Object.freeze({
35
+ suite,
36
+ capabilities: Object.freeze([...capabilities])
37
+ });
38
+ }
39
+ var PARTNER_ENDPOINT_CAPABILITIES = Object.freeze({
40
+ [PartnerEndpoint.CreateGroupMember]: endpointRequirement("groups", [PartnerCapability.All]),
41
+ [PartnerEndpoint.EjectGroupMember]: endpointRequirement("groups", [PartnerCapability.All]),
42
+ [PartnerEndpoint.ListGroups]: endpointRequirement("groups", [PartnerCapability.All]),
43
+ [PartnerEndpoint.ListGroupMembers]: endpointRequirement("groups", [PartnerCapability.All]),
44
+ [PartnerEndpoint.ReserveTrialCreateAccount]: endpointRequirement("groups", [PartnerCapability.All]),
45
+ [PartnerEndpoint.ListComputers]: endpointRequirement("backup", [PartnerCapability.All]),
46
+ [PartnerEndpoint.DeleteComputer]: endpointRequirement("backup", [PartnerCapability.All])
47
+ });
48
+ /**
49
+ * Resolve the frozen capability requirement for a Partner or Backup endpoint.
50
+ *
51
+ * @param endpoint - Partner or Computer Backup endpoint name.
52
+ *
53
+ * @returns The endpoint's requirement, or null when no policy is available.
54
+ */
55
+ function partnerEndpointCapabilityRequirementFor(endpoint) {
56
+ return PARTNER_ENDPOINT_CAPABILITIES[endpoint] ?? null;
57
+ }
58
+ /**
59
+ * Find missing Partner capabilities against an already-resolved requirement.
60
+ *
61
+ * @param required - Partner capabilities required by the endpoint.
62
+ * @param granted - Partner capabilities granted by the token suite.
63
+ *
64
+ * @returns The subset of required Partner capabilities absent from `granted`.
65
+ */
66
+ function missingPartnerCapabilities(required, granted) {
67
+ const grantedSet = new Set(granted);
68
+ return required.filter((capability) => !grantedSet.has(capability));
69
+ }
70
+ //#endregion
71
+ export { PARTNER_ENDPOINT_CAPABILITIES, PARTNER_ENDPOINT_NAMES, PartnerEndpoint, missingPartnerCapabilities, partnerEndpointCapabilityRequirementFor };
72
+
73
+ //# sourceMappingURL=partner-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner-capabilities.js","names":[],"sources":["../../src/simulator/partner-capabilities.ts"],"sourcesContent":["/**\n * Partner and Computer Backup endpoint capability requirements.\n *\n * Partner tokens carry suite-specific grants that are independent from\n * storage application-key capabilities. The simulator uses this table only\n * for strict Partner/Backup auth checks.\n *\n * Source: https://www.backblaze.com/apidocs (Partner endpoint pages list\n * valid-token authorization failures as `401 unauthorized`).\n *\n * @packageDocumentation\n */\n\nimport { PartnerCapability } from '../types/partner.ts'\n\nexport const PartnerEndpoint = Object.freeze({\n CreateGroupMember: 'b2_create_group_member',\n EjectGroupMember: 'b2_eject_group_member',\n ListGroups: 'b2_list_groups',\n ListGroupMembers: 'b2_list_group_members',\n ReserveTrialCreateAccount: 'b2_reserve_trial_create_account',\n ListComputers: 'bz_list_computers',\n DeleteComputer: 'bz_delete_computer',\n} as const)\n\nexport type PartnerEndpoint = (typeof PartnerEndpoint)[keyof typeof PartnerEndpoint]\n\nexport const PARTNER_ENDPOINT_NAMES = Object.freeze([\n PartnerEndpoint.CreateGroupMember,\n PartnerEndpoint.EjectGroupMember,\n PartnerEndpoint.ListGroups,\n PartnerEndpoint.ListGroupMembers,\n PartnerEndpoint.ReserveTrialCreateAccount,\n PartnerEndpoint.ListComputers,\n PartnerEndpoint.DeleteComputer,\n] as const)\n\nexport type PartnerCapabilitySuite = 'groups' | 'backup'\n\nexport interface PartnerEndpointCapabilityRequirement {\n readonly suite: PartnerCapabilitySuite\n readonly capabilities: readonly PartnerCapability[]\n}\n\nfunction endpointRequirement(\n suite: PartnerCapabilitySuite,\n capabilities: readonly PartnerCapability[],\n): PartnerEndpointCapabilityRequirement {\n return Object.freeze({\n suite,\n capabilities: Object.freeze([...capabilities]),\n })\n}\n\nexport const PARTNER_ENDPOINT_CAPABILITIES = Object.freeze({\n [PartnerEndpoint.CreateGroupMember]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.EjectGroupMember]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.ListGroups]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.ListGroupMembers]: endpointRequirement('groups', [PartnerCapability.All]),\n [PartnerEndpoint.ReserveTrialCreateAccount]: endpointRequirement('groups', [\n PartnerCapability.All,\n ]),\n [PartnerEndpoint.ListComputers]: endpointRequirement('backup', [PartnerCapability.All]),\n [PartnerEndpoint.DeleteComputer]: endpointRequirement('backup', [PartnerCapability.All]),\n} satisfies Record<PartnerEndpoint, PartnerEndpointCapabilityRequirement>)\n\n/**\n * Resolve the frozen capability requirement for a Partner or Backup endpoint.\n *\n * @param endpoint - Partner or Computer Backup endpoint name.\n *\n * @returns The endpoint's requirement, or null when no policy is available.\n */\nexport function partnerEndpointCapabilityRequirementFor(\n endpoint: PartnerEndpoint,\n): PartnerEndpointCapabilityRequirement | null {\n return PARTNER_ENDPOINT_CAPABILITIES[endpoint] ?? null\n}\n\n/**\n * Find missing Partner capabilities against an already-resolved requirement.\n *\n * @param required - Partner capabilities required by the endpoint.\n * @param granted - Partner capabilities granted by the token suite.\n *\n * @returns The subset of required Partner capabilities absent from `granted`.\n */\nexport function missingPartnerCapabilities(\n required: readonly PartnerCapability[],\n granted: readonly PartnerCapability[],\n): readonly PartnerCapability[] {\n const grantedSet = new Set(granted)\n return required.filter((capability) => !grantedSet.has(capability))\n}\n\n/**\n * Find which Partner capabilities are missing from the caller's grant set.\n *\n * @param endpoint - Partner or Computer Backup endpoint name.\n * @param granted - Suite capabilities carried by the Partner token.\n *\n * @returns The required Partner capabilities not present in `granted`.\n */\nexport function missingPartnerCapabilitiesFor(\n endpoint: PartnerEndpoint,\n granted: readonly PartnerCapability[],\n): readonly PartnerCapability[] {\n return missingPartnerCapabilities(\n partnerEndpointCapabilityRequirementFor(endpoint)?.capabilities ?? [],\n granted,\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAeA,IAAa,kBAAkB,OAAO,OAAO;CAC3C,mBAAmB;CACnB,kBAAkB;CAClB,YAAY;CACZ,kBAAkB;CAClB,2BAA2B;CAC3B,eAAe;CACf,gBAAgB;AAClB,CAAU;AAIV,IAAa,yBAAyB,OAAO,OAAO;CAClD,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;AAClB,CAAU;AASV,SAAS,oBACP,OACA,cACsC;CACtC,OAAO,OAAO,OAAO;EACnB;EACA,cAAc,OAAO,OAAO,CAAC,GAAG,YAAY,CAAC;CAC/C,CAAC;AACH;AAEA,IAAa,gCAAgC,OAAO,OAAO;EACxD,gBAAgB,oBAAoB,oBAAoB,UAAU,CAAC,kBAAkB,GAAG,CAAC;EACzF,gBAAgB,mBAAmB,oBAAoB,UAAU,CAAC,kBAAkB,GAAG,CAAC;EACxF,gBAAgB,aAAa,oBAAoB,UAAU,CAAC,kBAAkB,GAAG,CAAC;EAClF,gBAAgB,mBAAmB,oBAAoB,UAAU,CAAC,kBAAkB,GAAG,CAAC;EACxF,gBAAgB,4BAA4B,oBAAoB,UAAU,CACzE,kBAAkB,GACpB,CAAC;EACA,gBAAgB,gBAAgB,oBAAoB,UAAU,CAAC,kBAAkB,GAAG,CAAC;EACrF,gBAAgB,iBAAiB,oBAAoB,UAAU,CAAC,kBAAkB,GAAG,CAAC;AACzF,CAAyE;;;;;;;;AASzE,SAAgB,wCACd,UAC6C;CAC7C,OAAO,8BAA8B,aAAa;AACpD;;;;;;;;;AAUA,SAAgB,2BACd,UACA,SAC8B;CAC9B,MAAM,aAAa,IAAI,IAAI,OAAO;CAClC,OAAO,SAAS,QAAQ,eAAe,CAAC,WAAW,IAAI,UAAU,CAAC;AACpE"}