@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,1300 @@
|
|
|
1
|
+
|
|
2
|
+
<!-- Generated from published package declarations via TypeDoc. Do not edit by hand; run bun run docs:api:generate. -->
|
|
3
|
+
|
|
4
|
+
## Classes
|
|
5
|
+
|
|
6
|
+
<a id="authflowcontroller"></a>
|
|
7
|
+
|
|
8
|
+
### AuthFlowController
|
|
9
|
+
|
|
10
|
+
#### Constructors
|
|
11
|
+
|
|
12
|
+
<a id="constructor"></a>
|
|
13
|
+
|
|
14
|
+
##### Constructor
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
new AuthFlowController(auth: Auth): AuthFlowController;
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
###### Parameters
|
|
21
|
+
|
|
22
|
+
| Parameter | Type |
|
|
23
|
+
| :------ | :------ |
|
|
24
|
+
| `auth` | `Auth` |
|
|
25
|
+
|
|
26
|
+
###### Returns
|
|
27
|
+
|
|
28
|
+
[`AuthFlowController`](#authflowcontroller)
|
|
29
|
+
|
|
30
|
+
#### Methods
|
|
31
|
+
|
|
32
|
+
<a id="add"></a>
|
|
33
|
+
|
|
34
|
+
##### add()
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
add(spec: NewIdentitySpec): void;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Add + sign in as a new identity. The backend creates the identity
|
|
41
|
+
(so claims resolve in rules and it shows up in the picker next time)
|
|
42
|
+
and mints the credential in one step.
|
|
43
|
+
|
|
44
|
+
Credential creation happens BEFORE take's emit: subscribers
|
|
45
|
+
recompute the snapshot synchronously on emit, so creating after would
|
|
46
|
+
publish a stale identity list (a `useSyncExternalStore` consumer
|
|
47
|
+
would miss the new account until the next unrelated emit).
|
|
48
|
+
|
|
49
|
+
###### Parameters
|
|
50
|
+
|
|
51
|
+
| Parameter | Type |
|
|
52
|
+
| :------ | :------ |
|
|
53
|
+
| `spec` | [`NewIdentitySpec`](#newidentityspec) |
|
|
54
|
+
|
|
55
|
+
###### Returns
|
|
56
|
+
|
|
57
|
+
`void`
|
|
58
|
+
|
|
59
|
+
<a id="cancel"></a>
|
|
60
|
+
|
|
61
|
+
##### cancel()
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
cancel(): void;
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Dismiss — rejects with the faithful `auth/popup-closed-by-user`.
|
|
68
|
+
|
|
69
|
+
###### Returns
|
|
70
|
+
|
|
71
|
+
`void`
|
|
72
|
+
|
|
73
|
+
<a id="install"></a>
|
|
74
|
+
|
|
75
|
+
##### install()
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
install(): void;
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Wire this controller's resolver into the auth handle. Paired with
|
|
82
|
+
[uninstall](#uninstall) for use in a React effect (install in the body,
|
|
83
|
+
uninstall in the cleanup) — StrictMode-safe.
|
|
84
|
+
|
|
85
|
+
###### Returns
|
|
86
|
+
|
|
87
|
+
`void`
|
|
88
|
+
|
|
89
|
+
<a id="pick"></a>
|
|
90
|
+
|
|
91
|
+
##### pick()
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
pick(uid: string): void;
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Pick an existing identity (by uid). The backend mints the credential
|
|
98
|
+
(and records the provider on the identity).
|
|
99
|
+
|
|
100
|
+
###### Parameters
|
|
101
|
+
|
|
102
|
+
| Parameter | Type |
|
|
103
|
+
| :------ | :------ |
|
|
104
|
+
| `uid` | `string` |
|
|
105
|
+
|
|
106
|
+
###### Returns
|
|
107
|
+
|
|
108
|
+
`void`
|
|
109
|
+
|
|
110
|
+
<a id="resolver"></a>
|
|
111
|
+
|
|
112
|
+
##### resolver()
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
resolver(): AuthFlowResolver;
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The resolver to hand to `sandbox.setAuthFlowResolver`. Popup and
|
|
119
|
+
redirect share one implementation (the sandbox has no navigation).
|
|
120
|
+
|
|
121
|
+
###### Returns
|
|
122
|
+
|
|
123
|
+
`AuthFlowResolver`
|
|
124
|
+
|
|
125
|
+
<a id="snapshot"></a>
|
|
126
|
+
|
|
127
|
+
##### snapshot()
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
snapshot(): HelperState;
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
###### Returns
|
|
134
|
+
|
|
135
|
+
[`HelperState`](#helperstate)
|
|
136
|
+
|
|
137
|
+
<a id="subscribe"></a>
|
|
138
|
+
|
|
139
|
+
##### subscribe()
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
subscribe(fn: () => void): () => void;
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
###### Parameters
|
|
146
|
+
|
|
147
|
+
| Parameter | Type |
|
|
148
|
+
| :------ | :------ |
|
|
149
|
+
| `fn` | () => `void` |
|
|
150
|
+
|
|
151
|
+
###### Returns
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
(): void;
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
###### Returns
|
|
158
|
+
|
|
159
|
+
`void`
|
|
160
|
+
|
|
161
|
+
<a id="uninstall"></a>
|
|
162
|
+
|
|
163
|
+
##### uninstall()
|
|
164
|
+
|
|
165
|
+
```ts
|
|
166
|
+
uninstall(): void;
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
###### Returns
|
|
170
|
+
|
|
171
|
+
`void`
|
|
172
|
+
|
|
173
|
+
## Interfaces
|
|
174
|
+
|
|
175
|
+
<a id="authproviderconfigentry"></a>
|
|
176
|
+
|
|
177
|
+
### AuthProviderConfigEntry
|
|
178
|
+
|
|
179
|
+
One provider's current enablement, as the hook exposes it.
|
|
180
|
+
|
|
181
|
+
#### Properties
|
|
182
|
+
|
|
183
|
+
| Property | Type |
|
|
184
|
+
| :------ | :------ |
|
|
185
|
+
| <a id="enabled"></a> `enabled` | `boolean` |
|
|
186
|
+
| <a id="providerid"></a> `providerId` | `string` |
|
|
187
|
+
|
|
188
|
+
***
|
|
189
|
+
|
|
190
|
+
<a id="authprovidertogglesprops"></a>
|
|
191
|
+
|
|
192
|
+
### AuthProviderTogglesProps
|
|
193
|
+
|
|
194
|
+
#### Properties
|
|
195
|
+
|
|
196
|
+
| Property | Type | Description |
|
|
197
|
+
| :------ | :------ | :------ |
|
|
198
|
+
| <a id="classname"></a> `className?` | `string` | - |
|
|
199
|
+
| <a id="config"></a> `config` | [`AuthProviderConfigEntry`](#authproviderconfigentry)[] | Current config — usually `useAuthProviderConfig(auth).config`. |
|
|
200
|
+
| <a id="error"></a> `error?` | `Error` | - |
|
|
201
|
+
| <a id="isloading"></a> `isLoading?` | `boolean` | - |
|
|
202
|
+
| <a id="knownproviderids"></a> `knownProviderIds?` | readonly `string`[] | Always-shown rows, in this order. Default: [DEFAULT\_KNOWN\_PROVIDER\_IDS](#default_known_provider_ids). |
|
|
203
|
+
| <a id="ontoggle"></a> `onToggle` | (`providerId`: `string`, `enabled`: `boolean`) => `void` | Fired when a toggle (known or custom) flips. |
|
|
204
|
+
|
|
205
|
+
***
|
|
206
|
+
|
|
207
|
+
<a id="authsigninhelperprops"></a>
|
|
208
|
+
|
|
209
|
+
### AuthSignInHelperProps
|
|
210
|
+
|
|
211
|
+
#### Properties
|
|
212
|
+
|
|
213
|
+
| Property | Type | Description |
|
|
214
|
+
| :------ | :------ | :------ |
|
|
215
|
+
| <a id="classname-1"></a> `className?` | `string` | - |
|
|
216
|
+
| <a id="description"></a> `description?` | `ReactNode` | Optional helper text rendered under the title (`[data-pyric-helper-description]`). Default: none. |
|
|
217
|
+
| <a id="initialvalues"></a> `initialValues?` | \{ `claims?`: `string`; `displayName?`: `string`; `email?`: `string`; \} | Prefill for the add-account form (e.g. a host-suggested email). Read once on mount; `claims` is the raw textarea JSON text. |
|
|
218
|
+
| `initialValues.claims?` | `string` | - |
|
|
219
|
+
| `initialValues.displayName?` | `string` | - |
|
|
220
|
+
| `initialValues.email?` | `string` | - |
|
|
221
|
+
| <a id="onadd"></a> `onAdd` | (`spec`: [`NewIdentitySpec`](#newidentityspec)) => `void` | Create + sign in as a new identity (wire to the hook's `add`). |
|
|
222
|
+
| <a id="oncancel"></a> `onCancel` | () => `void` | Dismiss the flow (wire to the hook's `cancel`). Rejects the app's sign-in promise with `auth/popup-closed-by-user`. |
|
|
223
|
+
| <a id="onpick"></a> `onPick` | (`uid`: `string`) => `void` | Settle with an existing identity (wire to the hook's `pick`). |
|
|
224
|
+
| <a id="renderaccount"></a> `renderAccount?` | (`identity`: `any`) => `ReactNode` | Optional renderer for an account row's content. Default renders the display name (or email, or uid) plus the email when both exist. The row button + data attributes stay owned by the component; this slot only fills the button's children. |
|
|
225
|
+
| <a id="state"></a> `state` | [`HelperState`](#helperstate) | Snapshot from `useAuthFlowHelper`. Renders nothing while `state.request` is null. |
|
|
226
|
+
| <a id="title"></a> `title?` | `ReactNode` | Heading text. Default: `Sign in with <provider label>`. |
|
|
227
|
+
|
|
228
|
+
***
|
|
229
|
+
|
|
230
|
+
<a id="authusereditorerrors"></a>
|
|
231
|
+
|
|
232
|
+
### AuthUserEditorErrors
|
|
233
|
+
|
|
234
|
+
#### Properties
|
|
235
|
+
|
|
236
|
+
| Property | Type |
|
|
237
|
+
| :------ | :------ |
|
|
238
|
+
| <a id="claims"></a> `claims?` | `string` |
|
|
239
|
+
| <a id="email"></a> `email?` | `string` |
|
|
240
|
+
| <a id="password"></a> `password?` | `string` |
|
|
241
|
+
|
|
242
|
+
***
|
|
243
|
+
|
|
244
|
+
<a id="authusereditorfields"></a>
|
|
245
|
+
|
|
246
|
+
### AuthUserEditorFields
|
|
247
|
+
|
|
248
|
+
Editable field set. `claimsText` is the raw textarea JSON.
|
|
249
|
+
`providerIds` are the linked FEDERATED providers (`google.com`,
|
|
250
|
+
`apple.com`, …) — `password` is credential-derived (the password
|
|
251
|
+
field) and never appears here.
|
|
252
|
+
|
|
253
|
+
#### Properties
|
|
254
|
+
|
|
255
|
+
| Property | Type |
|
|
256
|
+
| :------ | :------ |
|
|
257
|
+
| <a id="claimstext"></a> `claimsText` | `string` |
|
|
258
|
+
| <a id="disabled"></a> `disabled` | `boolean` |
|
|
259
|
+
| <a id="displayname"></a> `displayName` | `string` |
|
|
260
|
+
| <a id="email-1"></a> `email` | `string` |
|
|
261
|
+
| <a id="emailverified"></a> `emailVerified` | `boolean` |
|
|
262
|
+
| <a id="password-1"></a> `password` | `string` |
|
|
263
|
+
| <a id="phonenumber"></a> `phoneNumber` | `string` |
|
|
264
|
+
| <a id="photourl"></a> `photoUrl` | `string` |
|
|
265
|
+
| <a id="providerids"></a> `providerIds` | `string`[] |
|
|
266
|
+
|
|
267
|
+
***
|
|
268
|
+
|
|
269
|
+
<a id="authusereditorstate"></a>
|
|
270
|
+
|
|
271
|
+
### AuthUserEditorState
|
|
272
|
+
|
|
273
|
+
#### Properties
|
|
274
|
+
|
|
275
|
+
| Property | Type | Description |
|
|
276
|
+
| :------ | :------ | :------ |
|
|
277
|
+
| <a id="fields"></a> `fields` | [`AuthUserEditorFields`](#authusereditorfields) | - |
|
|
278
|
+
| <a id="initial"></a> `initial` | [`AuthUserEditorFields`](#authusereditorfields) | What reset returns to; dirtiness is measured against this. |
|
|
279
|
+
|
|
280
|
+
***
|
|
281
|
+
|
|
282
|
+
<a id="authuserformfield"></a>
|
|
283
|
+
|
|
284
|
+
### AuthUserFormField
|
|
285
|
+
|
|
286
|
+
What the [AuthUserFormProps.renderField](#renderfield) slot receives per field.
|
|
287
|
+
|
|
288
|
+
#### Properties
|
|
289
|
+
|
|
290
|
+
| Property | Type | Description |
|
|
291
|
+
| :------ | :------ | :------ |
|
|
292
|
+
| <a id="defaultrender"></a> `defaultRender` | () => `ReactNode` | The default rendering (label wrapper + label text + input + error). Call it to keep the stock layout for fields you don't customize. |
|
|
293
|
+
| <a id="error-1"></a> `error` | `string` | Current validation message for this field, or null. |
|
|
294
|
+
| <a id="input"></a> `input` | `ReactNode` | The wired, controlled input element (carries `data-pyric-field`). Place it anywhere; state/validation stay connected. |
|
|
295
|
+
| <a id="kind"></a> `kind` | `"text"` \| `"checkbox"` \| `"group"` | `'text' | 'checkbox' | 'group'` — lets one slot impl branch on layout (`group` = a multi-control block, e.g. the provider checklist; create mode only). |
|
|
296
|
+
| <a id="label"></a> `label` | `string` | The visible label text the default rendering uses. |
|
|
297
|
+
| <a id="name"></a> `name` | [`AuthUserFormFieldName`](#authuserformfieldname-1) | - |
|
|
298
|
+
|
|
299
|
+
***
|
|
300
|
+
|
|
301
|
+
<a id="authuserformprops"></a>
|
|
302
|
+
|
|
303
|
+
### AuthUserFormProps
|
|
304
|
+
|
|
305
|
+
#### Properties
|
|
306
|
+
|
|
307
|
+
| Property | Type | Description |
|
|
308
|
+
| :------ | :------ | :------ |
|
|
309
|
+
| <a id="cancellabel"></a> `cancelLabel?` | `string` | - |
|
|
310
|
+
| <a id="children"></a> `children?` | `ReactNode` | Extra content rendered before the action row (e.g. an error from a failed `createUser` call). |
|
|
311
|
+
| <a id="classname-2"></a> `className?` | `string` | - |
|
|
312
|
+
| <a id="initial-1"></a> `initial?` | `AuthUserRecord` | Existing record → edit mode (delta payloads); omit → create mode. |
|
|
313
|
+
| <a id="oncancel-1"></a> `onCancel?` | () => `void` | - |
|
|
314
|
+
| <a id="onsubmit"></a> `onSubmit` | (`submit`: [`AuthUserFormSubmit`](#authuserformsubmit)) => `void` | Receives the validated payload. Wire `create` to `useAuthUsers().createUser` and `edit` to `updateUser`. |
|
|
315
|
+
| <a id="renderfield"></a> `renderField?` | (`field`: [`AuthUserFormField`](#authuserformfield)) => `ReactNode` | Per-field layout override. Called for each field (see [AuthUserFormFieldName](#authuserformfieldname-1) order); return your own markup around `field.input`, or `field.defaultRender()` to keep the stock label wrapper for that field. Omit the prop for the default layout. |
|
|
316
|
+
| <a id="submitlabel"></a> `submitLabel?` | `string` | - |
|
|
317
|
+
|
|
318
|
+
***
|
|
319
|
+
|
|
320
|
+
<a id="authuserlistprops"></a>
|
|
321
|
+
|
|
322
|
+
### AuthUserListProps
|
|
323
|
+
|
|
324
|
+
#### Properties
|
|
325
|
+
|
|
326
|
+
| Property | Type | Description |
|
|
327
|
+
| :------ | :------ | :------ |
|
|
328
|
+
| <a id="classname-3"></a> `className?` | `string` | - |
|
|
329
|
+
| <a id="emptystate"></a> `emptyState?` | `ReactNode` | Zero state when the project has no users at all. |
|
|
330
|
+
| <a id="error-2"></a> `error?` | `Error` | - |
|
|
331
|
+
| <a id="filter"></a> `filter?` | `string` | The active filter text. Distinguishes the "no users yet" zero state (empty filter) from "no results" (non-empty). |
|
|
332
|
+
| <a id="formatcreatedat"></a> `formatCreatedAt?` | (`iso`: `string`) => `ReactNode` | Timestamp formatter for Created. Default: locale date, em dash for null. |
|
|
333
|
+
| <a id="formatlastloginat"></a> `formatLastLoginAt?` | (`iso`: `string`) => `ReactNode` | Timestamp formatter for Signed In. Kept separate because a missing login means "never", while a missing/invalid creation time is malformed data. |
|
|
334
|
+
| <a id="isloading-1"></a> `isLoading?` | `boolean` | - |
|
|
335
|
+
| <a id="noresultsstate"></a> `noResultsState?` | `ReactNode` | Zero state when the filter matches nothing. |
|
|
336
|
+
| <a id="onselect"></a> `onSelect?` | (`user`: `AuthUserRecord`) => `void` | Fired when the identifier cell is clicked. When omitted, the identifier renders as plain text. |
|
|
337
|
+
| <a id="renderactions"></a> `renderActions?` | (`user`: `AuthUserRecord`) => `ReactNode` | Per-row action slot (edit / disable / delete menu). Rendered in a trailing cell; column header is added when this is provided. |
|
|
338
|
+
| <a id="renderactionsheader"></a> `renderActionsHeader?` | `ReactNode` | Optional content for the trailing actions column header (for example, a select-all checkbox). Only rendered with `renderActions`. |
|
|
339
|
+
| <a id="renderidentifier"></a> `renderIdentifier?` | (`user`: `AuthUserRecord`) => `ReactNode` | Identifier-cell override. Default: email, else phone, else `anonymous`, else the uid. |
|
|
340
|
+
| <a id="renderproviders"></a> `renderProviders?` | (`user`: `AuthUserRecord`) => `ReactNode` | Providers-cell override. Default: one `<span data-pyric-provider-id>` per linked provider with its text label (`anonymous` for anonymous users) — hook icons off the attribute. |
|
|
341
|
+
| <a id="renderselection"></a> `renderSelection?` | (`user`: `AuthUserRecord`) => `ReactNode` | Per-row selection control. Rendered in the leading cell so bulk selection stays visually separate from trailing row actions. |
|
|
342
|
+
| <a id="renderselectionheader"></a> `renderSelectionHeader?` | `ReactNode` | Optional content for the leading selection column header (for example, a select-all checkbox). Only rendered with `renderSelection`. |
|
|
343
|
+
| <a id="rowheight"></a> `rowHeight?` | `number` \| (`index`: `number`) => `number` | Estimated row height when virtualizing. Default 44. |
|
|
344
|
+
| <a id="users"></a> `users` | `AuthUserRecord`[] | Rows to render — usually `useAuthUsers().users`. |
|
|
345
|
+
| <a id="virtualizedheight"></a> `virtualizedHeight?` | `string` \| `number` | Scroll-container height when virtualized. Default `'60vh'`. |
|
|
346
|
+
| <a id="virtualizethreshold"></a> `virtualizeThreshold?` | `number` | Above this row count, rows render through `<VirtualList>`. Default 100. `Infinity` disables. |
|
|
347
|
+
|
|
348
|
+
***
|
|
349
|
+
|
|
350
|
+
<a id="claimsfieldprops"></a>
|
|
351
|
+
|
|
352
|
+
### ClaimsFieldProps
|
|
353
|
+
|
|
354
|
+
#### Properties
|
|
355
|
+
|
|
356
|
+
| Property | Type | Description |
|
|
357
|
+
| :------ | :------ | :------ |
|
|
358
|
+
| <a id="classname-4"></a> `className?` | `string` | - |
|
|
359
|
+
| <a id="error-3"></a> `error?` | `string` | Validation message (from `validateSerializedClaims` / `useAuthUserEditor().errors.claims`). Renders a `role="alert"` paragraph and marks the textarea invalid. |
|
|
360
|
+
| <a id="hint"></a> `hint?` | `ReactNode` | Helper text under the field (rules-usage hint by default). |
|
|
361
|
+
| <a id="onchange"></a> `onChange` | (`text`: `string`) => `void` | - |
|
|
362
|
+
| <a id="placeholder"></a> `placeholder?` | `string` | - |
|
|
363
|
+
| <a id="value"></a> `value` | `string` | Raw claims JSON text. |
|
|
364
|
+
|
|
365
|
+
***
|
|
366
|
+
|
|
367
|
+
<a id="clearuserswithconfirmprops"></a>
|
|
368
|
+
|
|
369
|
+
### ClearUsersWithConfirmProps
|
|
370
|
+
|
|
371
|
+
#### Properties
|
|
372
|
+
|
|
373
|
+
| Property | Type | Description |
|
|
374
|
+
| :------ | :------ | :------ |
|
|
375
|
+
| <a id="body"></a> `body?` | `ReactNode` | - |
|
|
376
|
+
| <a id="classname-5"></a> `className?` | `string` | - |
|
|
377
|
+
| <a id="confirmlabel"></a> `confirmLabel?` | `string` | - |
|
|
378
|
+
| <a id="count"></a> `count?` | `number` | Current user count, interpolated into the default body. |
|
|
379
|
+
| <a id="onclear"></a> `onClear` | () => `void` | Runs after the user confirms. Wire to `useAuthUsers().clearUsers`. |
|
|
380
|
+
| <a id="rendertrigger"></a> `renderTrigger?` | (`props`: `TriggerProps`) => `ReactNode` | - |
|
|
381
|
+
| <a id="title-1"></a> `title?` | `string` | - |
|
|
382
|
+
|
|
383
|
+
***
|
|
384
|
+
|
|
385
|
+
<a id="deleteuserwithconfirmprops"></a>
|
|
386
|
+
|
|
387
|
+
### DeleteUserWithConfirmProps
|
|
388
|
+
|
|
389
|
+
#### Properties
|
|
390
|
+
|
|
391
|
+
| Property | Type | Description |
|
|
392
|
+
| :------ | :------ | :------ |
|
|
393
|
+
| <a id="body-1"></a> `body?` | `ReactNode` | - |
|
|
394
|
+
| <a id="classname-6"></a> `className?` | `string` | - |
|
|
395
|
+
| <a id="confirmlabel-1"></a> `confirmLabel?` | `string` | - |
|
|
396
|
+
| <a id="ondelete"></a> `onDelete` | (`uid`: `string`) => `void` | Runs after the user confirms. Wire to `useAuthUsers().deleteUser`. |
|
|
397
|
+
| <a id="rendertrigger-1"></a> `renderTrigger?` | (`props`: `TriggerProps`) => `ReactNode` | Trigger override; default is a plain destructive `<button>`. |
|
|
398
|
+
| <a id="title-2"></a> `title?` | `string` | - |
|
|
399
|
+
| <a id="user"></a> `user` | `AuthUserRecord` | - |
|
|
400
|
+
|
|
401
|
+
***
|
|
402
|
+
|
|
403
|
+
<a id="helperstate"></a>
|
|
404
|
+
|
|
405
|
+
### HelperState
|
|
406
|
+
|
|
407
|
+
Snapshot the helper UI renders from.
|
|
408
|
+
|
|
409
|
+
#### Properties
|
|
410
|
+
|
|
411
|
+
| Property | Type | Description |
|
|
412
|
+
| :------ | :------ | :------ |
|
|
413
|
+
| <a id="identities"></a> `identities` | `any`[] | Existing identities to pick from (seeded + previously created). |
|
|
414
|
+
| <a id="request"></a> `request` | `any` | The in-flight request, or null when the helper is closed. |
|
|
415
|
+
|
|
416
|
+
***
|
|
417
|
+
|
|
418
|
+
<a id="newidentityspec"></a>
|
|
419
|
+
|
|
420
|
+
### NewIdentitySpec
|
|
421
|
+
|
|
422
|
+
A field set for "add new account" — mirrors the emulator's add-user form.
|
|
423
|
+
|
|
424
|
+
#### Properties
|
|
425
|
+
|
|
426
|
+
| Property | Type | Description |
|
|
427
|
+
| :------ | :------ | :------ |
|
|
428
|
+
| <a id="customclaims"></a> `customClaims?` | `Record`\<`string`, `unknown`\> | Parsed custom claims (the emulator's `customAttributes`). |
|
|
429
|
+
| <a id="displayname-1"></a> `displayName?` | `string` | - |
|
|
430
|
+
| <a id="email-2"></a> `email` | `string` | - |
|
|
431
|
+
|
|
432
|
+
***
|
|
433
|
+
|
|
434
|
+
<a id="useauthflowhelperresult"></a>
|
|
435
|
+
|
|
436
|
+
### UseAuthFlowHelperResult
|
|
437
|
+
|
|
438
|
+
#### Properties
|
|
439
|
+
|
|
440
|
+
| Property | Type | Description |
|
|
441
|
+
| :------ | :------ | :------ |
|
|
442
|
+
| <a id="add-2"></a> `add` | (`spec`: [`NewIdentitySpec`](#newidentityspec)) => `void` | Create + sign in as a new identity (seeds it for next time). |
|
|
443
|
+
| <a id="cancel-2"></a> `cancel` | () => `void` | Dismiss — rejects the app's sign-in promise with `auth/popup-closed-by-user` (faithful to `firebase/auth`). |
|
|
444
|
+
| <a id="pick-2"></a> `pick` | (`uid`: `string`) => `void` | Settle the flow with an existing identity (by uid). |
|
|
445
|
+
| <a id="state-1"></a> `state` | [`HelperState`](#helperstate) | Render snapshot: the in-flight request (or null) + pickable identities. |
|
|
446
|
+
|
|
447
|
+
***
|
|
448
|
+
|
|
449
|
+
<a id="useauthproviderconfigresult"></a>
|
|
450
|
+
|
|
451
|
+
### UseAuthProviderConfigResult
|
|
452
|
+
|
|
453
|
+
#### Properties
|
|
454
|
+
|
|
455
|
+
| Property | Type | Description |
|
|
456
|
+
| :------ | :------ | :------ |
|
|
457
|
+
| <a id="config-1"></a> `config` | [`AuthProviderConfigEntry`](#authproviderconfigentry)[] | Every provider this sandbox has an explicit enablement for. Unknown providers (never toggled) are simply absent — `isEnabled` treats an absent entry as enabled, matching the backend default. |
|
|
458
|
+
| <a id="error-4"></a> `error` | `Error` | - |
|
|
459
|
+
| <a id="isenabled"></a> `isEnabled` | (`providerId`: `string`) => `boolean` | Convenience lookup: `true` for a provider that's never been toggled. |
|
|
460
|
+
| <a id="isloading-2"></a> `isLoading` | `boolean` | - |
|
|
461
|
+
| <a id="refresh"></a> `refresh` | () => `void` | Re-read manually. Rarely needed — every mutation (this hook's own `setEnabled`, another handle, the agent) already triggers the subscription re-list. |
|
|
462
|
+
| <a id="setenabled"></a> `setEnabled` | (`providerId`: `string`, `enabled`: `boolean`) => `void` | Toggle a provider on/off. Sync (in-process) failures throw to the caller, same policy as `useAuthUsers`'s mutation callbacks; an ASYNC (worker-RPC) failure can't reach a sync caller, so it surfaces on the hook's `error` state instead — never an unhandled rejection. |
|
|
463
|
+
|
|
464
|
+
***
|
|
465
|
+
|
|
466
|
+
<a id="useauthusereditoroptions"></a>
|
|
467
|
+
|
|
468
|
+
### UseAuthUserEditorOptions
|
|
469
|
+
|
|
470
|
+
#### Properties
|
|
471
|
+
|
|
472
|
+
| Property | Type | Description |
|
|
473
|
+
| :------ | :------ | :------ |
|
|
474
|
+
| <a id="initial-2"></a> `initial?` | `AuthUserRecord` | Existing record to edit. Omit for create mode. |
|
|
475
|
+
|
|
476
|
+
***
|
|
477
|
+
|
|
478
|
+
<a id="useauthusereditorresult"></a>
|
|
479
|
+
|
|
480
|
+
### UseAuthUserEditorResult
|
|
481
|
+
|
|
482
|
+
#### Properties
|
|
483
|
+
|
|
484
|
+
| Property | Type | Description |
|
|
485
|
+
| :------ | :------ | :------ |
|
|
486
|
+
| <a id="dispatch"></a> `dispatch` | (`action`: [`AuthUserEditorAction`](#authusereditoraction)) => `void` | Raw reducer access for advanced consumers. |
|
|
487
|
+
| <a id="errors"></a> `errors` | [`AuthUserEditorErrors`](#authusereditorerrors) | Per-field validation messages (emulator-UI wording). Empty when valid. |
|
|
488
|
+
| <a id="fields-1"></a> `fields` | [`AuthUserEditorFields`](#authusereditorfields) | - |
|
|
489
|
+
| <a id="isdirty"></a> `isDirty` | `boolean` | - |
|
|
490
|
+
| <a id="isvalid"></a> `isValid` | `boolean` | - |
|
|
491
|
+
| <a id="reset"></a> `reset` | () => `void` | Back to the initial snapshot. |
|
|
492
|
+
| <a id="setfield"></a> `setField` | \<`K`\>(`field`: `K`, `value`: [`AuthUserEditorFields`](#authusereditorfields)\[`K`\]) => `void` | - |
|
|
493
|
+
| <a id="tocreaterequest"></a> `toCreateRequest` | () => `CreateUserRequest` | Full payload for `createUser` (every non-empty field). |
|
|
494
|
+
| <a id="toupdaterequest"></a> `toUpdateRequest` | () => `UpdateUserRequest` | Delta payload for `updateUser` (only changed fields). |
|
|
495
|
+
|
|
496
|
+
***
|
|
497
|
+
|
|
498
|
+
<a id="useauthusersresult"></a>
|
|
499
|
+
|
|
500
|
+
### UseAuthUsersResult
|
|
501
|
+
|
|
502
|
+
#### Properties
|
|
503
|
+
|
|
504
|
+
| Property | Type | Description |
|
|
505
|
+
| :------ | :------ | :------ |
|
|
506
|
+
| <a id="clearusers"></a> `clearUsers` | () => `void` | - |
|
|
507
|
+
| <a id="createuser"></a> `createUser` | (`request`: `CreateUserRequest`) => `AuthUserRecord` | - |
|
|
508
|
+
| <a id="deleteuser"></a> `deleteUser` | (`uid`: `string`) => `void` | - |
|
|
509
|
+
| <a id="error-5"></a> `error` | `Error` | - |
|
|
510
|
+
| <a id="filter-1"></a> `filter` | `string` | Case-insensitive substring match over uid, email, display name and phone number (the emulator UI's search semantics). |
|
|
511
|
+
| <a id="isloading-3"></a> `isLoading` | `boolean` | - |
|
|
512
|
+
| <a id="refresh-1"></a> `refresh` | () => `void` | Re-list manually. Rarely needed, every mutation (including ones made by the agent or the running app) already triggers `subscribeUsers`. |
|
|
513
|
+
| <a id="setfilter"></a> `setFilter` | (`filter`: `string`) => `void` | - |
|
|
514
|
+
| <a id="totalcount"></a> `totalCount` | `number` | Unfiltered count: lets a list distinguish "no users at all" from "no results for this filter". |
|
|
515
|
+
| <a id="updateuser"></a> `updateUser` | (`uid`: `string`, `update`: `UpdateUserRequest`) => `AuthUserRecord` | - |
|
|
516
|
+
| <a id="users-1"></a> `users` | `AuthUserRecord`[] | Users matching [filter](#filter-1) (everyone when the filter is empty). |
|
|
517
|
+
|
|
518
|
+
## Type Aliases
|
|
519
|
+
|
|
520
|
+
<a id="authapi"></a>
|
|
521
|
+
|
|
522
|
+
### AuthApi
|
|
523
|
+
|
|
524
|
+
```ts
|
|
525
|
+
type AuthApi = Pick<typeof authSandbox,
|
|
526
|
+
| "listUsers"
|
|
527
|
+
| "subscribeUsers"
|
|
528
|
+
| "createUser"
|
|
529
|
+
| "updateUser"
|
|
530
|
+
| "deleteUser"
|
|
531
|
+
| "clearUsers"
|
|
532
|
+
| "getAuthProviderConfig"
|
|
533
|
+
| "setAuthProviderConfig"
|
|
534
|
+
| "subscribeAuthProviderConfig">;
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
The sandbox auth admin ops `useAuthUsers` drives, as an INJECTABLE bundle.
|
|
538
|
+
|
|
539
|
+
WHY (same rationale as `@pyric/ui/firestore`'s FirestoreApi): the hook defaults
|
|
540
|
+
to the in-process `pyric/auth` `sandbox` ops, but Pyric Studio's served mode
|
|
541
|
+
drives the SAME ops over a SharedWorker (a parallel client over a MessagePort).
|
|
542
|
+
Reading them from this context lets a consumer inject the worker client's fns
|
|
543
|
+
so the hook operates on the live worker user DB without knowing the backend.
|
|
544
|
+
|
|
545
|
+
The bundle is typed to the in-process signatures; a worker bundle is adapted
|
|
546
|
+
(cast) at the Studio boundary. NOTE the worker `listUsers` is ASYNC (an RPC)
|
|
547
|
+
whereas the in-process one is sync, so `useAuthUsers` tolerates a promise (it
|
|
548
|
+
wraps the result in `Promise.resolve`).
|
|
549
|
+
|
|
550
|
+
Default = the real `pyric/auth` sandbox ops, so every existing consumer is
|
|
551
|
+
unchanged: no provider needed unless swapping the backend.
|
|
552
|
+
|
|
553
|
+
***
|
|
554
|
+
|
|
555
|
+
<a id="authusereditoraction"></a>
|
|
556
|
+
|
|
557
|
+
### AuthUserEditorAction
|
|
558
|
+
|
|
559
|
+
```ts
|
|
560
|
+
type AuthUserEditorAction =
|
|
561
|
+
| {
|
|
562
|
+
field: keyof AuthUserEditorFields;
|
|
563
|
+
type: "setField";
|
|
564
|
+
value: AuthUserEditorFields[keyof AuthUserEditorFields];
|
|
565
|
+
}
|
|
566
|
+
| {
|
|
567
|
+
type: "reset";
|
|
568
|
+
};
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
***
|
|
572
|
+
|
|
573
|
+
<a id="authuserformfieldname-1"></a>
|
|
574
|
+
|
|
575
|
+
### AuthUserFormFieldName
|
|
576
|
+
|
|
577
|
+
```ts
|
|
578
|
+
type AuthUserFormFieldName =
|
|
579
|
+
| "email"
|
|
580
|
+
| "password"
|
|
581
|
+
| "display-name"
|
|
582
|
+
| "phone-number"
|
|
583
|
+
| "photo-url"
|
|
584
|
+
| "providers"
|
|
585
|
+
| "email-verified"
|
|
586
|
+
| "disabled";
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
Field names the [AuthUserFormProps.renderField](#renderfield) slot receives,
|
|
590
|
+
in render order. Claims is NOT a slot field — it stays the standalone
|
|
591
|
+
`<ClaimsField>` (override it by composing `useAuthUserEditor`).
|
|
592
|
+
|
|
593
|
+
***
|
|
594
|
+
|
|
595
|
+
<a id="authuserformsubmit"></a>
|
|
596
|
+
|
|
597
|
+
### AuthUserFormSubmit
|
|
598
|
+
|
|
599
|
+
```ts
|
|
600
|
+
type AuthUserFormSubmit =
|
|
601
|
+
| {
|
|
602
|
+
mode: "create";
|
|
603
|
+
request: CreateUserRequest;
|
|
604
|
+
}
|
|
605
|
+
| {
|
|
606
|
+
mode: "edit";
|
|
607
|
+
request: UpdateUserRequest;
|
|
608
|
+
uid: string;
|
|
609
|
+
};
|
|
610
|
+
```
|
|
611
|
+
|
|
612
|
+
What `onSubmit` receives — discriminated on the form's mode.
|
|
613
|
+
|
|
614
|
+
***
|
|
615
|
+
|
|
616
|
+
<a id="claimsvalidationresult"></a>
|
|
617
|
+
|
|
618
|
+
### ClaimsValidationResult
|
|
619
|
+
|
|
620
|
+
```ts
|
|
621
|
+
type ClaimsValidationResult =
|
|
622
|
+
| {
|
|
623
|
+
claims: Record<string, unknown> | undefined;
|
|
624
|
+
ok: true;
|
|
625
|
+
}
|
|
626
|
+
| {
|
|
627
|
+
message: string;
|
|
628
|
+
ok: false;
|
|
629
|
+
};
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
#### Type Declaration
|
|
633
|
+
|
|
634
|
+
```ts
|
|
635
|
+
{
|
|
636
|
+
claims: Record<string, unknown> | undefined;
|
|
637
|
+
ok: true;
|
|
638
|
+
}
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
##### claims
|
|
642
|
+
|
|
643
|
+
```ts
|
|
644
|
+
claims: Record<string, unknown> | undefined;
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
##### ok
|
|
648
|
+
|
|
649
|
+
```ts
|
|
650
|
+
ok: true;
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
`claims` is `undefined` when the input was empty/whitespace.
|
|
654
|
+
|
|
655
|
+
```ts
|
|
656
|
+
{
|
|
657
|
+
message: string;
|
|
658
|
+
ok: false;
|
|
659
|
+
}
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
##### message
|
|
663
|
+
|
|
664
|
+
```ts
|
|
665
|
+
message: string;
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
##### ok
|
|
669
|
+
|
|
670
|
+
```ts
|
|
671
|
+
ok: false;
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
***
|
|
675
|
+
|
|
676
|
+
<a id="sandboxidentity"></a>
|
|
677
|
+
|
|
678
|
+
### SandboxIdentity
|
|
679
|
+
|
|
680
|
+
```ts
|
|
681
|
+
type SandboxIdentity = ReturnType<typeof authSandbox.listIdentities>[number];
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
One pickable identity, as reported by `sandbox.listIdentities`.
|
|
685
|
+
|
|
686
|
+
## Variables
|
|
687
|
+
|
|
688
|
+
<a id="custom_claims_max_length"></a>
|
|
689
|
+
|
|
690
|
+
### CUSTOM\_CLAIMS\_MAX\_LENGTH
|
|
691
|
+
|
|
692
|
+
```ts
|
|
693
|
+
const CUSTOM_CLAIMS_MAX_LENGTH: 1000 = 1000;
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
Serialized-length cap, matching the emulator's `CUSTOM_ATTRIBUTES_MAX_LENGTH`.
|
|
697
|
+
|
|
698
|
+
***
|
|
699
|
+
|
|
700
|
+
<a id="default_known_provider_ids"></a>
|
|
701
|
+
|
|
702
|
+
### DEFAULT\_KNOWN\_PROVIDER\_IDS
|
|
703
|
+
|
|
704
|
+
```ts
|
|
705
|
+
const DEFAULT_KNOWN_PROVIDER_IDS: readonly ["password", "anonymous", "google.com", "github.com", "apple.com", "microsoft.com"];
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
Providers always shown as a toggle row, regardless of whether the
|
|
709
|
+
backend has an explicit entry for them yet (an unconfigured provider
|
|
710
|
+
simply reads as disabled — same default the sandbox backend applies).
|
|
711
|
+
|
|
712
|
+
***
|
|
713
|
+
|
|
714
|
+
<a id="forbidden_custom_claims"></a>
|
|
715
|
+
|
|
716
|
+
### FORBIDDEN\_CUSTOM\_CLAIMS
|
|
717
|
+
|
|
718
|
+
```ts
|
|
719
|
+
const FORBIDDEN_CUSTOM_CLAIMS: readonly string[];
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
Reserved JWT/OIDC keys the Auth emulator rejects as custom claims.
|
|
723
|
+
https://firebase.google.com/docs/auth/admin/create-custom-tokens
|
|
724
|
+
|
|
725
|
+
***
|
|
726
|
+
|
|
727
|
+
<a id="provider_labels"></a>
|
|
728
|
+
|
|
729
|
+
### PROVIDER\_LABELS
|
|
730
|
+
|
|
731
|
+
```ts
|
|
732
|
+
const PROVIDER_LABELS: Record<string, string>;
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
Provider-id → human label mapping, mirroring the provider set the
|
|
736
|
+
Firebase emulator UI recognizes (it maps the same ids to icons; a
|
|
737
|
+
headless library maps them to text and leaves icons to the consumer
|
|
738
|
+
via `data-pyric-provider-id`).
|
|
739
|
+
|
|
740
|
+
## Functions
|
|
741
|
+
|
|
742
|
+
<a id="authapiprovider"></a>
|
|
743
|
+
|
|
744
|
+
### AuthApiProvider()
|
|
745
|
+
|
|
746
|
+
```ts
|
|
747
|
+
function AuthApiProvider(__namedParameters: {
|
|
748
|
+
children: ReactNode;
|
|
749
|
+
value: AuthApi;
|
|
750
|
+
}): FunctionComponentElement<ProviderProps<AuthApi>>;
|
|
751
|
+
```
|
|
752
|
+
|
|
753
|
+
Provide an auth API bundle to the subtree. Pyric Studio supplies the
|
|
754
|
+
in-process bundle for dev-seed review and the SharedWorker client bundle under
|
|
755
|
+
`pyric dev --ui`.
|
|
756
|
+
|
|
757
|
+
#### Parameters
|
|
758
|
+
|
|
759
|
+
| Parameter | Type |
|
|
760
|
+
| :------ | :------ |
|
|
761
|
+
| `__namedParameters` | \{ `children`: `ReactNode`; `value`: [`AuthApi`](#authapi); \} |
|
|
762
|
+
| `__namedParameters.children` | `ReactNode` |
|
|
763
|
+
| `__namedParameters.value` | [`AuthApi`](#authapi) |
|
|
764
|
+
|
|
765
|
+
#### Returns
|
|
766
|
+
|
|
767
|
+
`FunctionComponentElement`\<`ProviderProps`\<[`AuthApi`](#authapi)\>\>
|
|
768
|
+
|
|
769
|
+
***
|
|
770
|
+
|
|
771
|
+
<a id="authprovidertoggles"></a>
|
|
772
|
+
|
|
773
|
+
### AuthProviderToggles()
|
|
774
|
+
|
|
775
|
+
```ts
|
|
776
|
+
function AuthProviderToggles(__namedParameters: AuthProviderTogglesProps): Element;
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
Headless "Sign-in providers" toggle grid — the Authentication → Sign-in
|
|
780
|
+
method surface. Known providers (password / anonymous / the built-in OAuth
|
|
781
|
+
set) always render as a row; any OTHER provider already present in
|
|
782
|
+
`config` (a custom OAuth id a host previously added) also gets a row. A
|
|
783
|
+
free-text field lets a consumer enable an arbitrary OAuth provider id not
|
|
784
|
+
in the known set — this is a SECTION, not a dialog: the add row lives
|
|
785
|
+
inline, no modal.
|
|
786
|
+
|
|
787
|
+
Fully headless: styling hangs off `data-pyric-*`, matching the rest of
|
|
788
|
+
`@pyric/ui/auth` (`AuthUserList`, `AuthUserForm`, …). Data + mutation come
|
|
789
|
+
from `useAuthProviderConfig`; this component only renders + fires events.
|
|
790
|
+
|
|
791
|
+
#### Parameters
|
|
792
|
+
|
|
793
|
+
| Parameter | Type |
|
|
794
|
+
| :------ | :------ |
|
|
795
|
+
| `__namedParameters` | [`AuthProviderTogglesProps`](#authprovidertogglesprops) |
|
|
796
|
+
|
|
797
|
+
#### Returns
|
|
798
|
+
|
|
799
|
+
`Element`
|
|
800
|
+
|
|
801
|
+
***
|
|
802
|
+
|
|
803
|
+
<a id="authsigninhelper"></a>
|
|
804
|
+
|
|
805
|
+
### AuthSignInHelper()
|
|
806
|
+
|
|
807
|
+
```ts
|
|
808
|
+
function AuthSignInHelper(__namedParameters: AuthSignInHelperProps): Element;
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
Headless emulator-style sign-in helper: an account picker over the
|
|
812
|
+
sandbox's known identities plus an add-account form (email, display
|
|
813
|
+
name, custom-claims JSON with emulator-grade validation messages).
|
|
814
|
+
|
|
815
|
+
Ships zero styling. Structure is addressable via the
|
|
816
|
+
`data-pyric-*` contract:
|
|
817
|
+
|
|
818
|
+
- root: `[data-pyric-ui="auth-signin-helper"]`,
|
|
819
|
+
`[data-pyric-provider-id]`, `[data-pyric-auth-type]`
|
|
820
|
+
- picker: `[data-pyric-account-list]` > `[data-pyric-account-entry]`
|
|
821
|
+
> `button[data-pyric-account-pick]`
|
|
822
|
+
- form: `form[data-pyric-add-account-form]`, fields
|
|
823
|
+
`[data-pyric-field="email" | "display-name" | "claims"]`,
|
|
824
|
+
`[data-pyric-claims-error]` (role=alert),
|
|
825
|
+
`button[data-pyric-cancel]`, `button[data-pyric-submit]`
|
|
826
|
+
|
|
827
|
+
Positioning is the consumer's job — render it inside your own modal
|
|
828
|
+
or panel (the flow is host-UI-agnostic; only `onCancel` carries the
|
|
829
|
+
popup-closed semantics).
|
|
830
|
+
|
|
831
|
+
#### Parameters
|
|
832
|
+
|
|
833
|
+
| Parameter | Type |
|
|
834
|
+
| :------ | :------ |
|
|
835
|
+
| `__namedParameters` | [`AuthSignInHelperProps`](#authsigninhelperprops) |
|
|
836
|
+
|
|
837
|
+
#### Returns
|
|
838
|
+
|
|
839
|
+
`Element`
|
|
840
|
+
|
|
841
|
+
***
|
|
842
|
+
|
|
843
|
+
<a id="authusereditorreducer"></a>
|
|
844
|
+
|
|
845
|
+
### authUserEditorReducer()
|
|
846
|
+
|
|
847
|
+
```ts
|
|
848
|
+
function authUserEditorReducer(state: AuthUserEditorState, action: AuthUserEditorAction): AuthUserEditorState;
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
#### Parameters
|
|
852
|
+
|
|
853
|
+
| Parameter | Type |
|
|
854
|
+
| :------ | :------ |
|
|
855
|
+
| `state` | [`AuthUserEditorState`](#authusereditorstate) |
|
|
856
|
+
| `action` | [`AuthUserEditorAction`](#authusereditoraction) |
|
|
857
|
+
|
|
858
|
+
#### Returns
|
|
859
|
+
|
|
860
|
+
[`AuthUserEditorState`](#authusereditorstate)
|
|
861
|
+
|
|
862
|
+
***
|
|
863
|
+
|
|
864
|
+
<a id="authuserform"></a>
|
|
865
|
+
|
|
866
|
+
### AuthUserForm()
|
|
867
|
+
|
|
868
|
+
```ts
|
|
869
|
+
function AuthUserForm(__namedParameters: AuthUserFormProps): Element;
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
Headless add/edit-user form over `useAuthUserEditor` — the emulator
|
|
873
|
+
UI's user dialog fields (email, password, display name, phone, photo
|
|
874
|
+
URL, verified/disabled toggles, custom claims) with its validation
|
|
875
|
+
messages. Zero CSS; structure addressable via `data-pyric-*`:
|
|
876
|
+
|
|
877
|
+
- root `form[data-pyric-ui="auth-user-form"]` with `data-pyric-mode`,
|
|
878
|
+
`data-pyric-is-dirty`, `data-pyric-is-valid` state attrs
|
|
879
|
+
- every field (text inputs AND checkboxes) is wrapped in a
|
|
880
|
+
`label[data-pyric-field-label="<name>"]` carrying a visible
|
|
881
|
+
`span[data-pyric-label-text]` — labeled grid layouts are pure CSS
|
|
882
|
+
(`display: grid` on the wrappers); label-less designs hide
|
|
883
|
+
`[data-pyric-label-text]` and lean on the placeholders
|
|
884
|
+
- inputs `[data-pyric-field="email" | "password" | "display-name" |
|
|
885
|
+
"phone-number" | "photo-url" | "email-verified" | "disabled"]`
|
|
886
|
+
- CREATE mode only: a "Sign-in providers" group
|
|
887
|
+
(`fieldset[data-pyric-field-label="providers"]` wrapping
|
|
888
|
+
`[data-pyric-provider-checklist]`) — one checkbox per federated
|
|
889
|
+
provider the sandbox supports (`FEDERATED_PROVIDER_IDS` from
|
|
890
|
+
`pyric/auth`; multiple selectable, entries land on
|
|
891
|
+
`CreateUserRequest.providerUserInfo`)
|
|
892
|
+
- claims via the standalone `<ClaimsField>`
|
|
893
|
+
- per-field messages `[data-pyric-field-error="email" | "password"]`
|
|
894
|
+
render INSIDE the field's label wrapper, after the input
|
|
895
|
+
- `button[data-pyric-cancel]` / `button[data-pyric-submit]` (submit is
|
|
896
|
+
disabled while invalid, or pristine in edit mode)
|
|
897
|
+
|
|
898
|
+
Submit emits payloads only — no sandbox calls — so the same form works
|
|
899
|
+
for create and edit and the consumer owns error handling.
|
|
900
|
+
|
|
901
|
+
#### Parameters
|
|
902
|
+
|
|
903
|
+
| Parameter | Type |
|
|
904
|
+
| :------ | :------ |
|
|
905
|
+
| `__namedParameters` | [`AuthUserFormProps`](#authuserformprops) |
|
|
906
|
+
|
|
907
|
+
#### Returns
|
|
908
|
+
|
|
909
|
+
`Element`
|
|
910
|
+
|
|
911
|
+
***
|
|
912
|
+
|
|
913
|
+
<a id="authuserlist"></a>
|
|
914
|
+
|
|
915
|
+
### AuthUserList()
|
|
916
|
+
|
|
917
|
+
```ts
|
|
918
|
+
function AuthUserList(__namedParameters: AuthUserListProps): Element;
|
|
919
|
+
```
|
|
920
|
+
|
|
921
|
+
Headless users table — the emulator UI's columns (Identifier,
|
|
922
|
+
Provider, Created, Signed In, User UID, actions) over the
|
|
923
|
+
`data-pyric-*` styling contract, with role-based table semantics so
|
|
924
|
+
rows can virtualize (a real `<table>` can't wrap a scroll container).
|
|
925
|
+
|
|
926
|
+
The hook (`useAuthUsers`) owns data + filter state; this component
|
|
927
|
+
just renders. Disabled accounts carry `data-pyric-user-disabled` for
|
|
928
|
+
dimmed styling.
|
|
929
|
+
|
|
930
|
+
#### Parameters
|
|
931
|
+
|
|
932
|
+
| Parameter | Type |
|
|
933
|
+
| :------ | :------ |
|
|
934
|
+
| `__namedParameters` | [`AuthUserListProps`](#authuserlistprops) |
|
|
935
|
+
|
|
936
|
+
#### Returns
|
|
937
|
+
|
|
938
|
+
`Element`
|
|
939
|
+
|
|
940
|
+
***
|
|
941
|
+
|
|
942
|
+
<a id="claimsfield"></a>
|
|
943
|
+
|
|
944
|
+
### ClaimsField()
|
|
945
|
+
|
|
946
|
+
```ts
|
|
947
|
+
function ClaimsField(__namedParameters: ClaimsFieldProps): Element;
|
|
948
|
+
```
|
|
949
|
+
|
|
950
|
+
Headless custom-claims textarea — the emulator UI's
|
|
951
|
+
`customAttributes` control. Standalone so custom forms can reuse the
|
|
952
|
+
exact field (the playground's sign-in helper and the user form both
|
|
953
|
+
render one); validation itself lives in `validateSerializedClaims`.
|
|
954
|
+
|
|
955
|
+
#### Parameters
|
|
956
|
+
|
|
957
|
+
| Parameter | Type |
|
|
958
|
+
| :------ | :------ |
|
|
959
|
+
| `__namedParameters` | [`ClaimsFieldProps`](#claimsfieldprops) |
|
|
960
|
+
|
|
961
|
+
#### Returns
|
|
962
|
+
|
|
963
|
+
`Element`
|
|
964
|
+
|
|
965
|
+
***
|
|
966
|
+
|
|
967
|
+
<a id="clearuserswithconfirm"></a>
|
|
968
|
+
|
|
969
|
+
### ClearUsersWithConfirm()
|
|
970
|
+
|
|
971
|
+
```ts
|
|
972
|
+
function ClearUsersWithConfirm(__namedParameters: ClearUsersWithConfirmProps): Element;
|
|
973
|
+
```
|
|
974
|
+
|
|
975
|
+
Confirm-gated clear-all (the emulator UI's "Clear all data").
|
|
976
|
+
Requires a `<ConfirmProvider>` ancestor.
|
|
977
|
+
|
|
978
|
+
#### Parameters
|
|
979
|
+
|
|
980
|
+
| Parameter | Type |
|
|
981
|
+
| :------ | :------ |
|
|
982
|
+
| `__namedParameters` | [`ClearUsersWithConfirmProps`](#clearuserswithconfirmprops) |
|
|
983
|
+
|
|
984
|
+
#### Returns
|
|
985
|
+
|
|
986
|
+
`Element`
|
|
987
|
+
|
|
988
|
+
***
|
|
989
|
+
|
|
990
|
+
<a id="deleteuserwithconfirm"></a>
|
|
991
|
+
|
|
992
|
+
### DeleteUserWithConfirm()
|
|
993
|
+
|
|
994
|
+
```ts
|
|
995
|
+
function DeleteUserWithConfirm(__namedParameters: DeleteUserWithConfirmProps): Element;
|
|
996
|
+
```
|
|
997
|
+
|
|
998
|
+
Confirm-gated single-user delete (the emulator UI's row-menu
|
|
999
|
+
"Delete user"). Requires a `<ConfirmProvider>` ancestor.
|
|
1000
|
+
|
|
1001
|
+
#### Parameters
|
|
1002
|
+
|
|
1003
|
+
| Parameter | Type |
|
|
1004
|
+
| :------ | :------ |
|
|
1005
|
+
| `__namedParameters` | [`DeleteUserWithConfirmProps`](#deleteuserwithconfirmprops) |
|
|
1006
|
+
|
|
1007
|
+
#### Returns
|
|
1008
|
+
|
|
1009
|
+
`Element`
|
|
1010
|
+
|
|
1011
|
+
***
|
|
1012
|
+
|
|
1013
|
+
<a id="fieldsfromrecord"></a>
|
|
1014
|
+
|
|
1015
|
+
### fieldsFromRecord()
|
|
1016
|
+
|
|
1017
|
+
```ts
|
|
1018
|
+
function fieldsFromRecord(record?: AuthUserRecord): AuthUserEditorFields;
|
|
1019
|
+
```
|
|
1020
|
+
|
|
1021
|
+
#### Parameters
|
|
1022
|
+
|
|
1023
|
+
| Parameter | Type |
|
|
1024
|
+
| :------ | :------ |
|
|
1025
|
+
| `record?` | `AuthUserRecord` |
|
|
1026
|
+
|
|
1027
|
+
#### Returns
|
|
1028
|
+
|
|
1029
|
+
[`AuthUserEditorFields`](#authusereditorfields)
|
|
1030
|
+
|
|
1031
|
+
***
|
|
1032
|
+
|
|
1033
|
+
<a id="initauthusereditorstate"></a>
|
|
1034
|
+
|
|
1035
|
+
### initAuthUserEditorState()
|
|
1036
|
+
|
|
1037
|
+
```ts
|
|
1038
|
+
function initAuthUserEditorState(initial?: AuthUserRecord): AuthUserEditorState;
|
|
1039
|
+
```
|
|
1040
|
+
|
|
1041
|
+
#### Parameters
|
|
1042
|
+
|
|
1043
|
+
| Parameter | Type |
|
|
1044
|
+
| :------ | :------ |
|
|
1045
|
+
| `initial?` | `AuthUserRecord` |
|
|
1046
|
+
|
|
1047
|
+
#### Returns
|
|
1048
|
+
|
|
1049
|
+
[`AuthUserEditorState`](#authusereditorstate)
|
|
1050
|
+
|
|
1051
|
+
***
|
|
1052
|
+
|
|
1053
|
+
<a id="providerlabel"></a>
|
|
1054
|
+
|
|
1055
|
+
### providerLabel()
|
|
1056
|
+
|
|
1057
|
+
```ts
|
|
1058
|
+
function providerLabel(providerId: string): string;
|
|
1059
|
+
```
|
|
1060
|
+
|
|
1061
|
+
Label for a provider id; falls back to the raw id for custom
|
|
1062
|
+
`OAuthProvider` ids the map doesn't know.
|
|
1063
|
+
|
|
1064
|
+
#### Parameters
|
|
1065
|
+
|
|
1066
|
+
| Parameter | Type |
|
|
1067
|
+
| :------ | :------ |
|
|
1068
|
+
| `providerId` | `string` |
|
|
1069
|
+
|
|
1070
|
+
#### Returns
|
|
1071
|
+
|
|
1072
|
+
`string`
|
|
1073
|
+
|
|
1074
|
+
***
|
|
1075
|
+
|
|
1076
|
+
<a id="tocreaterequest-1"></a>
|
|
1077
|
+
|
|
1078
|
+
### toCreateRequest()
|
|
1079
|
+
|
|
1080
|
+
```ts
|
|
1081
|
+
function toCreateRequest(state: AuthUserEditorState): CreateUserRequest;
|
|
1082
|
+
```
|
|
1083
|
+
|
|
1084
|
+
Full payload for `sandbox.createUser` — every non-empty field.
|
|
1085
|
+
|
|
1086
|
+
#### Parameters
|
|
1087
|
+
|
|
1088
|
+
| Parameter | Type |
|
|
1089
|
+
| :------ | :------ |
|
|
1090
|
+
| `state` | [`AuthUserEditorState`](#authusereditorstate) |
|
|
1091
|
+
|
|
1092
|
+
#### Returns
|
|
1093
|
+
|
|
1094
|
+
`CreateUserRequest`
|
|
1095
|
+
|
|
1096
|
+
***
|
|
1097
|
+
|
|
1098
|
+
<a id="toupdaterequest-1"></a>
|
|
1099
|
+
|
|
1100
|
+
### toUpdateRequest()
|
|
1101
|
+
|
|
1102
|
+
```ts
|
|
1103
|
+
function toUpdateRequest(state: AuthUserEditorState): UpdateUserRequest;
|
|
1104
|
+
```
|
|
1105
|
+
|
|
1106
|
+
Delta payload for `sandbox.updateUser` — only fields that changed
|
|
1107
|
+
from the initial record. A cleared displayName maps to `null`
|
|
1108
|
+
(the update API's clear semantics).
|
|
1109
|
+
|
|
1110
|
+
#### Parameters
|
|
1111
|
+
|
|
1112
|
+
| Parameter | Type |
|
|
1113
|
+
| :------ | :------ |
|
|
1114
|
+
| `state` | [`AuthUserEditorState`](#authusereditorstate) |
|
|
1115
|
+
|
|
1116
|
+
#### Returns
|
|
1117
|
+
|
|
1118
|
+
`UpdateUserRequest`
|
|
1119
|
+
|
|
1120
|
+
***
|
|
1121
|
+
|
|
1122
|
+
<a id="useauthapi"></a>
|
|
1123
|
+
|
|
1124
|
+
### useAuthApi()
|
|
1125
|
+
|
|
1126
|
+
```ts
|
|
1127
|
+
function useAuthApi(): AuthApi;
|
|
1128
|
+
```
|
|
1129
|
+
|
|
1130
|
+
Read the active auth API bundle (defaults to in-process `pyric/auth`).
|
|
1131
|
+
|
|
1132
|
+
#### Returns
|
|
1133
|
+
|
|
1134
|
+
[`AuthApi`](#authapi)
|
|
1135
|
+
|
|
1136
|
+
***
|
|
1137
|
+
|
|
1138
|
+
<a id="useauthflowhelper"></a>
|
|
1139
|
+
|
|
1140
|
+
### useAuthFlowHelper()
|
|
1141
|
+
|
|
1142
|
+
```ts
|
|
1143
|
+
function useAuthFlowHelper(auth: Auth): UseAuthFlowHelperResult;
|
|
1144
|
+
```
|
|
1145
|
+
|
|
1146
|
+
Emulator-style sign-in helper for a sandbox `Auth` handle.
|
|
1147
|
+
|
|
1148
|
+
Installs an [AuthFlowController](#authflowcontroller) as the handle's
|
|
1149
|
+
`AuthFlowResolver` for the lifetime of the calling component — the
|
|
1150
|
+
analog of browser `getAuth` wiring `browserPopupRedirectResolver`.
|
|
1151
|
+
While mounted, any `signInWithPopup` / `signInWithRedirect` call made
|
|
1152
|
+
against `auth` parks on `state.request`; render an account-picker UI
|
|
1153
|
+
(e.g. `<AuthSignInHelper>`) from `state` and settle with
|
|
1154
|
+
`pick` / `add` / `cancel`.
|
|
1155
|
+
|
|
1156
|
+
Install/uninstall is a paired effect, so the StrictMode double-mount
|
|
1157
|
+
installs and cleanly uninstalls. Sandbox-only: the controller throws
|
|
1158
|
+
`failed-precondition` if `auth` is prod-backed.
|
|
1159
|
+
|
|
1160
|
+
#### Parameters
|
|
1161
|
+
|
|
1162
|
+
| Parameter | Type |
|
|
1163
|
+
| :------ | :------ |
|
|
1164
|
+
| `auth` | `Auth` |
|
|
1165
|
+
|
|
1166
|
+
#### Returns
|
|
1167
|
+
|
|
1168
|
+
[`UseAuthFlowHelperResult`](#useauthflowhelperresult)
|
|
1169
|
+
|
|
1170
|
+
***
|
|
1171
|
+
|
|
1172
|
+
<a id="useauthproviderconfig"></a>
|
|
1173
|
+
|
|
1174
|
+
### useAuthProviderConfig()
|
|
1175
|
+
|
|
1176
|
+
```ts
|
|
1177
|
+
function useAuthProviderConfig(auth: Auth): UseAuthProviderConfigResult;
|
|
1178
|
+
```
|
|
1179
|
+
|
|
1180
|
+
Live sign-in provider config view over a sandbox `Auth` handle:
|
|
1181
|
+
`sandbox.getAuthProviderConfig` + `sandbox.subscribeAuthProviderConfig` +
|
|
1182
|
+
`sandbox.setAuthProviderConfig`. Mirrors `useAuthUsers`'s shape exactly
|
|
1183
|
+
(coarse "something changed, re-list" subscription; sync in-process,
|
|
1184
|
+
tolerates a promise over the SharedWorker client).
|
|
1185
|
+
|
|
1186
|
+
Sandbox-only: throws `failed-precondition` on a prod-backed handle (the
|
|
1187
|
+
hook surfaces that via `error`, same as `useAuthUsers`).
|
|
1188
|
+
|
|
1189
|
+
#### Parameters
|
|
1190
|
+
|
|
1191
|
+
| Parameter | Type |
|
|
1192
|
+
| :------ | :------ |
|
|
1193
|
+
| `auth` | `Auth` |
|
|
1194
|
+
|
|
1195
|
+
#### Returns
|
|
1196
|
+
|
|
1197
|
+
[`UseAuthProviderConfigResult`](#useauthproviderconfigresult)
|
|
1198
|
+
|
|
1199
|
+
***
|
|
1200
|
+
|
|
1201
|
+
<a id="useauthusereditor"></a>
|
|
1202
|
+
|
|
1203
|
+
### useAuthUserEditor()
|
|
1204
|
+
|
|
1205
|
+
```ts
|
|
1206
|
+
function useAuthUserEditor(options?: UseAuthUserEditorOptions): UseAuthUserEditorResult;
|
|
1207
|
+
```
|
|
1208
|
+
|
|
1209
|
+
Headless add/edit-user state machine (reducer-based, like
|
|
1210
|
+
`useDocumentEditor`): field edits, claims-JSON validation with
|
|
1211
|
+
emulator-grade messages, dirtiness vs the initial record, and payload
|
|
1212
|
+
builders for `useAuthUsers`' `createUser` / `updateUser`.
|
|
1213
|
+
|
|
1214
|
+
#### Parameters
|
|
1215
|
+
|
|
1216
|
+
| Parameter | Type |
|
|
1217
|
+
| :------ | :------ |
|
|
1218
|
+
| `options?` | [`UseAuthUserEditorOptions`](#useauthusereditoroptions) |
|
|
1219
|
+
|
|
1220
|
+
#### Returns
|
|
1221
|
+
|
|
1222
|
+
[`UseAuthUserEditorResult`](#useauthusereditorresult)
|
|
1223
|
+
|
|
1224
|
+
***
|
|
1225
|
+
|
|
1226
|
+
<a id="useauthusers"></a>
|
|
1227
|
+
|
|
1228
|
+
### useAuthUsers()
|
|
1229
|
+
|
|
1230
|
+
```ts
|
|
1231
|
+
function useAuthUsers(auth: Auth): UseAuthUsersResult;
|
|
1232
|
+
```
|
|
1233
|
+
|
|
1234
|
+
Live user-admin view over a sandbox `Auth` handle:
|
|
1235
|
+
`sandbox.listUsers` + `sandbox.subscribeUsers` + CRUD actions.
|
|
1236
|
+
|
|
1237
|
+
The subscription is coarse ("something changed"): any user-DB
|
|
1238
|
+
mutation (from these actions, the running app's sign-ups, the
|
|
1239
|
+
agent's seeding) triggers a re-list, so the view stays live without
|
|
1240
|
+
per-row bookkeeping. Filtering is client-side (the sandbox is
|
|
1241
|
+
in-process; there is no server to push the query to).
|
|
1242
|
+
|
|
1243
|
+
Mutation errors (e.g. `auth/uid-already-exists`) throw to the caller:
|
|
1244
|
+
handle them at the call site like the firestore hooks' `createDocument`.
|
|
1245
|
+
Sandbox-only: throws `failed-precondition` on a prod-backed handle (the
|
|
1246
|
+
hook surfaces that via `error`).
|
|
1247
|
+
|
|
1248
|
+
#### Parameters
|
|
1249
|
+
|
|
1250
|
+
| Parameter | Type |
|
|
1251
|
+
| :------ | :------ |
|
|
1252
|
+
| `auth` | `Auth` |
|
|
1253
|
+
|
|
1254
|
+
#### Returns
|
|
1255
|
+
|
|
1256
|
+
[`UseAuthUsersResult`](#useauthusersresult)
|
|
1257
|
+
|
|
1258
|
+
***
|
|
1259
|
+
|
|
1260
|
+
<a id="validateauthuserfields"></a>
|
|
1261
|
+
|
|
1262
|
+
### validateAuthUserFields()
|
|
1263
|
+
|
|
1264
|
+
```ts
|
|
1265
|
+
function validateAuthUserFields(fields: AuthUserEditorFields): AuthUserEditorErrors;
|
|
1266
|
+
```
|
|
1267
|
+
|
|
1268
|
+
#### Parameters
|
|
1269
|
+
|
|
1270
|
+
| Parameter | Type |
|
|
1271
|
+
| :------ | :------ |
|
|
1272
|
+
| `fields` | [`AuthUserEditorFields`](#authusereditorfields) |
|
|
1273
|
+
|
|
1274
|
+
#### Returns
|
|
1275
|
+
|
|
1276
|
+
[`AuthUserEditorErrors`](#authusereditorerrors)
|
|
1277
|
+
|
|
1278
|
+
***
|
|
1279
|
+
|
|
1280
|
+
<a id="validateserializedclaims"></a>
|
|
1281
|
+
|
|
1282
|
+
### validateSerializedClaims()
|
|
1283
|
+
|
|
1284
|
+
```ts
|
|
1285
|
+
function validateSerializedClaims(text: string): ClaimsValidationResult;
|
|
1286
|
+
```
|
|
1287
|
+
|
|
1288
|
+
Validate the claims textarea's raw text. Empty input is valid (no
|
|
1289
|
+
claims). Messages match the emulator UI verbatim so users see the
|
|
1290
|
+
same wording in both tools.
|
|
1291
|
+
|
|
1292
|
+
#### Parameters
|
|
1293
|
+
|
|
1294
|
+
| Parameter | Type |
|
|
1295
|
+
| :------ | :------ |
|
|
1296
|
+
| `text` | `string` |
|
|
1297
|
+
|
|
1298
|
+
#### Returns
|
|
1299
|
+
|
|
1300
|
+
[`ClaimsValidationResult`](#claimsvalidationresult)
|