@pyric/cli 0.1.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +216 -0
- package/README.md +156 -0
- package/README.md.orig +138 -0
- package/dist/assurance/attachment.d.ts +24 -0
- package/dist/assurance/attachment.d.ts.map +1 -0
- package/dist/assurance/attachment.js +138 -0
- package/dist/assurance/attachment.js.map +1 -0
- package/dist/assurance/browser.d.ts +7 -0
- package/dist/assurance/browser.d.ts.map +1 -0
- package/dist/assurance/browser.js +68 -0
- package/dist/assurance/browser.js.map +1 -0
- package/dist/assurance/campaign.d.ts +41 -0
- package/dist/assurance/campaign.d.ts.map +1 -0
- package/dist/assurance/campaign.js +364 -0
- package/dist/assurance/campaign.js.map +1 -0
- package/dist/assurance/capabilities.d.ts +7 -0
- package/dist/assurance/capabilities.d.ts.map +1 -0
- package/dist/assurance/capabilities.js +295 -0
- package/dist/assurance/capabilities.js.map +1 -0
- package/dist/assurance/cases.d.ts +14 -0
- package/dist/assurance/cases.d.ts.map +1 -0
- package/dist/assurance/cases.js +27 -0
- package/dist/assurance/cases.js.map +1 -0
- package/dist/assurance/generated-capabilities.d.ts +52 -0
- package/dist/assurance/generated-capabilities.d.ts.map +1 -0
- package/dist/assurance/generated-capabilities.js +329 -0
- package/dist/assurance/generated-capabilities.js.map +1 -0
- package/dist/assurance/index.d.ts +11 -0
- package/dist/assurance/index.d.ts.map +1 -0
- package/dist/assurance/index.js +9 -0
- package/dist/assurance/index.js.map +1 -0
- package/dist/assurance/runner.d.ts +3 -0
- package/dist/assurance/runner.d.ts.map +1 -0
- package/dist/assurance/runner.js +633 -0
- package/dist/assurance/runner.js.map +1 -0
- package/dist/assurance/tool-names.d.ts +4 -0
- package/dist/assurance/tool-names.d.ts.map +1 -0
- package/dist/assurance/tool-names.js +14 -0
- package/dist/assurance/tool-names.js.map +1 -0
- package/dist/assurance/tools.d.ts +19 -0
- package/dist/assurance/tools.d.ts.map +1 -0
- package/dist/assurance/tools.js +740 -0
- package/dist/assurance/tools.js.map +1 -0
- package/dist/assurance/types.d.ts +348 -0
- package/dist/assurance/types.d.ts.map +1 -0
- package/dist/assurance/types.js +7 -0
- package/dist/assurance/types.js.map +1 -0
- package/dist/assurance/validation.d.ts +8 -0
- package/dist/assurance/validation.d.ts.map +1 -0
- package/dist/assurance/validation.js +269 -0
- package/dist/assurance/validation.js.map +1 -0
- package/dist/bridge/client/bridge.d.ts +133 -0
- package/dist/bridge/client/bridge.d.ts.map +1 -0
- package/dist/bridge/client/bridge.js +429 -0
- package/dist/bridge/client/bridge.js.map +1 -0
- package/dist/bridge/client/dispatch.d.ts +41 -0
- package/dist/bridge/client/dispatch.d.ts.map +1 -0
- package/dist/bridge/client/dispatch.js +111 -0
- package/dist/bridge/client/dispatch.js.map +1 -0
- package/dist/bridge/client.d.ts +24 -0
- package/dist/bridge/client.d.ts.map +1 -0
- package/dist/bridge/client.js +26 -0
- package/dist/bridge/client.js.map +1 -0
- package/dist/bridge/protocol.d.ts +227 -0
- package/dist/bridge/protocol.d.ts.map +1 -0
- package/dist/bridge/protocol.js +131 -0
- package/dist/bridge/protocol.js.map +1 -0
- package/dist/bridge/server/audit.d.ts +19 -0
- package/dist/bridge/server/audit.d.ts.map +1 -0
- package/dist/bridge/server/audit.js +46 -0
- package/dist/bridge/server/audit.js.map +1 -0
- package/dist/bridge/server/bridge.d.ts +126 -0
- package/dist/bridge/server/bridge.d.ts.map +1 -0
- package/dist/bridge/server/bridge.js +383 -0
- package/dist/bridge/server/bridge.js.map +1 -0
- package/dist/bridge/server/headless.d.ts +36 -0
- package/dist/bridge/server/headless.d.ts.map +1 -0
- package/dist/bridge/server/headless.js +142 -0
- package/dist/bridge/server/headless.js.map +1 -0
- package/dist/bridge/server/json-schema-to-zod.d.ts +37 -0
- package/dist/bridge/server/json-schema-to-zod.d.ts.map +1 -0
- package/dist/bridge/server/json-schema-to-zod.js +93 -0
- package/dist/bridge/server/json-schema-to-zod.js.map +1 -0
- package/dist/bridge/server/local-bridge.d.ts +33 -0
- package/dist/bridge/server/local-bridge.d.ts.map +1 -0
- package/dist/bridge/server/local-bridge.js +41 -0
- package/dist/bridge/server/local-bridge.js.map +1 -0
- package/dist/bridge/server/logger.d.ts +28 -0
- package/dist/bridge/server/logger.d.ts.map +1 -0
- package/dist/bridge/server/logger.js +42 -0
- package/dist/bridge/server/logger.js.map +1 -0
- package/dist/bridge/server/mcp-contract.d.ts +21 -0
- package/dist/bridge/server/mcp-contract.d.ts.map +1 -0
- package/dist/bridge/server/mcp-contract.js +62 -0
- package/dist/bridge/server/mcp-contract.js.map +1 -0
- package/dist/bridge/server/mcp.d.ts +26 -0
- package/dist/bridge/server/mcp.d.ts.map +1 -0
- package/dist/bridge/server/mcp.js +102 -0
- package/dist/bridge/server/mcp.js.map +1 -0
- package/dist/bridge/server/peer.d.ts +39 -0
- package/dist/bridge/server/peer.d.ts.map +1 -0
- package/dist/bridge/server/peer.js +189 -0
- package/dist/bridge/server/peer.js.map +1 -0
- package/dist/bridge/server/standalone.d.ts +49 -0
- package/dist/bridge/server/standalone.d.ts.map +1 -0
- package/dist/bridge/server/standalone.js +267 -0
- package/dist/bridge/server/standalone.js.map +1 -0
- package/dist/bridge/server/tool-metadata.d.ts +38 -0
- package/dist/bridge/server/tool-metadata.d.ts.map +1 -0
- package/dist/bridge/server/tool-metadata.js +81 -0
- package/dist/bridge/server/tool-metadata.js.map +1 -0
- package/dist/bridge/server.d.ts +21 -0
- package/dist/bridge/server.d.ts.map +1 -0
- package/dist/bridge/server.js +18 -0
- package/dist/bridge/server.js.map +1 -0
- package/dist/cli/database-rules.d.ts +43 -0
- package/dist/cli/database-rules.d.ts.map +1 -0
- package/dist/cli/database-rules.js +261 -0
- package/dist/cli/database-rules.js.map +1 -0
- package/dist/cli/dev-runner.d.ts +112 -0
- package/dist/cli/dev-runner.d.ts.map +1 -0
- package/dist/cli/dev-runner.js +239 -0
- package/dist/cli/dev-runner.js.map +1 -0
- package/dist/cli/firebase-json.d.ts +66 -0
- package/dist/cli/firebase-json.d.ts.map +1 -0
- package/dist/cli/firebase-json.js +60 -0
- package/dist/cli/firebase-json.js.map +1 -0
- package/dist/cli/firestore-indexes.d.ts +21 -0
- package/dist/cli/firestore-indexes.d.ts.map +1 -0
- package/dist/cli/firestore-indexes.js +39 -0
- package/dist/cli/firestore-indexes.js.map +1 -0
- package/dist/cli/index.d.ts +56 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +379 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +50 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +182 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/mcp-proxy.d.ts +10 -0
- package/dist/cli/mcp-proxy.d.ts.map +1 -0
- package/dist/cli/mcp-proxy.js +129 -0
- package/dist/cli/mcp-proxy.js.map +1 -0
- package/dist/cli/parse-args.d.ts +20 -0
- package/dist/cli/parse-args.d.ts.map +1 -0
- package/dist/cli/parse-args.js +69 -0
- package/dist/cli/parse-args.js.map +1 -0
- package/dist/cli/rules.d.ts +55 -0
- package/dist/cli/rules.d.ts.map +1 -0
- package/dist/cli/rules.js +199 -0
- package/dist/cli/rules.js.map +1 -0
- package/dist/cli/scope.d.ts +12 -0
- package/dist/cli/scope.d.ts.map +1 -0
- package/dist/cli/scope.js +44 -0
- package/dist/cli/scope.js.map +1 -0
- package/dist/cli/serve.d.ts +122 -0
- package/dist/cli/serve.d.ts.map +1 -0
- package/dist/cli/serve.js +844 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/service-commands.d.ts +8 -0
- package/dist/cli/service-commands.d.ts.map +1 -0
- package/dist/cli/service-commands.js +58 -0
- package/dist/cli/service-commands.js.map +1 -0
- package/dist/cli/snapshot.d.ts +22 -0
- package/dist/cli/snapshot.d.ts.map +1 -0
- package/dist/cli/snapshot.js +139 -0
- package/dist/cli/snapshot.js.map +1 -0
- package/dist/cli/storage-rules.d.ts +21 -0
- package/dist/cli/storage-rules.d.ts.map +1 -0
- package/dist/cli/storage-rules.js +121 -0
- package/dist/cli/storage-rules.js.map +1 -0
- package/dist/cli/verify.d.ts +23 -0
- package/dist/cli/verify.d.ts.map +1 -0
- package/dist/cli/verify.js +349 -0
- package/dist/cli/verify.js.map +1 -0
- package/dist/credentials/core/memoize-ttl.d.ts +58 -0
- package/dist/credentials/core/memoize-ttl.d.ts.map +1 -0
- package/dist/credentials/core/memoize-ttl.js +88 -0
- package/dist/credentials/core/memoize-ttl.js.map +1 -0
- package/dist/credentials/core/types.d.ts +11 -0
- package/dist/credentials/core/types.d.ts.map +1 -0
- package/dist/credentials/core/types.js +2 -0
- package/dist/credentials/core/types.js.map +1 -0
- package/dist/credentials/node/from-adc.d.ts +10 -0
- package/dist/credentials/node/from-adc.d.ts.map +1 -0
- package/dist/credentials/node/from-adc.js +76 -0
- package/dist/credentials/node/from-adc.js.map +1 -0
- package/dist/credentials/node/from-service-account.d.ts +24 -0
- package/dist/credentials/node/from-service-account.d.ts.map +1 -0
- package/dist/credentials/node/from-service-account.js +108 -0
- package/dist/credentials/node/from-service-account.js.map +1 -0
- package/dist/credentials/node/index.d.ts +7 -0
- package/dist/credentials/node/index.d.ts.map +1 -0
- package/dist/credentials/node/index.js +7 -0
- package/dist/credentials/node/index.js.map +1 -0
- package/dist/discover/concurrency.d.ts +42 -0
- package/dist/discover/concurrency.d.ts.map +1 -0
- package/dist/discover/concurrency.js +113 -0
- package/dist/discover/concurrency.js.map +1 -0
- package/dist/discover/crawler-adapter.d.ts +48 -0
- package/dist/discover/crawler-adapter.d.ts.map +1 -0
- package/dist/discover/crawler-adapter.js +92 -0
- package/dist/discover/crawler-adapter.js.map +1 -0
- package/dist/discover/crawler.d.ts +294 -0
- package/dist/discover/crawler.d.ts.map +1 -0
- package/dist/discover/crawler.js +764 -0
- package/dist/discover/crawler.js.map +1 -0
- package/dist/discover/credential-free.d.ts +19 -0
- package/dist/discover/credential-free.d.ts.map +1 -0
- package/dist/discover/credential-free.js +18 -0
- package/dist/discover/credential-free.js.map +1 -0
- package/dist/discover/findCollectionGroup.d.ts +44 -0
- package/dist/discover/findCollectionGroup.d.ts.map +1 -0
- package/dist/discover/findCollectionGroup.js +81 -0
- package/dist/discover/findCollectionGroup.js.map +1 -0
- package/dist/discover/firestore-source.d.ts +60 -0
- package/dist/discover/firestore-source.d.ts.map +1 -0
- package/dist/discover/firestore-source.js +11 -0
- package/dist/discover/firestore-source.js.map +1 -0
- package/dist/discover/index.d.ts +3 -0
- package/dist/discover/index.d.ts.map +1 -0
- package/dist/discover/index.js +5 -0
- package/dist/discover/index.js.map +1 -0
- package/dist/discover/merge.d.ts +108 -0
- package/dist/discover/merge.d.ts.map +1 -0
- package/dist/discover/merge.js +394 -0
- package/dist/discover/merge.js.map +1 -0
- package/dist/discover/session.d.ts +116 -0
- package/dist/discover/session.d.ts.map +1 -0
- package/dist/discover/session.js +331 -0
- package/dist/discover/session.js.map +1 -0
- package/dist/discover/tools.d.ts +58 -0
- package/dist/discover/tools.d.ts.map +1 -0
- package/dist/discover/tools.js +115 -0
- package/dist/discover/tools.js.map +1 -0
- package/dist/discover/types.d.ts +190 -0
- package/dist/discover/types.d.ts.map +1 -0
- package/dist/discover/types.js +12 -0
- package/dist/discover/types.js.map +1 -0
- package/dist/discover/wire.d.ts +70 -0
- package/dist/discover/wire.d.ts.map +1 -0
- package/dist/discover/wire.js +309 -0
- package/dist/discover/wire.js.map +1 -0
- package/dist/functions-rtdb/child.d.ts +52 -0
- package/dist/functions-rtdb/child.d.ts.map +1 -0
- package/dist/functions-rtdb/child.js +283 -0
- package/dist/functions-rtdb/child.js.map +1 -0
- package/dist/functions-rtdb/delivery.d.ts +4 -0
- package/dist/functions-rtdb/delivery.d.ts.map +1 -0
- package/dist/functions-rtdb/delivery.js +2 -0
- package/dist/functions-rtdb/delivery.js.map +1 -0
- package/dist/functions-rtdb/discovery.d.ts +41 -0
- package/dist/functions-rtdb/discovery.d.ts.map +1 -0
- package/dist/functions-rtdb/discovery.js +86 -0
- package/dist/functions-rtdb/discovery.js.map +1 -0
- package/dist/functions-rtdb/event.d.ts +20 -0
- package/dist/functions-rtdb/event.d.ts.map +1 -0
- package/dist/functions-rtdb/event.js +45 -0
- package/dist/functions-rtdb/event.js.map +1 -0
- package/dist/functions-rtdb/execution.d.ts +20 -0
- package/dist/functions-rtdb/execution.d.ts.map +1 -0
- package/dist/functions-rtdb/execution.js +70 -0
- package/dist/functions-rtdb/execution.js.map +1 -0
- package/dist/functions-rtdb/in-memory-delivery.d.ts +9 -0
- package/dist/functions-rtdb/in-memory-delivery.d.ts.map +1 -0
- package/dist/functions-rtdb/in-memory-delivery.js +36 -0
- package/dist/functions-rtdb/in-memory-delivery.js.map +1 -0
- package/dist/functions-rtdb/project.d.ts +7 -0
- package/dist/functions-rtdb/project.d.ts.map +1 -0
- package/dist/functions-rtdb/project.js +54 -0
- package/dist/functions-rtdb/project.js.map +1 -0
- package/dist/functions-rtdb/projection.d.ts +14 -0
- package/dist/functions-rtdb/projection.d.ts.map +1 -0
- package/dist/functions-rtdb/projection.js +65 -0
- package/dist/functions-rtdb/projection.js.map +1 -0
- package/dist/functions-rtdb/reference-pattern.d.ts +5 -0
- package/dist/functions-rtdb/reference-pattern.d.ts.map +1 -0
- package/dist/functions-rtdb/reference-pattern.js +14 -0
- package/dist/functions-rtdb/reference-pattern.js.map +1 -0
- package/dist/functions-rtdb/remote-delivery.d.ts +9 -0
- package/dist/functions-rtdb/remote-delivery.d.ts.map +1 -0
- package/dist/functions-rtdb/remote-delivery.js +11 -0
- package/dist/functions-rtdb/remote-delivery.js.map +1 -0
- package/dist/pkg-version.d.ts +2 -0
- package/dist/pkg-version.d.ts.map +1 -0
- package/dist/pkg-version.js +47 -0
- package/dist/pkg-version.js.map +1 -0
- package/dist/register/esm-exports.d.ts +26 -0
- package/dist/register/esm-exports.d.ts.map +1 -0
- package/dist/register/esm-exports.js +61 -0
- package/dist/register/esm-exports.js.map +1 -0
- package/dist/register/hooks.d.ts +13 -0
- package/dist/register/hooks.d.ts.map +1 -0
- package/dist/register/hooks.js +15 -0
- package/dist/register/hooks.js.map +1 -0
- package/dist/register/index.d.ts +5 -0
- package/dist/register/index.d.ts.map +1 -0
- package/dist/register/index.js +124 -0
- package/dist/register/index.js.map +1 -0
- package/dist/register/mapping.d.ts +19 -0
- package/dist/register/mapping.d.ts.map +1 -0
- package/dist/register/mapping.js +35 -0
- package/dist/register/mapping.js.map +1 -0
- package/dist/remote/index.d.ts +232 -0
- package/dist/remote/index.d.ts.map +1 -0
- package/dist/remote/index.js +720 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/rtdb/crawl-snapshot.d.ts +17 -0
- package/dist/rtdb/crawl-snapshot.d.ts.map +1 -0
- package/dist/rtdb/crawl-snapshot.js +72 -0
- package/dist/rtdb/crawl-snapshot.js.map +1 -0
- package/dist/rtdb/inspection.d.ts +8 -0
- package/dist/rtdb/inspection.d.ts.map +1 -0
- package/dist/rtdb/inspection.js +111 -0
- package/dist/rtdb/inspection.js.map +1 -0
- package/dist/rtdb/load-rules-document.d.ts +25 -0
- package/dist/rtdb/load-rules-document.d.ts.map +1 -0
- package/dist/rtdb/load-rules-document.js +38 -0
- package/dist/rtdb/load-rules-document.js.map +1 -0
- package/dist/rtdb/rules-generation-tool.d.ts +4 -0
- package/dist/rtdb/rules-generation-tool.d.ts.map +1 -0
- package/dist/rtdb/rules-generation-tool.js +35 -0
- package/dist/rtdb/rules-generation-tool.js.map +1 -0
- package/dist/rtdb/rules-json.d.ts +8 -0
- package/dist/rtdb/rules-json.d.ts.map +1 -0
- package/dist/rtdb/rules-json.js +17 -0
- package/dist/rtdb/rules-json.js.map +1 -0
- package/dist/serve/bridge-mount.d.ts +36 -0
- package/dist/serve/bridge-mount.d.ts.map +1 -0
- package/dist/serve/bridge-mount.js +162 -0
- package/dist/serve/bridge-mount.js.map +1 -0
- package/dist/serve/bundler.d.ts +110 -0
- package/dist/serve/bundler.d.ts.map +1 -0
- package/dist/serve/bundler.js +432 -0
- package/dist/serve/bundler.js.map +1 -0
- package/dist/serve/capture-store.d.ts +27 -0
- package/dist/serve/capture-store.d.ts.map +1 -0
- package/dist/serve/capture-store.js +47 -0
- package/dist/serve/capture-store.js.map +1 -0
- package/dist/serve/discovery.d.ts +71 -0
- package/dist/serve/discovery.d.ts.map +1 -0
- package/dist/serve/discovery.js +158 -0
- package/dist/serve/discovery.js.map +1 -0
- package/dist/serve/docs-ui/_astro/_slug_.CQYSemvw.css +1 -0
- package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
- package/dist/serve/docs-ui/docs/_rhythm.md +101 -0
- package/dist/serve/docs-ui/docs/api-reference/index.html +64 -0
- package/dist/serve/docs-ui/docs/api-reference.md +67 -0
- package/dist/serve/docs-ui/docs/audit-your-rules/index.html +34 -0
- package/dist/serve/docs-ui/docs/audit-your-rules.md +50 -0
- package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +498 -0
- package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +345 -0
- package/dist/serve/docs-ui/docs/firestore-rules-limits/index.html +59 -0
- package/dist/serve/docs-ui/docs/firestore-rules-limits.md +54 -0
- package/dist/serve/docs-ui/docs/how-the-swap-works/index.html +47 -0
- package/dist/serve/docs-ui/docs/how-the-swap-works.md +43 -0
- package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase/index.html +131 -0
- package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase.md +169 -0
- package/dist/serve/docs-ui/docs/index.html +2 -0
- package/dist/serve/docs-ui/docs/index.json +18637 -0
- package/dist/serve/docs-ui/docs/overview/index.html +23 -0
- package/dist/serve/docs-ui/docs/overview.md +40 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app/index.html +19 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +185 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +206 -0
- package/dist/serve/docs-ui/docs/pyric-admin-app.md +27 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth/index.html +24 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +617 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +441 -0
- package/dist/serve/docs-ui/docs/pyric-admin-auth.md +29 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database/index.html +26 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +583 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +597 -0
- package/dist/serve/docs-ui/docs/pyric-admin-database.md +31 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore/index.html +38 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation/index.html +57 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation.md +95 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate.md +94 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules/index.html +62 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules.md +96 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot/index.html +57 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +32 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +30 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot/index.html +68 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot.md +81 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types/index.html +76 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types.md +103 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore/index.html +40 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore.md +77 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session/index.html +118 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session.md +166 -0
- package/dist/serve/docs-ui/docs/pyric-admin-firestore.md +53 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage/index.html +25 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +317 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +285 -0
- package/dist/serve/docs-ui/docs/pyric-admin-storage.md +30 -0
- package/dist/serve/docs-ui/docs/pyric-ai-compat/index.html +436 -0
- package/dist/serve/docs-ui/docs/pyric-ai-compat.md +471 -0
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +5831 -0
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5440 -0
- package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +159 -0
- package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +122 -0
- package/dist/serve/docs-ui/docs/pyric-app-compat/index.html +180 -0
- package/dist/serve/docs-ui/docs/pyric-app-compat.md +199 -0
- package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +420 -0
- package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +326 -0
- package/dist/serve/docs-ui/docs/pyric-auth/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-auth-compat/index.html +804 -0
- package/dist/serve/docs-ui/docs/pyric-auth-compat.md +847 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +5452 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +5271 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix/index.html +781 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix.md +198 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver.md +108 -0
- package/dist/serve/docs-ui/docs/pyric-auth.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-cli/index.html +40 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +98 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +2355 -0
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1554 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge/index.html +69 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +546 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +485 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +506 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +419 -0
- package/dist/serve/docs-ui/docs/pyric-cli-bridge.md +99 -0
- package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +59 -0
- package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +2355 -0
- package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +2036 -0
- package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat/index.html +112 -0
- package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat.md +124 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary/index.html +91 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary.md +105 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture.md +98 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated.md +100 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab/index.html +228 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab.md +179 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin/index.html +341 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin.md +309 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session/index.html +128 -0
- package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session.md +207 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-cli/index.html +404 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-cli.md +249 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution/index.html +93 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution.md +65 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-verify/index.html +81 -0
- package/dist/serve/docs-ui/docs/pyric-cli-reference-verify.md +110 -0
- package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +10 -0
- package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +16 -0
- package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1044 -0
- package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +952 -0
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +5041 -0
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +4739 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption/index.html +219 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption.md +251 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code/index.html +136 -0
- package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code.md +217 -0
- package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +926 -0
- package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +586 -0
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +102 -0
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-cli.md +42 -0
- package/dist/serve/docs-ui/docs/pyric-conformance-scores/index.html +180 -0
- package/dist/serve/docs-ui/docs/pyric-conformance-scores.md +184 -0
- package/dist/serve/docs-ui/docs/pyric-database/index.html +43 -0
- package/dist/serve/docs-ui/docs/pyric-database-compat/index.html +1224 -0
- package/dist/serve/docs-ui/docs/pyric-database-compat.md +1289 -0
- package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate/index.html +16 -0
- package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate.md +23 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1851 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +1842 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-constraints/index.html +381 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-constraints.md +168 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling/index.html +218 -0
- package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling.md +303 -0
- package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints/index.html +125 -0
- package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints.md +171 -0
- package/dist/serve/docs-ui/docs/pyric-database.md +26 -0
- package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility/index.html +40 -0
- package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility.md +68 -0
- package/dist/serve/docs-ui/docs/pyric-firestore/index.html +48 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-compat/index.html +868 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-compat.md +939 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate.md +70 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity.md +91 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface/index.html +43 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface.md +58 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend.md +83 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction/index.html +42 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction.md +59 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot.md +96 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops/index.html +61 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +3623 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +3399 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix.md +66 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore/index.html +46 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore.md +73 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints/index.html +80 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints.md +129 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories/index.html +51 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories.md +71 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo/index.html +130 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo.md +180 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend/index.html +59 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +30 -0
- package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +30 -0
- package/dist/serve/docs-ui/docs/pyric-firestore.md +72 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-compat/index.html +300 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-compat.md +321 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +508 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +374 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +482 -0
- package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +348 -0
- package/dist/serve/docs-ui/docs/pyric-rules/index.html +87 -0
- package/dist/serve/docs-ui/docs/pyric-rules-compat/index.html +328 -0
- package/dist/serve/docs-ui/docs/pyric-rules-compat.md +347 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes.md +78 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test/index.html +79 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates.md +75 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine/index.html +49 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine.md +74 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api/index.html +95 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api.md +80 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension.md +79 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design.md +84 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists/index.html +34 -0
- package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists.md +43 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening/index.html +55 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening.md +77 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast/index.html +90 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast.md +129 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source/index.html +55 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source.md +84 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time/index.html +49 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time.md +64 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent/index.html +61 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent.md +87 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports/index.html +93 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports.md +105 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally/index.html +89 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally.md +134 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase.md +102 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +2629 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +2213 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-ast/index.html +85 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-ast.md +121 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps/index.html +277 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps.md +360 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-errors/index.html +76 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-errors.md +123 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules/index.html +148 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules.md +159 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context.md +104 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules/index.html +241 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules.md +143 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema/index.html +94 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema.md +121 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings/index.html +87 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings.md +117 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers/index.html +102 -0
- package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers.md +152 -0
- package/dist/serve/docs-ui/docs/pyric-rules.md +93 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox/index.html +67 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +120 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +110 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request/index.html +141 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request.md +161 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context/index.html +66 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context.md +110 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol/index.html +71 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol.md +111 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation/index.html +56 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline/index.html +64 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline.md +56 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings/index.html +92 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings.md +90 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists/index.html +69 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists.md +57 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +202 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +134 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes/index.html +63 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes.md +89 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events/index.html +159 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events.md +168 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter/index.html +79 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter.md +75 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events/index.html +88 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests/index.html +68 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests.md +92 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules/index.html +91 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules.md +122 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users.md +78 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads/index.html +54 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads.md +85 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +5019 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +4060 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences/index.html +125 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences.md +151 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes/index.html +110 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes.md +118 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol/index.html +72 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol.md +109 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context/index.html +90 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context.md +140 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event/index.html +146 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event.md +204 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin.md +89 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session/index.html +115 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session.md +176 -0
- package/dist/serve/docs-ui/docs/pyric-sandbox.md +69 -0
- package/dist/serve/docs-ui/docs/pyric-storage/index.html +65 -0
- package/dist/serve/docs-ui/docs/pyric-storage-compat/index.html +676 -0
- package/dist/serve/docs-ui/docs/pyric-storage-compat.md +699 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope/index.html +52 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope.md +85 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case/index.html +58 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb/index.html +50 -0
- package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb.md +82 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules/index.html +120 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules.md +127 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete/index.html +53 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete.md +86 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends/index.html +43 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends.md +65 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions/index.html +70 -0
- package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions.md +88 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +2120 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +1687 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps/index.html +137 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps.md +171 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes/index.html +37 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes.md +57 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset/index.html +96 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset.md +134 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options/index.html +39 -0
- package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options.md +61 -0
- package/dist/serve/docs-ui/docs/pyric-storage.md +67 -0
- package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +638 -0
- package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +430 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +813 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +634 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1708 -0
- package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +1300 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +177 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +111 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1542 -0
- package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +903 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1024 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +640 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +2753 -0
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +2171 -0
- package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1005 -0
- package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +693 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1388 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +1340 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +131 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +76 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +648 -0
- package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +508 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1457 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +1029 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +2476 -0
- package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +1919 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1241 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +817 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +2289 -0
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +1489 -0
- package/dist/serve/docs-ui/docs/read-a-denial/index.html +40 -0
- package/dist/serve/docs-ui/docs/read-a-denial.md +62 -0
- package/dist/serve/docs-ui/docs/receive-messages/index.html +28 -0
- package/dist/serve/docs-ui/docs/receive-messages.md +43 -0
- package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript/index.html +67 -0
- package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript.md +101 -0
- package/dist/serve/docs-ui/docs/rules-patterns/index.html +68 -0
- package/dist/serve/docs-ui/docs/rules-patterns.md +104 -0
- package/dist/serve/docs-ui/docs/rules-standard-library/index.html +87 -0
- package/dist/serve/docs-ui/docs/rules-standard-library.md +93 -0
- package/dist/serve/docs-ui/docs/run-ai-logic-locally/index.html +27 -0
- package/dist/serve/docs-ui/docs/run-ai-logic-locally.md +43 -0
- package/dist/serve/docs-ui/docs/secure-it-with-rules/index.html +69 -0
- package/dist/serve/docs-ui/docs/secure-it-with-rules.md +101 -0
- package/dist/serve/docs-ui/docs/see-whats-happening/index.html +73 -0
- package/dist/serve/docs-ui/docs/see-whats-happening.md +77 -0
- package/dist/serve/docs-ui/docs/set-up-the-project/index.html +14 -0
- package/dist/serve/docs-ui/docs/set-up-the-project.md +19 -0
- package/dist/serve/docs-ui/docs/set-up-your-agent/index.html +42 -0
- package/dist/serve/docs-ui/docs/set-up-your-agent.md +86 -0
- package/dist/serve/docs-ui/docs/shape-your-data/index.html +44 -0
- package/dist/serve/docs-ui/docs/shape-your-data.md +88 -0
- package/dist/serve/docs-ui/docs/ship-to-production/index.html +36 -0
- package/dist/serve/docs-ui/docs/ship-to-production.md +80 -0
- package/dist/serve/docs-ui/docs/sign-in-and-manage-users/index.html +31 -0
- package/dist/serve/docs-ui/docs/sign-in-and-manage-users.md +50 -0
- package/dist/serve/docs-ui/docs/simulate-and-lint/index.html +95 -0
- package/dist/serve/docs-ui/docs/simulate-and-lint.md +99 -0
- package/dist/serve/docs-ui/docs/skills/index.html +20 -0
- package/dist/serve/docs-ui/docs/skills.md +34 -0
- package/dist/serve/docs-ui/docs/start-building/index.html +32 -0
- package/dist/serve/docs-ui/docs/start-building.md +64 -0
- package/dist/serve/docs-ui/docs/store-and-query-data/index.html +16 -0
- package/dist/serve/docs-ui/docs/store-and-query-data.md +33 -0
- package/dist/serve/docs-ui/docs/store-files/index.html +13 -0
- package/dist/serve/docs-ui/docs/store-files.md +25 -0
- package/dist/serve/docs-ui/docs/sync-realtime-data/index.html +15 -0
- package/dist/serve/docs-ui/docs/sync-realtime-data.md +27 -0
- package/dist/serve/docs-ui/docs/test-in-node/index.html +74 -0
- package/dist/serve/docs-ui/docs/test-in-node.md +100 -0
- package/dist/serve/docs-ui/docs/ui/index.html +76 -0
- package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper/index.html +194 -0
- package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper.md +114 -0
- package/dist/serve/docs-ui/docs/ui-auth-authusers/index.html +263 -0
- package/dist/serve/docs-ui/docs/ui-auth-authusers.md +183 -0
- package/dist/serve/docs-ui/docs/ui-firestore-collectionlist/index.html +92 -0
- package/dist/serve/docs-ui/docs/ui-firestore-collectionlist.md +79 -0
- package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm/index.html +128 -0
- package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm.md +104 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documenteditor/index.html +154 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documenteditor.md +117 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentlist/index.html +132 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentlist.md +92 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentpreview/index.html +159 -0
- package/dist/serve/docs-ui/docs/ui-firestore-documentpreview.md +84 -0
- package/dist/serve/docs-ui/docs/ui-firestore-querybuilder/index.html +104 -0
- package/dist/serve/docs-ui/docs/ui-firestore-querybuilder.md +103 -0
- package/dist/serve/docs-ui/docs/ui-firestore-referencepicker/index.html +113 -0
- package/dist/serve/docs-ui/docs/ui-firestore-referencepicker.md +93 -0
- package/dist/serve/docs-ui/docs/ui-primitives-badge/index.html +56 -0
- package/dist/serve/docs-ui/docs/ui-primitives-badge.md +40 -0
- package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog/index.html +140 -0
- package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog.md +108 -0
- package/dist/serve/docs-ui/docs/ui-primitives-copybutton/index.html +58 -0
- package/dist/serve/docs-ui/docs/ui-primitives-copybutton.md +37 -0
- package/dist/serve/docs-ui/docs/ui-primitives-jsonview/index.html +58 -0
- package/dist/serve/docs-ui/docs/ui-primitives-jsonview.md +47 -0
- package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol/index.html +70 -0
- package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol.md +50 -0
- package/dist/serve/docs-ui/docs/ui-primitives-toast/index.html +87 -0
- package/dist/serve/docs-ui/docs/ui-primitives-toast.md +82 -0
- package/dist/serve/docs-ui/docs/ui-primitives-virtuallist/index.html +85 -0
- package/dist/serve/docs-ui/docs/ui-primitives-virtuallist.md +54 -0
- package/dist/serve/docs-ui/docs/ui-storage/index.html +150 -0
- package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm/index.html +126 -0
- package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm.md +88 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectbrowser/index.html +137 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectbrowser.md +90 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectinspector/index.html +139 -0
- package/dist/serve/docs-ui/docs/ui-storage-objectinspector.md +93 -0
- package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb/index.html +72 -0
- package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb.md +57 -0
- package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances/index.html +60 -0
- package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances.md +52 -0
- package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone/index.html +93 -0
- package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone.md +78 -0
- package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate/index.html +144 -0
- package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate.md +101 -0
- package/dist/serve/docs-ui/docs/ui-storage.md +165 -0
- package/dist/serve/docs-ui/docs/ui-traffic/index.html +88 -0
- package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap/index.html +79 -0
- package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap.md +60 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail/index.html +78 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail.md +59 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficlog/index.html +118 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficlog.md +69 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficstats/index.html +51 -0
- package/dist/serve/docs-ui/docs/ui-traffic-trafficstats.md +46 -0
- package/dist/serve/docs-ui/docs/ui-traffic.md +102 -0
- package/dist/serve/docs-ui/docs/ui.md +90 -0
- package/dist/serve/docs-ui/docs/watch-and-review/index.html +25 -0
- package/dist/serve/docs-ui/docs/watch-and-review.md +40 -0
- package/dist/serve/docs-ui/docs/what-your-agent-can-do/index.html +81 -0
- package/dist/serve/docs-ui/docs/what-your-agent-can-do.md +78 -0
- package/dist/serve/docs-ui/docs/whats-experimental/index.html +22 -0
- package/dist/serve/docs-ui/docs/whats-experimental.md +33 -0
- package/dist/serve/docs-ui/docs/whats-possible/index.html +63 -0
- package/dist/serve/docs-ui/docs/whats-possible.md +53 -0
- package/dist/serve/docs-ui/docs/which-data-service/index.html +8 -0
- package/dist/serve/docs-ui/docs/which-data-service.md +11 -0
- package/dist/serve/docs-ui/docs/write-a-rules-test-suite/index.html +85 -0
- package/dist/serve/docs-ui/docs/write-a-rules-test-suite.md +119 -0
- package/dist/serve/docs-ui/index.html +1 -0
- package/dist/serve/docs-ui/llms.txt +308 -0
- package/dist/serve/entries/ai.d.ts +4 -0
- package/dist/serve/entries/ai.d.ts.map +1 -0
- package/dist/serve/entries/ai.js +184 -0
- package/dist/serve/entries/ai.js.map +1 -0
- package/dist/serve/entries/app-backend.d.ts +2 -0
- package/dist/serve/entries/app-backend.d.ts.map +1 -0
- package/dist/serve/entries/app-backend.js +4 -0
- package/dist/serve/entries/app-backend.js.map +1 -0
- package/dist/serve/entries/app-client.d.ts +5 -0
- package/dist/serve/entries/app-client.d.ts.map +1 -0
- package/dist/serve/entries/app-client.js +23 -0
- package/dist/serve/entries/app-client.js.map +1 -0
- package/dist/serve/entries/app-session-store.d.ts +14 -0
- package/dist/serve/entries/app-session-store.d.ts.map +1 -0
- package/dist/serve/entries/app-session-store.js +37 -0
- package/dist/serve/entries/app-session-store.js.map +1 -0
- package/dist/serve/entries/app.d.ts +2 -0
- package/dist/serve/entries/app.d.ts.map +1 -0
- package/dist/serve/entries/app.js +10 -0
- package/dist/serve/entries/app.js.map +1 -0
- package/dist/serve/entries/auth-helper-core.d.ts +52 -0
- package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-core.js +118 -0
- package/dist/serve/entries/auth-helper-core.js.map +1 -0
- package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
- package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-dom.js +116 -0
- package/dist/serve/entries/auth-helper-dom.js.map +1 -0
- package/dist/serve/entries/auth-helper-runtime.d.ts +5 -0
- package/dist/serve/entries/auth-helper-runtime.d.ts.map +1 -0
- package/dist/serve/entries/auth-helper-runtime.js +11 -0
- package/dist/serve/entries/auth-helper-runtime.js.map +1 -0
- package/dist/serve/entries/auth.d.ts +77 -0
- package/dist/serve/entries/auth.d.ts.map +1 -0
- package/dist/serve/entries/auth.js +201 -0
- package/dist/serve/entries/auth.js.map +1 -0
- package/dist/serve/entries/bridge-url.d.ts +25 -0
- package/dist/serve/entries/bridge-url.d.ts.map +1 -0
- package/dist/serve/entries/bridge-url.js +30 -0
- package/dist/serve/entries/bridge-url.js.map +1 -0
- package/dist/serve/entries/database.d.ts +46 -0
- package/dist/serve/entries/database.d.ts.map +1 -0
- package/dist/serve/entries/database.js +80 -0
- package/dist/serve/entries/database.js.map +1 -0
- package/dist/serve/entries/firestore.d.ts +104 -0
- package/dist/serve/entries/firestore.d.ts.map +1 -0
- package/dist/serve/entries/firestore.js +202 -0
- package/dist/serve/entries/firestore.js.map +1 -0
- package/dist/serve/entries/init.d.ts +2 -0
- package/dist/serve/entries/init.d.ts.map +1 -0
- package/dist/serve/entries/init.js +40 -0
- package/dist/serve/entries/init.js.map +1 -0
- package/dist/serve/entries/keepalive.d.ts +20 -0
- package/dist/serve/entries/keepalive.d.ts.map +1 -0
- package/dist/serve/entries/keepalive.js +38 -0
- package/dist/serve/entries/keepalive.js.map +1 -0
- package/dist/serve/entries/messaging-sw.d.ts +10 -0
- package/dist/serve/entries/messaging-sw.d.ts.map +1 -0
- package/dist/serve/entries/messaging-sw.js +36 -0
- package/dist/serve/entries/messaging-sw.js.map +1 -0
- package/dist/serve/entries/messaging.d.ts +11 -0
- package/dist/serve/entries/messaging.d.ts.map +1 -0
- package/dist/serve/entries/messaging.js +53 -0
- package/dist/serve/entries/messaging.js.map +1 -0
- package/dist/serve/entries/runtime.d.ts +46 -0
- package/dist/serve/entries/runtime.d.ts.map +1 -0
- package/dist/serve/entries/runtime.js +435 -0
- package/dist/serve/entries/runtime.js.map +1 -0
- package/dist/serve/entries/session-store.d.ts +48 -0
- package/dist/serve/entries/session-store.d.ts.map +1 -0
- package/dist/serve/entries/session-store.js +82 -0
- package/dist/serve/entries/session-store.js.map +1 -0
- package/dist/serve/entries/storage.d.ts +25 -0
- package/dist/serve/entries/storage.d.ts.map +1 -0
- package/dist/serve/entries/storage.js +61 -0
- package/dist/serve/entries/storage.js.map +1 -0
- package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
- package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
- package/dist/serve/entries/tab-sync-wiring.js +217 -0
- package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
- package/dist/serve/entries/worker-runtime.d.ts +10 -0
- package/dist/serve/entries/worker-runtime.d.ts.map +1 -0
- package/dist/serve/entries/worker-runtime.js +59 -0
- package/dist/serve/entries/worker-runtime.js.map +1 -0
- package/dist/serve/init-payload.d.ts +21 -0
- package/dist/serve/init-payload.d.ts.map +1 -0
- package/dist/serve/init-payload.js +2 -0
- package/dist/serve/init-payload.js.map +1 -0
- package/dist/serve/namespace.d.ts +73 -0
- package/dist/serve/namespace.d.ts.map +1 -0
- package/dist/serve/namespace.js +470 -0
- package/dist/serve/namespace.js.map +1 -0
- package/dist/serve/open-browser.d.ts +23 -0
- package/dist/serve/open-browser.d.ts.map +1 -0
- package/dist/serve/open-browser.js +58 -0
- package/dist/serve/open-browser.js.map +1 -0
- package/dist/serve/rules.d.ts +77 -0
- package/dist/serve/rules.d.ts.map +1 -0
- package/dist/serve/rules.js +202 -0
- package/dist/serve/rules.js.map +1 -0
- package/dist/serve/sandbox-marker.d.ts +9 -0
- package/dist/serve/sandbox-marker.d.ts.map +1 -0
- package/dist/serve/sandbox-marker.js +31 -0
- package/dist/serve/sandbox-marker.js.map +1 -0
- package/dist/serve/server.d.ts +135 -0
- package/dist/serve/server.d.ts.map +1 -0
- package/dist/serve/server.js +328 -0
- package/dist/serve/server.js.map +1 -0
- package/dist/serve/standalone-assets.d.ts +67 -0
- package/dist/serve/standalone-assets.d.ts.map +1 -0
- package/dist/serve/standalone-assets.js +134 -0
- package/dist/serve/standalone-assets.js.map +1 -0
- package/dist/serve/state-store.d.ts +45 -0
- package/dist/serve/state-store.d.ts.map +1 -0
- package/dist/serve/state-store.js +120 -0
- package/dist/serve/state-store.js.map +1 -0
- package/dist/serve/studio/disk-project-store.d.ts +9 -0
- package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
- package/dist/serve/studio/disk-project-store.js +173 -0
- package/dist/serve/studio/disk-project-store.js.map +1 -0
- package/dist/serve/studio/disk-workspace.d.ts +14 -0
- package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
- package/dist/serve/studio/disk-workspace.js +152 -0
- package/dist/serve/studio/disk-workspace.js.map +1 -0
- package/dist/serve/studio/index.d.ts +10 -0
- package/dist/serve/studio/index.d.ts.map +1 -0
- package/dist/serve/studio/index.js +9 -0
- package/dist/serve/studio/index.js.map +1 -0
- package/dist/serve/studio/routes.d.ts +40 -0
- package/dist/serve/studio/routes.d.ts.map +1 -0
- package/dist/serve/studio/routes.js +182 -0
- package/dist/serve/studio/routes.js.map +1 -0
- package/dist/serve/studio/store-types.d.ts +45 -0
- package/dist/serve/studio/store-types.d.ts.map +1 -0
- package/dist/serve/studio/store-types.js +11 -0
- package/dist/serve/studio/store-types.js.map +1 -0
- package/dist/serve/studio-ui/assets/RulesCodeEditor-BZpD57II.js +23 -0
- package/dist/serve/studio-ui/assets/index-Bsa-TQNK.css +1 -0
- package/dist/serve/studio-ui/assets/index-DGaVuOhE.js +1211 -0
- package/dist/serve/studio-ui/assets/seed-CTmn6YuO.js +2 -0
- package/dist/serve/studio-ui/index.html +32 -0
- package/dist/serve/studio-ui/pyric-logo.svg +76 -0
- package/dist/serve/vite-plugin.d.ts +57 -0
- package/dist/serve/vite-plugin.d.ts.map +1 -0
- package/dist/serve/vite-plugin.js +658 -0
- package/dist/serve/vite-plugin.js.map +1 -0
- package/dist/serve/worker/client/admin-firestore.d.ts +18 -0
- package/dist/serve/worker/client/admin-firestore.d.ts.map +1 -0
- package/dist/serve/worker/client/admin-firestore.js +26 -0
- package/dist/serve/worker/client/admin-firestore.js.map +1 -0
- package/dist/serve/worker/client/ai.d.ts +31 -0
- package/dist/serve/worker/client/ai.d.ts.map +1 -0
- package/dist/serve/worker/client/ai.js +89 -0
- package/dist/serve/worker/client/ai.js.map +1 -0
- package/dist/serve/worker/client/auth.d.ts +168 -0
- package/dist/serve/worker/client/auth.d.ts.map +1 -0
- package/dist/serve/worker/client/auth.js +322 -0
- package/dist/serve/worker/client/auth.js.map +1 -0
- package/dist/serve/worker/client/connection.d.ts +80 -0
- package/dist/serve/worker/client/connection.d.ts.map +1 -0
- package/dist/serve/worker/client/connection.js +148 -0
- package/dist/serve/worker/client/connection.js.map +1 -0
- package/dist/serve/worker/client/core.d.ts +109 -0
- package/dist/serve/worker/client/core.d.ts.map +1 -0
- package/dist/serve/worker/client/core.js +248 -0
- package/dist/serve/worker/client/core.js.map +1 -0
- package/dist/serve/worker/client/disconnect.d.ts +7 -0
- package/dist/serve/worker/client/disconnect.d.ts.map +1 -0
- package/dist/serve/worker/client/disconnect.js +26 -0
- package/dist/serve/worker/client/disconnect.js.map +1 -0
- package/dist/serve/worker/client/firestore-reads.d.ts +49 -0
- package/dist/serve/worker/client/firestore-reads.d.ts.map +1 -0
- package/dist/serve/worker/client/firestore-reads.js +139 -0
- package/dist/serve/worker/client/firestore-reads.js.map +1 -0
- package/dist/serve/worker/client/firestore-refs.d.ts +54 -0
- package/dist/serve/worker/client/firestore-refs.d.ts.map +1 -0
- package/dist/serve/worker/client/firestore-refs.js +167 -0
- package/dist/serve/worker/client/firestore-refs.js.map +1 -0
- package/dist/serve/worker/client/firestore-writes.d.ts +70 -0
- package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -0
- package/dist/serve/worker/client/firestore-writes.js +169 -0
- package/dist/serve/worker/client/firestore-writes.js.map +1 -0
- package/dist/serve/worker/client/handles.d.ts +73 -0
- package/dist/serve/worker/client/handles.d.ts.map +1 -0
- package/dist/serve/worker/client/handles.js +4 -0
- package/dist/serve/worker/client/handles.js.map +1 -0
- package/dist/serve/worker/client/messaging.d.ts +16 -0
- package/dist/serve/worker/client/messaging.d.ts.map +1 -0
- package/dist/serve/worker/client/messaging.js +60 -0
- package/dist/serve/worker/client/messaging.js.map +1 -0
- package/dist/serve/worker/client/presence.d.ts +43 -0
- package/dist/serve/worker/client/presence.d.ts.map +1 -0
- package/dist/serve/worker/client/presence.js +132 -0
- package/dist/serve/worker/client/presence.js.map +1 -0
- package/dist/serve/worker/client/rtdb.d.ts +36 -0
- package/dist/serve/worker/client/rtdb.d.ts.map +1 -0
- package/dist/serve/worker/client/rtdb.js +241 -0
- package/dist/serve/worker/client/rtdb.js.map +1 -0
- package/dist/serve/worker/client/rules.d.ts +24 -0
- package/dist/serve/worker/client/rules.d.ts.map +1 -0
- package/dist/serve/worker/client/rules.js +44 -0
- package/dist/serve/worker/client/rules.js.map +1 -0
- package/dist/serve/worker/client/service-worker-connection.d.ts +3 -0
- package/dist/serve/worker/client/service-worker-connection.d.ts.map +1 -0
- package/dist/serve/worker/client/service-worker-connection.js +53 -0
- package/dist/serve/worker/client/service-worker-connection.js.map +1 -0
- package/dist/serve/worker/client/snapshots.d.ts +32 -0
- package/dist/serve/worker/client/snapshots.d.ts.map +1 -0
- package/dist/serve/worker/client/snapshots.js +46 -0
- package/dist/serve/worker/client/snapshots.js.map +1 -0
- package/dist/serve/worker/client/storage.d.ts +64 -0
- package/dist/serve/worker/client/storage.d.ts.map +1 -0
- package/dist/serve/worker/client/storage.js +125 -0
- package/dist/serve/worker/client/storage.js.map +1 -0
- package/dist/serve/worker/client/studio.d.ts +32 -0
- package/dist/serve/worker/client/studio.d.ts.map +1 -0
- package/dist/serve/worker/client/studio.js +61 -0
- package/dist/serve/worker/client/studio.js.map +1 -0
- package/dist/serve/worker/client.d.ts +43 -0
- package/dist/serve/worker/client.d.ts.map +1 -0
- package/dist/serve/worker/client.js +44 -0
- package/dist/serve/worker/client.js.map +1 -0
- package/dist/serve/worker/entry.d.ts +40 -0
- package/dist/serve/worker/entry.d.ts.map +1 -0
- package/dist/serve/worker/entry.js +144 -0
- package/dist/serve/worker/entry.js.map +1 -0
- package/dist/serve/worker/host/admin-firestore.d.ts +17 -0
- package/dist/serve/worker/host/admin-firestore.d.ts.map +1 -0
- package/dist/serve/worker/host/admin-firestore.js +92 -0
- package/dist/serve/worker/host/admin-firestore.js.map +1 -0
- package/dist/serve/worker/host/connection.d.ts +40 -0
- package/dist/serve/worker/host/connection.d.ts.map +1 -0
- package/dist/serve/worker/host/connection.js +153 -0
- package/dist/serve/worker/host/connection.js.map +1 -0
- package/dist/serve/worker/host/core.d.ts +159 -0
- package/dist/serve/worker/host/core.d.ts.map +1 -0
- package/dist/serve/worker/host/core.js +296 -0
- package/dist/serve/worker/host/core.js.map +1 -0
- package/dist/serve/worker/host/dispatch.d.ts +34 -0
- package/dist/serve/worker/host/dispatch.d.ts.map +1 -0
- package/dist/serve/worker/host/dispatch.js +267 -0
- package/dist/serve/worker/host/dispatch.js.map +1 -0
- package/dist/serve/worker/host/firestore-reads.d.ts +17 -0
- package/dist/serve/worker/host/firestore-reads.d.ts.map +1 -0
- package/dist/serve/worker/host/firestore-reads.js +108 -0
- package/dist/serve/worker/host/firestore-reads.js.map +1 -0
- package/dist/serve/worker/host/firestore-writes.d.ts +37 -0
- package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -0
- package/dist/serve/worker/host/firestore-writes.js +409 -0
- package/dist/serve/worker/host/firestore-writes.js.map +1 -0
- package/dist/serve/worker/host/presence.d.ts +38 -0
- package/dist/serve/worker/host/presence.d.ts.map +1 -0
- package/dist/serve/worker/host/presence.js +280 -0
- package/dist/serve/worker/host/presence.js.map +1 -0
- package/dist/serve/worker/host/rtdb.d.ts +18 -0
- package/dist/serve/worker/host/rtdb.d.ts.map +1 -0
- package/dist/serve/worker/host/rtdb.js +128 -0
- package/dist/serve/worker/host/rtdb.js.map +1 -0
- package/dist/serve/worker/host/rules.d.ts +17 -0
- package/dist/serve/worker/host/rules.d.ts.map +1 -0
- package/dist/serve/worker/host/rules.js +118 -0
- package/dist/serve/worker/host/rules.js.map +1 -0
- package/dist/serve/worker/host/storage.d.ts +19 -0
- package/dist/serve/worker/host/storage.d.ts.map +1 -0
- package/dist/serve/worker/host/storage.js +260 -0
- package/dist/serve/worker/host/storage.js.map +1 -0
- package/dist/serve/worker/host/studio.d.ts +13 -0
- package/dist/serve/worker/host/studio.d.ts.map +1 -0
- package/dist/serve/worker/host/studio.js +30 -0
- package/dist/serve/worker/host/studio.js.map +1 -0
- package/dist/serve/worker/host/subscriptions.d.ts +21 -0
- package/dist/serve/worker/host/subscriptions.d.ts.map +1 -0
- package/dist/serve/worker/host/subscriptions.js +162 -0
- package/dist/serve/worker/host/subscriptions.js.map +1 -0
- package/dist/serve/worker/host-ai.d.ts +59 -0
- package/dist/serve/worker/host-ai.d.ts.map +1 -0
- package/dist/serve/worker/host-ai.js +158 -0
- package/dist/serve/worker/host-ai.js.map +1 -0
- package/dist/serve/worker/host-auth.d.ts +47 -0
- package/dist/serve/worker/host-auth.d.ts.map +1 -0
- package/dist/serve/worker/host-auth.js +464 -0
- package/dist/serve/worker/host-auth.js.map +1 -0
- package/dist/serve/worker/host-context.d.ts +220 -0
- package/dist/serve/worker/host-context.d.ts.map +1 -0
- package/dist/serve/worker/host-context.js +45 -0
- package/dist/serve/worker/host-context.js.map +1 -0
- package/dist/serve/worker/host-events.d.ts +21 -0
- package/dist/serve/worker/host-events.d.ts.map +1 -0
- package/dist/serve/worker/host-events.js +87 -0
- package/dist/serve/worker/host-events.js.map +1 -0
- package/dist/serve/worker/host-messaging.d.ts +60 -0
- package/dist/serve/worker/host-messaging.d.ts.map +1 -0
- package/dist/serve/worker/host-messaging.js +226 -0
- package/dist/serve/worker/host-messaging.js.map +1 -0
- package/dist/serve/worker/host.d.ts +36 -0
- package/dist/serve/worker/host.d.ts.map +1 -0
- package/dist/serve/worker/host.js +39 -0
- package/dist/serve/worker/host.js.map +1 -0
- package/dist/serve/worker/index.d.ts +22 -0
- package/dist/serve/worker/index.d.ts.map +1 -0
- package/dist/serve/worker/index.js +61 -0
- package/dist/serve/worker/index.js.map +1 -0
- package/dist/serve/worker/presence-timing.d.ts +14 -0
- package/dist/serve/worker/presence-timing.d.ts.map +1 -0
- package/dist/serve/worker/presence-timing.js +14 -0
- package/dist/serve/worker/presence-timing.js.map +1 -0
- package/dist/serve/worker/protocol.d.ts +1150 -0
- package/dist/serve/worker/protocol.d.ts.map +1 -0
- package/dist/serve/worker/protocol.js +228 -0
- package/dist/serve/worker/protocol.js.map +1 -0
- package/dist/serve/worker/serve-init.d.ts +201 -0
- package/dist/serve/worker/serve-init.d.ts.map +1 -0
- package/dist/serve/worker/serve-init.js +579 -0
- package/dist/serve/worker/serve-init.js.map +1 -0
- package/dist/serve/worker/service-worker-channel.d.ts +23 -0
- package/dist/serve/worker/service-worker-channel.d.ts.map +1 -0
- package/dist/serve/worker/service-worker-channel.js +9 -0
- package/dist/serve/worker/service-worker-channel.js.map +1 -0
- package/dist/serve/worker/service-worker-relay.d.ts +22 -0
- package/dist/serve/worker/service-worker-relay.d.ts.map +1 -0
- package/dist/serve/worker/service-worker-relay.js +63 -0
- package/dist/serve/worker/service-worker-relay.js.map +1 -0
- package/dist/serve/writer-lock.d.ts +32 -0
- package/dist/serve/writer-lock.d.ts.map +1 -0
- package/dist/serve/writer-lock.js +43 -0
- package/dist/serve/writer-lock.js.map +1 -0
- package/dist/verify/cases.d.ts +37 -0
- package/dist/verify/cases.d.ts.map +1 -0
- package/dist/verify/cases.js +173 -0
- package/dist/verify/cases.js.map +1 -0
- package/dist/verify/fixture.d.ts +100 -0
- package/dist/verify/fixture.d.ts.map +1 -0
- package/dist/verify/fixture.js +156 -0
- package/dist/verify/fixture.js.map +1 -0
- package/dist/verify/index.d.ts +102 -0
- package/dist/verify/index.d.ts.map +1 -0
- package/dist/verify/index.js +318 -0
- package/dist/verify/index.js.map +1 -0
- package/dist/verify/tools.d.ts +7 -0
- package/dist/verify/tools.d.ts.map +1 -0
- package/dist/verify/tools.js +83 -0
- package/dist/verify/tools.js.map +1 -0
- package/dist/version/compat-target.d.ts +18 -0
- package/dist/version/compat-target.d.ts.map +1 -0
- package/dist/version/compat-target.js +18 -0
- package/dist/version/compat-target.js.map +1 -0
- package/dist/vite.d.ts +12 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +16 -0
- package/dist/vite.js.map +1 -0
- package/package.json +133 -0
|
@@ -0,0 +1,1708 @@
|
|
|
1
|
+
<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>API reference: @pyric/ui/auth · Pyric Studio</title><meta name="description" content="Published declarations for @pyric/ui/auth."><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="/__pyric/ui/_astro/_slug_.CQYSemvw.css"></head> <body> <header class="studio__bar"> <div class="studio__bar-inner"> <a class="studio__brand" href="/__pyric/ui/" aria-label="Pyric Studio">Pyric</a> <nav class="studio__nav" aria-label="Studio tabs"> <a class="studio__nav-tab" href="/__pyric/ui/"> Home </a><a class="studio__nav-tab" href="/__pyric/ui/firestore"> Firestore </a><a class="studio__nav-tab" href="/__pyric/ui/auth"> Auth </a><a class="studio__nav-tab" href="/__pyric/ui/rtdb"> RTDB </a><a class="studio__nav-tab" href="/__pyric/ui/storage"> Storage </a><a class="studio__nav-tab" href="/__pyric/ui/traffic"> Traffic </a><a class="studio__nav-tab" href="/__pyric/ui/settings"> Settings </a><a class="studio__nav-tab" href="/__pyric/ui/docs" aria-current="page"> Docs </a> </nav> </div> </header> <div class="docs-shell"> <details class="docs-nav-drawer"> <summary>Navigate</summary> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <script type="module">let i=null;function d(t){return i||(i=fetch(t).then(e=>e.json())),i}function l(t,e){return t.title.toLowerCase().includes(e)||t.excerpt.toLowerCase().includes(e)?!0:t.headings.some(r=>r.text.toLowerCase().includes(e))}function u(t,e,r){if(e.innerHTML="",t.length===0){e.hidden=!1;{const n=document.createElement("li");n.className="docs-search-empty",n.textContent="No matches",e.appendChild(n)}return}e.hidden=!1;for(const n of t.slice(0,8)){const s=document.createElement("li"),c=document.createElement("a");c.href=n.path;const o=document.createElement("span");o.className="docs-search-result-title",o.textContent=n.title;const a=document.createElement("span");a.className="docs-search-result-meta",a.textContent=[n.group,n.section].filter(Boolean).join(" / "),c.append(o,a),s.appendChild(c),e.appendChild(s)}}document.querySelectorAll(".docs-search").forEach(t=>{const e=t.dataset.indexUrl,r=t.querySelector(".docs-search-input"),n=t.querySelector(".docs-search-results");r.addEventListener("input",async()=>{const s=r.value.trim().toLowerCase();if(!s){n.hidden=!0,n.innerHTML="";return}const{pages:c}=await d(e);r.value.trim().toLowerCase()===s&&u(c.filter(o=>l(o,s)),n)}),r.addEventListener("focus",()=>{d(e),n.childElementCount>0&&(n.hidden=!1)}),r.addEventListener("keydown",s=>{s.key==="Escape"&&(r.value="",n.hidden=!0,n.innerHTML="",r.blur())}),r.addEventListener("blur",()=>{window.setTimeout(()=>{n.hidden=!0},150)})});document.addEventListener("keydown",t=>{if(!(t.metaKey||t.ctrlKey)||t.key.toLowerCase()!=="k")return;const e=[...document.querySelectorAll(".docs-search-input")].find(r=>r.offsetParent!==null);e&&(t.preventDefault(),e.focus(),e.select())});</script> <a class="docs-nav-toplink" href="/__pyric/ui/docs/overview/"> Overview </a><details class="docs-nav-group"> <summary>Run locally</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/how-the-swap-works/"> How the swap works </a> </li><li> <a href="/__pyric/ui/docs/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Develop with Firebase APIs</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/sign-in-and-manage-users/"> Sign in and manage users </a> </li><li> <a href="/__pyric/ui/docs/store-and-query-data/"> Store and query data </a> </li><li> <a href="/__pyric/ui/docs/sync-realtime-data/"> Sync realtime data </a> </li><li> <a href="/__pyric/ui/docs/store-files/"> Store files </a> </li><li> <a href="/__pyric/ui/docs/receive-messages/"> Receive messages </a> </li><li> <a href="/__pyric/ui/docs/run-ai-logic-locally/"> Run AI Logic locally </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/"> Run an RTDB function locally </a> </li><li> <a href="/__pyric/ui/docs/which-data-service/"> Which data service? </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Inspect and correct</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <h2 class="docs-nav-heading"> Inspect the sandbox </h2> <ul> <li> <a href="/__pyric/ui/docs/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/shape-your-data/"> Seed, snapshot, replay </a> </li><li> <a href="/__pyric/ui/docs/watch-and-review/"> Review agent activity </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading"> Correct Security Rules </h2> <ul> <li> <a href="/__pyric/ui/docs/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/rules-patterns/"> Rules patterns </a> </li><li> <a href="/__pyric/ui/docs/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/whats-possible/"> Case studies </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading"> Work with an agent </h2> <ul> <li> <a href="/__pyric/ui/docs/what-your-agent-can-do/"> Work through an agent </a> </li><li> <a href="/__pyric/ui/docs/skills/"> Agent skills </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Verify the boundary</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-how-to-verify-against-a-captured-session/"> Verify a captured session </a> </li><li> <a href="/__pyric/ui/docs/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Ship unchanged</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/set-up-the-project/"> Set up the Firebase project </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/how-we-know-it-matches-firebase/"> Conformance </a> </li><li> <a href="/__pyric/ui/docs/whats-experimental/"> What's experimental </a> </li><li> <a href="/__pyric/ui/docs/pyric-conformance-scores/"> Conformance scores </a> </li><li> <a href="/__pyric/ui/docs/pyric-app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-compat/"> Rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-functions-rtdb-compat/"> Functions · RTDB </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" open> <summary>Reference</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli/"> @pyric/cli </a> </li><li> <a href="/__pyric/ui/docs/pyric-explanation-versioning-and-compatibility/"> pyric </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore/"> pyric / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules/"> pyric / rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox/"> pyric / sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage/"> pyric / storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth/"> pyric / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database/"> pyric / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-app/"> pyric-admin / app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore/"> pyric-admin / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth/"> pyric-admin / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database/"> pyric-admin / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage/"> pyric-admin / storage </a> </li><li> <a href="/__pyric/ui/docs/ui/"> @pyric/ui </a> </li><li> <a href="/__pyric/ui/docs/api-reference/" aria-current="true"> API reference </a> </li> </ul> </div> </div> </details> </nav> </details> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <a class="docs-nav-toplink" href="/__pyric/ui/docs/overview/" id="nav-group-overview"> Overview </a><details class="docs-nav-group" id="nav-group-run-locally"> <summary>Run locally</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/how-the-swap-works/"> How the swap works </a> </li><li> <a href="/__pyric/ui/docs/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-develop-with-firebase-apis"> <summary>Develop with Firebase APIs</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/sign-in-and-manage-users/"> Sign in and manage users </a> </li><li> <a href="/__pyric/ui/docs/store-and-query-data/"> Store and query data </a> </li><li> <a href="/__pyric/ui/docs/sync-realtime-data/"> Sync realtime data </a> </li><li> <a href="/__pyric/ui/docs/store-files/"> Store files </a> </li><li> <a href="/__pyric/ui/docs/receive-messages/"> Receive messages </a> </li><li> <a href="/__pyric/ui/docs/run-ai-logic-locally/"> Run AI Logic locally </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/"> Run an RTDB function locally </a> </li><li> <a href="/__pyric/ui/docs/which-data-service/"> Which data service? </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-inspect-and-correct"> <summary>Inspect and correct</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-inspect-and-correct-inspect-the-sandbox"> Inspect the sandbox </h2> <ul> <li> <a href="/__pyric/ui/docs/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/shape-your-data/"> Seed, snapshot, replay </a> </li><li> <a href="/__pyric/ui/docs/watch-and-review/"> Review agent activity </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-inspect-and-correct-correct-security-rules"> Correct Security Rules </h2> <ul> <li> <a href="/__pyric/ui/docs/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/rules-patterns/"> Rules patterns </a> </li><li> <a href="/__pyric/ui/docs/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/whats-possible/"> Case studies </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-inspect-and-correct-work-with-an-agent"> Work with an agent </h2> <ul> <li> <a href="/__pyric/ui/docs/what-your-agent-can-do/"> Work through an agent </a> </li><li> <a href="/__pyric/ui/docs/skills/"> Agent skills </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-verify-the-boundary"> <summary>Verify the boundary</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-how-to-verify-against-a-captured-session/"> Verify a captured session </a> </li><li> <a href="/__pyric/ui/docs/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-ship-unchanged"> <summary>Ship unchanged</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/set-up-the-project/"> Set up the Firebase project </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-conformance"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/how-we-know-it-matches-firebase/"> Conformance </a> </li><li> <a href="/__pyric/ui/docs/whats-experimental/"> What's experimental </a> </li><li> <a href="/__pyric/ui/docs/pyric-conformance-scores/"> Conformance scores </a> </li><li> <a href="/__pyric/ui/docs/pyric-app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-compat/"> Rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-functions-rtdb-compat/"> Functions · RTDB </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" id="nav-group-reference" open> <summary>Reference</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli/"> @pyric/cli </a> </li><li> <a href="/__pyric/ui/docs/pyric-explanation-versioning-and-compatibility/"> pyric </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore/"> pyric / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules/"> pyric / rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox/"> pyric / sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage/"> pyric / storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth/"> pyric / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database/"> pyric / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-app/"> pyric-admin / app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore/"> pyric-admin / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth/"> pyric-admin / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database/"> pyric-admin / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage/"> pyric-admin / storage </a> </li><li> <a href="/__pyric/ui/docs/ui/"> @pyric/ui </a> </li><li> <a href="/__pyric/ui/docs/api-reference/" aria-current="true"> API reference </a> </li> </ul> </div> </div> </details> </nav> <main class="doc-main"> <nav class="docs-breadcrumbs" aria-label="Breadcrumb"> <ol> <li> <a href="/__pyric/ui/docs/api-reference/">API reference</a> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span>@pyric/ui</span> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span aria-current="page">@pyric/ui/auth</span> </li> </ol> </nav> <header class="api-reference-header"> <p class="api-reference-kicker">API reference</p> <h1><code>@pyric/ui/auth</code></h1> <p class="api-reference-meta"> 51 published symbols from <code>@pyric/ui</code> </p> <p class="api-reference-source">
|
|
2
|
+
Generated from the TypeScript declarations shipped at this import path.
|
|
3
|
+
</p> </header> <article class="prose api-reference-body"> <!-- Generated from published package declarations via TypeDoc. Do not edit by hand; run bun run docs:api:generate. -->
|
|
4
|
+
<h2 id="classes">Classes</h2>
|
|
5
|
+
<p><a id="authflowcontroller"></a></p>
|
|
6
|
+
<h3 id="authflowcontroller">AuthFlowController</h3>
|
|
7
|
+
<h4 id="constructors">Constructors</h4>
|
|
8
|
+
<p><a id="constructor"></a></p>
|
|
9
|
+
<h5 id="constructor">Constructor</h5>
|
|
10
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">new</span><span style="color:#61AFEF"> AuthFlowController</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">auth</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">Auth</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AuthFlowController</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
11
|
+
<h6 id="parameters">Parameters</h6>
|
|
12
|
+
<div class="table-scroll">
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>auth</code></td><td align="left"><code>Auth</code></td></tr></tbody></table></div>
|
|
26
|
+
<h6 id="returns">Returns</h6>
|
|
27
|
+
<p><a href="#authflowcontroller"><code>AuthFlowController</code></a></p>
|
|
28
|
+
<h4 id="methods">Methods</h4>
|
|
29
|
+
<p><a id="add"></a></p>
|
|
30
|
+
<h5 id="add">add()</h5>
|
|
31
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">add</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">spec</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">NewIdentitySpec</span><span style="color:#ABB2BF">): </span><span style="color:#C678DD">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
32
|
+
<p>Add + sign in as a new identity. The backend creates the identity
|
|
33
|
+
(so claims resolve in rules and it shows up in the picker next time)
|
|
34
|
+
and mints the credential in one step.</p>
|
|
35
|
+
<p>Credential creation happens BEFORE take’s emit: subscribers
|
|
36
|
+
recompute the snapshot synchronously on emit, so creating after would
|
|
37
|
+
publish a stale identity list (a <code>useSyncExternalStore</code> consumer
|
|
38
|
+
would miss the new account until the next unrelated emit).</p>
|
|
39
|
+
<h6 id="parameters-1">Parameters</h6>
|
|
40
|
+
<div class="table-scroll">
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>spec</code></td><td align="left"><a href="#newidentityspec"><code>NewIdentitySpec</code></a></td></tr></tbody></table></div>
|
|
54
|
+
<h6 id="returns-1">Returns</h6>
|
|
55
|
+
<p><code>void</code></p>
|
|
56
|
+
<p><a id="cancel"></a></p>
|
|
57
|
+
<h5 id="cancel">cancel()</h5>
|
|
58
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">cancel</span><span style="color:#ABB2BF">(): </span><span style="color:#C678DD">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
59
|
+
<p>Dismiss — rejects with the faithful <code>auth/popup-closed-by-user</code>.</p>
|
|
60
|
+
<h6 id="returns-2">Returns</h6>
|
|
61
|
+
<p><code>void</code></p>
|
|
62
|
+
<p><a id="install"></a></p>
|
|
63
|
+
<h5 id="install">install()</h5>
|
|
64
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">install</span><span style="color:#ABB2BF">(): </span><span style="color:#C678DD">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
65
|
+
<p>Wire this controller’s resolver into the auth handle. Paired with
|
|
66
|
+
<a href="#uninstall">uninstall</a> for use in a React effect (install in the body,
|
|
67
|
+
uninstall in the cleanup) — StrictMode-safe.</p>
|
|
68
|
+
<h6 id="returns-3">Returns</h6>
|
|
69
|
+
<p><code>void</code></p>
|
|
70
|
+
<p><a id="pick"></a></p>
|
|
71
|
+
<h5 id="pick">pick()</h5>
|
|
72
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">pick</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">uid</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">): </span><span style="color:#C678DD">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
73
|
+
<p>Pick an existing identity (by uid). The backend mints the credential
|
|
74
|
+
(and records the provider on the identity).</p>
|
|
75
|
+
<h6 id="parameters-2">Parameters</h6>
|
|
76
|
+
<div class="table-scroll">
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>uid</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
90
|
+
<h6 id="returns-4">Returns</h6>
|
|
91
|
+
<p><code>void</code></p>
|
|
92
|
+
<p><a id="resolver"></a></p>
|
|
93
|
+
<h5 id="resolver">resolver()</h5>
|
|
94
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">resolver</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">AuthFlowResolver</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
95
|
+
<p>The resolver to hand to <code>sandbox.setAuthFlowResolver</code>. Popup and
|
|
96
|
+
redirect share one implementation (the sandbox has no navigation).</p>
|
|
97
|
+
<h6 id="returns-5">Returns</h6>
|
|
98
|
+
<p><code>AuthFlowResolver</code></p>
|
|
99
|
+
<p><a id="snapshot"></a></p>
|
|
100
|
+
<h5 id="snapshot">snapshot()</h5>
|
|
101
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">snapshot</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">HelperState</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
102
|
+
<h6 id="returns-6">Returns</h6>
|
|
103
|
+
<p><a href="#helperstate"><code>HelperState</code></a></p>
|
|
104
|
+
<p><a id="subscribe"></a></p>
|
|
105
|
+
<h5 id="subscribe">subscribe()</h5>
|
|
106
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">subscribe</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">fn</span><span style="color:#ABB2BF">: () </span><span style="color:#C678DD">=></span><span style="color:#C678DD"> void</span><span style="color:#ABB2BF">): () </span><span style="color:#C678DD">=></span><span style="color:#C678DD"> void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
107
|
+
<h6 id="parameters-3">Parameters</h6>
|
|
108
|
+
<div class="table-scroll">
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>fn</code></td><td align="left">() => <code>void</code></td></tr></tbody></table></div>
|
|
122
|
+
<h6 id="returns-7">Returns</h6>
|
|
123
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
124
|
+
<h6 id="returns-8">Returns</h6>
|
|
125
|
+
<p><code>void</code></p>
|
|
126
|
+
<p><a id="uninstall"></a></p>
|
|
127
|
+
<h5 id="uninstall">uninstall()</h5>
|
|
128
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">uninstall</span><span style="color:#ABB2BF">(): </span><span style="color:#C678DD">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
129
|
+
<h6 id="returns-9">Returns</h6>
|
|
130
|
+
<p><code>void</code></p>
|
|
131
|
+
<h2 id="interfaces">Interfaces</h2>
|
|
132
|
+
<p><a id="authproviderconfigentry"></a></p>
|
|
133
|
+
<h3 id="authproviderconfigentry">AuthProviderConfigEntry</h3>
|
|
134
|
+
<p>One provider’s current enablement, as the hook exposes it.</p>
|
|
135
|
+
<h4 id="properties">Properties</h4>
|
|
136
|
+
<div class="table-scroll">
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="enabled"></a> <code>enabled</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><a id="providerid"></a> <code>providerId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
154
|
+
<hr>
|
|
155
|
+
<p><a id="authprovidertogglesprops"></a></p>
|
|
156
|
+
<h3 id="authprovidertogglesprops">AuthProviderTogglesProps</h3>
|
|
157
|
+
<h4 id="properties-1">Properties</h4>
|
|
158
|
+
<div class="table-scroll">
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="classname"></a> <code>className?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="config"></a> <code>config</code></td><td align="left"><a href="#authproviderconfigentry"><code>AuthProviderConfigEntry</code></a>[]</td><td align="left">Current config — usually <code>useAuthProviderConfig(auth).config</code>.</td></tr><tr><td align="left"><a id="error"></a> <code>error?</code></td><td align="left"><code>Error</code></td><td align="left">-</td></tr><tr><td align="left"><a id="isloading"></a> <code>isLoading?</code></td><td align="left"><code>boolean</code></td><td align="left">-</td></tr><tr><td align="left"><a id="knownproviderids"></a> <code>knownProviderIds?</code></td><td align="left">readonly <code>string</code>[]</td><td align="left">Always-shown rows, in this order. Default: <a href="#default_known_provider_ids">DEFAULT_KNOWN_PROVIDER_IDS</a>.</td></tr><tr><td align="left"><a id="ontoggle"></a> <code>onToggle</code></td><td align="left">(<code>providerId</code>: <code>string</code>, <code>enabled</code>: <code>boolean</code>) => <code>void</code></td><td align="left">Fired when a toggle (known or custom) flips.</td></tr></tbody></table></div>
|
|
199
|
+
<hr>
|
|
200
|
+
<p><a id="authsigninhelperprops"></a></p>
|
|
201
|
+
<h3 id="authsigninhelperprops">AuthSignInHelperProps</h3>
|
|
202
|
+
<h4 id="properties-2">Properties</h4>
|
|
203
|
+
<div class="table-scroll">
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="classname-1"></a> <code>className?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="description"></a> <code>description?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Optional helper text rendered under the title (<code>[data-pyric-helper-description]</code>). Default: none.</td></tr><tr><td align="left"><a id="initialvalues"></a> <code>initialValues?</code></td><td align="left">{ <code>claims?</code>: <code>string</code>; <code>displayName?</code>: <code>string</code>; <code>email?</code>: <code>string</code>; }</td><td align="left">Prefill for the add-account form (e.g. a host-suggested email). Read once on mount; <code>claims</code> is the raw textarea JSON text.</td></tr><tr><td align="left"><code>initialValues.claims?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><code>initialValues.displayName?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><code>initialValues.email?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="onadd"></a> <code>onAdd</code></td><td align="left">(<code>spec</code>: <a href="#newidentityspec"><code>NewIdentitySpec</code></a>) => <code>void</code></td><td align="left">Create + sign in as a new identity (wire to the hook’s <code>add</code>).</td></tr><tr><td align="left"><a id="oncancel"></a> <code>onCancel</code></td><td align="left">() => <code>void</code></td><td align="left">Dismiss the flow (wire to the hook’s <code>cancel</code>). Rejects the app’s sign-in promise with <code>auth/popup-closed-by-user</code>.</td></tr><tr><td align="left"><a id="onpick"></a> <code>onPick</code></td><td align="left">(<code>uid</code>: <code>string</code>) => <code>void</code></td><td align="left">Settle with an existing identity (wire to the hook’s <code>pick</code>).</td></tr><tr><td align="left"><a id="renderaccount"></a> <code>renderAccount?</code></td><td align="left">(<code>identity</code>: <code>any</code>) => <code>ReactNode</code></td><td align="left">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.</td></tr><tr><td align="left"><a id="state"></a> <code>state</code></td><td align="left"><a href="#helperstate"><code>HelperState</code></a></td><td align="left">Snapshot from <code>useAuthFlowHelper</code>. Renders nothing while <code>state.request</code> is null.</td></tr><tr><td align="left"><a id="title"></a> <code>title?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Heading text. Default: <code>Sign in with <provider label></code>.</td></tr></tbody></table></div>
|
|
274
|
+
<hr>
|
|
275
|
+
<p><a id="authusereditorerrors"></a></p>
|
|
276
|
+
<h3 id="authusereditorerrors">AuthUserEditorErrors</h3>
|
|
277
|
+
<h4 id="properties-3">Properties</h4>
|
|
278
|
+
<div class="table-scroll">
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="claims"></a> <code>claims?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="email"></a> <code>email?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="password"></a> <code>password?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
300
|
+
<hr>
|
|
301
|
+
<p><a id="authusereditorfields"></a></p>
|
|
302
|
+
<h3 id="authusereditorfields">AuthUserEditorFields</h3>
|
|
303
|
+
<p>Editable field set. <code>claimsText</code> is the raw textarea JSON.
|
|
304
|
+
<code>providerIds</code> are the linked FEDERATED providers (<code>google.com</code>,
|
|
305
|
+
<code>apple.com</code>, …) — <code>password</code> is credential-derived (the password
|
|
306
|
+
field) and never appears here.</p>
|
|
307
|
+
<h4 id="properties-4">Properties</h4>
|
|
308
|
+
<div class="table-scroll">
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="claimstext"></a> <code>claimsText</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="disabled"></a> <code>disabled</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><a id="displayname"></a> <code>displayName</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="email-1"></a> <code>email</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="emailverified"></a> <code>emailVerified</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><a id="password-1"></a> <code>password</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="phonenumber"></a> <code>phoneNumber</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="photourl"></a> <code>photoUrl</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="providerids"></a> <code>providerIds</code></td><td align="left"><code>string</code>[]</td></tr></tbody></table></div>
|
|
354
|
+
<hr>
|
|
355
|
+
<p><a id="authusereditorstate"></a></p>
|
|
356
|
+
<h3 id="authusereditorstate">AuthUserEditorState</h3>
|
|
357
|
+
<h4 id="properties-5">Properties</h4>
|
|
358
|
+
<div class="table-scroll">
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="fields"></a> <code>fields</code></td><td align="left"><a href="#authusereditorfields"><code>AuthUserEditorFields</code></a></td><td align="left">-</td></tr><tr><td align="left"><a id="initial"></a> <code>initial</code></td><td align="left"><a href="#authusereditorfields"><code>AuthUserEditorFields</code></a></td><td align="left">What reset returns to; dirtiness is measured against this.</td></tr></tbody></table></div>
|
|
379
|
+
<hr>
|
|
380
|
+
<p><a id="authuserformfield"></a></p>
|
|
381
|
+
<h3 id="authuserformfield">AuthUserFormField</h3>
|
|
382
|
+
<p>What the <a href="#renderfield">AuthUserFormProps.renderField</a> slot receives per field.</p>
|
|
383
|
+
<h4 id="properties-6">Properties</h4>
|
|
384
|
+
<div class="table-scroll">
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="defaultrender"></a> <code>defaultRender</code></td><td align="left">() => <code>ReactNode</code></td><td align="left">The default rendering (label wrapper + label text + input + error). Call it to keep the stock layout for fields you don’t customize.</td></tr><tr><td align="left"><a id="error-1"></a> <code>error</code></td><td align="left"><code>string</code></td><td align="left">Current validation message for this field, or null.</td></tr><tr><td align="left"><a id="input"></a> <code>input</code></td><td align="left"><code>ReactNode</code></td><td align="left">The wired, controlled input element (carries <code>data-pyric-field</code>). Place it anywhere; state/validation stay connected.</td></tr><tr><td align="left"><a id="kind"></a> <code>kind</code></td><td align="left"><code>"text"</code> | <code>"checkbox"</code> | <code>"group"</code></td><td align="left">`‘text'</td></tr><tr><td align="left"><a id="label"></a> <code>label</code></td><td align="left"><code>string</code></td><td align="left">The visible label text the default rendering uses.</td></tr><tr><td align="left"><a id="name"></a> <code>name</code></td><td align="left"><a href="#authuserformfieldname-1"><code>AuthUserFormFieldName</code></a></td><td align="left">-</td></tr></tbody></table></div>
|
|
425
|
+
<hr>
|
|
426
|
+
<p><a id="authuserformprops"></a></p>
|
|
427
|
+
<h3 id="authuserformprops">AuthUserFormProps</h3>
|
|
428
|
+
<h4 id="properties-7">Properties</h4>
|
|
429
|
+
<div class="table-scroll">
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="cancellabel"></a> <code>cancelLabel?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="children"></a> <code>children?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Extra content rendered before the action row (e.g. an error from a failed <code>createUser</code> call).</td></tr><tr><td align="left"><a id="classname-2"></a> <code>className?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="initial-1"></a> <code>initial?</code></td><td align="left"><code>AuthUserRecord</code></td><td align="left">Existing record → edit mode (delta payloads); omit → create mode.</td></tr><tr><td align="left"><a id="oncancel-1"></a> <code>onCancel?</code></td><td align="left">() => <code>void</code></td><td align="left">-</td></tr><tr><td align="left"><a id="onsubmit"></a> <code>onSubmit</code></td><td align="left">(<code>submit</code>: <a href="#authuserformsubmit"><code>AuthUserFormSubmit</code></a>) => <code>void</code></td><td align="left">Receives the validated payload. Wire <code>create</code> to <code>useAuthUsers().createUser</code> and <code>edit</code> to <code>updateUser</code>.</td></tr><tr><td align="left"><a id="renderfield"></a> <code>renderField?</code></td><td align="left">(<code>field</code>: <a href="#authuserformfield"><code>AuthUserFormField</code></a>) => <code>ReactNode</code></td><td align="left">Per-field layout override. Called for each field (see <a href="#authuserformfieldname-1">AuthUserFormFieldName</a> order); return your own markup around <code>field.input</code>, or <code>field.defaultRender()</code> to keep the stock label wrapper for that field. Omit the prop for the default layout.</td></tr><tr><td align="left"><a id="submitlabel"></a> <code>submitLabel?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr></tbody></table></div>
|
|
480
|
+
<hr>
|
|
481
|
+
<p><a id="authuserlistprops"></a></p>
|
|
482
|
+
<h3 id="authuserlistprops">AuthUserListProps</h3>
|
|
483
|
+
<h4 id="properties-8">Properties</h4>
|
|
484
|
+
<div class="table-scroll">
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="classname-3"></a> <code>className?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="emptystate"></a> <code>emptyState?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Zero state when the project has no users at all.</td></tr><tr><td align="left"><a id="error-2"></a> <code>error?</code></td><td align="left"><code>Error</code></td><td align="left">-</td></tr><tr><td align="left"><a id="filter"></a> <code>filter?</code></td><td align="left"><code>string</code></td><td align="left">The active filter text. Distinguishes the “no users yet” zero state (empty filter) from “no results” (non-empty).</td></tr><tr><td align="left"><a id="formatcreatedat"></a> <code>formatCreatedAt?</code></td><td align="left">(<code>iso</code>: <code>string</code>) => <code>ReactNode</code></td><td align="left">Timestamp formatter for Created. Default: locale date, em dash for null.</td></tr><tr><td align="left"><a id="formatlastloginat"></a> <code>formatLastLoginAt?</code></td><td align="left">(<code>iso</code>: <code>string</code>) => <code>ReactNode</code></td><td align="left">Timestamp formatter for Signed In. Kept separate because a missing login means “never”, while a missing/invalid creation time is malformed data.</td></tr><tr><td align="left"><a id="isloading-1"></a> <code>isLoading?</code></td><td align="left"><code>boolean</code></td><td align="left">-</td></tr><tr><td align="left"><a id="noresultsstate"></a> <code>noResultsState?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Zero state when the filter matches nothing.</td></tr><tr><td align="left"><a id="onselect"></a> <code>onSelect?</code></td><td align="left">(<code>user</code>: <code>AuthUserRecord</code>) => <code>void</code></td><td align="left">Fired when the identifier cell is clicked. When omitted, the identifier renders as plain text.</td></tr><tr><td align="left"><a id="renderactions"></a> <code>renderActions?</code></td><td align="left">(<code>user</code>: <code>AuthUserRecord</code>) => <code>ReactNode</code></td><td align="left">Per-row action slot (edit / disable / delete menu). Rendered in a trailing cell; column header is added when this is provided.</td></tr><tr><td align="left"><a id="renderactionsheader"></a> <code>renderActionsHeader?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Optional content for the trailing actions column header (for example, a select-all checkbox). Only rendered with <code>renderActions</code>.</td></tr><tr><td align="left"><a id="renderidentifier"></a> <code>renderIdentifier?</code></td><td align="left">(<code>user</code>: <code>AuthUserRecord</code>) => <code>ReactNode</code></td><td align="left">Identifier-cell override. Default: email, else phone, else <code>anonymous</code>, else the uid.</td></tr><tr><td align="left"><a id="renderproviders"></a> <code>renderProviders?</code></td><td align="left">(<code>user</code>: <code>AuthUserRecord</code>) => <code>ReactNode</code></td><td align="left">Providers-cell override. Default: one <code><span data-pyric-provider-id></code> per linked provider with its text label (<code>anonymous</code> for anonymous users) — hook icons off the attribute.</td></tr><tr><td align="left"><a id="renderselection"></a> <code>renderSelection?</code></td><td align="left">(<code>user</code>: <code>AuthUserRecord</code>) => <code>ReactNode</code></td><td align="left">Per-row selection control. Rendered in the leading cell so bulk selection stays visually separate from trailing row actions.</td></tr><tr><td align="left"><a id="renderselectionheader"></a> <code>renderSelectionHeader?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Optional content for the leading selection column header (for example, a select-all checkbox). Only rendered with <code>renderSelection</code>.</td></tr><tr><td align="left"><a id="rowheight"></a> <code>rowHeight?</code></td><td align="left"><code>number</code> | (<code>index</code>: <code>number</code>) => <code>number</code></td><td align="left">Estimated row height when virtualizing. Default 44.</td></tr><tr><td align="left"><a id="users"></a> <code>users</code></td><td align="left"><code>AuthUserRecord</code>[]</td><td align="left">Rows to render — usually <code>useAuthUsers().users</code>.</td></tr><tr><td align="left"><a id="virtualizedheight"></a> <code>virtualizedHeight?</code></td><td align="left"><code>string</code> | <code>number</code></td><td align="left">Scroll-container height when virtualized. Default <code>'60vh'</code>.</td></tr><tr><td align="left"><a id="virtualizethreshold"></a> <code>virtualizeThreshold?</code></td><td align="left"><code>number</code></td><td align="left">Above this row count, rows render through <code><VirtualList></code>. Default 100. <code>Infinity</code> disables.</td></tr></tbody></table></div>
|
|
590
|
+
<hr>
|
|
591
|
+
<p><a id="claimsfieldprops"></a></p>
|
|
592
|
+
<h3 id="claimsfieldprops">ClaimsFieldProps</h3>
|
|
593
|
+
<h4 id="properties-9">Properties</h4>
|
|
594
|
+
<div class="table-scroll">
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="classname-4"></a> <code>className?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="error-3"></a> <code>error?</code></td><td align="left"><code>string</code></td><td align="left">Validation message (from <code>validateSerializedClaims</code> / <code>useAuthUserEditor().errors.claims</code>). Renders a <code>role="alert"</code> paragraph and marks the textarea invalid.</td></tr><tr><td align="left"><a id="hint"></a> <code>hint?</code></td><td align="left"><code>ReactNode</code></td><td align="left">Helper text under the field (rules-usage hint by default).</td></tr><tr><td align="left"><a id="onchange"></a> <code>onChange</code></td><td align="left">(<code>text</code>: <code>string</code>) => <code>void</code></td><td align="left">-</td></tr><tr><td align="left"><a id="placeholder"></a> <code>placeholder?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="value"></a> <code>value</code></td><td align="left"><code>string</code></td><td align="left">Raw claims JSON text.</td></tr></tbody></table></div>
|
|
635
|
+
<hr>
|
|
636
|
+
<p><a id="clearuserswithconfirmprops"></a></p>
|
|
637
|
+
<h3 id="clearuserswithconfirmprops">ClearUsersWithConfirmProps</h3>
|
|
638
|
+
<h4 id="properties-10">Properties</h4>
|
|
639
|
+
<div class="table-scroll">
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="body"></a> <code>body?</code></td><td align="left"><code>ReactNode</code></td><td align="left">-</td></tr><tr><td align="left"><a id="classname-5"></a> <code>className?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="confirmlabel"></a> <code>confirmLabel?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="count"></a> <code>count?</code></td><td align="left"><code>number</code></td><td align="left">Current user count, interpolated into the default body.</td></tr><tr><td align="left"><a id="onclear"></a> <code>onClear</code></td><td align="left">() => <code>void</code></td><td align="left">Runs after the user confirms. Wire to <code>useAuthUsers().clearUsers</code>.</td></tr><tr><td align="left"><a id="rendertrigger"></a> <code>renderTrigger?</code></td><td align="left">(<code>props</code>: <code>TriggerProps</code>) => <code>ReactNode</code></td><td align="left">-</td></tr><tr><td align="left"><a id="title-1"></a> <code>title?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr></tbody></table></div>
|
|
685
|
+
<hr>
|
|
686
|
+
<p><a id="deleteuserwithconfirmprops"></a></p>
|
|
687
|
+
<h3 id="deleteuserwithconfirmprops">DeleteUserWithConfirmProps</h3>
|
|
688
|
+
<h4 id="properties-11">Properties</h4>
|
|
689
|
+
<div class="table-scroll">
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
|
|
715
|
+
|
|
716
|
+
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
|
|
722
|
+
|
|
723
|
+
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="body-1"></a> <code>body?</code></td><td align="left"><code>ReactNode</code></td><td align="left">-</td></tr><tr><td align="left"><a id="classname-6"></a> <code>className?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="confirmlabel-1"></a> <code>confirmLabel?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="ondelete"></a> <code>onDelete</code></td><td align="left">(<code>uid</code>: <code>string</code>) => <code>void</code></td><td align="left">Runs after the user confirms. Wire to <code>useAuthUsers().deleteUser</code>.</td></tr><tr><td align="left"><a id="rendertrigger-1"></a> <code>renderTrigger?</code></td><td align="left">(<code>props</code>: <code>TriggerProps</code>) => <code>ReactNode</code></td><td align="left">Trigger override; default is a plain destructive <code><button></code>.</td></tr><tr><td align="left"><a id="title-2"></a> <code>title?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="user"></a> <code>user</code></td><td align="left"><code>AuthUserRecord</code></td><td align="left">-</td></tr></tbody></table></div>
|
|
735
|
+
<hr>
|
|
736
|
+
<p><a id="helperstate"></a></p>
|
|
737
|
+
<h3 id="helperstate">HelperState</h3>
|
|
738
|
+
<p>Snapshot the helper UI renders from.</p>
|
|
739
|
+
<h4 id="properties-12">Properties</h4>
|
|
740
|
+
<div class="table-scroll">
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
|
|
744
|
+
|
|
745
|
+
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
|
|
759
|
+
|
|
760
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="identities"></a> <code>identities</code></td><td align="left"><code>any</code>[]</td><td align="left">Existing identities to pick from (seeded + previously created).</td></tr><tr><td align="left"><a id="request"></a> <code>request</code></td><td align="left"><code>any</code></td><td align="left">The in-flight request, or null when the helper is closed.</td></tr></tbody></table></div>
|
|
761
|
+
<hr>
|
|
762
|
+
<p><a id="newidentityspec"></a></p>
|
|
763
|
+
<h3 id="newidentityspec">NewIdentitySpec</h3>
|
|
764
|
+
<p>A field set for “add new account” — mirrors the emulator’s add-user form.</p>
|
|
765
|
+
<h4 id="properties-13">Properties</h4>
|
|
766
|
+
<div class="table-scroll">
|
|
767
|
+
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
|
|
774
|
+
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="customclaims"></a> <code>customClaims?</code></td><td align="left"><code>Record</code><<code>string</code>, <code>unknown</code>></td><td align="left">Parsed custom claims (the emulator’s <code>customAttributes</code>).</td></tr><tr><td align="left"><a id="displayname-1"></a> <code>displayName?</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="email-2"></a> <code>email</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr></tbody></table></div>
|
|
792
|
+
<hr>
|
|
793
|
+
<p><a id="useauthflowhelperresult"></a></p>
|
|
794
|
+
<h3 id="useauthflowhelperresult">UseAuthFlowHelperResult</h3>
|
|
795
|
+
<h4 id="properties-14">Properties</h4>
|
|
796
|
+
<div class="table-scroll">
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
|
|
809
|
+
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
|
|
813
|
+
|
|
814
|
+
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
|
|
825
|
+
|
|
826
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="add-2"></a> <code>add</code></td><td align="left">(<code>spec</code>: <a href="#newidentityspec"><code>NewIdentitySpec</code></a>) => <code>void</code></td><td align="left">Create + sign in as a new identity (seeds it for next time).</td></tr><tr><td align="left"><a id="cancel-2"></a> <code>cancel</code></td><td align="left">() => <code>void</code></td><td align="left">Dismiss — rejects the app’s sign-in promise with <code>auth/popup-closed-by-user</code> (faithful to <code>firebase/auth</code>).</td></tr><tr><td align="left"><a id="pick-2"></a> <code>pick</code></td><td align="left">(<code>uid</code>: <code>string</code>) => <code>void</code></td><td align="left">Settle the flow with an existing identity (by uid).</td></tr><tr><td align="left"><a id="state-1"></a> <code>state</code></td><td align="left"><a href="#helperstate"><code>HelperState</code></a></td><td align="left">Render snapshot: the in-flight request (or null) + pickable identities.</td></tr></tbody></table></div>
|
|
827
|
+
<hr>
|
|
828
|
+
<p><a id="useauthproviderconfigresult"></a></p>
|
|
829
|
+
<h3 id="useauthproviderconfigresult">UseAuthProviderConfigResult</h3>
|
|
830
|
+
<h4 id="properties-15">Properties</h4>
|
|
831
|
+
<div class="table-scroll">
|
|
832
|
+
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
|
|
868
|
+
|
|
869
|
+
|
|
870
|
+
|
|
871
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="config-1"></a> <code>config</code></td><td align="left"><a href="#authproviderconfigentry"><code>AuthProviderConfigEntry</code></a>[]</td><td align="left">Every provider this sandbox has an explicit enablement for. Unknown providers (never toggled) are simply absent — <code>isEnabled</code> treats an absent entry as disabled, matching the backend default.</td></tr><tr><td align="left"><a id="error-4"></a> <code>error</code></td><td align="left"><code>Error</code></td><td align="left">-</td></tr><tr><td align="left"><a id="isenabled"></a> <code>isEnabled</code></td><td align="left">(<code>providerId</code>: <code>string</code>) => <code>boolean</code></td><td align="left">Convenience lookup: <code>false</code> for a provider that’s never been toggled.</td></tr><tr><td align="left"><a id="isloading-2"></a> <code>isLoading</code></td><td align="left"><code>boolean</code></td><td align="left">-</td></tr><tr><td align="left"><a id="refresh"></a> <code>refresh</code></td><td align="left">() => <code>void</code></td><td align="left">Re-read manually. Rarely needed — every mutation (this hook’s own <code>setEnabled</code>, another handle, the agent) already triggers the subscription re-list.</td></tr><tr><td align="left"><a id="setenabled"></a> <code>setEnabled</code></td><td align="left">(<code>providerId</code>: <code>string</code>, <code>enabled</code>: <code>boolean</code>) => <code>void</code></td><td align="left">Toggle a provider on/off. Sync (in-process) failures throw to the caller, same policy as <code>useAuthUsers</code>’s mutation callbacks; an ASYNC (worker-RPC) failure can’t reach a sync caller, so it surfaces on the hook’s <code>error</code> state instead — never an unhandled rejection.</td></tr></tbody></table></div>
|
|
872
|
+
<hr>
|
|
873
|
+
<p><a id="useauthusereditoroptions"></a></p>
|
|
874
|
+
<h3 id="useauthusereditoroptions">UseAuthUserEditorOptions</h3>
|
|
875
|
+
<h4 id="properties-16">Properties</h4>
|
|
876
|
+
<div class="table-scroll">
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
|
|
884
|
+
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
|
|
890
|
+
|
|
891
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="initial-2"></a> <code>initial?</code></td><td align="left"><code>AuthUserRecord</code></td><td align="left">Existing record to edit. Omit for create mode.</td></tr></tbody></table></div>
|
|
892
|
+
<hr>
|
|
893
|
+
<p><a id="useauthusereditorresult"></a></p>
|
|
894
|
+
<h3 id="useauthusereditorresult">UseAuthUserEditorResult</h3>
|
|
895
|
+
<h4 id="properties-17">Properties</h4>
|
|
896
|
+
<div class="table-scroll">
|
|
897
|
+
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
|
|
904
|
+
|
|
905
|
+
|
|
906
|
+
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
|
|
911
|
+
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
|
|
929
|
+
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
|
|
938
|
+
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
|
|
942
|
+
|
|
943
|
+
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
|
|
947
|
+
|
|
948
|
+
|
|
949
|
+
|
|
950
|
+
|
|
951
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="dispatch"></a> <code>dispatch</code></td><td align="left">(<code>action</code>: <a href="#authusereditoraction"><code>AuthUserEditorAction</code></a>) => <code>void</code></td><td align="left">Raw reducer access for advanced consumers.</td></tr><tr><td align="left"><a id="errors"></a> <code>errors</code></td><td align="left"><a href="#authusereditorerrors"><code>AuthUserEditorErrors</code></a></td><td align="left">Per-field validation messages (emulator-UI wording). Empty when valid.</td></tr><tr><td align="left"><a id="fields-1"></a> <code>fields</code></td><td align="left"><a href="#authusereditorfields"><code>AuthUserEditorFields</code></a></td><td align="left">-</td></tr><tr><td align="left"><a id="isdirty"></a> <code>isDirty</code></td><td align="left"><code>boolean</code></td><td align="left">-</td></tr><tr><td align="left"><a id="isvalid"></a> <code>isValid</code></td><td align="left"><code>boolean</code></td><td align="left">-</td></tr><tr><td align="left"><a id="reset"></a> <code>reset</code></td><td align="left">() => <code>void</code></td><td align="left">Back to the initial snapshot.</td></tr><tr><td align="left"><a id="setfield"></a> <code>setField</code></td><td align="left"><<code>K</code>>(<code>field</code>: <code>K</code>, <code>value</code>: <a href="#authusereditorfields"><code>AuthUserEditorFields</code></a>[<code>K</code>]) => <code>void</code></td><td align="left">-</td></tr><tr><td align="left"><a id="tocreaterequest"></a> <code>toCreateRequest</code></td><td align="left">() => <code>CreateUserRequest</code></td><td align="left">Full payload for <code>createUser</code> (every non-empty field).</td></tr><tr><td align="left"><a id="toupdaterequest"></a> <code>toUpdateRequest</code></td><td align="left">() => <code>UpdateUserRequest</code></td><td align="left">Delta payload for <code>updateUser</code> (only changed fields).</td></tr></tbody></table></div>
|
|
952
|
+
<hr>
|
|
953
|
+
<p><a id="useauthusersresult"></a></p>
|
|
954
|
+
<h3 id="useauthusersresult">UseAuthUsersResult</h3>
|
|
955
|
+
<h4 id="properties-18">Properties</h4>
|
|
956
|
+
<div class="table-scroll">
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
|
|
964
|
+
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
|
|
972
|
+
|
|
973
|
+
|
|
974
|
+
|
|
975
|
+
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
|
|
987
|
+
|
|
988
|
+
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
|
|
995
|
+
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
|
|
999
|
+
|
|
1000
|
+
|
|
1001
|
+
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
|
|
1005
|
+
|
|
1006
|
+
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
|
|
1013
|
+
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
|
|
1020
|
+
|
|
1021
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="clearusers"></a> <code>clearUsers</code></td><td align="left">() => <code>void</code></td><td align="left">-</td></tr><tr><td align="left"><a id="createuser"></a> <code>createUser</code></td><td align="left">(<code>request</code>: <code>CreateUserRequest</code>) => <code>AuthUserRecord</code></td><td align="left">-</td></tr><tr><td align="left"><a id="deleteuser"></a> <code>deleteUser</code></td><td align="left">(<code>uid</code>: <code>string</code>) => <code>void</code></td><td align="left">-</td></tr><tr><td align="left"><a id="error-5"></a> <code>error</code></td><td align="left"><code>Error</code></td><td align="left">-</td></tr><tr><td align="left"><a id="filter-1"></a> <code>filter</code></td><td align="left"><code>string</code></td><td align="left">Case-insensitive substring match over uid, email, display name and phone number (the emulator UI’s search semantics).</td></tr><tr><td align="left"><a id="isloading-3"></a> <code>isLoading</code></td><td align="left"><code>boolean</code></td><td align="left">-</td></tr><tr><td align="left"><a id="refresh-1"></a> <code>refresh</code></td><td align="left">() => <code>void</code></td><td align="left">Re-list manually. Rarely needed, every mutation (including ones made by the agent or the running app) already triggers <code>subscribeUsers</code>.</td></tr><tr><td align="left"><a id="setfilter"></a> <code>setFilter</code></td><td align="left">(<code>filter</code>: <code>string</code>) => <code>void</code></td><td align="left">-</td></tr><tr><td align="left"><a id="totalcount"></a> <code>totalCount</code></td><td align="left"><code>number</code></td><td align="left">Unfiltered count: lets a list distinguish “no users at all” from “no results for this filter”.</td></tr><tr><td align="left"><a id="updateuser"></a> <code>updateUser</code></td><td align="left">(<code>uid</code>: <code>string</code>, <code>update</code>: <code>UpdateUserRequest</code>) => <code>AuthUserRecord</code></td><td align="left">-</td></tr><tr><td align="left"><a id="users-1"></a> <code>users</code></td><td align="left"><code>AuthUserRecord</code>[]</td><td align="left">Users matching <a href="#filter-1">filter</a> (everyone when the filter is empty).</td></tr></tbody></table></div>
|
|
1022
|
+
<h2 id="type-aliases">Type Aliases</h2>
|
|
1023
|
+
<p><a id="authapi"></a></p>
|
|
1024
|
+
<h3 id="authapi">AuthApi</h3>
|
|
1025
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> AuthApi</span><span style="color:#56B6C2"> =</span><span style="color:#E5C07B"> Pick</span><span style="color:#ABB2BF"><</span><span style="color:#C678DD">typeof</span><span style="color:#E06C75"> authSandbox</span><span style="color:#ABB2BF">,</span></span>
|
|
1026
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"listUsers"</span></span>
|
|
1027
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"subscribeUsers"</span></span>
|
|
1028
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"createUser"</span></span>
|
|
1029
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"updateUser"</span></span>
|
|
1030
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"deleteUser"</span></span>
|
|
1031
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"clearUsers"</span></span>
|
|
1032
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"getAuthProviderConfig"</span></span>
|
|
1033
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"setAuthProviderConfig"</span></span>
|
|
1034
|
+
<span class="line"><span style="color:#ABB2BF">| </span><span style="color:#98C379">"subscribeAuthProviderConfig"</span><span style="color:#ABB2BF">>;</span></span></code></pre>
|
|
1035
|
+
<p>The sandbox auth admin ops <code>useAuthUsers</code> drives, as an INJECTABLE bundle.</p>
|
|
1036
|
+
<p>WHY (same rationale as <code>@pyric/ui/firestore</code>’s FirestoreApi): the hook defaults
|
|
1037
|
+
to the in-process <code>pyric/auth</code> <code>sandbox</code> ops, but Pyric Studio’s served mode
|
|
1038
|
+
drives the SAME ops over a SharedWorker (a parallel client over a MessagePort).
|
|
1039
|
+
Reading them from this context lets a consumer inject the worker client’s fns
|
|
1040
|
+
so the hook operates on the live worker user DB without knowing the backend.</p>
|
|
1041
|
+
<p>The bundle is typed to the in-process signatures; a worker bundle is adapted
|
|
1042
|
+
(cast) at the Studio boundary. NOTE the worker <code>listUsers</code> is ASYNC (an RPC)
|
|
1043
|
+
whereas the in-process one is sync, so <code>useAuthUsers</code> tolerates a promise (it
|
|
1044
|
+
wraps the result in <code>Promise.resolve</code>).</p>
|
|
1045
|
+
<p>Default = the real <code>pyric/auth</code> sandbox ops, so every existing consumer is
|
|
1046
|
+
unchanged: no provider needed unless swapping the backend.</p>
|
|
1047
|
+
<hr>
|
|
1048
|
+
<p><a id="authusereditoraction"></a></p>
|
|
1049
|
+
<h3 id="authusereditoraction">AuthUserEditorAction</h3>
|
|
1050
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> AuthUserEditorAction</span><span style="color:#56B6C2"> =</span></span>
|
|
1051
|
+
<span class="line"><span style="color:#ABB2BF"> | {</span></span>
|
|
1052
|
+
<span class="line"><span style="color:#E06C75"> field</span><span style="color:#ABB2BF">: </span><span style="color:#C678DD">keyof</span><span style="color:#E5C07B"> AuthUserEditorFields</span><span style="color:#ABB2BF">;</span></span>
|
|
1053
|
+
<span class="line"><span style="color:#E06C75"> type</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"setField"</span><span style="color:#ABB2BF">;</span></span>
|
|
1054
|
+
<span class="line"><span style="color:#E06C75"> value</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserEditorFields</span><span style="color:#ABB2BF">[</span><span style="color:#C678DD">keyof</span><span style="color:#E5C07B"> AuthUserEditorFields</span><span style="color:#ABB2BF">];</span></span>
|
|
1055
|
+
<span class="line"><span style="color:#ABB2BF">}</span></span>
|
|
1056
|
+
<span class="line"><span style="color:#ABB2BF"> | {</span></span>
|
|
1057
|
+
<span class="line"><span style="color:#E06C75"> type</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"reset"</span><span style="color:#ABB2BF">;</span></span>
|
|
1058
|
+
<span class="line"><span style="color:#ABB2BF">};</span></span></code></pre>
|
|
1059
|
+
<hr>
|
|
1060
|
+
<p><a id="authuserformfieldname-1"></a></p>
|
|
1061
|
+
<h3 id="authuserformfieldname">AuthUserFormFieldName</h3>
|
|
1062
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> AuthUserFormFieldName</span><span style="color:#56B6C2"> =</span></span>
|
|
1063
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"email"</span></span>
|
|
1064
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"password"</span></span>
|
|
1065
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"display-name"</span></span>
|
|
1066
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"phone-number"</span></span>
|
|
1067
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"photo-url"</span></span>
|
|
1068
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"providers"</span></span>
|
|
1069
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"email-verified"</span></span>
|
|
1070
|
+
<span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"disabled"</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1071
|
+
<p>Field names the <a href="#renderfield">AuthUserFormProps.renderField</a> slot receives,
|
|
1072
|
+
in render order. Claims is NOT a slot field — it stays the standalone
|
|
1073
|
+
<code><ClaimsField></code> (override it by composing <code>useAuthUserEditor</code>).</p>
|
|
1074
|
+
<hr>
|
|
1075
|
+
<p><a id="authuserformsubmit"></a></p>
|
|
1076
|
+
<h3 id="authuserformsubmit">AuthUserFormSubmit</h3>
|
|
1077
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> AuthUserFormSubmit</span><span style="color:#56B6C2"> =</span></span>
|
|
1078
|
+
<span class="line"><span style="color:#ABB2BF"> | {</span></span>
|
|
1079
|
+
<span class="line"><span style="color:#E06C75"> mode</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"create"</span><span style="color:#ABB2BF">;</span></span>
|
|
1080
|
+
<span class="line"><span style="color:#E06C75"> request</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">CreateUserRequest</span><span style="color:#ABB2BF">;</span></span>
|
|
1081
|
+
<span class="line"><span style="color:#ABB2BF">}</span></span>
|
|
1082
|
+
<span class="line"><span style="color:#ABB2BF"> | {</span></span>
|
|
1083
|
+
<span class="line"><span style="color:#E06C75"> mode</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"edit"</span><span style="color:#ABB2BF">;</span></span>
|
|
1084
|
+
<span class="line"><span style="color:#E06C75"> request</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">UpdateUserRequest</span><span style="color:#ABB2BF">;</span></span>
|
|
1085
|
+
<span class="line"><span style="color:#E06C75"> uid</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">;</span></span>
|
|
1086
|
+
<span class="line"><span style="color:#ABB2BF">};</span></span></code></pre>
|
|
1087
|
+
<p>What <code>onSubmit</code> receives — discriminated on the form’s mode.</p>
|
|
1088
|
+
<hr>
|
|
1089
|
+
<p><a id="claimsvalidationresult"></a></p>
|
|
1090
|
+
<h3 id="claimsvalidationresult">ClaimsValidationResult</h3>
|
|
1091
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> ClaimsValidationResult</span><span style="color:#56B6C2"> =</span></span>
|
|
1092
|
+
<span class="line"><span style="color:#ABB2BF"> | {</span></span>
|
|
1093
|
+
<span class="line"><span style="color:#E06C75"> claims</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Record</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">, </span><span style="color:#E5C07B">unknown</span><span style="color:#ABB2BF">> | </span><span style="color:#E5C07B">undefined</span><span style="color:#ABB2BF">;</span></span>
|
|
1094
|
+
<span class="line"><span style="color:#E06C75"> ok</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">true</span><span style="color:#ABB2BF">;</span></span>
|
|
1095
|
+
<span class="line"><span style="color:#ABB2BF">}</span></span>
|
|
1096
|
+
<span class="line"><span style="color:#ABB2BF"> | {</span></span>
|
|
1097
|
+
<span class="line"><span style="color:#E06C75"> message</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">;</span></span>
|
|
1098
|
+
<span class="line"><span style="color:#E06C75"> ok</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">false</span><span style="color:#ABB2BF">;</span></span>
|
|
1099
|
+
<span class="line"><span style="color:#ABB2BF">};</span></span></code></pre>
|
|
1100
|
+
<h4 id="type-declaration">Type Declaration</h4>
|
|
1101
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#ABB2BF">{</span></span>
|
|
1102
|
+
<span class="line"><span style="color:#E06C75"> claims</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">Record</span><span style="color:#56B6C2"><</span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75">unknown</span><span style="color:#56B6C2">></span><span style="color:#56B6C2"> |</span><span style="color:#D19A66"> undefined</span><span style="color:#ABB2BF">;</span></span>
|
|
1103
|
+
<span class="line"><span style="color:#E06C75"> ok</span><span style="color:#ABB2BF">: </span><span style="color:#D19A66">true</span><span style="color:#ABB2BF">;</span></span>
|
|
1104
|
+
<span class="line"><span style="color:#ABB2BF">}</span></span></code></pre>
|
|
1105
|
+
<h5 id="claims">claims</h5>
|
|
1106
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E06C75">claims</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">Record</span><span style="color:#56B6C2"><</span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75">unknown</span><span style="color:#56B6C2">></span><span style="color:#56B6C2"> |</span><span style="color:#D19A66"> undefined</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1107
|
+
<h5 id="ok">ok</h5>
|
|
1108
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E06C75">ok</span><span style="color:#ABB2BF">: </span><span style="color:#D19A66">true</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1109
|
+
<p><code>claims</code> is <code>undefined</code> when the input was empty/whitespace.</p>
|
|
1110
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#ABB2BF">{</span></span>
|
|
1111
|
+
<span class="line"><span style="color:#E06C75"> message</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">;</span></span>
|
|
1112
|
+
<span class="line"><span style="color:#E06C75"> ok</span><span style="color:#ABB2BF">: </span><span style="color:#D19A66">false</span><span style="color:#ABB2BF">;</span></span>
|
|
1113
|
+
<span class="line"><span style="color:#ABB2BF">}</span></span></code></pre>
|
|
1114
|
+
<h5 id="message">message</h5>
|
|
1115
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E06C75">message</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1116
|
+
<h5 id="ok-1">ok</h5>
|
|
1117
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E06C75">ok</span><span style="color:#ABB2BF">: </span><span style="color:#D19A66">false</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1118
|
+
<hr>
|
|
1119
|
+
<p><a id="sandboxidentity"></a></p>
|
|
1120
|
+
<h3 id="sandboxidentity">SandboxIdentity</h3>
|
|
1121
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> SandboxIdentity</span><span style="color:#56B6C2"> =</span><span style="color:#E5C07B"> ReturnType</span><span style="color:#ABB2BF"><</span><span style="color:#C678DD">typeof</span><span style="color:#E5C07B"> authSandbox</span><span style="color:#ABB2BF">.</span><span style="color:#E06C75">listIdentities</span><span style="color:#ABB2BF">>[</span><span style="color:#E5C07B">number</span><span style="color:#ABB2BF">];</span></span></code></pre>
|
|
1122
|
+
<p>One pickable identity, as reported by <code>sandbox.listIdentities</code>.</p>
|
|
1123
|
+
<h2 id="variables">Variables</h2>
|
|
1124
|
+
<p><a id="custom_claims_max_length"></a></p>
|
|
1125
|
+
<h3 id="custom_claims_max_length">CUSTOM_CLAIMS_MAX_LENGTH</h3>
|
|
1126
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> CUSTOM_CLAIMS_MAX_LENGTH</span><span style="color:#ABB2BF">: </span><span style="color:#D19A66">1000</span><span style="color:#56B6C2"> =</span><span style="color:#D19A66"> 1000</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1127
|
+
<p>Serialized-length cap, matching the emulator’s <code>CUSTOM_ATTRIBUTES_MAX_LENGTH</code>.</p>
|
|
1128
|
+
<hr>
|
|
1129
|
+
<p><a id="default_known_provider_ids"></a></p>
|
|
1130
|
+
<h3 id="default_known_provider_ids">DEFAULT_KNOWN_PROVIDER_IDS</h3>
|
|
1131
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> DEFAULT_KNOWN_PROVIDER_IDS</span><span style="color:#ABB2BF">: </span><span style="color:#C678DD">readonly</span><span style="color:#ABB2BF"> [</span><span style="color:#98C379">"password"</span><span style="color:#ABB2BF">, </span><span style="color:#98C379">"anonymous"</span><span style="color:#ABB2BF">, </span><span style="color:#98C379">"google.com"</span><span style="color:#ABB2BF">, </span><span style="color:#98C379">"github.com"</span><span style="color:#ABB2BF">, </span><span style="color:#98C379">"apple.com"</span><span style="color:#ABB2BF">, </span><span style="color:#98C379">"microsoft.com"</span><span style="color:#ABB2BF">];</span></span></code></pre>
|
|
1132
|
+
<p>Providers always shown as a toggle row, regardless of whether the
|
|
1133
|
+
backend has an explicit entry for them yet (an unconfigured provider
|
|
1134
|
+
simply reads as disabled — same default the sandbox backend applies).</p>
|
|
1135
|
+
<hr>
|
|
1136
|
+
<p><a id="forbidden_custom_claims"></a></p>
|
|
1137
|
+
<h3 id="forbidden_custom_claims">FORBIDDEN_CUSTOM_CLAIMS</h3>
|
|
1138
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> FORBIDDEN_CUSTOM_CLAIMS</span><span style="color:#ABB2BF">: </span><span style="color:#C678DD">readonly</span><span style="color:#E5C07B"> string</span><span style="color:#ABB2BF">[];</span></span></code></pre>
|
|
1139
|
+
<p>Reserved JWT/OIDC keys the Auth emulator rejects as custom claims.
|
|
1140
|
+
<a href="https://firebase.google.com/docs/auth/admin/create-custom-tokens" target="_blank" rel="noopener noreferrer" class="external-link">https://firebase.google.com/docs/auth/admin/create-custom-tokens</a></p>
|
|
1141
|
+
<hr>
|
|
1142
|
+
<p><a id="provider_labels"></a></p>
|
|
1143
|
+
<h3 id="provider_labels">PROVIDER_LABELS</h3>
|
|
1144
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> PROVIDER_LABELS</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Record</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">, </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">>;</span></span></code></pre>
|
|
1145
|
+
<p>Provider-id → human label mapping, mirroring the provider set the
|
|
1146
|
+
Firebase emulator UI recognizes (it maps the same ids to icons; a
|
|
1147
|
+
headless library maps them to text and leaves icons to the consumer
|
|
1148
|
+
via <code>data-pyric-provider-id</code>).</p>
|
|
1149
|
+
<h2 id="functions">Functions</h2>
|
|
1150
|
+
<p><a id="authapiprovider"></a></p>
|
|
1151
|
+
<h3 id="authapiprovider">AuthApiProvider()</h3>
|
|
1152
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> AuthApiProvider</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: {</span></span>
|
|
1153
|
+
<span class="line"><span style="color:#E06C75"> children</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ReactNode</span><span style="color:#ABB2BF">;</span></span>
|
|
1154
|
+
<span class="line"><span style="color:#E06C75"> value</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthApi</span><span style="color:#ABB2BF">;</span></span>
|
|
1155
|
+
<span class="line"><span style="color:#ABB2BF">}): </span><span style="color:#E5C07B">FunctionComponentElement</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">ProviderProps</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">AuthApi</span><span style="color:#ABB2BF">>>;</span></span></code></pre>
|
|
1156
|
+
<p>Provide an auth API bundle to the subtree. Pyric Studio supplies the
|
|
1157
|
+
in-process bundle for dev-seed review and the SharedWorker client bundle under
|
|
1158
|
+
<code>pyric dev --ui</code>.</p>
|
|
1159
|
+
<h4 id="parameters-4">Parameters</h4>
|
|
1160
|
+
<div class="table-scroll">
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
|
|
1168
|
+
|
|
1169
|
+
|
|
1170
|
+
|
|
1171
|
+
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
|
|
1181
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left">{ <code>children</code>: <code>ReactNode</code>; <code>value</code>: <a href="#authapi"><code>AuthApi</code></a>; }</td></tr><tr><td align="left"><code>__namedParameters.children</code></td><td align="left"><code>ReactNode</code></td></tr><tr><td align="left"><code>__namedParameters.value</code></td><td align="left"><a href="#authapi"><code>AuthApi</code></a></td></tr></tbody></table></div>
|
|
1182
|
+
<h4 id="returns-10">Returns</h4>
|
|
1183
|
+
<p><code>FunctionComponentElement</code><<code>ProviderProps</code><<a href="#authapi"><code>AuthApi</code></a>>></p>
|
|
1184
|
+
<hr>
|
|
1185
|
+
<p><a id="authprovidertoggles"></a></p>
|
|
1186
|
+
<h3 id="authprovidertoggles">AuthProviderToggles()</h3>
|
|
1187
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> AuthProviderToggles</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthProviderTogglesProps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Element</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1188
|
+
<p>Headless “Sign-in providers” toggle grid — the Authentication → Sign-in
|
|
1189
|
+
method surface. Known providers (password / anonymous / the built-in OAuth
|
|
1190
|
+
set) always render as a row; any OTHER provider already present in
|
|
1191
|
+
<code>config</code> (a custom OAuth id a host previously added) also gets a row. A
|
|
1192
|
+
free-text field lets a consumer enable an arbitrary OAuth provider id not
|
|
1193
|
+
in the known set — this is a SECTION, not a dialog: the add row lives
|
|
1194
|
+
inline, no modal.</p>
|
|
1195
|
+
<p>Fully headless: styling hangs off <code>data-pyric-*</code>, matching the rest of
|
|
1196
|
+
<code>@pyric/ui/auth</code> (<code>AuthUserList</code>, <code>AuthUserForm</code>, …). Data + mutation come
|
|
1197
|
+
from <code>useAuthProviderConfig</code>; this component only renders + fires events.</p>
|
|
1198
|
+
<h4 id="parameters-5">Parameters</h4>
|
|
1199
|
+
<div class="table-scroll">
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
|
|
1206
|
+
|
|
1207
|
+
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
|
|
1211
|
+
|
|
1212
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left"><a href="#authprovidertogglesprops"><code>AuthProviderTogglesProps</code></a></td></tr></tbody></table></div>
|
|
1213
|
+
<h4 id="returns-11">Returns</h4>
|
|
1214
|
+
<p><code>Element</code></p>
|
|
1215
|
+
<hr>
|
|
1216
|
+
<p><a id="authsigninhelper"></a></p>
|
|
1217
|
+
<h3 id="authsigninhelper">AuthSignInHelper()</h3>
|
|
1218
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> AuthSignInHelper</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthSignInHelperProps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Element</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1219
|
+
<p>Headless emulator-style sign-in helper: an account picker over the
|
|
1220
|
+
sandbox’s known identities plus an add-account form (email, display
|
|
1221
|
+
name, custom-claims JSON with emulator-grade validation messages).</p>
|
|
1222
|
+
<p>Ships zero styling. Structure is addressable via the
|
|
1223
|
+
<code>data-pyric-*</code> contract:</p>
|
|
1224
|
+
<ul>
|
|
1225
|
+
<li>root: <code>[data-pyric-ui="auth-signin-helper"]</code>,
|
|
1226
|
+
<code>[data-pyric-provider-id]</code>, <code>[data-pyric-auth-type]</code></li>
|
|
1227
|
+
<li>picker: <code>[data-pyric-account-list]</code> > <code>[data-pyric-account-entry]</code>
|
|
1228
|
+
<blockquote>
|
|
1229
|
+
<p><code>button[data-pyric-account-pick]</code></p>
|
|
1230
|
+
</blockquote>
|
|
1231
|
+
</li>
|
|
1232
|
+
<li>form: <code>form[data-pyric-add-account-form]</code>, fields
|
|
1233
|
+
<code>[data-pyric-field="email" | "display-name" | "claims"]</code>,
|
|
1234
|
+
<code>[data-pyric-claims-error]</code> (role=alert),
|
|
1235
|
+
<code>button[data-pyric-cancel]</code>, <code>button[data-pyric-submit]</code></li>
|
|
1236
|
+
</ul>
|
|
1237
|
+
<p>Positioning is the consumer’s job — render it inside your own modal
|
|
1238
|
+
or panel (the flow is host-UI-agnostic; only <code>onCancel</code> carries the
|
|
1239
|
+
popup-closed semantics).</p>
|
|
1240
|
+
<h4 id="parameters-6">Parameters</h4>
|
|
1241
|
+
<div class="table-scroll">
|
|
1242
|
+
|
|
1243
|
+
|
|
1244
|
+
|
|
1245
|
+
|
|
1246
|
+
|
|
1247
|
+
|
|
1248
|
+
|
|
1249
|
+
|
|
1250
|
+
|
|
1251
|
+
|
|
1252
|
+
|
|
1253
|
+
|
|
1254
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left"><a href="#authsigninhelperprops"><code>AuthSignInHelperProps</code></a></td></tr></tbody></table></div>
|
|
1255
|
+
<h4 id="returns-12">Returns</h4>
|
|
1256
|
+
<p><code>Element</code></p>
|
|
1257
|
+
<hr>
|
|
1258
|
+
<p><a id="authusereditorreducer"></a></p>
|
|
1259
|
+
<h3 id="authusereditorreducer">authUserEditorReducer()</h3>
|
|
1260
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> authUserEditorReducer</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">state</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserEditorState</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">action</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserEditorAction</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AuthUserEditorState</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1261
|
+
<h4 id="parameters-7">Parameters</h4>
|
|
1262
|
+
<div class="table-scroll">
|
|
1263
|
+
|
|
1264
|
+
|
|
1265
|
+
|
|
1266
|
+
|
|
1267
|
+
|
|
1268
|
+
|
|
1269
|
+
|
|
1270
|
+
|
|
1271
|
+
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
|
|
1277
|
+
|
|
1278
|
+
|
|
1279
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>state</code></td><td align="left"><a href="#authusereditorstate"><code>AuthUserEditorState</code></a></td></tr><tr><td align="left"><code>action</code></td><td align="left"><a href="#authusereditoraction"><code>AuthUserEditorAction</code></a></td></tr></tbody></table></div>
|
|
1280
|
+
<h4 id="returns-13">Returns</h4>
|
|
1281
|
+
<p><a href="#authusereditorstate"><code>AuthUserEditorState</code></a></p>
|
|
1282
|
+
<hr>
|
|
1283
|
+
<p><a id="authuserform"></a></p>
|
|
1284
|
+
<h3 id="authuserform">AuthUserForm()</h3>
|
|
1285
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> AuthUserForm</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserFormProps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Element</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1286
|
+
<p>Headless add/edit-user form over <code>useAuthUserEditor</code> — the emulator
|
|
1287
|
+
UI’s user dialog fields (email, password, display name, phone, photo
|
|
1288
|
+
URL, verified/disabled toggles, custom claims) with its validation
|
|
1289
|
+
messages. Zero CSS; structure addressable via <code>data-pyric-*</code>:</p>
|
|
1290
|
+
<ul>
|
|
1291
|
+
<li>root <code>form[data-pyric-ui="auth-user-form"]</code> with <code>data-pyric-mode</code>,
|
|
1292
|
+
<code>data-pyric-is-dirty</code>, <code>data-pyric-is-valid</code> state attrs</li>
|
|
1293
|
+
<li>every field (text inputs AND checkboxes) is wrapped in a
|
|
1294
|
+
<code>label[data-pyric-field-label="<name>"]</code> carrying a visible
|
|
1295
|
+
<code>span[data-pyric-label-text]</code> — labeled grid layouts are pure CSS
|
|
1296
|
+
(<code>display: grid</code> on the wrappers); label-less designs hide
|
|
1297
|
+
<code>[data-pyric-label-text]</code> and lean on the placeholders</li>
|
|
1298
|
+
<li>inputs <code>[data-pyric-field="email" | "password" | "display-name" | "phone-number" | "photo-url" | "email-verified" | "disabled"]</code></li>
|
|
1299
|
+
<li>CREATE mode only: a “Sign-in providers” group
|
|
1300
|
+
(<code>fieldset[data-pyric-field-label="providers"]</code> wrapping
|
|
1301
|
+
<code>[data-pyric-provider-checklist]</code>) — one checkbox per federated
|
|
1302
|
+
provider the sandbox supports (<code>FEDERATED_PROVIDER_IDS</code> from
|
|
1303
|
+
<code>pyric/auth</code>; multiple selectable, entries land on
|
|
1304
|
+
<code>CreateUserRequest.providerUserInfo</code>)</li>
|
|
1305
|
+
<li>claims via the standalone <code><ClaimsField></code></li>
|
|
1306
|
+
<li>per-field messages <code>[data-pyric-field-error="email" | "password"]</code>
|
|
1307
|
+
render INSIDE the field’s label wrapper, after the input</li>
|
|
1308
|
+
<li><code>button[data-pyric-cancel]</code> / <code>button[data-pyric-submit]</code> (submit is
|
|
1309
|
+
disabled while invalid, or pristine in edit mode)</li>
|
|
1310
|
+
</ul>
|
|
1311
|
+
<p>Submit emits payloads only — no sandbox calls — so the same form works
|
|
1312
|
+
for create and edit and the consumer owns error handling.</p>
|
|
1313
|
+
<h4 id="parameters-8">Parameters</h4>
|
|
1314
|
+
<div class="table-scroll">
|
|
1315
|
+
|
|
1316
|
+
|
|
1317
|
+
|
|
1318
|
+
|
|
1319
|
+
|
|
1320
|
+
|
|
1321
|
+
|
|
1322
|
+
|
|
1323
|
+
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
|
|
1327
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left"><a href="#authuserformprops"><code>AuthUserFormProps</code></a></td></tr></tbody></table></div>
|
|
1328
|
+
<h4 id="returns-14">Returns</h4>
|
|
1329
|
+
<p><code>Element</code></p>
|
|
1330
|
+
<hr>
|
|
1331
|
+
<p><a id="authuserlist"></a></p>
|
|
1332
|
+
<h3 id="authuserlist">AuthUserList()</h3>
|
|
1333
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> AuthUserList</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserListProps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Element</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1334
|
+
<p>Headless users table — the emulator UI’s columns (Identifier,
|
|
1335
|
+
Provider, Created, Signed In, User UID, actions) over the
|
|
1336
|
+
<code>data-pyric-*</code> styling contract, with role-based table semantics so
|
|
1337
|
+
rows can virtualize (a real <code><table></code> can’t wrap a scroll container).</p>
|
|
1338
|
+
<p>The hook (<code>useAuthUsers</code>) owns data + filter state; this component
|
|
1339
|
+
just renders. Disabled accounts carry <code>data-pyric-user-disabled</code> for
|
|
1340
|
+
dimmed styling.</p>
|
|
1341
|
+
<h4 id="parameters-9">Parameters</h4>
|
|
1342
|
+
<div class="table-scroll">
|
|
1343
|
+
|
|
1344
|
+
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
|
|
1348
|
+
|
|
1349
|
+
|
|
1350
|
+
|
|
1351
|
+
|
|
1352
|
+
|
|
1353
|
+
|
|
1354
|
+
|
|
1355
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left"><a href="#authuserlistprops"><code>AuthUserListProps</code></a></td></tr></tbody></table></div>
|
|
1356
|
+
<h4 id="returns-15">Returns</h4>
|
|
1357
|
+
<p><code>Element</code></p>
|
|
1358
|
+
<hr>
|
|
1359
|
+
<p><a id="claimsfield"></a></p>
|
|
1360
|
+
<h3 id="claimsfield">ClaimsField()</h3>
|
|
1361
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> ClaimsField</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClaimsFieldProps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Element</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1362
|
+
<p>Headless custom-claims textarea — the emulator UI’s
|
|
1363
|
+
<code>customAttributes</code> control. Standalone so custom forms can reuse the
|
|
1364
|
+
exact field (the playground’s sign-in helper and the user form both
|
|
1365
|
+
render one); validation itself lives in <code>validateSerializedClaims</code>.</p>
|
|
1366
|
+
<h4 id="parameters-10">Parameters</h4>
|
|
1367
|
+
<div class="table-scroll">
|
|
1368
|
+
|
|
1369
|
+
|
|
1370
|
+
|
|
1371
|
+
|
|
1372
|
+
|
|
1373
|
+
|
|
1374
|
+
|
|
1375
|
+
|
|
1376
|
+
|
|
1377
|
+
|
|
1378
|
+
|
|
1379
|
+
|
|
1380
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left"><a href="#claimsfieldprops"><code>ClaimsFieldProps</code></a></td></tr></tbody></table></div>
|
|
1381
|
+
<h4 id="returns-16">Returns</h4>
|
|
1382
|
+
<p><code>Element</code></p>
|
|
1383
|
+
<hr>
|
|
1384
|
+
<p><a id="clearuserswithconfirm"></a></p>
|
|
1385
|
+
<h3 id="clearuserswithconfirm">ClearUsersWithConfirm()</h3>
|
|
1386
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> ClearUsersWithConfirm</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClearUsersWithConfirmProps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Element</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1387
|
+
<p>Confirm-gated clear-all (the emulator UI’s “Clear all data”).
|
|
1388
|
+
Requires a <code><ConfirmProvider></code> ancestor.</p>
|
|
1389
|
+
<h4 id="parameters-11">Parameters</h4>
|
|
1390
|
+
<div class="table-scroll">
|
|
1391
|
+
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
|
|
1395
|
+
|
|
1396
|
+
|
|
1397
|
+
|
|
1398
|
+
|
|
1399
|
+
|
|
1400
|
+
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left"><a href="#clearuserswithconfirmprops"><code>ClearUsersWithConfirmProps</code></a></td></tr></tbody></table></div>
|
|
1404
|
+
<h4 id="returns-17">Returns</h4>
|
|
1405
|
+
<p><code>Element</code></p>
|
|
1406
|
+
<hr>
|
|
1407
|
+
<p><a id="deleteuserwithconfirm"></a></p>
|
|
1408
|
+
<h3 id="deleteuserwithconfirm">DeleteUserWithConfirm()</h3>
|
|
1409
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> DeleteUserWithConfirm</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">__namedParameters</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">DeleteUserWithConfirmProps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Element</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1410
|
+
<p>Confirm-gated single-user delete (the emulator UI’s row-menu
|
|
1411
|
+
“Delete user”). Requires a <code><ConfirmProvider></code> ancestor.</p>
|
|
1412
|
+
<h4 id="parameters-12">Parameters</h4>
|
|
1413
|
+
<div class="table-scroll">
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
|
|
1425
|
+
|
|
1426
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>__namedParameters</code></td><td align="left"><a href="#deleteuserwithconfirmprops"><code>DeleteUserWithConfirmProps</code></a></td></tr></tbody></table></div>
|
|
1427
|
+
<h4 id="returns-18">Returns</h4>
|
|
1428
|
+
<p><code>Element</code></p>
|
|
1429
|
+
<hr>
|
|
1430
|
+
<p><a id="fieldsfromrecord"></a></p>
|
|
1431
|
+
<h3 id="fieldsfromrecord">fieldsFromRecord()</h3>
|
|
1432
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> fieldsFromRecord</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">record</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserRecord</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AuthUserEditorFields</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1433
|
+
<h4 id="parameters-13">Parameters</h4>
|
|
1434
|
+
<div class="table-scroll">
|
|
1435
|
+
|
|
1436
|
+
|
|
1437
|
+
|
|
1438
|
+
|
|
1439
|
+
|
|
1440
|
+
|
|
1441
|
+
|
|
1442
|
+
|
|
1443
|
+
|
|
1444
|
+
|
|
1445
|
+
|
|
1446
|
+
|
|
1447
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>record?</code></td><td align="left"><code>AuthUserRecord</code></td></tr></tbody></table></div>
|
|
1448
|
+
<h4 id="returns-19">Returns</h4>
|
|
1449
|
+
<p><a href="#authusereditorfields"><code>AuthUserEditorFields</code></a></p>
|
|
1450
|
+
<hr>
|
|
1451
|
+
<p><a id="initauthusereditorstate"></a></p>
|
|
1452
|
+
<h3 id="initauthusereditorstate">initAuthUserEditorState()</h3>
|
|
1453
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> initAuthUserEditorState</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">initial</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserRecord</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AuthUserEditorState</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1454
|
+
<h4 id="parameters-14">Parameters</h4>
|
|
1455
|
+
<div class="table-scroll">
|
|
1456
|
+
|
|
1457
|
+
|
|
1458
|
+
|
|
1459
|
+
|
|
1460
|
+
|
|
1461
|
+
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
|
|
1465
|
+
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>initial?</code></td><td align="left"><code>AuthUserRecord</code></td></tr></tbody></table></div>
|
|
1469
|
+
<h4 id="returns-20">Returns</h4>
|
|
1470
|
+
<p><a href="#authusereditorstate"><code>AuthUserEditorState</code></a></p>
|
|
1471
|
+
<hr>
|
|
1472
|
+
<p><a id="providerlabel"></a></p>
|
|
1473
|
+
<h3 id="providerlabel">providerLabel()</h3>
|
|
1474
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> providerLabel</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">providerId</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1475
|
+
<p>Label for a provider id; falls back to the raw id for custom
|
|
1476
|
+
<code>OAuthProvider</code> ids the map doesn’t know.</p>
|
|
1477
|
+
<h4 id="parameters-15">Parameters</h4>
|
|
1478
|
+
<div class="table-scroll">
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
|
|
1482
|
+
|
|
1483
|
+
|
|
1484
|
+
|
|
1485
|
+
|
|
1486
|
+
|
|
1487
|
+
|
|
1488
|
+
|
|
1489
|
+
|
|
1490
|
+
|
|
1491
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>providerId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1492
|
+
<h4 id="returns-21">Returns</h4>
|
|
1493
|
+
<p><code>string</code></p>
|
|
1494
|
+
<hr>
|
|
1495
|
+
<p><a id="tocreaterequest-1"></a></p>
|
|
1496
|
+
<h3 id="tocreaterequest">toCreateRequest()</h3>
|
|
1497
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> toCreateRequest</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">state</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserEditorState</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">CreateUserRequest</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1498
|
+
<p>Full payload for <code>sandbox.createUser</code> — every non-empty field.</p>
|
|
1499
|
+
<h4 id="parameters-16">Parameters</h4>
|
|
1500
|
+
<div class="table-scroll">
|
|
1501
|
+
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
|
|
1511
|
+
|
|
1512
|
+
|
|
1513
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>state</code></td><td align="left"><a href="#authusereditorstate"><code>AuthUserEditorState</code></a></td></tr></tbody></table></div>
|
|
1514
|
+
<h4 id="returns-22">Returns</h4>
|
|
1515
|
+
<p><code>CreateUserRequest</code></p>
|
|
1516
|
+
<hr>
|
|
1517
|
+
<p><a id="toupdaterequest-1"></a></p>
|
|
1518
|
+
<h3 id="toupdaterequest">toUpdateRequest()</h3>
|
|
1519
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> toUpdateRequest</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">state</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserEditorState</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">UpdateUserRequest</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1520
|
+
<p>Delta payload for <code>sandbox.updateUser</code> — only fields that changed
|
|
1521
|
+
from the initial record. A cleared displayName maps to <code>null</code>
|
|
1522
|
+
(the update API’s clear semantics).</p>
|
|
1523
|
+
<h4 id="parameters-17">Parameters</h4>
|
|
1524
|
+
<div class="table-scroll">
|
|
1525
|
+
|
|
1526
|
+
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>state</code></td><td align="left"><a href="#authusereditorstate"><code>AuthUserEditorState</code></a></td></tr></tbody></table></div>
|
|
1538
|
+
<h4 id="returns-23">Returns</h4>
|
|
1539
|
+
<p><code>UpdateUserRequest</code></p>
|
|
1540
|
+
<hr>
|
|
1541
|
+
<p><a id="useauthapi"></a></p>
|
|
1542
|
+
<h3 id="useauthapi">useAuthApi()</h3>
|
|
1543
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> useAuthApi</span><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">AuthApi</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1544
|
+
<p>Read the active auth API bundle (defaults to in-process <code>pyric/auth</code>).</p>
|
|
1545
|
+
<h4 id="returns-24">Returns</h4>
|
|
1546
|
+
<p><a href="#authapi"><code>AuthApi</code></a></p>
|
|
1547
|
+
<hr>
|
|
1548
|
+
<p><a id="useauthflowhelper"></a></p>
|
|
1549
|
+
<h3 id="useauthflowhelper">useAuthFlowHelper()</h3>
|
|
1550
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> useAuthFlowHelper</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">auth</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Auth</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">UseAuthFlowHelperResult</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1551
|
+
<p>Emulator-style sign-in helper for a sandbox <code>Auth</code> handle.</p>
|
|
1552
|
+
<p>Installs an <a href="#authflowcontroller">AuthFlowController</a> as the handle’s
|
|
1553
|
+
<code>AuthFlowResolver</code> for the lifetime of the calling component — the
|
|
1554
|
+
analog of browser <code>getAuth</code> wiring <code>browserPopupRedirectResolver</code>.
|
|
1555
|
+
While mounted, any <code>signInWithPopup</code> / <code>signInWithRedirect</code> call made
|
|
1556
|
+
against <code>auth</code> parks on <code>state.request</code>; render an account-picker UI
|
|
1557
|
+
(e.g. <code><AuthSignInHelper></code>) from <code>state</code> and settle with
|
|
1558
|
+
<code>pick</code> / <code>add</code> / <code>cancel</code>.</p>
|
|
1559
|
+
<p>Install/uninstall is a paired effect, so the StrictMode double-mount
|
|
1560
|
+
installs and cleanly uninstalls. Sandbox-only: the controller throws
|
|
1561
|
+
<code>failed-precondition</code> if <code>auth</code> is prod-backed.</p>
|
|
1562
|
+
<h4 id="parameters-18">Parameters</h4>
|
|
1563
|
+
<div class="table-scroll">
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
|
|
1568
|
+
|
|
1569
|
+
|
|
1570
|
+
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
|
|
1574
|
+
|
|
1575
|
+
|
|
1576
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>auth</code></td><td align="left"><code>Auth</code></td></tr></tbody></table></div>
|
|
1577
|
+
<h4 id="returns-25">Returns</h4>
|
|
1578
|
+
<p><a href="#useauthflowhelperresult"><code>UseAuthFlowHelperResult</code></a></p>
|
|
1579
|
+
<hr>
|
|
1580
|
+
<p><a id="useauthproviderconfig"></a></p>
|
|
1581
|
+
<h3 id="useauthproviderconfig">useAuthProviderConfig()</h3>
|
|
1582
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> useAuthProviderConfig</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">auth</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Auth</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">UseAuthProviderConfigResult</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1583
|
+
<p>Live sign-in provider config view over a sandbox <code>Auth</code> handle:
|
|
1584
|
+
<code>sandbox.getAuthProviderConfig</code> + <code>sandbox.subscribeAuthProviderConfig</code> +
|
|
1585
|
+
<code>sandbox.setAuthProviderConfig</code>. Mirrors <code>useAuthUsers</code>’s shape exactly
|
|
1586
|
+
(coarse “something changed, re-list” subscription; sync in-process,
|
|
1587
|
+
tolerates a promise over the SharedWorker client).</p>
|
|
1588
|
+
<p>Sandbox-only: throws <code>failed-precondition</code> on a prod-backed handle (the
|
|
1589
|
+
hook surfaces that via <code>error</code>, same as <code>useAuthUsers</code>).</p>
|
|
1590
|
+
<h4 id="parameters-19">Parameters</h4>
|
|
1591
|
+
<div class="table-scroll">
|
|
1592
|
+
|
|
1593
|
+
|
|
1594
|
+
|
|
1595
|
+
|
|
1596
|
+
|
|
1597
|
+
|
|
1598
|
+
|
|
1599
|
+
|
|
1600
|
+
|
|
1601
|
+
|
|
1602
|
+
|
|
1603
|
+
|
|
1604
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>auth</code></td><td align="left"><code>Auth</code></td></tr></tbody></table></div>
|
|
1605
|
+
<h4 id="returns-26">Returns</h4>
|
|
1606
|
+
<p><a href="#useauthproviderconfigresult"><code>UseAuthProviderConfigResult</code></a></p>
|
|
1607
|
+
<hr>
|
|
1608
|
+
<p><a id="useauthusereditor"></a></p>
|
|
1609
|
+
<h3 id="useauthusereditor">useAuthUserEditor()</h3>
|
|
1610
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> useAuthUserEditor</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">options</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">UseAuthUserEditorOptions</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">UseAuthUserEditorResult</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1611
|
+
<p>Headless add/edit-user state machine (reducer-based, like
|
|
1612
|
+
<code>useDocumentEditor</code>): field edits, claims-JSON validation with
|
|
1613
|
+
emulator-grade messages, dirtiness vs the initial record, and payload
|
|
1614
|
+
builders for <code>useAuthUsers</code>’ <code>createUser</code> / <code>updateUser</code>.</p>
|
|
1615
|
+
<h4 id="parameters-20">Parameters</h4>
|
|
1616
|
+
<div class="table-scroll">
|
|
1617
|
+
|
|
1618
|
+
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
|
|
1623
|
+
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
|
|
1627
|
+
|
|
1628
|
+
|
|
1629
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>options?</code></td><td align="left"><a href="#useauthusereditoroptions"><code>UseAuthUserEditorOptions</code></a></td></tr></tbody></table></div>
|
|
1630
|
+
<h4 id="returns-27">Returns</h4>
|
|
1631
|
+
<p><a href="#useauthusereditorresult"><code>UseAuthUserEditorResult</code></a></p>
|
|
1632
|
+
<hr>
|
|
1633
|
+
<p><a id="useauthusers"></a></p>
|
|
1634
|
+
<h3 id="useauthusers">useAuthUsers()</h3>
|
|
1635
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> useAuthUsers</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">auth</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Auth</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">UseAuthUsersResult</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1636
|
+
<p>Live user-admin view over a sandbox <code>Auth</code> handle:
|
|
1637
|
+
<code>sandbox.listUsers</code> + <code>sandbox.subscribeUsers</code> + CRUD actions.</p>
|
|
1638
|
+
<p>The subscription is coarse (“something changed”): any user-DB
|
|
1639
|
+
mutation (from these actions, the running app’s sign-ups, the
|
|
1640
|
+
agent’s seeding) triggers a re-list, so the view stays live without
|
|
1641
|
+
per-row bookkeeping. Filtering is client-side (the sandbox is
|
|
1642
|
+
in-process; there is no server to push the query to).</p>
|
|
1643
|
+
<p>Mutation errors (e.g. <code>auth/uid-already-exists</code>) throw to the caller:
|
|
1644
|
+
handle them at the call site like the firestore hooks’ <code>createDocument</code>.
|
|
1645
|
+
Sandbox-only: throws <code>failed-precondition</code> on a prod-backed handle (the
|
|
1646
|
+
hook surfaces that via <code>error</code>).</p>
|
|
1647
|
+
<h4 id="parameters-21">Parameters</h4>
|
|
1648
|
+
<div class="table-scroll">
|
|
1649
|
+
|
|
1650
|
+
|
|
1651
|
+
|
|
1652
|
+
|
|
1653
|
+
|
|
1654
|
+
|
|
1655
|
+
|
|
1656
|
+
|
|
1657
|
+
|
|
1658
|
+
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>auth</code></td><td align="left"><code>Auth</code></td></tr></tbody></table></div>
|
|
1662
|
+
<h4 id="returns-28">Returns</h4>
|
|
1663
|
+
<p><a href="#useauthusersresult"><code>UseAuthUsersResult</code></a></p>
|
|
1664
|
+
<hr>
|
|
1665
|
+
<p><a id="validateauthuserfields"></a></p>
|
|
1666
|
+
<h3 id="validateauthuserfields">validateAuthUserFields()</h3>
|
|
1667
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> validateAuthUserFields</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">fields</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthUserEditorFields</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AuthUserEditorErrors</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1668
|
+
<h4 id="parameters-22">Parameters</h4>
|
|
1669
|
+
<div class="table-scroll">
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
|
|
1673
|
+
|
|
1674
|
+
|
|
1675
|
+
|
|
1676
|
+
|
|
1677
|
+
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
|
|
1681
|
+
|
|
1682
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>fields</code></td><td align="left"><a href="#authusereditorfields"><code>AuthUserEditorFields</code></a></td></tr></tbody></table></div>
|
|
1683
|
+
<h4 id="returns-29">Returns</h4>
|
|
1684
|
+
<p><a href="#authusereditorerrors"><code>AuthUserEditorErrors</code></a></p>
|
|
1685
|
+
<hr>
|
|
1686
|
+
<p><a id="validateserializedclaims"></a></p>
|
|
1687
|
+
<h3 id="validateserializedclaims">validateSerializedClaims()</h3>
|
|
1688
|
+
<pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> validateSerializedClaims</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">text</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">ClaimsValidationResult</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
1689
|
+
<p>Validate the claims textarea’s raw text. Empty input is valid (no
|
|
1690
|
+
claims). Messages match the emulator UI verbatim so users see the
|
|
1691
|
+
same wording in both tools.</p>
|
|
1692
|
+
<h4 id="parameters-23">Parameters</h4>
|
|
1693
|
+
<div class="table-scroll">
|
|
1694
|
+
|
|
1695
|
+
|
|
1696
|
+
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1706
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>text</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
1707
|
+
<h4 id="returns-30">Returns</h4>
|
|
1708
|
+
<p><a href="#claimsvalidationresult"><code>ClaimsValidationResult</code></a></p> </article> </main> <aside class="doc-toc api-symbols" aria-label="API symbols"> <h2 class="doc-toc-heading">Symbols</h2> <input class="api-symbol-filter" type="search" placeholder="Filter symbols" aria-label="Filter API symbols" data-api-symbol-filter> <div class="api-symbol-groups" data-api-symbol-groups> <section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#classes"> Classes </a> <ul> <li data-api-symbol="authflowcontroller"> <a href="#authflowcontroller">AuthFlowController</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#interfaces"> Interfaces </a> <ul> <li data-api-symbol="authproviderconfigentry"> <a href="#authproviderconfigentry">AuthProviderConfigEntry</a> </li><li data-api-symbol="authprovidertogglesprops"> <a href="#authprovidertogglesprops">AuthProviderTogglesProps</a> </li><li data-api-symbol="authsigninhelperprops"> <a href="#authsigninhelperprops">AuthSignInHelperProps</a> </li><li data-api-symbol="authusereditorerrors"> <a href="#authusereditorerrors">AuthUserEditorErrors</a> </li><li data-api-symbol="authusereditorfields"> <a href="#authusereditorfields">AuthUserEditorFields</a> </li><li data-api-symbol="authusereditorstate"> <a href="#authusereditorstate">AuthUserEditorState</a> </li><li data-api-symbol="authuserformfield"> <a href="#authuserformfield">AuthUserFormField</a> </li><li data-api-symbol="authuserformprops"> <a href="#authuserformprops">AuthUserFormProps</a> </li><li data-api-symbol="authuserlistprops"> <a href="#authuserlistprops">AuthUserListProps</a> </li><li data-api-symbol="claimsfieldprops"> <a href="#claimsfieldprops">ClaimsFieldProps</a> </li><li data-api-symbol="clearuserswithconfirmprops"> <a href="#clearuserswithconfirmprops">ClearUsersWithConfirmProps</a> </li><li data-api-symbol="deleteuserwithconfirmprops"> <a href="#deleteuserwithconfirmprops">DeleteUserWithConfirmProps</a> </li><li data-api-symbol="helperstate"> <a href="#helperstate">HelperState</a> </li><li data-api-symbol="newidentityspec"> <a href="#newidentityspec">NewIdentitySpec</a> </li><li data-api-symbol="useauthflowhelperresult"> <a href="#useauthflowhelperresult">UseAuthFlowHelperResult</a> </li><li data-api-symbol="useauthproviderconfigresult"> <a href="#useauthproviderconfigresult">UseAuthProviderConfigResult</a> </li><li data-api-symbol="useauthusereditoroptions"> <a href="#useauthusereditoroptions">UseAuthUserEditorOptions</a> </li><li data-api-symbol="useauthusereditorresult"> <a href="#useauthusereditorresult">UseAuthUserEditorResult</a> </li><li data-api-symbol="useauthusersresult"> <a href="#useauthusersresult">UseAuthUsersResult</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#type-aliases"> Type Aliases </a> <ul> <li data-api-symbol="authapi"> <a href="#authapi">AuthApi</a> </li><li data-api-symbol="authusereditoraction"> <a href="#authusereditoraction">AuthUserEditorAction</a> </li><li data-api-symbol="authuserformfieldname"> <a href="#authuserformfieldname">AuthUserFormFieldName</a> </li><li data-api-symbol="authuserformsubmit"> <a href="#authuserformsubmit">AuthUserFormSubmit</a> </li><li data-api-symbol="claimsvalidationresult"> <a href="#claimsvalidationresult">ClaimsValidationResult</a> </li><li data-api-symbol="sandboxidentity"> <a href="#sandboxidentity">SandboxIdentity</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#variables"> Variables </a> <ul> <li data-api-symbol="custom_claims_max_length"> <a href="#custom_claims_max_length">CUSTOM_CLAIMS_MAX_LENGTH</a> </li><li data-api-symbol="default_known_provider_ids"> <a href="#default_known_provider_ids">DEFAULT_KNOWN_PROVIDER_IDS</a> </li><li data-api-symbol="forbidden_custom_claims"> <a href="#forbidden_custom_claims">FORBIDDEN_CUSTOM_CLAIMS</a> </li><li data-api-symbol="provider_labels"> <a href="#provider_labels">PROVIDER_LABELS</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#functions"> Functions </a> <ul> <li data-api-symbol="authapiprovider()"> <a href="#authapiprovider">AuthApiProvider()</a> </li><li data-api-symbol="authprovidertoggles()"> <a href="#authprovidertoggles">AuthProviderToggles()</a> </li><li data-api-symbol="authsigninhelper()"> <a href="#authsigninhelper">AuthSignInHelper()</a> </li><li data-api-symbol="authusereditorreducer()"> <a href="#authusereditorreducer">authUserEditorReducer()</a> </li><li data-api-symbol="authuserform()"> <a href="#authuserform">AuthUserForm()</a> </li><li data-api-symbol="authuserlist()"> <a href="#authuserlist">AuthUserList()</a> </li><li data-api-symbol="claimsfield()"> <a href="#claimsfield">ClaimsField()</a> </li><li data-api-symbol="clearuserswithconfirm()"> <a href="#clearuserswithconfirm">ClearUsersWithConfirm()</a> </li><li data-api-symbol="deleteuserwithconfirm()"> <a href="#deleteuserwithconfirm">DeleteUserWithConfirm()</a> </li><li data-api-symbol="fieldsfromrecord()"> <a href="#fieldsfromrecord">fieldsFromRecord()</a> </li><li data-api-symbol="initauthusereditorstate()"> <a href="#initauthusereditorstate">initAuthUserEditorState()</a> </li><li data-api-symbol="providerlabel()"> <a href="#providerlabel">providerLabel()</a> </li><li data-api-symbol="tocreaterequest()"> <a href="#tocreaterequest">toCreateRequest()</a> </li><li data-api-symbol="toupdaterequest()"> <a href="#toupdaterequest">toUpdateRequest()</a> </li><li data-api-symbol="useauthapi()"> <a href="#useauthapi">useAuthApi()</a> </li><li data-api-symbol="useauthflowhelper()"> <a href="#useauthflowhelper">useAuthFlowHelper()</a> </li><li data-api-symbol="useauthproviderconfig()"> <a href="#useauthproviderconfig">useAuthProviderConfig()</a> </li><li data-api-symbol="useauthusereditor()"> <a href="#useauthusereditor">useAuthUserEditor()</a> </li><li data-api-symbol="useauthusers()"> <a href="#useauthusers">useAuthUsers()</a> </li><li data-api-symbol="validateauthuserfields()"> <a href="#validateauthuserfields">validateAuthUserFields()</a> </li><li data-api-symbol="validateserializedclaims()"> <a href="#validateserializedclaims">validateSerializedClaims()</a> </li> </ul> </section> <p class="api-symbol-empty" data-api-symbol-empty hidden>No matching symbols</p> </div> </aside> </div> <script type="module">const a=document.querySelector("[data-api-symbol-filter]"),d=[...document.querySelectorAll("[data-api-symbol-group]")],n=document.querySelector("[data-api-symbol-empty]");a?.addEventListener("input",()=>{const t=a.value.trim().toLowerCase();let o=0;for(const i of d){let e=0;i.querySelectorAll("[data-api-symbol]").forEach(l=>{const r=!t||(l.dataset.apiSymbol??"").includes(t);l.hidden=!r,r&&e++}),i.hidden=e===0,o+=e}n&&(n.hidden=o>0)});</script> <script type="module">const s=new Map;document.querySelectorAll('.doc-toc a[href^="#"]').forEach(t=>s.set(decodeURIComponent(t.hash.slice(1)),t));if(s.size>0){const t=new Set,n=()=>{let o=null;for(const e of s.keys())if(t.has(e)){o=e;break}s.forEach((e,c)=>e.classList.toggle("active",c===o))},r=new IntersectionObserver(o=>{for(const e of o)e.isIntersecting?t.add(e.target.id):t.delete(e.target.id);n()},{rootMargin:"-72px 0px -60% 0px"});s.forEach((o,e)=>{const c=document.getElementById(e);c&&r.observe(c)})}</script> <script type="module">document.querySelector('.studio__nav [aria-current="page"]')?.scrollIntoView({block:"nearest",inline:"center"});</script> </body> </html>
|