@backblaze-labs/b2-sdk 0.1.0 → 0.2.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 (701) hide show
  1. package/CHANGELOG.md +110 -5
  2. package/README.md +144 -33
  3. package/dist/_virtual/_b2-sdk-version-json.cjs +4 -0
  4. package/dist/_virtual/_b2-sdk-version-json.js +4 -0
  5. package/dist/auth/account-info.d.cts +32 -0
  6. package/dist/auth/account-info.d.cts.map +1 -1
  7. package/dist/auth/account-info.d.ts +32 -0
  8. package/dist/auth/account-info.d.ts.map +1 -1
  9. package/dist/auth/file.cjs +408 -207
  10. package/dist/auth/file.cjs.map +1 -1
  11. package/dist/auth/file.d.cts +77 -3
  12. package/dist/auth/file.d.cts.map +1 -1
  13. package/dist/auth/file.d.ts +77 -3
  14. package/dist/auth/file.d.ts.map +1 -1
  15. package/dist/auth/file.js +407 -207
  16. package/dist/auth/file.js.map +1 -1
  17. package/dist/auth/in-memory.cjs +212 -183
  18. package/dist/auth/in-memory.cjs.map +1 -1
  19. package/dist/auth/in-memory.d.cts +8 -0
  20. package/dist/auth/in-memory.d.cts.map +1 -1
  21. package/dist/auth/in-memory.d.ts +8 -0
  22. package/dist/auth/in-memory.d.ts.map +1 -1
  23. package/dist/auth/in-memory.js +211 -182
  24. package/dist/auth/in-memory.js.map +1 -1
  25. package/dist/auth/index.cjs +7 -9
  26. package/dist/auth/index.d.cts +3 -2
  27. package/dist/auth/index.d.cts.map +1 -1
  28. package/dist/auth/index.d.ts +3 -2
  29. package/dist/auth/index.d.ts.map +1 -1
  30. package/dist/auth/index.js +2 -8
  31. package/dist/auth/realms.cjs +80 -7
  32. package/dist/auth/realms.cjs.map +1 -1
  33. package/dist/auth/realms.d.cts +27 -4
  34. package/dist/auth/realms.d.cts.map +1 -1
  35. package/dist/auth/realms.d.ts +27 -4
  36. package/dist/auth/realms.d.ts.map +1 -1
  37. package/dist/auth/realms.js +80 -9
  38. package/dist/auth/realms.js.map +1 -1
  39. package/dist/auth/upload-url-pool.cjs +55 -51
  40. package/dist/auth/upload-url-pool.cjs.map +1 -1
  41. package/dist/auth/upload-url-pool.js +55 -51
  42. package/dist/auth/upload-url-pool.js.map +1 -1
  43. package/dist/bucket.cjs +785 -787
  44. package/dist/bucket.cjs.map +1 -1
  45. package/dist/bucket.d.cts +35 -47
  46. package/dist/bucket.d.cts.map +1 -1
  47. package/dist/bucket.d.ts +35 -47
  48. package/dist/bucket.d.ts.map +1 -1
  49. package/dist/bucket.js +780 -782
  50. package/dist/bucket.js.map +1 -1
  51. package/dist/client.cjs +246 -228
  52. package/dist/client.cjs.map +1 -1
  53. package/dist/client.d.cts +25 -17
  54. package/dist/client.d.cts.map +1 -1
  55. package/dist/client.d.ts +25 -17
  56. package/dist/client.d.ts.map +1 -1
  57. package/dist/client.js +243 -225
  58. package/dist/client.js.map +1 -1
  59. package/dist/copy/large.cjs +114 -71
  60. package/dist/copy/large.cjs.map +1 -1
  61. package/dist/copy/large.d.cts +6 -0
  62. package/dist/copy/large.d.cts.map +1 -1
  63. package/dist/copy/large.d.ts +6 -0
  64. package/dist/copy/large.d.ts.map +1 -1
  65. package/dist/copy/large.js +112 -69
  66. package/dist/copy/large.js.map +1 -1
  67. package/dist/download/checksum.cjs +89 -0
  68. package/dist/download/checksum.cjs.map +1 -0
  69. package/dist/download/checksum.d.cts +40 -0
  70. package/dist/download/checksum.d.cts.map +1 -0
  71. package/dist/download/checksum.d.ts +40 -0
  72. package/dist/download/checksum.d.ts.map +1 -0
  73. package/dist/download/checksum.js +87 -0
  74. package/dist/download/checksum.js.map +1 -0
  75. package/dist/download/parallel.cjs +214 -118
  76. package/dist/download/parallel.cjs.map +1 -1
  77. package/dist/download/parallel.d.cts +5 -1
  78. package/dist/download/parallel.d.cts.map +1 -1
  79. package/dist/download/parallel.d.ts +5 -1
  80. package/dist/download/parallel.d.ts.map +1 -1
  81. package/dist/download/parallel.js +212 -116
  82. package/dist/download/parallel.js.map +1 -1
  83. package/dist/download/single.cjs +188 -97
  84. package/dist/download/single.cjs.map +1 -1
  85. package/dist/download/single.d.cts +6 -1
  86. package/dist/download/single.d.cts.map +1 -1
  87. package/dist/download/single.d.ts +6 -1
  88. package/dist/download/single.d.ts.map +1 -1
  89. package/dist/download/single.js +186 -98
  90. package/dist/download/single.js.map +1 -1
  91. package/dist/errors/index.cjs +699 -243
  92. package/dist/errors/index.cjs.map +1 -1
  93. package/dist/errors/index.d.cts +285 -82
  94. package/dist/errors/index.d.cts.map +1 -1
  95. package/dist/errors/index.d.ts +285 -82
  96. package/dist/errors/index.d.ts.map +1 -1
  97. package/dist/errors/index.js +678 -261
  98. package/dist/errors/index.js.map +1 -1
  99. package/dist/http/retry.cjs +45 -28
  100. package/dist/http/retry.cjs.map +1 -1
  101. package/dist/http/retry.d.cts +15 -2
  102. package/dist/http/retry.d.cts.map +1 -1
  103. package/dist/http/retry.d.ts +15 -2
  104. package/dist/http/retry.d.ts.map +1 -1
  105. package/dist/http/retry.js +46 -31
  106. package/dist/http/retry.js.map +1 -1
  107. package/dist/http/transport.cjs +438 -140
  108. package/dist/http/transport.cjs.map +1 -1
  109. package/dist/http/transport.d.cts +21 -2
  110. package/dist/http/transport.d.cts.map +1 -1
  111. package/dist/http/transport.d.ts +21 -2
  112. package/dist/http/transport.d.ts.map +1 -1
  113. package/dist/http/transport.js +437 -140
  114. package/dist/http/transport.js.map +1 -1
  115. package/dist/http/url-guard.cjs +154 -89
  116. package/dist/http/url-guard.cjs.map +1 -1
  117. package/dist/http/url-guard.d.cts +25 -3
  118. package/dist/http/url-guard.d.cts.map +1 -1
  119. package/dist/http/url-guard.d.ts +25 -3
  120. package/dist/http/url-guard.d.ts.map +1 -1
  121. package/dist/http/url-guard.js +152 -90
  122. package/dist/http/url-guard.js.map +1 -1
  123. package/dist/http/user-agent.cjs +84 -44
  124. package/dist/http/user-agent.cjs.map +1 -1
  125. package/dist/http/user-agent.js +84 -46
  126. package/dist/http/user-agent.js.map +1 -1
  127. package/dist/index.cjs +101 -77
  128. package/dist/index.d.cts +27 -21
  129. package/dist/index.d.cts.map +1 -1
  130. package/dist/index.d.ts +27 -21
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +15 -71
  133. package/dist/internal/b2-naming.cjs +66 -0
  134. package/dist/internal/b2-naming.cjs.map +1 -0
  135. package/dist/internal/b2-naming.d.cts +43 -0
  136. package/dist/internal/b2-naming.d.cts.map +1 -0
  137. package/dist/internal/b2-naming.d.ts +43 -0
  138. package/dist/internal/b2-naming.d.ts.map +1 -0
  139. package/dist/internal/b2-naming.js +60 -0
  140. package/dist/internal/b2-naming.js.map +1 -0
  141. package/dist/internal/upload-retry-options.cjs +21 -0
  142. package/dist/internal/upload-retry-options.cjs.map +1 -0
  143. package/dist/internal/upload-retry-options.d.cts +12 -0
  144. package/dist/internal/upload-retry-options.d.cts.map +1 -0
  145. package/dist/internal/upload-retry-options.d.ts +12 -0
  146. package/dist/internal/upload-retry-options.d.ts.map +1 -0
  147. package/dist/internal/upload-retry-options.js +21 -0
  148. package/dist/internal/upload-retry-options.js.map +1 -0
  149. package/dist/internal/url-redaction.cjs +31 -0
  150. package/dist/internal/url-redaction.cjs.map +1 -0
  151. package/dist/internal/url-redaction.d.cts +17 -0
  152. package/dist/internal/url-redaction.d.cts.map +1 -0
  153. package/dist/internal/url-redaction.d.ts +17 -0
  154. package/dist/internal/url-redaction.d.ts.map +1 -0
  155. package/dist/internal/url-redaction.js +31 -0
  156. package/dist/internal/url-redaction.js.map +1 -0
  157. package/dist/notifications/index.cjs +4 -6
  158. package/dist/notifications/index.d.cts +1 -1
  159. package/dist/notifications/index.d.cts.map +1 -1
  160. package/dist/notifications/index.d.ts +1 -1
  161. package/dist/notifications/index.d.ts.map +1 -1
  162. package/dist/notifications/index.js +1 -6
  163. package/dist/notifications/webhook.cjs +195 -85
  164. package/dist/notifications/webhook.cjs.map +1 -1
  165. package/dist/notifications/webhook.d.cts.map +1 -1
  166. package/dist/notifications/webhook.d.ts.map +1 -1
  167. package/dist/notifications/webhook.js +195 -87
  168. package/dist/notifications/webhook.js.map +1 -1
  169. package/dist/object.cjs +253 -210
  170. package/dist/object.cjs.map +1 -1
  171. package/dist/object.d.cts +9 -55
  172. package/dist/object.d.cts.map +1 -1
  173. package/dist/object.d.ts +9 -55
  174. package/dist/object.d.ts.map +1 -1
  175. package/dist/object.js +249 -206
  176. package/dist/object.js.map +1 -1
  177. package/dist/raw/encoding.cjs +74 -35
  178. package/dist/raw/encoding.cjs.map +1 -1
  179. package/dist/raw/encoding.js +74 -38
  180. package/dist/raw/encoding.js.map +1 -1
  181. package/dist/raw/index.cjs +678 -587
  182. package/dist/raw/index.cjs.map +1 -1
  183. package/dist/raw/index.d.cts +121 -18
  184. package/dist/raw/index.d.cts.map +1 -1
  185. package/dist/raw/index.d.ts +121 -18
  186. package/dist/raw/index.d.ts.map +1 -1
  187. package/dist/raw/index.js +674 -589
  188. package/dist/raw/index.js.map +1 -1
  189. package/dist/s3/index.cjs +355 -18
  190. package/dist/s3/index.cjs.map +1 -1
  191. package/dist/s3/index.d.cts +233 -5
  192. package/dist/s3/index.d.cts.map +1 -1
  193. package/dist/s3/index.d.ts +233 -5
  194. package/dist/s3/index.d.ts.map +1 -1
  195. package/dist/s3/index.js +351 -22
  196. package/dist/s3/index.js.map +1 -1
  197. package/dist/s3/sigv4.cjs +149 -0
  198. package/dist/s3/sigv4.cjs.map +1 -0
  199. package/dist/s3/sigv4.d.cts +43 -0
  200. package/dist/s3/sigv4.d.cts.map +1 -0
  201. package/dist/s3/sigv4.d.ts +43 -0
  202. package/dist/s3/sigv4.d.ts.map +1 -0
  203. package/dist/s3/sigv4.js +148 -0
  204. package/dist/s3/sigv4.js.map +1 -0
  205. package/dist/s3/validation.cjs +69 -0
  206. package/dist/s3/validation.cjs.map +1 -0
  207. package/dist/s3/validation.d.cts +43 -0
  208. package/dist/s3/validation.d.cts.map +1 -0
  209. package/dist/s3/validation.d.ts +43 -0
  210. package/dist/s3/validation.d.ts.map +1 -0
  211. package/dist/s3/validation.js +66 -0
  212. package/dist/s3/validation.js.map +1 -0
  213. package/dist/simulator/capabilities.cjs +63 -48
  214. package/dist/simulator/capabilities.cjs.map +1 -1
  215. package/dist/simulator/capabilities.js +63 -49
  216. package/dist/simulator/capabilities.js.map +1 -1
  217. package/dist/simulator/index.cjs +2124 -1548
  218. package/dist/simulator/index.cjs.map +1 -1
  219. package/dist/simulator/index.d.cts +79 -11
  220. package/dist/simulator/index.d.cts.map +1 -1
  221. package/dist/simulator/index.d.ts +79 -11
  222. package/dist/simulator/index.d.ts.map +1 -1
  223. package/dist/simulator/index.js +2112 -1546
  224. package/dist/simulator/index.js.map +1 -1
  225. package/dist/simulator/validation.cjs +191 -153
  226. package/dist/simulator/validation.cjs.map +1 -1
  227. package/dist/simulator/validation.d.cts +3 -21
  228. package/dist/simulator/validation.d.cts.map +1 -1
  229. package/dist/simulator/validation.d.ts +3 -21
  230. package/dist/simulator/validation.d.ts.map +1 -1
  231. package/dist/simulator/validation.js +188 -162
  232. package/dist/simulator/validation.js.map +1 -1
  233. package/dist/streams/collect.cjs +74 -24
  234. package/dist/streams/collect.cjs.map +1 -1
  235. package/dist/streams/collect.d.cts +14 -1
  236. package/dist/streams/collect.d.cts.map +1 -1
  237. package/dist/streams/collect.d.ts +14 -1
  238. package/dist/streams/collect.d.ts.map +1 -1
  239. package/dist/streams/collect.js +74 -25
  240. package/dist/streams/collect.js.map +1 -1
  241. package/dist/streams/file-source.cjs +287 -0
  242. package/dist/streams/file-source.cjs.map +1 -0
  243. package/dist/streams/file-source.d.cts +96 -0
  244. package/dist/streams/file-source.d.cts.map +1 -0
  245. package/dist/streams/file-source.d.ts +96 -0
  246. package/dist/streams/file-source.d.ts.map +1 -0
  247. package/dist/streams/file-source.js +286 -0
  248. package/dist/streams/file-source.js.map +1 -0
  249. package/dist/streams/hash.cjs +207 -115
  250. package/dist/streams/hash.cjs.map +1 -1
  251. package/dist/streams/hash.d.cts +5 -4
  252. package/dist/streams/hash.d.cts.map +1 -1
  253. package/dist/streams/hash.d.ts +5 -4
  254. package/dist/streams/hash.d.ts.map +1 -1
  255. package/dist/streams/hash.js +208 -95
  256. package/dist/streams/hash.js.map +1 -1
  257. package/dist/streams/index.cjs +12 -12
  258. package/dist/streams/index.d.cts +3 -3
  259. package/dist/streams/index.d.cts.map +1 -1
  260. package/dist/streams/index.d.ts +3 -3
  261. package/dist/streams/index.d.ts.map +1 -1
  262. package/dist/streams/index.js +2 -10
  263. package/dist/streams/progress.cjs +60 -46
  264. package/dist/streams/progress.cjs.map +1 -1
  265. package/dist/streams/progress.js +60 -46
  266. package/dist/streams/progress.js.map +1 -1
  267. package/dist/streams/source.cjs +316 -146
  268. package/dist/streams/source.cjs.map +1 -1
  269. package/dist/streams/source.d.cts +56 -18
  270. package/dist/streams/source.d.cts.map +1 -1
  271. package/dist/streams/source.d.ts +56 -18
  272. package/dist/streams/source.d.ts.map +1 -1
  273. package/dist/streams/source.js +312 -149
  274. package/dist/streams/source.js.map +1 -1
  275. package/dist/sync/actions/index.cjs +236 -184
  276. package/dist/sync/actions/index.cjs.map +1 -1
  277. package/dist/sync/actions/index.d.cts +29 -21
  278. package/dist/sync/actions/index.d.cts.map +1 -1
  279. package/dist/sync/actions/index.d.ts +29 -21
  280. package/dist/sync/actions/index.d.ts.map +1 -1
  281. package/dist/sync/actions/index.js +236 -190
  282. package/dist/sync/actions/index.js.map +1 -1
  283. package/dist/sync/b2-sha1-reader.cjs +148 -0
  284. package/dist/sync/b2-sha1-reader.cjs.map +1 -0
  285. package/dist/sync/b2-sha1-reader.d.cts +58 -0
  286. package/dist/sync/b2-sha1-reader.d.cts.map +1 -0
  287. package/dist/sync/b2-sha1-reader.d.ts +58 -0
  288. package/dist/sync/b2-sha1-reader.d.ts.map +1 -0
  289. package/dist/sync/b2-sha1-reader.js +145 -0
  290. package/dist/sync/b2-sha1-reader.js.map +1 -0
  291. package/dist/sync/download-staging.cjs +265 -0
  292. package/dist/sync/download-staging.cjs.map +1 -0
  293. package/dist/sync/download-staging.d.cts +54 -0
  294. package/dist/sync/download-staging.d.cts.map +1 -0
  295. package/dist/sync/download-staging.d.ts +54 -0
  296. package/dist/sync/download-staging.d.ts.map +1 -0
  297. package/dist/sync/download-staging.js +259 -0
  298. package/dist/sync/download-staging.js.map +1 -0
  299. package/dist/sync/filesystem-errors.cjs +32 -0
  300. package/dist/sync/filesystem-errors.cjs.map +1 -0
  301. package/dist/sync/filesystem-errors.d.cts +8 -0
  302. package/dist/sync/filesystem-errors.d.cts.map +1 -0
  303. package/dist/sync/filesystem-errors.d.ts +8 -0
  304. package/dist/sync/filesystem-errors.d.ts.map +1 -0
  305. package/dist/sync/filesystem-errors.js +32 -0
  306. package/dist/sync/filesystem-errors.js.map +1 -0
  307. package/dist/sync/filters.cjs +217 -0
  308. package/dist/sync/filters.cjs.map +1 -0
  309. package/dist/sync/filters.d.cts +51 -0
  310. package/dist/sync/filters.d.cts.map +1 -0
  311. package/dist/sync/filters.d.ts +51 -0
  312. package/dist/sync/filters.d.ts.map +1 -0
  313. package/dist/sync/filters.js +213 -0
  314. package/dist/sync/filters.js.map +1 -0
  315. package/dist/sync/index.cjs +39 -22
  316. package/dist/sync/index.d.cts +14 -9
  317. package/dist/sync/index.d.cts.map +1 -1
  318. package/dist/sync/index.d.ts +14 -9
  319. package/dist/sync/index.d.ts.map +1 -1
  320. package/dist/sync/index.js +9 -20
  321. package/dist/sync/local-file-identity.cjs +61 -0
  322. package/dist/sync/local-file-identity.cjs.map +1 -0
  323. package/dist/sync/local-file-identity.d.cts +37 -0
  324. package/dist/sync/local-file-identity.d.cts.map +1 -0
  325. package/dist/sync/local-file-identity.d.ts +37 -0
  326. package/dist/sync/local-file-identity.d.ts.map +1 -0
  327. package/dist/sync/local-file-identity.js +60 -0
  328. package/dist/sync/local-file-identity.js.map +1 -0
  329. package/dist/sync/local-file-io.cjs +364 -0
  330. package/dist/sync/local-file-io.cjs.map +1 -0
  331. package/dist/sync/local-file-io.d.cts +75 -0
  332. package/dist/sync/local-file-io.d.cts.map +1 -0
  333. package/dist/sync/local-file-io.d.ts +75 -0
  334. package/dist/sync/local-file-io.d.ts.map +1 -0
  335. package/dist/sync/local-file-io.js +360 -0
  336. package/dist/sync/local-file-io.js.map +1 -0
  337. package/dist/sync/local-filesystem-root.cjs +27 -0
  338. package/dist/sync/local-filesystem-root.cjs.map +1 -0
  339. package/dist/sync/local-filesystem-root.d.cts +18 -0
  340. package/dist/sync/local-filesystem-root.d.cts.map +1 -0
  341. package/dist/sync/local-filesystem-root.d.ts +18 -0
  342. package/dist/sync/local-filesystem-root.d.ts.map +1 -0
  343. package/dist/sync/local-filesystem-root.js +26 -0
  344. package/dist/sync/local-filesystem-root.js.map +1 -0
  345. package/dist/sync/local-sha1.cjs +119 -0
  346. package/dist/sync/local-sha1.cjs.map +1 -0
  347. package/dist/sync/local-sha1.d.cts +39 -0
  348. package/dist/sync/local-sha1.d.cts.map +1 -0
  349. package/dist/sync/local-sha1.d.ts +39 -0
  350. package/dist/sync/local-sha1.d.ts.map +1 -0
  351. package/dist/sync/local-sha1.js +117 -0
  352. package/dist/sync/local-sha1.js.map +1 -0
  353. package/dist/sync/pairing.cjs +118 -29
  354. package/dist/sync/pairing.cjs.map +1 -1
  355. package/dist/sync/pairing.d.cts +7 -2
  356. package/dist/sync/pairing.d.cts.map +1 -1
  357. package/dist/sync/pairing.d.ts +7 -2
  358. package/dist/sync/pairing.d.ts.map +1 -1
  359. package/dist/sync/pairing.js +120 -31
  360. package/dist/sync/pairing.js.map +1 -1
  361. package/dist/sync/path-order.cjs +30 -0
  362. package/dist/sync/path-order.cjs.map +1 -0
  363. package/dist/sync/path-order.d.cts +28 -0
  364. package/dist/sync/path-order.d.cts.map +1 -0
  365. package/dist/sync/path-order.d.ts +28 -0
  366. package/dist/sync/path-order.d.ts.map +1 -0
  367. package/dist/sync/path-order.js +29 -0
  368. package/dist/sync/path-order.js.map +1 -0
  369. package/dist/sync/path-safety.cjs +111 -0
  370. package/dist/sync/path-safety.cjs.map +1 -0
  371. package/dist/sync/path-safety.d.cts +78 -0
  372. package/dist/sync/path-safety.d.cts.map +1 -0
  373. package/dist/sync/path-safety.d.ts +78 -0
  374. package/dist/sync/path-safety.d.ts.map +1 -0
  375. package/dist/sync/path-safety.js +105 -0
  376. package/dist/sync/path-safety.js.map +1 -0
  377. package/dist/sync/paths.d.cts +19 -0
  378. package/dist/sync/paths.d.cts.map +1 -0
  379. package/dist/sync/paths.d.ts +19 -0
  380. package/dist/sync/paths.d.ts.map +1 -0
  381. package/dist/sync/policies/compare.cjs +389 -11
  382. package/dist/sync/policies/compare.cjs.map +1 -1
  383. package/dist/sync/policies/compare.d.cts +100 -2
  384. package/dist/sync/policies/compare.d.cts.map +1 -1
  385. package/dist/sync/policies/compare.d.ts +100 -2
  386. package/dist/sync/policies/compare.d.ts.map +1 -1
  387. package/dist/sync/policies/compare.js +387 -13
  388. package/dist/sync/policies/compare.js.map +1 -1
  389. package/dist/sync/policies/index.cjs +76 -65
  390. package/dist/sync/policies/index.cjs.map +1 -1
  391. package/dist/sync/policies/index.d.cts +35 -6
  392. package/dist/sync/policies/index.d.cts.map +1 -1
  393. package/dist/sync/policies/index.d.ts +35 -6
  394. package/dist/sync/policies/index.d.ts.map +1 -1
  395. package/dist/sync/policies/index.js +76 -65
  396. package/dist/sync/policies/index.js.map +1 -1
  397. package/dist/sync/prefix.cjs +96 -0
  398. package/dist/sync/prefix.cjs.map +1 -0
  399. package/dist/sync/prefix.d.cts +55 -0
  400. package/dist/sync/prefix.d.cts.map +1 -0
  401. package/dist/sync/prefix.d.ts +55 -0
  402. package/dist/sync/prefix.d.ts.map +1 -0
  403. package/dist/sync/prefix.js +92 -0
  404. package/dist/sync/prefix.js.map +1 -0
  405. package/dist/sync/regexp-safety.cjs +192 -0
  406. package/dist/sync/regexp-safety.cjs.map +1 -0
  407. package/dist/sync/regexp-safety.d.cts +29 -0
  408. package/dist/sync/regexp-safety.d.cts.map +1 -0
  409. package/dist/sync/regexp-safety.d.ts +29 -0
  410. package/dist/sync/regexp-safety.d.ts.map +1 -0
  411. package/dist/sync/regexp-safety.js +190 -0
  412. package/dist/sync/regexp-safety.js.map +1 -0
  413. package/dist/sync/scan-events.cjs +33 -0
  414. package/dist/sync/scan-events.cjs.map +1 -0
  415. package/dist/sync/scan-events.d.cts +17 -0
  416. package/dist/sync/scan-events.d.cts.map +1 -0
  417. package/dist/sync/scan-events.d.ts +17 -0
  418. package/dist/sync/scan-events.d.ts.map +1 -0
  419. package/dist/sync/scan-events.js +32 -0
  420. package/dist/sync/scan-events.js.map +1 -0
  421. package/dist/sync/scan-limit.cjs +33 -0
  422. package/dist/sync/scan-limit.cjs.map +1 -0
  423. package/dist/sync/scan-limit.d.cts +21 -0
  424. package/dist/sync/scan-limit.d.cts.map +1 -0
  425. package/dist/sync/scan-limit.d.ts +21 -0
  426. package/dist/sync/scan-limit.d.ts.map +1 -0
  427. package/dist/sync/scan-limit.js +31 -0
  428. package/dist/sync/scan-limit.js.map +1 -0
  429. package/dist/sync/scanners/b2.cjs +239 -55
  430. package/dist/sync/scanners/b2.cjs.map +1 -1
  431. package/dist/sync/scanners/b2.d.cts +26 -7
  432. package/dist/sync/scanners/b2.d.cts.map +1 -1
  433. package/dist/sync/scanners/b2.d.ts +26 -7
  434. package/dist/sync/scanners/b2.d.ts.map +1 -1
  435. package/dist/sync/scanners/b2.js +239 -55
  436. package/dist/sync/scanners/b2.js.map +1 -1
  437. package/dist/sync/scanners/local.cjs +215 -56
  438. package/dist/sync/scanners/local.cjs.map +1 -1
  439. package/dist/sync/scanners/local.d.cts +22 -7
  440. package/dist/sync/scanners/local.d.cts.map +1 -1
  441. package/dist/sync/scanners/local.d.ts +22 -7
  442. package/dist/sync/scanners/local.d.ts.map +1 -1
  443. package/dist/sync/scanners/local.js +216 -57
  444. package/dist/sync/scanners/local.js.map +1 -1
  445. package/dist/sync/sha1-metadata.cjs +94 -0
  446. package/dist/sync/sha1-metadata.cjs.map +1 -0
  447. package/dist/sync/sha1-metadata.d.cts +82 -0
  448. package/dist/sync/sha1-metadata.d.cts.map +1 -0
  449. package/dist/sync/sha1-metadata.d.ts +82 -0
  450. package/dist/sync/sha1-metadata.d.ts.map +1 -0
  451. package/dist/sync/sha1-metadata.js +89 -0
  452. package/dist/sync/sha1-metadata.js.map +1 -0
  453. package/dist/sync/sha1-options.cjs +23 -0
  454. package/dist/sync/sha1-options.cjs.map +1 -0
  455. package/dist/sync/sha1-options.d.cts +14 -0
  456. package/dist/sync/sha1-options.d.cts.map +1 -0
  457. package/dist/sync/sha1-options.d.ts +14 -0
  458. package/dist/sync/sha1-options.d.ts.map +1 -0
  459. package/dist/sync/sha1-options.js +21 -0
  460. package/dist/sync/sha1-options.js.map +1 -0
  461. package/dist/sync/synchronizer.cjs +782 -197
  462. package/dist/sync/synchronizer.cjs.map +1 -1
  463. package/dist/sync/synchronizer.d.cts +47 -1
  464. package/dist/sync/synchronizer.d.cts.map +1 -1
  465. package/dist/sync/synchronizer.d.ts +47 -1
  466. package/dist/sync/synchronizer.d.ts.map +1 -1
  467. package/dist/sync/synchronizer.js +779 -173
  468. package/dist/sync/synchronizer.js.map +1 -1
  469. package/dist/sync/types.d.cts +208 -16
  470. package/dist/sync/types.d.cts.map +1 -1
  471. package/dist/sync/types.d.ts +208 -16
  472. package/dist/sync/types.d.ts.map +1 -1
  473. package/dist/types/auth.cjs +76 -56
  474. package/dist/types/auth.cjs.map +1 -1
  475. package/dist/types/auth.d.cts +67 -9
  476. package/dist/types/auth.d.cts.map +1 -1
  477. package/dist/types/auth.d.ts +67 -9
  478. package/dist/types/auth.d.ts.map +1 -1
  479. package/dist/types/auth.js +77 -57
  480. package/dist/types/auth.js.map +1 -1
  481. package/dist/types/bucket.cjs +74 -38
  482. package/dist/types/bucket.cjs.map +1 -1
  483. package/dist/types/bucket.js +75 -41
  484. package/dist/types/bucket.js.map +1 -1
  485. package/dist/types/encryption.cjs +364 -327
  486. package/dist/types/encryption.cjs.map +1 -1
  487. package/dist/types/encryption.d.cts +16 -0
  488. package/dist/types/encryption.d.cts.map +1 -1
  489. package/dist/types/encryption.d.ts +16 -0
  490. package/dist/types/encryption.d.ts.map +1 -1
  491. package/dist/types/encryption.js +364 -310
  492. package/dist/types/encryption.js.map +1 -1
  493. package/dist/types/errors.cjs +47 -0
  494. package/dist/types/errors.cjs.map +1 -0
  495. package/dist/types/errors.d.cts +13 -4
  496. package/dist/types/errors.d.cts.map +1 -1
  497. package/dist/types/errors.d.ts +13 -4
  498. package/dist/types/errors.d.ts.map +1 -1
  499. package/dist/types/errors.js +47 -0
  500. package/dist/types/errors.js.map +1 -0
  501. package/dist/types/file.cjs +36 -19
  502. package/dist/types/file.cjs.map +1 -1
  503. package/dist/types/file.d.cts +2 -2
  504. package/dist/types/file.d.cts.map +1 -1
  505. package/dist/types/file.d.ts +2 -2
  506. package/dist/types/file.d.ts.map +1 -1
  507. package/dist/types/file.js +37 -21
  508. package/dist/types/file.js.map +1 -1
  509. package/dist/types/ids.cjs +53 -9
  510. package/dist/types/ids.cjs.map +1 -1
  511. package/dist/types/ids.js +54 -15
  512. package/dist/types/ids.js.map +1 -1
  513. package/dist/types/index.d.cts +12 -11
  514. package/dist/types/index.d.cts.map +1 -1
  515. package/dist/types/index.d.ts +12 -11
  516. package/dist/types/index.d.ts.map +1 -1
  517. package/dist/types/key.d.cts +44 -8
  518. package/dist/types/key.d.cts.map +1 -1
  519. package/dist/types/key.d.ts +44 -8
  520. package/dist/types/key.d.ts.map +1 -1
  521. package/dist/types/lock.cjs +33 -13
  522. package/dist/types/lock.cjs.map +1 -1
  523. package/dist/types/lock.js +34 -15
  524. package/dist/types/lock.js.map +1 -1
  525. package/dist/types/notifications.cjs +44 -22
  526. package/dist/types/notifications.cjs.map +1 -1
  527. package/dist/types/notifications.js +45 -23
  528. package/dist/types/notifications.js.map +1 -1
  529. package/dist/types/upload.d.cts +39 -5
  530. package/dist/types/upload.d.cts.map +1 -1
  531. package/dist/types/upload.d.ts +39 -5
  532. package/dist/types/upload.d.ts.map +1 -1
  533. package/dist/upload/abort-scope.cjs +91 -0
  534. package/dist/upload/abort-scope.cjs.map +1 -0
  535. package/dist/upload/abort-scope.d.cts +48 -0
  536. package/dist/upload/abort-scope.d.cts.map +1 -0
  537. package/dist/upload/abort-scope.d.ts +48 -0
  538. package/dist/upload/abort-scope.d.ts.map +1 -0
  539. package/dist/upload/abort-scope.js +88 -0
  540. package/dist/upload/abort-scope.js.map +1 -0
  541. package/dist/upload/cancel.cjs +183 -8
  542. package/dist/upload/cancel.cjs.map +1 -1
  543. package/dist/upload/cancel.d.cts +110 -2
  544. package/dist/upload/cancel.d.cts.map +1 -1
  545. package/dist/upload/cancel.d.ts +110 -2
  546. package/dist/upload/cancel.d.ts.map +1 -1
  547. package/dist/upload/cancel.js +178 -9
  548. package/dist/upload/cancel.js.map +1 -1
  549. package/dist/upload/concurrency.cjs +79 -52
  550. package/dist/upload/concurrency.cjs.map +1 -1
  551. package/dist/upload/concurrency.js +79 -53
  552. package/dist/upload/concurrency.js.map +1 -1
  553. package/dist/upload/finish.cjs +59 -0
  554. package/dist/upload/finish.cjs.map +1 -0
  555. package/dist/upload/finish.d.cts +26 -0
  556. package/dist/upload/finish.d.cts.map +1 -0
  557. package/dist/upload/finish.d.ts +26 -0
  558. package/dist/upload/finish.d.ts.map +1 -0
  559. package/dist/upload/finish.js +59 -0
  560. package/dist/upload/finish.js.map +1 -0
  561. package/dist/upload/large.cjs +301 -218
  562. package/dist/upload/large.cjs.map +1 -1
  563. package/dist/upload/large.d.cts +76 -9
  564. package/dist/upload/large.d.cts.map +1 -1
  565. package/dist/upload/large.d.ts +76 -9
  566. package/dist/upload/large.d.ts.map +1 -1
  567. package/dist/upload/large.js +301 -218
  568. package/dist/upload/large.js.map +1 -1
  569. package/dist/upload/options.cjs +28 -0
  570. package/dist/upload/options.cjs.map +1 -0
  571. package/dist/upload/options.d.cts +104 -0
  572. package/dist/upload/options.d.cts.map +1 -0
  573. package/dist/upload/options.d.ts +104 -0
  574. package/dist/upload/options.d.ts.map +1 -0
  575. package/dist/upload/options.js +27 -0
  576. package/dist/upload/options.js.map +1 -0
  577. package/dist/upload/resume.cjs +333 -33
  578. package/dist/upload/resume.cjs.map +1 -1
  579. package/dist/upload/resume.d.cts +82 -12
  580. package/dist/upload/resume.d.cts.map +1 -1
  581. package/dist/upload/resume.d.ts +82 -12
  582. package/dist/upload/resume.d.ts.map +1 -1
  583. package/dist/upload/resume.js +330 -33
  584. package/dist/upload/resume.js.map +1 -1
  585. package/dist/upload/retry.cjs +186 -0
  586. package/dist/upload/retry.cjs.map +1 -0
  587. package/dist/upload/retry.d.cts +127 -0
  588. package/dist/upload/retry.d.cts.map +1 -0
  589. package/dist/upload/retry.d.ts +127 -0
  590. package/dist/upload/retry.d.ts.map +1 -0
  591. package/dist/upload/retry.js +182 -0
  592. package/dist/upload/retry.js.map +1 -0
  593. package/dist/upload/single.cjs +68 -44
  594. package/dist/upload/single.cjs.map +1 -1
  595. package/dist/upload/single.d.cts +2 -1
  596. package/dist/upload/single.d.cts.map +1 -1
  597. package/dist/upload/single.d.ts +2 -1
  598. package/dist/upload/single.d.ts.map +1 -1
  599. package/dist/upload/single.js +68 -44
  600. package/dist/upload/single.js.map +1 -1
  601. package/dist/upload/stream.cjs +317 -193
  602. package/dist/upload/stream.cjs.map +1 -1
  603. package/dist/upload/stream.d.cts +3 -1
  604. package/dist/upload/stream.d.cts.map +1 -1
  605. package/dist/upload/stream.d.ts +3 -1
  606. package/dist/upload/stream.d.ts.map +1 -1
  607. package/dist/upload/stream.js +316 -192
  608. package/dist/upload/stream.js.map +1 -1
  609. package/dist/util/best-effort.cjs +42 -8
  610. package/dist/util/best-effort.cjs.map +1 -1
  611. package/dist/util/best-effort.d.cts +2 -1
  612. package/dist/util/best-effort.d.cts.map +1 -1
  613. package/dist/util/best-effort.d.ts +2 -1
  614. package/dist/util/best-effort.d.ts.map +1 -1
  615. package/dist/util/best-effort.js +43 -9
  616. package/dist/util/best-effort.js.map +1 -1
  617. package/dist/util/bytes.cjs +23 -0
  618. package/dist/util/bytes.cjs.map +1 -0
  619. package/dist/util/bytes.d.cts +15 -0
  620. package/dist/util/bytes.d.cts.map +1 -0
  621. package/dist/util/bytes.d.ts +15 -0
  622. package/dist/util/bytes.d.ts.map +1 -0
  623. package/dist/util/bytes.js +23 -0
  624. package/dist/util/bytes.js.map +1 -0
  625. package/dist/util/crypto.cjs +68 -0
  626. package/dist/util/crypto.cjs.map +1 -0
  627. package/dist/util/crypto.d.cts +26 -0
  628. package/dist/util/crypto.d.cts.map +1 -0
  629. package/dist/util/crypto.d.ts +26 -0
  630. package/dist/util/crypto.d.ts.map +1 -0
  631. package/dist/util/crypto.js +66 -0
  632. package/dist/util/crypto.js.map +1 -0
  633. package/dist/util/defaults.cjs +25 -9
  634. package/dist/util/defaults.cjs.map +1 -1
  635. package/dist/util/defaults.js +26 -11
  636. package/dist/util/defaults.js.map +1 -1
  637. package/dist/util/error-reason.cjs +41 -0
  638. package/dist/util/error-reason.cjs.map +1 -0
  639. package/dist/util/error-reason.d.cts +9 -0
  640. package/dist/util/error-reason.d.cts.map +1 -0
  641. package/dist/util/error-reason.d.ts +9 -0
  642. package/dist/util/error-reason.d.ts.map +1 -0
  643. package/dist/util/error-reason.js +41 -0
  644. package/dist/util/error-reason.js.map +1 -0
  645. package/dist/util/http.cjs +23 -0
  646. package/dist/util/http.cjs.map +1 -0
  647. package/dist/util/http.d.cts +13 -0
  648. package/dist/util/http.d.cts.map +1 -0
  649. package/dist/util/http.d.ts +13 -0
  650. package/dist/util/http.d.ts.map +1 -0
  651. package/dist/util/http.js +23 -0
  652. package/dist/util/http.js.map +1 -0
  653. package/dist/util/normalize.cjs +66 -7
  654. package/dist/util/normalize.cjs.map +1 -1
  655. package/dist/util/normalize.js +67 -10
  656. package/dist/util/normalize.js.map +1 -1
  657. package/dist/util/paginator.cjs +63 -14
  658. package/dist/util/paginator.cjs.map +1 -1
  659. package/dist/util/paginator.js +64 -16
  660. package/dist/util/paginator.js.map +1 -1
  661. package/dist/util/plan-ranges.cjs +47 -22
  662. package/dist/util/plan-ranges.cjs.map +1 -1
  663. package/dist/util/plan-ranges.js +48 -24
  664. package/dist/util/plan-ranges.js.map +1 -1
  665. package/dist/util/sha1.cjs +27 -0
  666. package/dist/util/sha1.cjs.map +1 -0
  667. package/dist/util/sha1.d.cts +17 -0
  668. package/dist/util/sha1.d.cts.map +1 -0
  669. package/dist/util/sha1.d.ts +17 -0
  670. package/dist/util/sha1.d.ts.map +1 -0
  671. package/dist/util/sha1.js +26 -0
  672. package/dist/util/sha1.js.map +1 -0
  673. package/dist/util/text-codec.cjs +29 -5
  674. package/dist/util/text-codec.cjs.map +1 -1
  675. package/dist/util/text-codec.js +30 -7
  676. package/dist/util/text-codec.js.map +1 -1
  677. package/dist/util/to-error.cjs +18 -4
  678. package/dist/util/to-error.cjs.map +1 -1
  679. package/dist/util/to-error.js +19 -5
  680. package/dist/util/to-error.js.map +1 -1
  681. package/dist/version.cjs +17 -5
  682. package/dist/version.cjs.map +1 -1
  683. package/dist/version.d.cts +3 -3
  684. package/dist/version.d.ts +3 -3
  685. package/dist/version.js +19 -6
  686. package/dist/version.js.map +1 -1
  687. package/package.json +19 -16
  688. package/dist/auth/index.cjs.map +0 -1
  689. package/dist/auth/index.js.map +0 -1
  690. package/dist/index.cjs.map +0 -1
  691. package/dist/index.js.map +0 -1
  692. package/dist/notifications/index.cjs.map +0 -1
  693. package/dist/notifications/index.js.map +0 -1
  694. package/dist/package.json.cjs +0 -9
  695. package/dist/package.json.cjs.map +0 -1
  696. package/dist/package.json.js +0 -9
  697. package/dist/package.json.js.map +0 -1
  698. package/dist/streams/index.cjs.map +0 -1
  699. package/dist/streams/index.js.map +0 -1
  700. package/dist/sync/index.cjs.map +0 -1
  701. package/dist/sync/index.js.map +0 -1
@@ -134,24 +134,34 @@ export interface B2SimulatorOptions {
134
134
  * When `true`, the simulator enforces application-key capability
135
135
  * checks, bucket scoping, prefix scoping, and auth-token expiry on
136
136
  * every request. The default `false` keeps the simulator permissive
137
- * (matching its long-standing behaviour) so the existing test suite
138
- * doesn't have to set up keys with the right capabilities.
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.
140
+ *
141
+ * Upload authorization tokens returned by `b2_get_upload_url` and
142
+ * `b2_get_upload_part_url` are always enforced, regardless of this
143
+ * option. Upload handlers reject missing, unknown, expired, or
144
+ * wrong-URL upload tokens in both permissive and strict modes.
139
145
  *
140
146
  * In strict mode:
141
147
  *
142
148
  * - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
143
149
  * - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
144
150
  * - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
145
- * - Calls outside the key's bucketId / namePrefix scope return HTTP 403 `unauthorized`.
151
+ * - Calls outside the key's bucketIds / namePrefix scope return HTTP 403 `unauthorized`.
146
152
  *
147
153
  * Each test can opt in: `new B2Simulator({ strictAuth: true })`.
148
154
  */
149
155
  strictAuth?: boolean;
150
156
  /**
151
157
  * How long auth tokens issued via `b2_authorize_account` are valid
152
- * for, in milliseconds. Defaults to 24 hours (real B2). Tests that
153
- * want to exercise the 401/reauth retry path can lower this so a
154
- * single call to {@link B2Simulator.advanceTime} expires the token.
158
+ * for, in milliseconds. The simulator also uses this TTL for upload
159
+ * authorization tokens issued via `b2_get_upload_url` and
160
+ * `b2_get_upload_part_url`. Defaults to 24 hours (real B2). Tests
161
+ * that want to exercise the 401/reauth retry path or stale upload
162
+ * URL handling can lower this and use {@link B2Simulator.advanceTime}
163
+ * to move simulator time past account-token expiry. Upload tokens are
164
+ * rejected at the exact expiry boundary.
155
165
  */
156
166
  authTokenTtlMs?: number;
157
167
  }
@@ -193,6 +203,14 @@ export declare class B2Simulator {
193
203
  * mode each request looks up its `Authorization` header here.
194
204
  */
195
205
  private readonly issuedTokens;
206
+ /**
207
+ * Mutable upload-token overrides for tokens minted by `b2_get_upload_url`
208
+ * and `b2_get_upload_part_url`. The token string is self-describing
209
+ * and signed so another simulator instance can validate issued-token
210
+ * state, while this map records local invalidation / forced-expiry
211
+ * state for tests.
212
+ */
213
+ private readonly uploadTokens;
196
214
  /**
197
215
  * Virtual-clock offset applied to `Date.now()` for expiry checks.
198
216
  * Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
@@ -238,12 +256,37 @@ export declare class B2Simulator {
238
256
  * @param ms - Milliseconds to advance. Negative values rewind (rarely useful).
239
257
  */
240
258
  advanceTime(ms: number): void;
259
+ /**
260
+ * Expire an upload authorization token previously returned by
261
+ * `b2_get_upload_url` or `b2_get_upload_part_url`. Tests can use this
262
+ * to simulate a stale upload URL and verify retry paths that fetch a
263
+ * fresh URL/token pair.
264
+ *
265
+ * @param authorizationToken - The upload authorization token to expire.
266
+ *
267
+ * @returns `true` when the token existed and was expired, otherwise `false`.
268
+ */
269
+ expireUploadToken(authorizationToken: string): boolean;
270
+ /**
271
+ * Invalidate an upload authorization token previously returned by
272
+ * `b2_get_upload_url` or `b2_get_upload_part_url`.
273
+ *
274
+ * @param authorizationToken - The upload authorization token to invalidate.
275
+ *
276
+ * @returns `true` when the token existed and was invalidated, otherwise `false`.
277
+ */
278
+ invalidateUploadToken(authorizationToken: string): boolean;
241
279
  /**
242
280
  * Current simulator time. Equal to `Date.now() + clockOffsetMs`.
243
281
  *
244
282
  * @returns Unix milliseconds.
245
283
  */
246
284
  private now;
285
+ private pruneExpiredUploadTokens;
286
+ private uploadTokenState;
287
+ private encodeUploadAuthorizationToken;
288
+ private decodeUploadAuthorizationToken;
289
+ private signUploadTokenPayload;
247
290
  /**
248
291
  * Generate a deterministic-but-realistic-looking B2 identifier of the
249
292
  * shape `<prefix>_<24-hex-counter>`, which approximates the visual
@@ -283,12 +326,24 @@ export declare class B2Simulator {
283
326
  *
284
327
  * @param authToken - The `Authorization` header value from the request.
285
328
  * @param endpoint - B2 endpoint name being invoked.
286
- * @param bucketId - Optional bucket ID the request operates on, for scope check.
287
- * @param fileName - Optional file name the request operates on, for prefix check.
329
+ * @param scope - Optional effective bucket and file-name scope derived from the request.
288
330
  *
289
331
  * @returns `null` when the request is authorized, otherwise a 401/403 response.
290
332
  */
291
333
  private authorizeRequest;
334
+ private requestScope;
335
+ private listBucketsScope;
336
+ private fileVersionScope;
337
+ private copyFileScope;
338
+ private copyPartScope;
339
+ private notificationRulesScope;
340
+ private defaultRequestScope;
341
+ private fileIdScope;
342
+ private largeFileScope;
343
+ private issueUploadAuthorization;
344
+ private validateUploadAuthorization;
345
+ private uploadUrlMatches;
346
+ private allowedBuckets;
292
347
  /**
293
348
  * Look up the application key matching the `Authorization` header on
294
349
  * an `authorize_account` request. The header is in the form
@@ -363,6 +418,7 @@ export declare class B2Simulator {
363
418
  /**
364
419
  * Dispatches a JSON API request to the appropriate handler.
365
420
  * @param _method - The HTTP method (unused).
421
+ * @param origin - The request URL origin used for simulator-issued endpoints.
366
422
  * @param path - The request URL path containing the B2 endpoint name.
367
423
  * @param headers - The HTTP request headers; consulted by the
368
424
  * strict-auth gate to look up the issued auth token.
@@ -370,7 +426,7 @@ export declare class B2Simulator {
370
426
  *
371
427
  * @returns An object with HTTP status and JSON response body.
372
428
  */
373
- handleRequest(_method: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
429
+ handleRequest(_method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
374
430
  /**
375
431
  * Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
376
432
  * Dispatches to the appropriate internal handler based on the URL.
@@ -378,9 +434,9 @@ export declare class B2Simulator {
378
434
  * @param headers - The HTTP headers containing file metadata and authorization.
379
435
  * @param data - The raw file or part content as bytes.
380
436
  *
381
- * @returns An object with HTTP status and JSON response body.
437
+ * @returns A promise resolving to an object with HTTP status and JSON response body.
382
438
  */
383
- handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): SimulatorJsonResponse;
439
+ handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
384
440
  /**
385
441
  * Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
386
442
  * Returns the file data along with B2 response headers.
@@ -415,6 +471,18 @@ export declare class B2Simulator {
415
471
  */
416
472
  private finalizeDownload;
417
473
  private handleUploadFile;
474
+ /**
475
+ * Resolve the `X-Bz-Content-Sha1` header into the SHA-1 to store, verifying
476
+ * it against the uploaded bytes where B2 would. Returns the SHA-1 string to
477
+ * persist, or a `400 bad_request` response when a verifiable hash does not
478
+ * match the data received.
479
+ *
480
+ * @param header - The raw `X-Bz-Content-Sha1` header value, if any.
481
+ * @param data - The uploaded bytes.
482
+ *
483
+ * @returns The SHA-1 string to store, or an error response on mismatch.
484
+ */
485
+ private resolveUploadSha1;
418
486
  private handleUploadPart;
419
487
  private downloadById;
420
488
  private downloadByName;
@@ -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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"}
@@ -134,24 +134,34 @@ export interface B2SimulatorOptions {
134
134
  * When `true`, the simulator enforces application-key capability
135
135
  * checks, bucket scoping, prefix scoping, and auth-token expiry on
136
136
  * every request. The default `false` keeps the simulator permissive
137
- * (matching its long-standing behaviour) so the existing test suite
138
- * doesn't have to set up keys with the right capabilities.
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.
140
+ *
141
+ * Upload authorization tokens returned by `b2_get_upload_url` and
142
+ * `b2_get_upload_part_url` are always enforced, regardless of this
143
+ * option. Upload handlers reject missing, unknown, expired, or
144
+ * wrong-URL upload tokens in both permissive and strict modes.
139
145
  *
140
146
  * In strict mode:
141
147
  *
142
148
  * - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
143
149
  * - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
144
150
  * - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
145
- * - Calls outside the key's bucketId / namePrefix scope return HTTP 403 `unauthorized`.
151
+ * - Calls outside the key's bucketIds / namePrefix scope return HTTP 403 `unauthorized`.
146
152
  *
147
153
  * Each test can opt in: `new B2Simulator({ strictAuth: true })`.
148
154
  */
149
155
  strictAuth?: boolean;
150
156
  /**
151
157
  * How long auth tokens issued via `b2_authorize_account` are valid
152
- * for, in milliseconds. Defaults to 24 hours (real B2). Tests that
153
- * want to exercise the 401/reauth retry path can lower this so a
154
- * single call to {@link B2Simulator.advanceTime} expires the token.
158
+ * for, in milliseconds. The simulator also uses this TTL for upload
159
+ * authorization tokens issued via `b2_get_upload_url` and
160
+ * `b2_get_upload_part_url`. Defaults to 24 hours (real B2). Tests
161
+ * that want to exercise the 401/reauth retry path or stale upload
162
+ * URL handling can lower this and use {@link B2Simulator.advanceTime}
163
+ * to move simulator time past account-token expiry. Upload tokens are
164
+ * rejected at the exact expiry boundary.
155
165
  */
156
166
  authTokenTtlMs?: number;
157
167
  }
@@ -193,6 +203,14 @@ export declare class B2Simulator {
193
203
  * mode each request looks up its `Authorization` header here.
194
204
  */
195
205
  private readonly issuedTokens;
206
+ /**
207
+ * Mutable upload-token overrides for tokens minted by `b2_get_upload_url`
208
+ * and `b2_get_upload_part_url`. The token string is self-describing
209
+ * and signed so another simulator instance can validate issued-token
210
+ * state, while this map records local invalidation / forced-expiry
211
+ * state for tests.
212
+ */
213
+ private readonly uploadTokens;
196
214
  /**
197
215
  * Virtual-clock offset applied to `Date.now()` for expiry checks.
198
216
  * Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
@@ -238,12 +256,37 @@ export declare class B2Simulator {
238
256
  * @param ms - Milliseconds to advance. Negative values rewind (rarely useful).
239
257
  */
240
258
  advanceTime(ms: number): void;
259
+ /**
260
+ * Expire an upload authorization token previously returned by
261
+ * `b2_get_upload_url` or `b2_get_upload_part_url`. Tests can use this
262
+ * to simulate a stale upload URL and verify retry paths that fetch a
263
+ * fresh URL/token pair.
264
+ *
265
+ * @param authorizationToken - The upload authorization token to expire.
266
+ *
267
+ * @returns `true` when the token existed and was expired, otherwise `false`.
268
+ */
269
+ expireUploadToken(authorizationToken: string): boolean;
270
+ /**
271
+ * Invalidate an upload authorization token previously returned by
272
+ * `b2_get_upload_url` or `b2_get_upload_part_url`.
273
+ *
274
+ * @param authorizationToken - The upload authorization token to invalidate.
275
+ *
276
+ * @returns `true` when the token existed and was invalidated, otherwise `false`.
277
+ */
278
+ invalidateUploadToken(authorizationToken: string): boolean;
241
279
  /**
242
280
  * Current simulator time. Equal to `Date.now() + clockOffsetMs`.
243
281
  *
244
282
  * @returns Unix milliseconds.
245
283
  */
246
284
  private now;
285
+ private pruneExpiredUploadTokens;
286
+ private uploadTokenState;
287
+ private encodeUploadAuthorizationToken;
288
+ private decodeUploadAuthorizationToken;
289
+ private signUploadTokenPayload;
247
290
  /**
248
291
  * Generate a deterministic-but-realistic-looking B2 identifier of the
249
292
  * shape `<prefix>_<24-hex-counter>`, which approximates the visual
@@ -283,12 +326,24 @@ export declare class B2Simulator {
283
326
  *
284
327
  * @param authToken - The `Authorization` header value from the request.
285
328
  * @param endpoint - B2 endpoint name being invoked.
286
- * @param bucketId - Optional bucket ID the request operates on, for scope check.
287
- * @param fileName - Optional file name the request operates on, for prefix check.
329
+ * @param scope - Optional effective bucket and file-name scope derived from the request.
288
330
  *
289
331
  * @returns `null` when the request is authorized, otherwise a 401/403 response.
290
332
  */
291
333
  private authorizeRequest;
334
+ private requestScope;
335
+ private listBucketsScope;
336
+ private fileVersionScope;
337
+ private copyFileScope;
338
+ private copyPartScope;
339
+ private notificationRulesScope;
340
+ private defaultRequestScope;
341
+ private fileIdScope;
342
+ private largeFileScope;
343
+ private issueUploadAuthorization;
344
+ private validateUploadAuthorization;
345
+ private uploadUrlMatches;
346
+ private allowedBuckets;
292
347
  /**
293
348
  * Look up the application key matching the `Authorization` header on
294
349
  * an `authorize_account` request. The header is in the form
@@ -363,6 +418,7 @@ export declare class B2Simulator {
363
418
  /**
364
419
  * Dispatches a JSON API request to the appropriate handler.
365
420
  * @param _method - The HTTP method (unused).
421
+ * @param origin - The request URL origin used for simulator-issued endpoints.
366
422
  * @param path - The request URL path containing the B2 endpoint name.
367
423
  * @param headers - The HTTP request headers; consulted by the
368
424
  * strict-auth gate to look up the issued auth token.
@@ -370,7 +426,7 @@ export declare class B2Simulator {
370
426
  *
371
427
  * @returns An object with HTTP status and JSON response body.
372
428
  */
373
- handleRequest(_method: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
429
+ handleRequest(_method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
374
430
  /**
375
431
  * Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
376
432
  * Dispatches to the appropriate internal handler based on the URL.
@@ -378,9 +434,9 @@ export declare class B2Simulator {
378
434
  * @param headers - The HTTP headers containing file metadata and authorization.
379
435
  * @param data - The raw file or part content as bytes.
380
436
  *
381
- * @returns An object with HTTP status and JSON response body.
437
+ * @returns A promise resolving to an object with HTTP status and JSON response body.
382
438
  */
383
- handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): SimulatorJsonResponse;
439
+ handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
384
440
  /**
385
441
  * Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
386
442
  * Returns the file data along with B2 response headers.
@@ -415,6 +471,18 @@ export declare class B2Simulator {
415
471
  */
416
472
  private finalizeDownload;
417
473
  private handleUploadFile;
474
+ /**
475
+ * Resolve the `X-Bz-Content-Sha1` header into the SHA-1 to store, verifying
476
+ * it against the uploaded bytes where B2 would. Returns the SHA-1 string to
477
+ * persist, or a `400 bad_request` response when a verifiable hash does not
478
+ * match the data received.
479
+ *
480
+ * @param header - The raw `X-Bz-Content-Sha1` header value, if any.
481
+ * @param data - The uploaded bytes.
482
+ *
483
+ * @returns The SHA-1 string to store, or an error response on mismatch.
484
+ */
485
+ private resolveUploadSha1;
418
486
  private handleUploadPart;
419
487
  private downloadById;
420
488
  private downloadByName;
@@ -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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"}