@backblaze-labs/b2-sdk 0.2.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 (460) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/README.md +20 -2
  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/backup/client.cjs +206 -0
  7. package/dist/backup/client.cjs.map +1 -0
  8. package/dist/backup/client.d.cts +238 -0
  9. package/dist/backup/client.d.cts.map +1 -0
  10. package/dist/backup/client.d.ts +238 -0
  11. package/dist/backup/client.d.ts.map +1 -0
  12. package/dist/backup/client.js +206 -0
  13. package/dist/backup/client.js.map +1 -0
  14. package/dist/backup/index.cjs +15 -0
  15. package/dist/backup/index.d.cts +22 -0
  16. package/dist/backup/index.d.cts.map +1 -0
  17. package/dist/backup/index.d.ts +22 -0
  18. package/dist/backup/index.d.ts.map +1 -0
  19. package/dist/backup/index.js +7 -0
  20. package/dist/backup/raw.cjs +146 -0
  21. package/dist/backup/raw.cjs.map +1 -0
  22. package/dist/backup/raw.d.cts +122 -0
  23. package/dist/backup/raw.d.cts.map +1 -0
  24. package/dist/backup/raw.d.ts +122 -0
  25. package/dist/backup/raw.d.ts.map +1 -0
  26. package/dist/backup/raw.js +146 -0
  27. package/dist/backup/raw.js.map +1 -0
  28. package/dist/bucket.cjs +2 -1
  29. package/dist/bucket.cjs.map +1 -1
  30. package/dist/bucket.js +2 -1
  31. package/dist/bucket.js.map +1 -1
  32. package/dist/copy/large.cjs +5 -3
  33. package/dist/copy/large.cjs.map +1 -1
  34. package/dist/copy/large.d.cts.map +1 -1
  35. package/dist/copy/large.d.ts.map +1 -1
  36. package/dist/copy/large.js +5 -3
  37. package/dist/copy/large.js.map +1 -1
  38. package/dist/download/checksum.cjs +6 -2
  39. package/dist/download/checksum.cjs.map +1 -1
  40. package/dist/download/checksum.js +6 -2
  41. package/dist/download/checksum.js.map +1 -1
  42. package/dist/download/parallel.cjs +52 -15
  43. package/dist/download/parallel.cjs.map +1 -1
  44. package/dist/download/parallel.d.cts +8 -1
  45. package/dist/download/parallel.d.cts.map +1 -1
  46. package/dist/download/parallel.d.ts +8 -1
  47. package/dist/download/parallel.d.ts.map +1 -1
  48. package/dist/download/parallel.js +52 -15
  49. package/dist/download/parallel.js.map +1 -1
  50. package/dist/download/single.cjs +141 -6
  51. package/dist/download/single.cjs.map +1 -1
  52. package/dist/download/single.d.cts.map +1 -1
  53. package/dist/download/single.d.ts.map +1 -1
  54. package/dist/download/single.js +141 -6
  55. package/dist/download/single.js.map +1 -1
  56. package/dist/errors/index.cjs +173 -3
  57. package/dist/errors/index.cjs.map +1 -1
  58. package/dist/errors/index.d.cts +119 -0
  59. package/dist/errors/index.d.cts.map +1 -1
  60. package/dist/errors/index.d.ts +119 -0
  61. package/dist/errors/index.d.ts.map +1 -1
  62. package/dist/errors/index.js +161 -4
  63. package/dist/errors/index.js.map +1 -1
  64. package/dist/http/retry.cjs +1 -1
  65. package/dist/http/retry.cjs.map +1 -1
  66. package/dist/http/retry.js +1 -1
  67. package/dist/http/retry.js.map +1 -1
  68. package/dist/http/transport.cjs +61 -23
  69. package/dist/http/transport.cjs.map +1 -1
  70. package/dist/http/transport.d.cts +25 -3
  71. package/dist/http/transport.d.cts.map +1 -1
  72. package/dist/http/transport.d.ts +25 -3
  73. package/dist/http/transport.d.ts.map +1 -1
  74. package/dist/http/transport.js +59 -22
  75. package/dist/http/transport.js.map +1 -1
  76. package/dist/index.cjs +25 -2
  77. package/dist/index.d.cts +6 -4
  78. package/dist/index.d.cts.map +1 -1
  79. package/dist/index.d.ts +6 -4
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +8 -6
  82. package/dist/object.cjs +1 -1
  83. package/dist/object.cjs.map +1 -1
  84. package/dist/object.d.cts +4 -2
  85. package/dist/object.d.cts.map +1 -1
  86. package/dist/object.d.ts +4 -2
  87. package/dist/object.d.ts.map +1 -1
  88. package/dist/object.js +1 -1
  89. package/dist/object.js.map +1 -1
  90. package/dist/partner/account-info.d.cts +43 -0
  91. package/dist/partner/account-info.d.cts.map +1 -0
  92. package/dist/partner/account-info.d.ts +43 -0
  93. package/dist/partner/account-info.d.ts.map +1 -0
  94. package/dist/partner/auth-clone.cjs +64 -0
  95. package/dist/partner/auth-clone.cjs.map +1 -0
  96. package/dist/partner/auth-clone.d.cts +27 -0
  97. package/dist/partner/auth-clone.d.cts.map +1 -0
  98. package/dist/partner/auth-clone.d.ts +27 -0
  99. package/dist/partner/auth-clone.d.ts.map +1 -0
  100. package/dist/partner/auth-clone.js +63 -0
  101. package/dist/partner/auth-clone.js.map +1 -0
  102. package/dist/partner/auth-core.cjs +175 -0
  103. package/dist/partner/auth-core.cjs.map +1 -0
  104. package/dist/partner/auth-core.d.cts +111 -0
  105. package/dist/partner/auth-core.d.cts.map +1 -0
  106. package/dist/partner/auth-core.d.ts +111 -0
  107. package/dist/partner/auth-core.d.ts.map +1 -0
  108. package/dist/partner/auth-core.js +175 -0
  109. package/dist/partner/auth-core.js.map +1 -0
  110. package/dist/partner/auth-shape.cjs +36 -0
  111. package/dist/partner/auth-shape.cjs.map +1 -0
  112. package/dist/partner/auth-shape.d.cts +12 -0
  113. package/dist/partner/auth-shape.d.cts.map +1 -0
  114. package/dist/partner/auth-shape.d.ts +12 -0
  115. package/dist/partner/auth-shape.d.ts.map +1 -0
  116. package/dist/partner/auth-shape.js +36 -0
  117. package/dist/partner/auth-shape.js.map +1 -0
  118. package/dist/partner/client.cjs +255 -0
  119. package/dist/partner/client.cjs.map +1 -0
  120. package/dist/partner/client.d.cts +335 -0
  121. package/dist/partner/client.d.cts.map +1 -0
  122. package/dist/partner/client.d.ts +335 -0
  123. package/dist/partner/client.d.ts.map +1 -0
  124. package/dist/partner/client.js +255 -0
  125. package/dist/partner/client.js.map +1 -0
  126. package/dist/partner/endpoint-url.cjs +108 -0
  127. package/dist/partner/endpoint-url.cjs.map +1 -0
  128. package/dist/partner/endpoint-url.d.cts +72 -0
  129. package/dist/partner/endpoint-url.d.cts.map +1 -0
  130. package/dist/partner/endpoint-url.d.ts +72 -0
  131. package/dist/partner/endpoint-url.d.ts.map +1 -0
  132. package/dist/partner/endpoint-url.js +105 -0
  133. package/dist/partner/endpoint-url.js.map +1 -0
  134. package/dist/partner/in-memory.cjs +135 -0
  135. package/dist/partner/in-memory.cjs.map +1 -0
  136. package/dist/partner/in-memory.d.cts +99 -0
  137. package/dist/partner/in-memory.d.cts.map +1 -0
  138. package/dist/partner/in-memory.d.ts +99 -0
  139. package/dist/partner/in-memory.d.ts.map +1 -0
  140. package/dist/partner/in-memory.js +135 -0
  141. package/dist/partner/in-memory.js.map +1 -0
  142. package/dist/partner/index.cjs +18 -0
  143. package/dist/partner/index.d.cts +23 -0
  144. package/dist/partner/index.d.cts.map +1 -0
  145. package/dist/partner/index.d.ts +23 -0
  146. package/dist/partner/index.d.ts.map +1 -0
  147. package/dist/partner/index.js +7 -0
  148. package/dist/partner/raw.cjs +392 -0
  149. package/dist/partner/raw.cjs.map +1 -0
  150. package/dist/partner/raw.d.cts +223 -0
  151. package/dist/partner/raw.d.cts.map +1 -0
  152. package/dist/partner/raw.d.ts +223 -0
  153. package/dist/partner/raw.d.ts.map +1 -0
  154. package/dist/partner/raw.js +390 -0
  155. package/dist/partner/raw.js.map +1 -0
  156. package/dist/partner/redaction-placeholders.cjs +10 -0
  157. package/dist/partner/redaction-placeholders.cjs.map +1 -0
  158. package/dist/partner/redaction-placeholders.d.cts +5 -0
  159. package/dist/partner/redaction-placeholders.d.cts.map +1 -0
  160. package/dist/partner/redaction-placeholders.d.ts +5 -0
  161. package/dist/partner/redaction-placeholders.d.ts.map +1 -0
  162. package/dist/partner/redaction-placeholders.js +9 -0
  163. package/dist/partner/redaction-placeholders.js.map +1 -0
  164. package/dist/partner/redaction.cjs +267 -0
  165. package/dist/partner/redaction.cjs.map +1 -0
  166. package/dist/partner/redaction.d.cts +124 -0
  167. package/dist/partner/redaction.d.cts.map +1 -0
  168. package/dist/partner/redaction.d.ts +124 -0
  169. package/dist/partner/redaction.d.ts.map +1 -0
  170. package/dist/partner/redaction.js +257 -0
  171. package/dist/partner/redaction.js.map +1 -0
  172. package/dist/raw/index.cjs +81 -19
  173. package/dist/raw/index.cjs.map +1 -1
  174. package/dist/raw/index.d.cts +6 -2
  175. package/dist/raw/index.d.cts.map +1 -1
  176. package/dist/raw/index.d.ts +6 -2
  177. package/dist/raw/index.d.ts.map +1 -1
  178. package/dist/raw/index.js +81 -19
  179. package/dist/raw/index.js.map +1 -1
  180. package/dist/raw/url.cjs +111 -0
  181. package/dist/raw/url.cjs.map +1 -0
  182. package/dist/raw/url.d.cts +41 -0
  183. package/dist/raw/url.d.cts.map +1 -0
  184. package/dist/raw/url.d.ts +41 -0
  185. package/dist/raw/url.d.ts.map +1 -0
  186. package/dist/raw/url.js +110 -0
  187. package/dist/raw/url.js.map +1 -0
  188. package/dist/s3/sigv4.cjs +15 -10
  189. package/dist/s3/sigv4.cjs.map +1 -1
  190. package/dist/s3/sigv4.js +15 -10
  191. package/dist/s3/sigv4.js.map +1 -1
  192. package/dist/simulator/index.cjs +1197 -206
  193. package/dist/simulator/index.cjs.map +1 -1
  194. package/dist/simulator/index.d.cts +109 -11
  195. package/dist/simulator/index.d.cts.map +1 -1
  196. package/dist/simulator/index.d.ts +109 -11
  197. package/dist/simulator/index.d.ts.map +1 -1
  198. package/dist/simulator/index.js +1196 -209
  199. package/dist/simulator/index.js.map +1 -1
  200. package/dist/simulator/partner.cjs +719 -0
  201. package/dist/simulator/partner.cjs.map +1 -0
  202. package/dist/simulator/partner.d.cts +183 -0
  203. package/dist/simulator/partner.d.cts.map +1 -0
  204. package/dist/simulator/partner.d.ts +183 -0
  205. package/dist/simulator/partner.d.ts.map +1 -0
  206. package/dist/simulator/partner.js +718 -0
  207. package/dist/simulator/partner.js.map +1 -0
  208. package/dist/simulator/validation.cjs +577 -0
  209. package/dist/simulator/validation.cjs.map +1 -1
  210. package/dist/simulator/validation.d.cts +117 -0
  211. package/dist/simulator/validation.d.cts.map +1 -1
  212. package/dist/simulator/validation.d.ts +117 -0
  213. package/dist/simulator/validation.d.ts.map +1 -1
  214. package/dist/simulator/validation.js +563 -1
  215. package/dist/simulator/validation.js.map +1 -1
  216. package/dist/streams/file-source.cjs +1 -1
  217. package/dist/streams/file-source.cjs.map +1 -1
  218. package/dist/streams/file-source.js +1 -1
  219. package/dist/streams/file-source.js.map +1 -1
  220. package/dist/streams/index.cjs +1 -1
  221. package/dist/streams/index.js +1 -1
  222. package/dist/streams/source.cjs +2 -1
  223. package/dist/streams/source.cjs.map +1 -1
  224. package/dist/streams/source.js +2 -1
  225. package/dist/streams/source.js.map +1 -1
  226. package/dist/sync/b2-sha1-reader.cjs +6 -2
  227. package/dist/sync/b2-sha1-reader.cjs.map +1 -1
  228. package/dist/sync/b2-sha1-reader.d.cts.map +1 -1
  229. package/dist/sync/b2-sha1-reader.d.ts.map +1 -1
  230. package/dist/sync/b2-sha1-reader.js +6 -2
  231. package/dist/sync/b2-sha1-reader.js.map +1 -1
  232. package/dist/sync/download-staging.cjs +11 -10
  233. package/dist/sync/download-staging.cjs.map +1 -1
  234. package/dist/sync/download-staging.d.cts +2 -1
  235. package/dist/sync/download-staging.d.cts.map +1 -1
  236. package/dist/sync/download-staging.d.ts +2 -1
  237. package/dist/sync/download-staging.d.ts.map +1 -1
  238. package/dist/sync/download-staging.js +11 -10
  239. package/dist/sync/download-staging.js.map +1 -1
  240. package/dist/sync/filters.cjs.map +1 -1
  241. package/dist/sync/filters.js.map +1 -1
  242. package/dist/sync/local-file-io.cjs +11 -6
  243. package/dist/sync/local-file-io.cjs.map +1 -1
  244. package/dist/sync/local-file-io.d.cts +1 -0
  245. package/dist/sync/local-file-io.d.cts.map +1 -1
  246. package/dist/sync/local-file-io.d.ts +1 -0
  247. package/dist/sync/local-file-io.d.ts.map +1 -1
  248. package/dist/sync/local-file-io.js +11 -6
  249. package/dist/sync/local-file-io.js.map +1 -1
  250. package/dist/sync/local-sha1.cjs +6 -15
  251. package/dist/sync/local-sha1.cjs.map +1 -1
  252. package/dist/sync/local-sha1.d.cts +0 -8
  253. package/dist/sync/local-sha1.d.cts.map +1 -1
  254. package/dist/sync/local-sha1.d.ts +0 -8
  255. package/dist/sync/local-sha1.d.ts.map +1 -1
  256. package/dist/sync/local-sha1.js +7 -15
  257. package/dist/sync/local-sha1.js.map +1 -1
  258. package/dist/sync/policies/compare.cjs +5 -3
  259. package/dist/sync/policies/compare.cjs.map +1 -1
  260. package/dist/sync/policies/compare.d.cts.map +1 -1
  261. package/dist/sync/policies/compare.d.ts.map +1 -1
  262. package/dist/sync/policies/compare.js +6 -4
  263. package/dist/sync/policies/compare.js.map +1 -1
  264. package/dist/sync/policies/index.cjs +4 -10
  265. package/dist/sync/policies/index.cjs.map +1 -1
  266. package/dist/sync/policies/index.js +4 -10
  267. package/dist/sync/policies/index.js.map +1 -1
  268. package/dist/sync/scanners/b2.cjs +2 -2
  269. package/dist/sync/scanners/b2.cjs.map +1 -1
  270. package/dist/sync/scanners/b2.js +2 -2
  271. package/dist/sync/scanners/b2.js.map +1 -1
  272. package/dist/sync/scanners/local.cjs.map +1 -1
  273. package/dist/sync/scanners/local.js.map +1 -1
  274. package/dist/sync/synchronizer.cjs +3 -2
  275. package/dist/sync/synchronizer.cjs.map +1 -1
  276. package/dist/sync/synchronizer.js +3 -2
  277. package/dist/sync/synchronizer.js.map +1 -1
  278. package/dist/types/auth.cjs +4 -0
  279. package/dist/types/auth.cjs.map +1 -1
  280. package/dist/types/auth.d.cts +4 -0
  281. package/dist/types/auth.d.cts.map +1 -1
  282. package/dist/types/auth.d.ts +4 -0
  283. package/dist/types/auth.d.ts.map +1 -1
  284. package/dist/types/auth.js +4 -0
  285. package/dist/types/auth.js.map +1 -1
  286. package/dist/types/backup.d.cts +80 -0
  287. package/dist/types/backup.d.cts.map +1 -0
  288. package/dist/types/backup.d.ts +80 -0
  289. package/dist/types/backup.d.ts.map +1 -0
  290. package/dist/types/bucket.cjs.map +1 -1
  291. package/dist/types/bucket.d.cts +4 -2
  292. package/dist/types/bucket.d.cts.map +1 -1
  293. package/dist/types/bucket.d.ts +4 -2
  294. package/dist/types/bucket.d.ts.map +1 -1
  295. package/dist/types/bucket.js.map +1 -1
  296. package/dist/types/download.cjs +62 -0
  297. package/dist/types/download.cjs.map +1 -0
  298. package/dist/types/download.d.cts +98 -0
  299. package/dist/types/download.d.cts.map +1 -1
  300. package/dist/types/download.d.ts +98 -0
  301. package/dist/types/download.d.ts.map +1 -1
  302. package/dist/types/download.js +61 -0
  303. package/dist/types/download.js.map +1 -0
  304. package/dist/types/encryption.cjs +58 -229
  305. package/dist/types/encryption.cjs.map +1 -1
  306. package/dist/types/encryption.d.cts +32 -0
  307. package/dist/types/encryption.d.cts.map +1 -1
  308. package/dist/types/encryption.d.ts +32 -0
  309. package/dist/types/encryption.d.ts.map +1 -1
  310. package/dist/types/encryption.js +56 -229
  311. package/dist/types/encryption.js.map +1 -1
  312. package/dist/types/errors.cjs +9 -0
  313. package/dist/types/errors.cjs.map +1 -1
  314. package/dist/types/errors.d.cts +1 -1
  315. package/dist/types/errors.d.cts.map +1 -1
  316. package/dist/types/errors.d.ts +1 -1
  317. package/dist/types/errors.d.ts.map +1 -1
  318. package/dist/types/errors.js +9 -0
  319. package/dist/types/errors.js.map +1 -1
  320. package/dist/types/file.cjs.map +1 -1
  321. package/dist/types/file.d.cts +15 -2
  322. package/dist/types/file.d.cts.map +1 -1
  323. package/dist/types/file.d.ts +15 -2
  324. package/dist/types/file.d.ts.map +1 -1
  325. package/dist/types/file.js.map +1 -1
  326. package/dist/types/ids.cjs +30 -0
  327. package/dist/types/ids.cjs.map +1 -1
  328. package/dist/types/ids.d.cts +32 -0
  329. package/dist/types/ids.d.cts.map +1 -1
  330. package/dist/types/ids.d.ts +32 -0
  331. package/dist/types/ids.d.ts.map +1 -1
  332. package/dist/types/ids.js +28 -1
  333. package/dist/types/ids.js.map +1 -1
  334. package/dist/types/index.d.cts +10 -6
  335. package/dist/types/index.d.cts.map +1 -1
  336. package/dist/types/index.d.ts +10 -6
  337. package/dist/types/index.d.ts.map +1 -1
  338. package/dist/types/lock.cjs.map +1 -1
  339. package/dist/types/lock.d.cts +14 -0
  340. package/dist/types/lock.d.cts.map +1 -1
  341. package/dist/types/lock.d.ts +14 -0
  342. package/dist/types/lock.d.ts.map +1 -1
  343. package/dist/types/lock.js.map +1 -1
  344. package/dist/types/notifications.cjs +1 -1
  345. package/dist/types/notifications.cjs.map +1 -1
  346. package/dist/types/notifications.d.cts +5 -3
  347. package/dist/types/notifications.d.cts.map +1 -1
  348. package/dist/types/notifications.d.ts +5 -3
  349. package/dist/types/notifications.d.ts.map +1 -1
  350. package/dist/types/notifications.js +1 -1
  351. package/dist/types/notifications.js.map +1 -1
  352. package/dist/types/partner.cjs +32 -0
  353. package/dist/types/partner.cjs.map +1 -0
  354. package/dist/types/partner.d.cts +394 -0
  355. package/dist/types/partner.d.cts.map +1 -0
  356. package/dist/types/partner.d.ts +394 -0
  357. package/dist/types/partner.d.ts.map +1 -0
  358. package/dist/types/partner.js +29 -0
  359. package/dist/types/partner.js.map +1 -0
  360. package/dist/types/upload.d.cts +31 -18
  361. package/dist/types/upload.d.cts.map +1 -1
  362. package/dist/types/upload.d.ts +31 -18
  363. package/dist/types/upload.d.ts.map +1 -1
  364. package/dist/upload/abort-scope.cjs +0 -45
  365. package/dist/upload/abort-scope.cjs.map +1 -1
  366. package/dist/upload/abort-scope.d.cts +0 -22
  367. package/dist/upload/abort-scope.d.cts.map +1 -1
  368. package/dist/upload/abort-scope.d.ts +0 -22
  369. package/dist/upload/abort-scope.d.ts.map +1 -1
  370. package/dist/upload/abort-scope.js +1 -44
  371. package/dist/upload/abort-scope.js.map +1 -1
  372. package/dist/upload/finish.cjs +3 -8
  373. package/dist/upload/finish.cjs.map +1 -1
  374. package/dist/upload/finish.d.cts.map +1 -1
  375. package/dist/upload/finish.d.ts.map +1 -1
  376. package/dist/upload/finish.js +1 -6
  377. package/dist/upload/finish.js.map +1 -1
  378. package/dist/upload/large.cjs +5 -1
  379. package/dist/upload/large.cjs.map +1 -1
  380. package/dist/upload/large.d.cts +16 -2
  381. package/dist/upload/large.d.cts.map +1 -1
  382. package/dist/upload/large.d.ts +16 -2
  383. package/dist/upload/large.d.ts.map +1 -1
  384. package/dist/upload/large.js +5 -1
  385. package/dist/upload/large.js.map +1 -1
  386. package/dist/upload/options.cjs.map +1 -1
  387. package/dist/upload/options.d.cts +12 -0
  388. package/dist/upload/options.d.cts.map +1 -1
  389. package/dist/upload/options.d.ts +12 -0
  390. package/dist/upload/options.d.ts.map +1 -1
  391. package/dist/upload/options.js.map +1 -1
  392. package/dist/upload/resume.cjs +2 -1
  393. package/dist/upload/resume.cjs.map +1 -1
  394. package/dist/upload/resume.d.cts +3 -1
  395. package/dist/upload/resume.d.cts.map +1 -1
  396. package/dist/upload/resume.d.ts +3 -1
  397. package/dist/upload/resume.d.ts.map +1 -1
  398. package/dist/upload/resume.js +2 -1
  399. package/dist/upload/resume.js.map +1 -1
  400. package/dist/upload/retry.cjs +8 -3
  401. package/dist/upload/retry.cjs.map +1 -1
  402. package/dist/upload/retry.js +8 -3
  403. package/dist/upload/retry.js.map +1 -1
  404. package/dist/upload/single.cjs +2 -1
  405. package/dist/upload/single.cjs.map +1 -1
  406. package/dist/upload/single.d.cts +6 -0
  407. package/dist/upload/single.d.cts.map +1 -1
  408. package/dist/upload/single.d.ts +6 -0
  409. package/dist/upload/single.d.ts.map +1 -1
  410. package/dist/upload/single.js +2 -1
  411. package/dist/upload/single.js.map +1 -1
  412. package/dist/upload/stream.cjs +6 -4
  413. package/dist/upload/stream.cjs.map +1 -1
  414. package/dist/upload/stream.d.cts +6 -0
  415. package/dist/upload/stream.d.cts.map +1 -1
  416. package/dist/upload/stream.d.ts +6 -0
  417. package/dist/upload/stream.d.ts.map +1 -1
  418. package/dist/upload/stream.js +3 -1
  419. package/dist/upload/stream.js.map +1 -1
  420. package/dist/util/abort.cjs +114 -0
  421. package/dist/util/abort.cjs.map +1 -0
  422. package/dist/util/abort.d.cts +65 -0
  423. package/dist/util/abort.d.cts.map +1 -0
  424. package/dist/util/abort.d.ts +65 -0
  425. package/dist/util/abort.d.ts.map +1 -0
  426. package/dist/util/abort.js +109 -0
  427. package/dist/util/abort.js.map +1 -0
  428. package/dist/util/defaults.cjs +3 -0
  429. package/dist/util/defaults.cjs.map +1 -1
  430. package/dist/util/defaults.d.cts +2 -0
  431. package/dist/util/defaults.d.cts.map +1 -1
  432. package/dist/util/defaults.d.ts +2 -0
  433. package/dist/util/defaults.d.ts.map +1 -1
  434. package/dist/util/defaults.js +3 -1
  435. package/dist/util/defaults.js.map +1 -1
  436. package/dist/util/md5.cjs +211 -0
  437. package/dist/util/md5.cjs.map +1 -0
  438. package/dist/util/md5.d.cts +43 -0
  439. package/dist/util/md5.d.cts.map +1 -0
  440. package/dist/util/md5.d.ts +43 -0
  441. package/dist/util/md5.d.ts.map +1 -0
  442. package/dist/util/md5.js +209 -0
  443. package/dist/util/md5.js.map +1 -0
  444. package/dist/util/normalize.cjs +5 -5
  445. package/dist/util/normalize.cjs.map +1 -1
  446. package/dist/util/normalize.d.cts +7 -7
  447. package/dist/util/normalize.d.cts.map +1 -1
  448. package/dist/util/normalize.d.ts +7 -7
  449. package/dist/util/normalize.d.ts.map +1 -1
  450. package/dist/util/normalize.js +5 -5
  451. package/dist/util/normalize.js.map +1 -1
  452. package/dist/util/paginator.cjs +7 -1
  453. package/dist/util/paginator.cjs.map +1 -1
  454. package/dist/util/paginator.d.cts +3 -1
  455. package/dist/util/paginator.d.cts.map +1 -1
  456. package/dist/util/paginator.d.ts +3 -1
  457. package/dist/util/paginator.d.ts.map +1 -1
  458. package/dist/util/paginator.js +7 -1
  459. package/dist/util/paginator.js.map +1 -1
  460. package/package.json +38 -16
@@ -1,7 +1,7 @@
1
1
  import { HttpTransport } from '../http/transport.js';
2
2
  import { FileVersion } from '../types/file.js';
3
3
  import { EventNotificationRule } from '../types/notifications.js';
4
- export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, LIST_ENDPOINT_CAPS, } from './validation.js';
4
+ export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, DOWNLOAD_AUTH_DURATION_MAX_SECONDS, DOWNLOAD_AUTH_DURATION_MIN_SECONDS, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, KEY_NAME_MAX, KEY_NAME_MIN, LIST_ENDPOINT_CAPS, } from './validation.js';
5
5
  /** JSON response returned by {@link B2Simulator.handleRequest} and {@link B2Simulator.handleUpload}. */
6
6
  export interface SimulatorJsonResponse {
7
7
  /** HTTP status code. */
@@ -135,8 +135,12 @@ export interface B2SimulatorOptions {
135
135
  * checks, bucket scoping, prefix scoping, and auth-token expiry on
136
136
  * every request. The default `false` keeps the simulator permissive
137
137
  * for account/application-key authorization (matching its
138
- * long-standing behaviour) so the existing test suite doesn't have
139
- * to set up keys with the right capabilities.
138
+ * long-standing behaviour): any well-formed Basic credential whose
139
+ * applicationKeyId is not a simulator-created key receives the
140
+ * implicit master grant, so tests do not have to set up keys with
141
+ * the right capabilities. Created keys always authorize with their
142
+ * stored capabilities, bucket scope, name prefix, and expiration;
143
+ * a wrong or expired created-key secret is rejected.
140
144
  *
141
145
  * Upload authorization tokens returned by `b2_get_upload_url` and
142
146
  * `b2_get_upload_part_url` are always enforced, regardless of this
@@ -145,6 +149,9 @@ export interface B2SimulatorOptions {
145
149
  *
146
150
  * In strict mode:
147
151
  *
152
+ * - `b2_authorize_account` still accepts the documented implicit
153
+ * master credentials `test-key-id:test-key` and
154
+ * `master-key-id:master-key`.
148
155
  * - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
149
156
  * - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
150
157
  * - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
@@ -164,6 +171,42 @@ export interface B2SimulatorOptions {
164
171
  * rejected at the exact expiry boundary.
165
172
  */
166
173
  authTokenTtlMs?: number;
174
+ /**
175
+ * When `true`, v3 `b2_authorize_account` responses include Partner and
176
+ * Computer Backup suites and issue Partner authorization tokens. Partner
177
+ * and Backup endpoint calls then require one of those issued tokens, even
178
+ * when `strictAuth` is otherwise disabled, so SDK auth-error paths can test
179
+ * documented 401 responses.
180
+ *
181
+ * Defaults to `false`: direct Partner/Backup endpoint tests remain
182
+ * permissive and accept any non-empty, whitespace-free Partner token without
183
+ * requiring an authorize call first.
184
+ */
185
+ partnerAuthorize?: boolean;
186
+ /**
187
+ * Whether Partner API endpoints should accept issued Partner authorization
188
+ * tokens. Defaults to `true`. Set to `false` to exercise documented
189
+ * `403 access_denied` prerequisite failures.
190
+ */
191
+ partnerApiEnabled?: boolean;
192
+ /**
193
+ * Whether the simulated partner administrator has a valid phone number.
194
+ * Defaults to `true`; `false` produces Partner prerequisite failures
195
+ * such as `403 access_denied` or `401 invalid_sms_phone` depending on
196
+ * the endpoint's documented error shape.
197
+ */
198
+ partnerAccountHasValidPhone?: boolean;
199
+ /**
200
+ * Whether the simulated partner administrator account is in good standing.
201
+ * Defaults to `true`; `false` produces `403 access_denied` on Partner calls.
202
+ */
203
+ partnerAccountInGoodStanding?: boolean;
204
+ /**
205
+ * Whether the simulated account may set custom upload timestamps on
206
+ * `b2_upload_file` and `b2_start_large_file`. Defaults to `false`, matching
207
+ * production accounts without the restricted feature enabled.
208
+ */
209
+ customUploadTimestampsEnabled?: boolean;
167
210
  }
168
211
  /**
169
212
  * In-memory B2 simulator for testing. Implements the B2 native API at the
@@ -180,6 +223,15 @@ export interface B2SimulatorOptions {
180
223
  * })
181
224
  * await client.authorize()
182
225
  * ```
226
+ *
227
+ * `test-key-id:test-key` is the documented implicit full-access
228
+ * storage credential. `master-key-id:master-key` is also accepted for
229
+ * tests that share storage and Partner simulator credentials. In the
230
+ * default permissive mode, other well-formed Basic credentials whose
231
+ * applicationKeyId was not minted by `b2_create_key` receive the same
232
+ * implicit master grant for backward compatibility. A simulator-created
233
+ * key always authorizes with its own capabilities, bucket restrictions,
234
+ * name prefix, and expiration.
183
235
  */
184
236
  export declare class B2Simulator {
185
237
  private readonly buckets;
@@ -196,6 +248,8 @@ export declare class B2Simulator {
196
248
  private readonly onHookError?;
197
249
  private readonly strictAuth;
198
250
  private readonly authTokenTtlMs;
251
+ private readonly customUploadTimestampsEnabled;
252
+ private readonly partner;
199
253
  /**
200
254
  * Issued auth tokens with their associated grant scope + expiry. In
201
255
  * permissive mode (`strictAuth: false`) this is still populated by
@@ -211,6 +265,8 @@ export declare class B2Simulator {
211
265
  * state for tests.
212
266
  */
213
267
  private readonly uploadTokens;
268
+ private readonly downloadAuthorizationTokens;
269
+ private readonly downloadAuthorizationExpiryHeap;
214
270
  /**
215
271
  * Virtual-clock offset applied to `Date.now()` for expiry checks.
216
272
  * Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
@@ -282,6 +338,7 @@ export declare class B2Simulator {
282
338
  * @returns Unix milliseconds.
283
339
  */
284
340
  private now;
341
+ private isStoredKeyExpired;
285
342
  private pruneExpiredUploadTokens;
286
343
  private uploadTokenState;
287
344
  private encodeUploadAuthorizationToken;
@@ -331,7 +388,25 @@ export declare class B2Simulator {
331
388
  * @returns `null` when the request is authorized, otherwise a 401/403 response.
332
389
  */
333
390
  private authorizeRequest;
391
+ private authorizeScopeGrant;
392
+ private authorizeDownloadRequest;
393
+ private isExpiredDownloadAuthorizationToken;
394
+ private purgeExpiredDownloadAuthorizationTokens;
395
+ private pushDownloadAuthorizationExpiry;
396
+ private popDownloadAuthorizationExpiry;
397
+ private authorizeDownloadResponseOverrides;
398
+ private downloadAuthorizationFromRequest;
399
+ private requestHasCapability;
400
+ private requireFileLockEnabled;
401
+ private requireGovernanceBypass;
402
+ private validateReplicationApplicationKey;
403
+ private invalidReplicationApplicationKey;
404
+ private invalidReplicationDestinationBucket;
405
+ private validateReplicationDestinationBuckets;
406
+ private validateReplicationApplicationKeys;
334
407
  private requestScope;
408
+ private createBucketScope;
409
+ private updateBucketScope;
335
410
  private listBucketsScope;
336
411
  private fileVersionScope;
337
412
  private copyFileScope;
@@ -345,19 +420,24 @@ export declare class B2Simulator {
345
420
  private uploadUrlMatches;
346
421
  private allowedBuckets;
347
422
  /**
348
- * Look up the application key matching the `Authorization` header on
423
+ * Resolve the application key matching the `Authorization` header on
349
424
  * an `authorize_account` request. The header is in the form
350
425
  * `Basic base64(applicationKeyId:applicationKey)`.
351
426
  *
352
- * Returns `null` for the implicit master credential (anything that
353
- * does not match a key minted via `b2_create_key`); in that case
354
- * `authorize` grants the full master capability set.
427
+ * The simulator has two implicit full-access storage credentials:
428
+ * the documented `test-key-id:test-key` pair used by SDK tests and
429
+ * `master-key-id:master-key`. In default permissive mode, any other
430
+ * well-formed Basic credential whose applicationKeyId is not a stored
431
+ * key also receives that implicit master grant for backward
432
+ * compatibility. A credential whose applicationKeyId matches a stored
433
+ * key must use the stored secret and must not be expired.
355
434
  *
356
435
  * @param authzHeader - Raw HTTP `Authorization` header value.
357
436
  *
358
- * @returns The matching key's grant scope, or `null` for the master.
437
+ * @returns The authorizing key's grant scope or the rejection reason.
359
438
  */
360
- private findKeyForAuthHeader;
439
+ private findAuthorizationGrant;
440
+ private canAuthorizePartner;
361
441
  /**
362
442
  * Creates an {@link HttpTransport} that routes requests to this simulator.
363
443
  * @returns A transport instance backed by this in-memory simulator.
@@ -417,7 +497,7 @@ export declare class B2Simulator {
417
497
  consumeMatchingFault(url: string): FaultSpec | null;
418
498
  /**
419
499
  * Dispatches a JSON API request to the appropriate handler.
420
- * @param _method - The HTTP method (unused).
500
+ * @param method - The HTTP method.
421
501
  * @param origin - The request URL origin used for simulator-issued endpoints.
422
502
  * @param path - The request URL path containing the B2 endpoint name.
423
503
  * @param headers - The HTTP request headers; consulted by the
@@ -426,7 +506,7 @@ export declare class B2Simulator {
426
506
  *
427
507
  * @returns An object with HTTP status and JSON response body.
428
508
  */
429
- handleRequest(_method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
509
+ handleRequest(method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
430
510
  /**
431
511
  * Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
432
512
  * Dispatches to the appropriate internal handler based on the URL.
@@ -437,6 +517,8 @@ export declare class B2Simulator {
437
517
  * @returns A promise resolving to an object with HTTP status and JSON response body.
438
518
  */
439
519
  handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
520
+ private validateContentLength;
521
+ private parseCustomUploadTimestamp;
440
522
  /**
441
523
  * Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
442
524
  * Returns the file data along with B2 response headers.
@@ -483,14 +565,24 @@ export declare class B2Simulator {
483
565
  * @returns The SHA-1 string to store, or an error response on mismatch.
484
566
  */
485
567
  private resolveUploadSha1;
568
+ private validateUploadPartEncryption;
486
569
  private handleUploadPart;
570
+ private parsePartNumberHeader;
571
+ private validatePartNumber;
487
572
  private downloadById;
488
573
  private downloadByName;
574
+ private validateDownloadEncryption;
575
+ private validateSourceServerSideEncryption;
576
+ private resolveCopyDestinationEncryption;
577
+ private validateCopyPartDestinationEncryption;
489
578
  private serveFile;
579
+ private addDownloadEncryptionHeaders;
580
+ private addDownloadObjectLockHeaders;
490
581
  private authorize;
491
582
  private createBucket;
492
583
  private listBuckets;
493
584
  private deleteBucket;
585
+ private bucketHasContents;
494
586
  private updateBucket;
495
587
  private getUploadUrl;
496
588
  private listFileNames;
@@ -507,6 +599,8 @@ export declare class B2Simulator {
507
599
  private listParts;
508
600
  private copyPart;
509
601
  private getDownloadAuthorization;
602
+ private createKeyCapabilitiesOutsideGrant;
603
+ private createKeyCreatorAccountId;
510
604
  private createKey;
511
605
  private listKeys;
512
606
  private deleteKey;
@@ -531,6 +625,10 @@ export declare class B2Simulator {
531
625
  */
532
626
  private findFile;
533
627
  private makeFileVersion;
628
+ private newReplicationStatusField;
629
+ private replicationStatusMetadataFor;
630
+ private replicationStatusForNewFile;
631
+ private matchingEnabledReplicationRules;
534
632
  private error;
535
633
  /**
536
634
  * Fire the pluggable post-upload hooks for a file that just landed in
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { HttpTransport } from '../http/transport.js';
2
2
  import { FileVersion } from '../types/file.js';
3
3
  import { EventNotificationRule } from '../types/notifications.js';
4
- export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, LIST_ENDPOINT_CAPS, } from './validation.js';
4
+ export { BUCKET_INFO_MAX_KEYS, BUCKET_INFO_VALUE_MAX, BUCKET_NAME_MAX, BUCKET_NAME_MIN, DOWNLOAD_AUTH_DURATION_MAX_SECONDS, DOWNLOAD_AUTH_DURATION_MIN_SECONDS, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, KEY_NAME_MAX, KEY_NAME_MIN, LIST_ENDPOINT_CAPS, } from './validation.js';
5
5
  /** JSON response returned by {@link B2Simulator.handleRequest} and {@link B2Simulator.handleUpload}. */
6
6
  export interface SimulatorJsonResponse {
7
7
  /** HTTP status code. */
@@ -135,8 +135,12 @@ export interface B2SimulatorOptions {
135
135
  * checks, bucket scoping, prefix scoping, and auth-token expiry on
136
136
  * every request. The default `false` keeps the simulator permissive
137
137
  * for account/application-key authorization (matching its
138
- * long-standing behaviour) so the existing test suite doesn't have
139
- * to set up keys with the right capabilities.
138
+ * long-standing behaviour): any well-formed Basic credential whose
139
+ * applicationKeyId is not a simulator-created key receives the
140
+ * implicit master grant, so tests do not have to set up keys with
141
+ * the right capabilities. Created keys always authorize with their
142
+ * stored capabilities, bucket scope, name prefix, and expiration;
143
+ * a wrong or expired created-key secret is rejected.
140
144
  *
141
145
  * Upload authorization tokens returned by `b2_get_upload_url` and
142
146
  * `b2_get_upload_part_url` are always enforced, regardless of this
@@ -145,6 +149,9 @@ export interface B2SimulatorOptions {
145
149
  *
146
150
  * In strict mode:
147
151
  *
152
+ * - `b2_authorize_account` still accepts the documented implicit
153
+ * master credentials `test-key-id:test-key` and
154
+ * `master-key-id:master-key`.
148
155
  * - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
149
156
  * - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
150
157
  * - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
@@ -164,6 +171,42 @@ export interface B2SimulatorOptions {
164
171
  * rejected at the exact expiry boundary.
165
172
  */
166
173
  authTokenTtlMs?: number;
174
+ /**
175
+ * When `true`, v3 `b2_authorize_account` responses include Partner and
176
+ * Computer Backup suites and issue Partner authorization tokens. Partner
177
+ * and Backup endpoint calls then require one of those issued tokens, even
178
+ * when `strictAuth` is otherwise disabled, so SDK auth-error paths can test
179
+ * documented 401 responses.
180
+ *
181
+ * Defaults to `false`: direct Partner/Backup endpoint tests remain
182
+ * permissive and accept any non-empty, whitespace-free Partner token without
183
+ * requiring an authorize call first.
184
+ */
185
+ partnerAuthorize?: boolean;
186
+ /**
187
+ * Whether Partner API endpoints should accept issued Partner authorization
188
+ * tokens. Defaults to `true`. Set to `false` to exercise documented
189
+ * `403 access_denied` prerequisite failures.
190
+ */
191
+ partnerApiEnabled?: boolean;
192
+ /**
193
+ * Whether the simulated partner administrator has a valid phone number.
194
+ * Defaults to `true`; `false` produces Partner prerequisite failures
195
+ * such as `403 access_denied` or `401 invalid_sms_phone` depending on
196
+ * the endpoint's documented error shape.
197
+ */
198
+ partnerAccountHasValidPhone?: boolean;
199
+ /**
200
+ * Whether the simulated partner administrator account is in good standing.
201
+ * Defaults to `true`; `false` produces `403 access_denied` on Partner calls.
202
+ */
203
+ partnerAccountInGoodStanding?: boolean;
204
+ /**
205
+ * Whether the simulated account may set custom upload timestamps on
206
+ * `b2_upload_file` and `b2_start_large_file`. Defaults to `false`, matching
207
+ * production accounts without the restricted feature enabled.
208
+ */
209
+ customUploadTimestampsEnabled?: boolean;
167
210
  }
168
211
  /**
169
212
  * In-memory B2 simulator for testing. Implements the B2 native API at the
@@ -180,6 +223,15 @@ export interface B2SimulatorOptions {
180
223
  * })
181
224
  * await client.authorize()
182
225
  * ```
226
+ *
227
+ * `test-key-id:test-key` is the documented implicit full-access
228
+ * storage credential. `master-key-id:master-key` is also accepted for
229
+ * tests that share storage and Partner simulator credentials. In the
230
+ * default permissive mode, other well-formed Basic credentials whose
231
+ * applicationKeyId was not minted by `b2_create_key` receive the same
232
+ * implicit master grant for backward compatibility. A simulator-created
233
+ * key always authorizes with its own capabilities, bucket restrictions,
234
+ * name prefix, and expiration.
183
235
  */
184
236
  export declare class B2Simulator {
185
237
  private readonly buckets;
@@ -196,6 +248,8 @@ export declare class B2Simulator {
196
248
  private readonly onHookError?;
197
249
  private readonly strictAuth;
198
250
  private readonly authTokenTtlMs;
251
+ private readonly customUploadTimestampsEnabled;
252
+ private readonly partner;
199
253
  /**
200
254
  * Issued auth tokens with their associated grant scope + expiry. In
201
255
  * permissive mode (`strictAuth: false`) this is still populated by
@@ -211,6 +265,8 @@ export declare class B2Simulator {
211
265
  * state for tests.
212
266
  */
213
267
  private readonly uploadTokens;
268
+ private readonly downloadAuthorizationTokens;
269
+ private readonly downloadAuthorizationExpiryHeap;
214
270
  /**
215
271
  * Virtual-clock offset applied to `Date.now()` for expiry checks.
216
272
  * Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
@@ -282,6 +338,7 @@ export declare class B2Simulator {
282
338
  * @returns Unix milliseconds.
283
339
  */
284
340
  private now;
341
+ private isStoredKeyExpired;
285
342
  private pruneExpiredUploadTokens;
286
343
  private uploadTokenState;
287
344
  private encodeUploadAuthorizationToken;
@@ -331,7 +388,25 @@ export declare class B2Simulator {
331
388
  * @returns `null` when the request is authorized, otherwise a 401/403 response.
332
389
  */
333
390
  private authorizeRequest;
391
+ private authorizeScopeGrant;
392
+ private authorizeDownloadRequest;
393
+ private isExpiredDownloadAuthorizationToken;
394
+ private purgeExpiredDownloadAuthorizationTokens;
395
+ private pushDownloadAuthorizationExpiry;
396
+ private popDownloadAuthorizationExpiry;
397
+ private authorizeDownloadResponseOverrides;
398
+ private downloadAuthorizationFromRequest;
399
+ private requestHasCapability;
400
+ private requireFileLockEnabled;
401
+ private requireGovernanceBypass;
402
+ private validateReplicationApplicationKey;
403
+ private invalidReplicationApplicationKey;
404
+ private invalidReplicationDestinationBucket;
405
+ private validateReplicationDestinationBuckets;
406
+ private validateReplicationApplicationKeys;
334
407
  private requestScope;
408
+ private createBucketScope;
409
+ private updateBucketScope;
335
410
  private listBucketsScope;
336
411
  private fileVersionScope;
337
412
  private copyFileScope;
@@ -345,19 +420,24 @@ export declare class B2Simulator {
345
420
  private uploadUrlMatches;
346
421
  private allowedBuckets;
347
422
  /**
348
- * Look up the application key matching the `Authorization` header on
423
+ * Resolve the application key matching the `Authorization` header on
349
424
  * an `authorize_account` request. The header is in the form
350
425
  * `Basic base64(applicationKeyId:applicationKey)`.
351
426
  *
352
- * Returns `null` for the implicit master credential (anything that
353
- * does not match a key minted via `b2_create_key`); in that case
354
- * `authorize` grants the full master capability set.
427
+ * The simulator has two implicit full-access storage credentials:
428
+ * the documented `test-key-id:test-key` pair used by SDK tests and
429
+ * `master-key-id:master-key`. In default permissive mode, any other
430
+ * well-formed Basic credential whose applicationKeyId is not a stored
431
+ * key also receives that implicit master grant for backward
432
+ * compatibility. A credential whose applicationKeyId matches a stored
433
+ * key must use the stored secret and must not be expired.
355
434
  *
356
435
  * @param authzHeader - Raw HTTP `Authorization` header value.
357
436
  *
358
- * @returns The matching key's grant scope, or `null` for the master.
437
+ * @returns The authorizing key's grant scope or the rejection reason.
359
438
  */
360
- private findKeyForAuthHeader;
439
+ private findAuthorizationGrant;
440
+ private canAuthorizePartner;
361
441
  /**
362
442
  * Creates an {@link HttpTransport} that routes requests to this simulator.
363
443
  * @returns A transport instance backed by this in-memory simulator.
@@ -417,7 +497,7 @@ export declare class B2Simulator {
417
497
  consumeMatchingFault(url: string): FaultSpec | null;
418
498
  /**
419
499
  * Dispatches a JSON API request to the appropriate handler.
420
- * @param _method - The HTTP method (unused).
500
+ * @param method - The HTTP method.
421
501
  * @param origin - The request URL origin used for simulator-issued endpoints.
422
502
  * @param path - The request URL path containing the B2 endpoint name.
423
503
  * @param headers - The HTTP request headers; consulted by the
@@ -426,7 +506,7 @@ export declare class B2Simulator {
426
506
  *
427
507
  * @returns An object with HTTP status and JSON response body.
428
508
  */
429
- handleRequest(_method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
509
+ handleRequest(method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
430
510
  /**
431
511
  * Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
432
512
  * Dispatches to the appropriate internal handler based on the URL.
@@ -437,6 +517,8 @@ export declare class B2Simulator {
437
517
  * @returns A promise resolving to an object with HTTP status and JSON response body.
438
518
  */
439
519
  handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
520
+ private validateContentLength;
521
+ private parseCustomUploadTimestamp;
440
522
  /**
441
523
  * Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
442
524
  * Returns the file data along with B2 response headers.
@@ -483,14 +565,24 @@ export declare class B2Simulator {
483
565
  * @returns The SHA-1 string to store, or an error response on mismatch.
484
566
  */
485
567
  private resolveUploadSha1;
568
+ private validateUploadPartEncryption;
486
569
  private handleUploadPart;
570
+ private parsePartNumberHeader;
571
+ private validatePartNumber;
487
572
  private downloadById;
488
573
  private downloadByName;
574
+ private validateDownloadEncryption;
575
+ private validateSourceServerSideEncryption;
576
+ private resolveCopyDestinationEncryption;
577
+ private validateCopyPartDestinationEncryption;
489
578
  private serveFile;
579
+ private addDownloadEncryptionHeaders;
580
+ private addDownloadObjectLockHeaders;
490
581
  private authorize;
491
582
  private createBucket;
492
583
  private listBuckets;
493
584
  private deleteBucket;
585
+ private bucketHasContents;
494
586
  private updateBucket;
495
587
  private getUploadUrl;
496
588
  private listFileNames;
@@ -507,6 +599,8 @@ export declare class B2Simulator {
507
599
  private listParts;
508
600
  private copyPart;
509
601
  private getDownloadAuthorization;
602
+ private createKeyCapabilitiesOutsideGrant;
603
+ private createKeyCreatorAccountId;
510
604
  private createKey;
511
605
  private listKeys;
512
606
  private deleteKey;
@@ -531,6 +625,10 @@ export declare class B2Simulator {
531
625
  */
532
626
  private findFile;
533
627
  private makeFileVersion;
628
+ private newReplicationStatusField;
629
+ private replicationStatusMetadataFor;
630
+ private replicationStatusForNewFile;
631
+ private matchingEnabledReplicationRules;
534
632
  private error;
535
633
  /**
536
634
  * Fire the pluggable post-upload hooks for a file that just landed in
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}