@pyric/cli 0.1.0-alpha.9
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/LICENSE +216 -0
- package/README.md +156 -0
- package/README.md.orig +138 -0
- package/dist/assurance/attachment.d.ts +24 -0
- package/dist/assurance/attachment.d.ts.map +1 -0
- package/dist/assurance/attachment.js +138 -0
- package/dist/assurance/attachment.js.map +1 -0
- package/dist/assurance/browser.d.ts +7 -0
- package/dist/assurance/browser.d.ts.map +1 -0
- package/dist/assurance/browser.js +68 -0
- package/dist/assurance/browser.js.map +1 -0
- package/dist/assurance/campaign.d.ts +41 -0
- package/dist/assurance/campaign.d.ts.map +1 -0
- package/dist/assurance/campaign.js +364 -0
- package/dist/assurance/campaign.js.map +1 -0
- package/dist/assurance/capabilities.d.ts +7 -0
- package/dist/assurance/capabilities.d.ts.map +1 -0
- package/dist/assurance/capabilities.js +295 -0
- package/dist/assurance/capabilities.js.map +1 -0
- package/dist/assurance/cases.d.ts +14 -0
- package/dist/assurance/cases.d.ts.map +1 -0
- package/dist/assurance/cases.js +27 -0
- package/dist/assurance/cases.js.map +1 -0
- package/dist/assurance/generated-capabilities.d.ts +52 -0
- package/dist/assurance/generated-capabilities.d.ts.map +1 -0
- package/dist/assurance/generated-capabilities.js +329 -0
- package/dist/assurance/generated-capabilities.js.map +1 -0
- package/dist/assurance/index.d.ts +11 -0
- package/dist/assurance/index.d.ts.map +1 -0
- package/dist/assurance/index.js +9 -0
- package/dist/assurance/index.js.map +1 -0
- package/dist/assurance/runner.d.ts +3 -0
- package/dist/assurance/runner.d.ts.map +1 -0
- package/dist/assurance/runner.js +633 -0
- package/dist/assurance/runner.js.map +1 -0
- package/dist/assurance/tool-names.d.ts +4 -0
- package/dist/assurance/tool-names.d.ts.map +1 -0
- package/dist/assurance/tool-names.js +14 -0
- package/dist/assurance/tool-names.js.map +1 -0
- package/dist/assurance/tools.d.ts +19 -0
- package/dist/assurance/tools.d.ts.map +1 -0
- package/dist/assurance/tools.js +740 -0
- package/dist/assurance/tools.js.map +1 -0
- package/dist/assurance/types.d.ts +348 -0
- package/dist/assurance/types.d.ts.map +1 -0
- package/dist/assurance/types.js +7 -0
- package/dist/assurance/types.js.map +1 -0
- package/dist/assurance/validation.d.ts +8 -0
- package/dist/assurance/validation.d.ts.map +1 -0
- package/dist/assurance/validation.js +269 -0
- package/dist/assurance/validation.js.map +1 -0
- package/dist/bridge/client/bridge.d.ts +133 -0
- package/dist/bridge/client/bridge.d.ts.map +1 -0
- package/dist/bridge/client/bridge.js +429 -0
- package/dist/bridge/client/bridge.js.map +1 -0
- package/dist/bridge/client/dispatch.d.ts +41 -0
- package/dist/bridge/client/dispatch.d.ts.map +1 -0
- package/dist/bridge/client/dispatch.js +111 -0
- package/dist/bridge/client/dispatch.js.map +1 -0
- package/dist/bridge/client.d.ts +24 -0
- package/dist/bridge/client.d.ts.map +1 -0
- package/dist/bridge/client.js +26 -0
- package/dist/bridge/client.js.map +1 -0
- package/dist/bridge/protocol.d.ts +227 -0
- package/dist/bridge/protocol.d.ts.map +1 -0
- package/dist/bridge/protocol.js +131 -0
- package/dist/bridge/protocol.js.map +1 -0
- package/dist/bridge/server/audit.d.ts +19 -0
- package/dist/bridge/server/audit.d.ts.map +1 -0
- package/dist/bridge/server/audit.js +46 -0
- package/dist/bridge/server/audit.js.map +1 -0
- package/dist/bridge/server/bridge.d.ts +126 -0
- package/dist/bridge/server/bridge.d.ts.map +1 -0
- package/dist/bridge/server/bridge.js +383 -0
- package/dist/bridge/server/bridge.js.map +1 -0
- package/dist/bridge/server/headless.d.ts +36 -0
- package/dist/bridge/server/headless.d.ts.map +1 -0
- package/dist/bridge/server/headless.js +142 -0
- package/dist/bridge/server/headless.js.map +1 -0
- package/dist/bridge/server/json-schema-to-zod.d.ts +37 -0
- package/dist/bridge/server/json-schema-to-zod.d.ts.map +1 -0
- package/dist/bridge/server/json-schema-to-zod.js +93 -0
- package/dist/bridge/server/json-schema-to-zod.js.map +1 -0
- package/dist/bridge/server/local-bridge.d.ts +33 -0
- package/dist/bridge/server/local-bridge.d.ts.map +1 -0
- package/dist/bridge/server/local-bridge.js +41 -0
- package/dist/bridge/server/local-bridge.js.map +1 -0
- package/dist/bridge/server/logger.d.ts +28 -0
- package/dist/bridge/server/logger.d.ts.map +1 -0
- package/dist/bridge/server/logger.js +42 -0
- package/dist/bridge/server/logger.js.map +1 -0
- package/dist/bridge/server/mcp-contract.d.ts +21 -0
- package/dist/bridge/server/mcp-contract.d.ts.map +1 -0
- package/dist/bridge/server/mcp-contract.js +62 -0
- package/dist/bridge/server/mcp-contract.js.map +1 -0
- package/dist/bridge/server/mcp.d.ts +26 -0
- package/dist/bridge/server/mcp.d.ts.map +1 -0
- package/dist/bridge/server/mcp.js +102 -0
- package/dist/bridge/server/mcp.js.map +1 -0
- package/dist/bridge/server/peer.d.ts +39 -0
- package/dist/bridge/server/peer.d.ts.map +1 -0
- package/dist/bridge/server/peer.js +189 -0
- package/dist/bridge/server/peer.js.map +1 -0
- package/dist/bridge/server/standalone.d.ts +49 -0
- package/dist/bridge/server/standalone.d.ts.map +1 -0
- package/dist/bridge/server/standalone.js +267 -0
- package/dist/bridge/server/standalone.js.map +1 -0
- package/dist/bridge/server/tool-metadata.d.ts +38 -0
- package/dist/bridge/server/tool-metadata.d.ts.map +1 -0
- package/dist/bridge/server/tool-metadata.js +81 -0
- package/dist/bridge/server/tool-metadata.js.map +1 -0
- package/dist/bridge/server.d.ts +21 -0
- package/dist/bridge/server.d.ts.map +1 -0
- package/dist/bridge/server.js +18 -0
- package/dist/bridge/server.js.map +1 -0
- package/dist/cli/database-rules.d.ts +43 -0
- package/dist/cli/database-rules.d.ts.map +1 -0
- package/dist/cli/database-rules.js +261 -0
- package/dist/cli/database-rules.js.map +1 -0
- package/dist/cli/dev-runner.d.ts +112 -0
- package/dist/cli/dev-runner.d.ts.map +1 -0
- package/dist/cli/dev-runner.js +239 -0
- package/dist/cli/dev-runner.js.map +1 -0
- package/dist/cli/firebase-json.d.ts +66 -0
- package/dist/cli/firebase-json.d.ts.map +1 -0
- package/dist/cli/firebase-json.js +60 -0
- package/dist/cli/firebase-json.js.map +1 -0
- package/dist/cli/firestore-indexes.d.ts +21 -0
- package/dist/cli/firestore-indexes.d.ts.map +1 -0
- package/dist/cli/firestore-indexes.js +39 -0
- package/dist/cli/firestore-indexes.js.map +1 -0
- package/dist/cli/index.d.ts +56 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +379 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +50 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +182 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/mcp-proxy.d.ts +10 -0
- package/dist/cli/mcp-proxy.d.ts.map +1 -0
- package/dist/cli/mcp-proxy.js +129 -0
- package/dist/cli/mcp-proxy.js.map +1 -0
- package/dist/cli/parse-args.d.ts +20 -0
- package/dist/cli/parse-args.d.ts.map +1 -0
- package/dist/cli/parse-args.js +69 -0
- package/dist/cli/parse-args.js.map +1 -0
- package/dist/cli/rules.d.ts +55 -0
- package/dist/cli/rules.d.ts.map +1 -0
- package/dist/cli/rules.js +199 -0
- package/dist/cli/rules.js.map +1 -0
- package/dist/cli/scope.d.ts +12 -0
- package/dist/cli/scope.d.ts.map +1 -0
- package/dist/cli/scope.js +44 -0
- package/dist/cli/scope.js.map +1 -0
- package/dist/cli/serve.d.ts +122 -0
- package/dist/cli/serve.d.ts.map +1 -0
- package/dist/cli/serve.js +844 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/service-commands.d.ts +8 -0
- package/dist/cli/service-commands.d.ts.map +1 -0
- package/dist/cli/service-commands.js +58 -0
- package/dist/cli/service-commands.js.map +1 -0
- package/dist/cli/snapshot.d.ts +22 -0
- package/dist/cli/snapshot.d.ts.map +1 -0
- package/dist/cli/snapshot.js +139 -0
- package/dist/cli/snapshot.js.map +1 -0
- package/dist/cli/storage-rules.d.ts +21 -0
- package/dist/cli/storage-rules.d.ts.map +1 -0
- package/dist/cli/storage-rules.js +121 -0
- package/dist/cli/storage-rules.js.map +1 -0
- package/dist/cli/verify.d.ts +23 -0
- package/dist/cli/verify.d.ts.map +1 -0
- package/dist/cli/verify.js +349 -0
- package/dist/cli/verify.js.map +1 -0
- package/dist/credentials/core/memoize-ttl.d.ts +58 -0
- package/dist/credentials/core/memoize-ttl.d.ts.map +1 -0
- package/dist/credentials/core/memoize-ttl.js +88 -0
- package/dist/credentials/core/memoize-ttl.js.map +1 -0
- package/dist/credentials/core/types.d.ts +11 -0
- package/dist/credentials/core/types.d.ts.map +1 -0
- package/dist/credentials/core/types.js +2 -0
- package/dist/credentials/core/types.js.map +1 -0
- package/dist/credentials/node/from-adc.d.ts +10 -0
- package/dist/credentials/node/from-adc.d.ts.map +1 -0
- package/dist/credentials/node/from-adc.js +76 -0
- package/dist/credentials/node/from-adc.js.map +1 -0
- package/dist/credentials/node/from-service-account.d.ts +24 -0
- package/dist/credentials/node/from-service-account.d.ts.map +1 -0
- package/dist/credentials/node/from-service-account.js +108 -0
- package/dist/credentials/node/from-service-account.js.map +1 -0
- package/dist/credentials/node/index.d.ts +7 -0
- package/dist/credentials/node/index.d.ts.map +1 -0
- package/dist/credentials/node/index.js +7 -0
- package/dist/credentials/node/index.js.map +1 -0
- package/dist/discover/concurrency.d.ts +42 -0
- package/dist/discover/concurrency.d.ts.map +1 -0
- package/dist/discover/concurrency.js +113 -0
- package/dist/discover/concurrency.js.map +1 -0
- package/dist/discover/crawler-adapter.d.ts +48 -0
- package/dist/discover/crawler-adapter.d.ts.map +1 -0
- package/dist/discover/crawler-adapter.js +92 -0
- package/dist/discover/crawler-adapter.js.map +1 -0
- package/dist/discover/crawler.d.ts +294 -0
- package/dist/discover/crawler.d.ts.map +1 -0
- package/dist/discover/crawler.js +764 -0
- package/dist/discover/crawler.js.map +1 -0
- package/dist/discover/credential-free.d.ts +19 -0
- package/dist/discover/credential-free.d.ts.map +1 -0
- package/dist/discover/credential-free.js +18 -0
- package/dist/discover/credential-free.js.map +1 -0
- package/dist/discover/findCollectionGroup.d.ts +44 -0
- package/dist/discover/findCollectionGroup.d.ts.map +1 -0
- package/dist/discover/findCollectionGroup.js +81 -0
- package/dist/discover/findCollectionGroup.js.map +1 -0
- package/dist/discover/firestore-source.d.ts +60 -0
- package/dist/discover/firestore-source.d.ts.map +1 -0
- package/dist/discover/firestore-source.js +11 -0
- package/dist/discover/firestore-source.js.map +1 -0
- package/dist/discover/index.d.ts +3 -0
- package/dist/discover/index.d.ts.map +1 -0
- package/dist/discover/index.js +5 -0
- package/dist/discover/index.js.map +1 -0
- package/dist/discover/merge.d.ts +108 -0
- package/dist/discover/merge.d.ts.map +1 -0
- package/dist/discover/merge.js +394 -0
- package/dist/discover/merge.js.map +1 -0
- package/dist/discover/session.d.ts +116 -0
- package/dist/discover/session.d.ts.map +1 -0
- package/dist/discover/session.js +331 -0
- package/dist/discover/session.js.map +1 -0
- package/dist/discover/tools.d.ts +58 -0
- package/dist/discover/tools.d.ts.map +1 -0
- package/dist/discover/tools.js +115 -0
- package/dist/discover/tools.js.map +1 -0
- package/dist/discover/types.d.ts +190 -0
- package/dist/discover/types.d.ts.map +1 -0
- package/dist/discover/types.js +12 -0
- package/dist/discover/types.js.map +1 -0
- package/dist/discover/wire.d.ts +70 -0
- package/dist/discover/wire.d.ts.map +1 -0
- package/dist/discover/wire.js +309 -0
- package/dist/discover/wire.js.map +1 -0
- package/dist/functions-rtdb/child.d.ts +52 -0
- package/dist/functions-rtdb/child.d.ts.map +1 -0
- package/dist/functions-rtdb/child.js +283 -0
- package/dist/functions-rtdb/child.js.map +1 -0
- package/dist/functions-rtdb/delivery.d.ts +4 -0
- package/dist/functions-rtdb/delivery.d.ts.map +1 -0
- package/dist/functions-rtdb/delivery.js +2 -0
- package/dist/functions-rtdb/delivery.js.map +1 -0
- package/dist/functions-rtdb/discovery.d.ts +41 -0
- package/dist/functions-rtdb/discovery.d.ts.map +1 -0
- package/dist/functions-rtdb/discovery.js +86 -0
- package/dist/functions-rtdb/discovery.js.map +1 -0
- package/dist/functions-rtdb/event.d.ts +20 -0
- package/dist/functions-rtdb/event.d.ts.map +1 -0
- package/dist/functions-rtdb/event.js +45 -0
- package/dist/functions-rtdb/event.js.map +1 -0
- package/dist/functions-rtdb/execution.d.ts +20 -0
- package/dist/functions-rtdb/execution.d.ts.map +1 -0
- package/dist/functions-rtdb/execution.js +70 -0
- package/dist/functions-rtdb/execution.js.map +1 -0
- package/dist/functions-rtdb/in-memory-delivery.d.ts +9 -0
- package/dist/functions-rtdb/in-memory-delivery.d.ts.map +1 -0
- package/dist/functions-rtdb/in-memory-delivery.js +36 -0
- package/dist/functions-rtdb/in-memory-delivery.js.map +1 -0
- package/dist/functions-rtdb/project.d.ts +7 -0
- package/dist/functions-rtdb/project.d.ts.map +1 -0
- package/dist/functions-rtdb/project.js +54 -0
- package/dist/functions-rtdb/project.js.map +1 -0
- package/dist/functions-rtdb/projection.d.ts +14 -0
- package/dist/functions-rtdb/projection.d.ts.map +1 -0
- package/dist/functions-rtdb/projection.js +65 -0
- package/dist/functions-rtdb/projection.js.map +1 -0
- package/dist/functions-rtdb/reference-pattern.d.ts +5 -0
- package/dist/functions-rtdb/reference-pattern.d.ts.map +1 -0
- package/dist/functions-rtdb/reference-pattern.js +14 -0
- package/dist/functions-rtdb/reference-pattern.js.map +1 -0
- package/dist/functions-rtdb/remote-delivery.d.ts +9 -0
- package/dist/functions-rtdb/remote-delivery.d.ts.map +1 -0
- package/dist/functions-rtdb/remote-delivery.js +11 -0
- package/dist/functions-rtdb/remote-delivery.js.map +1 -0
- package/dist/pkg-version.d.ts +2 -0
- package/dist/pkg-version.d.ts.map +1 -0
- package/dist/pkg-version.js +47 -0
- package/dist/pkg-version.js.map +1 -0
- package/dist/register/esm-exports.d.ts +26 -0
- package/dist/register/esm-exports.d.ts.map +1 -0
- package/dist/register/esm-exports.js +61 -0
- package/dist/register/esm-exports.js.map +1 -0
- package/dist/register/hooks.d.ts +13 -0
- package/dist/register/hooks.d.ts.map +1 -0
- package/dist/register/hooks.js +15 -0
- package/dist/register/hooks.js.map +1 -0
- package/dist/register/index.d.ts +5 -0
- package/dist/register/index.d.ts.map +1 -0
- package/dist/register/index.js +124 -0
- package/dist/register/index.js.map +1 -0
- package/dist/register/mapping.d.ts +19 -0
- package/dist/register/mapping.d.ts.map +1 -0
- package/dist/register/mapping.js +35 -0
- package/dist/register/mapping.js.map +1 -0
- package/dist/remote/index.d.ts +232 -0
- package/dist/remote/index.d.ts.map +1 -0
- package/dist/remote/index.js +720 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/rtdb/crawl-snapshot.d.ts +17 -0
- package/dist/rtdb/crawl-snapshot.d.ts.map +1 -0
- package/dist/rtdb/crawl-snapshot.js +72 -0
- package/dist/rtdb/crawl-snapshot.js.map +1 -0
- package/dist/rtdb/inspection.d.ts +8 -0
- package/dist/rtdb/inspection.d.ts.map +1 -0
- package/dist/rtdb/inspection.js +111 -0
- package/dist/rtdb/inspection.js.map +1 -0
- package/dist/rtdb/load-rules-document.d.ts +25 -0
- package/dist/rtdb/load-rules-document.d.ts.map +1 -0
- package/dist/rtdb/load-rules-document.js +38 -0
- package/dist/rtdb/load-rules-document.js.map +1 -0
- package/dist/rtdb/rules-generation-tool.d.ts +4 -0
- package/dist/rtdb/rules-generation-tool.d.ts.map +1 -0
- package/dist/rtdb/rules-generation-tool.js +35 -0
- package/dist/rtdb/rules-generation-tool.js.map +1 -0
- package/dist/rtdb/rules-json.d.ts +8 -0
- package/dist/rtdb/rules-json.d.ts.map +1 -0
- package/dist/rtdb/rules-json.js +17 -0
- package/dist/rtdb/rules-json.js.map +1 -0
- package/dist/serve/bridge-mount.d.ts +36 -0
- package/dist/serve/bridge-mount.d.ts.map +1 -0
- package/dist/serve/bridge-mount.js +162 -0
- package/dist/serve/bridge-mount.js.map +1 -0
- package/dist/serve/bundler.d.ts +110 -0
- package/dist/serve/bundler.d.ts.map +1 -0
- package/dist/serve/bundler.js +432 -0
- package/dist/serve/bundler.js.map +1 -0
- package/dist/serve/capture-store.d.ts +27 -0
- package/dist/serve/capture-store.d.ts.map +1 -0
- package/dist/serve/capture-store.js +47 -0
- package/dist/serve/capture-store.js.map +1 -0
- package/dist/serve/discovery.d.ts +71 -0
- package/dist/serve/discovery.d.ts.map +1 -0
- package/dist/serve/discovery.js +158 -0
- package/dist/serve/discovery.js.map +1 -0
- package/dist/serve/docs-ui/_astro/_slug_.CQYSemvw.css +1 -0
- package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
- package/dist/serve/docs-ui/docs/_rhythm.md +101 -0
- package/dist/serve/docs-ui/docs/api-reference/index.html +64 -0
- package/dist/serve/docs-ui/docs/api-reference.md +67 -0
- package/dist/serve/docs-ui/docs/audit-your-rules/index.html +34 -0
- package/dist/serve/docs-ui/docs/audit-your-rules.md +50 -0
- package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +498 -0
- package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +345 -0
- package/dist/serve/docs-ui/docs/firestore-rules-limits/index.html +59 -0
- package/dist/serve/docs-ui/docs/firestore-rules-limits.md +54 -0
- package/dist/serve/docs-ui/docs/how-the-swap-works/index.html +47 -0
- package/dist/serve/docs-ui/docs/how-the-swap-works.md +43 -0
- package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase/index.html +131 -0
- package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase.md +169 -0
- package/dist/serve/docs-ui/docs/index.html +2 -0
- package/dist/serve/docs-ui/docs/index.json +18637 -0
- package/dist/serve/docs-ui/docs/overview/index.html +23 -0
- package/dist/serve/docs-ui/docs/overview.md +40 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app/index.html +19 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +185 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +206 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app.md +27 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth/index.html +24 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +617 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +441 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth.md +29 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database/index.html +26 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +583 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +597 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database.md +31 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore/index.html +38 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation/index.html +57 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation.md +95 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate.md +94 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules/index.html +62 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules.md +96 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot/index.html +57 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +32 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +30 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot/index.html +68 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot.md +81 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types/index.html +76 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types.md +103 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore/index.html +40 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore.md +77 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session/index.html +118 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session.md +166 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore.md +53 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage/index.html +25 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +317 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +285 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage.md +30 -0
- package/dist/serve/docs-ui/docs/pyric-ai-compat/index.html +436 -0
- package/dist/serve/docs-ui/docs/pyric-ai-compat.md +471 -0
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +5831 -0
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5440 -0
- package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +159 -0
- package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +122 -0
- package/dist/serve/docs-ui/docs/pyric-app-compat/index.html +180 -0
- package/dist/serve/docs-ui/docs/pyric-app-compat.md +199 -0
- package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +420 -0
- package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +326 -0
- package/dist/serve/docs-ui/docs/pyric-auth/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-auth-compat/index.html +804 -0
- package/dist/serve/docs-ui/docs/pyric-auth-compat.md +847 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +5452 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +5271 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix/index.html +781 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix.md +198 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver.md +108 -0
- package/dist/serve/docs-ui/docs/pyric-auth.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-cli/index.html +40 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +98 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +2355 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1554 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge/index.html +69 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +546 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +485 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +506 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +419 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge.md +99 -0
- package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +59 -0
- package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +2355 -0
- package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +2036 -0
- package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat/index.html +112 -0
- package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat.md +124 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary/index.html +91 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary.md +105 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated.md +100 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab/index.html +228 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab.md +179 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin/index.html +341 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin.md +309 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session/index.html +128 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session.md +207 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-cli/index.html +404 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-cli.md +249 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution/index.html +93 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution.md +65 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-verify/index.html +81 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-verify.md +110 -0
- package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +10 -0
- package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +16 -0
- package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1044 -0
- package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +952 -0
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +5041 -0
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +4739 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption/index.html +219 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption.md +251 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code/index.html +136 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code.md +217 -0
- package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +926 -0
- package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +586 -0
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +102 -0
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-cli.md +42 -0
- package/dist/serve/docs-ui/docs/pyric-conformance-scores/index.html +180 -0
- package/dist/serve/docs-ui/docs/pyric-conformance-scores.md +184 -0
- package/dist/serve/docs-ui/docs/pyric-database/index.html +43 -0
- package/dist/serve/docs-ui/docs/pyric-database-compat/index.html +1224 -0
- package/dist/serve/docs-ui/docs/pyric-database-compat.md +1289 -0
- package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate/index.html +16 -0
- package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate.md +23 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1851 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +1842 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-constraints/index.html +381 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-constraints.md +168 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling/index.html +218 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling.md +303 -0
- package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints/index.html +125 -0
- package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints.md +171 -0
- package/dist/serve/docs-ui/docs/pyric-database.md +26 -0
- package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility/index.html +40 -0
- package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility.md +68 -0
- package/dist/serve/docs-ui/docs/pyric-firestore/index.html +48 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-compat/index.html +868 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-compat.md +939 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate.md +70 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity.md +91 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface/index.html +43 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface.md +58 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend.md +83 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction/index.html +42 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction.md +59 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot.md +96 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops/index.html +61 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +3623 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +3399 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix.md +66 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore/index.html +46 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints.md +129 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories/index.html +51 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories.md +71 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo/index.html +130 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo.md +180 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +30 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +30 -0
- package/dist/serve/docs-ui/docs/pyric-firestore.md +72 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-compat/index.html +300 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-compat.md +321 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +508 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +374 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +482 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +348 -0
- package/dist/serve/docs-ui/docs/pyric-rules/index.html +87 -0
- package/dist/serve/docs-ui/docs/pyric-rules-compat/index.html +328 -0
- package/dist/serve/docs-ui/docs/pyric-rules-compat.md +347 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes.md +78 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test/index.html +79 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates.md +75 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine/index.html +49 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine.md +74 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api/index.html +95 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api.md +80 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension.md +79 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design.md +84 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists/index.html +34 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists.md +43 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening/index.html +55 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening.md +77 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast/index.html +90 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast.md +129 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source/index.html +55 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source.md +84 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time/index.html +49 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time.md +64 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent/index.html +61 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent.md +87 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports/index.html +93 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports.md +105 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally/index.html +89 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally.md +134 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase.md +102 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +2629 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +2213 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-ast/index.html +85 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-ast.md +121 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps/index.html +277 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps.md +360 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-errors/index.html +76 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-errors.md +123 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules/index.html +148 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules.md +159 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context.md +104 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules/index.html +241 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules.md +143 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema/index.html +94 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema.md +121 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings/index.html +87 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings.md +117 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers/index.html +102 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers.md +152 -0
- package/dist/serve/docs-ui/docs/pyric-rules.md +93 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +120 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +110 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request/index.html +141 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request.md +161 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context.md +110 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol.md +111 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation/index.html +56 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline/index.html +64 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline.md +56 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings.md +90 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists/index.html +69 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists.md +57 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +202 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +134 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes.md +89 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events/index.html +159 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events.md +168 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter/index.html +79 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter.md +75 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events/index.html +88 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests/index.html +68 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules/index.html +91 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules.md +122 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users.md +78 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads/index.html +54 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads.md +85 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +5019 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +4060 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences/index.html +125 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences.md +151 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes/index.html +110 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes.md +118 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol/index.html +72 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol.md +109 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context/index.html +90 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context.md +140 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event/index.html +146 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event.md +204 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin.md +89 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session/index.html +115 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session.md +176 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-storage/index.html +65 -0
- package/dist/serve/docs-ui/docs/pyric-storage-compat/index.html +676 -0
- package/dist/serve/docs-ui/docs/pyric-storage-compat.md +699 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope.md +85 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules/index.html +120 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules.md +127 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends/index.html +43 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends.md +65 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions/index.html +70 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +2120 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +1687 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps/index.html +137 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps.md +171 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes/index.html +37 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes.md +57 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset/index.html +96 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset.md +134 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options/index.html +39 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options.md +61 -0
- package/dist/serve/docs-ui/docs/pyric-storage.md +67 -0
- package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +638 -0
- package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +430 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +813 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +634 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1708 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +1300 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +177 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +111 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1542 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +903 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1024 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +640 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +2753 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +2171 -0
- package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1005 -0
- package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +693 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1388 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +1340 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +131 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +648 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +508 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1457 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +1029 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +2476 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +1919 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1241 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +817 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +2289 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +1489 -0
- package/dist/serve/docs-ui/docs/read-a-denial/index.html +40 -0
- package/dist/serve/docs-ui/docs/read-a-denial.md +62 -0
- package/dist/serve/docs-ui/docs/receive-messages/index.html +28 -0
- package/dist/serve/docs-ui/docs/receive-messages.md +43 -0
- package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript/index.html +67 -0
- package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript.md +101 -0
- package/dist/serve/docs-ui/docs/rules-patterns/index.html +68 -0
- package/dist/serve/docs-ui/docs/rules-patterns.md +104 -0
- package/dist/serve/docs-ui/docs/rules-standard-library/index.html +87 -0
- package/dist/serve/docs-ui/docs/rules-standard-library.md +93 -0
- package/dist/serve/docs-ui/docs/run-ai-logic-locally/index.html +27 -0
- package/dist/serve/docs-ui/docs/run-ai-logic-locally.md +43 -0
- package/dist/serve/docs-ui/docs/secure-it-with-rules/index.html +69 -0
- package/dist/serve/docs-ui/docs/secure-it-with-rules.md +101 -0
- package/dist/serve/docs-ui/docs/see-whats-happening/index.html +73 -0
- package/dist/serve/docs-ui/docs/see-whats-happening.md +77 -0
- package/dist/serve/docs-ui/docs/set-up-the-project/index.html +14 -0
- package/dist/serve/docs-ui/docs/set-up-the-project.md +19 -0
- package/dist/serve/docs-ui/docs/set-up-your-agent/index.html +42 -0
- package/dist/serve/docs-ui/docs/set-up-your-agent.md +86 -0
- package/dist/serve/docs-ui/docs/shape-your-data/index.html +44 -0
- package/dist/serve/docs-ui/docs/shape-your-data.md +88 -0
- package/dist/serve/docs-ui/docs/ship-to-production/index.html +36 -0
- package/dist/serve/docs-ui/docs/ship-to-production.md +80 -0
- package/dist/serve/docs-ui/docs/sign-in-and-manage-users/index.html +31 -0
- package/dist/serve/docs-ui/docs/sign-in-and-manage-users.md +50 -0
- package/dist/serve/docs-ui/docs/simulate-and-lint/index.html +95 -0
- package/dist/serve/docs-ui/docs/simulate-and-lint.md +99 -0
- package/dist/serve/docs-ui/docs/skills/index.html +20 -0
- package/dist/serve/docs-ui/docs/skills.md +34 -0
- package/dist/serve/docs-ui/docs/start-building/index.html +32 -0
- package/dist/serve/docs-ui/docs/start-building.md +64 -0
- package/dist/serve/docs-ui/docs/store-and-query-data/index.html +16 -0
- package/dist/serve/docs-ui/docs/store-and-query-data.md +33 -0
- package/dist/serve/docs-ui/docs/store-files/index.html +13 -0
- package/dist/serve/docs-ui/docs/store-files.md +25 -0
- package/dist/serve/docs-ui/docs/sync-realtime-data/index.html +15 -0
- package/dist/serve/docs-ui/docs/sync-realtime-data.md +27 -0
- package/dist/serve/docs-ui/docs/test-in-node/index.html +74 -0
- package/dist/serve/docs-ui/docs/test-in-node.md +100 -0
- package/dist/serve/docs-ui/docs/ui/index.html +76 -0
- package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper/index.html +194 -0
- package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper.md +114 -0
- package/dist/serve/docs-ui/docs/ui-auth-authusers/index.html +263 -0
- package/dist/serve/docs-ui/docs/ui-auth-authusers.md +183 -0
- package/dist/serve/docs-ui/docs/ui-firestore-collectionlist/index.html +92 -0
- package/dist/serve/docs-ui/docs/ui-firestore-collectionlist.md +79 -0
- package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm/index.html +128 -0
- package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm.md +104 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documenteditor/index.html +154 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documenteditor.md +117 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentlist/index.html +132 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentlist.md +92 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentpreview/index.html +159 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentpreview.md +84 -0
- package/dist/serve/docs-ui/docs/ui-firestore-querybuilder/index.html +104 -0
- package/dist/serve/docs-ui/docs/ui-firestore-querybuilder.md +103 -0
- package/dist/serve/docs-ui/docs/ui-firestore-referencepicker/index.html +113 -0
- package/dist/serve/docs-ui/docs/ui-firestore-referencepicker.md +93 -0
- package/dist/serve/docs-ui/docs/ui-primitives-badge/index.html +56 -0
- package/dist/serve/docs-ui/docs/ui-primitives-badge.md +40 -0
- package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog/index.html +140 -0
- package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog.md +108 -0
- package/dist/serve/docs-ui/docs/ui-primitives-copybutton/index.html +58 -0
- package/dist/serve/docs-ui/docs/ui-primitives-copybutton.md +37 -0
- package/dist/serve/docs-ui/docs/ui-primitives-jsonview/index.html +58 -0
- package/dist/serve/docs-ui/docs/ui-primitives-jsonview.md +47 -0
- package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol/index.html +70 -0
- package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol.md +50 -0
- package/dist/serve/docs-ui/docs/ui-primitives-toast/index.html +87 -0
- package/dist/serve/docs-ui/docs/ui-primitives-toast.md +82 -0
- package/dist/serve/docs-ui/docs/ui-primitives-virtuallist/index.html +85 -0
- package/dist/serve/docs-ui/docs/ui-primitives-virtuallist.md +54 -0
- package/dist/serve/docs-ui/docs/ui-storage/index.html +150 -0
- package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm/index.html +126 -0
- package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm.md +88 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectbrowser/index.html +137 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectbrowser.md +90 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectinspector/index.html +139 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectinspector.md +93 -0
- package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb/index.html +72 -0
- package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb.md +57 -0
- package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances/index.html +60 -0
- package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances.md +52 -0
- package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone/index.html +93 -0
- package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone.md +78 -0
- package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate/index.html +144 -0
- package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate.md +101 -0
- package/dist/serve/docs-ui/docs/ui-storage.md +165 -0
- package/dist/serve/docs-ui/docs/ui-traffic/index.html +88 -0
- package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap/index.html +79 -0
- package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap.md +60 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail/index.html +78 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail.md +59 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficlog/index.html +118 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficlog.md +69 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficstats/index.html +51 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficstats.md +46 -0
- package/dist/serve/docs-ui/docs/ui-traffic.md +102 -0
- package/dist/serve/docs-ui/docs/ui.md +90 -0
- package/dist/serve/docs-ui/docs/watch-and-review/index.html +25 -0
- package/dist/serve/docs-ui/docs/watch-and-review.md +40 -0
- package/dist/serve/docs-ui/docs/what-your-agent-can-do/index.html +81 -0
- package/dist/serve/docs-ui/docs/what-your-agent-can-do.md +78 -0
- package/dist/serve/docs-ui/docs/whats-experimental/index.html +22 -0
- package/dist/serve/docs-ui/docs/whats-experimental.md +33 -0
- package/dist/serve/docs-ui/docs/whats-possible/index.html +63 -0
- package/dist/serve/docs-ui/docs/whats-possible.md +53 -0
- package/dist/serve/docs-ui/docs/which-data-service/index.html +8 -0
- package/dist/serve/docs-ui/docs/which-data-service.md +11 -0
- package/dist/serve/docs-ui/docs/write-a-rules-test-suite/index.html +85 -0
- package/dist/serve/docs-ui/docs/write-a-rules-test-suite.md +119 -0
- package/dist/serve/docs-ui/index.html +1 -0
- package/dist/serve/docs-ui/llms.txt +308 -0
- package/dist/serve/entries/ai.d.ts +4 -0
- package/dist/serve/entries/ai.d.ts.map +1 -0
- package/dist/serve/entries/ai.js +184 -0
- package/dist/serve/entries/ai.js.map +1 -0
- package/dist/serve/entries/app-backend.d.ts +2 -0
- package/dist/serve/entries/app-backend.d.ts.map +1 -0
- package/dist/serve/entries/app-backend.js +4 -0
- package/dist/serve/entries/app-backend.js.map +1 -0
- package/dist/serve/entries/app-client.d.ts +5 -0
- package/dist/serve/entries/app-client.d.ts.map +1 -0
- package/dist/serve/entries/app-client.js +23 -0
- package/dist/serve/entries/app-client.js.map +1 -0
- package/dist/serve/entries/app-session-store.d.ts +14 -0
- package/dist/serve/entries/app-session-store.d.ts.map +1 -0
- package/dist/serve/entries/app-session-store.js +37 -0
- package/dist/serve/entries/app-session-store.js.map +1 -0
- package/dist/serve/entries/app.d.ts +2 -0
- package/dist/serve/entries/app.d.ts.map +1 -0
- package/dist/serve/entries/app.js +10 -0
- package/dist/serve/entries/app.js.map +1 -0
- package/dist/serve/entries/auth-helper-core.d.ts +52 -0
- package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-core.js +118 -0
- package/dist/serve/entries/auth-helper-core.js.map +1 -0
- package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
- package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-dom.js +116 -0
- package/dist/serve/entries/auth-helper-dom.js.map +1 -0
- package/dist/serve/entries/auth-helper-runtime.d.ts +5 -0
- package/dist/serve/entries/auth-helper-runtime.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-runtime.js +11 -0
- package/dist/serve/entries/auth-helper-runtime.js.map +1 -0
- package/dist/serve/entries/auth.d.ts +77 -0
- package/dist/serve/entries/auth.d.ts.map +1 -0
- package/dist/serve/entries/auth.js +201 -0
- package/dist/serve/entries/auth.js.map +1 -0
- package/dist/serve/entries/bridge-url.d.ts +25 -0
- package/dist/serve/entries/bridge-url.d.ts.map +1 -0
- package/dist/serve/entries/bridge-url.js +30 -0
- package/dist/serve/entries/bridge-url.js.map +1 -0
- package/dist/serve/entries/database.d.ts +46 -0
- package/dist/serve/entries/database.d.ts.map +1 -0
- package/dist/serve/entries/database.js +80 -0
- package/dist/serve/entries/database.js.map +1 -0
- package/dist/serve/entries/firestore.d.ts +104 -0
- package/dist/serve/entries/firestore.d.ts.map +1 -0
- package/dist/serve/entries/firestore.js +202 -0
- package/dist/serve/entries/firestore.js.map +1 -0
- package/dist/serve/entries/init.d.ts +2 -0
- package/dist/serve/entries/init.d.ts.map +1 -0
- package/dist/serve/entries/init.js +40 -0
- package/dist/serve/entries/init.js.map +1 -0
- package/dist/serve/entries/keepalive.d.ts +20 -0
- package/dist/serve/entries/keepalive.d.ts.map +1 -0
- package/dist/serve/entries/keepalive.js +38 -0
- package/dist/serve/entries/keepalive.js.map +1 -0
- package/dist/serve/entries/messaging-sw.d.ts +10 -0
- package/dist/serve/entries/messaging-sw.d.ts.map +1 -0
- package/dist/serve/entries/messaging-sw.js +36 -0
- package/dist/serve/entries/messaging-sw.js.map +1 -0
- package/dist/serve/entries/messaging.d.ts +11 -0
- package/dist/serve/entries/messaging.d.ts.map +1 -0
- package/dist/serve/entries/messaging.js +53 -0
- package/dist/serve/entries/messaging.js.map +1 -0
- package/dist/serve/entries/runtime.d.ts +46 -0
- package/dist/serve/entries/runtime.d.ts.map +1 -0
- package/dist/serve/entries/runtime.js +435 -0
- package/dist/serve/entries/runtime.js.map +1 -0
- package/dist/serve/entries/session-store.d.ts +48 -0
- package/dist/serve/entries/session-store.d.ts.map +1 -0
- package/dist/serve/entries/session-store.js +82 -0
- package/dist/serve/entries/session-store.js.map +1 -0
- package/dist/serve/entries/storage.d.ts +25 -0
- package/dist/serve/entries/storage.d.ts.map +1 -0
- package/dist/serve/entries/storage.js +61 -0
- package/dist/serve/entries/storage.js.map +1 -0
- package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
- package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
- package/dist/serve/entries/tab-sync-wiring.js +217 -0
- package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
- package/dist/serve/entries/worker-runtime.d.ts +10 -0
- package/dist/serve/entries/worker-runtime.d.ts.map +1 -0
- package/dist/serve/entries/worker-runtime.js +59 -0
- package/dist/serve/entries/worker-runtime.js.map +1 -0
- package/dist/serve/init-payload.d.ts +21 -0
- package/dist/serve/init-payload.d.ts.map +1 -0
- package/dist/serve/init-payload.js +2 -0
- package/dist/serve/init-payload.js.map +1 -0
- package/dist/serve/namespace.d.ts +73 -0
- package/dist/serve/namespace.d.ts.map +1 -0
- package/dist/serve/namespace.js +470 -0
- package/dist/serve/namespace.js.map +1 -0
- package/dist/serve/open-browser.d.ts +23 -0
- package/dist/serve/open-browser.d.ts.map +1 -0
- package/dist/serve/open-browser.js +58 -0
- package/dist/serve/open-browser.js.map +1 -0
- package/dist/serve/rules.d.ts +77 -0
- package/dist/serve/rules.d.ts.map +1 -0
- package/dist/serve/rules.js +202 -0
- package/dist/serve/rules.js.map +1 -0
- package/dist/serve/sandbox-marker.d.ts +9 -0
- package/dist/serve/sandbox-marker.d.ts.map +1 -0
- package/dist/serve/sandbox-marker.js +31 -0
- package/dist/serve/sandbox-marker.js.map +1 -0
- package/dist/serve/server.d.ts +135 -0
- package/dist/serve/server.d.ts.map +1 -0
- package/dist/serve/server.js +328 -0
- package/dist/serve/server.js.map +1 -0
- package/dist/serve/standalone-assets.d.ts +67 -0
- package/dist/serve/standalone-assets.d.ts.map +1 -0
- package/dist/serve/standalone-assets.js +134 -0
- package/dist/serve/standalone-assets.js.map +1 -0
- package/dist/serve/state-store.d.ts +45 -0
- package/dist/serve/state-store.d.ts.map +1 -0
- package/dist/serve/state-store.js +120 -0
- package/dist/serve/state-store.js.map +1 -0
- package/dist/serve/studio/disk-project-store.d.ts +9 -0
- package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
- package/dist/serve/studio/disk-project-store.js +173 -0
- package/dist/serve/studio/disk-project-store.js.map +1 -0
- package/dist/serve/studio/disk-workspace.d.ts +14 -0
- package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
- package/dist/serve/studio/disk-workspace.js +152 -0
- package/dist/serve/studio/disk-workspace.js.map +1 -0
- package/dist/serve/studio/index.d.ts +10 -0
- package/dist/serve/studio/index.d.ts.map +1 -0
- package/dist/serve/studio/index.js +9 -0
- package/dist/serve/studio/index.js.map +1 -0
- package/dist/serve/studio/routes.d.ts +40 -0
- package/dist/serve/studio/routes.d.ts.map +1 -0
- package/dist/serve/studio/routes.js +182 -0
- package/dist/serve/studio/routes.js.map +1 -0
- package/dist/serve/studio/store-types.d.ts +45 -0
- package/dist/serve/studio/store-types.d.ts.map +1 -0
- package/dist/serve/studio/store-types.js +11 -0
- package/dist/serve/studio/store-types.js.map +1 -0
- package/dist/serve/studio-ui/assets/RulesCodeEditor-BZpD57II.js +23 -0
- package/dist/serve/studio-ui/assets/index-Bsa-TQNK.css +1 -0
- package/dist/serve/studio-ui/assets/index-DGaVuOhE.js +1211 -0
- package/dist/serve/studio-ui/assets/seed-CTmn6YuO.js +2 -0
- package/dist/serve/studio-ui/index.html +32 -0
- package/dist/serve/studio-ui/pyric-logo.svg +76 -0
- package/dist/serve/vite-plugin.d.ts +57 -0
- package/dist/serve/vite-plugin.d.ts.map +1 -0
- package/dist/serve/vite-plugin.js +658 -0
- package/dist/serve/vite-plugin.js.map +1 -0
- package/dist/serve/worker/client/admin-firestore.d.ts +18 -0
- package/dist/serve/worker/client/admin-firestore.d.ts.map +1 -0
- package/dist/serve/worker/client/admin-firestore.js +26 -0
- package/dist/serve/worker/client/admin-firestore.js.map +1 -0
- package/dist/serve/worker/client/ai.d.ts +31 -0
- package/dist/serve/worker/client/ai.d.ts.map +1 -0
- package/dist/serve/worker/client/ai.js +89 -0
- package/dist/serve/worker/client/ai.js.map +1 -0
- package/dist/serve/worker/client/auth.d.ts +168 -0
- package/dist/serve/worker/client/auth.d.ts.map +1 -0
- package/dist/serve/worker/client/auth.js +322 -0
- package/dist/serve/worker/client/auth.js.map +1 -0
- package/dist/serve/worker/client/connection.d.ts +80 -0
- package/dist/serve/worker/client/connection.d.ts.map +1 -0
- package/dist/serve/worker/client/connection.js +148 -0
- package/dist/serve/worker/client/connection.js.map +1 -0
- package/dist/serve/worker/client/core.d.ts +109 -0
- package/dist/serve/worker/client/core.d.ts.map +1 -0
- package/dist/serve/worker/client/core.js +248 -0
- package/dist/serve/worker/client/core.js.map +1 -0
- package/dist/serve/worker/client/disconnect.d.ts +7 -0
- package/dist/serve/worker/client/disconnect.d.ts.map +1 -0
- package/dist/serve/worker/client/disconnect.js +26 -0
- package/dist/serve/worker/client/disconnect.js.map +1 -0
- package/dist/serve/worker/client/firestore-reads.d.ts +49 -0
- package/dist/serve/worker/client/firestore-reads.d.ts.map +1 -0
- package/dist/serve/worker/client/firestore-reads.js +139 -0
- package/dist/serve/worker/client/firestore-reads.js.map +1 -0
- package/dist/serve/worker/client/firestore-refs.d.ts +54 -0
- package/dist/serve/worker/client/firestore-refs.d.ts.map +1 -0
- package/dist/serve/worker/client/firestore-refs.js +167 -0
- package/dist/serve/worker/client/firestore-refs.js.map +1 -0
- package/dist/serve/worker/client/firestore-writes.d.ts +70 -0
- package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -0
- package/dist/serve/worker/client/firestore-writes.js +169 -0
- package/dist/serve/worker/client/firestore-writes.js.map +1 -0
- package/dist/serve/worker/client/handles.d.ts +73 -0
- package/dist/serve/worker/client/handles.d.ts.map +1 -0
- package/dist/serve/worker/client/handles.js +4 -0
- package/dist/serve/worker/client/handles.js.map +1 -0
- package/dist/serve/worker/client/messaging.d.ts +16 -0
- package/dist/serve/worker/client/messaging.d.ts.map +1 -0
- package/dist/serve/worker/client/messaging.js +60 -0
- package/dist/serve/worker/client/messaging.js.map +1 -0
- package/dist/serve/worker/client/presence.d.ts +43 -0
- package/dist/serve/worker/client/presence.d.ts.map +1 -0
- package/dist/serve/worker/client/presence.js +132 -0
- package/dist/serve/worker/client/presence.js.map +1 -0
- package/dist/serve/worker/client/rtdb.d.ts +36 -0
- package/dist/serve/worker/client/rtdb.d.ts.map +1 -0
- package/dist/serve/worker/client/rtdb.js +241 -0
- package/dist/serve/worker/client/rtdb.js.map +1 -0
- package/dist/serve/worker/client/rules.d.ts +24 -0
- package/dist/serve/worker/client/rules.d.ts.map +1 -0
- package/dist/serve/worker/client/rules.js +44 -0
- package/dist/serve/worker/client/rules.js.map +1 -0
- package/dist/serve/worker/client/service-worker-connection.d.ts +3 -0
- package/dist/serve/worker/client/service-worker-connection.d.ts.map +1 -0
- package/dist/serve/worker/client/service-worker-connection.js +53 -0
- package/dist/serve/worker/client/service-worker-connection.js.map +1 -0
- package/dist/serve/worker/client/snapshots.d.ts +32 -0
- package/dist/serve/worker/client/snapshots.d.ts.map +1 -0
- package/dist/serve/worker/client/snapshots.js +46 -0
- package/dist/serve/worker/client/snapshots.js.map +1 -0
- package/dist/serve/worker/client/storage.d.ts +64 -0
- package/dist/serve/worker/client/storage.d.ts.map +1 -0
- package/dist/serve/worker/client/storage.js +125 -0
- package/dist/serve/worker/client/storage.js.map +1 -0
- package/dist/serve/worker/client/studio.d.ts +32 -0
- package/dist/serve/worker/client/studio.d.ts.map +1 -0
- package/dist/serve/worker/client/studio.js +61 -0
- package/dist/serve/worker/client/studio.js.map +1 -0
- package/dist/serve/worker/client.d.ts +43 -0
- package/dist/serve/worker/client.d.ts.map +1 -0
- package/dist/serve/worker/client.js +44 -0
- package/dist/serve/worker/client.js.map +1 -0
- package/dist/serve/worker/entry.d.ts +40 -0
- package/dist/serve/worker/entry.d.ts.map +1 -0
- package/dist/serve/worker/entry.js +144 -0
- package/dist/serve/worker/entry.js.map +1 -0
- package/dist/serve/worker/host/admin-firestore.d.ts +17 -0
- package/dist/serve/worker/host/admin-firestore.d.ts.map +1 -0
- package/dist/serve/worker/host/admin-firestore.js +92 -0
- package/dist/serve/worker/host/admin-firestore.js.map +1 -0
- package/dist/serve/worker/host/connection.d.ts +40 -0
- package/dist/serve/worker/host/connection.d.ts.map +1 -0
- package/dist/serve/worker/host/connection.js +153 -0
- package/dist/serve/worker/host/connection.js.map +1 -0
- package/dist/serve/worker/host/core.d.ts +159 -0
- package/dist/serve/worker/host/core.d.ts.map +1 -0
- package/dist/serve/worker/host/core.js +296 -0
- package/dist/serve/worker/host/core.js.map +1 -0
- package/dist/serve/worker/host/dispatch.d.ts +34 -0
- package/dist/serve/worker/host/dispatch.d.ts.map +1 -0
- package/dist/serve/worker/host/dispatch.js +267 -0
- package/dist/serve/worker/host/dispatch.js.map +1 -0
- package/dist/serve/worker/host/firestore-reads.d.ts +17 -0
- package/dist/serve/worker/host/firestore-reads.d.ts.map +1 -0
- package/dist/serve/worker/host/firestore-reads.js +108 -0
- package/dist/serve/worker/host/firestore-reads.js.map +1 -0
- package/dist/serve/worker/host/firestore-writes.d.ts +37 -0
- package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -0
- package/dist/serve/worker/host/firestore-writes.js +409 -0
- package/dist/serve/worker/host/firestore-writes.js.map +1 -0
- package/dist/serve/worker/host/presence.d.ts +38 -0
- package/dist/serve/worker/host/presence.d.ts.map +1 -0
- package/dist/serve/worker/host/presence.js +280 -0
- package/dist/serve/worker/host/presence.js.map +1 -0
- package/dist/serve/worker/host/rtdb.d.ts +18 -0
- package/dist/serve/worker/host/rtdb.d.ts.map +1 -0
- package/dist/serve/worker/host/rtdb.js +128 -0
- package/dist/serve/worker/host/rtdb.js.map +1 -0
- package/dist/serve/worker/host/rules.d.ts +17 -0
- package/dist/serve/worker/host/rules.d.ts.map +1 -0
- package/dist/serve/worker/host/rules.js +118 -0
- package/dist/serve/worker/host/rules.js.map +1 -0
- package/dist/serve/worker/host/storage.d.ts +19 -0
- package/dist/serve/worker/host/storage.d.ts.map +1 -0
- package/dist/serve/worker/host/storage.js +260 -0
- package/dist/serve/worker/host/storage.js.map +1 -0
- package/dist/serve/worker/host/studio.d.ts +13 -0
- package/dist/serve/worker/host/studio.d.ts.map +1 -0
- package/dist/serve/worker/host/studio.js +30 -0
- package/dist/serve/worker/host/studio.js.map +1 -0
- package/dist/serve/worker/host/subscriptions.d.ts +21 -0
- package/dist/serve/worker/host/subscriptions.d.ts.map +1 -0
- package/dist/serve/worker/host/subscriptions.js +162 -0
- package/dist/serve/worker/host/subscriptions.js.map +1 -0
- package/dist/serve/worker/host-ai.d.ts +59 -0
- package/dist/serve/worker/host-ai.d.ts.map +1 -0
- package/dist/serve/worker/host-ai.js +158 -0
- package/dist/serve/worker/host-ai.js.map +1 -0
- package/dist/serve/worker/host-auth.d.ts +47 -0
- package/dist/serve/worker/host-auth.d.ts.map +1 -0
- package/dist/serve/worker/host-auth.js +464 -0
- package/dist/serve/worker/host-auth.js.map +1 -0
- package/dist/serve/worker/host-context.d.ts +220 -0
- package/dist/serve/worker/host-context.d.ts.map +1 -0
- package/dist/serve/worker/host-context.js +45 -0
- package/dist/serve/worker/host-context.js.map +1 -0
- package/dist/serve/worker/host-events.d.ts +21 -0
- package/dist/serve/worker/host-events.d.ts.map +1 -0
- package/dist/serve/worker/host-events.js +87 -0
- package/dist/serve/worker/host-events.js.map +1 -0
- package/dist/serve/worker/host-messaging.d.ts +60 -0
- package/dist/serve/worker/host-messaging.d.ts.map +1 -0
- package/dist/serve/worker/host-messaging.js +226 -0
- package/dist/serve/worker/host-messaging.js.map +1 -0
- package/dist/serve/worker/host.d.ts +36 -0
- package/dist/serve/worker/host.d.ts.map +1 -0
- package/dist/serve/worker/host.js +39 -0
- package/dist/serve/worker/host.js.map +1 -0
- package/dist/serve/worker/index.d.ts +22 -0
- package/dist/serve/worker/index.d.ts.map +1 -0
- package/dist/serve/worker/index.js +61 -0
- package/dist/serve/worker/index.js.map +1 -0
- package/dist/serve/worker/presence-timing.d.ts +14 -0
- package/dist/serve/worker/presence-timing.d.ts.map +1 -0
- package/dist/serve/worker/presence-timing.js +14 -0
- package/dist/serve/worker/presence-timing.js.map +1 -0
- package/dist/serve/worker/protocol.d.ts +1150 -0
- package/dist/serve/worker/protocol.d.ts.map +1 -0
- package/dist/serve/worker/protocol.js +228 -0
- package/dist/serve/worker/protocol.js.map +1 -0
- package/dist/serve/worker/serve-init.d.ts +201 -0
- package/dist/serve/worker/serve-init.d.ts.map +1 -0
- package/dist/serve/worker/serve-init.js +579 -0
- package/dist/serve/worker/serve-init.js.map +1 -0
- package/dist/serve/worker/service-worker-channel.d.ts +23 -0
- package/dist/serve/worker/service-worker-channel.d.ts.map +1 -0
- package/dist/serve/worker/service-worker-channel.js +9 -0
- package/dist/serve/worker/service-worker-channel.js.map +1 -0
- package/dist/serve/worker/service-worker-relay.d.ts +22 -0
- package/dist/serve/worker/service-worker-relay.d.ts.map +1 -0
- package/dist/serve/worker/service-worker-relay.js +63 -0
- package/dist/serve/worker/service-worker-relay.js.map +1 -0
- package/dist/serve/writer-lock.d.ts +32 -0
- package/dist/serve/writer-lock.d.ts.map +1 -0
- package/dist/serve/writer-lock.js +43 -0
- package/dist/serve/writer-lock.js.map +1 -0
- package/dist/verify/cases.d.ts +37 -0
- package/dist/verify/cases.d.ts.map +1 -0
- package/dist/verify/cases.js +173 -0
- package/dist/verify/cases.js.map +1 -0
- package/dist/verify/fixture.d.ts +100 -0
- package/dist/verify/fixture.d.ts.map +1 -0
- package/dist/verify/fixture.js +156 -0
- package/dist/verify/fixture.js.map +1 -0
- package/dist/verify/index.d.ts +102 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +318 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/tools.d.ts +7 -0
- package/dist/verify/tools.d.ts.map +1 -0
- package/dist/verify/tools.js +83 -0
- package/dist/verify/tools.js.map +1 -0
- package/dist/version/compat-target.d.ts +18 -0
- package/dist/version/compat-target.d.ts.map +1 -0
- package/dist/version/compat-target.js +18 -0
- package/dist/version/compat-target.js.map +1 -0
- package/dist/vite.d.ts +12 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +16 -0
- package/dist/vite.js.map +1 -0
- package/package.json +133 -0
|
@@ -0,0 +1,1687 @@
|
|
|
1
|
+
|
|
2
|
+
<!-- Generated from published package declarations via TypeDoc. Do not edit by hand; run bun run docs:api:generate. -->
|
|
3
|
+
|
|
4
|
+
## Classes
|
|
5
|
+
|
|
6
|
+
<a id="inspectstoragehandler"></a>
|
|
7
|
+
|
|
8
|
+
### InspectStorageHandler
|
|
9
|
+
|
|
10
|
+
#### Constructors
|
|
11
|
+
|
|
12
|
+
<a id="constructor"></a>
|
|
13
|
+
|
|
14
|
+
##### Constructor
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
new InspectStorageHandler(): InspectStorageHandler;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
###### Returns
|
|
21
|
+
|
|
22
|
+
[`InspectStorageHandler`](#inspectstoragehandler)
|
|
23
|
+
|
|
24
|
+
#### Methods
|
|
25
|
+
|
|
26
|
+
<a id="execute"></a>
|
|
27
|
+
|
|
28
|
+
##### execute()
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
execute(scope: ProjectScope): Promise<InspectStorageResult>;
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
###### Parameters
|
|
35
|
+
|
|
36
|
+
| Parameter | Type |
|
|
37
|
+
| :------ | :------ |
|
|
38
|
+
| `scope` | `ProjectScope` |
|
|
39
|
+
|
|
40
|
+
###### Returns
|
|
41
|
+
|
|
42
|
+
`Promise`\<[`InspectStorageResult`](#inspectstorageresult)\>
|
|
43
|
+
|
|
44
|
+
***
|
|
45
|
+
|
|
46
|
+
<a id="provisionstoragehandler"></a>
|
|
47
|
+
|
|
48
|
+
### ProvisionStorageHandler
|
|
49
|
+
|
|
50
|
+
#### Constructors
|
|
51
|
+
|
|
52
|
+
<a id="constructor-1"></a>
|
|
53
|
+
|
|
54
|
+
##### Constructor
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
new ProvisionStorageHandler(): ProvisionStorageHandler;
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
###### Returns
|
|
61
|
+
|
|
62
|
+
[`ProvisionStorageHandler`](#provisionstoragehandler)
|
|
63
|
+
|
|
64
|
+
#### Methods
|
|
65
|
+
|
|
66
|
+
<a id="execute-2"></a>
|
|
67
|
+
|
|
68
|
+
##### execute()
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
execute(
|
|
72
|
+
scope: ProjectScope,
|
|
73
|
+
input: ProvisionStorageInput,
|
|
74
|
+
onProgress?: ProvisionProgress): Promise<ProvisionStorageOutcome>;
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
###### Parameters
|
|
78
|
+
|
|
79
|
+
| Parameter | Type |
|
|
80
|
+
| :------ | :------ |
|
|
81
|
+
| `scope` | `ProjectScope` |
|
|
82
|
+
| `input` | [`ProvisionStorageInput`](#provisionstorageinput) |
|
|
83
|
+
| `onProgress?` | `ProvisionProgress` |
|
|
84
|
+
|
|
85
|
+
###### Returns
|
|
86
|
+
|
|
87
|
+
`Promise`\<[`ProvisionStorageOutcome`](#provisionstorageoutcome)\>
|
|
88
|
+
|
|
89
|
+
***
|
|
90
|
+
|
|
91
|
+
<a id="storageerror"></a>
|
|
92
|
+
|
|
93
|
+
### StorageError
|
|
94
|
+
|
|
95
|
+
Storage error carrying a prefixed `storage/<code>` on `.code`.
|
|
96
|
+
Drop-in for `err.code === 'storage/object-not-found'` branching.
|
|
97
|
+
|
|
98
|
+
#### Extends
|
|
99
|
+
|
|
100
|
+
- `Error`
|
|
101
|
+
|
|
102
|
+
#### Constructors
|
|
103
|
+
|
|
104
|
+
<a id="constructor-2"></a>
|
|
105
|
+
|
|
106
|
+
##### Constructor
|
|
107
|
+
|
|
108
|
+
```ts
|
|
109
|
+
new StorageError(code: StorageErrorCode, message: string): StorageError;
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
###### Parameters
|
|
113
|
+
|
|
114
|
+
| Parameter | Type |
|
|
115
|
+
| :------ | :------ |
|
|
116
|
+
| `code` | [`StorageErrorCode`](#storageerrorcode-1) |
|
|
117
|
+
| `message` | `string` |
|
|
118
|
+
|
|
119
|
+
###### Returns
|
|
120
|
+
|
|
121
|
+
[`StorageError`](#storageerror)
|
|
122
|
+
|
|
123
|
+
###### Overrides
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
Error.constructor
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
#### Properties
|
|
130
|
+
|
|
131
|
+
| Property | Modifier | Type | Description |
|
|
132
|
+
| :------ | :------ | :------ | :------ |
|
|
133
|
+
| <a id="code"></a> `code` | `readonly` | \| `"storage/unknown"` \| `"storage/object-not-found"` \| `"storage/quota-exceeded"` \| `"storage/unauthenticated"` \| `"storage/unauthorized"` \| `"storage/invalid-root-operation"` \| `"storage/invalid-format"` \| `"storage/invalid-argument"` | Prefixed code, e.g. `storage/object-not-found`. |
|
|
134
|
+
|
|
135
|
+
***
|
|
136
|
+
|
|
137
|
+
<a id="storageprovisioningerror"></a>
|
|
138
|
+
|
|
139
|
+
### StorageProvisioningError
|
|
140
|
+
|
|
141
|
+
Pure-fetch client for the Firebase Storage provisioning APIs.
|
|
142
|
+
Takes an OAuth access token directly — works equally from a Node
|
|
143
|
+
agent runtime or a browser. Used by:
|
|
144
|
+
|
|
145
|
+
- `ProvisionStorageHandler` server-side via the agent SDK
|
|
146
|
+
- Consumers like the multi-tenant playground via direct import
|
|
147
|
+
|
|
148
|
+
The caller is responsible for token scope. `firebase` scope is
|
|
149
|
+
enough for the `:addFirebase` + `defaultLocation:finalize` calls,
|
|
150
|
+
but **NOT** for enabling the underlying `firebasestorage.googleapis.com`
|
|
151
|
+
service (which is the first-time gate). Service-enable requires
|
|
152
|
+
`cloud-platform` scope OR a service account with
|
|
153
|
+
`roles/serviceusage.serviceUsageAdmin`. Each function below
|
|
154
|
+
documents which scope it needs.
|
|
155
|
+
|
|
156
|
+
Endpoints under play:
|
|
157
|
+
- serviceusage.googleapis.com/v1/projects/{p}/services/{s}:enable
|
|
158
|
+
- firebase.googleapis.com/v1beta1/projects/{p}/defaultLocation:finalize
|
|
159
|
+
- firebasestorage.googleapis.com/v1beta/projects/{p}/buckets
|
|
160
|
+
- firebasestorage.googleapis.com/v1beta/projects/{p}/buckets/{b}:addFirebase
|
|
161
|
+
- firebaserules.googleapis.com/v1/projects/{p}/releases/firebase.storage
|
|
162
|
+
|
|
163
|
+
#### Extends
|
|
164
|
+
|
|
165
|
+
- `Error`
|
|
166
|
+
|
|
167
|
+
#### Constructors
|
|
168
|
+
|
|
169
|
+
<a id="constructor-3"></a>
|
|
170
|
+
|
|
171
|
+
##### Constructor
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
new StorageProvisioningError(
|
|
175
|
+
status: number,
|
|
176
|
+
body: string,
|
|
177
|
+
reason: string,
|
|
178
|
+
message: string): StorageProvisioningError;
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
###### Parameters
|
|
182
|
+
|
|
183
|
+
| Parameter | Type |
|
|
184
|
+
| :------ | :------ |
|
|
185
|
+
| `status` | `number` |
|
|
186
|
+
| `body` | `string` |
|
|
187
|
+
| `reason` | `string` |
|
|
188
|
+
| `message` | `string` |
|
|
189
|
+
|
|
190
|
+
###### Returns
|
|
191
|
+
|
|
192
|
+
[`StorageProvisioningError`](#storageprovisioningerror)
|
|
193
|
+
|
|
194
|
+
###### Overrides
|
|
195
|
+
|
|
196
|
+
```ts
|
|
197
|
+
Error.constructor
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### Properties
|
|
201
|
+
|
|
202
|
+
| Property | Modifier | Type |
|
|
203
|
+
| :------ | :------ | :------ |
|
|
204
|
+
| <a id="body"></a> `body` | `readonly` | `string` |
|
|
205
|
+
| <a id="reason"></a> `reason` | `readonly` | `string` |
|
|
206
|
+
| <a id="status"></a> `status` | `readonly` | `number` |
|
|
207
|
+
|
|
208
|
+
## Interfaces
|
|
209
|
+
|
|
210
|
+
<a id="corsrule"></a>
|
|
211
|
+
|
|
212
|
+
### CorsRule
|
|
213
|
+
|
|
214
|
+
A single CORS rule entry, mirroring the GCS bucket CORS schema.
|
|
215
|
+
See https://cloud.google.com/storage/docs/cross-origin#cors-elements.
|
|
216
|
+
|
|
217
|
+
#### Properties
|
|
218
|
+
|
|
219
|
+
| Property | Type |
|
|
220
|
+
| :------ | :------ |
|
|
221
|
+
| <a id="maxageseconds"></a> `maxAgeSeconds?` | `number` |
|
|
222
|
+
| <a id="method"></a> `method` | `string`[] |
|
|
223
|
+
| <a id="origin"></a> `origin` | `string`[] |
|
|
224
|
+
| <a id="responseheader"></a> `responseHeader?` | `string`[] |
|
|
225
|
+
|
|
226
|
+
***
|
|
227
|
+
|
|
228
|
+
<a id="evaluationinput"></a>
|
|
229
|
+
|
|
230
|
+
### EvaluationInput
|
|
231
|
+
|
|
232
|
+
#### Properties
|
|
233
|
+
|
|
234
|
+
| Property | Type |
|
|
235
|
+
| :------ | :------ |
|
|
236
|
+
| <a id="request"></a> `request` | [`StorageRequest`](#storagerequest) |
|
|
237
|
+
| <a id="resource"></a> `resource` | [`StorageResource`](#storageresource) |
|
|
238
|
+
|
|
239
|
+
***
|
|
240
|
+
|
|
241
|
+
<a id="evaluationresult"></a>
|
|
242
|
+
|
|
243
|
+
### EvaluationResult
|
|
244
|
+
|
|
245
|
+
#### Properties
|
|
246
|
+
|
|
247
|
+
| Property | Type | Description |
|
|
248
|
+
| :------ | :------ | :------ |
|
|
249
|
+
| <a id="allowed"></a> `allowed` | `boolean` | - |
|
|
250
|
+
| <a id="reasons"></a> `reasons` | `string`[] | Human-readable explanation of why — used by Slice 8's integration to populate `storage/unauthorized` error messages. |
|
|
251
|
+
|
|
252
|
+
***
|
|
253
|
+
|
|
254
|
+
<a id="firebasestorage"></a>
|
|
255
|
+
|
|
256
|
+
### FirebaseStorage
|
|
257
|
+
|
|
258
|
+
Public opaque handle. Carries a [Target](#target) via
|
|
259
|
+
[TARGET\_SYMBOL](#target_symbol-1); never inspected by consumer code, which
|
|
260
|
+
interacts with storage only through [ref](#ref-1) and the operation
|
|
261
|
+
free functions.
|
|
262
|
+
|
|
263
|
+
#### Properties
|
|
264
|
+
|
|
265
|
+
| Property | Modifier | Type |
|
|
266
|
+
| :------ | :------ | :------ |
|
|
267
|
+
| <a id="target_symbol"></a> `[TARGET_SYMBOL]` | `readonly` | [`SandboxTarget`](#sandboxtarget) |
|
|
268
|
+
| <a id="app"></a> `app?` | `readonly` | `FirebaseApp` |
|
|
269
|
+
|
|
270
|
+
***
|
|
271
|
+
|
|
272
|
+
<a id="firebasestoragebucket"></a>
|
|
273
|
+
|
|
274
|
+
### FirebaseStorageBucket
|
|
275
|
+
|
|
276
|
+
#### Properties
|
|
277
|
+
|
|
278
|
+
| Property | Type |
|
|
279
|
+
| :------ | :------ |
|
|
280
|
+
| <a id="bucketid"></a> `bucketId` | `string` |
|
|
281
|
+
| <a id="name"></a> `name` | `string` |
|
|
282
|
+
| <a id="reconciling"></a> `reconciling?` | `boolean` |
|
|
283
|
+
|
|
284
|
+
***
|
|
285
|
+
|
|
286
|
+
<a id="firestorelookup"></a>
|
|
287
|
+
|
|
288
|
+
### FirestoreLookup
|
|
289
|
+
|
|
290
|
+
Injected capability that lets a Storage rule read Firestore documents
|
|
291
|
+
(`firestore.get(path)` / `firestore.exists(path)`), WITHOUT the pure
|
|
292
|
+
evaluator importing the Firestore sandbox. The enforcement layer builds
|
|
293
|
+
one from the sandbox's admin Firestore accessor (a synchronous in-memory
|
|
294
|
+
read) and passes it into [evaluateStorageRules](#evaluatestoragerules); pure/test callers
|
|
295
|
+
that omit it get the deny-with-reason "unsupported" behavior instead.
|
|
296
|
+
|
|
297
|
+
Paths are the document path RELATIVE to the database — the
|
|
298
|
+
`collection/doc` form `sandbox.admin.getDocument` expects — after the
|
|
299
|
+
evaluator has stripped the `/databases/<db>/documents/` prefix from the
|
|
300
|
+
rule's path literal.
|
|
301
|
+
|
|
302
|
+
#### Methods
|
|
303
|
+
|
|
304
|
+
<a id="exists"></a>
|
|
305
|
+
|
|
306
|
+
##### exists()
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
exists(path: string): boolean;
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
Whether a document exists at `path`.
|
|
313
|
+
|
|
314
|
+
###### Parameters
|
|
315
|
+
|
|
316
|
+
| Parameter | Type |
|
|
317
|
+
| :------ | :------ |
|
|
318
|
+
| `path` | `string` |
|
|
319
|
+
|
|
320
|
+
###### Returns
|
|
321
|
+
|
|
322
|
+
`boolean`
|
|
323
|
+
|
|
324
|
+
<a id="get"></a>
|
|
325
|
+
|
|
326
|
+
##### get()
|
|
327
|
+
|
|
328
|
+
```ts
|
|
329
|
+
get(path: string): Record<string, unknown>;
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
The document's fields, or `null` when the document does not exist.
|
|
333
|
+
|
|
334
|
+
###### Parameters
|
|
335
|
+
|
|
336
|
+
| Parameter | Type |
|
|
337
|
+
| :------ | :------ |
|
|
338
|
+
| `path` | `string` |
|
|
339
|
+
|
|
340
|
+
###### Returns
|
|
341
|
+
|
|
342
|
+
`Record`\<`string`, `unknown`\>
|
|
343
|
+
|
|
344
|
+
***
|
|
345
|
+
|
|
346
|
+
<a id="fullmetadata"></a>
|
|
347
|
+
|
|
348
|
+
### FullMetadata
|
|
349
|
+
|
|
350
|
+
Server-set + client-settable fields read back from
|
|
351
|
+
`uploadBytes` / `getMetadata` / `updateMetadata`. Server-set
|
|
352
|
+
fields (`bucket`, `fullPath`, `name`, `generation`,
|
|
353
|
+
`metageneration`, `timeCreated`, `updated`, `size`) are populated
|
|
354
|
+
by the upload pipeline; client-settable fields round-trip from
|
|
355
|
+
`SettableMetadata`.
|
|
356
|
+
|
|
357
|
+
#### Extends
|
|
358
|
+
|
|
359
|
+
- [`SettableMetadata`](#settablemetadata)
|
|
360
|
+
|
|
361
|
+
#### Properties
|
|
362
|
+
|
|
363
|
+
| Property | Type |
|
|
364
|
+
| :------ | :------ |
|
|
365
|
+
| <a id="bucket"></a> `bucket` | `string` |
|
|
366
|
+
| <a id="cachecontrol"></a> `cacheControl?` | `string` |
|
|
367
|
+
| <a id="contentdisposition"></a> `contentDisposition?` | `string` |
|
|
368
|
+
| <a id="contentencoding"></a> `contentEncoding?` | `string` |
|
|
369
|
+
| <a id="contentlanguage"></a> `contentLanguage?` | `string` |
|
|
370
|
+
| <a id="contenttype"></a> `contentType?` | `string` |
|
|
371
|
+
| <a id="custommetadata"></a> `customMetadata?` | \{ \[`key`: `string`\]: `string`; \} |
|
|
372
|
+
| <a id="fullpath"></a> `fullPath` | `string` |
|
|
373
|
+
| <a id="generation"></a> `generation` | `string` |
|
|
374
|
+
| <a id="md5hash"></a> `md5Hash?` | `string` |
|
|
375
|
+
| <a id="metageneration"></a> `metageneration` | `string` |
|
|
376
|
+
| <a id="name-1"></a> `name` | `string` |
|
|
377
|
+
| <a id="size"></a> `size` | `number` |
|
|
378
|
+
| <a id="timecreated"></a> `timeCreated` | `string` |
|
|
379
|
+
| <a id="updated"></a> `updated` | `string` |
|
|
380
|
+
|
|
381
|
+
***
|
|
382
|
+
|
|
383
|
+
<a id="inspectstorageresult"></a>
|
|
384
|
+
|
|
385
|
+
### InspectStorageResult
|
|
386
|
+
|
|
387
|
+
#### Properties
|
|
388
|
+
|
|
389
|
+
| Property | Type |
|
|
390
|
+
| :------ | :------ |
|
|
391
|
+
| <a id="buckets"></a> `buckets` | \{ `bucketId`: `string`; `name`: `string`; \}[] |
|
|
392
|
+
| <a id="defaultlocation"></a> `defaultLocation` | `string` |
|
|
393
|
+
| <a id="servicestate"></a> `serviceState` | `"unknown"` \| `"enabled"` \| `"disabled"` |
|
|
394
|
+
|
|
395
|
+
***
|
|
396
|
+
|
|
397
|
+
<a id="listresult"></a>
|
|
398
|
+
|
|
399
|
+
### ListResult
|
|
400
|
+
|
|
401
|
+
Mirrors `firebase/storage`'s `ListResult`. `nextPageToken` is
|
|
402
|
+
`undefined` for `listAll`; pagination via `list()` is deferred.
|
|
403
|
+
|
|
404
|
+
#### Properties
|
|
405
|
+
|
|
406
|
+
| Property | Type |
|
|
407
|
+
| :------ | :------ |
|
|
408
|
+
| <a id="items"></a> `items` | [`StorageReference`](#storagereference)[] |
|
|
409
|
+
| <a id="nextpagetoken"></a> `nextPageToken?` | `string` |
|
|
410
|
+
| <a id="prefixes"></a> `prefixes` | [`StorageReference`](#storagereference)[] |
|
|
411
|
+
|
|
412
|
+
***
|
|
413
|
+
|
|
414
|
+
<a id="provisionstorageinput"></a>
|
|
415
|
+
|
|
416
|
+
### ProvisionStorageInput
|
|
417
|
+
|
|
418
|
+
Shapes for the Storage provisioning + status tools.
|
|
419
|
+
|
|
420
|
+
Types only — the agent-tool parameter schemas live inline in
|
|
421
|
+
`tools.ts` as JSON Schema (the `ToolHandler` contract).
|
|
422
|
+
|
|
423
|
+
#### Properties
|
|
424
|
+
|
|
425
|
+
| Property | Type | Description |
|
|
426
|
+
| :------ | :------ | :------ |
|
|
427
|
+
| <a id="bucketid-1"></a> `bucketId?` | `string` | Override the default Firebase Storage bucket ID. Defaults to `{projectId}.firebasestorage.app`. |
|
|
428
|
+
| <a id="cors"></a> `cors?` | \{ `maxAgeSeconds?`: `number`; `method`: `string`[]; `origin`: `string`[]; `responseHeader?`: `string`[]; \}[] | CORS rules to apply to the bucket. Required for browser-side reads/writes from a non-Firebase origin. Omit to leave existing CORS untouched. |
|
|
429
|
+
| <a id="locationid"></a> `locationId?` | `string` | Default GCP resources location to use when the project has not been finalized yet. IRREVERSIBLE once set. Common values: `us-central`, `nam5`, `eur3`. Default: `us-central`. |
|
|
430
|
+
| <a id="rules"></a> `rules?` | `string` | Storage rules source to deploy after the bucket is linked. Optional; when omitted, whatever rules are currently released (possibly the deny-all default) stay in place. |
|
|
431
|
+
|
|
432
|
+
***
|
|
433
|
+
|
|
434
|
+
<a id="provisionstorageoptions"></a>
|
|
435
|
+
|
|
436
|
+
### ProvisionStorageOptions
|
|
437
|
+
|
|
438
|
+
#### Properties
|
|
439
|
+
|
|
440
|
+
| Property | Type | Description |
|
|
441
|
+
| :------ | :------ | :------ |
|
|
442
|
+
| <a id="bucketid-2"></a> `bucketId?` | `string` | Override the default Firebase Storage bucket ID. Defaults to `{projectId}.firebasestorage.app` — the bucket Firebase Console creates automatically. |
|
|
443
|
+
| <a id="cors-1"></a> `cors?` | [`CorsRule`](#corsrule)[] | CORS rules to apply to the bucket after it's linked. Required for browser-side reads/writes from a non-Firebase origin — buckets created via the Cloud Console (vs Firebase Console) often ship with no CORS configuration, which manifests as `No 'Access-Control-Allow-Origin' header` on the first `XMLHttpRequest` from a hosted page. Pass `defaultPlaygroundCors(origin)` for a sensible starter config, or a custom array. Omit to leave the bucket's CORS alone. |
|
|
444
|
+
| <a id="locationid-1"></a> `locationId?` | `string` | Default GCP resources location to use if the project hasn't been finalized yet. Ignored when the location is already set. Default: `'us-central'`. |
|
|
445
|
+
| <a id="onprogress"></a> `onProgress?` | `ProvisionProgress` | Optional progress callback, invoked at each provisioning step boundary. |
|
|
446
|
+
| <a id="rules-1"></a> `rules?` | `string` | Storage rules source to deploy after the bucket is linked. When omitted, no rules are deployed (the project keeps whatever rules were last released — possibly the default deny-all). |
|
|
447
|
+
|
|
448
|
+
***
|
|
449
|
+
|
|
450
|
+
<a id="provisionstorageresult"></a>
|
|
451
|
+
|
|
452
|
+
### ProvisionStorageResult
|
|
453
|
+
|
|
454
|
+
#### Properties
|
|
455
|
+
|
|
456
|
+
| Property | Type |
|
|
457
|
+
| :------ | :------ |
|
|
458
|
+
| <a id="bucketcreated"></a> `bucketCreated` | `boolean` |
|
|
459
|
+
| <a id="bucketid-3"></a> `bucketId` | `string` |
|
|
460
|
+
| <a id="corsapplied"></a> `corsApplied` | `boolean` |
|
|
461
|
+
| <a id="locationfinalized"></a> `locationFinalized` | `boolean` |
|
|
462
|
+
| <a id="locationid-2"></a> `locationId` | `string` |
|
|
463
|
+
| <a id="ok"></a> `ok` | `true` |
|
|
464
|
+
| <a id="rulesdeployed"></a> `rulesDeployed` | `boolean` |
|
|
465
|
+
| <a id="rulesetname"></a> `rulesetName?` | `string` |
|
|
466
|
+
| <a id="serviceenabled"></a> `serviceEnabled` | `boolean` |
|
|
467
|
+
|
|
468
|
+
***
|
|
469
|
+
|
|
470
|
+
<a id="sandboxtarget"></a>
|
|
471
|
+
|
|
472
|
+
### SandboxTarget
|
|
473
|
+
|
|
474
|
+
Sandbox target — IDB-backed, identity from `SandboxContext`, rules
|
|
475
|
+
enforced in-process via `enforce.ts`.
|
|
476
|
+
|
|
477
|
+
#### Properties
|
|
478
|
+
|
|
479
|
+
| Property | Modifier | Type | Description |
|
|
480
|
+
| :------ | :------ | :------ | :------ |
|
|
481
|
+
| <a id="admin"></a> `admin?` | `readonly` | `boolean` | Rules-bypass admin plane. `true` only on handles minted by the INTERNAL getAdminStorageSandbox factory (exported via `pyric/storage/internal`, never the public surface): operations on an admin handle skip rule evaluation entirely — the storage mirror of `getAdminFirestore` / `getAdminDatabase`. The public modular surface stays rules-honest; this exists so hosts (the SharedWorker's `actAs: { mode: 'admin' }` lens) can serve firebase-admin semantics against the same shared store. |
|
|
482
|
+
| <a id="bucket-1"></a> `bucket` | `readonly` | `string` | - |
|
|
483
|
+
| <a id="context"></a> `context` | `readonly` | `SandboxContext` | - |
|
|
484
|
+
| <a id="currentauth"></a> `currentAuth?` | `readonly` | () => `AuthState` | App handles resolve auth at operation time; explicit contexts stay frozen. |
|
|
485
|
+
| <a id="kind"></a> `kind` | `readonly` | `"sandbox"` | - |
|
|
486
|
+
| <a id="sandbox"></a> `sandbox` | `readonly` | `Sandbox` | - |
|
|
487
|
+
| <a id="servicepromise"></a> `servicePromise` | `readonly` | `Promise`\<`StorageService`\> | - |
|
|
488
|
+
|
|
489
|
+
***
|
|
490
|
+
|
|
491
|
+
<a id="settablemetadata"></a>
|
|
492
|
+
|
|
493
|
+
### SettableMetadata
|
|
494
|
+
|
|
495
|
+
Client-settable fields. Passed to `uploadBytes` /
|
|
496
|
+
`uploadString` / `updateMetadata`. Every field is optional — the
|
|
497
|
+
upload pipeline fills any unsupplied client fields with sane
|
|
498
|
+
defaults (e.g. `contentType` falls back to `application/octet-stream`).
|
|
499
|
+
|
|
500
|
+
#### Extended by
|
|
501
|
+
|
|
502
|
+
- [`FullMetadata`](#fullmetadata)
|
|
503
|
+
|
|
504
|
+
#### Properties
|
|
505
|
+
|
|
506
|
+
| Property | Type |
|
|
507
|
+
| :------ | :------ |
|
|
508
|
+
| <a id="cachecontrol-1"></a> `cacheControl?` | `string` |
|
|
509
|
+
| <a id="contentdisposition-1"></a> `contentDisposition?` | `string` |
|
|
510
|
+
| <a id="contentencoding-1"></a> `contentEncoding?` | `string` |
|
|
511
|
+
| <a id="contentlanguage-1"></a> `contentLanguage?` | `string` |
|
|
512
|
+
| <a id="contenttype-1"></a> `contentType?` | `string` |
|
|
513
|
+
| <a id="custommetadata-1"></a> `customMetadata?` | \{ \[`key`: `string`\]: `string`; \} |
|
|
514
|
+
|
|
515
|
+
***
|
|
516
|
+
|
|
517
|
+
<a id="storageadmintooldeps"></a>
|
|
518
|
+
|
|
519
|
+
### StorageAdminToolDeps
|
|
520
|
+
|
|
521
|
+
#### Properties
|
|
522
|
+
|
|
523
|
+
| Property | Type | Description |
|
|
524
|
+
| :------ | :------ | :------ |
|
|
525
|
+
| <a id="scope"></a> `scope` | `ProjectScope` | Project identity + token resolver. |
|
|
526
|
+
|
|
527
|
+
***
|
|
528
|
+
|
|
529
|
+
<a id="storageauth"></a>
|
|
530
|
+
|
|
531
|
+
### StorageAuth
|
|
532
|
+
|
|
533
|
+
Identity passed in with the request. `null` is anonymous.
|
|
534
|
+
|
|
535
|
+
#### Properties
|
|
536
|
+
|
|
537
|
+
| Property | Type |
|
|
538
|
+
| :------ | :------ |
|
|
539
|
+
| <a id="token"></a> `token?` | `Record`\<`string`, `unknown`\> |
|
|
540
|
+
| <a id="uid"></a> `uid` | `string` |
|
|
541
|
+
|
|
542
|
+
***
|
|
543
|
+
|
|
544
|
+
<a id="storageoptions"></a>
|
|
545
|
+
|
|
546
|
+
### StorageOptions
|
|
547
|
+
|
|
548
|
+
Options for [getStorageSandbox](#getstoragesandbox).
|
|
549
|
+
|
|
550
|
+
#### Properties
|
|
551
|
+
|
|
552
|
+
| Property | Type | Description |
|
|
553
|
+
| :------ | :------ | :------ |
|
|
554
|
+
| <a id="bucket-2"></a> `bucket?` | `string` | Bucket identifier recorded on uploaded metadata. v1 has a single implicit bucket and does not enforce cross-bucket isolation — passing different values per call is accepted and round-trips in metadata, but the data store is shared. |
|
|
555
|
+
| <a id="dbname"></a> `dbName?` | `string` | Override the IndexedDB database name. Tests pass per-case unique names so state doesn't leak between runs. Only takes effect on the FIRST call per `Sandbox`. |
|
|
556
|
+
| <a id="rules-2"></a> `rules?` | `string` | Storage rules source. Parsed eagerly so a malformed string throws at config time. Only honored on the FIRST call per `Sandbox`. |
|
|
557
|
+
|
|
558
|
+
***
|
|
559
|
+
|
|
560
|
+
<a id="storagereference"></a>
|
|
561
|
+
|
|
562
|
+
### StorageReference
|
|
563
|
+
|
|
564
|
+
Public reference shape. Methods are inherited from the impl
|
|
565
|
+
classes below; the interface is exported so consumer code can
|
|
566
|
+
name the type without depending on the impls.
|
|
567
|
+
|
|
568
|
+
#### Properties
|
|
569
|
+
|
|
570
|
+
| Property | Modifier | Type |
|
|
571
|
+
| :------ | :------ | :------ |
|
|
572
|
+
| <a id="bucket-3"></a> `bucket` | `readonly` | `string` |
|
|
573
|
+
| <a id="fullpath-1"></a> `fullPath` | `readonly` | `string` |
|
|
574
|
+
| <a id="name-2"></a> `name` | `readonly` | `string` |
|
|
575
|
+
| <a id="parent"></a> `parent` | `readonly` | [`StorageReference`](#storagereference) |
|
|
576
|
+
| <a id="root"></a> `root` | `readonly` | [`StorageReference`](#storagereference) |
|
|
577
|
+
| <a id="storage"></a> `storage` | `readonly` | [`FirebaseStorage`](#firebasestorage) |
|
|
578
|
+
|
|
579
|
+
#### Methods
|
|
580
|
+
|
|
581
|
+
<a id="tostring"></a>
|
|
582
|
+
|
|
583
|
+
##### toString()
|
|
584
|
+
|
|
585
|
+
```ts
|
|
586
|
+
toString(): string;
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
###### Returns
|
|
590
|
+
|
|
591
|
+
`string`
|
|
592
|
+
|
|
593
|
+
***
|
|
594
|
+
|
|
595
|
+
<a id="storagerequest"></a>
|
|
596
|
+
|
|
597
|
+
### StorageRequest
|
|
598
|
+
|
|
599
|
+
Inbound request bindings the rules see.
|
|
600
|
+
|
|
601
|
+
#### Properties
|
|
602
|
+
|
|
603
|
+
| Property | Type | Description |
|
|
604
|
+
| :------ | :------ | :------ |
|
|
605
|
+
| <a id="auth"></a> `auth` | [`StorageAuth`](#storageauth) | - |
|
|
606
|
+
| <a id="method-1"></a> `method` | [`StorageRequestMethod`](#storagerequestmethod-1) | - |
|
|
607
|
+
| <a id="path"></a> `path` | `string` | Path of the object the request targets. |
|
|
608
|
+
| <a id="resource-1"></a> `resource?` | \{ `contentType?`: `string`; `metadata?`: `Record`\<`string`, `string`\>; `size`: `number`; \} | Per-Firebase: on writes, `request.resource` describes the about-to-write object. Omit for reads (the rules language treats `request.resource` as unset there). |
|
|
609
|
+
| `resource.contentType?` | `string` | - |
|
|
610
|
+
| `resource.metadata?` | `Record`\<`string`, `string`\> | - |
|
|
611
|
+
| `resource.size` | `number` | - |
|
|
612
|
+
|
|
613
|
+
***
|
|
614
|
+
|
|
615
|
+
<a id="storageresource"></a>
|
|
616
|
+
|
|
617
|
+
### StorageResource
|
|
618
|
+
|
|
619
|
+
Existing-object bindings (for `resource.*`). `null` when no object exists
|
|
620
|
+
yet (creates).
|
|
621
|
+
|
|
622
|
+
The object-identity/time fields carry GOOGLE CLOUD STORAGE semantics, not
|
|
623
|
+
the client SDK's `FullMetadata` semantics — the two disagree on `name`:
|
|
624
|
+
|
|
625
|
+
- rules `resource.name` is the object's FULL path within the bucket
|
|
626
|
+
(`uploads/pic.png`), the GCS object-name convention. The client SDK's
|
|
627
|
+
`FullMetadata.name` is the LAST path segment (`pic.png`). The adapter
|
|
628
|
+
(`resourceFromStored`) therefore sources `name` from the persisted
|
|
629
|
+
record's `fullPath`, NOT its `name`.
|
|
630
|
+
- `timeCreated` / `updated` are ISO-8601 strings here (the persisted
|
|
631
|
+
shape); the evaluator converts them to epoch millis when it builds the
|
|
632
|
+
binding, so they compare numerically against `request.time` and against
|
|
633
|
+
each other. Production types them as `timestamp` and rejects an int in
|
|
634
|
+
their place ("Received: int < timestamp").
|
|
635
|
+
- The update-time field is `updated`. There is NO `resource.timeUpdated`
|
|
636
|
+
in the Storage rules language.
|
|
637
|
+
|
|
638
|
+
A field left `undefined` reads as ABSENT, which production treats as an
|
|
639
|
+
evaluation error that denies (see RuleError).
|
|
640
|
+
|
|
641
|
+
#### Properties
|
|
642
|
+
|
|
643
|
+
| Property | Type | Description |
|
|
644
|
+
| :------ | :------ | :------ |
|
|
645
|
+
| <a id="bucket-4"></a> `bucket?` | `string` | Bucket the object lives in. |
|
|
646
|
+
| <a id="contenttype-2"></a> `contentType?` | `string` | - |
|
|
647
|
+
| <a id="generation-1"></a> `generation?` | `number` | Content generation (production types it `int`). |
|
|
648
|
+
| <a id="metadata"></a> `metadata?` | `Record`\<`string`, `string`\> | - |
|
|
649
|
+
| <a id="metageneration-1"></a> `metageneration?` | `number` | Metadata generation (production types it `int`). |
|
|
650
|
+
| <a id="name-3"></a> `name?` | `string` | Full object path within the bucket, e.g. `uploads/pic.png`. |
|
|
651
|
+
| <a id="size-1"></a> `size` | `number` | - |
|
|
652
|
+
| <a id="timecreated-1"></a> `timeCreated?` | `string` | ISO-8601 creation time. |
|
|
653
|
+
| <a id="updated-1"></a> `updated?` | `string` | ISO-8601 time of the most recent content/metadata update. |
|
|
654
|
+
|
|
655
|
+
***
|
|
656
|
+
|
|
657
|
+
<a id="storagerules"></a>
|
|
658
|
+
|
|
659
|
+
### StorageRules
|
|
660
|
+
|
|
661
|
+
Opaque parsed-rules handle returned by `parseStorageRules`.
|
|
662
|
+
|
|
663
|
+
***
|
|
664
|
+
|
|
665
|
+
<a id="uploadresult"></a>
|
|
666
|
+
|
|
667
|
+
### UploadResult
|
|
668
|
+
|
|
669
|
+
Return shape of `uploadBytes` / `uploadString`.
|
|
670
|
+
|
|
671
|
+
#### Properties
|
|
672
|
+
|
|
673
|
+
| Property | Type |
|
|
674
|
+
| :------ | :------ |
|
|
675
|
+
| <a id="metadata-1"></a> `metadata` | [`FullMetadata`](#fullmetadata) |
|
|
676
|
+
| <a id="ref"></a> `ref` | [`StorageReference`](#storagereference) |
|
|
677
|
+
|
|
678
|
+
## Type Aliases
|
|
679
|
+
|
|
680
|
+
<a id="provisionstorageerrorcode"></a>
|
|
681
|
+
|
|
682
|
+
### ProvisionStorageErrorCode
|
|
683
|
+
|
|
684
|
+
```ts
|
|
685
|
+
type ProvisionStorageErrorCode =
|
|
686
|
+
| "PERMISSION_DENIED"
|
|
687
|
+
| "SERVICE_DISABLED"
|
|
688
|
+
| "LOCATION_FINALIZE_FAILED"
|
|
689
|
+
| "BUCKET_CREATE_FAILED"
|
|
690
|
+
| "RULES_DEPLOY_FAILED"
|
|
691
|
+
| "CORS_UPDATE_FAILED"
|
|
692
|
+
| "UNKNOWN";
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
***
|
|
696
|
+
|
|
697
|
+
<a id="provisionstorageoutcome"></a>
|
|
698
|
+
|
|
699
|
+
### ProvisionStorageOutcome
|
|
700
|
+
|
|
701
|
+
```ts
|
|
702
|
+
type ProvisionStorageOutcome =
|
|
703
|
+
| {
|
|
704
|
+
bucketCreated: boolean;
|
|
705
|
+
bucketId: string;
|
|
706
|
+
corsApplied: boolean;
|
|
707
|
+
locationFinalized: boolean;
|
|
708
|
+
locationId: string | null;
|
|
709
|
+
rulesDeployed: boolean;
|
|
710
|
+
rulesetName?: string;
|
|
711
|
+
serviceEnabled: boolean;
|
|
712
|
+
success: true;
|
|
713
|
+
}
|
|
714
|
+
| {
|
|
715
|
+
error: {
|
|
716
|
+
code: ProvisionStorageErrorCode;
|
|
717
|
+
message: string;
|
|
718
|
+
recoverable: boolean;
|
|
719
|
+
};
|
|
720
|
+
success: false;
|
|
721
|
+
};
|
|
722
|
+
```
|
|
723
|
+
|
|
724
|
+
***
|
|
725
|
+
|
|
726
|
+
<a id="serviceenablestate"></a>
|
|
727
|
+
|
|
728
|
+
### ServiceEnableState
|
|
729
|
+
|
|
730
|
+
```ts
|
|
731
|
+
type ServiceEnableState = "enabled" | "disabled" | "unknown";
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
***
|
|
735
|
+
|
|
736
|
+
<a id="storageerrorcode-1"></a>
|
|
737
|
+
|
|
738
|
+
### StorageErrorCode
|
|
739
|
+
|
|
740
|
+
```ts
|
|
741
|
+
type StorageErrorCode =
|
|
742
|
+
| "unknown"
|
|
743
|
+
| "object-not-found"
|
|
744
|
+
| "quota-exceeded"
|
|
745
|
+
| "unauthenticated"
|
|
746
|
+
| "unauthorized"
|
|
747
|
+
| "invalid-root-operation"
|
|
748
|
+
| "invalid-format"
|
|
749
|
+
| "invalid-argument";
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
The unprefixed storage error codes the sandbox can raise. Mirrors
|
|
753
|
+
the subset of `StorageErrorCode` the implemented operations use;
|
|
754
|
+
resumable uploads and checksums remain out of scope.
|
|
755
|
+
|
|
756
|
+
***
|
|
757
|
+
|
|
758
|
+
<a id="storagegrantverb"></a>
|
|
759
|
+
|
|
760
|
+
### StorageGrantVerb
|
|
761
|
+
|
|
762
|
+
```ts
|
|
763
|
+
type StorageGrantVerb = StorageMethod | StorageVerb;
|
|
764
|
+
```
|
|
765
|
+
|
|
766
|
+
A verb token that may appear in an `allow` clause.
|
|
767
|
+
|
|
768
|
+
***
|
|
769
|
+
|
|
770
|
+
<a id="storagemethod"></a>
|
|
771
|
+
|
|
772
|
+
### StorageMethod
|
|
773
|
+
|
|
774
|
+
```ts
|
|
775
|
+
type StorageMethod = "read" | "write";
|
|
776
|
+
```
|
|
777
|
+
|
|
778
|
+
Coarse permission umbrellas. `read` covers get + list; `write`
|
|
779
|
+
covers create + update + delete.
|
|
780
|
+
|
|
781
|
+
***
|
|
782
|
+
|
|
783
|
+
<a id="storagerequestmethod-1"></a>
|
|
784
|
+
|
|
785
|
+
### StorageRequestMethod
|
|
786
|
+
|
|
787
|
+
```ts
|
|
788
|
+
type StorageRequestMethod = StorageMethod | StorageVerb;
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
What a caller records as the request's operation. Callers pass the
|
|
792
|
+
precise granular verb; the coarse forms remain accepted so the
|
|
793
|
+
umbrella semantics are symmetric.
|
|
794
|
+
|
|
795
|
+
***
|
|
796
|
+
|
|
797
|
+
<a id="storageverb"></a>
|
|
798
|
+
|
|
799
|
+
### StorageVerb
|
|
800
|
+
|
|
801
|
+
```ts
|
|
802
|
+
type StorageVerb = "get" | "list" | "create" | "update" | "delete";
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
Granular operation verbs. Production Storage maps each operation to
|
|
806
|
+
exactly one of these:
|
|
807
|
+
download / getMetadata → get
|
|
808
|
+
list → list
|
|
809
|
+
upload to NONEXISTENT path → create
|
|
810
|
+
upload / updateMetadata over
|
|
811
|
+
an EXISTING object → update
|
|
812
|
+
delete → delete
|
|
813
|
+
|
|
814
|
+
***
|
|
815
|
+
|
|
816
|
+
<a id="stringformat"></a>
|
|
817
|
+
|
|
818
|
+
### StringFormat
|
|
819
|
+
|
|
820
|
+
```ts
|
|
821
|
+
type StringFormat = "raw" | "base64" | "data_url";
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
`uploadString` format selector.
|
|
825
|
+
|
|
826
|
+
***
|
|
827
|
+
|
|
828
|
+
<a id="target"></a>
|
|
829
|
+
|
|
830
|
+
### Target
|
|
831
|
+
|
|
832
|
+
```ts
|
|
833
|
+
type Target = SandboxTarget;
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
## Variables
|
|
837
|
+
|
|
838
|
+
<a id="target_symbol-1"></a>
|
|
839
|
+
|
|
840
|
+
### TARGET\_SYMBOL
|
|
841
|
+
|
|
842
|
+
```ts
|
|
843
|
+
const TARGET_SYMBOL: unique symbol;
|
|
844
|
+
```
|
|
845
|
+
|
|
846
|
+
Hidden property on every [FirebaseStorage](#firebasestorage) handle. Carries
|
|
847
|
+
the sandbox state free functions share without exposing it publicly.
|
|
848
|
+
|
|
849
|
+
## Functions
|
|
850
|
+
|
|
851
|
+
<a id="addfirebasetobucket"></a>
|
|
852
|
+
|
|
853
|
+
### addFirebaseToBucket()
|
|
854
|
+
|
|
855
|
+
```ts
|
|
856
|
+
function addFirebaseToBucket(
|
|
857
|
+
accessToken: string,
|
|
858
|
+
projectId: string,
|
|
859
|
+
bucketId: string): Promise<FirebaseStorageBucket>;
|
|
860
|
+
```
|
|
861
|
+
|
|
862
|
+
Link a Cloud Storage bucket to Firebase Storage. Idempotent — if
|
|
863
|
+
the bucket is already Firebase-linked, the API returns 200 with
|
|
864
|
+
the existing record. The bucket must already exist as a GCS
|
|
865
|
+
resource; for the default Firebase bucket name
|
|
866
|
+
(`{projectId}.firebasestorage.app`), Firebase auto-creates it on
|
|
867
|
+
first `:addFirebase` call.
|
|
868
|
+
|
|
869
|
+
#### Parameters
|
|
870
|
+
|
|
871
|
+
| Parameter | Type |
|
|
872
|
+
| :------ | :------ |
|
|
873
|
+
| `accessToken` | `string` |
|
|
874
|
+
| `projectId` | `string` |
|
|
875
|
+
| `bucketId` | `string` |
|
|
876
|
+
|
|
877
|
+
#### Returns
|
|
878
|
+
|
|
879
|
+
`Promise`\<[`FirebaseStorageBucket`](#firebasestoragebucket)\>
|
|
880
|
+
|
|
881
|
+
***
|
|
882
|
+
|
|
883
|
+
<a id="connectstorageemulator"></a>
|
|
884
|
+
|
|
885
|
+
### connectStorageEmulator()
|
|
886
|
+
|
|
887
|
+
```ts
|
|
888
|
+
function connectStorageEmulator(
|
|
889
|
+
_storage: FirebaseStorage,
|
|
890
|
+
_host: string,
|
|
891
|
+
_port: number,
|
|
892
|
+
_options?: {
|
|
893
|
+
mockUserToken?: string | Record<string, unknown>;
|
|
894
|
+
}): void;
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
Accepted no-op because the selected Storage backend already is local.
|
|
898
|
+
|
|
899
|
+
#### Parameters
|
|
900
|
+
|
|
901
|
+
| Parameter | Type |
|
|
902
|
+
| :------ | :------ |
|
|
903
|
+
| `_storage` | [`FirebaseStorage`](#firebasestorage) |
|
|
904
|
+
| `_host` | `string` |
|
|
905
|
+
| `_port` | `number` |
|
|
906
|
+
| `_options?` | \{ `mockUserToken?`: `string` \| `Record`\<`string`, `unknown`\>; \} |
|
|
907
|
+
| `_options.mockUserToken?` | `string` \| `Record`\<`string`, `unknown`\> |
|
|
908
|
+
|
|
909
|
+
#### Returns
|
|
910
|
+
|
|
911
|
+
`void`
|
|
912
|
+
|
|
913
|
+
***
|
|
914
|
+
|
|
915
|
+
<a id="createstorageadmintools"></a>
|
|
916
|
+
|
|
917
|
+
### createStorageAdminTools()
|
|
918
|
+
|
|
919
|
+
```ts
|
|
920
|
+
function createStorageAdminTools(deps: StorageAdminToolDeps): ToolHandler<unknown, unknown>[];
|
|
921
|
+
```
|
|
922
|
+
|
|
923
|
+
Bundles:
|
|
924
|
+
- `storage_get_status`
|
|
925
|
+
- `storage_provision`
|
|
926
|
+
|
|
927
|
+
#### Parameters
|
|
928
|
+
|
|
929
|
+
| Parameter | Type |
|
|
930
|
+
| :------ | :------ |
|
|
931
|
+
| `deps` | [`StorageAdminToolDeps`](#storageadmintooldeps) |
|
|
932
|
+
|
|
933
|
+
#### Returns
|
|
934
|
+
|
|
935
|
+
`ToolHandler`\<`unknown`, `unknown`\>[]
|
|
936
|
+
|
|
937
|
+
***
|
|
938
|
+
|
|
939
|
+
<a id="defaultplaygroundcors"></a>
|
|
940
|
+
|
|
941
|
+
### defaultPlaygroundCors()
|
|
942
|
+
|
|
943
|
+
```ts
|
|
944
|
+
function defaultPlaygroundCors(hostingOrigin: string): CorsRule[];
|
|
945
|
+
```
|
|
946
|
+
|
|
947
|
+
Default rule for a browser playground hosted on Firebase Hosting.
|
|
948
|
+
Allows GET/POST/PUT/DELETE/HEAD/OPTIONS from the Hosting origin
|
|
949
|
+
+ common localhost dev ports, with response headers needed by the
|
|
950
|
+
Firebase Storage Web SDK.
|
|
951
|
+
|
|
952
|
+
#### Parameters
|
|
953
|
+
|
|
954
|
+
| Parameter | Type |
|
|
955
|
+
| :------ | :------ |
|
|
956
|
+
| `hostingOrigin` | `string` |
|
|
957
|
+
|
|
958
|
+
#### Returns
|
|
959
|
+
|
|
960
|
+
[`CorsRule`](#corsrule)[]
|
|
961
|
+
|
|
962
|
+
***
|
|
963
|
+
|
|
964
|
+
<a id="deleteobject"></a>
|
|
965
|
+
|
|
966
|
+
### deleteObject()
|
|
967
|
+
|
|
968
|
+
```ts
|
|
969
|
+
function deleteObject(ref: StorageReference, provenance?: EventProvenance): Promise<void>;
|
|
970
|
+
```
|
|
971
|
+
|
|
972
|
+
Delete the object at `ref` — removes both the blob and the
|
|
973
|
+
metadata atomically. No-op when the path doesn't exist (the
|
|
974
|
+
persistence layer's `delete` is no-op on missing keys).
|
|
975
|
+
|
|
976
|
+
NOTE: the JS SDK's `deleteObject` throws
|
|
977
|
+
`storage/object-not-found` when the path is missing. The v1 scope
|
|
978
|
+
keeps the persistence-layer no-op behavior for now; Slice 8 will
|
|
979
|
+
reconsider whether to mirror the strict throw.
|
|
980
|
+
|
|
981
|
+
`provenance` (host-only): op EventProvenance bound at ISSUE time,
|
|
982
|
+
threaded EXPLICITLY onto the emitted `object_delete` event. The delete
|
|
983
|
+
awaits the backend before emitting, so it escapes the sandbox's
|
|
984
|
+
synchronous ambient-provenance window — see the note on `uploadBytes`.
|
|
985
|
+
|
|
986
|
+
#### Parameters
|
|
987
|
+
|
|
988
|
+
| Parameter | Type |
|
|
989
|
+
| :------ | :------ |
|
|
990
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
991
|
+
| `provenance?` | `EventProvenance` |
|
|
992
|
+
|
|
993
|
+
#### Returns
|
|
994
|
+
|
|
995
|
+
`Promise`\<`void`\>
|
|
996
|
+
|
|
997
|
+
***
|
|
998
|
+
|
|
999
|
+
<a id="deploystoragerules"></a>
|
|
1000
|
+
|
|
1001
|
+
### deployStorageRules()
|
|
1002
|
+
|
|
1003
|
+
```ts
|
|
1004
|
+
function deployStorageRules(
|
|
1005
|
+
accessToken: string,
|
|
1006
|
+
projectId: string,
|
|
1007
|
+
source: string,
|
|
1008
|
+
bucketId?: string): Promise<{
|
|
1009
|
+
rulesetName: string;
|
|
1010
|
+
}>;
|
|
1011
|
+
```
|
|
1012
|
+
|
|
1013
|
+
Deploy a Storage rules source for a specific bucket. Firebase
|
|
1014
|
+
Storage uses **per-bucket** release names —
|
|
1015
|
+
`projects/{p}/releases/firebase.storage/{bucketId}` — for actual
|
|
1016
|
+
rule application. The project-wide `firebase.storage` release
|
|
1017
|
+
exists as a legacy alias but isn't bound to any bucket in modern
|
|
1018
|
+
projects; deploying to it leaves the bucket's deny-all rule
|
|
1019
|
+
unchanged.
|
|
1020
|
+
|
|
1021
|
+
Defaults `bucketId` to `{projectId}.firebasestorage.app` (the
|
|
1022
|
+
Firebase default bucket name). Pass an override when targeting a
|
|
1023
|
+
non-default bucket.
|
|
1024
|
+
|
|
1025
|
+
#### Parameters
|
|
1026
|
+
|
|
1027
|
+
| Parameter | Type |
|
|
1028
|
+
| :------ | :------ |
|
|
1029
|
+
| `accessToken` | `string` |
|
|
1030
|
+
| `projectId` | `string` |
|
|
1031
|
+
| `source` | `string` |
|
|
1032
|
+
| `bucketId?` | `string` |
|
|
1033
|
+
|
|
1034
|
+
#### Returns
|
|
1035
|
+
|
|
1036
|
+
`Promise`\<\{
|
|
1037
|
+
`rulesetName`: `string`;
|
|
1038
|
+
\}\>
|
|
1039
|
+
|
|
1040
|
+
***
|
|
1041
|
+
|
|
1042
|
+
<a id="enablestorageservice"></a>
|
|
1043
|
+
|
|
1044
|
+
### enableStorageService()
|
|
1045
|
+
|
|
1046
|
+
```ts
|
|
1047
|
+
function enableStorageService(accessToken: string, projectId: string): Promise<void>;
|
|
1048
|
+
```
|
|
1049
|
+
|
|
1050
|
+
Enable `firebasestorage.googleapis.com` on the project. Requires
|
|
1051
|
+
`serviceusage.services.enable` IAM permission — included in
|
|
1052
|
+
`roles/owner`, `roles/editor` (deprecated), or
|
|
1053
|
+
`roles/serviceusage.serviceUsageAdmin`. The default Firebase Admin
|
|
1054
|
+
SDK service account does NOT have this; the caller's token must
|
|
1055
|
+
either be a user-OAuth with `cloud-platform` scope or a SA with
|
|
1056
|
+
the elevated role.
|
|
1057
|
+
|
|
1058
|
+
Long-running operation under the hood; the response carries an
|
|
1059
|
+
operation name. We don't poll — the response 200 is enough signal
|
|
1060
|
+
for our purposes, and a brief settle delay handles propagation.
|
|
1061
|
+
|
|
1062
|
+
#### Parameters
|
|
1063
|
+
|
|
1064
|
+
| Parameter | Type |
|
|
1065
|
+
| :------ | :------ |
|
|
1066
|
+
| `accessToken` | `string` |
|
|
1067
|
+
| `projectId` | `string` |
|
|
1068
|
+
|
|
1069
|
+
#### Returns
|
|
1070
|
+
|
|
1071
|
+
`Promise`\<`void`\>
|
|
1072
|
+
|
|
1073
|
+
***
|
|
1074
|
+
|
|
1075
|
+
<a id="evaluatestoragerules"></a>
|
|
1076
|
+
|
|
1077
|
+
### evaluateStorageRules()
|
|
1078
|
+
|
|
1079
|
+
```ts
|
|
1080
|
+
function evaluateStorageRules(
|
|
1081
|
+
rules: StorageRules,
|
|
1082
|
+
input: EvaluationInput,
|
|
1083
|
+
now?: Date,
|
|
1084
|
+
firestoreLookup?: FirestoreLookup): EvaluationResult;
|
|
1085
|
+
```
|
|
1086
|
+
|
|
1087
|
+
Evaluate the rules against a request + resource binding. Returns
|
|
1088
|
+
`{ allowed, reasons }`. `allowed` is true iff any `allow` clause
|
|
1089
|
+
at any matching match block evaluates to a truthy condition.
|
|
1090
|
+
|
|
1091
|
+
Path-matching strategy: the request's path is segmented and
|
|
1092
|
+
walked against the AST's match tree. Wildcards (`{p=**}`) match
|
|
1093
|
+
zero or more remaining segments; named params bind one segment.
|
|
1094
|
+
|
|
1095
|
+
Multi-clause failure mode: when no clause matches, `reasons`
|
|
1096
|
+
contains a short trace ("no match found for path X" or "rule at
|
|
1097
|
+
match /sessions/{id} denied: condition false"). Helpful for the
|
|
1098
|
+
playground's error surface.
|
|
1099
|
+
|
|
1100
|
+
#### Parameters
|
|
1101
|
+
|
|
1102
|
+
| Parameter | Type |
|
|
1103
|
+
| :------ | :------ |
|
|
1104
|
+
| `rules` | [`StorageRules`](#storagerules) |
|
|
1105
|
+
| `input` | [`EvaluationInput`](#evaluationinput) |
|
|
1106
|
+
| `now?` | `Date` |
|
|
1107
|
+
| `firestoreLookup?` | [`FirestoreLookup`](#firestorelookup) |
|
|
1108
|
+
|
|
1109
|
+
#### Returns
|
|
1110
|
+
|
|
1111
|
+
[`EvaluationResult`](#evaluationresult)
|
|
1112
|
+
|
|
1113
|
+
***
|
|
1114
|
+
|
|
1115
|
+
<a id="finalizedefaultlocation"></a>
|
|
1116
|
+
|
|
1117
|
+
### finalizeDefaultLocation()
|
|
1118
|
+
|
|
1119
|
+
```ts
|
|
1120
|
+
function finalizeDefaultLocation(
|
|
1121
|
+
accessToken: string,
|
|
1122
|
+
projectId: string,
|
|
1123
|
+
locationId: string): Promise<void>;
|
|
1124
|
+
```
|
|
1125
|
+
|
|
1126
|
+
Set the project's default GCP resources location. IRREVERSIBLE —
|
|
1127
|
+
once set, the location cannot be changed. Skip-if-set is the
|
|
1128
|
+
caller's job; this function unconditionally calls `:finalize`.
|
|
1129
|
+
|
|
1130
|
+
Per observed behavior, `:finalize` 404s on projects that already
|
|
1131
|
+
have resources provisioned (RTDB, Hosting) without a default
|
|
1132
|
+
location. The error path surfaces that to the caller.
|
|
1133
|
+
|
|
1134
|
+
#### Parameters
|
|
1135
|
+
|
|
1136
|
+
| Parameter | Type |
|
|
1137
|
+
| :------ | :------ |
|
|
1138
|
+
| `accessToken` | `string` |
|
|
1139
|
+
| `projectId` | `string` |
|
|
1140
|
+
| `locationId` | `string` |
|
|
1141
|
+
|
|
1142
|
+
#### Returns
|
|
1143
|
+
|
|
1144
|
+
`Promise`\<`void`\>
|
|
1145
|
+
|
|
1146
|
+
***
|
|
1147
|
+
|
|
1148
|
+
<a id="getblob"></a>
|
|
1149
|
+
|
|
1150
|
+
### getBlob()
|
|
1151
|
+
|
|
1152
|
+
```ts
|
|
1153
|
+
function getBlob(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<Blob>;
|
|
1154
|
+
```
|
|
1155
|
+
|
|
1156
|
+
Read the blob at `ref` and return it as a `Blob`. Same semantics
|
|
1157
|
+
as `getBytes` but skips the `arrayBuffer()` conversion when the
|
|
1158
|
+
caller wants a `Blob` directly (e.g. for streaming or
|
|
1159
|
+
`URL.createObjectURL`). Note: this is the browser-side
|
|
1160
|
+
counterpart of the JS SDK's `getBlob` — the v1 scope doesn't ship
|
|
1161
|
+
a Node-stream variant.
|
|
1162
|
+
|
|
1163
|
+
#### Parameters
|
|
1164
|
+
|
|
1165
|
+
| Parameter | Type |
|
|
1166
|
+
| :------ | :------ |
|
|
1167
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
1168
|
+
| `maxDownloadSizeBytes?` | `number` |
|
|
1169
|
+
|
|
1170
|
+
#### Returns
|
|
1171
|
+
|
|
1172
|
+
`Promise`\<`Blob`\>
|
|
1173
|
+
|
|
1174
|
+
***
|
|
1175
|
+
|
|
1176
|
+
<a id="getbucketcors"></a>
|
|
1177
|
+
|
|
1178
|
+
### getBucketCors()
|
|
1179
|
+
|
|
1180
|
+
```ts
|
|
1181
|
+
function getBucketCors(accessToken: string, bucketId: string): Promise<CorsRule[]>;
|
|
1182
|
+
```
|
|
1183
|
+
|
|
1184
|
+
Read the current CORS configuration for a bucket.
|
|
1185
|
+
|
|
1186
|
+
#### Parameters
|
|
1187
|
+
|
|
1188
|
+
| Parameter | Type |
|
|
1189
|
+
| :------ | :------ |
|
|
1190
|
+
| `accessToken` | `string` |
|
|
1191
|
+
| `bucketId` | `string` |
|
|
1192
|
+
|
|
1193
|
+
#### Returns
|
|
1194
|
+
|
|
1195
|
+
`Promise`\<[`CorsRule`](#corsrule)[]\>
|
|
1196
|
+
|
|
1197
|
+
***
|
|
1198
|
+
|
|
1199
|
+
<a id="getbytes"></a>
|
|
1200
|
+
|
|
1201
|
+
### getBytes()
|
|
1202
|
+
|
|
1203
|
+
```ts
|
|
1204
|
+
function getBytes(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<ArrayBuffer>;
|
|
1205
|
+
```
|
|
1206
|
+
|
|
1207
|
+
Read the blob at `ref` and return its contents as an
|
|
1208
|
+
`ArrayBuffer`. Honors the optional `maxDownloadSizeBytes` cap by
|
|
1209
|
+
truncating to that length.
|
|
1210
|
+
|
|
1211
|
+
#### Parameters
|
|
1212
|
+
|
|
1213
|
+
| Parameter | Type |
|
|
1214
|
+
| :------ | :------ |
|
|
1215
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
1216
|
+
| `maxDownloadSizeBytes?` | `number` |
|
|
1217
|
+
|
|
1218
|
+
#### Returns
|
|
1219
|
+
|
|
1220
|
+
`Promise`\<`ArrayBuffer`\>
|
|
1221
|
+
|
|
1222
|
+
***
|
|
1223
|
+
|
|
1224
|
+
<a id="getdefaultlocation"></a>
|
|
1225
|
+
|
|
1226
|
+
### getDefaultLocation()
|
|
1227
|
+
|
|
1228
|
+
```ts
|
|
1229
|
+
function getDefaultLocation(accessToken: string, projectId: string): Promise<string>;
|
|
1230
|
+
```
|
|
1231
|
+
|
|
1232
|
+
Read the project's current default GCP resources location. Returns
|
|
1233
|
+
null when the project hasn't been finalized yet — e.g. brand-new
|
|
1234
|
+
Firebase projects with no resources. `firebase` scope is sufficient.
|
|
1235
|
+
|
|
1236
|
+
#### Parameters
|
|
1237
|
+
|
|
1238
|
+
| Parameter | Type |
|
|
1239
|
+
| :------ | :------ |
|
|
1240
|
+
| `accessToken` | `string` |
|
|
1241
|
+
| `projectId` | `string` |
|
|
1242
|
+
|
|
1243
|
+
#### Returns
|
|
1244
|
+
|
|
1245
|
+
`Promise`\<`string`\>
|
|
1246
|
+
|
|
1247
|
+
***
|
|
1248
|
+
|
|
1249
|
+
<a id="getdownloadurl"></a>
|
|
1250
|
+
|
|
1251
|
+
### getDownloadURL()
|
|
1252
|
+
|
|
1253
|
+
```ts
|
|
1254
|
+
function getDownloadURL(ref: StorageReference): Promise<string>;
|
|
1255
|
+
```
|
|
1256
|
+
|
|
1257
|
+
Return a URL the current page can use to read the sandbox object. The URL is
|
|
1258
|
+
created from the same rules-checked blob as [getBlob](#getblob). It is a
|
|
1259
|
+
snapshot, cannot be shared outside the page, and stays
|
|
1260
|
+
alive until the caller revokes it or the page unloads.
|
|
1261
|
+
|
|
1262
|
+
#### Parameters
|
|
1263
|
+
|
|
1264
|
+
| Parameter | Type |
|
|
1265
|
+
| :------ | :------ |
|
|
1266
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
1267
|
+
|
|
1268
|
+
#### Returns
|
|
1269
|
+
|
|
1270
|
+
`Promise`\<`string`\>
|
|
1271
|
+
|
|
1272
|
+
***
|
|
1273
|
+
|
|
1274
|
+
<a id="getmetadata"></a>
|
|
1275
|
+
|
|
1276
|
+
### getMetadata()
|
|
1277
|
+
|
|
1278
|
+
```ts
|
|
1279
|
+
function getMetadata(ref: StorageReference): Promise<FullMetadata>;
|
|
1280
|
+
```
|
|
1281
|
+
|
|
1282
|
+
Read the full metadata record at `ref`. Throws when no object
|
|
1283
|
+
exists at the path (`storage/object-not-found`).
|
|
1284
|
+
|
|
1285
|
+
Mirrors `firebase/storage`'s `getMetadata`. Returns the same
|
|
1286
|
+
`FullMetadata` shape `uploadBytes` produced — server-set fields
|
|
1287
|
+
pinned at upload time, client-settable fields whatever the latest
|
|
1288
|
+
write left them as.
|
|
1289
|
+
|
|
1290
|
+
#### Parameters
|
|
1291
|
+
|
|
1292
|
+
| Parameter | Type |
|
|
1293
|
+
| :------ | :------ |
|
|
1294
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
1295
|
+
|
|
1296
|
+
#### Returns
|
|
1297
|
+
|
|
1298
|
+
`Promise`\<[`FullMetadata`](#fullmetadata)\>
|
|
1299
|
+
|
|
1300
|
+
***
|
|
1301
|
+
|
|
1302
|
+
<a id="getstorage"></a>
|
|
1303
|
+
|
|
1304
|
+
### getStorage()
|
|
1305
|
+
|
|
1306
|
+
```ts
|
|
1307
|
+
function getStorage(app?: FirebaseApp, bucketUrl?: string): AppFirebaseStorage;
|
|
1308
|
+
```
|
|
1309
|
+
|
|
1310
|
+
Resolve the Firebase-shaped Storage service associated with an app.
|
|
1311
|
+
|
|
1312
|
+
#### Parameters
|
|
1313
|
+
|
|
1314
|
+
| Parameter | Type |
|
|
1315
|
+
| :------ | :------ |
|
|
1316
|
+
| `app?` | `FirebaseApp` |
|
|
1317
|
+
| `bucketUrl?` | `string` |
|
|
1318
|
+
|
|
1319
|
+
#### Returns
|
|
1320
|
+
|
|
1321
|
+
`AppFirebaseStorage`
|
|
1322
|
+
|
|
1323
|
+
***
|
|
1324
|
+
|
|
1325
|
+
<a id="getstoragesandbox"></a>
|
|
1326
|
+
|
|
1327
|
+
### getStorageSandbox()
|
|
1328
|
+
|
|
1329
|
+
```ts
|
|
1330
|
+
function getStorageSandbox(target: any, options?: StorageOptions): FirebaseStorage;
|
|
1331
|
+
```
|
|
1332
|
+
|
|
1333
|
+
Construct (or return cached) a sandbox-backed `FirebaseStorage`
|
|
1334
|
+
handle. Accepts either a bare `Sandbox` (anonymous identity wired
|
|
1335
|
+
up via `sandbox.withAuth(null)`) or an explicit `SandboxContext`.
|
|
1336
|
+
Idempotent on `SandboxContext` identity.
|
|
1337
|
+
|
|
1338
|
+
#### Parameters
|
|
1339
|
+
|
|
1340
|
+
| Parameter | Type |
|
|
1341
|
+
| :------ | :------ |
|
|
1342
|
+
| `target` | `any` |
|
|
1343
|
+
| `options?` | [`StorageOptions`](#storageoptions) |
|
|
1344
|
+
|
|
1345
|
+
#### Returns
|
|
1346
|
+
|
|
1347
|
+
[`FirebaseStorage`](#firebasestorage)
|
|
1348
|
+
|
|
1349
|
+
***
|
|
1350
|
+
|
|
1351
|
+
<a id="getstorageservicestate"></a>
|
|
1352
|
+
|
|
1353
|
+
### getStorageServiceState()
|
|
1354
|
+
|
|
1355
|
+
```ts
|
|
1356
|
+
function getStorageServiceState(accessToken: string, projectId: string): Promise<ServiceEnableState>;
|
|
1357
|
+
```
|
|
1358
|
+
|
|
1359
|
+
Probe whether the `firebasestorage.googleapis.com` service is
|
|
1360
|
+
enabled on the project. Cheap, uses Service Usage `GET`. Requires
|
|
1361
|
+
`serviceusage.services.get` permission (the default Firebase Admin
|
|
1362
|
+
SDK SA has this; user OAuth tokens with `firebase` scope do not).
|
|
1363
|
+
|
|
1364
|
+
Returns `'unknown'` on permission failures so callers can downgrade
|
|
1365
|
+
to "try the operation; observe SERVICE_DISABLED" rather than block.
|
|
1366
|
+
|
|
1367
|
+
#### Parameters
|
|
1368
|
+
|
|
1369
|
+
| Parameter | Type |
|
|
1370
|
+
| :------ | :------ |
|
|
1371
|
+
| `accessToken` | `string` |
|
|
1372
|
+
| `projectId` | `string` |
|
|
1373
|
+
|
|
1374
|
+
#### Returns
|
|
1375
|
+
|
|
1376
|
+
`Promise`\<[`ServiceEnableState`](#serviceenablestate)\>
|
|
1377
|
+
|
|
1378
|
+
***
|
|
1379
|
+
|
|
1380
|
+
<a id="listall"></a>
|
|
1381
|
+
|
|
1382
|
+
### listAll()
|
|
1383
|
+
|
|
1384
|
+
```ts
|
|
1385
|
+
function listAll(refIn: StorageReference): Promise<ListResult>;
|
|
1386
|
+
```
|
|
1387
|
+
|
|
1388
|
+
Enumerate every immediate child item + sub-prefix under `refIn`.
|
|
1389
|
+
Works on the root reference too — pass `ref(storage)` to scan the
|
|
1390
|
+
whole bucket.
|
|
1391
|
+
|
|
1392
|
+
#### Parameters
|
|
1393
|
+
|
|
1394
|
+
| Parameter | Type |
|
|
1395
|
+
| :------ | :------ |
|
|
1396
|
+
| `refIn` | [`StorageReference`](#storagereference) |
|
|
1397
|
+
|
|
1398
|
+
#### Returns
|
|
1399
|
+
|
|
1400
|
+
`Promise`\<[`ListResult`](#listresult)\>
|
|
1401
|
+
|
|
1402
|
+
***
|
|
1403
|
+
|
|
1404
|
+
<a id="listfirebasebuckets"></a>
|
|
1405
|
+
|
|
1406
|
+
### listFirebaseBuckets()
|
|
1407
|
+
|
|
1408
|
+
```ts
|
|
1409
|
+
function listFirebaseBuckets(accessToken: string, projectId: string): Promise<FirebaseStorageBucket[]>;
|
|
1410
|
+
```
|
|
1411
|
+
|
|
1412
|
+
List Firebase-linked Storage buckets on the project. Returns an
|
|
1413
|
+
empty list when none exist yet. Throws when the underlying service
|
|
1414
|
+
is disabled — callers should check `getStorageServiceState` first
|
|
1415
|
+
if they want to distinguish.
|
|
1416
|
+
|
|
1417
|
+
#### Parameters
|
|
1418
|
+
|
|
1419
|
+
| Parameter | Type |
|
|
1420
|
+
| :------ | :------ |
|
|
1421
|
+
| `accessToken` | `string` |
|
|
1422
|
+
| `projectId` | `string` |
|
|
1423
|
+
|
|
1424
|
+
#### Returns
|
|
1425
|
+
|
|
1426
|
+
`Promise`\<[`FirebaseStorageBucket`](#firebasestoragebucket)[]\>
|
|
1427
|
+
|
|
1428
|
+
***
|
|
1429
|
+
|
|
1430
|
+
<a id="parsestoragerules"></a>
|
|
1431
|
+
|
|
1432
|
+
### parseStorageRules()
|
|
1433
|
+
|
|
1434
|
+
```ts
|
|
1435
|
+
function parseStorageRules(source: string): StorageRules;
|
|
1436
|
+
```
|
|
1437
|
+
|
|
1438
|
+
Parse a Storage rules source into an opaque handle. Throws
|
|
1439
|
+
`SyntaxError` on malformed input. Used by Slice 8's
|
|
1440
|
+
`getStorage(ctx, { rules })` to validate upfront.
|
|
1441
|
+
|
|
1442
|
+
#### Parameters
|
|
1443
|
+
|
|
1444
|
+
| Parameter | Type |
|
|
1445
|
+
| :------ | :------ |
|
|
1446
|
+
| `source` | `string` |
|
|
1447
|
+
|
|
1448
|
+
#### Returns
|
|
1449
|
+
|
|
1450
|
+
[`StorageRules`](#storagerules)
|
|
1451
|
+
|
|
1452
|
+
***
|
|
1453
|
+
|
|
1454
|
+
<a id="provisionstorage"></a>
|
|
1455
|
+
|
|
1456
|
+
### provisionStorage()
|
|
1457
|
+
|
|
1458
|
+
```ts
|
|
1459
|
+
function provisionStorage(
|
|
1460
|
+
accessToken: string,
|
|
1461
|
+
projectId: string,
|
|
1462
|
+
options?: ProvisionStorageOptions): Promise<ProvisionStorageResult>;
|
|
1463
|
+
```
|
|
1464
|
+
|
|
1465
|
+
End-to-end Storage enablement + provisioning. Each step is
|
|
1466
|
+
idempotent (probe before mutating); the result reports what was
|
|
1467
|
+
actually done.
|
|
1468
|
+
|
|
1469
|
+
Permission requirements (caller's token):
|
|
1470
|
+
- `roles/serviceusage.serviceUsageAdmin` (or Owner) — to enable
|
|
1471
|
+
the service when it's disabled
|
|
1472
|
+
- `cloud-platform` OAuth scope (or `firebase` if service already
|
|
1473
|
+
enabled)
|
|
1474
|
+
|
|
1475
|
+
The handler throws `StorageProvisioningError` with the
|
|
1476
|
+
underlying `reason` (e.g. `AUTH_PERMISSION_DENIED`,
|
|
1477
|
+
`SERVICE_DISABLED`) so the caller can route to actionable UX.
|
|
1478
|
+
|
|
1479
|
+
#### Parameters
|
|
1480
|
+
|
|
1481
|
+
| Parameter | Type |
|
|
1482
|
+
| :------ | :------ |
|
|
1483
|
+
| `accessToken` | `string` |
|
|
1484
|
+
| `projectId` | `string` |
|
|
1485
|
+
| `options?` | [`ProvisionStorageOptions`](#provisionstorageoptions) |
|
|
1486
|
+
|
|
1487
|
+
#### Returns
|
|
1488
|
+
|
|
1489
|
+
`Promise`\<[`ProvisionStorageResult`](#provisionstorageresult)\>
|
|
1490
|
+
|
|
1491
|
+
***
|
|
1492
|
+
|
|
1493
|
+
<a id="ref-1"></a>
|
|
1494
|
+
|
|
1495
|
+
### ref()
|
|
1496
|
+
|
|
1497
|
+
#### Call Signature
|
|
1498
|
+
|
|
1499
|
+
```ts
|
|
1500
|
+
function ref(storage: FirebaseStorage, path?: string): StorageReference;
|
|
1501
|
+
```
|
|
1502
|
+
|
|
1503
|
+
Construct a reference. Two overloads matching Firebase:
|
|
1504
|
+
|
|
1505
|
+
`ref(storage, path?)` — `path` is bucket-rooted. Omit for root.
|
|
1506
|
+
`ref(parent, path)` — `path` is relative to `parent.fullPath`.
|
|
1507
|
+
|
|
1508
|
+
##### Parameters
|
|
1509
|
+
|
|
1510
|
+
| Parameter | Type |
|
|
1511
|
+
| :------ | :------ |
|
|
1512
|
+
| `storage` | [`FirebaseStorage`](#firebasestorage) |
|
|
1513
|
+
| `path?` | `string` |
|
|
1514
|
+
|
|
1515
|
+
##### Returns
|
|
1516
|
+
|
|
1517
|
+
[`StorageReference`](#storagereference)
|
|
1518
|
+
|
|
1519
|
+
#### Call Signature
|
|
1520
|
+
|
|
1521
|
+
```ts
|
|
1522
|
+
function ref(parent: StorageReference, path: string): StorageReference;
|
|
1523
|
+
```
|
|
1524
|
+
|
|
1525
|
+
Construct a reference. Two overloads matching Firebase:
|
|
1526
|
+
|
|
1527
|
+
`ref(storage, path?)` — `path` is bucket-rooted. Omit for root.
|
|
1528
|
+
`ref(parent, path)` — `path` is relative to `parent.fullPath`.
|
|
1529
|
+
|
|
1530
|
+
##### Parameters
|
|
1531
|
+
|
|
1532
|
+
| Parameter | Type |
|
|
1533
|
+
| :------ | :------ |
|
|
1534
|
+
| `parent` | [`StorageReference`](#storagereference) |
|
|
1535
|
+
| `path` | `string` |
|
|
1536
|
+
|
|
1537
|
+
##### Returns
|
|
1538
|
+
|
|
1539
|
+
[`StorageReference`](#storagereference)
|
|
1540
|
+
|
|
1541
|
+
***
|
|
1542
|
+
|
|
1543
|
+
<a id="setbucketcors"></a>
|
|
1544
|
+
|
|
1545
|
+
### setBucketCors()
|
|
1546
|
+
|
|
1547
|
+
```ts
|
|
1548
|
+
function setBucketCors(
|
|
1549
|
+
accessToken: string,
|
|
1550
|
+
bucketId: string,
|
|
1551
|
+
cors: CorsRule[]): Promise<void>;
|
|
1552
|
+
```
|
|
1553
|
+
|
|
1554
|
+
Replace the bucket's CORS configuration. Pass an empty array to
|
|
1555
|
+
clear all rules. The GCS API replaces (not merges) the cors field
|
|
1556
|
+
on PATCH.
|
|
1557
|
+
|
|
1558
|
+
#### Parameters
|
|
1559
|
+
|
|
1560
|
+
| Parameter | Type |
|
|
1561
|
+
| :------ | :------ |
|
|
1562
|
+
| `accessToken` | `string` |
|
|
1563
|
+
| `bucketId` | `string` |
|
|
1564
|
+
| `cors` | [`CorsRule`](#corsrule)[] |
|
|
1565
|
+
|
|
1566
|
+
#### Returns
|
|
1567
|
+
|
|
1568
|
+
`Promise`\<`void`\>
|
|
1569
|
+
|
|
1570
|
+
***
|
|
1571
|
+
|
|
1572
|
+
<a id="updatemetadata"></a>
|
|
1573
|
+
|
|
1574
|
+
### updateMetadata()
|
|
1575
|
+
|
|
1576
|
+
```ts
|
|
1577
|
+
function updateMetadata(
|
|
1578
|
+
ref: StorageReference,
|
|
1579
|
+
patch: SettableMetadata,
|
|
1580
|
+
provenance?: EventProvenance): Promise<FullMetadata>;
|
|
1581
|
+
```
|
|
1582
|
+
|
|
1583
|
+
Update the client-settable metadata at `ref`. Server-set fields
|
|
1584
|
+
(`bucket`, `fullPath`, `name`, `generation`, `timeCreated`,
|
|
1585
|
+
`size`, `md5Hash`) are preserved; `metageneration` bumps and
|
|
1586
|
+
`updated` refreshes. The blob is untouched.
|
|
1587
|
+
|
|
1588
|
+
Pass `undefined` for a field to leave the previous value in
|
|
1589
|
+
place. To explicitly clear a field, the JS SDK accepts `null` —
|
|
1590
|
+
we don't model that in the v1 scope to keep the patch logic simple.
|
|
1591
|
+
Documented for Slice 9's deferred-features section.
|
|
1592
|
+
|
|
1593
|
+
`provenance` (host-only): op EventProvenance bound at ISSUE time,
|
|
1594
|
+
threaded EXPLICITLY onto the emitted `metadata_update` event. Emit runs
|
|
1595
|
+
after the backend awaits, escaping the sandbox's synchronous
|
|
1596
|
+
ambient-provenance window — see the note on `uploadBytes`.
|
|
1597
|
+
|
|
1598
|
+
#### Parameters
|
|
1599
|
+
|
|
1600
|
+
| Parameter | Type |
|
|
1601
|
+
| :------ | :------ |
|
|
1602
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
1603
|
+
| `patch` | [`SettableMetadata`](#settablemetadata) |
|
|
1604
|
+
| `provenance?` | `EventProvenance` |
|
|
1605
|
+
|
|
1606
|
+
#### Returns
|
|
1607
|
+
|
|
1608
|
+
`Promise`\<[`FullMetadata`](#fullmetadata)\>
|
|
1609
|
+
|
|
1610
|
+
***
|
|
1611
|
+
|
|
1612
|
+
<a id="uploadbytes"></a>
|
|
1613
|
+
|
|
1614
|
+
### uploadBytes()
|
|
1615
|
+
|
|
1616
|
+
```ts
|
|
1617
|
+
function uploadBytes(
|
|
1618
|
+
ref: StorageReference,
|
|
1619
|
+
data: Blob | ArrayBuffer | Uint8Array<ArrayBufferLike>,
|
|
1620
|
+
metadata?: SettableMetadata,
|
|
1621
|
+
provenance?: EventProvenance): Promise<UploadResult>;
|
|
1622
|
+
```
|
|
1623
|
+
|
|
1624
|
+
Upload bytes to the reference's `fullPath`. Replaces any existing
|
|
1625
|
+
object at the path. Returns the populated `FullMetadata` and the
|
|
1626
|
+
same `ref` for chaining.
|
|
1627
|
+
|
|
1628
|
+
Throws when the reference targets the root (`fullPath === ''`) —
|
|
1629
|
+
uploads need a non-empty path, matching Firebase's
|
|
1630
|
+
`invalid-root-operation` precondition.
|
|
1631
|
+
|
|
1632
|
+
Provenance is captured from the reference's operation-scoped Storage
|
|
1633
|
+
handle before the first await. The optional `provenance` argument remains
|
|
1634
|
+
as a compatibility override for internal callers. Either way, concurrent
|
|
1635
|
+
uploads cannot exchange source or auth-lens identity, and
|
|
1636
|
+
`service: 'storage'` always wins.
|
|
1637
|
+
|
|
1638
|
+
#### Parameters
|
|
1639
|
+
|
|
1640
|
+
| Parameter | Type |
|
|
1641
|
+
| :------ | :------ |
|
|
1642
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
1643
|
+
| `data` | `Blob` \| `ArrayBuffer` \| `Uint8Array`\<`ArrayBufferLike`\> |
|
|
1644
|
+
| `metadata?` | [`SettableMetadata`](#settablemetadata) |
|
|
1645
|
+
| `provenance?` | `EventProvenance` |
|
|
1646
|
+
|
|
1647
|
+
#### Returns
|
|
1648
|
+
|
|
1649
|
+
`Promise`\<[`UploadResult`](#uploadresult)\>
|
|
1650
|
+
|
|
1651
|
+
***
|
|
1652
|
+
|
|
1653
|
+
<a id="uploadstring"></a>
|
|
1654
|
+
|
|
1655
|
+
### uploadString()
|
|
1656
|
+
|
|
1657
|
+
```ts
|
|
1658
|
+
function uploadString(
|
|
1659
|
+
ref: StorageReference,
|
|
1660
|
+
value: string,
|
|
1661
|
+
format?: StringFormat,
|
|
1662
|
+
metadata?: SettableMetadata,
|
|
1663
|
+
provenance?: EventProvenance): Promise<UploadResult>;
|
|
1664
|
+
```
|
|
1665
|
+
|
|
1666
|
+
Upload a string in one of three formats:
|
|
1667
|
+
|
|
1668
|
+
- `raw` (default): UTF-8 text. Defaults `contentType` to
|
|
1669
|
+
`text/plain;charset=utf-8` if neither metadata nor the data
|
|
1670
|
+
specify one.
|
|
1671
|
+
- `base64`: standard base64-encoded bytes.
|
|
1672
|
+
- `data_url`: a `data:` URL — the MIME prefix is honored as
|
|
1673
|
+
`contentType` unless the caller overrides it explicitly.
|
|
1674
|
+
|
|
1675
|
+
#### Parameters
|
|
1676
|
+
|
|
1677
|
+
| Parameter | Type |
|
|
1678
|
+
| :------ | :------ |
|
|
1679
|
+
| `ref` | [`StorageReference`](#storagereference) |
|
|
1680
|
+
| `value` | `string` |
|
|
1681
|
+
| `format?` | [`StringFormat`](#stringformat) |
|
|
1682
|
+
| `metadata?` | [`SettableMetadata`](#settablemetadata) |
|
|
1683
|
+
| `provenance?` | `EventProvenance` |
|
|
1684
|
+
|
|
1685
|
+
#### Returns
|
|
1686
|
+
|
|
1687
|
+
`Promise`\<[`UploadResult`](#uploadresult)\>
|