@pyric/cli 0.1.0-alpha.10
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 +180 -0
- package/README.md.orig +141 -0
- package/dist/assurance/.generated/conformance-verdicts.d.ts +1071 -0
- package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -0
- package/dist/assurance/.generated/conformance-verdicts.js +1070 -0
- package/dist/assurance/.generated/conformance-verdicts.js.map +1 -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 +11 -0
- package/dist/assurance/capabilities.d.ts.map +1 -0
- package/dist/assurance/capabilities.js +282 -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/index.d.ts +10 -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 +737 -0
- package/dist/assurance/tools.js.map +1 -0
- package/dist/assurance/types.d.ts +347 -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 +63 -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 +84 -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/can-i-use.d.ts +5 -0
- package/dist/cli/can-i-use.d.ts.map +1 -0
- package/dist/cli/can-i-use.js +49 -0
- package/dist/cli/can-i-use.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 +387 -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 +74 -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/conformance/.generated/can-i-use-browser.d.ts +44 -0
- package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -0
- package/dist/conformance/.generated/can-i-use-browser.js +67 -0
- package/dist/conformance/.generated/can-i-use-browser.js.map +1 -0
- package/dist/conformance/.generated/can-i-use.d.ts +61 -0
- package/dist/conformance/.generated/can-i-use.d.ts.map +1 -0
- package/dist/conformance/.generated/can-i-use.js +68 -0
- package/dist/conformance/.generated/can-i-use.js.map +1 -0
- package/dist/conformance/browser.d.ts +7 -0
- package/dist/conformance/browser.d.ts.map +1 -0
- package/dist/conformance/browser.js +8 -0
- package/dist/conformance/browser.js.map +1 -0
- package/dist/conformance/can-i-use-tool.d.ts +21 -0
- package/dist/conformance/can-i-use-tool.d.ts.map +1 -0
- package/dist/conformance/can-i-use-tool.js +40 -0
- package/dist/conformance/can-i-use-tool.js.map +1 -0
- package/dist/conformance/can-i-use.d.ts +6 -0
- package/dist/conformance/can-i-use.d.ts.map +1 -0
- package/dist/conformance/can-i-use.js +10 -0
- package/dist/conformance/can-i-use.js.map +1 -0
- package/dist/conformance/index.d.ts +8 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +2 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/conformance/tools.d.ts +4 -0
- package/dist/conformance/tools.d.ts.map +1 -0
- package/dist/conformance/tools.js +14 -0
- package/dist/conformance/tools.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_.DPUwShm2.css +1 -0
- package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
- package/dist/serve/docs-ui/docs/_rhythm.md +97 -0
- package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +42 -0
- package/dist/serve/docs-ui/docs/agent/set-up-your-agent.md +72 -0
- package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +25 -0
- package/dist/serve/docs-ui/docs/agent/watch-and-review.md +38 -0
- package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +69 -0
- package/dist/serve/docs-ui/docs/agent/work-with-an-agent.md +74 -0
- package/dist/serve/docs-ui/docs/ai-compat/index.html +423 -0
- package/dist/serve/docs-ui/docs/ai-compat.md +456 -0
- package/dist/serve/docs-ui/docs/api-reference/index.html +66 -0
- package/dist/serve/docs-ui/docs/api-reference.md +69 -0
- package/dist/serve/docs-ui/docs/app-compat/index.html +159 -0
- package/dist/serve/docs-ui/docs/app-compat.md +178 -0
- package/dist/serve/docs-ui/docs/auth-compat/index.html +644 -0
- package/dist/serve/docs-ui/docs/auth-compat.md +701 -0
- package/dist/serve/docs-ui/docs/build/ai-logic/index.html +27 -0
- package/dist/serve/docs-ui/docs/build/ai-logic.md +39 -0
- package/dist/serve/docs-ui/docs/build/authentication/index.html +65 -0
- package/dist/serve/docs-ui/docs/build/authentication.md +95 -0
- package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +69 -0
- package/dist/serve/docs-ui/docs/build/cloud-firestore.md +93 -0
- package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +27 -0
- package/dist/serve/docs-ui/docs/build/cloud-messaging.md +37 -0
- package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +65 -0
- package/dist/serve/docs-ui/docs/build/cloud-storage.md +86 -0
- package/dist/serve/docs-ui/docs/build/realtime-database/index.html +49 -0
- package/dist/serve/docs-ui/docs/build/realtime-database.md +67 -0
- package/dist/serve/docs-ui/docs/conformance-scores/index.html +49 -0
- package/dist/serve/docs-ui/docs/conformance-scores.md +53 -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/database-compat/index.html +1037 -0
- package/dist/serve/docs-ui/docs/database-compat.md +1099 -0
- package/dist/serve/docs-ui/docs/firestore-compat/index.html +823 -0
- package/dist/serve/docs-ui/docs/firestore-compat.md +881 -0
- package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +72 -0
- package/dist/serve/docs-ui/docs/functions-rtdb-compat.md +83 -0
- package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +27 -0
- package/dist/serve/docs-ui/docs/get-started/how-the-swap-works.md +50 -0
- package/dist/serve/docs-ui/docs/get-started/start-building/index.html +31 -0
- package/dist/serve/docs-ui/docs/get-started/start-building.md +53 -0
- package/dist/serve/docs-ui/docs/index.html +2 -0
- package/dist/serve/docs-ui/docs/index.json +11719 -0
- package/dist/serve/docs-ui/docs/messaging-compat/index.html +264 -0
- package/dist/serve/docs-ui/docs/messaging-compat.md +285 -0
- package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +73 -0
- package/dist/serve/docs-ui/docs/observe/see-whats-happening.md +69 -0
- package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +44 -0
- package/dist/serve/docs-ui/docs/observe/shape-your-data.md +74 -0
- package/dist/serve/docs-ui/docs/overview/index.html +16 -0
- package/dist/serve/docs-ui/docs/overview.md +31 -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-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-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-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-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-ai-reference-api/index.html +5830 -0
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5439 -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-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-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-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 +2263 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1477 -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-conformance-browser-reference-api/index.html +257 -0
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api.md +197 -0
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +307 -0
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api.md +254 -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-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-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-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-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-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-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-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-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-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-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-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-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/rules-compat/index.html +272 -0
- package/dist/serve/docs-ui/docs/rules-compat.md +287 -0
- package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +34 -0
- package/dist/serve/docs-ui/docs/secure/audit-your-rules.md +67 -0
- package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +105 -0
- package/dist/serve/docs-ui/docs/secure/firestore-rules-limits.md +152 -0
- package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +40 -0
- package/dist/serve/docs-ui/docs/secure/read-a-denial.md +58 -0
- package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +66 -0
- package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript.md +89 -0
- package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +158 -0
- package/dist/serve/docs-ui/docs/secure/rules-standard-library.md +116 -0
- package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +46 -0
- package/dist/serve/docs-ui/docs/secure/secure-it-with-rules.md +51 -0
- package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +94 -0
- package/dist/serve/docs-ui/docs/secure/simulate-and-lint.md +86 -0
- package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +81 -0
- package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite.md +105 -0
- package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +36 -0
- package/dist/serve/docs-ui/docs/ship/ship-to-production.md +64 -0
- package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +74 -0
- package/dist/serve/docs-ui/docs/ship/test-in-node.md +94 -0
- package/dist/serve/docs-ui/docs/storage-compat/index.html +532 -0
- package/dist/serve/docs-ui/docs/storage-compat.md +577 -0
- package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +131 -0
- package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase.md +155 -0
- package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +13 -0
- package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility.md +21 -0
- package/dist/serve/docs-ui/index.html +1 -0
- package/dist/serve/docs-ui/llms.txt +123 -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-CXdSLKhO.js +23 -0
- package/dist/serve/studio-ui/assets/index-BlSGru_r.css +1 -0
- package/dist/serve/studio-ui/assets/index-BvtQIpGn.js +1211 -0
- package/dist/serve/studio-ui/assets/seed-3DMedLL3.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 +664 -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 +144 -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`; query `pyric can-i-use storage/list` for the
|
|
403
|
+
current availability of the separate paginated operation.
|
|
404
|
+
|
|
405
|
+
#### Properties
|
|
406
|
+
|
|
407
|
+
| Property | Type |
|
|
408
|
+
| :------ | :------ |
|
|
409
|
+
| <a id="items"></a> `items` | [`StorageReference`](#storagereference)[] |
|
|
410
|
+
| <a id="nextpagetoken"></a> `nextPageToken?` | `string` |
|
|
411
|
+
| <a id="prefixes"></a> `prefixes` | [`StorageReference`](#storagereference)[] |
|
|
412
|
+
|
|
413
|
+
***
|
|
414
|
+
|
|
415
|
+
<a id="provisionstorageinput"></a>
|
|
416
|
+
|
|
417
|
+
### ProvisionStorageInput
|
|
418
|
+
|
|
419
|
+
Shapes for the Storage provisioning + status tools.
|
|
420
|
+
|
|
421
|
+
Types only — the agent-tool parameter schemas live inline in
|
|
422
|
+
`tools.ts` as JSON Schema (the `ToolHandler` contract).
|
|
423
|
+
|
|
424
|
+
#### Properties
|
|
425
|
+
|
|
426
|
+
| Property | Type | Description |
|
|
427
|
+
| :------ | :------ | :------ |
|
|
428
|
+
| <a id="bucketid-1"></a> `bucketId?` | `string` | Override the default Firebase Storage bucket ID. Defaults to `{projectId}.firebasestorage.app`. |
|
|
429
|
+
| <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. |
|
|
430
|
+
| <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`. |
|
|
431
|
+
| <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. |
|
|
432
|
+
|
|
433
|
+
***
|
|
434
|
+
|
|
435
|
+
<a id="provisionstorageoptions"></a>
|
|
436
|
+
|
|
437
|
+
### ProvisionStorageOptions
|
|
438
|
+
|
|
439
|
+
#### Properties
|
|
440
|
+
|
|
441
|
+
| Property | Type | Description |
|
|
442
|
+
| :------ | :------ | :------ |
|
|
443
|
+
| <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. |
|
|
444
|
+
| <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. |
|
|
445
|
+
| <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'`. |
|
|
446
|
+
| <a id="onprogress"></a> `onProgress?` | `ProvisionProgress` | Optional progress callback, invoked at each provisioning step boundary. |
|
|
447
|
+
| <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). |
|
|
448
|
+
|
|
449
|
+
***
|
|
450
|
+
|
|
451
|
+
<a id="provisionstorageresult"></a>
|
|
452
|
+
|
|
453
|
+
### ProvisionStorageResult
|
|
454
|
+
|
|
455
|
+
#### Properties
|
|
456
|
+
|
|
457
|
+
| Property | Type |
|
|
458
|
+
| :------ | :------ |
|
|
459
|
+
| <a id="bucketcreated"></a> `bucketCreated` | `boolean` |
|
|
460
|
+
| <a id="bucketid-3"></a> `bucketId` | `string` |
|
|
461
|
+
| <a id="corsapplied"></a> `corsApplied` | `boolean` |
|
|
462
|
+
| <a id="locationfinalized"></a> `locationFinalized` | `boolean` |
|
|
463
|
+
| <a id="locationid-2"></a> `locationId` | `string` |
|
|
464
|
+
| <a id="ok"></a> `ok` | `true` |
|
|
465
|
+
| <a id="rulesdeployed"></a> `rulesDeployed` | `boolean` |
|
|
466
|
+
| <a id="rulesetname"></a> `rulesetName?` | `string` |
|
|
467
|
+
| <a id="serviceenabled"></a> `serviceEnabled` | `boolean` |
|
|
468
|
+
|
|
469
|
+
***
|
|
470
|
+
|
|
471
|
+
<a id="sandboxtarget"></a>
|
|
472
|
+
|
|
473
|
+
### SandboxTarget
|
|
474
|
+
|
|
475
|
+
Sandbox target — IDB-backed, identity from `SandboxContext`, rules
|
|
476
|
+
enforced in-process via `enforce.ts`.
|
|
477
|
+
|
|
478
|
+
#### Properties
|
|
479
|
+
|
|
480
|
+
| Property | Modifier | Type | Description |
|
|
481
|
+
| :------ | :------ | :------ | :------ |
|
|
482
|
+
| <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. |
|
|
483
|
+
| <a id="bucket-1"></a> `bucket` | `readonly` | `string` | - |
|
|
484
|
+
| <a id="context"></a> `context` | `readonly` | `SandboxContext` | - |
|
|
485
|
+
| <a id="currentauth"></a> `currentAuth?` | `readonly` | () => `AuthState` | App handles resolve auth at operation time; explicit contexts stay frozen. |
|
|
486
|
+
| <a id="kind"></a> `kind` | `readonly` | `"sandbox"` | - |
|
|
487
|
+
| <a id="sandbox"></a> `sandbox` | `readonly` | `Sandbox` | - |
|
|
488
|
+
| <a id="servicepromise"></a> `servicePromise` | `readonly` | `Promise`\<`StorageService`\> | - |
|
|
489
|
+
|
|
490
|
+
***
|
|
491
|
+
|
|
492
|
+
<a id="settablemetadata"></a>
|
|
493
|
+
|
|
494
|
+
### SettableMetadata
|
|
495
|
+
|
|
496
|
+
Client-settable fields. Passed to `uploadBytes` /
|
|
497
|
+
`uploadString` / `updateMetadata`. Every field is optional — the
|
|
498
|
+
upload pipeline fills any unsupplied client fields with sane
|
|
499
|
+
defaults (e.g. `contentType` falls back to `application/octet-stream`).
|
|
500
|
+
|
|
501
|
+
#### Extended by
|
|
502
|
+
|
|
503
|
+
- [`FullMetadata`](#fullmetadata)
|
|
504
|
+
|
|
505
|
+
#### Properties
|
|
506
|
+
|
|
507
|
+
| Property | Type |
|
|
508
|
+
| :------ | :------ |
|
|
509
|
+
| <a id="cachecontrol-1"></a> `cacheControl?` | `string` |
|
|
510
|
+
| <a id="contentdisposition-1"></a> `contentDisposition?` | `string` |
|
|
511
|
+
| <a id="contentencoding-1"></a> `contentEncoding?` | `string` |
|
|
512
|
+
| <a id="contentlanguage-1"></a> `contentLanguage?` | `string` |
|
|
513
|
+
| <a id="contenttype-1"></a> `contentType?` | `string` |
|
|
514
|
+
| <a id="custommetadata-1"></a> `customMetadata?` | \{ \[`key`: `string`\]: `string`; \} |
|
|
515
|
+
|
|
516
|
+
***
|
|
517
|
+
|
|
518
|
+
<a id="storageadmintooldeps"></a>
|
|
519
|
+
|
|
520
|
+
### StorageAdminToolDeps
|
|
521
|
+
|
|
522
|
+
#### Properties
|
|
523
|
+
|
|
524
|
+
| Property | Type | Description |
|
|
525
|
+
| :------ | :------ | :------ |
|
|
526
|
+
| <a id="scope"></a> `scope` | `ProjectScope` | Project identity + token resolver. |
|
|
527
|
+
|
|
528
|
+
***
|
|
529
|
+
|
|
530
|
+
<a id="storageauth"></a>
|
|
531
|
+
|
|
532
|
+
### StorageAuth
|
|
533
|
+
|
|
534
|
+
Identity passed in with the request. `null` is anonymous.
|
|
535
|
+
|
|
536
|
+
#### Properties
|
|
537
|
+
|
|
538
|
+
| Property | Type |
|
|
539
|
+
| :------ | :------ |
|
|
540
|
+
| <a id="token"></a> `token?` | `Record`\<`string`, `unknown`\> |
|
|
541
|
+
| <a id="uid"></a> `uid` | `string` |
|
|
542
|
+
|
|
543
|
+
***
|
|
544
|
+
|
|
545
|
+
<a id="storageoptions"></a>
|
|
546
|
+
|
|
547
|
+
### StorageOptions
|
|
548
|
+
|
|
549
|
+
Options for [getStorageSandbox](#getstoragesandbox).
|
|
550
|
+
|
|
551
|
+
#### Properties
|
|
552
|
+
|
|
553
|
+
| Property | Type | Description |
|
|
554
|
+
| :------ | :------ | :------ |
|
|
555
|
+
| <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. |
|
|
556
|
+
| <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`. |
|
|
557
|
+
| <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`. |
|
|
558
|
+
|
|
559
|
+
***
|
|
560
|
+
|
|
561
|
+
<a id="storagereference"></a>
|
|
562
|
+
|
|
563
|
+
### StorageReference
|
|
564
|
+
|
|
565
|
+
Public reference shape. Methods are inherited from the impl
|
|
566
|
+
classes below; the interface is exported so consumer code can
|
|
567
|
+
name the type without depending on the impls.
|
|
568
|
+
|
|
569
|
+
#### Properties
|
|
570
|
+
|
|
571
|
+
| Property | Modifier | Type |
|
|
572
|
+
| :------ | :------ | :------ |
|
|
573
|
+
| <a id="bucket-3"></a> `bucket` | `readonly` | `string` |
|
|
574
|
+
| <a id="fullpath-1"></a> `fullPath` | `readonly` | `string` |
|
|
575
|
+
| <a id="name-2"></a> `name` | `readonly` | `string` |
|
|
576
|
+
| <a id="parent"></a> `parent` | `readonly` | [`StorageReference`](#storagereference) |
|
|
577
|
+
| <a id="root"></a> `root` | `readonly` | [`StorageReference`](#storagereference) |
|
|
578
|
+
| <a id="storage"></a> `storage` | `readonly` | [`FirebaseStorage`](#firebasestorage) |
|
|
579
|
+
|
|
580
|
+
#### Methods
|
|
581
|
+
|
|
582
|
+
<a id="tostring"></a>
|
|
583
|
+
|
|
584
|
+
##### toString()
|
|
585
|
+
|
|
586
|
+
```ts
|
|
587
|
+
toString(): string;
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
###### Returns
|
|
591
|
+
|
|
592
|
+
`string`
|
|
593
|
+
|
|
594
|
+
***
|
|
595
|
+
|
|
596
|
+
<a id="storagerequest"></a>
|
|
597
|
+
|
|
598
|
+
### StorageRequest
|
|
599
|
+
|
|
600
|
+
Inbound request bindings the rules see.
|
|
601
|
+
|
|
602
|
+
#### Properties
|
|
603
|
+
|
|
604
|
+
| Property | Type | Description |
|
|
605
|
+
| :------ | :------ | :------ |
|
|
606
|
+
| <a id="auth"></a> `auth` | [`StorageAuth`](#storageauth) | - |
|
|
607
|
+
| <a id="method-1"></a> `method` | [`StorageRequestMethod`](#storagerequestmethod-1) | - |
|
|
608
|
+
| <a id="path"></a> `path` | `string` | Path of the object the request targets. |
|
|
609
|
+
| <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). |
|
|
610
|
+
| `resource.contentType?` | `string` | - |
|
|
611
|
+
| `resource.metadata?` | `Record`\<`string`, `string`\> | - |
|
|
612
|
+
| `resource.size` | `number` | - |
|
|
613
|
+
|
|
614
|
+
***
|
|
615
|
+
|
|
616
|
+
<a id="storageresource"></a>
|
|
617
|
+
|
|
618
|
+
### StorageResource
|
|
619
|
+
|
|
620
|
+
Existing-object bindings (for `resource.*`). `null` when no object exists
|
|
621
|
+
yet (creates).
|
|
622
|
+
|
|
623
|
+
The object-identity/time fields carry GOOGLE CLOUD STORAGE semantics, not
|
|
624
|
+
the client SDK's `FullMetadata` semantics — the two disagree on `name`:
|
|
625
|
+
|
|
626
|
+
- rules `resource.name` is the object's FULL path within the bucket
|
|
627
|
+
(`uploads/pic.png`), the GCS object-name convention. The client SDK's
|
|
628
|
+
`FullMetadata.name` is the LAST path segment (`pic.png`). The adapter
|
|
629
|
+
(`resourceFromStored`) therefore sources `name` from the persisted
|
|
630
|
+
record's `fullPath`, NOT its `name`.
|
|
631
|
+
- `timeCreated` / `updated` are ISO-8601 strings here (the persisted
|
|
632
|
+
shape); the evaluator converts them to epoch millis when it builds the
|
|
633
|
+
binding, so they compare numerically against `request.time` and against
|
|
634
|
+
each other. Production types them as `timestamp` and rejects an int in
|
|
635
|
+
their place ("Received: int < timestamp").
|
|
636
|
+
- The update-time field is `updated`. There is NO `resource.timeUpdated`
|
|
637
|
+
in the Storage rules language.
|
|
638
|
+
|
|
639
|
+
A field left `undefined` reads as ABSENT, which production treats as an
|
|
640
|
+
evaluation error that denies (see RuleError).
|
|
641
|
+
|
|
642
|
+
#### Properties
|
|
643
|
+
|
|
644
|
+
| Property | Type | Description |
|
|
645
|
+
| :------ | :------ | :------ |
|
|
646
|
+
| <a id="bucket-4"></a> `bucket?` | `string` | Bucket the object lives in. |
|
|
647
|
+
| <a id="contenttype-2"></a> `contentType?` | `string` | - |
|
|
648
|
+
| <a id="generation-1"></a> `generation?` | `number` | Content generation (production types it `int`). |
|
|
649
|
+
| <a id="metadata"></a> `metadata?` | `Record`\<`string`, `string`\> | - |
|
|
650
|
+
| <a id="metageneration-1"></a> `metageneration?` | `number` | Metadata generation (production types it `int`). |
|
|
651
|
+
| <a id="name-3"></a> `name?` | `string` | Full object path within the bucket, e.g. `uploads/pic.png`. |
|
|
652
|
+
| <a id="size-1"></a> `size` | `number` | - |
|
|
653
|
+
| <a id="timecreated-1"></a> `timeCreated?` | `string` | ISO-8601 creation time. |
|
|
654
|
+
| <a id="updated-1"></a> `updated?` | `string` | ISO-8601 time of the most recent content/metadata update. |
|
|
655
|
+
|
|
656
|
+
***
|
|
657
|
+
|
|
658
|
+
<a id="storagerules"></a>
|
|
659
|
+
|
|
660
|
+
### StorageRules
|
|
661
|
+
|
|
662
|
+
Opaque parsed-rules handle returned by `parseStorageRules`.
|
|
663
|
+
|
|
664
|
+
***
|
|
665
|
+
|
|
666
|
+
<a id="uploadresult"></a>
|
|
667
|
+
|
|
668
|
+
### UploadResult
|
|
669
|
+
|
|
670
|
+
Return shape of `uploadBytes` / `uploadString`.
|
|
671
|
+
|
|
672
|
+
#### Properties
|
|
673
|
+
|
|
674
|
+
| Property | Type |
|
|
675
|
+
| :------ | :------ |
|
|
676
|
+
| <a id="metadata-1"></a> `metadata` | [`FullMetadata`](#fullmetadata) |
|
|
677
|
+
| <a id="ref"></a> `ref` | [`StorageReference`](#storagereference) |
|
|
678
|
+
|
|
679
|
+
## Type Aliases
|
|
680
|
+
|
|
681
|
+
<a id="provisionstorageerrorcode"></a>
|
|
682
|
+
|
|
683
|
+
### ProvisionStorageErrorCode
|
|
684
|
+
|
|
685
|
+
```ts
|
|
686
|
+
type ProvisionStorageErrorCode =
|
|
687
|
+
| "PERMISSION_DENIED"
|
|
688
|
+
| "SERVICE_DISABLED"
|
|
689
|
+
| "LOCATION_FINALIZE_FAILED"
|
|
690
|
+
| "BUCKET_CREATE_FAILED"
|
|
691
|
+
| "RULES_DEPLOY_FAILED"
|
|
692
|
+
| "CORS_UPDATE_FAILED"
|
|
693
|
+
| "UNKNOWN";
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
***
|
|
697
|
+
|
|
698
|
+
<a id="provisionstorageoutcome"></a>
|
|
699
|
+
|
|
700
|
+
### ProvisionStorageOutcome
|
|
701
|
+
|
|
702
|
+
```ts
|
|
703
|
+
type ProvisionStorageOutcome =
|
|
704
|
+
| {
|
|
705
|
+
bucketCreated: boolean;
|
|
706
|
+
bucketId: string;
|
|
707
|
+
corsApplied: boolean;
|
|
708
|
+
locationFinalized: boolean;
|
|
709
|
+
locationId: string | null;
|
|
710
|
+
rulesDeployed: boolean;
|
|
711
|
+
rulesetName?: string;
|
|
712
|
+
serviceEnabled: boolean;
|
|
713
|
+
success: true;
|
|
714
|
+
}
|
|
715
|
+
| {
|
|
716
|
+
error: {
|
|
717
|
+
code: ProvisionStorageErrorCode;
|
|
718
|
+
message: string;
|
|
719
|
+
recoverable: boolean;
|
|
720
|
+
};
|
|
721
|
+
success: false;
|
|
722
|
+
};
|
|
723
|
+
```
|
|
724
|
+
|
|
725
|
+
***
|
|
726
|
+
|
|
727
|
+
<a id="serviceenablestate"></a>
|
|
728
|
+
|
|
729
|
+
### ServiceEnableState
|
|
730
|
+
|
|
731
|
+
```ts
|
|
732
|
+
type ServiceEnableState = "enabled" | "disabled" | "unknown";
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
***
|
|
736
|
+
|
|
737
|
+
<a id="storageerrorcode-1"></a>
|
|
738
|
+
|
|
739
|
+
### StorageErrorCode
|
|
740
|
+
|
|
741
|
+
```ts
|
|
742
|
+
type StorageErrorCode =
|
|
743
|
+
| "unknown"
|
|
744
|
+
| "object-not-found"
|
|
745
|
+
| "quota-exceeded"
|
|
746
|
+
| "unauthenticated"
|
|
747
|
+
| "unauthorized"
|
|
748
|
+
| "invalid-root-operation"
|
|
749
|
+
| "invalid-format"
|
|
750
|
+
| "invalid-argument";
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
The unprefixed storage error codes the sandbox can raise. Mirrors
|
|
754
|
+
the subset of `StorageErrorCode` used by currently implemented operations.
|
|
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)\>
|