@backblaze-labs/b2-sdk 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (885) hide show
  1. package/CHANGELOG.md +151 -5
  2. package/README.md +163 -34
  3. package/dist/_virtual/_b2-sdk-version-json.cjs +4 -0
  4. package/dist/_virtual/_b2-sdk-version-json.js +4 -0
  5. package/dist/auth/account-info.d.cts +32 -0
  6. package/dist/auth/account-info.d.cts.map +1 -1
  7. package/dist/auth/account-info.d.ts +32 -0
  8. package/dist/auth/account-info.d.ts.map +1 -1
  9. package/dist/auth/file.cjs +408 -207
  10. package/dist/auth/file.cjs.map +1 -1
  11. package/dist/auth/file.d.cts +77 -3
  12. package/dist/auth/file.d.cts.map +1 -1
  13. package/dist/auth/file.d.ts +77 -3
  14. package/dist/auth/file.d.ts.map +1 -1
  15. package/dist/auth/file.js +407 -207
  16. package/dist/auth/file.js.map +1 -1
  17. package/dist/auth/in-memory.cjs +212 -183
  18. package/dist/auth/in-memory.cjs.map +1 -1
  19. package/dist/auth/in-memory.d.cts +8 -0
  20. package/dist/auth/in-memory.d.cts.map +1 -1
  21. package/dist/auth/in-memory.d.ts +8 -0
  22. package/dist/auth/in-memory.d.ts.map +1 -1
  23. package/dist/auth/in-memory.js +211 -182
  24. package/dist/auth/in-memory.js.map +1 -1
  25. package/dist/auth/index.cjs +7 -9
  26. package/dist/auth/index.d.cts +3 -2
  27. package/dist/auth/index.d.cts.map +1 -1
  28. package/dist/auth/index.d.ts +3 -2
  29. package/dist/auth/index.d.ts.map +1 -1
  30. package/dist/auth/index.js +2 -8
  31. package/dist/auth/realms.cjs +80 -7
  32. package/dist/auth/realms.cjs.map +1 -1
  33. package/dist/auth/realms.d.cts +27 -4
  34. package/dist/auth/realms.d.cts.map +1 -1
  35. package/dist/auth/realms.d.ts +27 -4
  36. package/dist/auth/realms.d.ts.map +1 -1
  37. package/dist/auth/realms.js +80 -9
  38. package/dist/auth/realms.js.map +1 -1
  39. package/dist/auth/upload-url-pool.cjs +55 -51
  40. package/dist/auth/upload-url-pool.cjs.map +1 -1
  41. package/dist/auth/upload-url-pool.js +55 -51
  42. package/dist/auth/upload-url-pool.js.map +1 -1
  43. package/dist/backup/client.cjs +206 -0
  44. package/dist/backup/client.cjs.map +1 -0
  45. package/dist/backup/client.d.cts +238 -0
  46. package/dist/backup/client.d.cts.map +1 -0
  47. package/dist/backup/client.d.ts +238 -0
  48. package/dist/backup/client.d.ts.map +1 -0
  49. package/dist/backup/client.js +206 -0
  50. package/dist/backup/client.js.map +1 -0
  51. package/dist/backup/index.cjs +15 -0
  52. package/dist/backup/index.d.cts +22 -0
  53. package/dist/backup/index.d.cts.map +1 -0
  54. package/dist/backup/index.d.ts +22 -0
  55. package/dist/backup/index.d.ts.map +1 -0
  56. package/dist/backup/index.js +7 -0
  57. package/dist/backup/raw.cjs +146 -0
  58. package/dist/backup/raw.cjs.map +1 -0
  59. package/dist/backup/raw.d.cts +122 -0
  60. package/dist/backup/raw.d.cts.map +1 -0
  61. package/dist/backup/raw.d.ts +122 -0
  62. package/dist/backup/raw.d.ts.map +1 -0
  63. package/dist/backup/raw.js +146 -0
  64. package/dist/backup/raw.js.map +1 -0
  65. package/dist/bucket.cjs +786 -787
  66. package/dist/bucket.cjs.map +1 -1
  67. package/dist/bucket.d.cts +35 -47
  68. package/dist/bucket.d.cts.map +1 -1
  69. package/dist/bucket.d.ts +35 -47
  70. package/dist/bucket.d.ts.map +1 -1
  71. package/dist/bucket.js +781 -782
  72. package/dist/bucket.js.map +1 -1
  73. package/dist/client.cjs +246 -228
  74. package/dist/client.cjs.map +1 -1
  75. package/dist/client.d.cts +25 -17
  76. package/dist/client.d.cts.map +1 -1
  77. package/dist/client.d.ts +25 -17
  78. package/dist/client.d.ts.map +1 -1
  79. package/dist/client.js +243 -225
  80. package/dist/client.js.map +1 -1
  81. package/dist/copy/large.cjs +116 -71
  82. package/dist/copy/large.cjs.map +1 -1
  83. package/dist/copy/large.d.cts +6 -0
  84. package/dist/copy/large.d.cts.map +1 -1
  85. package/dist/copy/large.d.ts +6 -0
  86. package/dist/copy/large.d.ts.map +1 -1
  87. package/dist/copy/large.js +114 -69
  88. package/dist/copy/large.js.map +1 -1
  89. package/dist/download/checksum.cjs +93 -0
  90. package/dist/download/checksum.cjs.map +1 -0
  91. package/dist/download/checksum.d.cts +40 -0
  92. package/dist/download/checksum.d.cts.map +1 -0
  93. package/dist/download/checksum.d.ts +40 -0
  94. package/dist/download/checksum.d.ts.map +1 -0
  95. package/dist/download/checksum.js +91 -0
  96. package/dist/download/checksum.js.map +1 -0
  97. package/dist/download/parallel.cjs +251 -118
  98. package/dist/download/parallel.cjs.map +1 -1
  99. package/dist/download/parallel.d.cts +13 -2
  100. package/dist/download/parallel.d.cts.map +1 -1
  101. package/dist/download/parallel.d.ts +13 -2
  102. package/dist/download/parallel.d.ts.map +1 -1
  103. package/dist/download/parallel.js +249 -116
  104. package/dist/download/parallel.js.map +1 -1
  105. package/dist/download/single.cjs +323 -97
  106. package/dist/download/single.cjs.map +1 -1
  107. package/dist/download/single.d.cts +6 -1
  108. package/dist/download/single.d.cts.map +1 -1
  109. package/dist/download/single.d.ts +6 -1
  110. package/dist/download/single.d.ts.map +1 -1
  111. package/dist/download/single.js +322 -99
  112. package/dist/download/single.js.map +1 -1
  113. package/dist/errors/index.cjs +869 -243
  114. package/dist/errors/index.cjs.map +1 -1
  115. package/dist/errors/index.d.cts +404 -82
  116. package/dist/errors/index.d.cts.map +1 -1
  117. package/dist/errors/index.d.ts +404 -82
  118. package/dist/errors/index.d.ts.map +1 -1
  119. package/dist/errors/index.js +835 -261
  120. package/dist/errors/index.js.map +1 -1
  121. package/dist/http/retry.cjs +45 -28
  122. package/dist/http/retry.cjs.map +1 -1
  123. package/dist/http/retry.d.cts +15 -2
  124. package/dist/http/retry.d.cts.map +1 -1
  125. package/dist/http/retry.d.ts +15 -2
  126. package/dist/http/retry.d.ts.map +1 -1
  127. package/dist/http/retry.js +46 -31
  128. package/dist/http/retry.js.map +1 -1
  129. package/dist/http/transport.cjs +476 -140
  130. package/dist/http/transport.cjs.map +1 -1
  131. package/dist/http/transport.d.cts +46 -5
  132. package/dist/http/transport.d.cts.map +1 -1
  133. package/dist/http/transport.d.ts +46 -5
  134. package/dist/http/transport.d.ts.map +1 -1
  135. package/dist/http/transport.js +474 -140
  136. package/dist/http/transport.js.map +1 -1
  137. package/dist/http/url-guard.cjs +154 -89
  138. package/dist/http/url-guard.cjs.map +1 -1
  139. package/dist/http/url-guard.d.cts +25 -3
  140. package/dist/http/url-guard.d.cts.map +1 -1
  141. package/dist/http/url-guard.d.ts +25 -3
  142. package/dist/http/url-guard.d.ts.map +1 -1
  143. package/dist/http/url-guard.js +152 -90
  144. package/dist/http/url-guard.js.map +1 -1
  145. package/dist/http/user-agent.cjs +84 -44
  146. package/dist/http/user-agent.cjs.map +1 -1
  147. package/dist/http/user-agent.js +84 -46
  148. package/dist/http/user-agent.js.map +1 -1
  149. package/dist/index.cjs +124 -77
  150. package/dist/index.d.cts +29 -21
  151. package/dist/index.d.cts.map +1 -1
  152. package/dist/index.d.ts +29 -21
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +18 -72
  155. package/dist/internal/b2-naming.cjs +66 -0
  156. package/dist/internal/b2-naming.cjs.map +1 -0
  157. package/dist/internal/b2-naming.d.cts +43 -0
  158. package/dist/internal/b2-naming.d.cts.map +1 -0
  159. package/dist/internal/b2-naming.d.ts +43 -0
  160. package/dist/internal/b2-naming.d.ts.map +1 -0
  161. package/dist/internal/b2-naming.js +60 -0
  162. package/dist/internal/b2-naming.js.map +1 -0
  163. package/dist/internal/upload-retry-options.cjs +21 -0
  164. package/dist/internal/upload-retry-options.cjs.map +1 -0
  165. package/dist/internal/upload-retry-options.d.cts +12 -0
  166. package/dist/internal/upload-retry-options.d.cts.map +1 -0
  167. package/dist/internal/upload-retry-options.d.ts +12 -0
  168. package/dist/internal/upload-retry-options.d.ts.map +1 -0
  169. package/dist/internal/upload-retry-options.js +21 -0
  170. package/dist/internal/upload-retry-options.js.map +1 -0
  171. package/dist/internal/url-redaction.cjs +31 -0
  172. package/dist/internal/url-redaction.cjs.map +1 -0
  173. package/dist/internal/url-redaction.d.cts +17 -0
  174. package/dist/internal/url-redaction.d.cts.map +1 -0
  175. package/dist/internal/url-redaction.d.ts +17 -0
  176. package/dist/internal/url-redaction.d.ts.map +1 -0
  177. package/dist/internal/url-redaction.js +31 -0
  178. package/dist/internal/url-redaction.js.map +1 -0
  179. package/dist/notifications/index.cjs +4 -6
  180. package/dist/notifications/index.d.cts +1 -1
  181. package/dist/notifications/index.d.cts.map +1 -1
  182. package/dist/notifications/index.d.ts +1 -1
  183. package/dist/notifications/index.d.ts.map +1 -1
  184. package/dist/notifications/index.js +1 -6
  185. package/dist/notifications/webhook.cjs +195 -85
  186. package/dist/notifications/webhook.cjs.map +1 -1
  187. package/dist/notifications/webhook.d.cts.map +1 -1
  188. package/dist/notifications/webhook.d.ts.map +1 -1
  189. package/dist/notifications/webhook.js +195 -87
  190. package/dist/notifications/webhook.js.map +1 -1
  191. package/dist/object.cjs +253 -210
  192. package/dist/object.cjs.map +1 -1
  193. package/dist/object.d.cts +13 -57
  194. package/dist/object.d.cts.map +1 -1
  195. package/dist/object.d.ts +13 -57
  196. package/dist/object.d.ts.map +1 -1
  197. package/dist/object.js +249 -206
  198. package/dist/object.js.map +1 -1
  199. package/dist/partner/account-info.d.cts +43 -0
  200. package/dist/partner/account-info.d.cts.map +1 -0
  201. package/dist/partner/account-info.d.ts +43 -0
  202. package/dist/partner/account-info.d.ts.map +1 -0
  203. package/dist/partner/auth-clone.cjs +64 -0
  204. package/dist/partner/auth-clone.cjs.map +1 -0
  205. package/dist/partner/auth-clone.d.cts +27 -0
  206. package/dist/partner/auth-clone.d.cts.map +1 -0
  207. package/dist/partner/auth-clone.d.ts +27 -0
  208. package/dist/partner/auth-clone.d.ts.map +1 -0
  209. package/dist/partner/auth-clone.js +63 -0
  210. package/dist/partner/auth-clone.js.map +1 -0
  211. package/dist/partner/auth-core.cjs +175 -0
  212. package/dist/partner/auth-core.cjs.map +1 -0
  213. package/dist/partner/auth-core.d.cts +111 -0
  214. package/dist/partner/auth-core.d.cts.map +1 -0
  215. package/dist/partner/auth-core.d.ts +111 -0
  216. package/dist/partner/auth-core.d.ts.map +1 -0
  217. package/dist/partner/auth-core.js +175 -0
  218. package/dist/partner/auth-core.js.map +1 -0
  219. package/dist/partner/auth-shape.cjs +36 -0
  220. package/dist/partner/auth-shape.cjs.map +1 -0
  221. package/dist/partner/auth-shape.d.cts +12 -0
  222. package/dist/partner/auth-shape.d.cts.map +1 -0
  223. package/dist/partner/auth-shape.d.ts +12 -0
  224. package/dist/partner/auth-shape.d.ts.map +1 -0
  225. package/dist/partner/auth-shape.js +36 -0
  226. package/dist/partner/auth-shape.js.map +1 -0
  227. package/dist/partner/client.cjs +255 -0
  228. package/dist/partner/client.cjs.map +1 -0
  229. package/dist/partner/client.d.cts +335 -0
  230. package/dist/partner/client.d.cts.map +1 -0
  231. package/dist/partner/client.d.ts +335 -0
  232. package/dist/partner/client.d.ts.map +1 -0
  233. package/dist/partner/client.js +255 -0
  234. package/dist/partner/client.js.map +1 -0
  235. package/dist/partner/endpoint-url.cjs +108 -0
  236. package/dist/partner/endpoint-url.cjs.map +1 -0
  237. package/dist/partner/endpoint-url.d.cts +72 -0
  238. package/dist/partner/endpoint-url.d.cts.map +1 -0
  239. package/dist/partner/endpoint-url.d.ts +72 -0
  240. package/dist/partner/endpoint-url.d.ts.map +1 -0
  241. package/dist/partner/endpoint-url.js +105 -0
  242. package/dist/partner/endpoint-url.js.map +1 -0
  243. package/dist/partner/in-memory.cjs +135 -0
  244. package/dist/partner/in-memory.cjs.map +1 -0
  245. package/dist/partner/in-memory.d.cts +99 -0
  246. package/dist/partner/in-memory.d.cts.map +1 -0
  247. package/dist/partner/in-memory.d.ts +99 -0
  248. package/dist/partner/in-memory.d.ts.map +1 -0
  249. package/dist/partner/in-memory.js +135 -0
  250. package/dist/partner/in-memory.js.map +1 -0
  251. package/dist/partner/index.cjs +18 -0
  252. package/dist/partner/index.d.cts +23 -0
  253. package/dist/partner/index.d.cts.map +1 -0
  254. package/dist/partner/index.d.ts +23 -0
  255. package/dist/partner/index.d.ts.map +1 -0
  256. package/dist/partner/index.js +7 -0
  257. package/dist/partner/raw.cjs +392 -0
  258. package/dist/partner/raw.cjs.map +1 -0
  259. package/dist/partner/raw.d.cts +223 -0
  260. package/dist/partner/raw.d.cts.map +1 -0
  261. package/dist/partner/raw.d.ts +223 -0
  262. package/dist/partner/raw.d.ts.map +1 -0
  263. package/dist/partner/raw.js +390 -0
  264. package/dist/partner/raw.js.map +1 -0
  265. package/dist/partner/redaction-placeholders.cjs +10 -0
  266. package/dist/partner/redaction-placeholders.cjs.map +1 -0
  267. package/dist/partner/redaction-placeholders.d.cts +5 -0
  268. package/dist/partner/redaction-placeholders.d.cts.map +1 -0
  269. package/dist/partner/redaction-placeholders.d.ts +5 -0
  270. package/dist/partner/redaction-placeholders.d.ts.map +1 -0
  271. package/dist/partner/redaction-placeholders.js +9 -0
  272. package/dist/partner/redaction-placeholders.js.map +1 -0
  273. package/dist/partner/redaction.cjs +267 -0
  274. package/dist/partner/redaction.cjs.map +1 -0
  275. package/dist/partner/redaction.d.cts +124 -0
  276. package/dist/partner/redaction.d.cts.map +1 -0
  277. package/dist/partner/redaction.d.ts +124 -0
  278. package/dist/partner/redaction.d.ts.map +1 -0
  279. package/dist/partner/redaction.js +257 -0
  280. package/dist/partner/redaction.js.map +1 -0
  281. package/dist/raw/encoding.cjs +74 -35
  282. package/dist/raw/encoding.cjs.map +1 -1
  283. package/dist/raw/encoding.js +74 -38
  284. package/dist/raw/encoding.js.map +1 -1
  285. package/dist/raw/index.cjs +740 -587
  286. package/dist/raw/index.cjs.map +1 -1
  287. package/dist/raw/index.d.cts +126 -19
  288. package/dist/raw/index.d.cts.map +1 -1
  289. package/dist/raw/index.d.ts +126 -19
  290. package/dist/raw/index.d.ts.map +1 -1
  291. package/dist/raw/index.js +736 -589
  292. package/dist/raw/index.js.map +1 -1
  293. package/dist/raw/url.cjs +111 -0
  294. package/dist/raw/url.cjs.map +1 -0
  295. package/dist/raw/url.d.cts +41 -0
  296. package/dist/raw/url.d.cts.map +1 -0
  297. package/dist/raw/url.d.ts +41 -0
  298. package/dist/raw/url.d.ts.map +1 -0
  299. package/dist/raw/url.js +110 -0
  300. package/dist/raw/url.js.map +1 -0
  301. package/dist/s3/index.cjs +355 -18
  302. package/dist/s3/index.cjs.map +1 -1
  303. package/dist/s3/index.d.cts +233 -5
  304. package/dist/s3/index.d.cts.map +1 -1
  305. package/dist/s3/index.d.ts +233 -5
  306. package/dist/s3/index.d.ts.map +1 -1
  307. package/dist/s3/index.js +351 -22
  308. package/dist/s3/index.js.map +1 -1
  309. package/dist/s3/sigv4.cjs +154 -0
  310. package/dist/s3/sigv4.cjs.map +1 -0
  311. package/dist/s3/sigv4.d.cts +43 -0
  312. package/dist/s3/sigv4.d.cts.map +1 -0
  313. package/dist/s3/sigv4.d.ts +43 -0
  314. package/dist/s3/sigv4.d.ts.map +1 -0
  315. package/dist/s3/sigv4.js +153 -0
  316. package/dist/s3/sigv4.js.map +1 -0
  317. package/dist/s3/validation.cjs +69 -0
  318. package/dist/s3/validation.cjs.map +1 -0
  319. package/dist/s3/validation.d.cts +43 -0
  320. package/dist/s3/validation.d.cts.map +1 -0
  321. package/dist/s3/validation.d.ts +43 -0
  322. package/dist/s3/validation.d.ts.map +1 -0
  323. package/dist/s3/validation.js +66 -0
  324. package/dist/s3/validation.js.map +1 -0
  325. package/dist/simulator/capabilities.cjs +63 -48
  326. package/dist/simulator/capabilities.cjs.map +1 -1
  327. package/dist/simulator/capabilities.js +63 -49
  328. package/dist/simulator/capabilities.js.map +1 -1
  329. package/dist/simulator/index.cjs +3114 -1547
  330. package/dist/simulator/index.cjs.map +1 -1
  331. package/dist/simulator/index.d.cts +186 -20
  332. package/dist/simulator/index.d.cts.map +1 -1
  333. package/dist/simulator/index.d.ts +186 -20
  334. package/dist/simulator/index.d.ts.map +1 -1
  335. package/dist/simulator/index.js +3098 -1545
  336. package/dist/simulator/index.js.map +1 -1
  337. package/dist/simulator/partner.cjs +719 -0
  338. package/dist/simulator/partner.cjs.map +1 -0
  339. package/dist/simulator/partner.d.cts +183 -0
  340. package/dist/simulator/partner.d.cts.map +1 -0
  341. package/dist/simulator/partner.d.ts +183 -0
  342. package/dist/simulator/partner.d.ts.map +1 -0
  343. package/dist/simulator/partner.js +718 -0
  344. package/dist/simulator/partner.js.map +1 -0
  345. package/dist/simulator/validation.cjs +772 -157
  346. package/dist/simulator/validation.cjs.map +1 -1
  347. package/dist/simulator/validation.d.cts +120 -21
  348. package/dist/simulator/validation.d.cts.map +1 -1
  349. package/dist/simulator/validation.d.ts +120 -21
  350. package/dist/simulator/validation.d.ts.map +1 -1
  351. package/dist/simulator/validation.js +755 -167
  352. package/dist/simulator/validation.js.map +1 -1
  353. package/dist/streams/collect.cjs +74 -24
  354. package/dist/streams/collect.cjs.map +1 -1
  355. package/dist/streams/collect.d.cts +14 -1
  356. package/dist/streams/collect.d.cts.map +1 -1
  357. package/dist/streams/collect.d.ts +14 -1
  358. package/dist/streams/collect.d.ts.map +1 -1
  359. package/dist/streams/collect.js +74 -25
  360. package/dist/streams/collect.js.map +1 -1
  361. package/dist/streams/file-source.cjs +287 -0
  362. package/dist/streams/file-source.cjs.map +1 -0
  363. package/dist/streams/file-source.d.cts +96 -0
  364. package/dist/streams/file-source.d.cts.map +1 -0
  365. package/dist/streams/file-source.d.ts +96 -0
  366. package/dist/streams/file-source.d.ts.map +1 -0
  367. package/dist/streams/file-source.js +286 -0
  368. package/dist/streams/file-source.js.map +1 -0
  369. package/dist/streams/hash.cjs +207 -115
  370. package/dist/streams/hash.cjs.map +1 -1
  371. package/dist/streams/hash.d.cts +5 -4
  372. package/dist/streams/hash.d.cts.map +1 -1
  373. package/dist/streams/hash.d.ts +5 -4
  374. package/dist/streams/hash.d.ts.map +1 -1
  375. package/dist/streams/hash.js +208 -95
  376. package/dist/streams/hash.js.map +1 -1
  377. package/dist/streams/index.cjs +12 -12
  378. package/dist/streams/index.d.cts +3 -3
  379. package/dist/streams/index.d.cts.map +1 -1
  380. package/dist/streams/index.d.ts +3 -3
  381. package/dist/streams/index.d.ts.map +1 -1
  382. package/dist/streams/index.js +3 -11
  383. package/dist/streams/progress.cjs +60 -46
  384. package/dist/streams/progress.cjs.map +1 -1
  385. package/dist/streams/progress.js +60 -46
  386. package/dist/streams/progress.js.map +1 -1
  387. package/dist/streams/source.cjs +317 -146
  388. package/dist/streams/source.cjs.map +1 -1
  389. package/dist/streams/source.d.cts +56 -18
  390. package/dist/streams/source.d.cts.map +1 -1
  391. package/dist/streams/source.d.ts +56 -18
  392. package/dist/streams/source.d.ts.map +1 -1
  393. package/dist/streams/source.js +313 -149
  394. package/dist/streams/source.js.map +1 -1
  395. package/dist/sync/actions/index.cjs +236 -184
  396. package/dist/sync/actions/index.cjs.map +1 -1
  397. package/dist/sync/actions/index.d.cts +29 -21
  398. package/dist/sync/actions/index.d.cts.map +1 -1
  399. package/dist/sync/actions/index.d.ts +29 -21
  400. package/dist/sync/actions/index.d.ts.map +1 -1
  401. package/dist/sync/actions/index.js +236 -190
  402. package/dist/sync/actions/index.js.map +1 -1
  403. package/dist/sync/b2-sha1-reader.cjs +152 -0
  404. package/dist/sync/b2-sha1-reader.cjs.map +1 -0
  405. package/dist/sync/b2-sha1-reader.d.cts +58 -0
  406. package/dist/sync/b2-sha1-reader.d.cts.map +1 -0
  407. package/dist/sync/b2-sha1-reader.d.ts +58 -0
  408. package/dist/sync/b2-sha1-reader.d.ts.map +1 -0
  409. package/dist/sync/b2-sha1-reader.js +149 -0
  410. package/dist/sync/b2-sha1-reader.js.map +1 -0
  411. package/dist/sync/download-staging.cjs +266 -0
  412. package/dist/sync/download-staging.cjs.map +1 -0
  413. package/dist/sync/download-staging.d.cts +55 -0
  414. package/dist/sync/download-staging.d.cts.map +1 -0
  415. package/dist/sync/download-staging.d.ts +55 -0
  416. package/dist/sync/download-staging.d.ts.map +1 -0
  417. package/dist/sync/download-staging.js +260 -0
  418. package/dist/sync/download-staging.js.map +1 -0
  419. package/dist/sync/filesystem-errors.cjs +32 -0
  420. package/dist/sync/filesystem-errors.cjs.map +1 -0
  421. package/dist/sync/filesystem-errors.d.cts +8 -0
  422. package/dist/sync/filesystem-errors.d.cts.map +1 -0
  423. package/dist/sync/filesystem-errors.d.ts +8 -0
  424. package/dist/sync/filesystem-errors.d.ts.map +1 -0
  425. package/dist/sync/filesystem-errors.js +32 -0
  426. package/dist/sync/filesystem-errors.js.map +1 -0
  427. package/dist/sync/filters.cjs +217 -0
  428. package/dist/sync/filters.cjs.map +1 -0
  429. package/dist/sync/filters.d.cts +51 -0
  430. package/dist/sync/filters.d.cts.map +1 -0
  431. package/dist/sync/filters.d.ts +51 -0
  432. package/dist/sync/filters.d.ts.map +1 -0
  433. package/dist/sync/filters.js +213 -0
  434. package/dist/sync/filters.js.map +1 -0
  435. package/dist/sync/index.cjs +39 -22
  436. package/dist/sync/index.d.cts +14 -9
  437. package/dist/sync/index.d.cts.map +1 -1
  438. package/dist/sync/index.d.ts +14 -9
  439. package/dist/sync/index.d.ts.map +1 -1
  440. package/dist/sync/index.js +9 -20
  441. package/dist/sync/local-file-identity.cjs +61 -0
  442. package/dist/sync/local-file-identity.cjs.map +1 -0
  443. package/dist/sync/local-file-identity.d.cts +37 -0
  444. package/dist/sync/local-file-identity.d.cts.map +1 -0
  445. package/dist/sync/local-file-identity.d.ts +37 -0
  446. package/dist/sync/local-file-identity.d.ts.map +1 -0
  447. package/dist/sync/local-file-identity.js +60 -0
  448. package/dist/sync/local-file-identity.js.map +1 -0
  449. package/dist/sync/local-file-io.cjs +369 -0
  450. package/dist/sync/local-file-io.cjs.map +1 -0
  451. package/dist/sync/local-file-io.d.cts +76 -0
  452. package/dist/sync/local-file-io.d.cts.map +1 -0
  453. package/dist/sync/local-file-io.d.ts +76 -0
  454. package/dist/sync/local-file-io.d.ts.map +1 -0
  455. package/dist/sync/local-file-io.js +365 -0
  456. package/dist/sync/local-file-io.js.map +1 -0
  457. package/dist/sync/local-filesystem-root.cjs +27 -0
  458. package/dist/sync/local-filesystem-root.cjs.map +1 -0
  459. package/dist/sync/local-filesystem-root.d.cts +18 -0
  460. package/dist/sync/local-filesystem-root.d.cts.map +1 -0
  461. package/dist/sync/local-filesystem-root.d.ts +18 -0
  462. package/dist/sync/local-filesystem-root.d.ts.map +1 -0
  463. package/dist/sync/local-filesystem-root.js +26 -0
  464. package/dist/sync/local-filesystem-root.js.map +1 -0
  465. package/dist/sync/local-sha1.cjs +110 -0
  466. package/dist/sync/local-sha1.cjs.map +1 -0
  467. package/dist/sync/local-sha1.d.cts +31 -0
  468. package/dist/sync/local-sha1.d.cts.map +1 -0
  469. package/dist/sync/local-sha1.d.ts +31 -0
  470. package/dist/sync/local-sha1.d.ts.map +1 -0
  471. package/dist/sync/local-sha1.js +109 -0
  472. package/dist/sync/local-sha1.js.map +1 -0
  473. package/dist/sync/pairing.cjs +118 -29
  474. package/dist/sync/pairing.cjs.map +1 -1
  475. package/dist/sync/pairing.d.cts +7 -2
  476. package/dist/sync/pairing.d.cts.map +1 -1
  477. package/dist/sync/pairing.d.ts +7 -2
  478. package/dist/sync/pairing.d.ts.map +1 -1
  479. package/dist/sync/pairing.js +120 -31
  480. package/dist/sync/pairing.js.map +1 -1
  481. package/dist/sync/path-order.cjs +30 -0
  482. package/dist/sync/path-order.cjs.map +1 -0
  483. package/dist/sync/path-order.d.cts +28 -0
  484. package/dist/sync/path-order.d.cts.map +1 -0
  485. package/dist/sync/path-order.d.ts +28 -0
  486. package/dist/sync/path-order.d.ts.map +1 -0
  487. package/dist/sync/path-order.js +29 -0
  488. package/dist/sync/path-order.js.map +1 -0
  489. package/dist/sync/path-safety.cjs +111 -0
  490. package/dist/sync/path-safety.cjs.map +1 -0
  491. package/dist/sync/path-safety.d.cts +78 -0
  492. package/dist/sync/path-safety.d.cts.map +1 -0
  493. package/dist/sync/path-safety.d.ts +78 -0
  494. package/dist/sync/path-safety.d.ts.map +1 -0
  495. package/dist/sync/path-safety.js +105 -0
  496. package/dist/sync/path-safety.js.map +1 -0
  497. package/dist/sync/paths.d.cts +19 -0
  498. package/dist/sync/paths.d.cts.map +1 -0
  499. package/dist/sync/paths.d.ts +19 -0
  500. package/dist/sync/paths.d.ts.map +1 -0
  501. package/dist/sync/policies/compare.cjs +391 -11
  502. package/dist/sync/policies/compare.cjs.map +1 -1
  503. package/dist/sync/policies/compare.d.cts +100 -2
  504. package/dist/sync/policies/compare.d.cts.map +1 -1
  505. package/dist/sync/policies/compare.d.ts +100 -2
  506. package/dist/sync/policies/compare.d.ts.map +1 -1
  507. package/dist/sync/policies/compare.js +389 -13
  508. package/dist/sync/policies/compare.js.map +1 -1
  509. package/dist/sync/policies/index.cjs +70 -65
  510. package/dist/sync/policies/index.cjs.map +1 -1
  511. package/dist/sync/policies/index.d.cts +35 -6
  512. package/dist/sync/policies/index.d.cts.map +1 -1
  513. package/dist/sync/policies/index.d.ts +35 -6
  514. package/dist/sync/policies/index.d.ts.map +1 -1
  515. package/dist/sync/policies/index.js +70 -65
  516. package/dist/sync/policies/index.js.map +1 -1
  517. package/dist/sync/prefix.cjs +96 -0
  518. package/dist/sync/prefix.cjs.map +1 -0
  519. package/dist/sync/prefix.d.cts +55 -0
  520. package/dist/sync/prefix.d.cts.map +1 -0
  521. package/dist/sync/prefix.d.ts +55 -0
  522. package/dist/sync/prefix.d.ts.map +1 -0
  523. package/dist/sync/prefix.js +92 -0
  524. package/dist/sync/prefix.js.map +1 -0
  525. package/dist/sync/regexp-safety.cjs +192 -0
  526. package/dist/sync/regexp-safety.cjs.map +1 -0
  527. package/dist/sync/regexp-safety.d.cts +29 -0
  528. package/dist/sync/regexp-safety.d.cts.map +1 -0
  529. package/dist/sync/regexp-safety.d.ts +29 -0
  530. package/dist/sync/regexp-safety.d.ts.map +1 -0
  531. package/dist/sync/regexp-safety.js +190 -0
  532. package/dist/sync/regexp-safety.js.map +1 -0
  533. package/dist/sync/scan-events.cjs +33 -0
  534. package/dist/sync/scan-events.cjs.map +1 -0
  535. package/dist/sync/scan-events.d.cts +17 -0
  536. package/dist/sync/scan-events.d.cts.map +1 -0
  537. package/dist/sync/scan-events.d.ts +17 -0
  538. package/dist/sync/scan-events.d.ts.map +1 -0
  539. package/dist/sync/scan-events.js +32 -0
  540. package/dist/sync/scan-events.js.map +1 -0
  541. package/dist/sync/scan-limit.cjs +33 -0
  542. package/dist/sync/scan-limit.cjs.map +1 -0
  543. package/dist/sync/scan-limit.d.cts +21 -0
  544. package/dist/sync/scan-limit.d.cts.map +1 -0
  545. package/dist/sync/scan-limit.d.ts +21 -0
  546. package/dist/sync/scan-limit.d.ts.map +1 -0
  547. package/dist/sync/scan-limit.js +31 -0
  548. package/dist/sync/scan-limit.js.map +1 -0
  549. package/dist/sync/scanners/b2.cjs +239 -55
  550. package/dist/sync/scanners/b2.cjs.map +1 -1
  551. package/dist/sync/scanners/b2.d.cts +26 -7
  552. package/dist/sync/scanners/b2.d.cts.map +1 -1
  553. package/dist/sync/scanners/b2.d.ts +26 -7
  554. package/dist/sync/scanners/b2.d.ts.map +1 -1
  555. package/dist/sync/scanners/b2.js +239 -55
  556. package/dist/sync/scanners/b2.js.map +1 -1
  557. package/dist/sync/scanners/local.cjs +215 -56
  558. package/dist/sync/scanners/local.cjs.map +1 -1
  559. package/dist/sync/scanners/local.d.cts +22 -7
  560. package/dist/sync/scanners/local.d.cts.map +1 -1
  561. package/dist/sync/scanners/local.d.ts +22 -7
  562. package/dist/sync/scanners/local.d.ts.map +1 -1
  563. package/dist/sync/scanners/local.js +216 -57
  564. package/dist/sync/scanners/local.js.map +1 -1
  565. package/dist/sync/sha1-metadata.cjs +94 -0
  566. package/dist/sync/sha1-metadata.cjs.map +1 -0
  567. package/dist/sync/sha1-metadata.d.cts +82 -0
  568. package/dist/sync/sha1-metadata.d.cts.map +1 -0
  569. package/dist/sync/sha1-metadata.d.ts +82 -0
  570. package/dist/sync/sha1-metadata.d.ts.map +1 -0
  571. package/dist/sync/sha1-metadata.js +89 -0
  572. package/dist/sync/sha1-metadata.js.map +1 -0
  573. package/dist/sync/sha1-options.cjs +23 -0
  574. package/dist/sync/sha1-options.cjs.map +1 -0
  575. package/dist/sync/sha1-options.d.cts +14 -0
  576. package/dist/sync/sha1-options.d.cts.map +1 -0
  577. package/dist/sync/sha1-options.d.ts +14 -0
  578. package/dist/sync/sha1-options.d.ts.map +1 -0
  579. package/dist/sync/sha1-options.js +21 -0
  580. package/dist/sync/sha1-options.js.map +1 -0
  581. package/dist/sync/synchronizer.cjs +783 -197
  582. package/dist/sync/synchronizer.cjs.map +1 -1
  583. package/dist/sync/synchronizer.d.cts +47 -1
  584. package/dist/sync/synchronizer.d.cts.map +1 -1
  585. package/dist/sync/synchronizer.d.ts +47 -1
  586. package/dist/sync/synchronizer.d.ts.map +1 -1
  587. package/dist/sync/synchronizer.js +780 -173
  588. package/dist/sync/synchronizer.js.map +1 -1
  589. package/dist/sync/types.d.cts +208 -16
  590. package/dist/sync/types.d.cts.map +1 -1
  591. package/dist/sync/types.d.ts +208 -16
  592. package/dist/sync/types.d.ts.map +1 -1
  593. package/dist/types/auth.cjs +80 -56
  594. package/dist/types/auth.cjs.map +1 -1
  595. package/dist/types/auth.d.cts +71 -9
  596. package/dist/types/auth.d.cts.map +1 -1
  597. package/dist/types/auth.d.ts +71 -9
  598. package/dist/types/auth.d.ts.map +1 -1
  599. package/dist/types/auth.js +81 -57
  600. package/dist/types/auth.js.map +1 -1
  601. package/dist/types/backup.d.cts +80 -0
  602. package/dist/types/backup.d.cts.map +1 -0
  603. package/dist/types/backup.d.ts +80 -0
  604. package/dist/types/backup.d.ts.map +1 -0
  605. package/dist/types/bucket.cjs +74 -38
  606. package/dist/types/bucket.cjs.map +1 -1
  607. package/dist/types/bucket.d.cts +4 -2
  608. package/dist/types/bucket.d.cts.map +1 -1
  609. package/dist/types/bucket.d.ts +4 -2
  610. package/dist/types/bucket.d.ts.map +1 -1
  611. package/dist/types/bucket.js +75 -41
  612. package/dist/types/bucket.js.map +1 -1
  613. package/dist/types/download.cjs +62 -0
  614. package/dist/types/download.cjs.map +1 -0
  615. package/dist/types/download.d.cts +98 -0
  616. package/dist/types/download.d.cts.map +1 -1
  617. package/dist/types/download.d.ts +98 -0
  618. package/dist/types/download.d.ts.map +1 -1
  619. package/dist/types/download.js +61 -0
  620. package/dist/types/download.js.map +1 -0
  621. package/dist/types/encryption.cjs +194 -328
  622. package/dist/types/encryption.cjs.map +1 -1
  623. package/dist/types/encryption.d.cts +48 -0
  624. package/dist/types/encryption.d.cts.map +1 -1
  625. package/dist/types/encryption.d.ts +48 -0
  626. package/dist/types/encryption.d.ts.map +1 -1
  627. package/dist/types/encryption.js +192 -311
  628. package/dist/types/encryption.js.map +1 -1
  629. package/dist/types/errors.cjs +56 -0
  630. package/dist/types/errors.cjs.map +1 -0
  631. package/dist/types/errors.d.cts +13 -4
  632. package/dist/types/errors.d.cts.map +1 -1
  633. package/dist/types/errors.d.ts +13 -4
  634. package/dist/types/errors.d.ts.map +1 -1
  635. package/dist/types/errors.js +56 -0
  636. package/dist/types/errors.js.map +1 -0
  637. package/dist/types/file.cjs +36 -19
  638. package/dist/types/file.cjs.map +1 -1
  639. package/dist/types/file.d.cts +17 -4
  640. package/dist/types/file.d.cts.map +1 -1
  641. package/dist/types/file.d.ts +17 -4
  642. package/dist/types/file.d.ts.map +1 -1
  643. package/dist/types/file.js +37 -21
  644. package/dist/types/file.js.map +1 -1
  645. package/dist/types/ids.cjs +83 -9
  646. package/dist/types/ids.cjs.map +1 -1
  647. package/dist/types/ids.d.cts +32 -0
  648. package/dist/types/ids.d.cts.map +1 -1
  649. package/dist/types/ids.d.ts +32 -0
  650. package/dist/types/ids.d.ts.map +1 -1
  651. package/dist/types/ids.js +82 -16
  652. package/dist/types/ids.js.map +1 -1
  653. package/dist/types/index.d.cts +18 -13
  654. package/dist/types/index.d.cts.map +1 -1
  655. package/dist/types/index.d.ts +18 -13
  656. package/dist/types/index.d.ts.map +1 -1
  657. package/dist/types/key.d.cts +44 -8
  658. package/dist/types/key.d.cts.map +1 -1
  659. package/dist/types/key.d.ts +44 -8
  660. package/dist/types/key.d.ts.map +1 -1
  661. package/dist/types/lock.cjs +33 -13
  662. package/dist/types/lock.cjs.map +1 -1
  663. package/dist/types/lock.d.cts +14 -0
  664. package/dist/types/lock.d.cts.map +1 -1
  665. package/dist/types/lock.d.ts +14 -0
  666. package/dist/types/lock.d.ts.map +1 -1
  667. package/dist/types/lock.js +34 -15
  668. package/dist/types/lock.js.map +1 -1
  669. package/dist/types/notifications.cjs +44 -22
  670. package/dist/types/notifications.cjs.map +1 -1
  671. package/dist/types/notifications.d.cts +5 -3
  672. package/dist/types/notifications.d.cts.map +1 -1
  673. package/dist/types/notifications.d.ts +5 -3
  674. package/dist/types/notifications.d.ts.map +1 -1
  675. package/dist/types/notifications.js +45 -23
  676. package/dist/types/notifications.js.map +1 -1
  677. package/dist/types/partner.cjs +32 -0
  678. package/dist/types/partner.cjs.map +1 -0
  679. package/dist/types/partner.d.cts +394 -0
  680. package/dist/types/partner.d.cts.map +1 -0
  681. package/dist/types/partner.d.ts +394 -0
  682. package/dist/types/partner.d.ts.map +1 -0
  683. package/dist/types/partner.js +29 -0
  684. package/dist/types/partner.js.map +1 -0
  685. package/dist/types/upload.d.cts +53 -6
  686. package/dist/types/upload.d.cts.map +1 -1
  687. package/dist/types/upload.d.ts +53 -6
  688. package/dist/types/upload.d.ts.map +1 -1
  689. package/dist/upload/abort-scope.cjs +46 -0
  690. package/dist/upload/abort-scope.cjs.map +1 -0
  691. package/dist/upload/abort-scope.d.cts +26 -0
  692. package/dist/upload/abort-scope.d.cts.map +1 -0
  693. package/dist/upload/abort-scope.d.ts +26 -0
  694. package/dist/upload/abort-scope.d.ts.map +1 -0
  695. package/dist/upload/abort-scope.js +45 -0
  696. package/dist/upload/abort-scope.js.map +1 -0
  697. package/dist/upload/cancel.cjs +183 -8
  698. package/dist/upload/cancel.cjs.map +1 -1
  699. package/dist/upload/cancel.d.cts +110 -2
  700. package/dist/upload/cancel.d.cts.map +1 -1
  701. package/dist/upload/cancel.d.ts +110 -2
  702. package/dist/upload/cancel.d.ts.map +1 -1
  703. package/dist/upload/cancel.js +178 -9
  704. package/dist/upload/cancel.js.map +1 -1
  705. package/dist/upload/concurrency.cjs +79 -52
  706. package/dist/upload/concurrency.cjs.map +1 -1
  707. package/dist/upload/concurrency.js +79 -53
  708. package/dist/upload/concurrency.js.map +1 -1
  709. package/dist/upload/finish.cjs +54 -0
  710. package/dist/upload/finish.cjs.map +1 -0
  711. package/dist/upload/finish.d.cts +26 -0
  712. package/dist/upload/finish.d.cts.map +1 -0
  713. package/dist/upload/finish.d.ts +26 -0
  714. package/dist/upload/finish.d.ts.map +1 -0
  715. package/dist/upload/finish.js +54 -0
  716. package/dist/upload/finish.js.map +1 -0
  717. package/dist/upload/large.cjs +305 -218
  718. package/dist/upload/large.cjs.map +1 -1
  719. package/dist/upload/large.d.cts +90 -9
  720. package/dist/upload/large.d.cts.map +1 -1
  721. package/dist/upload/large.d.ts +90 -9
  722. package/dist/upload/large.d.ts.map +1 -1
  723. package/dist/upload/large.js +305 -218
  724. package/dist/upload/large.js.map +1 -1
  725. package/dist/upload/options.cjs +28 -0
  726. package/dist/upload/options.cjs.map +1 -0
  727. package/dist/upload/options.d.cts +116 -0
  728. package/dist/upload/options.d.cts.map +1 -0
  729. package/dist/upload/options.d.ts +116 -0
  730. package/dist/upload/options.d.ts.map +1 -0
  731. package/dist/upload/options.js +27 -0
  732. package/dist/upload/options.js.map +1 -0
  733. package/dist/upload/resume.cjs +334 -33
  734. package/dist/upload/resume.cjs.map +1 -1
  735. package/dist/upload/resume.d.cts +84 -12
  736. package/dist/upload/resume.d.cts.map +1 -1
  737. package/dist/upload/resume.d.ts +84 -12
  738. package/dist/upload/resume.d.ts.map +1 -1
  739. package/dist/upload/resume.js +331 -33
  740. package/dist/upload/resume.js.map +1 -1
  741. package/dist/upload/retry.cjs +191 -0
  742. package/dist/upload/retry.cjs.map +1 -0
  743. package/dist/upload/retry.d.cts +127 -0
  744. package/dist/upload/retry.d.cts.map +1 -0
  745. package/dist/upload/retry.d.ts +127 -0
  746. package/dist/upload/retry.d.ts.map +1 -0
  747. package/dist/upload/retry.js +187 -0
  748. package/dist/upload/retry.js.map +1 -0
  749. package/dist/upload/single.cjs +69 -44
  750. package/dist/upload/single.cjs.map +1 -1
  751. package/dist/upload/single.d.cts +8 -1
  752. package/dist/upload/single.d.cts.map +1 -1
  753. package/dist/upload/single.d.ts +8 -1
  754. package/dist/upload/single.d.ts.map +1 -1
  755. package/dist/upload/single.js +69 -44
  756. package/dist/upload/single.js.map +1 -1
  757. package/dist/upload/stream.cjs +319 -193
  758. package/dist/upload/stream.cjs.map +1 -1
  759. package/dist/upload/stream.d.cts +9 -1
  760. package/dist/upload/stream.d.cts.map +1 -1
  761. package/dist/upload/stream.d.ts +9 -1
  762. package/dist/upload/stream.d.ts.map +1 -1
  763. package/dist/upload/stream.js +318 -192
  764. package/dist/upload/stream.js.map +1 -1
  765. package/dist/util/abort.cjs +114 -0
  766. package/dist/util/abort.cjs.map +1 -0
  767. package/dist/util/abort.d.cts +65 -0
  768. package/dist/util/abort.d.cts.map +1 -0
  769. package/dist/util/abort.d.ts +65 -0
  770. package/dist/util/abort.d.ts.map +1 -0
  771. package/dist/util/abort.js +109 -0
  772. package/dist/util/abort.js.map +1 -0
  773. package/dist/util/best-effort.cjs +42 -8
  774. package/dist/util/best-effort.cjs.map +1 -1
  775. package/dist/util/best-effort.d.cts +2 -1
  776. package/dist/util/best-effort.d.cts.map +1 -1
  777. package/dist/util/best-effort.d.ts +2 -1
  778. package/dist/util/best-effort.d.ts.map +1 -1
  779. package/dist/util/best-effort.js +43 -9
  780. package/dist/util/best-effort.js.map +1 -1
  781. package/dist/util/bytes.cjs +23 -0
  782. package/dist/util/bytes.cjs.map +1 -0
  783. package/dist/util/bytes.d.cts +15 -0
  784. package/dist/util/bytes.d.cts.map +1 -0
  785. package/dist/util/bytes.d.ts +15 -0
  786. package/dist/util/bytes.d.ts.map +1 -0
  787. package/dist/util/bytes.js +23 -0
  788. package/dist/util/bytes.js.map +1 -0
  789. package/dist/util/crypto.cjs +68 -0
  790. package/dist/util/crypto.cjs.map +1 -0
  791. package/dist/util/crypto.d.cts +26 -0
  792. package/dist/util/crypto.d.cts.map +1 -0
  793. package/dist/util/crypto.d.ts +26 -0
  794. package/dist/util/crypto.d.ts.map +1 -0
  795. package/dist/util/crypto.js +66 -0
  796. package/dist/util/crypto.js.map +1 -0
  797. package/dist/util/defaults.cjs +28 -9
  798. package/dist/util/defaults.cjs.map +1 -1
  799. package/dist/util/defaults.d.cts +2 -0
  800. package/dist/util/defaults.d.cts.map +1 -1
  801. package/dist/util/defaults.d.ts +2 -0
  802. package/dist/util/defaults.d.ts.map +1 -1
  803. package/dist/util/defaults.js +28 -11
  804. package/dist/util/defaults.js.map +1 -1
  805. package/dist/util/error-reason.cjs +41 -0
  806. package/dist/util/error-reason.cjs.map +1 -0
  807. package/dist/util/error-reason.d.cts +9 -0
  808. package/dist/util/error-reason.d.cts.map +1 -0
  809. package/dist/util/error-reason.d.ts +9 -0
  810. package/dist/util/error-reason.d.ts.map +1 -0
  811. package/dist/util/error-reason.js +41 -0
  812. package/dist/util/error-reason.js.map +1 -0
  813. package/dist/util/http.cjs +23 -0
  814. package/dist/util/http.cjs.map +1 -0
  815. package/dist/util/http.d.cts +13 -0
  816. package/dist/util/http.d.cts.map +1 -0
  817. package/dist/util/http.d.ts +13 -0
  818. package/dist/util/http.d.ts.map +1 -0
  819. package/dist/util/http.js +23 -0
  820. package/dist/util/http.js.map +1 -0
  821. package/dist/util/md5.cjs +211 -0
  822. package/dist/util/md5.cjs.map +1 -0
  823. package/dist/util/md5.d.cts +43 -0
  824. package/dist/util/md5.d.cts.map +1 -0
  825. package/dist/util/md5.d.ts +43 -0
  826. package/dist/util/md5.d.ts.map +1 -0
  827. package/dist/util/md5.js +209 -0
  828. package/dist/util/md5.js.map +1 -0
  829. package/dist/util/normalize.cjs +66 -7
  830. package/dist/util/normalize.cjs.map +1 -1
  831. package/dist/util/normalize.d.cts +7 -7
  832. package/dist/util/normalize.d.cts.map +1 -1
  833. package/dist/util/normalize.d.ts +7 -7
  834. package/dist/util/normalize.d.ts.map +1 -1
  835. package/dist/util/normalize.js +67 -10
  836. package/dist/util/normalize.js.map +1 -1
  837. package/dist/util/paginator.cjs +69 -14
  838. package/dist/util/paginator.cjs.map +1 -1
  839. package/dist/util/paginator.d.cts +3 -1
  840. package/dist/util/paginator.d.cts.map +1 -1
  841. package/dist/util/paginator.d.ts +3 -1
  842. package/dist/util/paginator.d.ts.map +1 -1
  843. package/dist/util/paginator.js +70 -16
  844. package/dist/util/paginator.js.map +1 -1
  845. package/dist/util/plan-ranges.cjs +47 -22
  846. package/dist/util/plan-ranges.cjs.map +1 -1
  847. package/dist/util/plan-ranges.js +48 -24
  848. package/dist/util/plan-ranges.js.map +1 -1
  849. package/dist/util/sha1.cjs +27 -0
  850. package/dist/util/sha1.cjs.map +1 -0
  851. package/dist/util/sha1.d.cts +17 -0
  852. package/dist/util/sha1.d.cts.map +1 -0
  853. package/dist/util/sha1.d.ts +17 -0
  854. package/dist/util/sha1.d.ts.map +1 -0
  855. package/dist/util/sha1.js +26 -0
  856. package/dist/util/sha1.js.map +1 -0
  857. package/dist/util/text-codec.cjs +29 -5
  858. package/dist/util/text-codec.cjs.map +1 -1
  859. package/dist/util/text-codec.js +30 -7
  860. package/dist/util/text-codec.js.map +1 -1
  861. package/dist/util/to-error.cjs +18 -4
  862. package/dist/util/to-error.cjs.map +1 -1
  863. package/dist/util/to-error.js +19 -5
  864. package/dist/util/to-error.js.map +1 -1
  865. package/dist/version.cjs +17 -5
  866. package/dist/version.cjs.map +1 -1
  867. package/dist/version.d.cts +3 -3
  868. package/dist/version.d.ts +3 -3
  869. package/dist/version.js +19 -6
  870. package/dist/version.js.map +1 -1
  871. package/package.json +45 -20
  872. package/dist/auth/index.cjs.map +0 -1
  873. package/dist/auth/index.js.map +0 -1
  874. package/dist/index.cjs.map +0 -1
  875. package/dist/index.js.map +0 -1
  876. package/dist/notifications/index.cjs.map +0 -1
  877. package/dist/notifications/index.js.map +0 -1
  878. package/dist/package.json.cjs +0 -9
  879. package/dist/package.json.cjs.map +0 -1
  880. package/dist/package.json.js +0 -9
  881. package/dist/package.json.js.map +0 -1
  882. package/dist/streams/index.cjs.map +0 -1
  883. package/dist/streams/index.js.map +0 -1
  884. package/dist/sync/index.cjs.map +0 -1
  885. package/dist/sync/index.js.map +0 -1
@@ -0,0 +1,82 @@
1
+ import { FileVersion } from '../types/file.js';
2
+ /** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */
3
+ export declare const untrustedSha1Prefix = "unverified:";
4
+ /** SHA-1 has not been computed or populated yet. */
5
+ export interface SyncSha1PendingState {
6
+ /** State discriminator. */
7
+ readonly kind: 'pending';
8
+ }
9
+ /** SHA-1 is known to be unavailable for this path. */
10
+ export interface SyncSha1UnavailableState {
11
+ /** State discriminator. */
12
+ readonly kind: 'unavailable';
13
+ }
14
+ /** SHA-1 is a normalized 40-character digest that may prove equality. */
15
+ export interface SyncSha1VerifiedState {
16
+ /** State discriminator. */
17
+ readonly kind: 'verified';
18
+ /** Normalized lowercase 40-character SHA-1 digest. */
19
+ readonly value: string;
20
+ }
21
+ /** SHA-1 metadata is present but cannot prove equality without verification. */
22
+ export interface SyncSha1UntrustedState {
23
+ /** State discriminator. */
24
+ readonly kind: 'untrusted';
25
+ /** Normalized digest when one can be extracted from the raw metadata. */
26
+ readonly value: string | null;
27
+ /** Original metadata string supplied by the scanner or B2 file version. */
28
+ readonly raw: string;
29
+ }
30
+ /** Public SHA-1 state used by sync scanners and low-level compare helpers. */
31
+ export type SyncSha1State = SyncSha1PendingState | SyncSha1UnavailableState | SyncSha1VerifiedState | SyncSha1UntrustedState;
32
+ /**
33
+ * Marks a verifiable SHA-1 digest as untrusted provider metadata.
34
+ *
35
+ * @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.
36
+ *
37
+ * @returns The untrusted SHA-1 sentinel value.
38
+ *
39
+ * @throws When the supplied value is not a verifiable SHA-1 digest.
40
+ */
41
+ export declare function untrustedSha1(sha1: string): string;
42
+ /**
43
+ * Extracts the best comparable SHA-1 value from a B2 file version.
44
+ *
45
+ * B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable
46
+ * digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is
47
+ * caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality
48
+ * until the high-level synchronizer hashes the selected version's bytes.
49
+ *
50
+ * @param version - B2 file version metadata.
51
+ *
52
+ * @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.
53
+ */
54
+ export declare function selectB2ComparableSha1(version: FileVersion): string | null;
55
+ /**
56
+ * Returns whether a SHA-1 value is marked as untrusted metadata.
57
+ *
58
+ * @param sha1 - Candidate SHA-1 metadata.
59
+ *
60
+ * @returns True when the value carries B2's unverified sentinel prefix.
61
+ */
62
+ export declare function isUntrustedSha1(sha1: string | null | undefined): boolean;
63
+ /**
64
+ * Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.
65
+ *
66
+ * @param sha1 - The raw `contentSha1` field from a sync path.
67
+ *
68
+ * @returns A discriminated state so custom scanners do not need to decode sentinels directly.
69
+ */
70
+ export declare function parseSyncContentSha1(sha1: string | null | undefined): SyncSha1State;
71
+ /**
72
+ * Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.
73
+ *
74
+ * @param path - Object carrying SHA-1 metadata.
75
+ *
76
+ * @returns The explicit or parsed SHA-1 state.
77
+ */
78
+ export declare function syncSha1StateOf(path: {
79
+ readonly contentSha1?: string | null;
80
+ readonly contentSha1State?: SyncSha1State;
81
+ }): SyncSha1State;
82
+ //# sourceMappingURL=sha1-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha1-metadata.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-metadata.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,gBAAgB,CAAA;AAEhD,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB;AAED,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GACrB,oBAAoB,GACpB,wBAAwB,GACxB,qBAAqB,GACrB,sBAAsB,CAAA;AAE1B;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,CAanF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAA;CAC1C,GAAG,aAAa,CAEhB"}
@@ -0,0 +1,82 @@
1
+ import { FileVersion } from '../types/file.js';
2
+ /** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */
3
+ export declare const untrustedSha1Prefix = "unverified:";
4
+ /** SHA-1 has not been computed or populated yet. */
5
+ export interface SyncSha1PendingState {
6
+ /** State discriminator. */
7
+ readonly kind: 'pending';
8
+ }
9
+ /** SHA-1 is known to be unavailable for this path. */
10
+ export interface SyncSha1UnavailableState {
11
+ /** State discriminator. */
12
+ readonly kind: 'unavailable';
13
+ }
14
+ /** SHA-1 is a normalized 40-character digest that may prove equality. */
15
+ export interface SyncSha1VerifiedState {
16
+ /** State discriminator. */
17
+ readonly kind: 'verified';
18
+ /** Normalized lowercase 40-character SHA-1 digest. */
19
+ readonly value: string;
20
+ }
21
+ /** SHA-1 metadata is present but cannot prove equality without verification. */
22
+ export interface SyncSha1UntrustedState {
23
+ /** State discriminator. */
24
+ readonly kind: 'untrusted';
25
+ /** Normalized digest when one can be extracted from the raw metadata. */
26
+ readonly value: string | null;
27
+ /** Original metadata string supplied by the scanner or B2 file version. */
28
+ readonly raw: string;
29
+ }
30
+ /** Public SHA-1 state used by sync scanners and low-level compare helpers. */
31
+ export type SyncSha1State = SyncSha1PendingState | SyncSha1UnavailableState | SyncSha1VerifiedState | SyncSha1UntrustedState;
32
+ /**
33
+ * Marks a verifiable SHA-1 digest as untrusted provider metadata.
34
+ *
35
+ * @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.
36
+ *
37
+ * @returns The untrusted SHA-1 sentinel value.
38
+ *
39
+ * @throws When the supplied value is not a verifiable SHA-1 digest.
40
+ */
41
+ export declare function untrustedSha1(sha1: string): string;
42
+ /**
43
+ * Extracts the best comparable SHA-1 value from a B2 file version.
44
+ *
45
+ * B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable
46
+ * digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is
47
+ * caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality
48
+ * until the high-level synchronizer hashes the selected version's bytes.
49
+ *
50
+ * @param version - B2 file version metadata.
51
+ *
52
+ * @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.
53
+ */
54
+ export declare function selectB2ComparableSha1(version: FileVersion): string | null;
55
+ /**
56
+ * Returns whether a SHA-1 value is marked as untrusted metadata.
57
+ *
58
+ * @param sha1 - Candidate SHA-1 metadata.
59
+ *
60
+ * @returns True when the value carries B2's unverified sentinel prefix.
61
+ */
62
+ export declare function isUntrustedSha1(sha1: string | null | undefined): boolean;
63
+ /**
64
+ * Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.
65
+ *
66
+ * @param sha1 - The raw `contentSha1` field from a sync path.
67
+ *
68
+ * @returns A discriminated state so custom scanners do not need to decode sentinels directly.
69
+ */
70
+ export declare function parseSyncContentSha1(sha1: string | null | undefined): SyncSha1State;
71
+ /**
72
+ * Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.
73
+ *
74
+ * @param path - Object carrying SHA-1 metadata.
75
+ *
76
+ * @returns The explicit or parsed SHA-1 state.
77
+ */
78
+ export declare function syncSha1StateOf(path: {
79
+ readonly contentSha1?: string | null;
80
+ readonly contentSha1State?: SyncSha1State;
81
+ }): SyncSha1State;
82
+ //# sourceMappingURL=sha1-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha1-metadata.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-metadata.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,gBAAgB,CAAA;AAEhD,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB;AAED,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GACrB,oBAAoB,GACpB,wBAAwB,GACxB,qBAAqB,GACrB,sBAAsB,CAAA;AAE1B;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,CAanF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAA;CAC1C,GAAG,aAAa,CAEhB"}
@@ -0,0 +1,89 @@
1
+ import { normalizeVerifiableSha1 } from "../util/sha1.js";
2
+ //#region src/sync/sha1-metadata.ts
3
+ /** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */
4
+ var untrustedSha1Prefix = "unverified:";
5
+ /**
6
+ * Marks a verifiable SHA-1 digest as untrusted provider metadata.
7
+ *
8
+ * @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.
9
+ *
10
+ * @returns The untrusted SHA-1 sentinel value.
11
+ *
12
+ * @throws When the supplied value is not a verifiable SHA-1 digest.
13
+ */
14
+ function untrustedSha1(sha1) {
15
+ const normalized = normalizeVerifiableSha1(sha1);
16
+ if (normalized === null) throw new Error("untrusted SHA-1 metadata must be verifiable");
17
+ return `${untrustedSha1Prefix}${normalized}`;
18
+ }
19
+ /**
20
+ * Extracts the best comparable SHA-1 value from a B2 file version.
21
+ *
22
+ * B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable
23
+ * digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is
24
+ * caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality
25
+ * until the high-level synchronizer hashes the selected version's bytes.
26
+ *
27
+ * @param version - B2 file version metadata.
28
+ *
29
+ * @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.
30
+ */
31
+ function selectB2ComparableSha1(version) {
32
+ const originalContentSha1 = version.contentSha1;
33
+ if (typeof originalContentSha1 === "string") {
34
+ if (isUntrustedSha1(originalContentSha1)) return originalContentSha1.toLowerCase();
35
+ return normalizeVerifiableSha1(originalContentSha1) ?? originalContentSha1.toLowerCase();
36
+ }
37
+ const largeFileSha1 = normalizeVerifiableSha1(version.fileInfo["large_file_sha1"]);
38
+ return largeFileSha1 === null ? null : untrustedSha1(largeFileSha1);
39
+ }
40
+ /**
41
+ * Returns whether a SHA-1 value is marked as untrusted metadata.
42
+ *
43
+ * @param sha1 - Candidate SHA-1 metadata.
44
+ *
45
+ * @returns True when the value carries B2's unverified sentinel prefix.
46
+ */
47
+ function isUntrustedSha1(sha1) {
48
+ return sha1?.toLowerCase().startsWith("unverified:") ?? false;
49
+ }
50
+ /**
51
+ * Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.
52
+ *
53
+ * @param sha1 - The raw `contentSha1` field from a sync path.
54
+ *
55
+ * @returns A discriminated state so custom scanners do not need to decode sentinels directly.
56
+ */
57
+ function parseSyncContentSha1(sha1) {
58
+ if (sha1 === void 0) return { kind: "pending" };
59
+ if (sha1 === null) return { kind: "unavailable" };
60
+ if (isUntrustedSha1(sha1)) return {
61
+ kind: "untrusted",
62
+ raw: sha1,
63
+ value: normalizeVerifiableSha1(sha1.slice(11))
64
+ };
65
+ const normalized = normalizeVerifiableSha1(sha1);
66
+ if (normalized === null) return {
67
+ kind: "untrusted",
68
+ raw: sha1,
69
+ value: null
70
+ };
71
+ return {
72
+ kind: "verified",
73
+ value: normalized
74
+ };
75
+ }
76
+ /**
77
+ * Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.
78
+ *
79
+ * @param path - Object carrying SHA-1 metadata.
80
+ *
81
+ * @returns The explicit or parsed SHA-1 state.
82
+ */
83
+ function syncSha1StateOf(path) {
84
+ return path.contentSha1State ?? parseSyncContentSha1(path.contentSha1);
85
+ }
86
+ //#endregion
87
+ export { isUntrustedSha1, parseSyncContentSha1, selectB2ComparableSha1, syncSha1StateOf, untrustedSha1, untrustedSha1Prefix };
88
+
89
+ //# sourceMappingURL=sha1-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha1-metadata.js","names":[],"sources":["../../src/sync/sha1-metadata.ts"],"sourcesContent":["import type { FileVersion } from '../types/file.ts'\nimport { normalizeVerifiableSha1 } from '../util/sha1.ts'\n\n/** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */\nexport const untrustedSha1Prefix = 'unverified:'\n\n/** SHA-1 has not been computed or populated yet. */\nexport interface SyncSha1PendingState {\n /** State discriminator. */\n readonly kind: 'pending'\n}\n\n/** SHA-1 is known to be unavailable for this path. */\nexport interface SyncSha1UnavailableState {\n /** State discriminator. */\n readonly kind: 'unavailable'\n}\n\n/** SHA-1 is a normalized 40-character digest that may prove equality. */\nexport interface SyncSha1VerifiedState {\n /** State discriminator. */\n readonly kind: 'verified'\n /** Normalized lowercase 40-character SHA-1 digest. */\n readonly value: string\n}\n\n/** SHA-1 metadata is present but cannot prove equality without verification. */\nexport interface SyncSha1UntrustedState {\n /** State discriminator. */\n readonly kind: 'untrusted'\n /** Normalized digest when one can be extracted from the raw metadata. */\n readonly value: string | null\n /** Original metadata string supplied by the scanner or B2 file version. */\n readonly raw: string\n}\n\n/** Public SHA-1 state used by sync scanners and low-level compare helpers. */\nexport type SyncSha1State =\n | SyncSha1PendingState\n | SyncSha1UnavailableState\n | SyncSha1VerifiedState\n | SyncSha1UntrustedState\n\n/**\n * Marks a verifiable SHA-1 digest as untrusted provider metadata.\n *\n * @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.\n *\n * @returns The untrusted SHA-1 sentinel value.\n *\n * @throws When the supplied value is not a verifiable SHA-1 digest.\n */\nexport function untrustedSha1(sha1: string): string {\n const normalized = normalizeVerifiableSha1(sha1)\n if (normalized === null) throw new Error('untrusted SHA-1 metadata must be verifiable')\n return `${untrustedSha1Prefix}${normalized}`\n}\n\n/**\n * Extracts the best comparable SHA-1 value from a B2 file version.\n *\n * B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable\n * digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is\n * caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality\n * until the high-level synchronizer hashes the selected version's bytes.\n *\n * @param version - B2 file version metadata.\n *\n * @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.\n */\nexport function selectB2ComparableSha1(version: FileVersion): string | null {\n const originalContentSha1 = version.contentSha1\n if (typeof originalContentSha1 === 'string') {\n if (isUntrustedSha1(originalContentSha1)) return originalContentSha1.toLowerCase()\n const contentSha1 = normalizeVerifiableSha1(originalContentSha1)\n return contentSha1 ?? originalContentSha1.toLowerCase()\n }\n\n const largeFileSha1 = normalizeVerifiableSha1(version.fileInfo['large_file_sha1'])\n return largeFileSha1 === null ? null : untrustedSha1(largeFileSha1)\n}\n\n/**\n * Returns whether a SHA-1 value is marked as untrusted metadata.\n *\n * @param sha1 - Candidate SHA-1 metadata.\n *\n * @returns True when the value carries B2's unverified sentinel prefix.\n */\nexport function isUntrustedSha1(sha1: string | null | undefined): boolean {\n return sha1?.toLowerCase().startsWith(untrustedSha1Prefix) ?? false\n}\n\n/**\n * Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.\n *\n * @param sha1 - The raw `contentSha1` field from a sync path.\n *\n * @returns A discriminated state so custom scanners do not need to decode sentinels directly.\n */\nexport function parseSyncContentSha1(sha1: string | null | undefined): SyncSha1State {\n if (sha1 === undefined) return { kind: 'pending' }\n if (sha1 === null) return { kind: 'unavailable' }\n if (isUntrustedSha1(sha1)) {\n return {\n kind: 'untrusted',\n raw: sha1,\n value: normalizeVerifiableSha1(sha1.slice(untrustedSha1Prefix.length)),\n }\n }\n const normalized = normalizeVerifiableSha1(sha1)\n if (normalized === null) return { kind: 'untrusted', raw: sha1, value: null }\n return { kind: 'verified', value: normalized }\n}\n\n/**\n * Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.\n *\n * @param path - Object carrying SHA-1 metadata.\n *\n * @returns The explicit or parsed SHA-1 state.\n */\nexport function syncSha1StateOf(path: {\n readonly contentSha1?: string | null\n readonly contentSha1State?: SyncSha1State\n}): SyncSha1State {\n return path.contentSha1State ?? parseSyncContentSha1(path.contentSha1)\n}\n"],"mappings":";;;AAIA,IAAa,sBAAsB;;;;;;;;;;AAgDnC,SAAgB,cAAc,MAAsB;CAClD,MAAM,aAAa,wBAAwB,IAAI;CAC/C,IAAI,eAAe,MAAM,MAAM,IAAI,MAAM,6CAA6C;CACtF,OAAO,GAAG,sBAAsB;AAClC;;;;;;;;;;;;;AAcA,SAAgB,uBAAuB,SAAqC;CAC1E,MAAM,sBAAsB,QAAQ;CACpC,IAAI,OAAO,wBAAwB,UAAU;EAC3C,IAAI,gBAAgB,mBAAmB,GAAG,OAAO,oBAAoB,YAAY;EAEjF,OADoB,wBAAwB,mBACrC,KAAe,oBAAoB,YAAY;CACxD;CAEA,MAAM,gBAAgB,wBAAwB,QAAQ,SAAS,kBAAkB;CACjF,OAAO,kBAAkB,OAAO,OAAO,cAAc,aAAa;AACpE;;;;;;;;AASA,SAAgB,gBAAgB,MAA0C;CACxE,OAAO,MAAM,YAAY,CAAC,CAAC,WAAA,aAA8B,KAAK;AAChE;;;;;;;;AASA,SAAgB,qBAAqB,MAAgD;CACnF,IAAI,SAAS,KAAA,GAAW,OAAO,EAAE,MAAM,UAAU;CACjD,IAAI,SAAS,MAAM,OAAO,EAAE,MAAM,cAAc;CAChD,IAAI,gBAAgB,IAAI,GACtB,OAAO;EACL,MAAM;EACN,KAAK;EACL,OAAO,wBAAwB,KAAK,MAAM,EAA0B,CAAC;CACvE;CAEF,MAAM,aAAa,wBAAwB,IAAI;CAC/C,IAAI,eAAe,MAAM,OAAO;EAAE,MAAM;EAAa,KAAK;EAAM,OAAO;CAAK;CAC5E,OAAO;EAAE,MAAM;EAAY,OAAO;CAAW;AAC/C;;;;;;;;AASA,SAAgB,gBAAgB,MAGd;CAChB,OAAO,KAAK,oBAAoB,qBAAqB,KAAK,WAAW;AACvE"}
@@ -0,0 +1,23 @@
1
+ //#region src/sync/sha1-options.ts
2
+ /** Default idle/no-progress timeout for SHA-1 reads. */
3
+ var DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 3e4;
4
+ /** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
5
+ var DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 3e5;
6
+ /**
7
+ * Normalizes a user-provided SHA-1 timeout value.
8
+ *
9
+ * @param value - Optional timeout in milliseconds.
10
+ * @param defaultValue - Default timeout when the value is missing or invalid.
11
+ *
12
+ * @returns A positive integer timeout in milliseconds.
13
+ */
14
+ function normalizeSha1TimeoutMillis(value, defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS) {
15
+ if (value === void 0 || !Number.isFinite(value) || value < 1) return defaultValue;
16
+ return Math.floor(value);
17
+ }
18
+ //#endregion
19
+ exports.DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS;
20
+ exports.DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS;
21
+ exports.normalizeSha1TimeoutMillis = normalizeSha1TimeoutMillis;
22
+
23
+ //# sourceMappingURL=sha1-options.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha1-options.cjs","names":[],"sources":["../../src/sync/sha1-options.ts"],"sourcesContent":["/** Default idle/no-progress timeout for SHA-1 reads. */\nexport const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30_000\n\n/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */\nexport const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300_000\n\n/**\n * Normalizes a user-provided SHA-1 timeout value.\n *\n * @param value - Optional timeout in milliseconds.\n * @param defaultValue - Default timeout when the value is missing or invalid.\n *\n * @returns A positive integer timeout in milliseconds.\n */\nexport function normalizeSha1TimeoutMillis(\n value: number | undefined,\n defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS,\n): number {\n if (value === undefined || !Number.isFinite(value) || value < 1) {\n return defaultValue\n }\n return Math.floor(value)\n}\n"],"mappings":";;AACA,IAAa,mCAAmC;;AAGhD,IAAa,2CAA2C;;;;;;;;;AAUxD,SAAgB,2BACd,OACA,eAAe,kCACP;CACR,IAAI,UAAU,KAAA,KAAa,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GAC5D,OAAO;CAET,OAAO,KAAK,MAAM,KAAK;AACzB"}
@@ -0,0 +1,14 @@
1
+ /** Default idle/no-progress timeout for SHA-1 reads. */
2
+ export declare const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30000;
3
+ /** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
4
+ export declare const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300000;
5
+ /**
6
+ * Normalizes a user-provided SHA-1 timeout value.
7
+ *
8
+ * @param value - Optional timeout in milliseconds.
9
+ * @param defaultValue - Default timeout when the value is missing or invalid.
10
+ *
11
+ * @returns A positive integer timeout in milliseconds.
12
+ */
13
+ export declare function normalizeSha1TimeoutMillis(value: number | undefined, defaultValue?: number): number;
14
+ //# sourceMappingURL=sha1-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha1-options.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-options.js"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,gCAAgC,QAAS,CAAA;AAEtD,8EAA8E;AAC9E,eAAO,MAAM,wCAAwC,SAAU,CAAA;AAE/D;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,SAAmC,GAC9C,MAAM,CAKR"}
@@ -0,0 +1,14 @@
1
+ /** Default idle/no-progress timeout for SHA-1 reads. */
2
+ export declare const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30000;
3
+ /** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
4
+ export declare const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300000;
5
+ /**
6
+ * Normalizes a user-provided SHA-1 timeout value.
7
+ *
8
+ * @param value - Optional timeout in milliseconds.
9
+ * @param defaultValue - Default timeout when the value is missing or invalid.
10
+ *
11
+ * @returns A positive integer timeout in milliseconds.
12
+ */
13
+ export declare function normalizeSha1TimeoutMillis(value: number | undefined, defaultValue?: number): number;
14
+ //# sourceMappingURL=sha1-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha1-options.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-options.js"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,gCAAgC,QAAS,CAAA;AAEtD,8EAA8E;AAC9E,eAAO,MAAM,wCAAwC,SAAU,CAAA;AAE/D;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,SAAmC,GAC9C,MAAM,CAKR"}
@@ -0,0 +1,21 @@
1
+ //#region src/sync/sha1-options.ts
2
+ /** Default idle/no-progress timeout for SHA-1 reads. */
3
+ var DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 3e4;
4
+ /** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
5
+ var DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 3e5;
6
+ /**
7
+ * Normalizes a user-provided SHA-1 timeout value.
8
+ *
9
+ * @param value - Optional timeout in milliseconds.
10
+ * @param defaultValue - Default timeout when the value is missing or invalid.
11
+ *
12
+ * @returns A positive integer timeout in milliseconds.
13
+ */
14
+ function normalizeSha1TimeoutMillis(value, defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS) {
15
+ if (value === void 0 || !Number.isFinite(value) || value < 1) return defaultValue;
16
+ return Math.floor(value);
17
+ }
18
+ //#endregion
19
+ export { DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS, DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS, normalizeSha1TimeoutMillis };
20
+
21
+ //# sourceMappingURL=sha1-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha1-options.js","names":[],"sources":["../../src/sync/sha1-options.ts"],"sourcesContent":["/** Default idle/no-progress timeout for SHA-1 reads. */\nexport const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30_000\n\n/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */\nexport const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300_000\n\n/**\n * Normalizes a user-provided SHA-1 timeout value.\n *\n * @param value - Optional timeout in milliseconds.\n * @param defaultValue - Default timeout when the value is missing or invalid.\n *\n * @returns A positive integer timeout in milliseconds.\n */\nexport function normalizeSha1TimeoutMillis(\n value: number | undefined,\n defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS,\n): number {\n if (value === undefined || !Number.isFinite(value) || value < 1) {\n return defaultValue\n }\n return Math.floor(value)\n}\n"],"mappings":";;AACA,IAAa,mCAAmC;;AAGhD,IAAa,2CAA2C;;;;;;;;;AAUxD,SAAgB,2BACd,OACA,eAAe,kCACP;CACR,IAAI,UAAU,KAAA,KAAa,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GAC5D,OAAO;CAET,OAAO,KAAK,MAAM,KAAK;AACzB"}