@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.
- package/CHANGELOG.md +110 -5
- package/README.md +144 -33
- package/dist/_virtual/_b2-sdk-version-json.cjs +4 -0
- package/dist/_virtual/_b2-sdk-version-json.js +4 -0
- package/dist/auth/account-info.d.cts +32 -0
- package/dist/auth/account-info.d.cts.map +1 -1
- package/dist/auth/account-info.d.ts +32 -0
- package/dist/auth/account-info.d.ts.map +1 -1
- package/dist/auth/file.cjs +408 -207
- package/dist/auth/file.cjs.map +1 -1
- package/dist/auth/file.d.cts +77 -3
- package/dist/auth/file.d.cts.map +1 -1
- package/dist/auth/file.d.ts +77 -3
- package/dist/auth/file.d.ts.map +1 -1
- package/dist/auth/file.js +407 -207
- package/dist/auth/file.js.map +1 -1
- package/dist/auth/in-memory.cjs +212 -183
- package/dist/auth/in-memory.cjs.map +1 -1
- package/dist/auth/in-memory.d.cts +8 -0
- package/dist/auth/in-memory.d.cts.map +1 -1
- package/dist/auth/in-memory.d.ts +8 -0
- package/dist/auth/in-memory.d.ts.map +1 -1
- package/dist/auth/in-memory.js +211 -182
- package/dist/auth/in-memory.js.map +1 -1
- package/dist/auth/index.cjs +7 -9
- package/dist/auth/index.d.cts +3 -2
- package/dist/auth/index.d.cts.map +1 -1
- package/dist/auth/index.d.ts +3 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +2 -8
- package/dist/auth/realms.cjs +80 -7
- package/dist/auth/realms.cjs.map +1 -1
- package/dist/auth/realms.d.cts +27 -4
- package/dist/auth/realms.d.cts.map +1 -1
- package/dist/auth/realms.d.ts +27 -4
- package/dist/auth/realms.d.ts.map +1 -1
- package/dist/auth/realms.js +80 -9
- package/dist/auth/realms.js.map +1 -1
- package/dist/auth/upload-url-pool.cjs +55 -51
- package/dist/auth/upload-url-pool.cjs.map +1 -1
- package/dist/auth/upload-url-pool.js +55 -51
- package/dist/auth/upload-url-pool.js.map +1 -1
- package/dist/bucket.cjs +785 -787
- package/dist/bucket.cjs.map +1 -1
- package/dist/bucket.d.cts +35 -47
- package/dist/bucket.d.cts.map +1 -1
- package/dist/bucket.d.ts +35 -47
- package/dist/bucket.d.ts.map +1 -1
- package/dist/bucket.js +780 -782
- package/dist/bucket.js.map +1 -1
- package/dist/client.cjs +246 -228
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +25 -17
- package/dist/client.d.cts.map +1 -1
- package/dist/client.d.ts +25 -17
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +243 -225
- package/dist/client.js.map +1 -1
- package/dist/copy/large.cjs +114 -71
- package/dist/copy/large.cjs.map +1 -1
- package/dist/copy/large.d.cts +6 -0
- package/dist/copy/large.d.cts.map +1 -1
- package/dist/copy/large.d.ts +6 -0
- package/dist/copy/large.d.ts.map +1 -1
- package/dist/copy/large.js +112 -69
- package/dist/copy/large.js.map +1 -1
- package/dist/download/checksum.cjs +89 -0
- package/dist/download/checksum.cjs.map +1 -0
- package/dist/download/checksum.d.cts +40 -0
- package/dist/download/checksum.d.cts.map +1 -0
- package/dist/download/checksum.d.ts +40 -0
- package/dist/download/checksum.d.ts.map +1 -0
- package/dist/download/checksum.js +87 -0
- package/dist/download/checksum.js.map +1 -0
- package/dist/download/parallel.cjs +214 -118
- package/dist/download/parallel.cjs.map +1 -1
- package/dist/download/parallel.d.cts +5 -1
- package/dist/download/parallel.d.cts.map +1 -1
- package/dist/download/parallel.d.ts +5 -1
- package/dist/download/parallel.d.ts.map +1 -1
- package/dist/download/parallel.js +212 -116
- package/dist/download/parallel.js.map +1 -1
- package/dist/download/single.cjs +188 -97
- package/dist/download/single.cjs.map +1 -1
- package/dist/download/single.d.cts +6 -1
- package/dist/download/single.d.cts.map +1 -1
- package/dist/download/single.d.ts +6 -1
- package/dist/download/single.d.ts.map +1 -1
- package/dist/download/single.js +186 -98
- package/dist/download/single.js.map +1 -1
- package/dist/errors/index.cjs +699 -243
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +285 -82
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +285 -82
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +678 -261
- package/dist/errors/index.js.map +1 -1
- package/dist/http/retry.cjs +45 -28
- package/dist/http/retry.cjs.map +1 -1
- package/dist/http/retry.d.cts +15 -2
- package/dist/http/retry.d.cts.map +1 -1
- package/dist/http/retry.d.ts +15 -2
- package/dist/http/retry.d.ts.map +1 -1
- package/dist/http/retry.js +46 -31
- package/dist/http/retry.js.map +1 -1
- package/dist/http/transport.cjs +438 -140
- package/dist/http/transport.cjs.map +1 -1
- package/dist/http/transport.d.cts +21 -2
- package/dist/http/transport.d.cts.map +1 -1
- package/dist/http/transport.d.ts +21 -2
- package/dist/http/transport.d.ts.map +1 -1
- package/dist/http/transport.js +437 -140
- package/dist/http/transport.js.map +1 -1
- package/dist/http/url-guard.cjs +154 -89
- package/dist/http/url-guard.cjs.map +1 -1
- package/dist/http/url-guard.d.cts +25 -3
- package/dist/http/url-guard.d.cts.map +1 -1
- package/dist/http/url-guard.d.ts +25 -3
- package/dist/http/url-guard.d.ts.map +1 -1
- package/dist/http/url-guard.js +152 -90
- package/dist/http/url-guard.js.map +1 -1
- package/dist/http/user-agent.cjs +84 -44
- package/dist/http/user-agent.cjs.map +1 -1
- package/dist/http/user-agent.js +84 -46
- package/dist/http/user-agent.js.map +1 -1
- package/dist/index.cjs +101 -77
- package/dist/index.d.cts +27 -21
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +27 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -71
- package/dist/internal/b2-naming.cjs +66 -0
- package/dist/internal/b2-naming.cjs.map +1 -0
- package/dist/internal/b2-naming.d.cts +43 -0
- package/dist/internal/b2-naming.d.cts.map +1 -0
- package/dist/internal/b2-naming.d.ts +43 -0
- package/dist/internal/b2-naming.d.ts.map +1 -0
- package/dist/internal/b2-naming.js +60 -0
- package/dist/internal/b2-naming.js.map +1 -0
- package/dist/internal/upload-retry-options.cjs +21 -0
- package/dist/internal/upload-retry-options.cjs.map +1 -0
- package/dist/internal/upload-retry-options.d.cts +12 -0
- package/dist/internal/upload-retry-options.d.cts.map +1 -0
- package/dist/internal/upload-retry-options.d.ts +12 -0
- package/dist/internal/upload-retry-options.d.ts.map +1 -0
- package/dist/internal/upload-retry-options.js +21 -0
- package/dist/internal/upload-retry-options.js.map +1 -0
- package/dist/internal/url-redaction.cjs +31 -0
- package/dist/internal/url-redaction.cjs.map +1 -0
- package/dist/internal/url-redaction.d.cts +17 -0
- package/dist/internal/url-redaction.d.cts.map +1 -0
- package/dist/internal/url-redaction.d.ts +17 -0
- package/dist/internal/url-redaction.d.ts.map +1 -0
- package/dist/internal/url-redaction.js +31 -0
- package/dist/internal/url-redaction.js.map +1 -0
- package/dist/notifications/index.cjs +4 -6
- package/dist/notifications/index.d.cts +1 -1
- package/dist/notifications/index.d.cts.map +1 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +1 -6
- package/dist/notifications/webhook.cjs +195 -85
- package/dist/notifications/webhook.cjs.map +1 -1
- package/dist/notifications/webhook.d.cts.map +1 -1
- package/dist/notifications/webhook.d.ts.map +1 -1
- package/dist/notifications/webhook.js +195 -87
- package/dist/notifications/webhook.js.map +1 -1
- package/dist/object.cjs +253 -210
- package/dist/object.cjs.map +1 -1
- package/dist/object.d.cts +9 -55
- package/dist/object.d.cts.map +1 -1
- package/dist/object.d.ts +9 -55
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +249 -206
- package/dist/object.js.map +1 -1
- package/dist/raw/encoding.cjs +74 -35
- package/dist/raw/encoding.cjs.map +1 -1
- package/dist/raw/encoding.js +74 -38
- package/dist/raw/encoding.js.map +1 -1
- package/dist/raw/index.cjs +678 -587
- package/dist/raw/index.cjs.map +1 -1
- package/dist/raw/index.d.cts +121 -18
- package/dist/raw/index.d.cts.map +1 -1
- package/dist/raw/index.d.ts +121 -18
- package/dist/raw/index.d.ts.map +1 -1
- package/dist/raw/index.js +674 -589
- package/dist/raw/index.js.map +1 -1
- package/dist/s3/index.cjs +355 -18
- package/dist/s3/index.cjs.map +1 -1
- package/dist/s3/index.d.cts +233 -5
- package/dist/s3/index.d.cts.map +1 -1
- package/dist/s3/index.d.ts +233 -5
- package/dist/s3/index.d.ts.map +1 -1
- package/dist/s3/index.js +351 -22
- package/dist/s3/index.js.map +1 -1
- package/dist/s3/sigv4.cjs +149 -0
- package/dist/s3/sigv4.cjs.map +1 -0
- package/dist/s3/sigv4.d.cts +43 -0
- package/dist/s3/sigv4.d.cts.map +1 -0
- package/dist/s3/sigv4.d.ts +43 -0
- package/dist/s3/sigv4.d.ts.map +1 -0
- package/dist/s3/sigv4.js +148 -0
- package/dist/s3/sigv4.js.map +1 -0
- package/dist/s3/validation.cjs +69 -0
- package/dist/s3/validation.cjs.map +1 -0
- package/dist/s3/validation.d.cts +43 -0
- package/dist/s3/validation.d.cts.map +1 -0
- package/dist/s3/validation.d.ts +43 -0
- package/dist/s3/validation.d.ts.map +1 -0
- package/dist/s3/validation.js +66 -0
- package/dist/s3/validation.js.map +1 -0
- package/dist/simulator/capabilities.cjs +63 -48
- package/dist/simulator/capabilities.cjs.map +1 -1
- package/dist/simulator/capabilities.js +63 -49
- package/dist/simulator/capabilities.js.map +1 -1
- package/dist/simulator/index.cjs +2124 -1548
- package/dist/simulator/index.cjs.map +1 -1
- package/dist/simulator/index.d.cts +79 -11
- package/dist/simulator/index.d.cts.map +1 -1
- package/dist/simulator/index.d.ts +79 -11
- package/dist/simulator/index.d.ts.map +1 -1
- package/dist/simulator/index.js +2112 -1546
- package/dist/simulator/index.js.map +1 -1
- package/dist/simulator/validation.cjs +191 -153
- package/dist/simulator/validation.cjs.map +1 -1
- package/dist/simulator/validation.d.cts +3 -21
- package/dist/simulator/validation.d.cts.map +1 -1
- package/dist/simulator/validation.d.ts +3 -21
- package/dist/simulator/validation.d.ts.map +1 -1
- package/dist/simulator/validation.js +188 -162
- package/dist/simulator/validation.js.map +1 -1
- package/dist/streams/collect.cjs +74 -24
- package/dist/streams/collect.cjs.map +1 -1
- package/dist/streams/collect.d.cts +14 -1
- package/dist/streams/collect.d.cts.map +1 -1
- package/dist/streams/collect.d.ts +14 -1
- package/dist/streams/collect.d.ts.map +1 -1
- package/dist/streams/collect.js +74 -25
- package/dist/streams/collect.js.map +1 -1
- package/dist/streams/file-source.cjs +287 -0
- package/dist/streams/file-source.cjs.map +1 -0
- package/dist/streams/file-source.d.cts +96 -0
- package/dist/streams/file-source.d.cts.map +1 -0
- package/dist/streams/file-source.d.ts +96 -0
- package/dist/streams/file-source.d.ts.map +1 -0
- package/dist/streams/file-source.js +286 -0
- package/dist/streams/file-source.js.map +1 -0
- package/dist/streams/hash.cjs +207 -115
- package/dist/streams/hash.cjs.map +1 -1
- package/dist/streams/hash.d.cts +5 -4
- package/dist/streams/hash.d.cts.map +1 -1
- package/dist/streams/hash.d.ts +5 -4
- package/dist/streams/hash.d.ts.map +1 -1
- package/dist/streams/hash.js +208 -95
- package/dist/streams/hash.js.map +1 -1
- package/dist/streams/index.cjs +12 -12
- package/dist/streams/index.d.cts +3 -3
- package/dist/streams/index.d.cts.map +1 -1
- package/dist/streams/index.d.ts +3 -3
- package/dist/streams/index.d.ts.map +1 -1
- package/dist/streams/index.js +2 -10
- package/dist/streams/progress.cjs +60 -46
- package/dist/streams/progress.cjs.map +1 -1
- package/dist/streams/progress.js +60 -46
- package/dist/streams/progress.js.map +1 -1
- package/dist/streams/source.cjs +316 -146
- package/dist/streams/source.cjs.map +1 -1
- package/dist/streams/source.d.cts +56 -18
- package/dist/streams/source.d.cts.map +1 -1
- package/dist/streams/source.d.ts +56 -18
- package/dist/streams/source.d.ts.map +1 -1
- package/dist/streams/source.js +312 -149
- package/dist/streams/source.js.map +1 -1
- package/dist/sync/actions/index.cjs +236 -184
- package/dist/sync/actions/index.cjs.map +1 -1
- package/dist/sync/actions/index.d.cts +29 -21
- package/dist/sync/actions/index.d.cts.map +1 -1
- package/dist/sync/actions/index.d.ts +29 -21
- package/dist/sync/actions/index.d.ts.map +1 -1
- package/dist/sync/actions/index.js +236 -190
- package/dist/sync/actions/index.js.map +1 -1
- package/dist/sync/b2-sha1-reader.cjs +148 -0
- package/dist/sync/b2-sha1-reader.cjs.map +1 -0
- package/dist/sync/b2-sha1-reader.d.cts +58 -0
- package/dist/sync/b2-sha1-reader.d.cts.map +1 -0
- package/dist/sync/b2-sha1-reader.d.ts +58 -0
- package/dist/sync/b2-sha1-reader.d.ts.map +1 -0
- package/dist/sync/b2-sha1-reader.js +145 -0
- package/dist/sync/b2-sha1-reader.js.map +1 -0
- package/dist/sync/download-staging.cjs +265 -0
- package/dist/sync/download-staging.cjs.map +1 -0
- package/dist/sync/download-staging.d.cts +54 -0
- package/dist/sync/download-staging.d.cts.map +1 -0
- package/dist/sync/download-staging.d.ts +54 -0
- package/dist/sync/download-staging.d.ts.map +1 -0
- package/dist/sync/download-staging.js +259 -0
- package/dist/sync/download-staging.js.map +1 -0
- package/dist/sync/filesystem-errors.cjs +32 -0
- package/dist/sync/filesystem-errors.cjs.map +1 -0
- package/dist/sync/filesystem-errors.d.cts +8 -0
- package/dist/sync/filesystem-errors.d.cts.map +1 -0
- package/dist/sync/filesystem-errors.d.ts +8 -0
- package/dist/sync/filesystem-errors.d.ts.map +1 -0
- package/dist/sync/filesystem-errors.js +32 -0
- package/dist/sync/filesystem-errors.js.map +1 -0
- package/dist/sync/filters.cjs +217 -0
- package/dist/sync/filters.cjs.map +1 -0
- package/dist/sync/filters.d.cts +51 -0
- package/dist/sync/filters.d.cts.map +1 -0
- package/dist/sync/filters.d.ts +51 -0
- package/dist/sync/filters.d.ts.map +1 -0
- package/dist/sync/filters.js +213 -0
- package/dist/sync/filters.js.map +1 -0
- package/dist/sync/index.cjs +39 -22
- package/dist/sync/index.d.cts +14 -9
- package/dist/sync/index.d.cts.map +1 -1
- package/dist/sync/index.d.ts +14 -9
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +9 -20
- package/dist/sync/local-file-identity.cjs +61 -0
- package/dist/sync/local-file-identity.cjs.map +1 -0
- package/dist/sync/local-file-identity.d.cts +37 -0
- package/dist/sync/local-file-identity.d.cts.map +1 -0
- package/dist/sync/local-file-identity.d.ts +37 -0
- package/dist/sync/local-file-identity.d.ts.map +1 -0
- package/dist/sync/local-file-identity.js +60 -0
- package/dist/sync/local-file-identity.js.map +1 -0
- package/dist/sync/local-file-io.cjs +364 -0
- package/dist/sync/local-file-io.cjs.map +1 -0
- package/dist/sync/local-file-io.d.cts +75 -0
- package/dist/sync/local-file-io.d.cts.map +1 -0
- package/dist/sync/local-file-io.d.ts +75 -0
- package/dist/sync/local-file-io.d.ts.map +1 -0
- package/dist/sync/local-file-io.js +360 -0
- package/dist/sync/local-file-io.js.map +1 -0
- package/dist/sync/local-filesystem-root.cjs +27 -0
- package/dist/sync/local-filesystem-root.cjs.map +1 -0
- package/dist/sync/local-filesystem-root.d.cts +18 -0
- package/dist/sync/local-filesystem-root.d.cts.map +1 -0
- package/dist/sync/local-filesystem-root.d.ts +18 -0
- package/dist/sync/local-filesystem-root.d.ts.map +1 -0
- package/dist/sync/local-filesystem-root.js +26 -0
- package/dist/sync/local-filesystem-root.js.map +1 -0
- package/dist/sync/local-sha1.cjs +119 -0
- package/dist/sync/local-sha1.cjs.map +1 -0
- package/dist/sync/local-sha1.d.cts +39 -0
- package/dist/sync/local-sha1.d.cts.map +1 -0
- package/dist/sync/local-sha1.d.ts +39 -0
- package/dist/sync/local-sha1.d.ts.map +1 -0
- package/dist/sync/local-sha1.js +117 -0
- package/dist/sync/local-sha1.js.map +1 -0
- package/dist/sync/pairing.cjs +118 -29
- package/dist/sync/pairing.cjs.map +1 -1
- package/dist/sync/pairing.d.cts +7 -2
- package/dist/sync/pairing.d.cts.map +1 -1
- package/dist/sync/pairing.d.ts +7 -2
- package/dist/sync/pairing.d.ts.map +1 -1
- package/dist/sync/pairing.js +120 -31
- package/dist/sync/pairing.js.map +1 -1
- package/dist/sync/path-order.cjs +30 -0
- package/dist/sync/path-order.cjs.map +1 -0
- package/dist/sync/path-order.d.cts +28 -0
- package/dist/sync/path-order.d.cts.map +1 -0
- package/dist/sync/path-order.d.ts +28 -0
- package/dist/sync/path-order.d.ts.map +1 -0
- package/dist/sync/path-order.js +29 -0
- package/dist/sync/path-order.js.map +1 -0
- package/dist/sync/path-safety.cjs +111 -0
- package/dist/sync/path-safety.cjs.map +1 -0
- package/dist/sync/path-safety.d.cts +78 -0
- package/dist/sync/path-safety.d.cts.map +1 -0
- package/dist/sync/path-safety.d.ts +78 -0
- package/dist/sync/path-safety.d.ts.map +1 -0
- package/dist/sync/path-safety.js +105 -0
- package/dist/sync/path-safety.js.map +1 -0
- package/dist/sync/paths.d.cts +19 -0
- package/dist/sync/paths.d.cts.map +1 -0
- package/dist/sync/paths.d.ts +19 -0
- package/dist/sync/paths.d.ts.map +1 -0
- package/dist/sync/policies/compare.cjs +389 -11
- package/dist/sync/policies/compare.cjs.map +1 -1
- package/dist/sync/policies/compare.d.cts +100 -2
- package/dist/sync/policies/compare.d.cts.map +1 -1
- package/dist/sync/policies/compare.d.ts +100 -2
- package/dist/sync/policies/compare.d.ts.map +1 -1
- package/dist/sync/policies/compare.js +387 -13
- package/dist/sync/policies/compare.js.map +1 -1
- package/dist/sync/policies/index.cjs +76 -65
- package/dist/sync/policies/index.cjs.map +1 -1
- package/dist/sync/policies/index.d.cts +35 -6
- package/dist/sync/policies/index.d.cts.map +1 -1
- package/dist/sync/policies/index.d.ts +35 -6
- package/dist/sync/policies/index.d.ts.map +1 -1
- package/dist/sync/policies/index.js +76 -65
- package/dist/sync/policies/index.js.map +1 -1
- package/dist/sync/prefix.cjs +96 -0
- package/dist/sync/prefix.cjs.map +1 -0
- package/dist/sync/prefix.d.cts +55 -0
- package/dist/sync/prefix.d.cts.map +1 -0
- package/dist/sync/prefix.d.ts +55 -0
- package/dist/sync/prefix.d.ts.map +1 -0
- package/dist/sync/prefix.js +92 -0
- package/dist/sync/prefix.js.map +1 -0
- package/dist/sync/regexp-safety.cjs +192 -0
- package/dist/sync/regexp-safety.cjs.map +1 -0
- package/dist/sync/regexp-safety.d.cts +29 -0
- package/dist/sync/regexp-safety.d.cts.map +1 -0
- package/dist/sync/regexp-safety.d.ts +29 -0
- package/dist/sync/regexp-safety.d.ts.map +1 -0
- package/dist/sync/regexp-safety.js +190 -0
- package/dist/sync/regexp-safety.js.map +1 -0
- package/dist/sync/scan-events.cjs +33 -0
- package/dist/sync/scan-events.cjs.map +1 -0
- package/dist/sync/scan-events.d.cts +17 -0
- package/dist/sync/scan-events.d.cts.map +1 -0
- package/dist/sync/scan-events.d.ts +17 -0
- package/dist/sync/scan-events.d.ts.map +1 -0
- package/dist/sync/scan-events.js +32 -0
- package/dist/sync/scan-events.js.map +1 -0
- package/dist/sync/scan-limit.cjs +33 -0
- package/dist/sync/scan-limit.cjs.map +1 -0
- package/dist/sync/scan-limit.d.cts +21 -0
- package/dist/sync/scan-limit.d.cts.map +1 -0
- package/dist/sync/scan-limit.d.ts +21 -0
- package/dist/sync/scan-limit.d.ts.map +1 -0
- package/dist/sync/scan-limit.js +31 -0
- package/dist/sync/scan-limit.js.map +1 -0
- package/dist/sync/scanners/b2.cjs +239 -55
- package/dist/sync/scanners/b2.cjs.map +1 -1
- package/dist/sync/scanners/b2.d.cts +26 -7
- package/dist/sync/scanners/b2.d.cts.map +1 -1
- package/dist/sync/scanners/b2.d.ts +26 -7
- package/dist/sync/scanners/b2.d.ts.map +1 -1
- package/dist/sync/scanners/b2.js +239 -55
- package/dist/sync/scanners/b2.js.map +1 -1
- package/dist/sync/scanners/local.cjs +215 -56
- package/dist/sync/scanners/local.cjs.map +1 -1
- package/dist/sync/scanners/local.d.cts +22 -7
- package/dist/sync/scanners/local.d.cts.map +1 -1
- package/dist/sync/scanners/local.d.ts +22 -7
- package/dist/sync/scanners/local.d.ts.map +1 -1
- package/dist/sync/scanners/local.js +216 -57
- package/dist/sync/scanners/local.js.map +1 -1
- package/dist/sync/sha1-metadata.cjs +94 -0
- package/dist/sync/sha1-metadata.cjs.map +1 -0
- package/dist/sync/sha1-metadata.d.cts +82 -0
- package/dist/sync/sha1-metadata.d.cts.map +1 -0
- package/dist/sync/sha1-metadata.d.ts +82 -0
- package/dist/sync/sha1-metadata.d.ts.map +1 -0
- package/dist/sync/sha1-metadata.js +89 -0
- package/dist/sync/sha1-metadata.js.map +1 -0
- package/dist/sync/sha1-options.cjs +23 -0
- package/dist/sync/sha1-options.cjs.map +1 -0
- package/dist/sync/sha1-options.d.cts +14 -0
- package/dist/sync/sha1-options.d.cts.map +1 -0
- package/dist/sync/sha1-options.d.ts +14 -0
- package/dist/sync/sha1-options.d.ts.map +1 -0
- package/dist/sync/sha1-options.js +21 -0
- package/dist/sync/sha1-options.js.map +1 -0
- package/dist/sync/synchronizer.cjs +782 -197
- package/dist/sync/synchronizer.cjs.map +1 -1
- package/dist/sync/synchronizer.d.cts +47 -1
- package/dist/sync/synchronizer.d.cts.map +1 -1
- package/dist/sync/synchronizer.d.ts +47 -1
- package/dist/sync/synchronizer.d.ts.map +1 -1
- package/dist/sync/synchronizer.js +779 -173
- package/dist/sync/synchronizer.js.map +1 -1
- package/dist/sync/types.d.cts +208 -16
- package/dist/sync/types.d.cts.map +1 -1
- package/dist/sync/types.d.ts +208 -16
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/types/auth.cjs +76 -56
- package/dist/types/auth.cjs.map +1 -1
- package/dist/types/auth.d.cts +67 -9
- package/dist/types/auth.d.cts.map +1 -1
- package/dist/types/auth.d.ts +67 -9
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +77 -57
- package/dist/types/auth.js.map +1 -1
- package/dist/types/bucket.cjs +74 -38
- package/dist/types/bucket.cjs.map +1 -1
- package/dist/types/bucket.js +75 -41
- package/dist/types/bucket.js.map +1 -1
- package/dist/types/encryption.cjs +364 -327
- package/dist/types/encryption.cjs.map +1 -1
- package/dist/types/encryption.d.cts +16 -0
- package/dist/types/encryption.d.cts.map +1 -1
- package/dist/types/encryption.d.ts +16 -0
- package/dist/types/encryption.d.ts.map +1 -1
- package/dist/types/encryption.js +364 -310
- package/dist/types/encryption.js.map +1 -1
- package/dist/types/errors.cjs +47 -0
- package/dist/types/errors.cjs.map +1 -0
- package/dist/types/errors.d.cts +13 -4
- package/dist/types/errors.d.cts.map +1 -1
- package/dist/types/errors.d.ts +13 -4
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +47 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/file.cjs +36 -19
- package/dist/types/file.cjs.map +1 -1
- package/dist/types/file.d.cts +2 -2
- package/dist/types/file.d.cts.map +1 -1
- package/dist/types/file.d.ts +2 -2
- package/dist/types/file.d.ts.map +1 -1
- package/dist/types/file.js +37 -21
- package/dist/types/file.js.map +1 -1
- package/dist/types/ids.cjs +53 -9
- package/dist/types/ids.cjs.map +1 -1
- package/dist/types/ids.js +54 -15
- package/dist/types/ids.js.map +1 -1
- package/dist/types/index.d.cts +12 -11
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +12 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/key.d.cts +44 -8
- package/dist/types/key.d.cts.map +1 -1
- package/dist/types/key.d.ts +44 -8
- package/dist/types/key.d.ts.map +1 -1
- package/dist/types/lock.cjs +33 -13
- package/dist/types/lock.cjs.map +1 -1
- package/dist/types/lock.js +34 -15
- package/dist/types/lock.js.map +1 -1
- package/dist/types/notifications.cjs +44 -22
- package/dist/types/notifications.cjs.map +1 -1
- package/dist/types/notifications.js +45 -23
- package/dist/types/notifications.js.map +1 -1
- package/dist/types/upload.d.cts +39 -5
- package/dist/types/upload.d.cts.map +1 -1
- package/dist/types/upload.d.ts +39 -5
- package/dist/types/upload.d.ts.map +1 -1
- package/dist/upload/abort-scope.cjs +91 -0
- package/dist/upload/abort-scope.cjs.map +1 -0
- package/dist/upload/abort-scope.d.cts +48 -0
- package/dist/upload/abort-scope.d.cts.map +1 -0
- package/dist/upload/abort-scope.d.ts +48 -0
- package/dist/upload/abort-scope.d.ts.map +1 -0
- package/dist/upload/abort-scope.js +88 -0
- package/dist/upload/abort-scope.js.map +1 -0
- package/dist/upload/cancel.cjs +183 -8
- package/dist/upload/cancel.cjs.map +1 -1
- package/dist/upload/cancel.d.cts +110 -2
- package/dist/upload/cancel.d.cts.map +1 -1
- package/dist/upload/cancel.d.ts +110 -2
- package/dist/upload/cancel.d.ts.map +1 -1
- package/dist/upload/cancel.js +178 -9
- package/dist/upload/cancel.js.map +1 -1
- package/dist/upload/concurrency.cjs +79 -52
- package/dist/upload/concurrency.cjs.map +1 -1
- package/dist/upload/concurrency.js +79 -53
- package/dist/upload/concurrency.js.map +1 -1
- package/dist/upload/finish.cjs +59 -0
- package/dist/upload/finish.cjs.map +1 -0
- package/dist/upload/finish.d.cts +26 -0
- package/dist/upload/finish.d.cts.map +1 -0
- package/dist/upload/finish.d.ts +26 -0
- package/dist/upload/finish.d.ts.map +1 -0
- package/dist/upload/finish.js +59 -0
- package/dist/upload/finish.js.map +1 -0
- package/dist/upload/large.cjs +301 -218
- package/dist/upload/large.cjs.map +1 -1
- package/dist/upload/large.d.cts +76 -9
- package/dist/upload/large.d.cts.map +1 -1
- package/dist/upload/large.d.ts +76 -9
- package/dist/upload/large.d.ts.map +1 -1
- package/dist/upload/large.js +301 -218
- package/dist/upload/large.js.map +1 -1
- package/dist/upload/options.cjs +28 -0
- package/dist/upload/options.cjs.map +1 -0
- package/dist/upload/options.d.cts +104 -0
- package/dist/upload/options.d.cts.map +1 -0
- package/dist/upload/options.d.ts +104 -0
- package/dist/upload/options.d.ts.map +1 -0
- package/dist/upload/options.js +27 -0
- package/dist/upload/options.js.map +1 -0
- package/dist/upload/resume.cjs +333 -33
- package/dist/upload/resume.cjs.map +1 -1
- package/dist/upload/resume.d.cts +82 -12
- package/dist/upload/resume.d.cts.map +1 -1
- package/dist/upload/resume.d.ts +82 -12
- package/dist/upload/resume.d.ts.map +1 -1
- package/dist/upload/resume.js +330 -33
- package/dist/upload/resume.js.map +1 -1
- package/dist/upload/retry.cjs +186 -0
- package/dist/upload/retry.cjs.map +1 -0
- package/dist/upload/retry.d.cts +127 -0
- package/dist/upload/retry.d.cts.map +1 -0
- package/dist/upload/retry.d.ts +127 -0
- package/dist/upload/retry.d.ts.map +1 -0
- package/dist/upload/retry.js +182 -0
- package/dist/upload/retry.js.map +1 -0
- package/dist/upload/single.cjs +68 -44
- package/dist/upload/single.cjs.map +1 -1
- package/dist/upload/single.d.cts +2 -1
- package/dist/upload/single.d.cts.map +1 -1
- package/dist/upload/single.d.ts +2 -1
- package/dist/upload/single.d.ts.map +1 -1
- package/dist/upload/single.js +68 -44
- package/dist/upload/single.js.map +1 -1
- package/dist/upload/stream.cjs +317 -193
- package/dist/upload/stream.cjs.map +1 -1
- package/dist/upload/stream.d.cts +3 -1
- package/dist/upload/stream.d.cts.map +1 -1
- package/dist/upload/stream.d.ts +3 -1
- package/dist/upload/stream.d.ts.map +1 -1
- package/dist/upload/stream.js +316 -192
- package/dist/upload/stream.js.map +1 -1
- package/dist/util/best-effort.cjs +42 -8
- package/dist/util/best-effort.cjs.map +1 -1
- package/dist/util/best-effort.d.cts +2 -1
- package/dist/util/best-effort.d.cts.map +1 -1
- package/dist/util/best-effort.d.ts +2 -1
- package/dist/util/best-effort.d.ts.map +1 -1
- package/dist/util/best-effort.js +43 -9
- package/dist/util/best-effort.js.map +1 -1
- package/dist/util/bytes.cjs +23 -0
- package/dist/util/bytes.cjs.map +1 -0
- package/dist/util/bytes.d.cts +15 -0
- package/dist/util/bytes.d.cts.map +1 -0
- package/dist/util/bytes.d.ts +15 -0
- package/dist/util/bytes.d.ts.map +1 -0
- package/dist/util/bytes.js +23 -0
- package/dist/util/bytes.js.map +1 -0
- package/dist/util/crypto.cjs +68 -0
- package/dist/util/crypto.cjs.map +1 -0
- package/dist/util/crypto.d.cts +26 -0
- package/dist/util/crypto.d.cts.map +1 -0
- package/dist/util/crypto.d.ts +26 -0
- package/dist/util/crypto.d.ts.map +1 -0
- package/dist/util/crypto.js +66 -0
- package/dist/util/crypto.js.map +1 -0
- package/dist/util/defaults.cjs +25 -9
- package/dist/util/defaults.cjs.map +1 -1
- package/dist/util/defaults.js +26 -11
- package/dist/util/defaults.js.map +1 -1
- package/dist/util/error-reason.cjs +41 -0
- package/dist/util/error-reason.cjs.map +1 -0
- package/dist/util/error-reason.d.cts +9 -0
- package/dist/util/error-reason.d.cts.map +1 -0
- package/dist/util/error-reason.d.ts +9 -0
- package/dist/util/error-reason.d.ts.map +1 -0
- package/dist/util/error-reason.js +41 -0
- package/dist/util/error-reason.js.map +1 -0
- package/dist/util/http.cjs +23 -0
- package/dist/util/http.cjs.map +1 -0
- package/dist/util/http.d.cts +13 -0
- package/dist/util/http.d.cts.map +1 -0
- package/dist/util/http.d.ts +13 -0
- package/dist/util/http.d.ts.map +1 -0
- package/dist/util/http.js +23 -0
- package/dist/util/http.js.map +1 -0
- package/dist/util/normalize.cjs +66 -7
- package/dist/util/normalize.cjs.map +1 -1
- package/dist/util/normalize.js +67 -10
- package/dist/util/normalize.js.map +1 -1
- package/dist/util/paginator.cjs +63 -14
- package/dist/util/paginator.cjs.map +1 -1
- package/dist/util/paginator.js +64 -16
- package/dist/util/paginator.js.map +1 -1
- package/dist/util/plan-ranges.cjs +47 -22
- package/dist/util/plan-ranges.cjs.map +1 -1
- package/dist/util/plan-ranges.js +48 -24
- package/dist/util/plan-ranges.js.map +1 -1
- package/dist/util/sha1.cjs +27 -0
- package/dist/util/sha1.cjs.map +1 -0
- package/dist/util/sha1.d.cts +17 -0
- package/dist/util/sha1.d.cts.map +1 -0
- package/dist/util/sha1.d.ts +17 -0
- package/dist/util/sha1.d.ts.map +1 -0
- package/dist/util/sha1.js +26 -0
- package/dist/util/sha1.js.map +1 -0
- package/dist/util/text-codec.cjs +29 -5
- package/dist/util/text-codec.cjs.map +1 -1
- package/dist/util/text-codec.js +30 -7
- package/dist/util/text-codec.js.map +1 -1
- package/dist/util/to-error.cjs +18 -4
- package/dist/util/to-error.cjs.map +1 -1
- package/dist/util/to-error.js +19 -5
- package/dist/util/to-error.js.map +1 -1
- package/dist/version.cjs +17 -5
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.cts +3 -3
- package/dist/version.d.ts +3 -3
- package/dist/version.js +19 -6
- package/dist/version.js.map +1 -1
- package/package.json +19 -16
- package/dist/auth/index.cjs.map +0 -1
- package/dist/auth/index.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/notifications/index.cjs.map +0 -1
- package/dist/notifications/index.js.map +0 -1
- package/dist/package.json.cjs +0 -9
- package/dist/package.json.cjs.map +0 -1
- package/dist/package.json.js +0 -9
- package/dist/package.json.js.map +0 -1
- package/dist/streams/index.cjs.map +0 -1
- package/dist/streams/index.js.map +0 -1
- package/dist/sync/index.cjs.map +0 -1
- package/dist/sync/index.js.map +0 -1
|
@@ -1,53 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
1
|
+
const require_auth = require("../types/auth.cjs");
|
|
2
|
+
//#region src/simulator/capabilities.ts
|
|
3
|
+
/**
|
|
4
|
+
* Capability requirement table mapping each B2 native API endpoint to
|
|
5
|
+
* the capability (or capabilities — usually one) the caller's
|
|
6
|
+
* application key must hold to invoke it. Used by `B2Simulator` when
|
|
7
|
+
* `strictAuth: true` is set, so test code that exercises a restricted
|
|
8
|
+
* key sees the same `403 unauthorized` response real B2 would return.
|
|
9
|
+
*
|
|
10
|
+
* Source: https://www.backblaze.com/apidocs (each endpoint page lists
|
|
11
|
+
* the required capability in its description).
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
/** Endpoint → required capability(s). An empty array means "no capability check". */
|
|
16
|
+
var ENDPOINT_CAPABILITIES = {
|
|
17
|
+
b2_authorize_account: [],
|
|
18
|
+
b2_create_bucket: [require_auth.Capability.WriteBuckets],
|
|
19
|
+
b2_delete_bucket: [require_auth.Capability.DeleteBuckets],
|
|
20
|
+
b2_update_bucket: [require_auth.Capability.WriteBuckets],
|
|
21
|
+
b2_list_buckets: [require_auth.Capability.ListBuckets],
|
|
22
|
+
b2_get_upload_url: [require_auth.Capability.WriteFiles],
|
|
23
|
+
b2_get_upload_part_url: [require_auth.Capability.WriteFiles],
|
|
24
|
+
b2_upload_file: [require_auth.Capability.WriteFiles],
|
|
25
|
+
b2_upload_part: [require_auth.Capability.WriteFiles],
|
|
26
|
+
b2_start_large_file: [require_auth.Capability.WriteFiles],
|
|
27
|
+
b2_finish_large_file: [require_auth.Capability.WriteFiles],
|
|
28
|
+
b2_cancel_large_file: [require_auth.Capability.WriteFiles],
|
|
29
|
+
b2_copy_file: [require_auth.Capability.WriteFiles],
|
|
30
|
+
b2_copy_part: [require_auth.Capability.WriteFiles],
|
|
31
|
+
b2_list_file_names: [require_auth.Capability.ListFiles],
|
|
32
|
+
b2_list_file_versions: [require_auth.Capability.ListFiles],
|
|
33
|
+
b2_list_unfinished_large_files: [require_auth.Capability.ListFiles],
|
|
34
|
+
b2_list_parts: [require_auth.Capability.ListFiles],
|
|
35
|
+
b2_get_file_info: [require_auth.Capability.ReadFiles],
|
|
36
|
+
b2_download_file_by_id: [require_auth.Capability.ReadFiles],
|
|
37
|
+
b2_download_file_by_name: [require_auth.Capability.ReadFiles],
|
|
38
|
+
b2_hide_file: [require_auth.Capability.WriteFiles],
|
|
39
|
+
b2_delete_file_version: [require_auth.Capability.DeleteFiles],
|
|
40
|
+
b2_update_file_retention: [require_auth.Capability.WriteFileRetentions],
|
|
41
|
+
b2_update_file_legal_hold: [require_auth.Capability.WriteFileLegalHolds],
|
|
42
|
+
b2_create_key: [require_auth.Capability.WriteKeys],
|
|
43
|
+
b2_list_keys: [require_auth.Capability.ListKeys],
|
|
44
|
+
b2_delete_key: [require_auth.Capability.DeleteKeys],
|
|
45
|
+
b2_get_download_authorization: [require_auth.Capability.ShareFiles],
|
|
46
|
+
b2_get_bucket_notification_rules: [require_auth.Capability.ReadBucketNotifications],
|
|
47
|
+
b2_set_bucket_notification_rules: [require_auth.Capability.WriteBucketNotifications]
|
|
45
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Find which capabilities are missing from the caller's grant set
|
|
51
|
+
* relative to the endpoint requirement.
|
|
52
|
+
*
|
|
53
|
+
* @param endpoint - B2 endpoint name (e.g. `'b2_upload_file'`).
|
|
54
|
+
* @param granted - Capabilities the caller's key has.
|
|
55
|
+
*
|
|
56
|
+
* @returns The subset of required capabilities that the caller is
|
|
57
|
+
* missing. Empty array means "request authorized".
|
|
58
|
+
*/
|
|
46
59
|
function missingCapabilitiesFor(endpoint, granted) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
60
|
+
const required = ENDPOINT_CAPABILITIES[endpoint] ?? [];
|
|
61
|
+
const grantedSet = new Set(granted);
|
|
62
|
+
return required.filter((cap) => !grantedSet.has(cap));
|
|
50
63
|
}
|
|
64
|
+
//#endregion
|
|
51
65
|
exports.ENDPOINT_CAPABILITIES = ENDPOINT_CAPABILITIES;
|
|
52
66
|
exports.missingCapabilitiesFor = missingCapabilitiesFor;
|
|
53
|
-
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=capabilities.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.cjs","sources":["../../src/simulator/capabilities.ts"],"sourcesContent":["/**\n * Capability requirement table mapping each B2 native API endpoint to\n * the capability (or capabilities — usually one) the caller's\n * application key must hold to invoke it. Used by `B2Simulator` when\n * `strictAuth: true` is set, so test code that exercises a restricted\n * key sees the same `403 unauthorized` response real B2 would return.\n *\n * Source: https://www.backblaze.com/apidocs (each endpoint page lists\n * the required capability in its description).\n *\n * @packageDocumentation\n */\n\nimport { Capability } from '../types/auth.ts'\n\n/** Endpoint → required capability(s). An empty array means \"no capability check\". */\nexport const ENDPOINT_CAPABILITIES: Record<string, readonly Capability[]> = {\n // Auth endpoint takes credentials, not an auth token — no cap check.\n b2_authorize_account: [],\n // Bucket management.\n b2_create_bucket: [Capability.WriteBuckets],\n b2_delete_bucket: [Capability.DeleteBuckets],\n b2_update_bucket: [Capability.WriteBuckets],\n b2_list_buckets: [Capability.ListBuckets],\n // File upload + URL acquisition.\n b2_get_upload_url: [Capability.WriteFiles],\n b2_get_upload_part_url: [Capability.WriteFiles],\n b2_upload_file: [Capability.WriteFiles],\n b2_upload_part: [Capability.WriteFiles],\n b2_start_large_file: [Capability.WriteFiles],\n b2_finish_large_file: [Capability.WriteFiles],\n b2_cancel_large_file: [Capability.WriteFiles],\n b2_copy_file: [Capability.WriteFiles],\n b2_copy_part: [Capability.WriteFiles],\n // File listing + reading.\n b2_list_file_names: [Capability.ListFiles],\n b2_list_file_versions: [Capability.ListFiles],\n b2_list_unfinished_large_files: [Capability.ListFiles],\n b2_list_parts: [Capability.ListFiles],\n b2_get_file_info: [Capability.ReadFiles],\n b2_download_file_by_id: [Capability.ReadFiles],\n b2_download_file_by_name: [Capability.ReadFiles],\n // File mutations.\n b2_hide_file: [Capability.WriteFiles],\n b2_delete_file_version: [Capability.DeleteFiles],\n // Object lock + legal hold.\n b2_update_file_retention: [Capability.WriteFileRetentions],\n b2_update_file_legal_hold: [Capability.WriteFileLegalHolds],\n // Application keys.\n b2_create_key: [Capability.WriteKeys],\n b2_list_keys: [Capability.ListKeys],\n b2_delete_key: [Capability.DeleteKeys],\n // Download authorisation.\n b2_get_download_authorization: [Capability.ShareFiles],\n // Notification rules.\n b2_get_bucket_notification_rules: [Capability.ReadBucketNotifications],\n b2_set_bucket_notification_rules: [Capability.WriteBucketNotifications],\n}\n\n/**\n * Find which capabilities are missing from the caller's grant set\n * relative to the endpoint requirement.\n *\n * @param endpoint - B2 endpoint name (e.g. `'b2_upload_file'`).\n * @param granted - Capabilities the caller's key has.\n *\n * @returns The subset of required capabilities that the caller is\n * missing. Empty array means \"request authorized\".\n */\nexport function missingCapabilitiesFor(\n endpoint: string,\n granted: readonly Capability[],\n): readonly Capability[] {\n const required = ENDPOINT_CAPABILITIES[endpoint] ?? []\n const grantedSet = new Set(granted)\n return required.filter((cap) => !grantedSet.has(cap))\n}\n"],"
|
|
1
|
+
{"version":3,"file":"capabilities.cjs","names":[],"sources":["../../src/simulator/capabilities.ts"],"sourcesContent":["/**\n * Capability requirement table mapping each B2 native API endpoint to\n * the capability (or capabilities — usually one) the caller's\n * application key must hold to invoke it. Used by `B2Simulator` when\n * `strictAuth: true` is set, so test code that exercises a restricted\n * key sees the same `403 unauthorized` response real B2 would return.\n *\n * Source: https://www.backblaze.com/apidocs (each endpoint page lists\n * the required capability in its description).\n *\n * @packageDocumentation\n */\n\nimport { Capability } from '../types/auth.ts'\n\n/** Endpoint → required capability(s). An empty array means \"no capability check\". */\nexport const ENDPOINT_CAPABILITIES: Record<string, readonly Capability[]> = {\n // Auth endpoint takes credentials, not an auth token — no cap check.\n b2_authorize_account: [],\n // Bucket management.\n b2_create_bucket: [Capability.WriteBuckets],\n b2_delete_bucket: [Capability.DeleteBuckets],\n b2_update_bucket: [Capability.WriteBuckets],\n b2_list_buckets: [Capability.ListBuckets],\n // File upload + URL acquisition.\n b2_get_upload_url: [Capability.WriteFiles],\n b2_get_upload_part_url: [Capability.WriteFiles],\n b2_upload_file: [Capability.WriteFiles],\n b2_upload_part: [Capability.WriteFiles],\n b2_start_large_file: [Capability.WriteFiles],\n b2_finish_large_file: [Capability.WriteFiles],\n b2_cancel_large_file: [Capability.WriteFiles],\n b2_copy_file: [Capability.WriteFiles],\n b2_copy_part: [Capability.WriteFiles],\n // File listing + reading.\n b2_list_file_names: [Capability.ListFiles],\n b2_list_file_versions: [Capability.ListFiles],\n b2_list_unfinished_large_files: [Capability.ListFiles],\n b2_list_parts: [Capability.ListFiles],\n b2_get_file_info: [Capability.ReadFiles],\n b2_download_file_by_id: [Capability.ReadFiles],\n b2_download_file_by_name: [Capability.ReadFiles],\n // File mutations.\n b2_hide_file: [Capability.WriteFiles],\n b2_delete_file_version: [Capability.DeleteFiles],\n // Object lock + legal hold.\n b2_update_file_retention: [Capability.WriteFileRetentions],\n b2_update_file_legal_hold: [Capability.WriteFileLegalHolds],\n // Application keys.\n b2_create_key: [Capability.WriteKeys],\n b2_list_keys: [Capability.ListKeys],\n b2_delete_key: [Capability.DeleteKeys],\n // Download authorisation.\n b2_get_download_authorization: [Capability.ShareFiles],\n // Notification rules.\n b2_get_bucket_notification_rules: [Capability.ReadBucketNotifications],\n b2_set_bucket_notification_rules: [Capability.WriteBucketNotifications],\n}\n\n/**\n * Find which capabilities are missing from the caller's grant set\n * relative to the endpoint requirement.\n *\n * @param endpoint - B2 endpoint name (e.g. `'b2_upload_file'`).\n * @param granted - Capabilities the caller's key has.\n *\n * @returns The subset of required capabilities that the caller is\n * missing. Empty array means \"request authorized\".\n */\nexport function missingCapabilitiesFor(\n endpoint: string,\n granted: readonly Capability[],\n): readonly Capability[] {\n const required = ENDPOINT_CAPABILITIES[endpoint] ?? []\n const grantedSet = new Set(granted)\n return required.filter((cap) => !grantedSet.has(cap))\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,IAAa,wBAA+D;CAE1E,sBAAsB,CAAC;CAEvB,kBAAkB,CAAC,aAAA,WAAW,YAAY;CAC1C,kBAAkB,CAAC,aAAA,WAAW,aAAa;CAC3C,kBAAkB,CAAC,aAAA,WAAW,YAAY;CAC1C,iBAAiB,CAAC,aAAA,WAAW,WAAW;CAExC,mBAAmB,CAAC,aAAA,WAAW,UAAU;CACzC,wBAAwB,CAAC,aAAA,WAAW,UAAU;CAC9C,gBAAgB,CAAC,aAAA,WAAW,UAAU;CACtC,gBAAgB,CAAC,aAAA,WAAW,UAAU;CACtC,qBAAqB,CAAC,aAAA,WAAW,UAAU;CAC3C,sBAAsB,CAAC,aAAA,WAAW,UAAU;CAC5C,sBAAsB,CAAC,aAAA,WAAW,UAAU;CAC5C,cAAc,CAAC,aAAA,WAAW,UAAU;CACpC,cAAc,CAAC,aAAA,WAAW,UAAU;CAEpC,oBAAoB,CAAC,aAAA,WAAW,SAAS;CACzC,uBAAuB,CAAC,aAAA,WAAW,SAAS;CAC5C,gCAAgC,CAAC,aAAA,WAAW,SAAS;CACrD,eAAe,CAAC,aAAA,WAAW,SAAS;CACpC,kBAAkB,CAAC,aAAA,WAAW,SAAS;CACvC,wBAAwB,CAAC,aAAA,WAAW,SAAS;CAC7C,0BAA0B,CAAC,aAAA,WAAW,SAAS;CAE/C,cAAc,CAAC,aAAA,WAAW,UAAU;CACpC,wBAAwB,CAAC,aAAA,WAAW,WAAW;CAE/C,0BAA0B,CAAC,aAAA,WAAW,mBAAmB;CACzD,2BAA2B,CAAC,aAAA,WAAW,mBAAmB;CAE1D,eAAe,CAAC,aAAA,WAAW,SAAS;CACpC,cAAc,CAAC,aAAA,WAAW,QAAQ;CAClC,eAAe,CAAC,aAAA,WAAW,UAAU;CAErC,+BAA+B,CAAC,aAAA,WAAW,UAAU;CAErD,kCAAkC,CAAC,aAAA,WAAW,uBAAuB;CACrE,kCAAkC,CAAC,aAAA,WAAW,wBAAwB;AACxE;;;;;;;;;;;AAYA,SAAgB,uBACd,UACA,SACuB;CACvB,MAAM,WAAW,sBAAsB,aAAa,CAAC;CACrD,MAAM,aAAa,IAAI,IAAI,OAAO;CAClC,OAAO,SAAS,QAAQ,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC;AACtD"}
|
|
@@ -1,53 +1,67 @@
|
|
|
1
1
|
import { Capability } from "../types/auth.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
2
|
+
//#region src/simulator/capabilities.ts
|
|
3
|
+
/**
|
|
4
|
+
* Capability requirement table mapping each B2 native API endpoint to
|
|
5
|
+
* the capability (or capabilities — usually one) the caller's
|
|
6
|
+
* application key must hold to invoke it. Used by `B2Simulator` when
|
|
7
|
+
* `strictAuth: true` is set, so test code that exercises a restricted
|
|
8
|
+
* key sees the same `403 unauthorized` response real B2 would return.
|
|
9
|
+
*
|
|
10
|
+
* Source: https://www.backblaze.com/apidocs (each endpoint page lists
|
|
11
|
+
* the required capability in its description).
|
|
12
|
+
*
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*/
|
|
15
|
+
/** Endpoint → required capability(s). An empty array means "no capability check". */
|
|
16
|
+
var ENDPOINT_CAPABILITIES = {
|
|
17
|
+
b2_authorize_account: [],
|
|
18
|
+
b2_create_bucket: [Capability.WriteBuckets],
|
|
19
|
+
b2_delete_bucket: [Capability.DeleteBuckets],
|
|
20
|
+
b2_update_bucket: [Capability.WriteBuckets],
|
|
21
|
+
b2_list_buckets: [Capability.ListBuckets],
|
|
22
|
+
b2_get_upload_url: [Capability.WriteFiles],
|
|
23
|
+
b2_get_upload_part_url: [Capability.WriteFiles],
|
|
24
|
+
b2_upload_file: [Capability.WriteFiles],
|
|
25
|
+
b2_upload_part: [Capability.WriteFiles],
|
|
26
|
+
b2_start_large_file: [Capability.WriteFiles],
|
|
27
|
+
b2_finish_large_file: [Capability.WriteFiles],
|
|
28
|
+
b2_cancel_large_file: [Capability.WriteFiles],
|
|
29
|
+
b2_copy_file: [Capability.WriteFiles],
|
|
30
|
+
b2_copy_part: [Capability.WriteFiles],
|
|
31
|
+
b2_list_file_names: [Capability.ListFiles],
|
|
32
|
+
b2_list_file_versions: [Capability.ListFiles],
|
|
33
|
+
b2_list_unfinished_large_files: [Capability.ListFiles],
|
|
34
|
+
b2_list_parts: [Capability.ListFiles],
|
|
35
|
+
b2_get_file_info: [Capability.ReadFiles],
|
|
36
|
+
b2_download_file_by_id: [Capability.ReadFiles],
|
|
37
|
+
b2_download_file_by_name: [Capability.ReadFiles],
|
|
38
|
+
b2_hide_file: [Capability.WriteFiles],
|
|
39
|
+
b2_delete_file_version: [Capability.DeleteFiles],
|
|
40
|
+
b2_update_file_retention: [Capability.WriteFileRetentions],
|
|
41
|
+
b2_update_file_legal_hold: [Capability.WriteFileLegalHolds],
|
|
42
|
+
b2_create_key: [Capability.WriteKeys],
|
|
43
|
+
b2_list_keys: [Capability.ListKeys],
|
|
44
|
+
b2_delete_key: [Capability.DeleteKeys],
|
|
45
|
+
b2_get_download_authorization: [Capability.ShareFiles],
|
|
46
|
+
b2_get_bucket_notification_rules: [Capability.ReadBucketNotifications],
|
|
47
|
+
b2_set_bucket_notification_rules: [Capability.WriteBucketNotifications]
|
|
43
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Find which capabilities are missing from the caller's grant set
|
|
51
|
+
* relative to the endpoint requirement.
|
|
52
|
+
*
|
|
53
|
+
* @param endpoint - B2 endpoint name (e.g. `'b2_upload_file'`).
|
|
54
|
+
* @param granted - Capabilities the caller's key has.
|
|
55
|
+
*
|
|
56
|
+
* @returns The subset of required capabilities that the caller is
|
|
57
|
+
* missing. Empty array means "request authorized".
|
|
58
|
+
*/
|
|
44
59
|
function missingCapabilitiesFor(endpoint, granted) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
60
|
+
const required = ENDPOINT_CAPABILITIES[endpoint] ?? [];
|
|
61
|
+
const grantedSet = new Set(granted);
|
|
62
|
+
return required.filter((cap) => !grantedSet.has(cap));
|
|
48
63
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
//# sourceMappingURL=capabilities.js.map
|
|
64
|
+
//#endregion
|
|
65
|
+
export { ENDPOINT_CAPABILITIES, missingCapabilitiesFor };
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sources":["../../src/simulator/capabilities.ts"],"sourcesContent":["/**\n * Capability requirement table mapping each B2 native API endpoint to\n * the capability (or capabilities — usually one) the caller's\n * application key must hold to invoke it. Used by `B2Simulator` when\n * `strictAuth: true` is set, so test code that exercises a restricted\n * key sees the same `403 unauthorized` response real B2 would return.\n *\n * Source: https://www.backblaze.com/apidocs (each endpoint page lists\n * the required capability in its description).\n *\n * @packageDocumentation\n */\n\nimport { Capability } from '../types/auth.ts'\n\n/** Endpoint → required capability(s). An empty array means \"no capability check\". */\nexport const ENDPOINT_CAPABILITIES: Record<string, readonly Capability[]> = {\n // Auth endpoint takes credentials, not an auth token — no cap check.\n b2_authorize_account: [],\n // Bucket management.\n b2_create_bucket: [Capability.WriteBuckets],\n b2_delete_bucket: [Capability.DeleteBuckets],\n b2_update_bucket: [Capability.WriteBuckets],\n b2_list_buckets: [Capability.ListBuckets],\n // File upload + URL acquisition.\n b2_get_upload_url: [Capability.WriteFiles],\n b2_get_upload_part_url: [Capability.WriteFiles],\n b2_upload_file: [Capability.WriteFiles],\n b2_upload_part: [Capability.WriteFiles],\n b2_start_large_file: [Capability.WriteFiles],\n b2_finish_large_file: [Capability.WriteFiles],\n b2_cancel_large_file: [Capability.WriteFiles],\n b2_copy_file: [Capability.WriteFiles],\n b2_copy_part: [Capability.WriteFiles],\n // File listing + reading.\n b2_list_file_names: [Capability.ListFiles],\n b2_list_file_versions: [Capability.ListFiles],\n b2_list_unfinished_large_files: [Capability.ListFiles],\n b2_list_parts: [Capability.ListFiles],\n b2_get_file_info: [Capability.ReadFiles],\n b2_download_file_by_id: [Capability.ReadFiles],\n b2_download_file_by_name: [Capability.ReadFiles],\n // File mutations.\n b2_hide_file: [Capability.WriteFiles],\n b2_delete_file_version: [Capability.DeleteFiles],\n // Object lock + legal hold.\n b2_update_file_retention: [Capability.WriteFileRetentions],\n b2_update_file_legal_hold: [Capability.WriteFileLegalHolds],\n // Application keys.\n b2_create_key: [Capability.WriteKeys],\n b2_list_keys: [Capability.ListKeys],\n b2_delete_key: [Capability.DeleteKeys],\n // Download authorisation.\n b2_get_download_authorization: [Capability.ShareFiles],\n // Notification rules.\n b2_get_bucket_notification_rules: [Capability.ReadBucketNotifications],\n b2_set_bucket_notification_rules: [Capability.WriteBucketNotifications],\n}\n\n/**\n * Find which capabilities are missing from the caller's grant set\n * relative to the endpoint requirement.\n *\n * @param endpoint - B2 endpoint name (e.g. `'b2_upload_file'`).\n * @param granted - Capabilities the caller's key has.\n *\n * @returns The subset of required capabilities that the caller is\n * missing. Empty array means \"request authorized\".\n */\nexport function missingCapabilitiesFor(\n endpoint: string,\n granted: readonly Capability[],\n): readonly Capability[] {\n const required = ENDPOINT_CAPABILITIES[endpoint] ?? []\n const grantedSet = new Set(granted)\n return required.filter((cap) => !grantedSet.has(cap))\n}\n"],"
|
|
1
|
+
{"version":3,"file":"capabilities.js","names":[],"sources":["../../src/simulator/capabilities.ts"],"sourcesContent":["/**\n * Capability requirement table mapping each B2 native API endpoint to\n * the capability (or capabilities — usually one) the caller's\n * application key must hold to invoke it. Used by `B2Simulator` when\n * `strictAuth: true` is set, so test code that exercises a restricted\n * key sees the same `403 unauthorized` response real B2 would return.\n *\n * Source: https://www.backblaze.com/apidocs (each endpoint page lists\n * the required capability in its description).\n *\n * @packageDocumentation\n */\n\nimport { Capability } from '../types/auth.ts'\n\n/** Endpoint → required capability(s). An empty array means \"no capability check\". */\nexport const ENDPOINT_CAPABILITIES: Record<string, readonly Capability[]> = {\n // Auth endpoint takes credentials, not an auth token — no cap check.\n b2_authorize_account: [],\n // Bucket management.\n b2_create_bucket: [Capability.WriteBuckets],\n b2_delete_bucket: [Capability.DeleteBuckets],\n b2_update_bucket: [Capability.WriteBuckets],\n b2_list_buckets: [Capability.ListBuckets],\n // File upload + URL acquisition.\n b2_get_upload_url: [Capability.WriteFiles],\n b2_get_upload_part_url: [Capability.WriteFiles],\n b2_upload_file: [Capability.WriteFiles],\n b2_upload_part: [Capability.WriteFiles],\n b2_start_large_file: [Capability.WriteFiles],\n b2_finish_large_file: [Capability.WriteFiles],\n b2_cancel_large_file: [Capability.WriteFiles],\n b2_copy_file: [Capability.WriteFiles],\n b2_copy_part: [Capability.WriteFiles],\n // File listing + reading.\n b2_list_file_names: [Capability.ListFiles],\n b2_list_file_versions: [Capability.ListFiles],\n b2_list_unfinished_large_files: [Capability.ListFiles],\n b2_list_parts: [Capability.ListFiles],\n b2_get_file_info: [Capability.ReadFiles],\n b2_download_file_by_id: [Capability.ReadFiles],\n b2_download_file_by_name: [Capability.ReadFiles],\n // File mutations.\n b2_hide_file: [Capability.WriteFiles],\n b2_delete_file_version: [Capability.DeleteFiles],\n // Object lock + legal hold.\n b2_update_file_retention: [Capability.WriteFileRetentions],\n b2_update_file_legal_hold: [Capability.WriteFileLegalHolds],\n // Application keys.\n b2_create_key: [Capability.WriteKeys],\n b2_list_keys: [Capability.ListKeys],\n b2_delete_key: [Capability.DeleteKeys],\n // Download authorisation.\n b2_get_download_authorization: [Capability.ShareFiles],\n // Notification rules.\n b2_get_bucket_notification_rules: [Capability.ReadBucketNotifications],\n b2_set_bucket_notification_rules: [Capability.WriteBucketNotifications],\n}\n\n/**\n * Find which capabilities are missing from the caller's grant set\n * relative to the endpoint requirement.\n *\n * @param endpoint - B2 endpoint name (e.g. `'b2_upload_file'`).\n * @param granted - Capabilities the caller's key has.\n *\n * @returns The subset of required capabilities that the caller is\n * missing. Empty array means \"request authorized\".\n */\nexport function missingCapabilitiesFor(\n endpoint: string,\n granted: readonly Capability[],\n): readonly Capability[] {\n const required = ENDPOINT_CAPABILITIES[endpoint] ?? []\n const grantedSet = new Set(granted)\n return required.filter((cap) => !grantedSet.has(cap))\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgBA,IAAa,wBAA+D;CAE1E,sBAAsB,CAAC;CAEvB,kBAAkB,CAAC,WAAW,YAAY;CAC1C,kBAAkB,CAAC,WAAW,aAAa;CAC3C,kBAAkB,CAAC,WAAW,YAAY;CAC1C,iBAAiB,CAAC,WAAW,WAAW;CAExC,mBAAmB,CAAC,WAAW,UAAU;CACzC,wBAAwB,CAAC,WAAW,UAAU;CAC9C,gBAAgB,CAAC,WAAW,UAAU;CACtC,gBAAgB,CAAC,WAAW,UAAU;CACtC,qBAAqB,CAAC,WAAW,UAAU;CAC3C,sBAAsB,CAAC,WAAW,UAAU;CAC5C,sBAAsB,CAAC,WAAW,UAAU;CAC5C,cAAc,CAAC,WAAW,UAAU;CACpC,cAAc,CAAC,WAAW,UAAU;CAEpC,oBAAoB,CAAC,WAAW,SAAS;CACzC,uBAAuB,CAAC,WAAW,SAAS;CAC5C,gCAAgC,CAAC,WAAW,SAAS;CACrD,eAAe,CAAC,WAAW,SAAS;CACpC,kBAAkB,CAAC,WAAW,SAAS;CACvC,wBAAwB,CAAC,WAAW,SAAS;CAC7C,0BAA0B,CAAC,WAAW,SAAS;CAE/C,cAAc,CAAC,WAAW,UAAU;CACpC,wBAAwB,CAAC,WAAW,WAAW;CAE/C,0BAA0B,CAAC,WAAW,mBAAmB;CACzD,2BAA2B,CAAC,WAAW,mBAAmB;CAE1D,eAAe,CAAC,WAAW,SAAS;CACpC,cAAc,CAAC,WAAW,QAAQ;CAClC,eAAe,CAAC,WAAW,UAAU;CAErC,+BAA+B,CAAC,WAAW,UAAU;CAErD,kCAAkC,CAAC,WAAW,uBAAuB;CACrE,kCAAkC,CAAC,WAAW,wBAAwB;AACxE;;;;;;;;;;;AAYA,SAAgB,uBACd,UACA,SACuB;CACvB,MAAM,WAAW,sBAAsB,aAAa,CAAC;CACrD,MAAM,aAAa,IAAI,IAAI,OAAO;CAClC,OAAO,SAAS,QAAQ,QAAQ,CAAC,WAAW,IAAI,GAAG,CAAC;AACtD"}
|