@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,118 @@
|
|
|
1
|
+
export class ServeAuthHelper {
|
|
2
|
+
directory;
|
|
3
|
+
pending = null;
|
|
4
|
+
listeners = new Set();
|
|
5
|
+
cached = null;
|
|
6
|
+
identities = [];
|
|
7
|
+
constructor(directory) {
|
|
8
|
+
this.directory = directory;
|
|
9
|
+
this.refreshIdentities();
|
|
10
|
+
}
|
|
11
|
+
resolver() {
|
|
12
|
+
const open = (req) => new Promise((resolve, reject) => {
|
|
13
|
+
if (this.pending)
|
|
14
|
+
this.cancel();
|
|
15
|
+
this.pending = { req, resolve, reject };
|
|
16
|
+
this.emit();
|
|
17
|
+
this.refreshIdentities();
|
|
18
|
+
});
|
|
19
|
+
return { openPopup: open, openRedirect: open };
|
|
20
|
+
}
|
|
21
|
+
subscribe(fn) {
|
|
22
|
+
this.listeners.add(fn);
|
|
23
|
+
return () => this.listeners.delete(fn);
|
|
24
|
+
}
|
|
25
|
+
snapshot() {
|
|
26
|
+
this.cached ??= {
|
|
27
|
+
request: this.pending?.req ?? null,
|
|
28
|
+
identities: this.identities,
|
|
29
|
+
};
|
|
30
|
+
return this.cached;
|
|
31
|
+
}
|
|
32
|
+
emit() {
|
|
33
|
+
this.cached = null;
|
|
34
|
+
for (const listener of this.listeners)
|
|
35
|
+
listener();
|
|
36
|
+
}
|
|
37
|
+
refreshIdentities() {
|
|
38
|
+
try {
|
|
39
|
+
const listed = this.directory.list();
|
|
40
|
+
if (listed instanceof Promise) {
|
|
41
|
+
void listed.then((identities) => {
|
|
42
|
+
this.identities = identities;
|
|
43
|
+
this.emit();
|
|
44
|
+
}, (error) => {
|
|
45
|
+
const pending = this.take();
|
|
46
|
+
pending?.reject(error);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.identities = listed;
|
|
51
|
+
this.emit();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
const pending = this.take();
|
|
56
|
+
pending?.reject(error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
pick(uid) {
|
|
60
|
+
const pending = this.take();
|
|
61
|
+
if (!pending)
|
|
62
|
+
return;
|
|
63
|
+
const identity = this.identities.find((candidate) => candidate.uid === uid);
|
|
64
|
+
if (!identity) {
|
|
65
|
+
pending.reject(authError('auth/internal-error', `unknown identity ${uid}`));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
pending.resolve(this.credential(identity, pending.req.providerId));
|
|
69
|
+
}
|
|
70
|
+
add(spec) {
|
|
71
|
+
const pending = this.take();
|
|
72
|
+
if (!pending)
|
|
73
|
+
return;
|
|
74
|
+
const identity = {
|
|
75
|
+
uid: `${pending.req.providerId}:${spec.email}`,
|
|
76
|
+
email: spec.email,
|
|
77
|
+
displayName: spec.displayName ?? null,
|
|
78
|
+
customClaims: spec.customClaims ?? {},
|
|
79
|
+
};
|
|
80
|
+
void Promise.resolve(this.directory.add?.(identity)).then(() => pending.resolve(this.credential(identity, pending.req.providerId)), pending.reject);
|
|
81
|
+
}
|
|
82
|
+
cancel() {
|
|
83
|
+
const pending = this.take();
|
|
84
|
+
if (!pending)
|
|
85
|
+
return;
|
|
86
|
+
pending.reject(authError('auth/popup-closed-by-user', 'The popup has been closed by the user before finalizing the operation.'));
|
|
87
|
+
}
|
|
88
|
+
take() {
|
|
89
|
+
const pending = this.pending;
|
|
90
|
+
this.pending = null;
|
|
91
|
+
this.emit();
|
|
92
|
+
return pending;
|
|
93
|
+
}
|
|
94
|
+
credential(identity, providerId) {
|
|
95
|
+
const user = {
|
|
96
|
+
uid: identity.uid,
|
|
97
|
+
email: identity.email,
|
|
98
|
+
displayName: identity.displayName,
|
|
99
|
+
isAnonymous: false,
|
|
100
|
+
getIdToken: async () => `pyric-serve-${identity.uid}`,
|
|
101
|
+
getIdTokenResult: async () => ({
|
|
102
|
+
token: `pyric-serve-${identity.uid}`,
|
|
103
|
+
claims: { sub: identity.uid, ...identity.customClaims },
|
|
104
|
+
expirationTime: new Date(Date.now() + 3600_000).toISOString(),
|
|
105
|
+
issuedAtTime: new Date().toISOString(),
|
|
106
|
+
authTime: new Date().toISOString(),
|
|
107
|
+
}),
|
|
108
|
+
};
|
|
109
|
+
return { user, providerId, operationType: 'signIn' };
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function authError(code, message) {
|
|
113
|
+
const error = new Error(message);
|
|
114
|
+
error.name = 'FirebaseError';
|
|
115
|
+
error.code = code;
|
|
116
|
+
return error;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=auth-helper-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-helper-core.js","sourceRoot":"","sources":["../../../src/serve/entries/auth-helper-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `<dialog>` shell over {@link ServeAuthHelper} — pyric dev's analog
|
|
3
|
+
* of the Auth emulator's sign-in widget. Pure-DOM (no framework): renders an
|
|
4
|
+
* account picker + an add-account form (email, display name, custom-claims
|
|
5
|
+
* JSON — emulator parity, `customAttributes`), opens when a popup/redirect
|
|
6
|
+
* request parks in the helper, closes on settle. Backdrop/Escape cancel →
|
|
7
|
+
* `auth/popup-closed-by-user` via the core.
|
|
8
|
+
*
|
|
9
|
+
* Verified through the scripted browser gate (the bun suite covers the core;
|
|
10
|
+
* this file is intentionally view-only).
|
|
11
|
+
*/
|
|
12
|
+
import type { ServeAuthHelper } from './auth-helper-core.js';
|
|
13
|
+
export declare function mountAuthHelperDialog(helper: ServeAuthHelper): void;
|
|
14
|
+
//# sourceMappingURL=auth-helper-dom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-helper-dom.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/auth-helper-dom.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA8B7D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CA4FnE"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
const PROVIDER_LABEL = {
|
|
2
|
+
'google.com': 'Google',
|
|
3
|
+
'facebook.com': 'Facebook',
|
|
4
|
+
'github.com': 'GitHub',
|
|
5
|
+
'apple.com': 'Apple',
|
|
6
|
+
};
|
|
7
|
+
const STYLE = `
|
|
8
|
+
dialog[data-pyric-auth] { border: 1px solid #2a2a35; border-radius: 12px; background: #16161d;
|
|
9
|
+
color: #e8e8ee; font: 14px/1.45 system-ui, sans-serif; padding: 20px; width: min(420px, 92vw); }
|
|
10
|
+
dialog[data-pyric-auth]::backdrop { background: rgb(0 0 0 / 0.6); }
|
|
11
|
+
dialog[data-pyric-auth] h2 { margin: 0 0 4px; font-size: 16px; }
|
|
12
|
+
dialog[data-pyric-auth] p { margin: 0 0 14px; font-size: 12px; color: #9a9aa8; }
|
|
13
|
+
dialog[data-pyric-auth] .ids { display: grid; gap: 8px; margin-bottom: 14px; }
|
|
14
|
+
dialog[data-pyric-auth] .ids button { display: flex; gap: 10px; align-items: center; text-align: left;
|
|
15
|
+
padding: 8px 10px; border: 1px solid #2a2a35; border-radius: 8px; background: none; color: inherit; cursor: pointer; }
|
|
16
|
+
dialog[data-pyric-auth] .ids button:hover { border-color: #4a4a5a; background: rgb(255 255 255 / 0.05); }
|
|
17
|
+
dialog[data-pyric-auth] form { display: grid; gap: 8px; border-top: 1px solid #2a2a35; padding-top: 14px; }
|
|
18
|
+
dialog[data-pyric-auth] input, dialog[data-pyric-auth] textarea { background: none; color: inherit;
|
|
19
|
+
border: 1px solid #2a2a35; border-radius: 8px; padding: 8px 10px; font: inherit; }
|
|
20
|
+
dialog[data-pyric-auth] textarea { font-family: ui-monospace, monospace; font-size: 12px; }
|
|
21
|
+
dialog[data-pyric-auth] .row { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }
|
|
22
|
+
dialog[data-pyric-auth] .row button { padding: 8px 14px; border-radius: 8px; border: none; cursor: pointer; font: inherit; }
|
|
23
|
+
dialog[data-pyric-auth] .cancel { background: none; color: #9a9aa8; }
|
|
24
|
+
dialog[data-pyric-auth] .submit { background: #5b5bd6; color: white; }
|
|
25
|
+
dialog[data-pyric-auth] .err { color: #ff6b6b; font-size: 12px; }
|
|
26
|
+
`;
|
|
27
|
+
export function mountAuthHelperDialog(helper) {
|
|
28
|
+
const style = document.createElement('style');
|
|
29
|
+
style.textContent = STYLE;
|
|
30
|
+
document.head.appendChild(style);
|
|
31
|
+
const dialog = document.createElement('dialog');
|
|
32
|
+
dialog.setAttribute('data-pyric-auth', '');
|
|
33
|
+
document.body.appendChild(dialog);
|
|
34
|
+
// <dialog> cancel (Escape) + backdrop click → cancel the flow.
|
|
35
|
+
dialog.addEventListener('cancel', () => helper.cancel());
|
|
36
|
+
dialog.addEventListener('click', (e) => {
|
|
37
|
+
if (e.target === dialog)
|
|
38
|
+
helper.cancel(); // backdrop only
|
|
39
|
+
});
|
|
40
|
+
const render = () => {
|
|
41
|
+
const snap = helper.snapshot();
|
|
42
|
+
if (!snap.request) {
|
|
43
|
+
if (dialog.open)
|
|
44
|
+
dialog.close();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const provider = PROVIDER_LABEL[snap.request.providerId] ?? snap.request.providerId;
|
|
48
|
+
dialog.replaceChildren();
|
|
49
|
+
const h2 = document.createElement('h2');
|
|
50
|
+
h2.textContent = `Sign in with ${provider}`;
|
|
51
|
+
const p = document.createElement('p');
|
|
52
|
+
p.textContent =
|
|
53
|
+
'pyric dev sign-in helper — pick a test account or add one. Custom claims let rules using request.auth.token.* run against this identity.';
|
|
54
|
+
dialog.append(h2, p);
|
|
55
|
+
if (snap.identities.length > 0) {
|
|
56
|
+
const ids = document.createElement('div');
|
|
57
|
+
ids.className = 'ids';
|
|
58
|
+
for (const id of snap.identities) {
|
|
59
|
+
const btn = document.createElement('button');
|
|
60
|
+
btn.type = 'button';
|
|
61
|
+
const label = id.displayName || id.email || id.uid;
|
|
62
|
+
btn.textContent = id.email && id.displayName ? `${label} — ${id.email}` : label;
|
|
63
|
+
btn.addEventListener('click', () => helper.pick(id.uid));
|
|
64
|
+
ids.appendChild(btn);
|
|
65
|
+
}
|
|
66
|
+
dialog.appendChild(ids);
|
|
67
|
+
}
|
|
68
|
+
const form = document.createElement('form');
|
|
69
|
+
form.method = 'dialog';
|
|
70
|
+
const email = document.createElement('input');
|
|
71
|
+
email.type = 'email';
|
|
72
|
+
email.placeholder = 'email@example.com';
|
|
73
|
+
email.required = true;
|
|
74
|
+
const name = document.createElement('input');
|
|
75
|
+
name.type = 'text';
|
|
76
|
+
name.placeholder = 'Display name (optional)';
|
|
77
|
+
const claims = document.createElement('textarea');
|
|
78
|
+
claims.rows = 3;
|
|
79
|
+
claims.placeholder = 'Custom claims JSON (optional)\ne.g. { "admin": true }';
|
|
80
|
+
const err = document.createElement('div');
|
|
81
|
+
err.className = 'err';
|
|
82
|
+
const row = document.createElement('div');
|
|
83
|
+
row.className = 'row';
|
|
84
|
+
const cancel = document.createElement('button');
|
|
85
|
+
cancel.type = 'button';
|
|
86
|
+
cancel.className = 'cancel';
|
|
87
|
+
cancel.textContent = 'Cancel';
|
|
88
|
+
cancel.addEventListener('click', () => helper.cancel());
|
|
89
|
+
const submit = document.createElement('button');
|
|
90
|
+
submit.type = 'submit';
|
|
91
|
+
submit.className = 'submit';
|
|
92
|
+
submit.textContent = 'Sign in';
|
|
93
|
+
row.append(cancel, submit);
|
|
94
|
+
form.append(email, name, claims, err, row);
|
|
95
|
+
form.addEventListener('submit', (e) => {
|
|
96
|
+
e.preventDefault();
|
|
97
|
+
let parsed;
|
|
98
|
+
if (claims.value.trim()) {
|
|
99
|
+
try {
|
|
100
|
+
parsed = JSON.parse(claims.value);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
err.textContent = 'Custom claims must be valid JSON.';
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
helper.add({ email: email.value.trim(), displayName: name.value.trim() || undefined, customClaims: parsed });
|
|
108
|
+
});
|
|
109
|
+
dialog.appendChild(form);
|
|
110
|
+
if (!dialog.open)
|
|
111
|
+
dialog.showModal();
|
|
112
|
+
};
|
|
113
|
+
helper.subscribe(render);
|
|
114
|
+
render();
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=auth-helper-dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-helper-dom.js","sourceRoot":"","sources":["../../../src/serve/entries/auth-helper-dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Shared resolver slot connecting the injected init entry to firebase/auth. */
|
|
2
|
+
import type { AuthFlowRequest, AuthFlowResolver, UserCredential } from 'pyric/auth';
|
|
3
|
+
export declare function installServeAuthResolver(next: AuthFlowResolver): void;
|
|
4
|
+
export declare function resolveServeAuthFlow(request: AuthFlowRequest, kind: 'popup' | 'redirect'): Promise<UserCredential>;
|
|
5
|
+
//# sourceMappingURL=auth-helper-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-helper-runtime.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/auth-helper-runtime.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIpF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAErE;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,OAAO,GAAG,UAAU,GACzB,OAAO,CAAC,cAAc,CAAC,CAOzB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
let resolver = null;
|
|
2
|
+
export function installServeAuthResolver(next) {
|
|
3
|
+
resolver = next;
|
|
4
|
+
}
|
|
5
|
+
export function resolveServeAuthFlow(request, kind) {
|
|
6
|
+
if (!resolver) {
|
|
7
|
+
return Promise.reject(new Error('pyric dev provider helper is not initialized; load /__pyric/sdk/init.js first'));
|
|
8
|
+
}
|
|
9
|
+
return kind === 'popup' ? resolver.openPopup(request) : resolver.openRedirect(request);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=auth-helper-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-helper-runtime.js","sourceRoot":"","sources":["../../../src/serve/entries/auth-helper-runtime.ts"],"names":[],"mappings":"AAGA,IAAI,QAAQ,GAA4B,IAAI,CAAC;AAE7C,MAAM,UAAU,wBAAwB,CAAC,IAAsB;IAC7D,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAwB,EACxB,IAA0B;IAE1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACzF,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bundle the import map serves for `firebase/auth`.
|
|
3
|
+
*
|
|
4
|
+
* DUAL-PATH (Phase 3c): when a SharedWorker is available, auth routes to the
|
|
5
|
+
* ONE worker-hosted sandbox — shared user pool + data, PER-TAB sessions
|
|
6
|
+
* (#754: each tab signs in as its own user). Otherwise it runs against the
|
|
7
|
+
* in-page sandbox — the unchanged fallback. Branch picked ONCE at load
|
|
8
|
+
* (`useWorker`).
|
|
9
|
+
*
|
|
10
|
+
* PROVIDER SIGN-IN: the picker UI lives in-page, but its controller is
|
|
11
|
+
* backend-free. In worker mode it lists identities from the worker and returns
|
|
12
|
+
* a plain credential to `auth.acceptIdentity`; no page-local Auth handle signs
|
|
13
|
+
* in or seeds a user. Email/password + anonymous also go straight to the
|
|
14
|
+
* worker. The COMPLETE surface is exported on both paths (import-time parity).
|
|
15
|
+
*/
|
|
16
|
+
import * as ipAuth from 'pyric/auth';
|
|
17
|
+
import { getAuth as pyricGetAuth, setPersistence as pyricSetPersistence } from 'pyric/auth';
|
|
18
|
+
export declare const onAuthStateChanged: typeof ipAuth.onAuthStateChanged;
|
|
19
|
+
export declare const onIdTokenChanged: typeof ipAuth.onIdTokenChanged;
|
|
20
|
+
/**
|
|
21
|
+
* Worker mode: the gate can't run before a worker-committed transition
|
|
22
|
+
* (see `worker/client.ts`'s `beforeAuthStateChanged` doc) — registering
|
|
23
|
+
* throws immediately rather than silently accepting a no-op callback.
|
|
24
|
+
* In-page mode: full block-and-abort semantics via `pyric/auth`.
|
|
25
|
+
*/
|
|
26
|
+
export declare const beforeAuthStateChanged: typeof ipAuth.beforeAuthStateChanged;
|
|
27
|
+
export declare const signInAnonymously: typeof ipAuth.signInAnonymously;
|
|
28
|
+
export declare const signInWithEmailAndPassword: typeof ipAuth.signInWithEmailAndPassword;
|
|
29
|
+
export declare const createUserWithEmailAndPassword: typeof ipAuth.createUserWithEmailAndPassword;
|
|
30
|
+
export declare const signOut: typeof ipAuth.signOut;
|
|
31
|
+
export declare const connectAuthEmulator: typeof ipAuth.connectAuthEmulator;
|
|
32
|
+
/**
|
|
33
|
+
* `updateProfile(user, { displayName?, photoURL? })` — updates the signed-in
|
|
34
|
+
* user's profile on the picked path (worker or in-page). Both `wc` and `ipAuth`
|
|
35
|
+
* export a top-level `updateProfile`; cast to the canonical `pyric/auth` shape.
|
|
36
|
+
* (Fixes #746: the served `firebase/auth` entry didn't re-export this at all.)
|
|
37
|
+
*/
|
|
38
|
+
export declare const updateProfile: typeof ipAuth.updateProfile;
|
|
39
|
+
export declare const GoogleAuthProvider: typeof ipAuth.GoogleAuthProvider;
|
|
40
|
+
export declare const EmailAuthProvider: typeof ipAuth.EmailAuthProvider;
|
|
41
|
+
export declare const FacebookAuthProvider: typeof ipAuth.FacebookAuthProvider;
|
|
42
|
+
export declare const GithubAuthProvider: typeof ipAuth.GithubAuthProvider;
|
|
43
|
+
export declare const OAuthProvider: typeof ipAuth.OAuthProvider;
|
|
44
|
+
export declare const browserLocalPersistence: ipAuth.Persistence;
|
|
45
|
+
export declare const browserSessionPersistence: ipAuth.Persistence;
|
|
46
|
+
export declare const inMemoryPersistence: ipAuth.Persistence;
|
|
47
|
+
export declare const getAuth: typeof pyricGetAuth;
|
|
48
|
+
/** `setPersistence`: selects which web storage holds THIS TAB's session (and
|
|
49
|
+
* migrates the current one). On the worker path the record is still client-
|
|
50
|
+
* side (#754 — per-port sessions restore via `auth.restorePortSession`); the
|
|
51
|
+
* RPC just keeps the worker's surface-parity mode in sync. */
|
|
52
|
+
export declare const setPersistence: typeof pyricSetPersistence;
|
|
53
|
+
export declare const signInWithPopup: typeof ipAuth.signInWithPopup;
|
|
54
|
+
/**
|
|
55
|
+
* `signInWithRedirect` over the worker resolves like popup — the pyric
|
|
56
|
+
* emulator helper does not actually navigate, so the identity is picked + the
|
|
57
|
+
* worker signs in immediately. The result is delivered through the sign-in +
|
|
58
|
+
* `onAuthStateChanged`; `getRedirectResult` returns null on the worker path
|
|
59
|
+
* (there is no deferred post-navigation result to replay). v1 behavior.
|
|
60
|
+
*/
|
|
61
|
+
export declare const signInWithRedirect: typeof ipAuth.signInWithRedirect;
|
|
62
|
+
export declare const getRedirectResult: typeof ipAuth.getRedirectResult;
|
|
63
|
+
/** Direct credential sign-in: unsupported over the worker in v1 (the
|
|
64
|
+
* worker-client rejects with a clear error); in-page passes through. */
|
|
65
|
+
export declare const signInWithCredential: typeof ipAuth.signInWithCredential;
|
|
66
|
+
/** `initializeAuth(app, deps?)` — aliases the picked `getAuth` (worker- or
|
|
67
|
+
* in-page-backed). Path-independent: `deps` is accepted for parity, ignored. */
|
|
68
|
+
export declare const initializeAuth: typeof ipAuth.initializeAuth;
|
|
69
|
+
/** `useDeviceLanguage(auth)` — accepted no-op (no device locale in the served
|
|
70
|
+
* sandbox). Path-independent. */
|
|
71
|
+
export declare const useDeviceLanguage: typeof ipAuth.useDeviceLanguage;
|
|
72
|
+
export declare const deleteUser: typeof ipAuth.deleteUser;
|
|
73
|
+
export declare const updateEmail: typeof ipAuth.updateEmail;
|
|
74
|
+
export declare const updatePassword: typeof ipAuth.updatePassword;
|
|
75
|
+
export declare const reload: typeof ipAuth.reload;
|
|
76
|
+
export declare const updateCurrentUser: typeof ipAuth.updateCurrentUser;
|
|
77
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,MAAM,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAgB5F,eAAO,MAAM,kBAAkB,kCAAuB,CAAC;AACvD,eAAO,MAAM,gBAAgB,gCAAqB,CAAC;AACnD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,sCAA2B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,iCAAsB,CAAC;AACrD,eAAO,MAAM,0BAA0B,0CAA+B,CAAC;AACvE,eAAO,MAAM,8BAA8B,8CAAmC,CAAC;AAC/E,eAAO,MAAM,OAAO,uBAAY,CAAC;AACjC,eAAO,MAAM,mBAAmB,mCAAwB,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAA4D,OAAO,MAAM,CAAC,aAAa,CAAC;AAGlH,eAAO,MAAM,kBAAkB,kCAA4B,CAAC;AAC5D,eAAO,MAAM,iBAAiB,iCAA2B,CAAC;AAC1D,eAAO,MAAM,oBAAoB,oCAA8B,CAAC;AAChE,eAAO,MAAM,kBAAkB,kCAA4B,CAAC;AAC5D,eAAO,MAAM,aAAa,6BAAuB,CAAC;AAClD,eAAO,MAAM,uBAAuB,oBAAiC,CAAC;AACtE,eAAO,MAAM,yBAAyB,oBAAmC,CAAC;AAC1E,eAAO,MAAM,mBAAmB,oBAA6B,CAAC;AAiC9D,eAAO,MAAM,OAAO,EAgBd,OAAO,YAAY,CAAC;AAiB1B;;;+DAG+D;AAC/D,eAAO,MAAM,cAAc,EAgBtB,OAAO,mBAAmB,CAAC;AAoChC,eAAO,MAAM,eAAe,EAKvB,OAAO,MAAM,CAAC,eAAe,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAK1B,OAAO,MAAM,CAAC,kBAAkB,CAAC;AAEtC,eAAO,MAAM,iBAAiB,EAIzB,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAErC;yEACyE;AACzE,eAAO,MAAM,oBAAoB,EAE5B,OAAO,MAAM,CAAC,oBAAoB,CAAC;AAWxC;iFACiF;AACjF,eAAO,MAAM,cAAc,EACC,OAAO,MAAM,CAAC,cAAc,CAAC;AAEzD;kCACkC;AAClC,eAAO,MAAM,iBAAiB,EAAgC,OAAO,MAAM,CAAC,iBAAiB,CAAC;AAM9F,eAAO,MAAM,UAAU,EAElB,OAAO,MAAM,CAAC,UAAU,CAAC;AAC9B,eAAO,MAAM,WAAW,EAEnB,OAAO,MAAM,CAAC,WAAW,CAAC;AAC/B,eAAO,MAAM,cAAc,EAEtB,OAAO,MAAM,CAAC,cAAc,CAAC;AAClC,eAAO,MAAM,MAAM,EAEd,OAAO,MAAM,CAAC,MAAM,CAAC;AAC1B,eAAO,MAAM,iBAAiB,EAEzB,OAAO,MAAM,CAAC,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bundle the import map serves for `firebase/auth`.
|
|
3
|
+
*
|
|
4
|
+
* DUAL-PATH (Phase 3c): when a SharedWorker is available, auth routes to the
|
|
5
|
+
* ONE worker-hosted sandbox — shared user pool + data, PER-TAB sessions
|
|
6
|
+
* (#754: each tab signs in as its own user). Otherwise it runs against the
|
|
7
|
+
* in-page sandbox — the unchanged fallback. Branch picked ONCE at load
|
|
8
|
+
* (`useWorker`).
|
|
9
|
+
*
|
|
10
|
+
* PROVIDER SIGN-IN: the picker UI lives in-page, but its controller is
|
|
11
|
+
* backend-free. In worker mode it lists identities from the worker and returns
|
|
12
|
+
* a plain credential to `auth.acceptIdentity`; no page-local Auth handle signs
|
|
13
|
+
* in or seeds a user. Email/password + anonymous also go straight to the
|
|
14
|
+
* worker. The COMPLETE surface is exported on both paths (import-time parity).
|
|
15
|
+
*/
|
|
16
|
+
import * as ipAuth from 'pyric/auth';
|
|
17
|
+
import { getAuth as pyricGetAuth, setPersistence as pyricSetPersistence } from 'pyric/auth';
|
|
18
|
+
import * as wcRaw from '../worker/client.js';
|
|
19
|
+
import { acceptProviderCredential, restorePortSession } from '../worker/client.js';
|
|
20
|
+
import { useWorker } from './worker-runtime.js';
|
|
21
|
+
import { sessionStoreForApp } from './app-session-store.js';
|
|
22
|
+
import { resolveServeAuthFlow } from './auth-helper-runtime.js';
|
|
23
|
+
import { getApp } from 'pyric/app';
|
|
24
|
+
import { workerClientForApp } from './app-client.js';
|
|
25
|
+
// Worker-client auth, cast to the canonical pyric/auth surface for the picked
|
|
26
|
+
// bindings (same names + shapes). Provider-bridge specifics are explicit below.
|
|
27
|
+
const wc = wcRaw;
|
|
28
|
+
/** Observers + email/anon sign-in: worker-client or in-page. */
|
|
29
|
+
const A = useWorker ? wc : ipAuth;
|
|
30
|
+
export const onAuthStateChanged = A.onAuthStateChanged;
|
|
31
|
+
export const onIdTokenChanged = A.onIdTokenChanged;
|
|
32
|
+
/**
|
|
33
|
+
* Worker mode: the gate can't run before a worker-committed transition
|
|
34
|
+
* (see `worker/client.ts`'s `beforeAuthStateChanged` doc) — registering
|
|
35
|
+
* throws immediately rather than silently accepting a no-op callback.
|
|
36
|
+
* In-page mode: full block-and-abort semantics via `pyric/auth`.
|
|
37
|
+
*/
|
|
38
|
+
export const beforeAuthStateChanged = A.beforeAuthStateChanged;
|
|
39
|
+
export const signInAnonymously = A.signInAnonymously;
|
|
40
|
+
export const signInWithEmailAndPassword = A.signInWithEmailAndPassword;
|
|
41
|
+
export const createUserWithEmailAndPassword = A.createUserWithEmailAndPassword;
|
|
42
|
+
export const signOut = A.signOut;
|
|
43
|
+
export const connectAuthEmulator = A.connectAuthEmulator;
|
|
44
|
+
/**
|
|
45
|
+
* `updateProfile(user, { displayName?, photoURL? })` — updates the signed-in
|
|
46
|
+
* user's profile on the picked path (worker or in-page). Both `wc` and `ipAuth`
|
|
47
|
+
* export a top-level `updateProfile`; cast to the canonical `pyric/auth` shape.
|
|
48
|
+
* (Fixes #746: the served `firebase/auth` entry didn't re-export this at all.)
|
|
49
|
+
*/
|
|
50
|
+
export const updateProfile = (useWorker ? wc.updateProfile : ipAuth.updateProfile);
|
|
51
|
+
// ── Provider value classes + persistence markers — path-independent ───────
|
|
52
|
+
export const GoogleAuthProvider = ipAuth.GoogleAuthProvider;
|
|
53
|
+
export const EmailAuthProvider = ipAuth.EmailAuthProvider;
|
|
54
|
+
export const FacebookAuthProvider = ipAuth.FacebookAuthProvider;
|
|
55
|
+
export const GithubAuthProvider = ipAuth.GithubAuthProvider;
|
|
56
|
+
export const OAuthProvider = ipAuth.OAuthProvider;
|
|
57
|
+
export const browserLocalPersistence = ipAuth.browserLocalPersistence;
|
|
58
|
+
export const browserSessionPersistence = ipAuth.browserSessionPersistence;
|
|
59
|
+
export const inMemoryPersistence = ipAuth.inMemoryPersistence;
|
|
60
|
+
// ── getAuth — worker-backed auth (reusing the shared worker port) or in-page.
|
|
61
|
+
const workerAuthByApp = new WeakMap();
|
|
62
|
+
const persistenceWired = new WeakSet();
|
|
63
|
+
function wireAppPersistence(app, auth) {
|
|
64
|
+
if (persistenceWired.has(app))
|
|
65
|
+
return;
|
|
66
|
+
persistenceWired.add(app);
|
|
67
|
+
const store = sessionStoreForApp(app);
|
|
68
|
+
const stored = store.load();
|
|
69
|
+
if (useWorker && stored) {
|
|
70
|
+
// Posting restore before listener registration preserves FIFO ordering on
|
|
71
|
+
// this app's MessagePort, so the initial listener value is the restore.
|
|
72
|
+
void restorePortSession(auth, stored.uid).then((user) => {
|
|
73
|
+
if (!user)
|
|
74
|
+
store.clear();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
else if (!useWorker && stored) {
|
|
78
|
+
try {
|
|
79
|
+
ipAuth.sandbox.restoreSession(auth, stored.uid);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
store.clear();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
A.onAuthStateChanged(auth, (user) => {
|
|
86
|
+
if (user)
|
|
87
|
+
store.save(user.uid);
|
|
88
|
+
else
|
|
89
|
+
store.clear();
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
export const getAuth = ((app) => {
|
|
93
|
+
const resolved = app ?? getApp();
|
|
94
|
+
if (!useWorker) {
|
|
95
|
+
const handle = pyricGetAuth(resolved);
|
|
96
|
+
wireAppPersistence(resolved, handle);
|
|
97
|
+
return handle;
|
|
98
|
+
}
|
|
99
|
+
const existing = workerAuthByApp.get(resolved);
|
|
100
|
+
if (existing)
|
|
101
|
+
return existing;
|
|
102
|
+
const client = workerClientForApp(resolved);
|
|
103
|
+
const handle = Object.assign(wc.getAuth(client), {
|
|
104
|
+
app: resolved,
|
|
105
|
+
});
|
|
106
|
+
workerAuthByApp.set(resolved, handle);
|
|
107
|
+
wireAppPersistence(resolved, handle);
|
|
108
|
+
return handle;
|
|
109
|
+
});
|
|
110
|
+
/**
|
|
111
|
+
* Narrow a `Persistence.type` to the three web-storage slots the session store
|
|
112
|
+
* actually has.
|
|
113
|
+
*
|
|
114
|
+
* `'COOKIE'` (upstream's `browserCookiePersistence`, for SSR) is the fourth
|
|
115
|
+
* member of the union and has no slot of its own here. It maps to `'LOCAL'`:
|
|
116
|
+
* both are long-lived session storage, and the distinction is invisible to
|
|
117
|
+
* consumer code once the session is restored either way. The alternative —
|
|
118
|
+
* widening SessionMode — would add a storage backend the serve layer does not
|
|
119
|
+
* have.
|
|
120
|
+
*/
|
|
121
|
+
function toSessionMode(type) {
|
|
122
|
+
return type === 'COOKIE' ? 'LOCAL' : type;
|
|
123
|
+
}
|
|
124
|
+
/** `setPersistence`: selects which web storage holds THIS TAB's session (and
|
|
125
|
+
* migrates the current one). On the worker path the record is still client-
|
|
126
|
+
* side (#754 — per-port sessions restore via `auth.restorePortSession`); the
|
|
127
|
+
* RPC just keeps the worker's surface-parity mode in sync. */
|
|
128
|
+
export const setPersistence = (useWorker
|
|
129
|
+
? (async (auth, persistence) => {
|
|
130
|
+
sessionStoreForApp(auth.app ?? getApp()).setMode(toSessionMode(persistence.type));
|
|
131
|
+
return wc.setPersistence(auth, persistence);
|
|
132
|
+
})
|
|
133
|
+
: async (auth, persistence) => {
|
|
134
|
+
sessionStoreForApp(auth.app ?? getApp()).setMode(toSessionMode(persistence.type));
|
|
135
|
+
return pyricSetPersistence(auth, persistence);
|
|
136
|
+
});
|
|
137
|
+
// ── Provider sign-in (popup/redirect) — the in-page→worker bridge ─────────
|
|
138
|
+
/**
|
|
139
|
+
* Resolve a provider identity through the backend-free ServeAuthHelper, then
|
|
140
|
+
* hand it to the worker. The
|
|
141
|
+
* helper seeds `{ sub, ...claims }` into the resolved credential's token, so we
|
|
142
|
+
* strip `sub` to recover the original custom claims for the worker seed.
|
|
143
|
+
*
|
|
144
|
+
* Enforcement lives at the hand-off: `auth.acceptIdentity` gates against the
|
|
145
|
+
* WORKER's provider config and rejects `auth/operation-not-allowed` for a
|
|
146
|
+
* disabled provider (matching prod, where the popup opens and the error
|
|
147
|
+
* surfaces after the interaction).
|
|
148
|
+
*/
|
|
149
|
+
async function bridgeProviderSignIn(auth, provider, kind) {
|
|
150
|
+
const providerId = provider.providerId ?? 'oidc';
|
|
151
|
+
const cred = await resolveServeAuthFlow({ providerId, authType: 'signIn' }, kind);
|
|
152
|
+
const tokenResult = await cred.user.getIdTokenResult();
|
|
153
|
+
const { sub: _sub, ...customClaims } = (tokenResult.claims ?? {});
|
|
154
|
+
return acceptProviderCredential(auth, {
|
|
155
|
+
uid: cred.user.uid,
|
|
156
|
+
email: cred.user.email,
|
|
157
|
+
displayName: cred.user.displayName,
|
|
158
|
+
customClaims,
|
|
159
|
+
providerId,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
export const signInWithPopup = (useWorker
|
|
163
|
+
? (auth, provider) => bridgeProviderSignIn(auth, provider, 'popup')
|
|
164
|
+
: ipAuth.signInWithPopup);
|
|
165
|
+
/**
|
|
166
|
+
* `signInWithRedirect` over the worker resolves like popup — the pyric
|
|
167
|
+
* emulator helper does not actually navigate, so the identity is picked + the
|
|
168
|
+
* worker signs in immediately. The result is delivered through the sign-in +
|
|
169
|
+
* `onAuthStateChanged`; `getRedirectResult` returns null on the worker path
|
|
170
|
+
* (there is no deferred post-navigation result to replay). v1 behavior.
|
|
171
|
+
*/
|
|
172
|
+
export const signInWithRedirect = (useWorker
|
|
173
|
+
? (auth, provider) => bridgeProviderSignIn(auth, provider, 'redirect')
|
|
174
|
+
: ipAuth.signInWithRedirect);
|
|
175
|
+
export const getRedirectResult = (useWorker
|
|
176
|
+
? async (_auth) => null
|
|
177
|
+
: ipAuth.getRedirectResult);
|
|
178
|
+
/** Direct credential sign-in: unsupported over the worker in v1 (the
|
|
179
|
+
* worker-client rejects with a clear error); in-page passes through. */
|
|
180
|
+
export const signInWithCredential = (useWorker ? wc.signInWithCredential : ipAuth.signInWithCredential);
|
|
181
|
+
// ── Low-hanging-fruit exports (issue #149) ────────────────────────────────
|
|
182
|
+
function unsupportedWorkerAuthApi(name) {
|
|
183
|
+
throw new Error(`firebase/auth ${name}() is not supported over the pyric SharedWorker yet. ` +
|
|
184
|
+
'Use the in-page fallback for this operation.');
|
|
185
|
+
}
|
|
186
|
+
/** `initializeAuth(app, deps?)` — aliases the picked `getAuth` (worker- or
|
|
187
|
+
* in-page-backed). Path-independent: `deps` is accepted for parity, ignored. */
|
|
188
|
+
export const initializeAuth = ((app, _deps) => getAuth(app));
|
|
189
|
+
/** `useDeviceLanguage(auth)` — accepted no-op (no device locale in the served
|
|
190
|
+
* sandbox). Path-independent. */
|
|
191
|
+
export const useDeviceLanguage = ((_auth) => { });
|
|
192
|
+
// User-mutation ops act on a `User` object. In-page they route through the
|
|
193
|
+
// sandbox User's dispatch hook; over the SharedWorker the client has no
|
|
194
|
+
// client-facing binding for them yet, so worker mode throws the standard
|
|
195
|
+
// "use the in-page fallback" error (mirrors the RTDB entry's unsupported ops).
|
|
196
|
+
export const deleteUser = (useWorker ? (() => unsupportedWorkerAuthApi('deleteUser')) : ipAuth.deleteUser);
|
|
197
|
+
export const updateEmail = (useWorker ? (() => unsupportedWorkerAuthApi('updateEmail')) : ipAuth.updateEmail);
|
|
198
|
+
export const updatePassword = (useWorker ? (() => unsupportedWorkerAuthApi('updatePassword')) : ipAuth.updatePassword);
|
|
199
|
+
export const reload = (useWorker ? (() => unsupportedWorkerAuthApi('reload')) : ipAuth.reload);
|
|
200
|
+
export const updateCurrentUser = (useWorker ? (() => unsupportedWorkerAuthApi('updateCurrentUser')) : ipAuth.updateCurrentUser);
|
|
201
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/serve/entries/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-anchor a bridge WebSocket URL to the page's own origin.
|
|
3
|
+
*
|
|
4
|
+
* `pyric dev` / the vite plugin bake their OWN host into the bridge URL it
|
|
5
|
+
* sends the page (e.g. `ws://localhost:5173/__pyric/sandbox`). But the page may
|
|
6
|
+
* have been loaded over a different host (Tailscale, a LAN IP) or scheme
|
|
7
|
+
* (`https` via `tailscale serve`, which then requires `wss`). Connecting to the
|
|
8
|
+
* baked `localhost` from a remote tab dials the WRONG machine (the client's own
|
|
9
|
+
* localhost), so the WS fails.
|
|
10
|
+
*
|
|
11
|
+
* Keep only the PATH from the server's URL and rebuild the scheme + host from the
|
|
12
|
+
* page's `location`. The bridge is always mounted on the same server that served
|
|
13
|
+
* the page, so the page's origin is the correct target wherever it is reached,
|
|
14
|
+
* with no plugin configuration. This also sidesteps the localhost / 127.0.0.1 /
|
|
15
|
+
* ::1 family ambiguity, because the browser dials the exact host it loaded from.
|
|
16
|
+
*
|
|
17
|
+
* Pure (location is injected) so it is unit-testable. Returns `raw` unchanged if
|
|
18
|
+
* it cannot be parsed.
|
|
19
|
+
*/
|
|
20
|
+
export declare function toPageOriginWsUrl(raw: string, loc: {
|
|
21
|
+
href: string;
|
|
22
|
+
protocol: string;
|
|
23
|
+
host: string;
|
|
24
|
+
}): string;
|
|
25
|
+
//# sourceMappingURL=bridge-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-url.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/bridge-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD,MAAM,CAQR"}
|