@backblaze-labs/b2-sdk 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +86 -1
- package/README.md +38 -7
- package/dist/_virtual/_b2-sdk-version-json.cjs +1 -1
- package/dist/_virtual/_b2-sdk-version-json.js +1 -1
- package/dist/auth/file.cjs.map +1 -1
- package/dist/auth/reauth-coalescer.cjs +65 -0
- package/dist/auth/reauth-coalescer.cjs.map +1 -0
- package/dist/auth/reauth-coalescer.d.cts +34 -0
- package/dist/auth/reauth-coalescer.d.cts.map +1 -0
- package/dist/auth/reauth-coalescer.d.ts +34 -0
- package/dist/auth/reauth-coalescer.d.ts.map +1 -0
- package/dist/auth/reauth-coalescer.js +65 -0
- package/dist/auth/reauth-coalescer.js.map +1 -0
- package/dist/backup/client.cjs +206 -0
- package/dist/backup/client.cjs.map +1 -0
- package/dist/backup/client.d.cts +238 -0
- package/dist/backup/client.d.cts.map +1 -0
- package/dist/backup/client.d.ts +238 -0
- package/dist/backup/client.d.ts.map +1 -0
- package/dist/backup/client.js +206 -0
- package/dist/backup/client.js.map +1 -0
- package/dist/backup/index.cjs +15 -0
- package/dist/backup/index.d.cts +22 -0
- package/dist/backup/index.d.cts.map +1 -0
- package/dist/backup/index.d.ts +22 -0
- package/dist/backup/index.d.ts.map +1 -0
- package/dist/backup/index.js +7 -0
- package/dist/backup/raw.cjs +168 -0
- package/dist/backup/raw.cjs.map +1 -0
- package/dist/backup/raw.d.cts +122 -0
- package/dist/backup/raw.d.cts.map +1 -0
- package/dist/backup/raw.d.ts +122 -0
- package/dist/backup/raw.d.ts.map +1 -0
- package/dist/backup/raw.js +168 -0
- package/dist/backup/raw.js.map +1 -0
- package/dist/bucket-validation.cjs +111 -0
- package/dist/bucket-validation.cjs.map +1 -0
- package/dist/bucket-validation.d.cts +27 -0
- package/dist/bucket-validation.d.cts.map +1 -0
- package/dist/bucket-validation.d.ts +27 -0
- package/dist/bucket-validation.d.ts.map +1 -0
- package/dist/bucket-validation.js +109 -0
- package/dist/bucket-validation.js.map +1 -0
- package/dist/bucket.cjs +125 -74
- package/dist/bucket.cjs.map +1 -1
- package/dist/bucket.d.cts +156 -61
- package/dist/bucket.d.cts.map +1 -1
- package/dist/bucket.d.ts +156 -61
- package/dist/bucket.d.ts.map +1 -1
- package/dist/bucket.js +125 -74
- package/dist/bucket.js.map +1 -1
- package/dist/client.cjs +29 -8
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +30 -9
- package/dist/client.d.cts.map +1 -1
- package/dist/client.d.ts +30 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +29 -8
- package/dist/client.js.map +1 -1
- package/dist/copy/large.cjs +5 -3
- package/dist/copy/large.cjs.map +1 -1
- package/dist/copy/large.d.cts.map +1 -1
- package/dist/copy/large.d.ts.map +1 -1
- package/dist/copy/large.js +5 -3
- package/dist/copy/large.js.map +1 -1
- package/dist/download/checksum.cjs +6 -2
- package/dist/download/checksum.cjs.map +1 -1
- package/dist/download/checksum.js +6 -2
- package/dist/download/checksum.js.map +1 -1
- package/dist/download/parallel.cjs +52 -15
- package/dist/download/parallel.cjs.map +1 -1
- package/dist/download/parallel.d.cts +8 -1
- package/dist/download/parallel.d.cts.map +1 -1
- package/dist/download/parallel.d.ts +8 -1
- package/dist/download/parallel.d.ts.map +1 -1
- package/dist/download/parallel.js +52 -15
- package/dist/download/parallel.js.map +1 -1
- package/dist/download/single.cjs +179 -19
- package/dist/download/single.cjs.map +1 -1
- package/dist/download/single.d.cts +10 -4
- package/dist/download/single.d.cts.map +1 -1
- package/dist/download/single.d.ts +10 -4
- package/dist/download/single.d.ts.map +1 -1
- package/dist/download/single.js +179 -19
- package/dist/download/single.js.map +1 -1
- package/dist/errors/index.cjs +196 -3
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +134 -0
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +134 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +183 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/http/non-idempotent-mutations.cjs +38 -0
- package/dist/http/non-idempotent-mutations.cjs.map +1 -0
- package/dist/http/non-idempotent-mutations.d.cts +25 -0
- package/dist/http/non-idempotent-mutations.d.cts.map +1 -0
- package/dist/http/non-idempotent-mutations.d.ts +25 -0
- package/dist/http/non-idempotent-mutations.d.ts.map +1 -0
- package/dist/http/non-idempotent-mutations.js +35 -0
- package/dist/http/non-idempotent-mutations.js.map +1 -0
- package/dist/http/retry.cjs +1 -1
- package/dist/http/retry.cjs.map +1 -1
- package/dist/http/retry.js +1 -1
- package/dist/http/retry.js.map +1 -1
- package/dist/http/transport.cjs +62 -23
- package/dist/http/transport.cjs.map +1 -1
- package/dist/http/transport.d.cts +30 -3
- package/dist/http/transport.d.cts.map +1 -1
- package/dist/http/transport.d.ts +30 -3
- package/dist/http/transport.d.ts.map +1 -1
- package/dist/http/transport.js +60 -22
- package/dist/http/transport.js.map +1 -1
- package/dist/http/user-agent.cjs +12 -1
- package/dist/http/user-agent.cjs.map +1 -1
- package/dist/http/user-agent.d.cts +8 -0
- package/dist/http/user-agent.d.cts.map +1 -1
- package/dist/http/user-agent.d.ts +8 -0
- package/dist/http/user-agent.d.ts.map +1 -1
- package/dist/http/user-agent.js +13 -3
- package/dist/http/user-agent.js.map +1 -1
- package/dist/index.cjs +50 -2
- package/dist/index.d.cts +15 -12
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +15 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -10
- package/dist/notifications/index.cjs +3 -0
- package/dist/notifications/index.d.cts +2 -0
- package/dist/notifications/index.d.cts.map +1 -1
- package/dist/notifications/index.d.ts +2 -0
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +2 -1
- package/dist/object.cjs +13 -2
- package/dist/object.cjs.map +1 -1
- package/dist/object.d.cts +11 -3
- package/dist/object.d.cts.map +1 -1
- package/dist/object.d.ts +11 -3
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +13 -2
- package/dist/object.js.map +1 -1
- package/dist/partner/account-info.d.cts +43 -0
- package/dist/partner/account-info.d.cts.map +1 -0
- package/dist/partner/account-info.d.ts +43 -0
- package/dist/partner/account-info.d.ts.map +1 -0
- package/dist/partner/auth-clone.cjs +64 -0
- package/dist/partner/auth-clone.cjs.map +1 -0
- package/dist/partner/auth-clone.d.cts +27 -0
- package/dist/partner/auth-clone.d.cts.map +1 -0
- package/dist/partner/auth-clone.d.ts +27 -0
- package/dist/partner/auth-clone.d.ts.map +1 -0
- package/dist/partner/auth-clone.js +63 -0
- package/dist/partner/auth-clone.js.map +1 -0
- package/dist/partner/auth-core.cjs +156 -0
- package/dist/partner/auth-core.cjs.map +1 -0
- package/dist/partner/auth-core.d.cts +111 -0
- package/dist/partner/auth-core.d.cts.map +1 -0
- package/dist/partner/auth-core.d.ts +111 -0
- package/dist/partner/auth-core.d.ts.map +1 -0
- package/dist/partner/auth-core.js +156 -0
- package/dist/partner/auth-core.js.map +1 -0
- package/dist/partner/auth-shape.cjs +36 -0
- package/dist/partner/auth-shape.cjs.map +1 -0
- package/dist/partner/auth-shape.d.cts +12 -0
- package/dist/partner/auth-shape.d.cts.map +1 -0
- package/dist/partner/auth-shape.d.ts +12 -0
- package/dist/partner/auth-shape.d.ts.map +1 -0
- package/dist/partner/auth-shape.js +36 -0
- package/dist/partner/auth-shape.js.map +1 -0
- package/dist/partner/client.cjs +270 -0
- package/dist/partner/client.cjs.map +1 -0
- package/dist/partner/client.d.cts +357 -0
- package/dist/partner/client.d.cts.map +1 -0
- package/dist/partner/client.d.ts +357 -0
- package/dist/partner/client.d.ts.map +1 -0
- package/dist/partner/client.js +270 -0
- package/dist/partner/client.js.map +1 -0
- package/dist/partner/endpoint-url.cjs +109 -0
- package/dist/partner/endpoint-url.cjs.map +1 -0
- package/dist/partner/endpoint-url.d.cts +74 -0
- package/dist/partner/endpoint-url.d.cts.map +1 -0
- package/dist/partner/endpoint-url.d.ts +74 -0
- package/dist/partner/endpoint-url.d.ts.map +1 -0
- package/dist/partner/endpoint-url.js +106 -0
- package/dist/partner/endpoint-url.js.map +1 -0
- package/dist/partner/in-memory.cjs +135 -0
- package/dist/partner/in-memory.cjs.map +1 -0
- package/dist/partner/in-memory.d.cts +99 -0
- package/dist/partner/in-memory.d.cts.map +1 -0
- package/dist/partner/in-memory.d.ts +99 -0
- package/dist/partner/in-memory.d.ts.map +1 -0
- package/dist/partner/in-memory.js +135 -0
- package/dist/partner/in-memory.js.map +1 -0
- package/dist/partner/index.cjs +27 -0
- package/dist/partner/index.d.cts +32 -0
- package/dist/partner/index.d.cts.map +1 -0
- package/dist/partner/index.d.ts +32 -0
- package/dist/partner/index.d.ts.map +1 -0
- package/dist/partner/index.js +9 -0
- package/dist/partner/raw.cjs +400 -0
- package/dist/partner/raw.cjs.map +1 -0
- package/dist/partner/raw.d.cts +220 -0
- package/dist/partner/raw.d.cts.map +1 -0
- package/dist/partner/raw.d.ts +220 -0
- package/dist/partner/raw.d.ts.map +1 -0
- package/dist/partner/raw.js +398 -0
- package/dist/partner/raw.js.map +1 -0
- package/dist/partner/redaction-placeholders.cjs +10 -0
- package/dist/partner/redaction-placeholders.cjs.map +1 -0
- package/dist/partner/redaction-placeholders.d.cts +5 -0
- package/dist/partner/redaction-placeholders.d.cts.map +1 -0
- package/dist/partner/redaction-placeholders.d.ts +5 -0
- package/dist/partner/redaction-placeholders.d.ts.map +1 -0
- package/dist/partner/redaction-placeholders.js +9 -0
- package/dist/partner/redaction-placeholders.js.map +1 -0
- package/dist/partner/redaction.cjs +292 -0
- package/dist/partner/redaction.cjs.map +1 -0
- package/dist/partner/redaction.d.cts +158 -0
- package/dist/partner/redaction.d.cts.map +1 -0
- package/dist/partner/redaction.d.ts +158 -0
- package/dist/partner/redaction.d.ts.map +1 -0
- package/dist/partner/redaction.js +281 -0
- package/dist/partner/redaction.js.map +1 -0
- package/dist/raw/encoding.cjs +29 -10
- package/dist/raw/encoding.cjs.map +1 -1
- package/dist/raw/encoding.d.cts +3 -2
- package/dist/raw/encoding.d.cts.map +1 -1
- package/dist/raw/encoding.d.ts +3 -2
- package/dist/raw/encoding.d.ts.map +1 -1
- package/dist/raw/encoding.js +29 -10
- package/dist/raw/encoding.js.map +1 -1
- package/dist/raw/index.cjs +131 -44
- package/dist/raw/index.cjs.map +1 -1
- package/dist/raw/index.d.cts +21 -15
- package/dist/raw/index.d.cts.map +1 -1
- package/dist/raw/index.d.ts +21 -15
- package/dist/raw/index.d.ts.map +1 -1
- package/dist/raw/index.js +114 -45
- package/dist/raw/index.js.map +1 -1
- package/dist/raw/url.cjs +111 -0
- package/dist/raw/url.cjs.map +1 -0
- package/dist/raw/url.d.cts +41 -0
- package/dist/raw/url.d.cts.map +1 -0
- package/dist/raw/url.d.ts +41 -0
- package/dist/raw/url.d.ts.map +1 -0
- package/dist/raw/url.js +110 -0
- package/dist/raw/url.js.map +1 -0
- package/dist/s3/sigv4.cjs +15 -10
- package/dist/s3/sigv4.cjs.map +1 -1
- package/dist/s3/sigv4.js +15 -10
- package/dist/s3/sigv4.js.map +1 -1
- package/dist/simulator/index.cjs +1579 -257
- package/dist/simulator/index.cjs.map +1 -1
- package/dist/simulator/index.d.cts +124 -11
- package/dist/simulator/index.d.cts.map +1 -1
- package/dist/simulator/index.d.ts +124 -11
- package/dist/simulator/index.d.ts.map +1 -1
- package/dist/simulator/index.js +1568 -262
- package/dist/simulator/index.js.map +1 -1
- package/dist/simulator/partner-capabilities.cjs +77 -0
- package/dist/simulator/partner-capabilities.cjs.map +1 -0
- package/dist/simulator/partner-capabilities.d.cts +53 -0
- package/dist/simulator/partner-capabilities.d.cts.map +1 -0
- package/dist/simulator/partner-capabilities.d.ts +53 -0
- package/dist/simulator/partner-capabilities.d.ts.map +1 -0
- package/dist/simulator/partner-capabilities.js +73 -0
- package/dist/simulator/partner-capabilities.js.map +1 -0
- package/dist/simulator/partner.cjs +713 -0
- package/dist/simulator/partner.cjs.map +1 -0
- package/dist/simulator/partner.d.cts +186 -0
- package/dist/simulator/partner.d.cts.map +1 -0
- package/dist/simulator/partner.d.ts +186 -0
- package/dist/simulator/partner.d.ts.map +1 -0
- package/dist/simulator/partner.js +713 -0
- package/dist/simulator/partner.js.map +1 -0
- package/dist/simulator/validation.cjs +732 -25
- package/dist/simulator/validation.cjs.map +1 -1
- package/dist/simulator/validation.d.cts +145 -6
- package/dist/simulator/validation.d.cts.map +1 -1
- package/dist/simulator/validation.d.ts +145 -6
- package/dist/simulator/validation.d.ts.map +1 -1
- package/dist/simulator/validation.js +705 -26
- package/dist/simulator/validation.js.map +1 -1
- package/dist/streams/file-source.cjs +2 -2
- package/dist/streams/file-source.cjs.map +1 -1
- package/dist/streams/file-source.js +2 -2
- package/dist/streams/file-source.js.map +1 -1
- package/dist/streams/hash.cjs +246 -13
- package/dist/streams/hash.cjs.map +1 -1
- package/dist/streams/hash.d.cts +37 -12
- package/dist/streams/hash.d.cts.map +1 -1
- package/dist/streams/hash.d.ts +37 -12
- package/dist/streams/hash.d.ts.map +1 -1
- package/dist/streams/hash.js +246 -15
- package/dist/streams/hash.js.map +1 -1
- package/dist/streams/index.cjs +3 -1
- package/dist/streams/index.d.cts +1 -1
- package/dist/streams/index.d.cts.map +1 -1
- package/dist/streams/index.d.ts +1 -1
- package/dist/streams/index.d.ts.map +1 -1
- package/dist/streams/index.js +3 -3
- package/dist/streams/progress.cjs +63 -4
- package/dist/streams/progress.cjs.map +1 -1
- package/dist/streams/progress.d.cts +28 -2
- package/dist/streams/progress.d.cts.map +1 -1
- package/dist/streams/progress.d.ts +28 -2
- package/dist/streams/progress.d.ts.map +1 -1
- package/dist/streams/progress.js +63 -4
- package/dist/streams/progress.js.map +1 -1
- package/dist/streams/source.cjs +2 -1
- package/dist/streams/source.cjs.map +1 -1
- package/dist/streams/source.js +2 -1
- package/dist/streams/source.js.map +1 -1
- package/dist/sync/b2-sha1-reader.cjs +6 -2
- package/dist/sync/b2-sha1-reader.cjs.map +1 -1
- package/dist/sync/b2-sha1-reader.d.cts.map +1 -1
- package/dist/sync/b2-sha1-reader.d.ts.map +1 -1
- package/dist/sync/b2-sha1-reader.js +6 -2
- package/dist/sync/b2-sha1-reader.js.map +1 -1
- package/dist/sync/download-staging.cjs +156 -43
- package/dist/sync/download-staging.cjs.map +1 -1
- package/dist/sync/download-staging.d.cts +26 -2
- package/dist/sync/download-staging.d.cts.map +1 -1
- package/dist/sync/download-staging.d.ts +26 -2
- package/dist/sync/download-staging.d.ts.map +1 -1
- package/dist/sync/download-staging.js +155 -44
- package/dist/sync/download-staging.js.map +1 -1
- package/dist/sync/filters.cjs.map +1 -1
- package/dist/sync/filters.js.map +1 -1
- package/dist/sync/index.d.cts +1 -1
- package/dist/sync/index.d.cts.map +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/local-file-io.cjs +15 -6
- package/dist/sync/local-file-io.cjs.map +1 -1
- package/dist/sync/local-file-io.d.cts +3 -0
- package/dist/sync/local-file-io.d.cts.map +1 -1
- package/dist/sync/local-file-io.d.ts +3 -0
- package/dist/sync/local-file-io.d.ts.map +1 -1
- package/dist/sync/local-file-io.js +15 -6
- package/dist/sync/local-file-io.js.map +1 -1
- package/dist/sync/local-sha1.cjs +6 -15
- package/dist/sync/local-sha1.cjs.map +1 -1
- package/dist/sync/local-sha1.d.cts +0 -8
- package/dist/sync/local-sha1.d.cts.map +1 -1
- package/dist/sync/local-sha1.d.ts +0 -8
- package/dist/sync/local-sha1.d.ts.map +1 -1
- package/dist/sync/local-sha1.js +7 -15
- package/dist/sync/local-sha1.js.map +1 -1
- package/dist/sync/pairing.cjs +1 -0
- package/dist/sync/pairing.cjs.map +1 -1
- package/dist/sync/pairing.js +1 -0
- package/dist/sync/pairing.js.map +1 -1
- package/dist/sync/policies/compare.cjs +5 -3
- package/dist/sync/policies/compare.cjs.map +1 -1
- package/dist/sync/policies/compare.d.cts.map +1 -1
- package/dist/sync/policies/compare.d.ts.map +1 -1
- package/dist/sync/policies/compare.js +6 -4
- package/dist/sync/policies/compare.js.map +1 -1
- package/dist/sync/policies/index.cjs +4 -10
- package/dist/sync/policies/index.cjs.map +1 -1
- package/dist/sync/policies/index.js +4 -10
- package/dist/sync/policies/index.js.map +1 -1
- package/dist/sync/scanners/b2.cjs +4 -2
- package/dist/sync/scanners/b2.cjs.map +1 -1
- package/dist/sync/scanners/b2.d.cts.map +1 -1
- package/dist/sync/scanners/b2.d.ts.map +1 -1
- package/dist/sync/scanners/b2.js +4 -2
- package/dist/sync/scanners/b2.js.map +1 -1
- package/dist/sync/scanners/local.cjs +150 -33
- package/dist/sync/scanners/local.cjs.map +1 -1
- package/dist/sync/scanners/local.d.cts +6 -0
- package/dist/sync/scanners/local.d.cts.map +1 -1
- package/dist/sync/scanners/local.d.ts +6 -0
- package/dist/sync/scanners/local.d.ts.map +1 -1
- package/dist/sync/scanners/local.js +150 -33
- package/dist/sync/scanners/local.js.map +1 -1
- package/dist/sync/synchronizer.cjs +79 -31
- package/dist/sync/synchronizer.cjs.map +1 -1
- package/dist/sync/synchronizer.d.cts +1 -0
- package/dist/sync/synchronizer.d.cts.map +1 -1
- package/dist/sync/synchronizer.d.ts +1 -0
- package/dist/sync/synchronizer.d.ts.map +1 -1
- package/dist/sync/synchronizer.js +79 -31
- package/dist/sync/synchronizer.js.map +1 -1
- package/dist/sync/types.d.cts +19 -3
- package/dist/sync/types.d.cts.map +1 -1
- package/dist/sync/types.d.ts +19 -3
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/types/auth.cjs +4 -0
- package/dist/types/auth.cjs.map +1 -1
- package/dist/types/auth.d.cts +4 -0
- package/dist/types/auth.d.cts.map +1 -1
- package/dist/types/auth.d.ts +4 -0
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +4 -0
- package/dist/types/auth.js.map +1 -1
- package/dist/types/backup.d.cts +85 -0
- package/dist/types/backup.d.cts.map +1 -0
- package/dist/types/backup.d.ts +85 -0
- package/dist/types/backup.d.ts.map +1 -0
- package/dist/types/bucket.cjs +81 -11
- package/dist/types/bucket.cjs.map +1 -1
- package/dist/types/bucket.d.cts +194 -41
- package/dist/types/bucket.d.cts.map +1 -1
- package/dist/types/bucket.d.ts +194 -41
- package/dist/types/bucket.d.ts.map +1 -1
- package/dist/types/bucket.js +67 -12
- package/dist/types/bucket.js.map +1 -1
- package/dist/types/download.cjs +62 -0
- package/dist/types/download.cjs.map +1 -0
- package/dist/types/download.d.cts +100 -16
- package/dist/types/download.d.cts.map +1 -1
- package/dist/types/download.d.ts +100 -16
- package/dist/types/download.d.ts.map +1 -1
- package/dist/types/download.js +61 -0
- package/dist/types/download.js.map +1 -0
- package/dist/types/encryption.cjs +76 -229
- package/dist/types/encryption.cjs.map +1 -1
- package/dist/types/encryption.d.cts +48 -6
- package/dist/types/encryption.d.cts.map +1 -1
- package/dist/types/encryption.d.ts +48 -6
- package/dist/types/encryption.d.ts.map +1 -1
- package/dist/types/encryption.js +74 -229
- package/dist/types/encryption.js.map +1 -1
- package/dist/types/errors.cjs +9 -0
- package/dist/types/errors.cjs.map +1 -1
- package/dist/types/errors.d.cts +1 -1
- package/dist/types/errors.d.cts.map +1 -1
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +9 -0
- package/dist/types/errors.js.map +1 -1
- package/dist/types/file.cjs +3 -0
- package/dist/types/file.cjs.map +1 -1
- package/dist/types/file.d.cts +140 -18
- package/dist/types/file.d.cts.map +1 -1
- package/dist/types/file.d.ts +140 -18
- package/dist/types/file.d.ts.map +1 -1
- package/dist/types/file.js +3 -1
- package/dist/types/file.js.map +1 -1
- package/dist/types/ids.cjs +30 -0
- package/dist/types/ids.cjs.map +1 -1
- package/dist/types/ids.d.cts +32 -0
- package/dist/types/ids.d.cts.map +1 -1
- package/dist/types/ids.d.ts +32 -0
- package/dist/types/ids.d.ts.map +1 -1
- package/dist/types/ids.js +28 -1
- package/dist/types/ids.js.map +1 -1
- package/dist/types/index.d.cts +16 -12
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +16 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/key.d.cts +4 -3
- package/dist/types/key.d.cts.map +1 -1
- package/dist/types/key.d.ts +4 -3
- package/dist/types/key.d.ts.map +1 -1
- package/dist/types/lock.cjs.map +1 -1
- package/dist/types/lock.d.cts +14 -0
- package/dist/types/lock.d.cts.map +1 -1
- package/dist/types/lock.d.ts +14 -0
- package/dist/types/lock.d.ts.map +1 -1
- package/dist/types/lock.js.map +1 -1
- package/dist/types/notifications.cjs +31 -1
- package/dist/types/notifications.cjs.map +1 -1
- package/dist/types/notifications.d.cts +31 -4
- package/dist/types/notifications.d.cts.map +1 -1
- package/dist/types/notifications.d.ts +31 -4
- package/dist/types/notifications.d.ts.map +1 -1
- package/dist/types/notifications.js +30 -2
- package/dist/types/notifications.js.map +1 -1
- package/dist/types/partner.cjs +32 -0
- package/dist/types/partner.cjs.map +1 -0
- package/dist/types/partner.d.cts +386 -0
- package/dist/types/partner.d.cts.map +1 -0
- package/dist/types/partner.d.ts +386 -0
- package/dist/types/partner.d.ts.map +1 -0
- package/dist/types/partner.js +29 -0
- package/dist/types/partner.js.map +1 -0
- package/dist/types/upload.d.cts +35 -18
- package/dist/types/upload.d.cts.map +1 -1
- package/dist/types/upload.d.ts +35 -18
- package/dist/types/upload.d.ts.map +1 -1
- package/dist/upload/abort-scope.cjs +0 -45
- package/dist/upload/abort-scope.cjs.map +1 -1
- package/dist/upload/abort-scope.d.cts +0 -22
- package/dist/upload/abort-scope.d.cts.map +1 -1
- package/dist/upload/abort-scope.d.ts +0 -22
- package/dist/upload/abort-scope.d.ts.map +1 -1
- package/dist/upload/abort-scope.js +1 -44
- package/dist/upload/abort-scope.js.map +1 -1
- package/dist/upload/finish.cjs +3 -8
- package/dist/upload/finish.cjs.map +1 -1
- package/dist/upload/finish.d.cts.map +1 -1
- package/dist/upload/finish.d.ts.map +1 -1
- package/dist/upload/finish.js +1 -6
- package/dist/upload/finish.js.map +1 -1
- package/dist/upload/large.cjs +15 -8
- package/dist/upload/large.cjs.map +1 -1
- package/dist/upload/large.d.cts +31 -8
- package/dist/upload/large.d.cts.map +1 -1
- package/dist/upload/large.d.ts +31 -8
- package/dist/upload/large.d.ts.map +1 -1
- package/dist/upload/large.js +15 -8
- package/dist/upload/large.js.map +1 -1
- package/dist/upload/options.cjs.map +1 -1
- package/dist/upload/options.d.cts +24 -0
- package/dist/upload/options.d.cts.map +1 -1
- package/dist/upload/options.d.ts +24 -0
- package/dist/upload/options.d.ts.map +1 -1
- package/dist/upload/options.js.map +1 -1
- package/dist/upload/resume.cjs +6 -4
- package/dist/upload/resume.cjs.map +1 -1
- package/dist/upload/resume.d.cts +9 -5
- package/dist/upload/resume.d.cts.map +1 -1
- package/dist/upload/resume.d.ts +9 -5
- package/dist/upload/resume.d.ts.map +1 -1
- package/dist/upload/resume.js +6 -4
- package/dist/upload/resume.js.map +1 -1
- package/dist/upload/retry.cjs +25 -13
- package/dist/upload/retry.cjs.map +1 -1
- package/dist/upload/retry.d.cts.map +1 -1
- package/dist/upload/retry.d.ts.map +1 -1
- package/dist/upload/retry.js +25 -13
- package/dist/upload/retry.js.map +1 -1
- package/dist/upload/single.cjs +35 -30
- package/dist/upload/single.cjs.map +1 -1
- package/dist/upload/single.d.cts +12 -0
- package/dist/upload/single.d.cts.map +1 -1
- package/dist/upload/single.d.ts +12 -0
- package/dist/upload/single.d.ts.map +1 -1
- package/dist/upload/single.js +35 -30
- package/dist/upload/single.js.map +1 -1
- package/dist/upload/stream.cjs +18 -5
- package/dist/upload/stream.cjs.map +1 -1
- package/dist/upload/stream.d.cts +12 -0
- package/dist/upload/stream.d.cts.map +1 -1
- package/dist/upload/stream.d.ts +12 -0
- package/dist/upload/stream.d.ts.map +1 -1
- package/dist/upload/stream.js +15 -2
- package/dist/upload/stream.js.map +1 -1
- package/dist/util/abort.cjs +114 -0
- package/dist/util/abort.cjs.map +1 -0
- package/dist/util/abort.d.cts +65 -0
- package/dist/util/abort.d.cts.map +1 -0
- package/dist/util/abort.d.ts +65 -0
- package/dist/util/abort.d.ts.map +1 -0
- package/dist/util/abort.js +109 -0
- package/dist/util/abort.js.map +1 -0
- package/dist/util/defaults.cjs +3 -0
- package/dist/util/defaults.cjs.map +1 -1
- package/dist/util/defaults.d.cts +2 -0
- package/dist/util/defaults.d.cts.map +1 -1
- package/dist/util/defaults.d.ts +2 -0
- package/dist/util/defaults.d.ts.map +1 -1
- package/dist/util/defaults.js +3 -1
- package/dist/util/defaults.js.map +1 -1
- package/dist/util/md5.cjs +211 -0
- package/dist/util/md5.cjs.map +1 -0
- package/dist/util/md5.d.cts +43 -0
- package/dist/util/md5.d.cts.map +1 -0
- package/dist/util/md5.d.ts +43 -0
- package/dist/util/md5.d.ts.map +1 -0
- package/dist/util/md5.js +209 -0
- package/dist/util/md5.js.map +1 -0
- package/dist/util/normalize.cjs +5 -5
- package/dist/util/normalize.cjs.map +1 -1
- package/dist/util/normalize.d.cts +7 -7
- package/dist/util/normalize.d.cts.map +1 -1
- package/dist/util/normalize.d.ts +7 -7
- package/dist/util/normalize.d.ts.map +1 -1
- package/dist/util/normalize.js +5 -5
- package/dist/util/normalize.js.map +1 -1
- package/dist/util/paginator.cjs +7 -1
- package/dist/util/paginator.cjs.map +1 -1
- package/dist/util/paginator.d.cts +3 -1
- package/dist/util/paginator.d.cts.map +1 -1
- package/dist/util/paginator.d.ts +3 -1
- package/dist/util/paginator.d.ts.map +1 -1
- package/dist/util/paginator.js +7 -1
- package/dist/util/paginator.js.map +1 -1
- package/dist/version.cjs +56 -4
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.cts +53 -4
- package/dist/version.d.cts.map +1 -1
- package/dist/version.d.ts +53 -4
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +52 -5
- package/dist/version.js.map +1 -1
- package/package.json +47 -18
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HttpTransport } from '../http/transport.js';
|
|
2
2
|
import { FileVersion } from '../types/file.js';
|
|
3
3
|
import { EventNotificationRule } from '../types/notifications.js';
|
|
4
|
-
|
|
4
|
+
import { PartnerCapability } from '../types/partner.js';
|
|
5
|
+
export { BUCKET_INFO_KEY_MAX_BYTES, BUCKET_INFO_KEY_MIN_BYTES, BUCKET_INFO_KEY_PATTERN, BUCKET_INFO_MAX_KEYS, BUCKET_INFO_RESERVED_PREFIX, BUCKET_INFO_VALUE_MAX, BUCKET_INFO_VALUES_MAX_BYTES, BUCKET_NAME_MAX, BUCKET_NAME_MIN, CORS_MAX_AGE_SECONDS_MAX, CORS_RULE_MAX_BYTES, CORS_RULE_NAME_MAX_LENGTH, CORS_RULE_NAME_MIN_LENGTH, CORS_RULE_NAME_PATTERN, CORS_RULE_NAME_RESERVED_PREFIX, CORS_RULES_MAX_COUNT, DOWNLOAD_AUTH_DURATION_MAX_SECONDS, DOWNLOAD_AUTH_DURATION_MIN_SECONDS, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, KEY_NAME_MAX, KEY_NAME_MIN, LIST_ENDPOINT_CAPS, } from './validation.js';
|
|
5
6
|
/** JSON response returned by {@link B2Simulator.handleRequest} and {@link B2Simulator.handleUpload}. */
|
|
6
7
|
export interface SimulatorJsonResponse {
|
|
7
8
|
/** HTTP status code. */
|
|
@@ -135,8 +136,12 @@ export interface B2SimulatorOptions {
|
|
|
135
136
|
* checks, bucket scoping, prefix scoping, and auth-token expiry on
|
|
136
137
|
* every request. The default `false` keeps the simulator permissive
|
|
137
138
|
* for account/application-key authorization (matching its
|
|
138
|
-
* long-standing behaviour)
|
|
139
|
-
*
|
|
139
|
+
* long-standing behaviour): any well-formed Basic credential whose
|
|
140
|
+
* applicationKeyId is not a simulator-created key receives the
|
|
141
|
+
* implicit master grant, so tests do not have to set up keys with
|
|
142
|
+
* the right capabilities. Created keys always authorize with their
|
|
143
|
+
* stored capabilities, bucket scope, name prefix, and expiration;
|
|
144
|
+
* a wrong or expired created-key secret is rejected.
|
|
140
145
|
*
|
|
141
146
|
* Upload authorization tokens returned by `b2_get_upload_url` and
|
|
142
147
|
* `b2_get_upload_part_url` are always enforced, regardless of this
|
|
@@ -145,6 +150,9 @@ export interface B2SimulatorOptions {
|
|
|
145
150
|
*
|
|
146
151
|
* In strict mode:
|
|
147
152
|
*
|
|
153
|
+
* - `b2_authorize_account` still accepts the documented implicit
|
|
154
|
+
* master credentials `test-key-id:test-key` and
|
|
155
|
+
* `master-key-id:master-key`.
|
|
148
156
|
* - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
|
|
149
157
|
* - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
|
|
150
158
|
* - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
|
|
@@ -164,6 +172,52 @@ export interface B2SimulatorOptions {
|
|
|
164
172
|
* rejected at the exact expiry boundary.
|
|
165
173
|
*/
|
|
166
174
|
authTokenTtlMs?: number;
|
|
175
|
+
/**
|
|
176
|
+
* When `true`, v3 `b2_authorize_account` responses include Partner and
|
|
177
|
+
* Computer Backup suites and issue Partner authorization tokens. Partner
|
|
178
|
+
* and Backup endpoint calls then require one of those issued tokens, even
|
|
179
|
+
* when `strictAuth` is otherwise disabled, so SDK auth-error paths can test
|
|
180
|
+
* documented 401 responses.
|
|
181
|
+
*
|
|
182
|
+
* Defaults to `false`: direct Partner/Backup endpoint tests remain
|
|
183
|
+
* permissive and accept any non-empty, whitespace-free Partner token without
|
|
184
|
+
* requiring an authorize call first.
|
|
185
|
+
*/
|
|
186
|
+
partnerAuthorize?: boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Partner API suite capabilities granted by simulator-issued Partner
|
|
189
|
+
* authorization tokens. Defaults to `['all']`.
|
|
190
|
+
*/
|
|
191
|
+
partnerGroupsCapabilities?: readonly PartnerCapability[];
|
|
192
|
+
/**
|
|
193
|
+
* Computer Backup API suite capabilities granted by simulator-issued
|
|
194
|
+
* Partner authorization tokens. Defaults to `['all']`.
|
|
195
|
+
*/
|
|
196
|
+
partnerBackupCapabilities?: readonly PartnerCapability[];
|
|
197
|
+
/**
|
|
198
|
+
* Whether Partner API endpoints should accept issued Partner authorization
|
|
199
|
+
* tokens. Defaults to `true`. Set to `false` to exercise documented
|
|
200
|
+
* `403 access_denied` prerequisite failures.
|
|
201
|
+
*/
|
|
202
|
+
partnerApiEnabled?: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Whether the simulated partner administrator has a valid phone number.
|
|
205
|
+
* Defaults to `true`; `false` produces Partner prerequisite failures
|
|
206
|
+
* such as `403 access_denied` or `401 invalid_sms_phone` depending on
|
|
207
|
+
* the endpoint's documented error shape.
|
|
208
|
+
*/
|
|
209
|
+
partnerAccountHasValidPhone?: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Whether the simulated partner administrator account is in good standing.
|
|
212
|
+
* Defaults to `true`; `false` produces `403 access_denied` on Partner calls.
|
|
213
|
+
*/
|
|
214
|
+
partnerAccountInGoodStanding?: boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Whether the simulated account may set custom upload timestamps on
|
|
217
|
+
* `b2_upload_file` and `b2_start_large_file`. Defaults to `false`, matching
|
|
218
|
+
* production accounts without the restricted feature enabled.
|
|
219
|
+
*/
|
|
220
|
+
customUploadTimestampsEnabled?: boolean;
|
|
167
221
|
}
|
|
168
222
|
/**
|
|
169
223
|
* In-memory B2 simulator for testing. Implements the B2 native API at the
|
|
@@ -180,6 +234,15 @@ export interface B2SimulatorOptions {
|
|
|
180
234
|
* })
|
|
181
235
|
* await client.authorize()
|
|
182
236
|
* ```
|
|
237
|
+
*
|
|
238
|
+
* `test-key-id:test-key` is the documented implicit full-access
|
|
239
|
+
* storage credential. `master-key-id:master-key` is also accepted for
|
|
240
|
+
* tests that share storage and Partner simulator credentials. In the
|
|
241
|
+
* default permissive mode, other well-formed Basic credentials whose
|
|
242
|
+
* applicationKeyId was not minted by `b2_create_key` receive the same
|
|
243
|
+
* implicit master grant for backward compatibility. A simulator-created
|
|
244
|
+
* key always authorizes with its own capabilities, bucket restrictions,
|
|
245
|
+
* name prefix, and expiration.
|
|
183
246
|
*/
|
|
184
247
|
export declare class B2Simulator {
|
|
185
248
|
private readonly buckets;
|
|
@@ -196,6 +259,8 @@ export declare class B2Simulator {
|
|
|
196
259
|
private readonly onHookError?;
|
|
197
260
|
private readonly strictAuth;
|
|
198
261
|
private readonly authTokenTtlMs;
|
|
262
|
+
private readonly customUploadTimestampsEnabled;
|
|
263
|
+
private readonly partner;
|
|
199
264
|
/**
|
|
200
265
|
* Issued auth tokens with their associated grant scope + expiry. In
|
|
201
266
|
* permissive mode (`strictAuth: false`) this is still populated by
|
|
@@ -211,6 +276,8 @@ export declare class B2Simulator {
|
|
|
211
276
|
* state for tests.
|
|
212
277
|
*/
|
|
213
278
|
private readonly uploadTokens;
|
|
279
|
+
private readonly downloadAuthorizationTokens;
|
|
280
|
+
private readonly downloadAuthorizationExpiryHeap;
|
|
214
281
|
/**
|
|
215
282
|
* Virtual-clock offset applied to `Date.now()` for expiry checks.
|
|
216
283
|
* Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
|
|
@@ -282,6 +349,7 @@ export declare class B2Simulator {
|
|
|
282
349
|
* @returns Unix milliseconds.
|
|
283
350
|
*/
|
|
284
351
|
private now;
|
|
352
|
+
private isStoredKeyExpired;
|
|
285
353
|
private pruneExpiredUploadTokens;
|
|
286
354
|
private uploadTokenState;
|
|
287
355
|
private encodeUploadAuthorizationToken;
|
|
@@ -331,7 +399,26 @@ export declare class B2Simulator {
|
|
|
331
399
|
* @returns `null` when the request is authorized, otherwise a 401/403 response.
|
|
332
400
|
*/
|
|
333
401
|
private authorizeRequest;
|
|
402
|
+
private authorizeScopeGrant;
|
|
403
|
+
private authorizeDownloadRequest;
|
|
404
|
+
private isExpiredDownloadAuthorizationToken;
|
|
405
|
+
private purgeExpiredDownloadAuthorizationTokens;
|
|
406
|
+
private pushDownloadAuthorizationExpiry;
|
|
407
|
+
private popDownloadAuthorizationExpiry;
|
|
408
|
+
private authorizeDownloadResponseOverrides;
|
|
409
|
+
private downloadAuthorizationFromRequest;
|
|
410
|
+
private requestHasCapability;
|
|
411
|
+
private bucketInfoForResponse;
|
|
412
|
+
private requireFileLockEnabled;
|
|
413
|
+
private requireGovernanceBypass;
|
|
414
|
+
private validateReplicationApplicationKey;
|
|
415
|
+
private invalidReplicationApplicationKey;
|
|
416
|
+
private invalidReplicationDestinationBucket;
|
|
417
|
+
private validateReplicationDestinationBuckets;
|
|
418
|
+
private validateReplicationApplicationKeys;
|
|
334
419
|
private requestScope;
|
|
420
|
+
private createBucketScope;
|
|
421
|
+
private updateBucketScope;
|
|
335
422
|
private listBucketsScope;
|
|
336
423
|
private fileVersionScope;
|
|
337
424
|
private copyFileScope;
|
|
@@ -345,19 +432,24 @@ export declare class B2Simulator {
|
|
|
345
432
|
private uploadUrlMatches;
|
|
346
433
|
private allowedBuckets;
|
|
347
434
|
/**
|
|
348
|
-
*
|
|
435
|
+
* Resolve the application key matching the `Authorization` header on
|
|
349
436
|
* an `authorize_account` request. The header is in the form
|
|
350
437
|
* `Basic base64(applicationKeyId:applicationKey)`.
|
|
351
438
|
*
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* `
|
|
439
|
+
* The simulator has two implicit full-access storage credentials:
|
|
440
|
+
* the documented `test-key-id:test-key` pair used by SDK tests and
|
|
441
|
+
* `master-key-id:master-key`. In default permissive mode, any other
|
|
442
|
+
* well-formed Basic credential whose applicationKeyId is not a stored
|
|
443
|
+
* key also receives that implicit master grant for backward
|
|
444
|
+
* compatibility. A credential whose applicationKeyId matches a stored
|
|
445
|
+
* key must use the stored secret and must not be expired.
|
|
355
446
|
*
|
|
356
447
|
* @param authzHeader - Raw HTTP `Authorization` header value.
|
|
357
448
|
*
|
|
358
|
-
* @returns The
|
|
449
|
+
* @returns The authorizing key's grant scope or the rejection reason.
|
|
359
450
|
*/
|
|
360
|
-
private
|
|
451
|
+
private findAuthorizationGrant;
|
|
452
|
+
private canAuthorizePartner;
|
|
361
453
|
/**
|
|
362
454
|
* Creates an {@link HttpTransport} that routes requests to this simulator.
|
|
363
455
|
* @returns A transport instance backed by this in-memory simulator.
|
|
@@ -417,7 +509,7 @@ export declare class B2Simulator {
|
|
|
417
509
|
consumeMatchingFault(url: string): FaultSpec | null;
|
|
418
510
|
/**
|
|
419
511
|
* Dispatches a JSON API request to the appropriate handler.
|
|
420
|
-
* @param
|
|
512
|
+
* @param method - The HTTP method.
|
|
421
513
|
* @param origin - The request URL origin used for simulator-issued endpoints.
|
|
422
514
|
* @param path - The request URL path containing the B2 endpoint name.
|
|
423
515
|
* @param headers - The HTTP request headers; consulted by the
|
|
@@ -426,7 +518,7 @@ export declare class B2Simulator {
|
|
|
426
518
|
*
|
|
427
519
|
* @returns An object with HTTP status and JSON response body.
|
|
428
520
|
*/
|
|
429
|
-
handleRequest(
|
|
521
|
+
handleRequest(method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
|
|
430
522
|
/**
|
|
431
523
|
* Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
|
|
432
524
|
* Dispatches to the appropriate internal handler based on the URL.
|
|
@@ -437,6 +529,8 @@ export declare class B2Simulator {
|
|
|
437
529
|
* @returns A promise resolving to an object with HTTP status and JSON response body.
|
|
438
530
|
*/
|
|
439
531
|
handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
|
|
532
|
+
private validateContentLength;
|
|
533
|
+
private parseCustomUploadTimestamp;
|
|
440
534
|
/**
|
|
441
535
|
* Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
|
|
442
536
|
* Returns the file data along with B2 response headers.
|
|
@@ -483,18 +577,31 @@ export declare class B2Simulator {
|
|
|
483
577
|
* @returns The SHA-1 string to store, or an error response on mismatch.
|
|
484
578
|
*/
|
|
485
579
|
private resolveUploadSha1;
|
|
580
|
+
private validateUploadPartEncryption;
|
|
486
581
|
private handleUploadPart;
|
|
582
|
+
private parsePartNumberHeader;
|
|
583
|
+
private validatePartNumber;
|
|
487
584
|
private downloadById;
|
|
488
585
|
private downloadByName;
|
|
586
|
+
private validateDownloadEncryption;
|
|
587
|
+
private validateSourceServerSideEncryption;
|
|
588
|
+
private resolveCopyDestinationEncryption;
|
|
589
|
+
private validateCopyPartDestinationEncryption;
|
|
489
590
|
private serveFile;
|
|
591
|
+
private addDownloadEncryptionHeaders;
|
|
592
|
+
private addDownloadObjectLockHeaders;
|
|
490
593
|
private authorize;
|
|
491
594
|
private createBucket;
|
|
492
595
|
private listBuckets;
|
|
493
596
|
private deleteBucket;
|
|
597
|
+
private bucketHasContents;
|
|
494
598
|
private updateBucket;
|
|
495
599
|
private getUploadUrl;
|
|
496
600
|
private listFileNames;
|
|
497
601
|
private listFileVersions;
|
|
602
|
+
private applyListDelimiter;
|
|
603
|
+
private toListEntry;
|
|
604
|
+
private makeFolderListEntry;
|
|
498
605
|
private getFileInfo;
|
|
499
606
|
private hideFile;
|
|
500
607
|
private deleteFileVersion;
|
|
@@ -507,6 +614,8 @@ export declare class B2Simulator {
|
|
|
507
614
|
private listParts;
|
|
508
615
|
private copyPart;
|
|
509
616
|
private getDownloadAuthorization;
|
|
617
|
+
private createKeyCapabilitiesOutsideGrant;
|
|
618
|
+
private createKeyCreatorAccountId;
|
|
510
619
|
private createKey;
|
|
511
620
|
private listKeys;
|
|
512
621
|
private deleteKey;
|
|
@@ -531,6 +640,10 @@ export declare class B2Simulator {
|
|
|
531
640
|
*/
|
|
532
641
|
private findFile;
|
|
533
642
|
private makeFileVersion;
|
|
643
|
+
private newReplicationStatusField;
|
|
644
|
+
private replicationStatusMetadataFor;
|
|
645
|
+
private replicationStatusForNewFile;
|
|
646
|
+
private matchingEnabledReplicationRules;
|
|
534
647
|
private error;
|
|
535
648
|
/**
|
|
536
649
|
* Fire the pluggable post-upload hooks for a file that just landed in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAA6B,aAAa,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { HttpTransport } from '../http/transport.js';
|
|
2
2
|
import { FileVersion } from '../types/file.js';
|
|
3
3
|
import { EventNotificationRule } from '../types/notifications.js';
|
|
4
|
-
|
|
4
|
+
import { PartnerCapability } from '../types/partner.js';
|
|
5
|
+
export { BUCKET_INFO_KEY_MAX_BYTES, BUCKET_INFO_KEY_MIN_BYTES, BUCKET_INFO_KEY_PATTERN, BUCKET_INFO_MAX_KEYS, BUCKET_INFO_RESERVED_PREFIX, BUCKET_INFO_VALUE_MAX, BUCKET_INFO_VALUES_MAX_BYTES, BUCKET_NAME_MAX, BUCKET_NAME_MIN, CORS_MAX_AGE_SECONDS_MAX, CORS_RULE_MAX_BYTES, CORS_RULE_NAME_MAX_LENGTH, CORS_RULE_NAME_MIN_LENGTH, CORS_RULE_NAME_PATTERN, CORS_RULE_NAME_RESERVED_PREFIX, CORS_RULES_MAX_COUNT, DOWNLOAD_AUTH_DURATION_MAX_SECONDS, DOWNLOAD_AUTH_DURATION_MIN_SECONDS, FILE_INFO_TOTAL_MAX, FILE_INFO_VALUE_MAX, FILE_NAME_MAX_BYTES, KEY_NAME_MAX, KEY_NAME_MIN, LIST_ENDPOINT_CAPS, } from './validation.js';
|
|
5
6
|
/** JSON response returned by {@link B2Simulator.handleRequest} and {@link B2Simulator.handleUpload}. */
|
|
6
7
|
export interface SimulatorJsonResponse {
|
|
7
8
|
/** HTTP status code. */
|
|
@@ -135,8 +136,12 @@ export interface B2SimulatorOptions {
|
|
|
135
136
|
* checks, bucket scoping, prefix scoping, and auth-token expiry on
|
|
136
137
|
* every request. The default `false` keeps the simulator permissive
|
|
137
138
|
* for account/application-key authorization (matching its
|
|
138
|
-
* long-standing behaviour)
|
|
139
|
-
*
|
|
139
|
+
* long-standing behaviour): any well-formed Basic credential whose
|
|
140
|
+
* applicationKeyId is not a simulator-created key receives the
|
|
141
|
+
* implicit master grant, so tests do not have to set up keys with
|
|
142
|
+
* the right capabilities. Created keys always authorize with their
|
|
143
|
+
* stored capabilities, bucket scope, name prefix, and expiration;
|
|
144
|
+
* a wrong or expired created-key secret is rejected.
|
|
140
145
|
*
|
|
141
146
|
* Upload authorization tokens returned by `b2_get_upload_url` and
|
|
142
147
|
* `b2_get_upload_part_url` are always enforced, regardless of this
|
|
@@ -145,6 +150,9 @@ export interface B2SimulatorOptions {
|
|
|
145
150
|
*
|
|
146
151
|
* In strict mode:
|
|
147
152
|
*
|
|
153
|
+
* - `b2_authorize_account` still accepts the documented implicit
|
|
154
|
+
* master credentials `test-key-id:test-key` and
|
|
155
|
+
* `master-key-id:master-key`.
|
|
148
156
|
* - Unknown auth tokens return HTTP 401 with code `bad_auth_token`.
|
|
149
157
|
* - Expired tokens (per {@link B2Simulator.advanceTime}) return HTTP 401 with code `expired_auth_token`.
|
|
150
158
|
* - Calls without the required capability for the endpoint return HTTP 403 `unauthorized`.
|
|
@@ -164,6 +172,52 @@ export interface B2SimulatorOptions {
|
|
|
164
172
|
* rejected at the exact expiry boundary.
|
|
165
173
|
*/
|
|
166
174
|
authTokenTtlMs?: number;
|
|
175
|
+
/**
|
|
176
|
+
* When `true`, v3 `b2_authorize_account` responses include Partner and
|
|
177
|
+
* Computer Backup suites and issue Partner authorization tokens. Partner
|
|
178
|
+
* and Backup endpoint calls then require one of those issued tokens, even
|
|
179
|
+
* when `strictAuth` is otherwise disabled, so SDK auth-error paths can test
|
|
180
|
+
* documented 401 responses.
|
|
181
|
+
*
|
|
182
|
+
* Defaults to `false`: direct Partner/Backup endpoint tests remain
|
|
183
|
+
* permissive and accept any non-empty, whitespace-free Partner token without
|
|
184
|
+
* requiring an authorize call first.
|
|
185
|
+
*/
|
|
186
|
+
partnerAuthorize?: boolean;
|
|
187
|
+
/**
|
|
188
|
+
* Partner API suite capabilities granted by simulator-issued Partner
|
|
189
|
+
* authorization tokens. Defaults to `['all']`.
|
|
190
|
+
*/
|
|
191
|
+
partnerGroupsCapabilities?: readonly PartnerCapability[];
|
|
192
|
+
/**
|
|
193
|
+
* Computer Backup API suite capabilities granted by simulator-issued
|
|
194
|
+
* Partner authorization tokens. Defaults to `['all']`.
|
|
195
|
+
*/
|
|
196
|
+
partnerBackupCapabilities?: readonly PartnerCapability[];
|
|
197
|
+
/**
|
|
198
|
+
* Whether Partner API endpoints should accept issued Partner authorization
|
|
199
|
+
* tokens. Defaults to `true`. Set to `false` to exercise documented
|
|
200
|
+
* `403 access_denied` prerequisite failures.
|
|
201
|
+
*/
|
|
202
|
+
partnerApiEnabled?: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Whether the simulated partner administrator has a valid phone number.
|
|
205
|
+
* Defaults to `true`; `false` produces Partner prerequisite failures
|
|
206
|
+
* such as `403 access_denied` or `401 invalid_sms_phone` depending on
|
|
207
|
+
* the endpoint's documented error shape.
|
|
208
|
+
*/
|
|
209
|
+
partnerAccountHasValidPhone?: boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Whether the simulated partner administrator account is in good standing.
|
|
212
|
+
* Defaults to `true`; `false` produces `403 access_denied` on Partner calls.
|
|
213
|
+
*/
|
|
214
|
+
partnerAccountInGoodStanding?: boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Whether the simulated account may set custom upload timestamps on
|
|
217
|
+
* `b2_upload_file` and `b2_start_large_file`. Defaults to `false`, matching
|
|
218
|
+
* production accounts without the restricted feature enabled.
|
|
219
|
+
*/
|
|
220
|
+
customUploadTimestampsEnabled?: boolean;
|
|
167
221
|
}
|
|
168
222
|
/**
|
|
169
223
|
* In-memory B2 simulator for testing. Implements the B2 native API at the
|
|
@@ -180,6 +234,15 @@ export interface B2SimulatorOptions {
|
|
|
180
234
|
* })
|
|
181
235
|
* await client.authorize()
|
|
182
236
|
* ```
|
|
237
|
+
*
|
|
238
|
+
* `test-key-id:test-key` is the documented implicit full-access
|
|
239
|
+
* storage credential. `master-key-id:master-key` is also accepted for
|
|
240
|
+
* tests that share storage and Partner simulator credentials. In the
|
|
241
|
+
* default permissive mode, other well-formed Basic credentials whose
|
|
242
|
+
* applicationKeyId was not minted by `b2_create_key` receive the same
|
|
243
|
+
* implicit master grant for backward compatibility. A simulator-created
|
|
244
|
+
* key always authorizes with its own capabilities, bucket restrictions,
|
|
245
|
+
* name prefix, and expiration.
|
|
183
246
|
*/
|
|
184
247
|
export declare class B2Simulator {
|
|
185
248
|
private readonly buckets;
|
|
@@ -196,6 +259,8 @@ export declare class B2Simulator {
|
|
|
196
259
|
private readonly onHookError?;
|
|
197
260
|
private readonly strictAuth;
|
|
198
261
|
private readonly authTokenTtlMs;
|
|
262
|
+
private readonly customUploadTimestampsEnabled;
|
|
263
|
+
private readonly partner;
|
|
199
264
|
/**
|
|
200
265
|
* Issued auth tokens with their associated grant scope + expiry. In
|
|
201
266
|
* permissive mode (`strictAuth: false`) this is still populated by
|
|
@@ -211,6 +276,8 @@ export declare class B2Simulator {
|
|
|
211
276
|
* state for tests.
|
|
212
277
|
*/
|
|
213
278
|
private readonly uploadTokens;
|
|
279
|
+
private readonly downloadAuthorizationTokens;
|
|
280
|
+
private readonly downloadAuthorizationExpiryHeap;
|
|
214
281
|
/**
|
|
215
282
|
* Virtual-clock offset applied to `Date.now()` for expiry checks.
|
|
216
283
|
* Defaults to 0. Tests advance via {@link advanceTime} to fast-forward
|
|
@@ -282,6 +349,7 @@ export declare class B2Simulator {
|
|
|
282
349
|
* @returns Unix milliseconds.
|
|
283
350
|
*/
|
|
284
351
|
private now;
|
|
352
|
+
private isStoredKeyExpired;
|
|
285
353
|
private pruneExpiredUploadTokens;
|
|
286
354
|
private uploadTokenState;
|
|
287
355
|
private encodeUploadAuthorizationToken;
|
|
@@ -331,7 +399,26 @@ export declare class B2Simulator {
|
|
|
331
399
|
* @returns `null` when the request is authorized, otherwise a 401/403 response.
|
|
332
400
|
*/
|
|
333
401
|
private authorizeRequest;
|
|
402
|
+
private authorizeScopeGrant;
|
|
403
|
+
private authorizeDownloadRequest;
|
|
404
|
+
private isExpiredDownloadAuthorizationToken;
|
|
405
|
+
private purgeExpiredDownloadAuthorizationTokens;
|
|
406
|
+
private pushDownloadAuthorizationExpiry;
|
|
407
|
+
private popDownloadAuthorizationExpiry;
|
|
408
|
+
private authorizeDownloadResponseOverrides;
|
|
409
|
+
private downloadAuthorizationFromRequest;
|
|
410
|
+
private requestHasCapability;
|
|
411
|
+
private bucketInfoForResponse;
|
|
412
|
+
private requireFileLockEnabled;
|
|
413
|
+
private requireGovernanceBypass;
|
|
414
|
+
private validateReplicationApplicationKey;
|
|
415
|
+
private invalidReplicationApplicationKey;
|
|
416
|
+
private invalidReplicationDestinationBucket;
|
|
417
|
+
private validateReplicationDestinationBuckets;
|
|
418
|
+
private validateReplicationApplicationKeys;
|
|
334
419
|
private requestScope;
|
|
420
|
+
private createBucketScope;
|
|
421
|
+
private updateBucketScope;
|
|
335
422
|
private listBucketsScope;
|
|
336
423
|
private fileVersionScope;
|
|
337
424
|
private copyFileScope;
|
|
@@ -345,19 +432,24 @@ export declare class B2Simulator {
|
|
|
345
432
|
private uploadUrlMatches;
|
|
346
433
|
private allowedBuckets;
|
|
347
434
|
/**
|
|
348
|
-
*
|
|
435
|
+
* Resolve the application key matching the `Authorization` header on
|
|
349
436
|
* an `authorize_account` request. The header is in the form
|
|
350
437
|
* `Basic base64(applicationKeyId:applicationKey)`.
|
|
351
438
|
*
|
|
352
|
-
*
|
|
353
|
-
*
|
|
354
|
-
* `
|
|
439
|
+
* The simulator has two implicit full-access storage credentials:
|
|
440
|
+
* the documented `test-key-id:test-key` pair used by SDK tests and
|
|
441
|
+
* `master-key-id:master-key`. In default permissive mode, any other
|
|
442
|
+
* well-formed Basic credential whose applicationKeyId is not a stored
|
|
443
|
+
* key also receives that implicit master grant for backward
|
|
444
|
+
* compatibility. A credential whose applicationKeyId matches a stored
|
|
445
|
+
* key must use the stored secret and must not be expired.
|
|
355
446
|
*
|
|
356
447
|
* @param authzHeader - Raw HTTP `Authorization` header value.
|
|
357
448
|
*
|
|
358
|
-
* @returns The
|
|
449
|
+
* @returns The authorizing key's grant scope or the rejection reason.
|
|
359
450
|
*/
|
|
360
|
-
private
|
|
451
|
+
private findAuthorizationGrant;
|
|
452
|
+
private canAuthorizePartner;
|
|
361
453
|
/**
|
|
362
454
|
* Creates an {@link HttpTransport} that routes requests to this simulator.
|
|
363
455
|
* @returns A transport instance backed by this in-memory simulator.
|
|
@@ -417,7 +509,7 @@ export declare class B2Simulator {
|
|
|
417
509
|
consumeMatchingFault(url: string): FaultSpec | null;
|
|
418
510
|
/**
|
|
419
511
|
* Dispatches a JSON API request to the appropriate handler.
|
|
420
|
-
* @param
|
|
512
|
+
* @param method - The HTTP method.
|
|
421
513
|
* @param origin - The request URL origin used for simulator-issued endpoints.
|
|
422
514
|
* @param path - The request URL path containing the B2 endpoint name.
|
|
423
515
|
* @param headers - The HTTP request headers; consulted by the
|
|
@@ -426,7 +518,7 @@ export declare class B2Simulator {
|
|
|
426
518
|
*
|
|
427
519
|
* @returns An object with HTTP status and JSON response body.
|
|
428
520
|
*/
|
|
429
|
-
handleRequest(
|
|
521
|
+
handleRequest(method: string, origin: string, path: string, headers: Record<string, string>, body: unknown): Promise<SimulatorJsonResponse>;
|
|
430
522
|
/**
|
|
431
523
|
* Handles file and part upload requests (`b2_upload_file`, `b2_upload_part`).
|
|
432
524
|
* Dispatches to the appropriate internal handler based on the URL.
|
|
@@ -437,6 +529,8 @@ export declare class B2Simulator {
|
|
|
437
529
|
* @returns A promise resolving to an object with HTTP status and JSON response body.
|
|
438
530
|
*/
|
|
439
531
|
handleUpload(url: string, headers: Record<string, string>, data: Uint8Array): Promise<SimulatorJsonResponse>;
|
|
532
|
+
private validateContentLength;
|
|
533
|
+
private parseCustomUploadTimestamp;
|
|
440
534
|
/**
|
|
441
535
|
* Handles file download requests (`b2_download_file_by_id`, `/file/` by name).
|
|
442
536
|
* Returns the file data along with B2 response headers.
|
|
@@ -483,18 +577,31 @@ export declare class B2Simulator {
|
|
|
483
577
|
* @returns The SHA-1 string to store, or an error response on mismatch.
|
|
484
578
|
*/
|
|
485
579
|
private resolveUploadSha1;
|
|
580
|
+
private validateUploadPartEncryption;
|
|
486
581
|
private handleUploadPart;
|
|
582
|
+
private parsePartNumberHeader;
|
|
583
|
+
private validatePartNumber;
|
|
487
584
|
private downloadById;
|
|
488
585
|
private downloadByName;
|
|
586
|
+
private validateDownloadEncryption;
|
|
587
|
+
private validateSourceServerSideEncryption;
|
|
588
|
+
private resolveCopyDestinationEncryption;
|
|
589
|
+
private validateCopyPartDestinationEncryption;
|
|
489
590
|
private serveFile;
|
|
591
|
+
private addDownloadEncryptionHeaders;
|
|
592
|
+
private addDownloadObjectLockHeaders;
|
|
490
593
|
private authorize;
|
|
491
594
|
private createBucket;
|
|
492
595
|
private listBuckets;
|
|
493
596
|
private deleteBucket;
|
|
597
|
+
private bucketHasContents;
|
|
494
598
|
private updateBucket;
|
|
495
599
|
private getUploadUrl;
|
|
496
600
|
private listFileNames;
|
|
497
601
|
private listFileVersions;
|
|
602
|
+
private applyListDelimiter;
|
|
603
|
+
private toListEntry;
|
|
604
|
+
private makeFolderListEntry;
|
|
498
605
|
private getFileInfo;
|
|
499
606
|
private hideFile;
|
|
500
607
|
private deleteFileVersion;
|
|
@@ -507,6 +614,8 @@ export declare class B2Simulator {
|
|
|
507
614
|
private listParts;
|
|
508
615
|
private copyPart;
|
|
509
616
|
private getDownloadAuthorization;
|
|
617
|
+
private createKeyCapabilitiesOutsideGrant;
|
|
618
|
+
private createKeyCreatorAccountId;
|
|
510
619
|
private createKey;
|
|
511
620
|
private listKeys;
|
|
512
621
|
private deleteKey;
|
|
@@ -531,6 +640,10 @@ export declare class B2Simulator {
|
|
|
531
640
|
*/
|
|
532
641
|
private findFile;
|
|
533
642
|
private makeFileVersion;
|
|
643
|
+
private newReplicationStatusField;
|
|
644
|
+
private replicationStatusMetadataFor;
|
|
645
|
+
private replicationStatusForNewFile;
|
|
646
|
+
private matchingEnabledReplicationRules;
|
|
534
647
|
private error;
|
|
535
648
|
/**
|
|
536
649
|
* Fire the pluggable post-upload hooks for a file that just landed in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAA6B,aAAa,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.js"],"names":[],"mappings":"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"}
|