@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,53 @@
|
|
|
1
|
+
/** MessagePort-shaped client transport from ServiceWorkerGlobalScope to the SharedWorker. */
|
|
2
|
+
import { wirePort } from './core.js';
|
|
3
|
+
import { SERVICE_WORKER_CHANNEL, } from '../service-worker-channel.js';
|
|
4
|
+
function newSessionId() {
|
|
5
|
+
return typeof crypto.randomUUID === 'function'
|
|
6
|
+
? crypto.randomUUID()
|
|
7
|
+
: `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
|
8
|
+
}
|
|
9
|
+
export function getServiceWorkerFirestore(appName) {
|
|
10
|
+
if (typeof BroadcastChannel === 'undefined') {
|
|
11
|
+
throw new Error('BroadcastChannel is required to connect firebase/messaging/sw to the Pyric backend.');
|
|
12
|
+
}
|
|
13
|
+
const channel = new BroadcastChannel(SERVICE_WORKER_CHANNEL);
|
|
14
|
+
// Stable logical id + fresh realm id lets the host replace stale subscriptions
|
|
15
|
+
// without accepting late frames from the superseded Service Worker realm.
|
|
16
|
+
const clientId = `service-worker:${encodeURIComponent(appName)}`;
|
|
17
|
+
const sessionId = newSessionId();
|
|
18
|
+
channel.postMessage({
|
|
19
|
+
direction: 'host',
|
|
20
|
+
phase: 'attach',
|
|
21
|
+
clientId,
|
|
22
|
+
sessionId,
|
|
23
|
+
});
|
|
24
|
+
const port = {
|
|
25
|
+
onmessage: null,
|
|
26
|
+
postMessage(message) {
|
|
27
|
+
channel.postMessage({
|
|
28
|
+
direction: 'host',
|
|
29
|
+
phase: 'message',
|
|
30
|
+
clientId,
|
|
31
|
+
sessionId,
|
|
32
|
+
message,
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
start() { },
|
|
36
|
+
close() {
|
|
37
|
+
channel.close();
|
|
38
|
+
port.onmessage = null;
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
channel.onmessage = (event) => {
|
|
42
|
+
const envelope = event.data;
|
|
43
|
+
if (envelope.direction !== 'client'
|
|
44
|
+
|| envelope.clientId !== clientId
|
|
45
|
+
|| envelope.sessionId !== sessionId)
|
|
46
|
+
return;
|
|
47
|
+
port.onmessage?.({ data: envelope.message });
|
|
48
|
+
};
|
|
49
|
+
const db = { __kind: 'client-db', port };
|
|
50
|
+
wirePort(db.port);
|
|
51
|
+
return db;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=service-worker-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-worker-connection.js","sourceRoot":"","sources":["../../../../src/serve/worker/client/service-worker-connection.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EACL,sBAAsB,GAEvB,MAAM,8BAA8B,CAAC;AAEtC,SAAS,YAAY;IACnB,OAAO,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QAC5C,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QACrB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;IAC7D,+EAA+E;IAC/E,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,kBAAkB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO,CAAC,WAAW,CAAC;QAClB,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,QAAQ;QACf,QAAQ;QACR,SAAS;KAC4B,CAAC,CAAC;IACzC,MAAM,IAAI,GAAe;QACvB,SAAS,EAAE,IAAI;QACf,WAAW,CAAC,OAAO;YACjB,OAAO,CAAC,WAAW,CAAC;gBAClB,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE,SAAS;gBAChB,QAAQ;gBACR,SAAS;gBACT,OAAO;aAC8B,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,KAAI,CAAC;QACV,KAAK;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;KACmB,CAAC;IACvB,OAAO,CAAC,SAAS,GAAG,CAAC,KAAgD,EAAE,EAAE;QACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAC5B,IACE,QAAQ,CAAC,SAAS,KAAK,QAAQ;eAC5B,QAAQ,CAAC,QAAQ,KAAK,QAAQ;eAC9B,QAAQ,CAAC,SAAS,KAAK,SAAS;YACnC,OAAO;QACT,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAkB,CAAC,CAAC;IAC/D,CAAC,CAAC;IACF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAqB,CAAC;IAC5D,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Firestore snapshot machinery for the worker client — wire-form document
|
|
3
|
+
* results rehydrated into the modular SDK's snapshot shapes. Shared by the
|
|
4
|
+
* read, listener, and transaction families.
|
|
5
|
+
*/
|
|
6
|
+
import type { SerializedDocData } from '../protocol.js';
|
|
7
|
+
import type { ClientPort, DocRefHandle } from './handles.js';
|
|
8
|
+
export interface RawDocResult {
|
|
9
|
+
id: string;
|
|
10
|
+
path?: string;
|
|
11
|
+
exists: boolean;
|
|
12
|
+
data?: SerializedDocData;
|
|
13
|
+
}
|
|
14
|
+
export declare function makeDocSnapshot(raw: RawDocResult, port: ClientPort): ClientDocSnapshot;
|
|
15
|
+
export interface RawQueryResult {
|
|
16
|
+
docs: RawDocResult[];
|
|
17
|
+
}
|
|
18
|
+
export declare function makeQuerySnapshot(raw: RawQueryResult, port: ClientPort): ClientQuerySnapshot;
|
|
19
|
+
export interface ClientDocSnapshot {
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly path: string;
|
|
22
|
+
/** Full port-carrying reference, usable by write APIs. */
|
|
23
|
+
readonly ref: DocRefHandle;
|
|
24
|
+
exists(): boolean;
|
|
25
|
+
data(): Record<string, unknown> | undefined;
|
|
26
|
+
}
|
|
27
|
+
export interface ClientQuerySnapshot {
|
|
28
|
+
readonly size: number;
|
|
29
|
+
readonly empty: boolean;
|
|
30
|
+
readonly docs: ClientDocSnapshot[];
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=snapshots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../../src/serve/worker/client/snapshots.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAsB7D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAmBtF;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAO5F;AAID,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,MAAM,IAAI,OAAO,CAAC;IAClB,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;CACpC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { deserializeDocData } from '../protocol.js';
|
|
2
|
+
// ─── Rehydration (class instance restoration) ─────────────────────────────
|
|
3
|
+
/**
|
|
4
|
+
* Deserialize doc data from wire form to real class instances.
|
|
5
|
+
*
|
|
6
|
+
* `deserializeDocData` (protocol.ts) now calls `rehydrateDocValue` from
|
|
7
|
+
* pyric/sandbox, which reconstructs REAL Timestamp, Bytes, and LatLng
|
|
8
|
+
* instances — not plain-object look-alikes. This means:
|
|
9
|
+
* - `snap.data().createdAt` is a real `Timestamp` with `.seconds`/`.nanos`
|
|
10
|
+
* - `snap.data().blob` is a real `Bytes` with `.data` (Uint8Array)
|
|
11
|
+
* - `snap.data().where` is a real `LatLng` with `.lat`/`.lng`
|
|
12
|
+
* Consumer code that uses `instanceof` checks or method calls will work
|
|
13
|
+
* correctly after deserialization.
|
|
14
|
+
*/
|
|
15
|
+
function rehydrateDocData(serialized) {
|
|
16
|
+
return deserializeDocData(serialized);
|
|
17
|
+
}
|
|
18
|
+
export function makeDocSnapshot(raw, port) {
|
|
19
|
+
const data = raw.exists && raw.data ? rehydrateDocData(raw.data) : undefined;
|
|
20
|
+
const path = raw.path ?? raw.id;
|
|
21
|
+
const ref = {
|
|
22
|
+
__kind: 'doc-ref',
|
|
23
|
+
descriptor: { __ref: 'doc', path },
|
|
24
|
+
port,
|
|
25
|
+
id: raw.id,
|
|
26
|
+
path,
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
id: raw.id,
|
|
30
|
+
path,
|
|
31
|
+
// Query snapshot refs are real worker handles, not path-only lookalikes:
|
|
32
|
+
// Firebase callers may pass `snapshot.ref` straight into deleteDoc/setDoc.
|
|
33
|
+
ref,
|
|
34
|
+
exists: () => raw.exists,
|
|
35
|
+
data: () => data,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export function makeQuerySnapshot(raw, port) {
|
|
39
|
+
const docs = raw.docs.map((doc) => makeDocSnapshot(doc, port));
|
|
40
|
+
return {
|
|
41
|
+
size: docs.length,
|
|
42
|
+
empty: docs.length === 0,
|
|
43
|
+
docs,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=snapshots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../../../src/serve/worker/client/snapshots.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,6EAA6E;AAE7E;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,UAA6B;IACrD,OAAO,kBAAkB,CAAC,UAAU,CAA4B,CAAC;AACnE,CAAC;AAWD,MAAM,UAAU,eAAe,CAAC,GAAiB,EAAE,IAAgB;IACjE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;IAChC,MAAM,GAAG,GAAiB;QACxB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;QAClC,IAAI;QACJ,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI;KACL,CAAC;IACF,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI;QACJ,yEAAyE;QACzE,2EAA2E;QAC3E,GAAG;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM;QACxB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAAC,GAAmB,EAAE,IAAgB;IACrE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC;QACxB,IAAI;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker-backed FirebaseStorage mirror (Pyric Studio data browse) — client-side
|
|
3
|
+
* ref path math plus `listAll`/`getMetadata`/`getBlob`/`getDownloadURL` reads and the base64
|
|
4
|
+
* byte ops (`uploadBytes`/`getBytes`/`deleteObject`) over the worker port.
|
|
5
|
+
*/
|
|
6
|
+
import type { FullMetadata } from 'pyric/storage';
|
|
7
|
+
import type { ClientDb, ClientPort } from './handles.js';
|
|
8
|
+
/** Worker-backed Storage handle (carries the shared `MessagePort`). */
|
|
9
|
+
export interface ClientFirebaseStorage {
|
|
10
|
+
readonly __kind: 'client-storage';
|
|
11
|
+
readonly port: ClientPort;
|
|
12
|
+
}
|
|
13
|
+
/** Worker-backed Storage reference (path + name; carries the port for ops). */
|
|
14
|
+
export interface ClientStorageReference {
|
|
15
|
+
readonly __kind: 'storage-ref';
|
|
16
|
+
readonly port: ClientPort;
|
|
17
|
+
readonly fullPath: string;
|
|
18
|
+
readonly name: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the worker-backed Storage handle. Like `getAuth`, accepts an existing
|
|
22
|
+
* `ClientDb` (reusing its port) or a worker URL (standalone).
|
|
23
|
+
*/
|
|
24
|
+
export declare function getStorage(source: ClientDb | string | URL, name?: string): ClientFirebaseStorage;
|
|
25
|
+
/** Build a Storage reference. Mirrors `pyric/storage`'s `ref(storage, path?)` /
|
|
26
|
+
* `ref(parentRef, path)`. Client-side path math; no RPC. */
|
|
27
|
+
export declare function ref(parent: ClientFirebaseStorage | ClientStorageReference, path?: string): ClientStorageReference;
|
|
28
|
+
/** Enumerate immediate child items + sub-prefixes under a ref (Pyric Studio
|
|
29
|
+
* data browse). The host enforces `read` rules on the scanned prefix. */
|
|
30
|
+
export declare function listAll(reference: ClientStorageReference): Promise<{
|
|
31
|
+
items: ClientStorageReference[];
|
|
32
|
+
prefixes: ClientStorageReference[];
|
|
33
|
+
}>;
|
|
34
|
+
/** Read an object's metadata (Pyric Studio inspector). */
|
|
35
|
+
export declare function getMetadata(reference: ClientStorageReference): Promise<FullMetadata>;
|
|
36
|
+
/** Read an object's bytes as a Blob (Pyric Studio inspector preview).
|
|
37
|
+
* MessagePort-only — a Blob cannot cross the JSON bridge relay. */
|
|
38
|
+
export declare function getBlob(reference: ClientStorageReference): Promise<Blob>;
|
|
39
|
+
/** Return a page-owned URL for an object read through the SharedWorker. */
|
|
40
|
+
export declare function getDownloadURL(reference: ClientStorageReference): Promise<string>;
|
|
41
|
+
/** Mirror of `pyric/storage`'s `SettableMetadata` (plain JSON on the wire). */
|
|
42
|
+
export interface ClientSettableMetadata {
|
|
43
|
+
contentType?: string;
|
|
44
|
+
cacheControl?: string;
|
|
45
|
+
contentDisposition?: string;
|
|
46
|
+
contentEncoding?: string;
|
|
47
|
+
contentLanguage?: string;
|
|
48
|
+
customMetadata?: {
|
|
49
|
+
[key: string]: string;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/** Upload bytes at the reference's path (replaces existing content).
|
|
53
|
+
* Mirrors `pyric/storage`'s `uploadBytes` result shape. */
|
|
54
|
+
export declare function uploadBytes(reference: ClientStorageReference, data: Blob | Uint8Array | ArrayBuffer, metadata?: ClientSettableMetadata): Promise<{
|
|
55
|
+
ref: ClientStorageReference;
|
|
56
|
+
metadata: FullMetadata;
|
|
57
|
+
}>;
|
|
58
|
+
/** Read an object's bytes (JSON-safe base64 op → `ArrayBuffer`). Mirrors
|
|
59
|
+
* `pyric/storage`'s `getBytes`, including the optional client-side cap. */
|
|
60
|
+
export declare function getBytes(reference: ClientStorageReference, maxDownloadSizeBytes?: number): Promise<ArrayBuffer>;
|
|
61
|
+
/** Delete the object at the reference's path (idempotent — missing = no-op,
|
|
62
|
+
* matching the sandbox backend's delete semantics). */
|
|
63
|
+
export declare function deleteObject(reference: ClientStorageReference): Promise<void>;
|
|
64
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/serve/worker/client/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAOzD,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAOD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAoBhG;AAED;6DAC6D;AAC7D,wBAAgB,GAAG,CACjB,MAAM,EAAE,qBAAqB,GAAG,sBAAsB,EACtD,IAAI,CAAC,EAAE,MAAM,GACZ,sBAAsB,CAUxB;AAED;0EAC0E;AAC1E,wBAAsB,OAAO,CAC3B,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC;IAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAA;CAAE,CAAC,CAQlF;AAED,0DAA0D;AAC1D,wBAAsB,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,CAAC,CAI1F;AAED;oEACoE;AACpE,wBAAsB,OAAO,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9E;AAED,2EAA2E;AAC3E,wBAAsB,cAAc,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvF;AAeD,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED;4DAC4D;AAC5D,wBAAsB,WAAW,CAC/B,SAAS,EAAE,sBAAsB,EACjC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,EACrC,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC;IAAE,GAAG,EAAE,sBAAsB,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC,CAuBlE;AAED;4EAC4E;AAC5E,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,sBAAsB,EACjC,oBAAoB,CAAC,EAAE,MAAM,GAC5B,OAAO,CAAC,WAAW,CAAC,CActB;AAED;wDACwD;AACxD,wBAAsB,YAAY,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAInF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker-backed FirebaseStorage mirror (Pyric Studio data browse) — client-side
|
|
3
|
+
* ref path math plus `listAll`/`getMetadata`/`getBlob`/`getDownloadURL` reads and the base64
|
|
4
|
+
* byte ops (`uploadBytes`/`getBytes`/`deleteObject`) over the worker port.
|
|
5
|
+
*/
|
|
6
|
+
import { bytesToBase64, base64ToBytes, storagePayloadTooLarge, MAX_STORAGE_OP_BYTES } from '../protocol.js';
|
|
7
|
+
import { dataRpc, nextId, wirePort } from './core.js';
|
|
8
|
+
import { lastSegment } from './handles.js';
|
|
9
|
+
/** Strip leading/trailing slashes (the worker keyspace uses bare paths). */
|
|
10
|
+
function normalizeStorageRefPath(path) {
|
|
11
|
+
return path.replace(/^\/+|\/+$/g, '');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get the worker-backed Storage handle. Like `getAuth`, accepts an existing
|
|
15
|
+
* `ClientDb` (reusing its port) or a worker URL (standalone).
|
|
16
|
+
*/
|
|
17
|
+
export function getStorage(source, name) {
|
|
18
|
+
let port;
|
|
19
|
+
if (typeof source === 'object' && '__kind' in source && source.__kind === 'client-db') {
|
|
20
|
+
port = source.port;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (typeof SharedWorker === 'undefined') {
|
|
24
|
+
throw new Error('SharedWorker is not available. ' +
|
|
25
|
+
'Open this page over http:// (not file://) and use a supported browser.');
|
|
26
|
+
}
|
|
27
|
+
const worker = new SharedWorker(source, {
|
|
28
|
+
type: 'classic',
|
|
29
|
+
name: name ?? 'pyric-shared-worker',
|
|
30
|
+
});
|
|
31
|
+
port = worker.port;
|
|
32
|
+
port.start();
|
|
33
|
+
wirePort(port);
|
|
34
|
+
}
|
|
35
|
+
return { __kind: 'client-storage', port };
|
|
36
|
+
}
|
|
37
|
+
/** Build a Storage reference. Mirrors `pyric/storage`'s `ref(storage, path?)` /
|
|
38
|
+
* `ref(parentRef, path)`. Client-side path math; no RPC. */
|
|
39
|
+
export function ref(parent, path) {
|
|
40
|
+
const rel = normalizeStorageRefPath(path ?? '');
|
|
41
|
+
let fullPath;
|
|
42
|
+
if (parent.__kind === 'client-storage') {
|
|
43
|
+
fullPath = rel;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const base = parent.fullPath;
|
|
47
|
+
fullPath = rel ? (base ? `${base}/${rel}` : rel) : base;
|
|
48
|
+
}
|
|
49
|
+
return { __kind: 'storage-ref', port: parent.port, fullPath, name: lastSegment(fullPath) };
|
|
50
|
+
}
|
|
51
|
+
/** Enumerate immediate child items + sub-prefixes under a ref (Pyric Studio
|
|
52
|
+
* data browse). The host enforces `read` rules on the scanned prefix. */
|
|
53
|
+
export async function listAll(reference) {
|
|
54
|
+
const r = (await dataRpc(reference.port, {
|
|
55
|
+
t: 'op', id: nextId(), method: 'storage.listAll', path: reference.fullPath,
|
|
56
|
+
}));
|
|
57
|
+
const mk = (e) => ({
|
|
58
|
+
__kind: 'storage-ref', port: reference.port, fullPath: e.fullPath, name: e.name,
|
|
59
|
+
});
|
|
60
|
+
return { items: r.items.map(mk), prefixes: r.prefixes.map(mk) };
|
|
61
|
+
}
|
|
62
|
+
/** Read an object's metadata (Pyric Studio inspector). */
|
|
63
|
+
export async function getMetadata(reference) {
|
|
64
|
+
return (await dataRpc(reference.port, {
|
|
65
|
+
t: 'op', id: nextId(), method: 'storage.getMetadata', path: reference.fullPath,
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
/** Read an object's bytes as a Blob (Pyric Studio inspector preview).
|
|
69
|
+
* MessagePort-only — a Blob cannot cross the JSON bridge relay. */
|
|
70
|
+
export async function getBlob(reference) {
|
|
71
|
+
return (await dataRpc(reference.port, {
|
|
72
|
+
t: 'op', id: nextId(), method: 'storage.getBlob', path: reference.fullPath,
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
/** Return a page-owned URL for an object read through the SharedWorker. */
|
|
76
|
+
export async function getDownloadURL(reference) {
|
|
77
|
+
return URL.createObjectURL(await getBlob(reference));
|
|
78
|
+
}
|
|
79
|
+
/** Upload bytes at the reference's path (replaces existing content).
|
|
80
|
+
* Mirrors `pyric/storage`'s `uploadBytes` result shape. */
|
|
81
|
+
export async function uploadBytes(reference, data, metadata) {
|
|
82
|
+
const bytes = data instanceof Blob
|
|
83
|
+
? new Uint8Array(await data.arrayBuffer())
|
|
84
|
+
: data instanceof ArrayBuffer
|
|
85
|
+
? new Uint8Array(data)
|
|
86
|
+
: data;
|
|
87
|
+
if (bytes.byteLength > MAX_STORAGE_OP_BYTES) {
|
|
88
|
+
throw storagePayloadTooLarge(bytes.byteLength, `uploadBytes payload for '${reference.fullPath}'`);
|
|
89
|
+
}
|
|
90
|
+
// contentType precedence mirrors pyric/storage: caller metadata → Blob.type.
|
|
91
|
+
const contentType = metadata?.contentType ?? (data instanceof Blob && data.type ? data.type : undefined);
|
|
92
|
+
const stored = (await dataRpc(reference.port, {
|
|
93
|
+
t: 'op',
|
|
94
|
+
id: nextId(),
|
|
95
|
+
method: 'storage.putBytes',
|
|
96
|
+
path: reference.fullPath,
|
|
97
|
+
dataB64: bytesToBase64(bytes),
|
|
98
|
+
...(contentType !== undefined ? { contentType } : {}),
|
|
99
|
+
...(metadata !== undefined ? { metadata: metadata } : {}),
|
|
100
|
+
}));
|
|
101
|
+
return { ref: reference, metadata: stored };
|
|
102
|
+
}
|
|
103
|
+
/** Read an object's bytes (JSON-safe base64 op → `ArrayBuffer`). Mirrors
|
|
104
|
+
* `pyric/storage`'s `getBytes`, including the optional client-side cap. */
|
|
105
|
+
export async function getBytes(reference, maxDownloadSizeBytes) {
|
|
106
|
+
const res = (await dataRpc(reference.port, {
|
|
107
|
+
t: 'op', id: nextId(), method: 'storage.getBytes', path: reference.fullPath,
|
|
108
|
+
}));
|
|
109
|
+
if (typeof maxDownloadSizeBytes === 'number' && res.size > maxDownloadSizeBytes) {
|
|
110
|
+
const err = new Error(`storage/quota-exceeded: object at '${reference.fullPath}' is ${res.size} bytes — ` +
|
|
111
|
+
`over the requested maxDownloadSizeBytes (${maxDownloadSizeBytes}).`);
|
|
112
|
+
err.code = 'storage/quota-exceeded';
|
|
113
|
+
throw err;
|
|
114
|
+
}
|
|
115
|
+
const bytes = base64ToBytes(res.dataB64);
|
|
116
|
+
return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
|
|
117
|
+
}
|
|
118
|
+
/** Delete the object at the reference's path (idempotent — missing = no-op,
|
|
119
|
+
* matching the sandbox backend's delete semantics). */
|
|
120
|
+
export async function deleteObject(reference) {
|
|
121
|
+
await dataRpc(reference.port, {
|
|
122
|
+
t: 'op', id: nextId(), method: 'storage.deleteObject', path: reference.fullPath,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/serve/worker/client/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pyric Studio cross-service surfaces over the worker port — the unified event
|
|
3
|
+
* stream (`subscribeEvents`/`eventHistory`) and the sandbox snapshot export
|
|
4
|
+
* used by the rules re-run flow.
|
|
5
|
+
*/
|
|
6
|
+
import type { SandboxEvent, SandboxSnapshot } from 'pyric/sandbox';
|
|
7
|
+
import type { ClientDb, Unsubscribe } from './handles.js';
|
|
8
|
+
/**
|
|
9
|
+
* Subscribe to the worker sandbox's unified event stream. The callback fires
|
|
10
|
+
* with each delivered BATCH of events — the FIRST call carries the initial
|
|
11
|
+
* `history()` snapshot (possibly empty), each subsequent call carries one live
|
|
12
|
+
* event. Returns an unsubscribe that deregisters on the worker.
|
|
13
|
+
*
|
|
14
|
+
* This is the live counterpart to `sandbox.onEvent` + an initial `history()`
|
|
15
|
+
* fold, collapsed into one subscription so a late subscriber never misses the
|
|
16
|
+
* backlog.
|
|
17
|
+
*/
|
|
18
|
+
export declare function subscribeEvents(db: ClientDb, callback: (events: readonly SandboxEvent[]) => void): Unsubscribe;
|
|
19
|
+
/**
|
|
20
|
+
* Fetch the worker sandbox's event history as a one-shot snapshot (every event
|
|
21
|
+
* so far). Opens a transient stream sub, resolves with the initial history
|
|
22
|
+
* batch, and tears the sub down immediately — so it never holds a live
|
|
23
|
+
* subscription. Useful for a late, snapshot-only consumer.
|
|
24
|
+
*/
|
|
25
|
+
export declare function eventHistory(db: ClientDb): Promise<readonly SandboxEvent[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Export the current sandbox snapshot (Pyric Studio rules re-run). Studio forks
|
|
28
|
+
* it locally to test a denied op against edited rules or re-issue it as the
|
|
29
|
+
* attempting user, on a throwaway branch (no live mutation).
|
|
30
|
+
*/
|
|
31
|
+
export declare function getSnapshot(db: ClientDb): Promise<SandboxSnapshot>;
|
|
32
|
+
//# sourceMappingURL=studio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../../src/serve/worker/client/studio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgB1D;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,GAClD,WAAW,CAYb;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAQ3E;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,CAExE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pyric Studio cross-service surfaces over the worker port — the unified event
|
|
3
|
+
* stream (`subscribeEvents`/`eventHistory`) and the sandbox snapshot export
|
|
4
|
+
* used by the rules re-run flow.
|
|
5
|
+
*/
|
|
6
|
+
import { closeSubscription, nextId, nextSubId, openEventSubscription, rpc } from './core.js';
|
|
7
|
+
// ════════════════════════════════════════════════════════════════════════
|
|
8
|
+
// EVENT STREAM (Pyric Studio keystone — onEvent/history over the port)
|
|
9
|
+
// ════════════════════════════════════════════════════════════════════════
|
|
10
|
+
//
|
|
11
|
+
// Surfaces the worker sandbox's unified cross-service event stream to the page.
|
|
12
|
+
// `subscribeEvents(db, cb)` registers a stream sub: the worker first delivers
|
|
13
|
+
// `sandbox.history()` as one batch, then streams each live `SandboxEvent` as a
|
|
14
|
+
// single-element batch. `eventHistory(db)` is a one-shot history fetch (a fresh
|
|
15
|
+
// short-lived sub) for consumers that want a snapshot without staying live.
|
|
16
|
+
//
|
|
17
|
+
// These mirror `sandbox.onEvent(cb)` / `sandbox.history()` so a consumer can
|
|
18
|
+
// adapt them into the same `{ onEvent, history }`-shaped source the in-process
|
|
19
|
+
// sandbox exposes (e.g. Studio's `feedFromSandboxLike`).
|
|
20
|
+
/**
|
|
21
|
+
* Subscribe to the worker sandbox's unified event stream. The callback fires
|
|
22
|
+
* with each delivered BATCH of events — the FIRST call carries the initial
|
|
23
|
+
* `history()` snapshot (possibly empty), each subsequent call carries one live
|
|
24
|
+
* event. Returns an unsubscribe that deregisters on the worker.
|
|
25
|
+
*
|
|
26
|
+
* This is the live counterpart to `sandbox.onEvent` + an initial `history()`
|
|
27
|
+
* fold, collapsed into one subscription so a late subscriber never misses the
|
|
28
|
+
* backlog.
|
|
29
|
+
*/
|
|
30
|
+
export function subscribeEvents(db, callback) {
|
|
31
|
+
const subId = nextSubId();
|
|
32
|
+
const port = db.port;
|
|
33
|
+
openEventSubscription(port, subId, callback, { t: 'sub', subId, target: 'events' });
|
|
34
|
+
return () => {
|
|
35
|
+
closeSubscription(port, subId);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fetch the worker sandbox's event history as a one-shot snapshot (every event
|
|
40
|
+
* so far). Opens a transient stream sub, resolves with the initial history
|
|
41
|
+
* batch, and tears the sub down immediately — so it never holds a live
|
|
42
|
+
* subscription. Useful for a late, snapshot-only consumer.
|
|
43
|
+
*/
|
|
44
|
+
export function eventHistory(db) {
|
|
45
|
+
return new Promise((resolve) => {
|
|
46
|
+
const unsub = subscribeEvents(db, (events) => {
|
|
47
|
+
// The first delivery is the history snapshot; resolve + unsubscribe.
|
|
48
|
+
unsub();
|
|
49
|
+
resolve(events);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Export the current sandbox snapshot (Pyric Studio rules re-run). Studio forks
|
|
55
|
+
* it locally to test a denied op against edited rules or re-issue it as the
|
|
56
|
+
* attempting user, on a throwaway branch (no live mutation).
|
|
57
|
+
*/
|
|
58
|
+
export async function getSnapshot(db) {
|
|
59
|
+
return (await rpc(db.port, { t: 'op', id: nextId(), method: 'getSnapshot' }));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=studio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio.js","sourceRoot":"","sources":["../../../../src/serve/worker/client/studio.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAG7F,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,yDAAyD;AAEzD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAY,EACZ,QAAmD;IAEnD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACrB,qBAAqB,CACnB,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAA2B,CAC/D,CAAC;IACF,OAAO,GAAG,EAAE;QACV,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,EAAY;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3C,qEAAqE;YACrE,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAY;IAC5C,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAoB,CAAC;AACnG,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker client SDK — mirrors `pyric/firestore` (+ `pyric/auth`, `pyric/storage`,
|
|
3
|
+
* and the RTDB modular subset) for the SharedWorker data plane. App code can
|
|
4
|
+
* swap its `pyric/firestore` import for this module (via an import-map) and have
|
|
5
|
+
* every operation route to the single worker-hosted sandbox instead of an
|
|
6
|
+
* in-page one — same function names, same argument shapes, same return types.
|
|
7
|
+
*
|
|
8
|
+
* This module is a re-export barrel over the per-family modules under `client/`:
|
|
9
|
+
* - `core` transport singleton (RPC correlation, subscriber maps,
|
|
10
|
+
* port wiring, the Studio auth-lens + op-issuer stamp)
|
|
11
|
+
* - `handles` opaque port-carrying handle types + `Unsubscribe`
|
|
12
|
+
* - `snapshots` firestore snapshot rehydration + snapshot types
|
|
13
|
+
* - `connection` connect, worker version/instance, state/branches, relay
|
|
14
|
+
* - `firestore-refs` ref / query / sentinel descriptor factories (no RPC)
|
|
15
|
+
* - `firestore-reads` read + aggregate execution + `onSnapshot`
|
|
16
|
+
* - `firestore-writes` writes + `writeBatch` + `runTransaction`
|
|
17
|
+
* - `rules` Firestore/RTDB rules deploy + status
|
|
18
|
+
* - `admin-firestore` admin-lens document ops
|
|
19
|
+
* - `rtdb` RTDB modular subset
|
|
20
|
+
* - `studio` event stream, confirm-policy, sandbox snapshot
|
|
21
|
+
* - `auth` per-port auth surface
|
|
22
|
+
* - `storage` worker-backed storage mirror
|
|
23
|
+
* - `messaging` token lifecycle + foreground/background subscriptions
|
|
24
|
+
*
|
|
25
|
+
* The barrel is part of the worker's PUBLIC shape: `serve/worker/index.ts`
|
|
26
|
+
* re-exports from here for the `@pyric/cli/serve/worker` package subpath.
|
|
27
|
+
*/
|
|
28
|
+
export { setLens, getLens, setOpIssuer } from './client/core.js';
|
|
29
|
+
export type { ClientDb, ClientRtdb, RtdbRefHandle, RtdbDataSnapshot, DocRefHandle, CollRefHandle, QueryHandle, AnyHandle, Unsubscribe, } from './client/handles.js';
|
|
30
|
+
export type { ClientDocSnapshot, ClientQuerySnapshot } from './client/snapshots.js';
|
|
31
|
+
export * from './client/connection.js';
|
|
32
|
+
export * from './client/firestore-refs.js';
|
|
33
|
+
export * from './client/firestore-reads.js';
|
|
34
|
+
export * from './client/firestore-writes.js';
|
|
35
|
+
export * from './client/rules.js';
|
|
36
|
+
export * from './client/admin-firestore.js';
|
|
37
|
+
export * from './client/rtdb.js';
|
|
38
|
+
export * from './client/studio.js';
|
|
39
|
+
export * from './client/presence.js';
|
|
40
|
+
export * from './client/auth.js';
|
|
41
|
+
export * from './client/storage.js';
|
|
42
|
+
export * from './client/ai.js';
|
|
43
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/serve/worker/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,SAAS,EACT,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIpF,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Worker client SDK — mirrors `pyric/firestore` (+ `pyric/auth`, `pyric/storage`,
|
|
3
|
+
* and the RTDB modular subset) for the SharedWorker data plane. App code can
|
|
4
|
+
* swap its `pyric/firestore` import for this module (via an import-map) and have
|
|
5
|
+
* every operation route to the single worker-hosted sandbox instead of an
|
|
6
|
+
* in-page one — same function names, same argument shapes, same return types.
|
|
7
|
+
*
|
|
8
|
+
* This module is a re-export barrel over the per-family modules under `client/`:
|
|
9
|
+
* - `core` transport singleton (RPC correlation, subscriber maps,
|
|
10
|
+
* port wiring, the Studio auth-lens + op-issuer stamp)
|
|
11
|
+
* - `handles` opaque port-carrying handle types + `Unsubscribe`
|
|
12
|
+
* - `snapshots` firestore snapshot rehydration + snapshot types
|
|
13
|
+
* - `connection` connect, worker version/instance, state/branches, relay
|
|
14
|
+
* - `firestore-refs` ref / query / sentinel descriptor factories (no RPC)
|
|
15
|
+
* - `firestore-reads` read + aggregate execution + `onSnapshot`
|
|
16
|
+
* - `firestore-writes` writes + `writeBatch` + `runTransaction`
|
|
17
|
+
* - `rules` Firestore/RTDB rules deploy + status
|
|
18
|
+
* - `admin-firestore` admin-lens document ops
|
|
19
|
+
* - `rtdb` RTDB modular subset
|
|
20
|
+
* - `studio` event stream, confirm-policy, sandbox snapshot
|
|
21
|
+
* - `auth` per-port auth surface
|
|
22
|
+
* - `storage` worker-backed storage mirror
|
|
23
|
+
* - `messaging` token lifecycle + foreground/background subscriptions
|
|
24
|
+
*
|
|
25
|
+
* The barrel is part of the worker's PUBLIC shape: `serve/worker/index.ts`
|
|
26
|
+
* re-exports from here for the `@pyric/cli/serve/worker` package subpath.
|
|
27
|
+
*/
|
|
28
|
+
// Shared core: lens/issuer controls + the handle and snapshot types.
|
|
29
|
+
export { setLens, getLens, setOpIssuer } from './client/core.js';
|
|
30
|
+
// API families. Each module exports only its public surface; internal helpers
|
|
31
|
+
// stay unexported, so `export *` re-exports exactly the published symbols.
|
|
32
|
+
export * from './client/connection.js';
|
|
33
|
+
export * from './client/firestore-refs.js';
|
|
34
|
+
export * from './client/firestore-reads.js';
|
|
35
|
+
export * from './client/firestore-writes.js';
|
|
36
|
+
export * from './client/rules.js';
|
|
37
|
+
export * from './client/admin-firestore.js';
|
|
38
|
+
export * from './client/rtdb.js';
|
|
39
|
+
export * from './client/studio.js';
|
|
40
|
+
export * from './client/presence.js';
|
|
41
|
+
export * from './client/auth.js';
|
|
42
|
+
export * from './client/storage.js';
|
|
43
|
+
export * from './client/ai.js';
|
|
44
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/serve/worker/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,qEAAqE;AACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAcjE,8EAA8E;AAC9E,2EAA2E;AAC3E,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SharedWorker entry point — the actual SharedWorker script.
|
|
3
|
+
*
|
|
4
|
+
* WHY A SEPARATE ENTRY
|
|
5
|
+
* --------------------
|
|
6
|
+
* `host.ts` is pure-ish: it accepts an injected `{ db, sandbox }` and
|
|
7
|
+
* fake ports, so tests can drive it without a real SharedWorker runtime.
|
|
8
|
+
* This file is the integration shell: it creates the ONE real sandbox,
|
|
9
|
+
* attaches IDB persistence, deploys permissive starter rules, and wires
|
|
10
|
+
* every connecting port to `handleMessage`.
|
|
11
|
+
*
|
|
12
|
+
* Do NOT import this file in tests — import `host.ts` directly.
|
|
13
|
+
*
|
|
14
|
+
* LIFECYCLE
|
|
15
|
+
* ---------
|
|
16
|
+
* The SharedWorker lives while at least one tab holds a port. When all
|
|
17
|
+
* tabs close or navigate away, the worker is GC'd. IDB persistence means
|
|
18
|
+
* data survives full close → reopen cycles: on the next connect the sandbox
|
|
19
|
+
* restores from IDB, and the tab reconnects to a warm state.
|
|
20
|
+
*
|
|
21
|
+
* PERSISTENCE KEY
|
|
22
|
+
* ---------------
|
|
23
|
+
* Using `'pyric-shared-worker'` as the IDB persistence key. This is a
|
|
24
|
+
* package-level default; serve integration (Phase 3) may want to scope
|
|
25
|
+
* it per-project or per-port. Phase 1 keeps it simple.
|
|
26
|
+
*
|
|
27
|
+
* RULES
|
|
28
|
+
* -----
|
|
29
|
+
* We deploy a permissive starter ruleset on first init. Callers change
|
|
30
|
+
* rules at runtime via `{ t:'op', method:'setRules', source }` messages.
|
|
31
|
+
*
|
|
32
|
+
* SINGLE SANDBOX GUARANTEE
|
|
33
|
+
* ------------------------
|
|
34
|
+
* `_ctx` is module-level. The first `connect` event lazily creates it;
|
|
35
|
+
* all subsequent ports reuse the same ctx — one sandbox, one Firestore
|
|
36
|
+
* backend for all tabs. This is the architectural invariant the whole
|
|
37
|
+
* SharedWorker approach depends on.
|
|
38
|
+
*/
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/serve/worker/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG"}
|