@pyric/cli 0.1.0-alpha.10 → 0.1.0-alpha.11
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/README.md.orig +2 -2
- package/dist/assurance/.generated/conformance-verdicts.d.ts +16 -0
- package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
- package/dist/assurance/.generated/conformance-verdicts.js +16 -0
- package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
- package/dist/bridge/server/peer.d.ts +1 -1
- package/dist/bridge/server.d.ts +1 -1
- package/dist/bridge/server.js +1 -1
- package/dist/cli/index.d.ts +11 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +13 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +3 -3
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +5 -5
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +8 -2
- package/dist/cli/serve.js.map +1 -1
- package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
- package/dist/conformance/.generated/can-i-use-browser.js +1 -1
- package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
- package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
- package/dist/conformance/.generated/can-i-use.js +1 -1
- package/dist/conformance/.generated/can-i-use.js.map +1 -1
- package/dist/conformance/.generated/conformance-docs.d.ts +12 -0
- package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -0
- package/dist/conformance/.generated/conformance-docs.js +2 -0
- package/dist/conformance/.generated/conformance-docs.js.map +1 -0
- package/dist/conformance/docs.d.ts +6 -0
- package/dist/conformance/docs.d.ts.map +1 -0
- package/dist/conformance/docs.js +6 -0
- package/dist/conformance/docs.js.map +1 -0
- package/dist/remote/index.d.ts.map +1 -1
- package/dist/remote/index.js +1 -0
- package/dist/remote/index.js.map +1 -1
- package/dist/serve/activity-guard.d.ts +4 -0
- package/dist/serve/activity-guard.d.ts.map +1 -0
- package/dist/serve/activity-guard.js +22 -0
- package/dist/serve/activity-guard.js.map +1 -0
- package/dist/serve/activity-route.d.ts +4 -0
- package/dist/serve/activity-route.d.ts.map +1 -0
- package/dist/serve/activity-route.js +157 -0
- package/dist/serve/activity-route.js.map +1 -0
- package/dist/serve/activity-warning.d.ts +4 -0
- package/dist/serve/activity-warning.d.ts.map +1 -0
- package/dist/serve/activity-warning.js +21 -0
- package/dist/serve/activity-warning.js.map +1 -0
- package/dist/serve/bridge-mount.d.ts +5 -0
- package/dist/serve/bridge-mount.d.ts.map +1 -1
- package/dist/serve/bridge-mount.js +1 -0
- package/dist/serve/bridge-mount.js.map +1 -1
- package/dist/serve/docs-ui/404.html +3 -0
- package/dist/serve/docs-ui/_astro/{_slug_.DPUwShm2.css → _slug_.CXh9yTP1.css} +1 -1
- package/dist/serve/docs-ui/_astro/_slug_.DUci-duz.css +1 -0
- package/dist/serve/docs-ui/docs/_rhythm/index.html +2 -1
- package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +3 -2
- package/dist/serve/docs-ui/docs/agent/set-up-your-agent.md +1 -1
- package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +2 -1
- package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +2 -1
- package/dist/serve/docs-ui/docs/ai-compat/index.html +2 -1
- package/dist/serve/docs-ui/docs/api-reference/index.html +51 -49
- package/dist/serve/docs-ui/docs/api-reference.md +2 -2
- package/dist/serve/docs-ui/docs/app-compat/index.html +2 -1
- package/dist/serve/docs-ui/docs/auth-compat/index.html +2 -1
- package/dist/serve/docs-ui/docs/build/ai-logic/index.html +18 -3
- package/dist/serve/docs-ui/docs/build/ai-logic.md +30 -2
- package/dist/serve/docs-ui/docs/build/authentication/index.html +2 -1
- package/dist/serve/docs-ui/docs/build/authentication.md +1 -1
- package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +2 -1
- package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +46 -2
- package/dist/serve/docs-ui/docs/build/cloud-messaging.md +56 -1
- package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +2 -1
- package/dist/serve/docs-ui/docs/build/cloud-storage.md +1 -1
- package/dist/serve/docs-ui/docs/build/realtime-database/index.html +21 -3
- package/dist/serve/docs-ui/docs/build/realtime-database.md +25 -1
- package/dist/serve/docs-ui/docs/conformance-scores/index.html +2 -1
- package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +61 -28
- package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +65 -20
- package/dist/serve/docs-ui/docs/database-compat/index.html +2 -1
- package/dist/serve/docs-ui/docs/firestore-compat/index.html +6 -5
- package/dist/serve/docs-ui/docs/firestore-compat.md +4 -4
- package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +2 -1
- package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +2 -1
- package/dist/serve/docs-ui/docs/get-started/start-building/index.html +4 -3
- package/dist/serve/docs-ui/docs/get-started/start-building.md +2 -2
- package/dist/serve/docs-ui/docs/index.json +800 -575
- package/dist/serve/docs-ui/docs/messaging-compat/index.html +2 -1
- package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +2 -1
- package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +2 -1
- package/dist/serve/docs-ui/docs/overview/index.html +2 -1
- package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +5 -4
- package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +3 -4
- package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +5 -4
- package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +3 -4
- package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +5 -4
- package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +3 -4
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +2503 -12
- package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +2219 -8
- package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +4 -3
- package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +2 -3
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +16 -11
- package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +14 -13
- package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +4 -3
- package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +2 -3
- package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +7 -2
- package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +5 -2
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +23 -12
- package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +15 -12
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +10 -48
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +11 -24
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +87 -97
- package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +53 -65
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +14 -15
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +19 -28
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +4 -3
- package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +2 -3
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +51 -0
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api.md +36 -0
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1067 -83
- package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +1291 -160
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +123 -92
- package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +49 -20
- package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +72 -7
- package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +22 -7
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +33 -12
- package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +15 -12
- package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +18 -17
- package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +19 -22
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +1512 -545
- package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +1311 -316
- package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +5 -4
- package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +3 -4
- package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +69 -369
- package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +103 -216
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +10 -9
- package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +9 -10
- package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +8 -7
- package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +6 -7
- package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +10 -9
- package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +9 -10
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +374 -910
- package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +377 -911
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +25 -17
- package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +21 -19
- package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +63 -776
- package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +69 -510
- package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +22 -21
- package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +29 -30
- package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +15 -168
- package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +17 -87
- package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +6 -5
- package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +5 -6
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +82 -970
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +104 -479
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +30 -29
- package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +54 -55
- package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +3 -2
- package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +1 -2
- package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +5 -4
- package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +3 -4
- package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +9 -124
- package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +7 -58
- package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +24 -23
- package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +31 -34
- package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +104 -1385
- package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +133 -817
- package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +34 -33
- package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +37 -38
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +116 -1169
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +142 -590
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +4 -3
- package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +3 -4
- package/dist/serve/docs-ui/docs/rules-compat/index.html +34 -1
- package/dist/serve/docs-ui/docs/rules-compat.md +32 -0
- package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +19 -2
- package/dist/serve/docs-ui/docs/secure/audit-your-rules.md +32 -0
- package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +2 -1
- package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +2 -1
- package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +2 -1
- package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript.md +1 -1
- package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +2 -1
- package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +2 -1
- package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +2 -1
- package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +2 -1
- package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +2 -1
- package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +2 -1
- package/dist/serve/docs-ui/docs/storage-compat/index.html +2 -1
- package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +2 -1
- package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +2 -1
- package/dist/serve/docs-ui/llms.txt +1 -0
- package/dist/serve/entries/ai.d.ts.map +1 -1
- package/dist/serve/entries/ai.js +39 -1
- package/dist/serve/entries/ai.js.map +1 -1
- package/dist/serve/entries/messaging-sw.d.ts.map +1 -1
- package/dist/serve/entries/messaging-sw.js +5 -1
- package/dist/serve/entries/messaging-sw.js.map +1 -1
- package/dist/serve/entries/messaging.d.ts.map +1 -1
- package/dist/serve/entries/messaging.js +7 -1
- package/dist/serve/entries/messaging.js.map +1 -1
- package/dist/serve/entries/runtime.d.ts.map +1 -1
- package/dist/serve/entries/runtime.js +20 -1
- package/dist/serve/entries/runtime.js.map +1 -1
- package/dist/serve/init-payload.d.ts +25 -0
- package/dist/serve/init-payload.d.ts.map +1 -1
- package/dist/serve/namespace.d.ts +39 -0
- package/dist/serve/namespace.d.ts.map +1 -1
- package/dist/serve/namespace.js +80 -1
- package/dist/serve/namespace.js.map +1 -1
- package/dist/serve/standalone-assets.d.ts +11 -9
- package/dist/serve/standalone-assets.d.ts.map +1 -1
- package/dist/serve/standalone-assets.js +6 -5
- package/dist/serve/standalone-assets.js.map +1 -1
- package/dist/serve/studio-ui/assets/{RulesCodeEditor-CXdSLKhO.js → RulesCodeEditor-CxVYcZXw.js} +1 -1
- package/dist/serve/studio-ui/assets/index-cpSfgQ7H.js +1218 -0
- package/dist/serve/studio-ui/assets/seed-DeuFKi4J.js +20 -0
- package/dist/serve/studio-ui/index.html +1 -1
- package/dist/serve/vite-plugin.d.ts +92 -15
- package/dist/serve/vite-plugin.d.ts.map +1 -1
- package/dist/serve/vite-plugin.js +281 -11
- package/dist/serve/vite-plugin.js.map +1 -1
- package/dist/serve/worker/activity-bootstrap.d.ts +8 -0
- package/dist/serve/worker/activity-bootstrap.d.ts.map +1 -0
- package/dist/serve/worker/activity-bootstrap.js +11 -0
- package/dist/serve/worker/activity-bootstrap.js.map +1 -0
- package/dist/serve/worker/client/connection.d.ts.map +1 -1
- package/dist/serve/worker/client/connection.js +17 -5
- package/dist/serve/worker/client/connection.js.map +1 -1
- package/dist/serve/worker/client/core.d.ts +2 -2
- package/dist/serve/worker/client/core.d.ts.map +1 -1
- package/dist/serve/worker/client/core.js +33 -5
- package/dist/serve/worker/client/core.js.map +1 -1
- package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -1
- package/dist/serve/worker/client/firestore-writes.js +1 -0
- package/dist/serve/worker/client/firestore-writes.js.map +1 -1
- package/dist/serve/worker/client/messaging.d.ts +9 -1
- package/dist/serve/worker/client/messaging.d.ts.map +1 -1
- package/dist/serve/worker/client/messaging.js +15 -0
- package/dist/serve/worker/client/messaging.js.map +1 -1
- package/dist/serve/worker/client/studio.d.ts +10 -0
- package/dist/serve/worker/client/studio.d.ts.map +1 -1
- package/dist/serve/worker/client/studio.js +11 -0
- package/dist/serve/worker/client/studio.js.map +1 -1
- package/dist/serve/worker/durable-persistence.d.ts +12 -0
- package/dist/serve/worker/durable-persistence.d.ts.map +1 -0
- package/dist/serve/worker/durable-persistence.js +118 -0
- package/dist/serve/worker/durable-persistence.js.map +1 -0
- package/dist/serve/worker/entry.d.ts +7 -3
- package/dist/serve/worker/entry.d.ts.map +1 -1
- package/dist/serve/worker/entry.js +7 -3
- package/dist/serve/worker/entry.js.map +1 -1
- package/dist/serve/worker/host/core.d.ts +9 -5
- package/dist/serve/worker/host/core.d.ts.map +1 -1
- package/dist/serve/worker/host/core.js +33 -8
- package/dist/serve/worker/host/core.js.map +1 -1
- package/dist/serve/worker/host/dispatch.d.ts.map +1 -1
- package/dist/serve/worker/host/dispatch.js +9 -2
- package/dist/serve/worker/host/dispatch.js.map +1 -1
- package/dist/serve/worker/host/studio.d.ts +1 -1
- package/dist/serve/worker/host/studio.d.ts.map +1 -1
- package/dist/serve/worker/host/studio.js +36 -1
- package/dist/serve/worker/host/studio.js.map +1 -1
- package/dist/serve/worker/host/subscriptions.d.ts.map +1 -1
- package/dist/serve/worker/host/subscriptions.js +27 -7
- package/dist/serve/worker/host/subscriptions.js.map +1 -1
- package/dist/serve/worker/host-context.d.ts +15 -0
- package/dist/serve/worker/host-context.d.ts.map +1 -1
- package/dist/serve/worker/host-context.js +10 -0
- package/dist/serve/worker/host-context.js.map +1 -1
- package/dist/serve/worker/host-messaging.d.ts.map +1 -1
- package/dist/serve/worker/host-messaging.js +9 -2
- package/dist/serve/worker/host-messaging.js.map +1 -1
- package/dist/serve/worker/index.d.ts +1 -1
- package/dist/serve/worker/index.d.ts.map +1 -1
- package/dist/serve/worker/index.js +2 -0
- package/dist/serve/worker/index.js.map +1 -1
- package/dist/serve/worker/protocol.d.ts +25 -3
- package/dist/serve/worker/protocol.d.ts.map +1 -1
- package/dist/serve/worker/protocol.js.map +1 -1
- package/dist/serve/worker/serve-init.d.ts +23 -37
- package/dist/serve/worker/serve-init.d.ts.map +1 -1
- package/dist/serve/worker/serve-init.js +95 -172
- package/dist/serve/worker/serve-init.js.map +1 -1
- package/dist/vite.d.ts +4 -4
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +3 -3
- package/dist/vite.js.map +1 -1
- package/package.json +8 -4
- package/dist/serve/studio-ui/assets/index-BvtQIpGn.js +0 -1211
- package/dist/serve/studio-ui/assets/seed-3DMedLL3.js +0 -2
|
@@ -1,6 +1,7 @@
|
|
|
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/cli/serve/worker · Pyric Studio</title><meta name="description" content="Published declarations for @pyric/cli/serve/worker."><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_.DPUwShm2.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>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><a class="docs-nav-toplink" href="/__pyric/ui/docs/trust/versioning-and-compatibility/"> Trust </a><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/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" open> <summary>Reference</summary> <div class="docs-nav-group-body docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-values-reference-api/"> pyric/firestore-values </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/" aria-current="page"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </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-get-started"> <summary>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-build"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-secure-debug"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-observe-shape"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-ship-test"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-work-with-an-agent"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><a class="docs-nav-toplink" href="/__pyric/ui/docs/trust/versioning-and-compatibility/" id="nav-group-trust"> Trust </a><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/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </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 docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-values-reference-api/"> pyric/firestore-values </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/" aria-current="page"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </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/cli</span> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span aria-current="page">@pyric/cli/serve/worker</span> </li> </ol> </nav> <header class="api-reference-header"> <p class="api-reference-kicker">API reference</p> <h1><code>@pyric/cli/serve/worker</code></h1> <p class="api-reference-meta"> 144 published symbols from <code>@pyric/cli</code> </p> <p class="api-reference-source">
|
|
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/cli/serve/worker · Pyric Studio</title><meta name="description" content="Published declarations for @pyric/cli/serve/worker."><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_.CXh9yTP1.css">
|
|
2
|
+
<link rel="stylesheet" href="/__pyric/ui/_astro/_slug_.DUci-duz.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>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><a class="docs-nav-toplink" href="/__pyric/ui/docs/trust/versioning-and-compatibility/"> Trust </a><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/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" open> <summary>Reference</summary> <div class="docs-nav-group-body docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-values-reference-api/"> pyric/firestore-values </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-docs-reference-api/"> @pyric/cli/conformance/docs </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/" aria-current="page"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </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-get-started"> <summary>Get started</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/get-started/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/get-started/how-the-swap-works/"> How the swap works </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-build"> <summary>Build</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/build/authentication/"> Authentication </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-firestore/"> Cloud Firestore </a> </li><li> <a href="/__pyric/ui/docs/build/realtime-database/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-storage/"> Cloud Storage </a> </li><li> <a href="/__pyric/ui/docs/build/cloud-messaging/"> Cloud Messaging </a> </li><li> <a href="/__pyric/ui/docs/build/ai-logic/"> AI Logic </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-secure-debug"> <summary>Secure & debug</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/secure/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/secure/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/secure/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/secure/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/secure/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/secure/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/secure/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/secure/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-observe-shape"> <summary>Observe & shape</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/observe/see-whats-happening/"> Traffic & rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/observe/shape-your-data/"> Seed, snapshot, replay </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-ship-test"> <summary>Ship & test</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/ship/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-work-with-an-agent"> <summary>Work with an agent</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/agent/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/agent/work-with-an-agent/"> Use the MCP tools </a> </li><li> <a href="/__pyric/ui/docs/agent/watch-and-review/"> Watch in Pyric Studio </a> </li> </ul> </div> </div> </details><a class="docs-nav-toplink" href="/__pyric/ui/docs/trust/versioning-and-compatibility/" id="nav-group-trust"> Trust </a><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/conformance-scores/"> Public API coverage </a> </li><li> <a href="/__pyric/ui/docs/trust/how-we-know-it-matches-firebase/"> How we know it matches Firebase </a> </li><li> <a href="/__pyric/ui/docs/app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/functions-rtdb-compat/"> Functions · RTDB </a> </li><li> <a href="/__pyric/ui/docs/rules-compat/"> Rules </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 docs-nav-group-body--reference"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/api-reference/"> API reference </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-app-reference-api/"> pyric/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-reference-api/"> pyric/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-reference-api/"> pyric/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-reference-api/"> pyric/ai </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-scripting-reference-api/"> pyric/ai/scripting </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-reference-api/"> pyric/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-reference-api/"> pyric/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-reference-api/"> pyric/messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-sw-reference-api/"> pyric/messaging/sw </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-reference-api/"> pyric/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-values-reference-api/"> pyric/firestore-values </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-reference-api/"> pyric/sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-firestore-reference-api/"> pyric/sandbox/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox-database-reference-api/"> pyric/sandbox/database </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">pyric-admin</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-admin-app-reference-api/"> pyric-admin/app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore-reference-api/"> pyric-admin/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth-reference-api/"> pyric-admin/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database-reference-api/"> pyric-admin/database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage-reference-api/"> pyric-admin/storage </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">create-pyric</h2> <ul> <li> <a href="/__pyric/ui/docs/create-pyric-reference-api/"> create-pyric </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/cli</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-credentials-node-reference-api/"> @pyric/cli/credentials/node </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-verify-reference-api/"> @pyric/cli/verify </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-reference-api/"> @pyric/cli/conformance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api/"> @pyric/cli/conformance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-conformance-docs-reference-api/"> @pyric/cli/conformance/docs </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-reference-api/"> @pyric/cli/assurance </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api/"> @pyric/cli/assurance/browser </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-reference-api/"> @pyric/cli/bridge </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-bridge-client-reference-api/"> @pyric/cli/bridge/client </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-discover-reference-api/"> @pyric/cli/discover </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-vite-reference-api/"> @pyric/cli/vite </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-serve-worker-reference-api/" aria-current="page"> @pyric/cli/serve/worker </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-remote-reference-api/"> @pyric/cli/remote </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-register-reference-api/"> @pyric/cli/register </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading">@pyric/ui</h2> <ul> <li> <a href="/__pyric/ui/docs/pyric-ui-auth-reference-api/"> @pyric/ui/auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api/"> @pyric/ui/auth/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-primitives-reference-api/"> @pyric/ui/primitives </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-reference-api/"> @pyric/ui/firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api/"> @pyric/ui/firestore/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rtdb-reference-api/"> @pyric/ui/rtdb </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-reference-api/"> @pyric/ui/storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api/"> @pyric/ui/storage/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-reference-api/"> @pyric/ui/traffic </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api/"> @pyric/ui/traffic/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-reference-api/"> @pyric/ui/events </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-events-hooks-reference-api/"> @pyric/ui/events/hooks </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-agents-reference-api/"> @pyric/ui/agents </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-reference-api/"> @pyric/ui/rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api/"> @pyric/ui/rules/hooks </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/cli</span> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span aria-current="page">@pyric/cli/serve/worker</span> </li> </ol> </nav> <header class="api-reference-header"> <p class="api-reference-kicker">API reference</p> <h1><code>@pyric/cli/serve/worker</code></h1> <p class="api-reference-meta"> 145 published symbols from <code>@pyric/cli</code> </p> <p class="api-reference-source">
|
|
2
3
|
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.
|
|
4
|
+
</p> </header> <article class="prose api-reference-body"> <!-- Generated from published package declarations via TypeDoc. Rendered by the api-reference content loader. -->
|
|
4
5
|
<h2 id="interfaces">Interfaces</h2>
|
|
5
6
|
<p><a id="clientauth"></a></p>
|
|
6
7
|
<h3 id="clientauth">ClientAuth</h3>
|
|
@@ -523,7 +524,7 @@ that RPC back to the worker. Mirrors <code>firebase/auth</code>’s <code>User</
|
|
|
523
524
|
|
|
524
525
|
|
|
525
526
|
|
|
526
|
-
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="operationtype"></a> <code>operationType</code></td><td align="left"><code>"signIn"</code> | <code>"
|
|
527
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="operationtype"></a> <code>operationType</code></td><td align="left"><code>"signIn"</code> | <code>"link"</code> | <code>"reauthenticate"</code></td></tr><tr><td align="left"><a id="providerid-1"></a> <code>providerId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="user"></a> <code>user</code></td><td align="left"><a href="#clientuser"><code>ClientUser</code></a></td></tr></tbody></table></div>
|
|
527
528
|
<hr>
|
|
528
529
|
<p><a id="clientwritebatch"></a></p>
|
|
529
530
|
<h3 id="clientwritebatch">ClientWriteBatch</h3>
|
|
@@ -1173,7 +1174,7 @@ worker (the worker holds the one real user).</p>
|
|
|
1173
1174
|
|
|
1174
1175
|
|
|
1175
1176
|
|
|
1176
|
-
<table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="operationtype-1"></a> <code>operationType</code></td><td align="left"><code>readonly</code></td><td align="left"><code>"signIn"</code> | <code>"
|
|
1177
|
+
<table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="operationtype-1"></a> <code>operationType</code></td><td align="left"><code>readonly</code></td><td align="left"><code>"signIn"</code> | <code>"link"</code> | <code>"reauthenticate"</code></td></tr><tr><td align="left"><a id="providerid-4"></a> <code>providerId</code></td><td align="left"><code>readonly</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="user-1"></a> <code>user</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#serializeduser"><code>SerializedUser</code></a></td></tr></tbody></table></div>
|
|
1177
1178
|
<h2 id="type-aliases">Type Aliases</h2>
|
|
1178
1179
|
<p><a id="anyhandle"></a></p>
|
|
1179
1180
|
<h3 id="anyhandle">AnyHandle</h3>
|
|
@@ -1426,9 +1427,9 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
1426
1427
|
|
|
1427
1428
|
|
|
1428
1429
|
|
|
1429
|
-
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr><tr><td align="left"><code>request</code></td><td align="left"><code>CreateUserRequest</code></td></tr></tbody></table></div>
|
|
1430
|
+
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr><tr><td align="left"><code>request</code></td><td align="left"><a href="/docs/pyric-auth-reference-api/#createuserrequest"><code>CreateUserRequest</code></a></td></tr></tbody></table></div>
|
|
1430
1431
|
<h4 id="returns-26">Returns</h4>
|
|
1431
|
-
<p><code>Promise</code><<code>AuthUserRecord</code>></p>
|
|
1432
|
+
<p><code>Promise</code><<a href="/docs/pyric-auth-reference-api/#authuserrecord"><code>AuthUserRecord</code></a>></p>
|
|
1432
1433
|
<hr>
|
|
1433
1434
|
<p><a id="admindeletedocument"></a></p>
|
|
1434
1435
|
<h3 id="admindeletedocument">adminDeleteDocument()</h3>
|
|
@@ -1953,9 +1954,9 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
1953
1954
|
|
|
1954
1955
|
|
|
1955
1956
|
|
|
1956
|
-
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr><tr><td align="left"><code>uid</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>request</code></td><td align="left"><code>UpdateUserRequest</code></td></tr></tbody></table></div>
|
|
1957
|
+
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr><tr><td align="left"><code>uid</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>request</code></td><td align="left"><a href="/docs/pyric-auth-reference-api/#updateuserrequest"><code>UpdateUserRequest</code></a></td></tr></tbody></table></div>
|
|
1957
1958
|
<h4 id="returns-38">Returns</h4>
|
|
1958
|
-
<p><code>Promise</code><<code>AuthUserRecord</code>></p>
|
|
1959
|
+
<p><code>Promise</code><<a href="/docs/pyric-auth-reference-api/#authuserrecord"><code>AuthUserRecord</code></a>></p>
|
|
1959
1960
|
<hr>
|
|
1960
1961
|
<p><a id="and"></a></p>
|
|
1961
1962
|
<h3 id="and">and()</h3>
|
|
@@ -2495,7 +2496,7 @@ subscription. Useful for a late, snapshot-only consumer.</p>
|
|
|
2495
2496
|
|
|
2496
2497
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr></tbody></table></div>
|
|
2497
2498
|
<h4 id="returns-56">Returns</h4>
|
|
2498
|
-
<p><code>Promise</code><readonly <code>SandboxEvent</code>[]></p>
|
|
2499
|
+
<p><code>Promise</code><readonly <a href="/docs/pyric-sandbox-reference-api/#sandboxevent"><code>SandboxEvent</code></a>[]></p>
|
|
2499
2500
|
<hr>
|
|
2500
2501
|
<p><a id="exportworkerstate"></a></p>
|
|
2501
2502
|
<h3 id="exportworkerstate">exportWorkerState()</h3>
|
|
@@ -2912,10 +2913,10 @@ but returns a <code>ClientDb</code> backed by a <code>MessagePort</code> instead
|
|
|
2912
2913
|
<hr>
|
|
2913
2914
|
<p><a id="getlens"></a></p>
|
|
2914
2915
|
<h3 id="getlens">getLens()</h3>
|
|
2915
|
-
<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"> getLens</span><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">
|
|
2916
|
+
<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"> getLens</span><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">AuthLens</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
2916
2917
|
<p>The active default lens (read-only view), for Studio UI to reflect state.</p>
|
|
2917
2918
|
<h4 id="returns-70">Returns</h4>
|
|
2918
|
-
<p><code>
|
|
2919
|
+
<p><a href="/docs/pyric-sandbox-reference-api/#authlens-2"><code>AuthLens</code></a></p>
|
|
2919
2920
|
<hr>
|
|
2920
2921
|
<p><a id="getmetadata"></a></p>
|
|
2921
2922
|
<h3 id="getmetadata">getMetadata()</h3>
|
|
@@ -2937,7 +2938,7 @@ but returns a <code>ClientDb</code> backed by a <code>MessagePort</code> instead
|
|
|
2937
2938
|
|
|
2938
2939
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>reference</code></td><td align="left"><a href="#clientstoragereference"><code>ClientStorageReference</code></a></td></tr></tbody></table></div>
|
|
2939
2940
|
<h4 id="returns-71">Returns</h4>
|
|
2940
|
-
<p><code>Promise</code><<code>FullMetadata</code>></p>
|
|
2941
|
+
<p><code>Promise</code><<a href="/docs/pyric-storage-reference-api/#fullmetadata"><code>FullMetadata</code></a>></p>
|
|
2941
2942
|
<hr>
|
|
2942
2943
|
<p><a id="getproviderconfig"></a></p>
|
|
2943
2944
|
<h3 id="getproviderconfig">getProviderConfig()</h3>
|
|
@@ -3043,7 +3044,7 @@ attempting user, on a throwaway branch (no live mutation).</p>
|
|
|
3043
3044
|
|
|
3044
3045
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr></tbody></table></div>
|
|
3045
3046
|
<h4 id="returns-74">Returns</h4>
|
|
3046
|
-
<p><code>Promise</code><<code>SandboxSnapshot</code>></p>
|
|
3047
|
+
<p><code>Promise</code><<a href="/docs/pyric-sandbox-reference-api/#sandboxsnapshot"><code>SandboxSnapshot</code></a>></p>
|
|
3047
3048
|
<hr>
|
|
3048
3049
|
<p><a id="getstorage"></a></p>
|
|
3049
3050
|
<h3 id="getstorage">getStorage()</h3>
|
|
@@ -3370,7 +3371,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3370
3371
|
|
|
3371
3372
|
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr></tbody></table></div>
|
|
3372
3373
|
<h4 id="returns-85">Returns</h4>
|
|
3373
|
-
<p><code>Promise</code><<code>AuthUserRecord</code>[]></p>
|
|
3374
|
+
<p><code>Promise</code><<a href="/docs/pyric-auth-reference-api/#authuserrecord"><code>AuthUserRecord</code></a>[]></p>
|
|
3374
3375
|
<hr>
|
|
3375
3376
|
<p><a id="listworkerbranches"></a></p>
|
|
3376
3377
|
<h3 id="listworkerbranches">listWorkerBranches()</h3>
|
|
@@ -3690,6 +3691,36 @@ history batches aren’t coalescible, so it needs bounded backpressure first
|
|
|
3690
3691
|
<h5 id="returns-97">Returns</h5>
|
|
3691
3692
|
<p><code>void</code></p>
|
|
3692
3693
|
<hr>
|
|
3694
|
+
<p><a id="resetall"></a></p>
|
|
3695
|
+
<h3 id="resetall">resetAll()</h3>
|
|
3696
|
+
<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"> resetAll</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">db</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClientDb</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#ABB2BF"><{</span></span>
|
|
3697
|
+
<span class="line"><span style="color:#E06C75"> errors</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">[];</span></span>
|
|
3698
|
+
<span class="line"><span style="color:#ABB2BF">}>;</span></span></code></pre>
|
|
3699
|
+
<p>Sandbox-owned full reset (issue #359): <code>sandbox.resetAll()</code> on the worker.
|
|
3700
|
+
Clears the Firestore env, the signed-in session, and EVERY registered
|
|
3701
|
+
persistable service — auth users, the RTDB tree, storage objects. Resolves
|
|
3702
|
+
once the worker acks (all services finished clearing). This is the served
|
|
3703
|
+
counterpart of calling <code>sandbox.resetAll()</code> on an in-process sandbox.</p>
|
|
3704
|
+
<h4 id="parameters-82">Parameters</h4>
|
|
3705
|
+
<div class="table-scroll">
|
|
3706
|
+
|
|
3707
|
+
|
|
3708
|
+
|
|
3709
|
+
|
|
3710
|
+
|
|
3711
|
+
|
|
3712
|
+
|
|
3713
|
+
|
|
3714
|
+
|
|
3715
|
+
|
|
3716
|
+
|
|
3717
|
+
|
|
3718
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr></tbody></table></div>
|
|
3719
|
+
<h4 id="returns-98">Returns</h4>
|
|
3720
|
+
<p><code>Promise</code><{
|
|
3721
|
+
<code>errors</code>: <code>string</code>[];
|
|
3722
|
+
}></p>
|
|
3723
|
+
<hr>
|
|
3693
3724
|
<p><a id="rtdbchild"></a></p>
|
|
3694
3725
|
<h3 id="rtdbchild">rtdbChild()</h3>
|
|
3695
3726
|
<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"> rtdbChild</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">parent</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">RtdbRefHandle</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">path</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">RtdbRefHandle</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
@@ -3708,7 +3739,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3708
3739
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3709
3740
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3710
3741
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3711
|
-
<h4 id="parameters-
|
|
3742
|
+
<h4 id="parameters-83">Parameters</h4>
|
|
3712
3743
|
<div class="table-scroll">
|
|
3713
3744
|
|
|
3714
3745
|
|
|
@@ -3727,7 +3758,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3727
3758
|
|
|
3728
3759
|
|
|
3729
3760
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>parent</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr><tr><td align="left"><code>path</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
3730
|
-
<h4 id="returns-
|
|
3761
|
+
<h4 id="returns-99">Returns</h4>
|
|
3731
3762
|
<p><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></p>
|
|
3732
3763
|
<hr>
|
|
3733
3764
|
<p><a id="rtdbconnectdatabaseemulator"></a></p>
|
|
@@ -3748,7 +3779,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3748
3779
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3749
3780
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3750
3781
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3751
|
-
<h4 id="returns-
|
|
3782
|
+
<h4 id="returns-100">Returns</h4>
|
|
3752
3783
|
<p><code>void</code></p>
|
|
3753
3784
|
<hr>
|
|
3754
3785
|
<p><a id="rtdbget"></a></p>
|
|
@@ -3769,7 +3800,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3769
3800
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3770
3801
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3771
3802
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3772
|
-
<h4 id="parameters-
|
|
3803
|
+
<h4 id="parameters-84">Parameters</h4>
|
|
3773
3804
|
<div class="table-scroll">
|
|
3774
3805
|
|
|
3775
3806
|
|
|
@@ -3784,7 +3815,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3784
3815
|
|
|
3785
3816
|
|
|
3786
3817
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>r</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr></tbody></table></div>
|
|
3787
|
-
<h4 id="returns-
|
|
3818
|
+
<h4 id="returns-101">Returns</h4>
|
|
3788
3819
|
<p><code>Promise</code><<a href="#rtdbdatasnapshot"><code>RtdbDataSnapshot</code></a>></p>
|
|
3789
3820
|
<hr>
|
|
3790
3821
|
<p><a id="rtdbgetdatabase"></a></p>
|
|
@@ -3805,7 +3836,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3805
3836
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3806
3837
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3807
3838
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3808
|
-
<h4 id="parameters-
|
|
3839
|
+
<h4 id="parameters-85">Parameters</h4>
|
|
3809
3840
|
<div class="table-scroll">
|
|
3810
3841
|
|
|
3811
3842
|
|
|
@@ -3824,7 +3855,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3824
3855
|
|
|
3825
3856
|
|
|
3826
3857
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>source?</code></td><td align="left"><code>string</code> | <a href="#clientdb"><code>ClientDb</code></a> | <code>URL</code></td></tr><tr><td align="left"><code>name?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
3827
|
-
<h4 id="returns-
|
|
3858
|
+
<h4 id="returns-102">Returns</h4>
|
|
3828
3859
|
<p><a href="#clientrtdb"><code>ClientRtdb</code></a></p>
|
|
3829
3860
|
<hr>
|
|
3830
3861
|
<p><a id="rtdboff"></a></p>
|
|
@@ -3848,7 +3879,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3848
3879
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3849
3880
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3850
3881
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3851
|
-
<h4 id="parameters-
|
|
3882
|
+
<h4 id="parameters-86">Parameters</h4>
|
|
3852
3883
|
<div class="table-scroll">
|
|
3853
3884
|
|
|
3854
3885
|
|
|
@@ -3871,7 +3902,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3871
3902
|
|
|
3872
3903
|
|
|
3873
3904
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>_r</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr><tr><td align="left"><code>_eventType?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><code>_callback?</code></td><td align="left"><code>unknown</code></td></tr></tbody></table></div>
|
|
3874
|
-
<h4 id="returns-
|
|
3905
|
+
<h4 id="returns-103">Returns</h4>
|
|
3875
3906
|
<p><code>void</code></p>
|
|
3876
3907
|
<hr>
|
|
3877
3908
|
<p><a id="rtdbonvalue"></a></p>
|
|
@@ -3895,7 +3926,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3895
3926
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3896
3927
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3897
3928
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3898
|
-
<h4 id="parameters-
|
|
3929
|
+
<h4 id="parameters-87">Parameters</h4>
|
|
3899
3930
|
<div class="table-scroll">
|
|
3900
3931
|
|
|
3901
3932
|
|
|
@@ -3918,7 +3949,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3918
3949
|
|
|
3919
3950
|
|
|
3920
3951
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>r</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr><tr><td align="left"><code>next</code></td><td align="left">(<code>snap</code>: <a href="#rtdbdatasnapshot"><code>RtdbDataSnapshot</code></a>) => <code>void</code></td></tr><tr><td align="left"><code>error?</code></td><td align="left">(<code>err</code>: <code>unknown</code>) => <code>void</code></td></tr></tbody></table></div>
|
|
3921
|
-
<h4 id="returns-
|
|
3952
|
+
<h4 id="returns-104">Returns</h4>
|
|
3922
3953
|
<p><a href="#unsubscribe"><code>Unsubscribe</code></a></p>
|
|
3923
3954
|
<hr>
|
|
3924
3955
|
<p><a id="rtdbpush"></a></p>
|
|
@@ -3939,7 +3970,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3939
3970
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3940
3971
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3941
3972
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3942
|
-
<h4 id="parameters-
|
|
3973
|
+
<h4 id="parameters-88">Parameters</h4>
|
|
3943
3974
|
<div class="table-scroll">
|
|
3944
3975
|
|
|
3945
3976
|
|
|
@@ -3958,7 +3989,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3958
3989
|
|
|
3959
3990
|
|
|
3960
3991
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>r</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr><tr><td align="left"><code>value?</code></td><td align="left"><code>unknown</code></td></tr></tbody></table></div>
|
|
3961
|
-
<h4 id="returns-
|
|
3992
|
+
<h4 id="returns-105">Returns</h4>
|
|
3962
3993
|
<p><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a> & <code>PromiseLike</code><<a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a>></p>
|
|
3963
3994
|
<hr>
|
|
3964
3995
|
<p><a id="rtdbref"></a></p>
|
|
@@ -3979,7 +4010,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
3979
4010
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
3980
4011
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
3981
4012
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
3982
|
-
<h4 id="parameters-
|
|
4013
|
+
<h4 id="parameters-89">Parameters</h4>
|
|
3983
4014
|
<div class="table-scroll">
|
|
3984
4015
|
|
|
3985
4016
|
|
|
@@ -3998,7 +4029,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
3998
4029
|
|
|
3999
4030
|
|
|
4000
4031
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientrtdb"><code>ClientRtdb</code></a></td></tr><tr><td align="left"><code>path?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
4001
|
-
<h4 id="returns-
|
|
4032
|
+
<h4 id="returns-106">Returns</h4>
|
|
4002
4033
|
<p><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></p>
|
|
4003
4034
|
<hr>
|
|
4004
4035
|
<p><a id="rtdbremove"></a></p>
|
|
@@ -4019,7 +4050,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4019
4050
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4020
4051
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4021
4052
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4022
|
-
<h4 id="parameters-
|
|
4053
|
+
<h4 id="parameters-90">Parameters</h4>
|
|
4023
4054
|
<div class="table-scroll">
|
|
4024
4055
|
|
|
4025
4056
|
|
|
@@ -4034,7 +4065,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4034
4065
|
|
|
4035
4066
|
|
|
4036
4067
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>r</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr></tbody></table></div>
|
|
4037
|
-
<h4 id="returns-
|
|
4068
|
+
<h4 id="returns-107">Returns</h4>
|
|
4038
4069
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4039
4070
|
<hr>
|
|
4040
4071
|
<p><a id="rtdbservertimestamp"></a></p>
|
|
@@ -4056,7 +4087,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4056
4087
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4057
4088
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4058
4089
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4059
|
-
<h4 id="returns-
|
|
4090
|
+
<h4 id="returns-108">Returns</h4>
|
|
4060
4091
|
<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>
|
|
4061
4092
|
<span class="line"><span style="color:#ABB2BF">}</span></span></code></pre>
|
|
4062
4093
|
<hr>
|
|
@@ -4078,7 +4109,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4078
4109
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4079
4110
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4080
4111
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4081
|
-
<h4 id="parameters-
|
|
4112
|
+
<h4 id="parameters-91">Parameters</h4>
|
|
4082
4113
|
<div class="table-scroll">
|
|
4083
4114
|
|
|
4084
4115
|
|
|
@@ -4097,7 +4128,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4097
4128
|
|
|
4098
4129
|
|
|
4099
4130
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>r</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr><tr><td align="left"><code>value</code></td><td align="left"><code>unknown</code></td></tr></tbody></table></div>
|
|
4100
|
-
<h4 id="returns-
|
|
4131
|
+
<h4 id="returns-109">Returns</h4>
|
|
4101
4132
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4102
4133
|
<hr>
|
|
4103
4134
|
<p><a id="rtdbupdate"></a></p>
|
|
@@ -4118,7 +4149,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4118
4149
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4119
4150
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4120
4151
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4121
|
-
<h4 id="parameters-
|
|
4152
|
+
<h4 id="parameters-92">Parameters</h4>
|
|
4122
4153
|
<div class="table-scroll">
|
|
4123
4154
|
|
|
4124
4155
|
|
|
@@ -4137,7 +4168,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4137
4168
|
|
|
4138
4169
|
|
|
4139
4170
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>r</code></td><td align="left"><a href="#rtdbrefhandle"><code>RtdbRefHandle</code></a></td></tr><tr><td align="left"><code>values</code></td><td align="left"><code>Record</code><<code>string</code>, <code>unknown</code>></td></tr></tbody></table></div>
|
|
4140
|
-
<h4 id="returns-
|
|
4171
|
+
<h4 id="returns-110">Returns</h4>
|
|
4141
4172
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4142
4173
|
<hr>
|
|
4143
4174
|
<p><a id="runtransaction"></a></p>
|
|
@@ -4177,7 +4208,7 @@ on conflict rather than surfacing the error immediately.</p>
|
|
|
4177
4208
|
|
|
4178
4209
|
|
|
4179
4210
|
<table><thead><tr><th align="left">Type Parameter</th></tr></thead><tbody><tr><td align="left"><code>R</code></td></tr></tbody></table></div>
|
|
4180
|
-
<h4 id="parameters-
|
|
4211
|
+
<h4 id="parameters-93">Parameters</h4>
|
|
4181
4212
|
<div class="table-scroll">
|
|
4182
4213
|
|
|
4183
4214
|
|
|
@@ -4196,14 +4227,14 @@ on conflict rather than surfacing the error immediately.</p>
|
|
|
4196
4227
|
|
|
4197
4228
|
|
|
4198
4229
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>updateFn</code></td><td align="left">(<code>txn</code>: <a href="#clienttransaction"><code>ClientTransaction</code></a>) => <code>R</code> | <code>Promise</code><<code>R</code>></td></tr></tbody></table></div>
|
|
4199
|
-
<h4 id="returns-
|
|
4230
|
+
<h4 id="returns-111">Returns</h4>
|
|
4200
4231
|
<p><code>Promise</code><<code>R</code>></p>
|
|
4201
4232
|
<hr>
|
|
4202
4233
|
<p><a id="saveworkerbranch"></a></p>
|
|
4203
4234
|
<h3 id="saveworkerbranch">saveWorkerBranch()</h3>
|
|
4204
4235
|
<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"> saveWorkerBranch</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">db</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClientDb</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">name</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">>;</span></span></code></pre>
|
|
4205
4236
|
<p>Phase 3: save the live sandbox as a named branch (a saved state bundle).</p>
|
|
4206
|
-
<h4 id="parameters-
|
|
4237
|
+
<h4 id="parameters-94">Parameters</h4>
|
|
4207
4238
|
<div class="table-scroll">
|
|
4208
4239
|
|
|
4209
4240
|
|
|
@@ -4222,7 +4253,7 @@ on conflict rather than surfacing the error immediately.</p>
|
|
|
4222
4253
|
|
|
4223
4254
|
|
|
4224
4255
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>name</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
4225
|
-
<h4 id="returns-
|
|
4256
|
+
<h4 id="returns-112">Returns</h4>
|
|
4226
4257
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4227
4258
|
<hr>
|
|
4228
4259
|
<p><a id="servertimestamp"></a></p>
|
|
@@ -4243,7 +4274,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4243
4274
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4244
4275
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4245
4276
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4246
|
-
<h4 id="returns-
|
|
4277
|
+
<h4 id="returns-113">Returns</h4>
|
|
4247
4278
|
<p><code>SentinelMarker</code></p>
|
|
4248
4279
|
<hr>
|
|
4249
4280
|
<p><a id="setdatabaserules"></a></p>
|
|
@@ -4267,7 +4298,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4267
4298
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4268
4299
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4269
4300
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4270
|
-
<h4 id="parameters-
|
|
4301
|
+
<h4 id="parameters-95">Parameters</h4>
|
|
4271
4302
|
<div class="table-scroll">
|
|
4272
4303
|
|
|
4273
4304
|
|
|
@@ -4286,7 +4317,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4286
4317
|
|
|
4287
4318
|
|
|
4288
4319
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a> | <a href="#clientrtdb"><code>ClientRtdb</code></a></td></tr><tr><td align="left"><code>source</code></td><td align="left"><code>unknown</code></td></tr></tbody></table></div>
|
|
4289
|
-
<h4 id="returns-
|
|
4320
|
+
<h4 id="returns-114">Returns</h4>
|
|
4290
4321
|
<p><code>Promise</code><{
|
|
4291
4322
|
<code>messages</code>: <code>unknown</code>[];
|
|
4292
4323
|
<code>ok</code>: <code>boolean</code>;
|
|
@@ -4316,7 +4347,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4316
4347
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4317
4348
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4318
4349
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4319
|
-
<h4 id="parameters-
|
|
4350
|
+
<h4 id="parameters-96">Parameters</h4>
|
|
4320
4351
|
<div class="table-scroll">
|
|
4321
4352
|
|
|
4322
4353
|
|
|
@@ -4347,7 +4378,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4347
4378
|
|
|
4348
4379
|
|
|
4349
4380
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#docrefhandle"><code>DocRefHandle</code></a></td></tr><tr><td align="left"><code>data</code></td><td align="left"><code>Record</code><<code>string</code>, <code>unknown</code>></td></tr><tr><td align="left"><code>options?</code></td><td align="left">{ <code>merge?</code>: <code>boolean</code>; <code>mergeFields?</code>: <code>string</code>[]; }</td></tr><tr><td align="left"><code>options.merge?</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><code>options.mergeFields?</code></td><td align="left"><code>string</code>[]</td></tr></tbody></table></div>
|
|
4350
|
-
<h4 id="returns-
|
|
4381
|
+
<h4 id="returns-115">Returns</h4>
|
|
4351
4382
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4352
4383
|
<hr>
|
|
4353
4384
|
<p><a id="setfirestorerules"></a></p>
|
|
@@ -4372,7 +4403,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4372
4403
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4373
4404
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4374
4405
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4375
|
-
<h4 id="parameters-
|
|
4406
|
+
<h4 id="parameters-97">Parameters</h4>
|
|
4376
4407
|
<div class="table-scroll">
|
|
4377
4408
|
|
|
4378
4409
|
|
|
@@ -4391,7 +4422,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4391
4422
|
|
|
4392
4423
|
|
|
4393
4424
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>source</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
4394
|
-
<h4 id="returns-
|
|
4425
|
+
<h4 id="returns-116">Returns</h4>
|
|
4395
4426
|
<p><code>Promise</code><{
|
|
4396
4427
|
<code>messages</code>: <code>unknown</code>[];
|
|
4397
4428
|
<code>ok</code>: <code>boolean</code>;
|
|
@@ -4400,7 +4431,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4400
4431
|
<hr>
|
|
4401
4432
|
<p><a id="setlens"></a></p>
|
|
4402
4433
|
<h3 id="setlens">setLens()</h3>
|
|
4403
|
-
<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"> setLens</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">lens</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">
|
|
4434
|
+
<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"> setLens</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">lens</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthLens</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
4404
4435
|
<p>Set the default auth lens applied to subsequent Firestore DATA ops from this
|
|
4405
4436
|
client (Pyric Studio). Pass <code>{ mode: 'as', uid }</code> to read/write AS a user
|
|
4406
4437
|
(rules apply), <code>{ mode: 'admin' }</code> for the admin lens, or
|
|
@@ -4408,7 +4439,7 @@ client (Pyric Studio). Pass <code>{ mode: 'as', uid }</code> to read/write AS a
|
|
|
4408
4439
|
<p>The lens is process-wide for this client module (one served page = one
|
|
4409
4440
|
worker port), mirroring how Studio drives a single active identity at a time.
|
|
4410
4441
|
Auth ops are unaffected — they always operate the real session.</p>
|
|
4411
|
-
<h4 id="parameters-
|
|
4442
|
+
<h4 id="parameters-98">Parameters</h4>
|
|
4412
4443
|
<div class="table-scroll">
|
|
4413
4444
|
|
|
4414
4445
|
|
|
@@ -4422,15 +4453,15 @@ Auth ops are unaffected — they always operate the real session.</p>
|
|
|
4422
4453
|
|
|
4423
4454
|
|
|
4424
4455
|
|
|
4425
|
-
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>lens</code></td><td align="left"><code>
|
|
4426
|
-
<h4 id="returns-
|
|
4456
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>lens</code></td><td align="left"><a href="/docs/pyric-sandbox-reference-api/#authlens-2"><code>AuthLens</code></a></td></tr></tbody></table></div>
|
|
4457
|
+
<h4 id="returns-117">Returns</h4>
|
|
4427
4458
|
<p><code>void</code></p>
|
|
4428
4459
|
<hr>
|
|
4429
4460
|
<p><a id="setopissuer"></a></p>
|
|
4430
4461
|
<h3 id="setopissuer">setOpIssuer()</h3>
|
|
4431
4462
|
<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"> setOpIssuer</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">source</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"studio"</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
4432
4463
|
<p>Declare who issues the ops this client module constructs. See _opIssuer.</p>
|
|
4433
|
-
<h4 id="parameters-
|
|
4464
|
+
<h4 id="parameters-99">Parameters</h4>
|
|
4434
4465
|
<div class="table-scroll">
|
|
4435
4466
|
|
|
4436
4467
|
|
|
@@ -4445,7 +4476,7 @@ Auth ops are unaffected — they always operate the real session.</p>
|
|
|
4445
4476
|
|
|
4446
4477
|
|
|
4447
4478
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>source</code></td><td align="left"><code>"studio"</code></td></tr></tbody></table></div>
|
|
4448
|
-
<h4 id="returns-
|
|
4479
|
+
<h4 id="returns-118">Returns</h4>
|
|
4449
4480
|
<p><code>void</code></p>
|
|
4450
4481
|
<hr>
|
|
4451
4482
|
<p><a id="setpersistence"></a></p>
|
|
@@ -4455,7 +4486,7 @@ Auth ops are unaffected — they always operate the real session.</p>
|
|
|
4455
4486
|
effective persistence is CLIENT-side (#754): the entry adapter mirrors the
|
|
4456
4487
|
mode into the page’s SessionStore, which decides where — or whether — this
|
|
4457
4488
|
tab’s session uid is stored for reload restore.</p>
|
|
4458
|
-
<h4 id="parameters-
|
|
4489
|
+
<h4 id="parameters-100">Parameters</h4>
|
|
4459
4490
|
<div class="table-scroll">
|
|
4460
4491
|
|
|
4461
4492
|
|
|
@@ -4474,7 +4505,7 @@ tab’s session uid is stored for reload restore.</p>
|
|
|
4474
4505
|
|
|
4475
4506
|
|
|
4476
4507
|
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr><tr><td align="left"><code>persistence</code></td><td align="left"><code>ClientPersistence</code></td></tr></tbody></table></div>
|
|
4477
|
-
<h4 id="returns-
|
|
4508
|
+
<h4 id="returns-119">Returns</h4>
|
|
4478
4509
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4479
4510
|
<hr>
|
|
4480
4511
|
<p><a id="setproviderconfig"></a></p>
|
|
@@ -4498,7 +4529,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4498
4529
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4499
4530
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4500
4531
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4501
|
-
<h4 id="parameters-
|
|
4532
|
+
<h4 id="parameters-101">Parameters</h4>
|
|
4502
4533
|
<div class="table-scroll">
|
|
4503
4534
|
|
|
4504
4535
|
|
|
@@ -4521,7 +4552,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4521
4552
|
|
|
4522
4553
|
|
|
4523
4554
|
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr><tr><td align="left"><code>providerId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>enabled</code></td><td align="left"><code>boolean</code></td></tr></tbody></table></div>
|
|
4524
|
-
<h4 id="returns-
|
|
4555
|
+
<h4 id="returns-120">Returns</h4>
|
|
4525
4556
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4526
4557
|
<hr>
|
|
4527
4558
|
<p><a id="setrules"></a></p>
|
|
@@ -4532,7 +4563,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4532
4563
|
<p>Deploy new rules to the worker’s sandbox. Active onSnapshot listeners
|
|
4533
4564
|
that were allowed by the old rules may start receiving error callbacks
|
|
4534
4565
|
if the new rules deny them.</p>
|
|
4535
|
-
<h4 id="parameters-
|
|
4566
|
+
<h4 id="parameters-102">Parameters</h4>
|
|
4536
4567
|
<div class="table-scroll">
|
|
4537
4568
|
|
|
4538
4569
|
|
|
@@ -4551,7 +4582,7 @@ if the new rules deny them.</p>
|
|
|
4551
4582
|
|
|
4552
4583
|
|
|
4553
4584
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>source</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
4554
|
-
<h4 id="returns-
|
|
4585
|
+
<h4 id="returns-121">Returns</h4>
|
|
4555
4586
|
<p><code>Promise</code><{
|
|
4556
4587
|
<code>warnings</code>: <code>unknown</code>[];
|
|
4557
4588
|
}></p>
|
|
@@ -4574,7 +4605,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4574
4605
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4575
4606
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4576
4607
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4577
|
-
<h4 id="parameters-
|
|
4608
|
+
<h4 id="parameters-103">Parameters</h4>
|
|
4578
4609
|
<div class="table-scroll">
|
|
4579
4610
|
|
|
4580
4611
|
|
|
@@ -4589,7 +4620,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4589
4620
|
|
|
4590
4621
|
|
|
4591
4622
|
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr></tbody></table></div>
|
|
4592
|
-
<h4 id="returns-
|
|
4623
|
+
<h4 id="returns-122">Returns</h4>
|
|
4593
4624
|
<p><code>Promise</code><<a href="#clientusercredential"><code>ClientUserCredential</code></a>></p>
|
|
4594
4625
|
<hr>
|
|
4595
4626
|
<p><a id="signinwithemailandpassword"></a></p>
|
|
@@ -4613,7 +4644,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4613
4644
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4614
4645
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4615
4646
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4616
|
-
<h4 id="parameters-
|
|
4647
|
+
<h4 id="parameters-104">Parameters</h4>
|
|
4617
4648
|
<div class="table-scroll">
|
|
4618
4649
|
|
|
4619
4650
|
|
|
@@ -4636,7 +4667,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4636
4667
|
|
|
4637
4668
|
|
|
4638
4669
|
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr><tr><td align="left"><code>email</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>password</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
4639
|
-
<h4 id="returns-
|
|
4670
|
+
<h4 id="returns-123">Returns</h4>
|
|
4640
4671
|
<p><code>Promise</code><<a href="#clientusercredential"><code>ClientUserCredential</code></a>></p>
|
|
4641
4672
|
<hr>
|
|
4642
4673
|
<p><a id="signout"></a></p>
|
|
@@ -4657,7 +4688,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4657
4688
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4658
4689
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4659
4690
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4660
|
-
<h4 id="parameters-
|
|
4691
|
+
<h4 id="parameters-105">Parameters</h4>
|
|
4661
4692
|
<div class="table-scroll">
|
|
4662
4693
|
|
|
4663
4694
|
|
|
@@ -4672,7 +4703,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4672
4703
|
|
|
4673
4704
|
|
|
4674
4705
|
<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"><a href="#clientauth"><code>ClientAuth</code></a></td></tr></tbody></table></div>
|
|
4675
|
-
<h4 id="returns-
|
|
4706
|
+
<h4 id="returns-124">Returns</h4>
|
|
4676
4707
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4677
4708
|
<hr>
|
|
4678
4709
|
<p><a id="startafter"></a></p>
|
|
@@ -4693,7 +4724,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4693
4724
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4694
4725
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4695
4726
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4696
|
-
<h4 id="parameters-
|
|
4727
|
+
<h4 id="parameters-106">Parameters</h4>
|
|
4697
4728
|
<div class="table-scroll">
|
|
4698
4729
|
|
|
4699
4730
|
|
|
@@ -4708,7 +4739,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4708
4739
|
|
|
4709
4740
|
|
|
4710
4741
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left">…<code>values</code></td><td align="left"><code>unknown</code>[]</td></tr></tbody></table></div>
|
|
4711
|
-
<h4 id="returns-
|
|
4742
|
+
<h4 id="returns-125">Returns</h4>
|
|
4712
4743
|
<p><code>QueryConstraintHandle</code></p>
|
|
4713
4744
|
<hr>
|
|
4714
4745
|
<p><a id="startat"></a></p>
|
|
@@ -4729,7 +4760,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4729
4760
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4730
4761
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4731
4762
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4732
|
-
<h4 id="parameters-
|
|
4763
|
+
<h4 id="parameters-107">Parameters</h4>
|
|
4733
4764
|
<div class="table-scroll">
|
|
4734
4765
|
|
|
4735
4766
|
|
|
@@ -4744,7 +4775,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4744
4775
|
|
|
4745
4776
|
|
|
4746
4777
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left">…<code>values</code></td><td align="left"><code>unknown</code>[]</td></tr></tbody></table></div>
|
|
4747
|
-
<h4 id="returns-
|
|
4778
|
+
<h4 id="returns-126">Returns</h4>
|
|
4748
4779
|
<p><code>QueryConstraintHandle</code></p>
|
|
4749
4780
|
<hr>
|
|
4750
4781
|
<p><a id="startpresence"></a></p>
|
|
@@ -4752,7 +4783,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4752
4783
|
<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"> startPresence</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">opts</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">StartPresenceOptions</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">PresenceSession</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
4753
4784
|
<p>Register this page with the worker and keep the lease alive until
|
|
4754
4785
|
<a href="#stop">PresenceSession.stop</a> or <code>pagehide</code>.</p>
|
|
4755
|
-
<h4 id="parameters-
|
|
4786
|
+
<h4 id="parameters-108">Parameters</h4>
|
|
4756
4787
|
<div class="table-scroll">
|
|
4757
4788
|
|
|
4758
4789
|
|
|
@@ -4767,7 +4798,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4767
4798
|
|
|
4768
4799
|
|
|
4769
4800
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>opts</code></td><td align="left"><code>StartPresenceOptions</code></td></tr></tbody></table></div>
|
|
4770
|
-
<h4 id="returns-
|
|
4801
|
+
<h4 id="returns-127">Returns</h4>
|
|
4771
4802
|
<p><a href="#presencesession"><code>PresenceSession</code></a></p>
|
|
4772
4803
|
<hr>
|
|
4773
4804
|
<p><a id="subscribeevents"></a></p>
|
|
@@ -4780,7 +4811,7 @@ event. Returns an unsubscribe that deregisters on the worker.</p>
|
|
|
4780
4811
|
<p>This is the live counterpart to <code>sandbox.onEvent</code> + an initial <code>history()</code>
|
|
4781
4812
|
fold, collapsed into one subscription so a late subscriber never misses the
|
|
4782
4813
|
backlog.</p>
|
|
4783
|
-
<h4 id="parameters-
|
|
4814
|
+
<h4 id="parameters-109">Parameters</h4>
|
|
4784
4815
|
<div class="table-scroll">
|
|
4785
4816
|
|
|
4786
4817
|
|
|
@@ -4798,8 +4829,8 @@ backlog.</p>
|
|
|
4798
4829
|
|
|
4799
4830
|
|
|
4800
4831
|
|
|
4801
|
-
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>callback</code></td><td align="left">(<code>events</code>: readonly <code>SandboxEvent</code>[]) => <code>void</code></td></tr></tbody></table></div>
|
|
4802
|
-
<h4 id="returns-
|
|
4832
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>callback</code></td><td align="left">(<code>events</code>: readonly <a href="/docs/pyric-sandbox-reference-api/#sandboxevent"><code>SandboxEvent</code></a>[]) => <code>void</code></td></tr></tbody></table></div>
|
|
4833
|
+
<h4 id="returns-128">Returns</h4>
|
|
4803
4834
|
<p><a href="#unsubscribe"><code>Unsubscribe</code></a></p>
|
|
4804
4835
|
<hr>
|
|
4805
4836
|
<p><a id="subscribepresence"></a></p>
|
|
@@ -4807,7 +4838,7 @@ backlog.</p>
|
|
|
4807
4838
|
<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"> subscribePresence</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">db</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClientDb</span><span style="color:#ABB2BF">, </span><span style="color:#61AFEF">callback</span><span style="color:#ABB2BF">: (</span><span style="color:#E06C75;font-style:italic">snapshot</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">PresenceSnapshot</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#E5C07B"> void</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Unsubscribe</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
4808
4839
|
<p>Subscribe to the worker’s authoritative presence snapshot. The callback
|
|
4809
4840
|
fires immediately with the current snapshot, then on every change.</p>
|
|
4810
|
-
<h4 id="parameters-
|
|
4841
|
+
<h4 id="parameters-110">Parameters</h4>
|
|
4811
4842
|
<div class="table-scroll">
|
|
4812
4843
|
|
|
4813
4844
|
|
|
@@ -4826,14 +4857,14 @@ fires immediately with the current snapshot, then on every change.</p>
|
|
|
4826
4857
|
|
|
4827
4858
|
|
|
4828
4859
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>callback</code></td><td align="left">(<code>snapshot</code>: <a href="#presencesnapshot"><code>PresenceSnapshot</code></a>) => <code>void</code></td></tr></tbody></table></div>
|
|
4829
|
-
<h4 id="returns-
|
|
4860
|
+
<h4 id="returns-129">Returns</h4>
|
|
4830
4861
|
<p><a href="#unsubscribe"><code>Unsubscribe</code></a></p>
|
|
4831
4862
|
<hr>
|
|
4832
4863
|
<p><a id="sum"></a></p>
|
|
4833
4864
|
<h3 id="sum">sum()</h3>
|
|
4834
4865
|
<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"> sum</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">field</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AggregateFieldDescriptor</span><span style="color:#ABB2BF">;</span></span></code></pre>
|
|
4835
4866
|
<p>Factory: sum-of-<code>field</code> aggregate. Mirrors <code>pyric/firestore</code>’s <code>sum()</code>.</p>
|
|
4836
|
-
<h4 id="parameters-
|
|
4867
|
+
<h4 id="parameters-111">Parameters</h4>
|
|
4837
4868
|
<div class="table-scroll">
|
|
4838
4869
|
|
|
4839
4870
|
|
|
@@ -4848,14 +4879,14 @@ fires immediately with the current snapshot, then on every change.</p>
|
|
|
4848
4879
|
|
|
4849
4880
|
|
|
4850
4881
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>field</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
4851
|
-
<h4 id="returns-
|
|
4882
|
+
<h4 id="returns-130">Returns</h4>
|
|
4852
4883
|
<p><code>AggregateFieldDescriptor</code></p>
|
|
4853
4884
|
<hr>
|
|
4854
4885
|
<p><a id="switchworkerbranch"></a></p>
|
|
4855
4886
|
<h3 id="switchworkerbranch">switchWorkerBranch()</h3>
|
|
4856
4887
|
<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"> switchWorkerBranch</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">db</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClientDb</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">name</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">>;</span></span></code></pre>
|
|
4857
4888
|
<p>Phase 3 (clobber): switch the live sandbox to a named branch’s state.</p>
|
|
4858
|
-
<h4 id="parameters-
|
|
4889
|
+
<h4 id="parameters-112">Parameters</h4>
|
|
4859
4890
|
<div class="table-scroll">
|
|
4860
4891
|
|
|
4861
4892
|
|
|
@@ -4874,7 +4905,7 @@ fires immediately with the current snapshot, then on every change.</p>
|
|
|
4874
4905
|
|
|
4875
4906
|
|
|
4876
4907
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr><tr><td align="left"><code>name</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
|
|
4877
|
-
<h4 id="returns-
|
|
4908
|
+
<h4 id="returns-131">Returns</h4>
|
|
4878
4909
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4879
4910
|
<hr>
|
|
4880
4911
|
<p><a id="updatedoc"></a></p>
|
|
@@ -4895,7 +4926,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4895
4926
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4896
4927
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4897
4928
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4898
|
-
<h4 id="parameters-
|
|
4929
|
+
<h4 id="parameters-113">Parameters</h4>
|
|
4899
4930
|
<div class="table-scroll">
|
|
4900
4931
|
|
|
4901
4932
|
|
|
@@ -4914,21 +4945,21 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
4914
4945
|
|
|
4915
4946
|
|
|
4916
4947
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>ref</code></td><td align="left"><a href="#docrefhandle"><code>DocRefHandle</code></a></td></tr><tr><td align="left"><code>data</code></td><td align="left"><code>Record</code><<code>string</code>, <code>unknown</code>></td></tr></tbody></table></div>
|
|
4917
|
-
<h4 id="returns-
|
|
4948
|
+
<h4 id="returns-132">Returns</h4>
|
|
4918
4949
|
<p><code>Promise</code><<code>void</code>></p>
|
|
4919
4950
|
<hr>
|
|
4920
4951
|
<p><a id="uploadbytes"></a></p>
|
|
4921
4952
|
<h3 id="uploadbytes">uploadBytes()</h3>
|
|
4922
4953
|
<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"> uploadBytes</span><span style="color:#ABB2BF">(</span></span>
|
|
4923
4954
|
<span class="line"><span style="color:#E06C75;font-style:italic"> reference</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClientStorageReference</span><span style="color:#ABB2BF">,</span></span>
|
|
4924
|
-
<span class="line"><span style="color:#E06C75;font-style:italic"> data</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">
|
|
4955
|
+
<span class="line"><span style="color:#E06C75;font-style:italic"> data</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ArrayBuffer</span><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">Uint8Array</span><span style="color:#ABB2BF"><</span><span style="color:#E5C07B">ArrayBufferLike</span><span style="color:#ABB2BF">> | </span><span style="color:#E5C07B">Blob</span><span style="color:#ABB2BF">,</span></span>
|
|
4925
4956
|
<span class="line"><span style="color:#E06C75;font-style:italic"> metadata</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClientSettableMetadata</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#ABB2BF"><{</span></span>
|
|
4926
4957
|
<span class="line"><span style="color:#E06C75"> metadata</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">FullMetadata</span><span style="color:#ABB2BF">;</span></span>
|
|
4927
4958
|
<span class="line"><span style="color:#E06C75"> ref</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">ClientStorageReference</span><span style="color:#ABB2BF">;</span></span>
|
|
4928
4959
|
<span class="line"><span style="color:#ABB2BF">}>;</span></span></code></pre>
|
|
4929
4960
|
<p>Upload bytes at the reference’s path (replaces existing content).
|
|
4930
4961
|
Mirrors <code>pyric/storage</code>’s <code>uploadBytes</code> result shape.</p>
|
|
4931
|
-
<h4 id="parameters-
|
|
4962
|
+
<h4 id="parameters-114">Parameters</h4>
|
|
4932
4963
|
<div class="table-scroll">
|
|
4933
4964
|
|
|
4934
4965
|
|
|
@@ -4950,10 +4981,10 @@ Mirrors <code>pyric/storage</code>’s <code>uploadBytes</code> result shape.</p
|
|
|
4950
4981
|
|
|
4951
4982
|
|
|
4952
4983
|
|
|
4953
|
-
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>reference</code></td><td align="left"><a href="#clientstoragereference"><code>ClientStorageReference</code></a></td></tr><tr><td align="left"><code>data</code></td><td align="left"><code>
|
|
4954
|
-
<h4 id="returns-
|
|
4984
|
+
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>reference</code></td><td align="left"><a href="#clientstoragereference"><code>ClientStorageReference</code></a></td></tr><tr><td align="left"><code>data</code></td><td align="left"><code>ArrayBuffer</code> | <code>Uint8Array</code><<code>ArrayBufferLike</code>> | <code>Blob</code></td></tr><tr><td align="left"><code>metadata?</code></td><td align="left"><a href="#clientsettablemetadata"><code>ClientSettableMetadata</code></a></td></tr></tbody></table></div>
|
|
4985
|
+
<h4 id="returns-133">Returns</h4>
|
|
4955
4986
|
<p><code>Promise</code><{
|
|
4956
|
-
<code>metadata</code>: <code>FullMetadata</code>;
|
|
4987
|
+
<code>metadata</code>: <a href="/docs/pyric-storage-reference-api/#fullmetadata"><code>FullMetadata</code></a>;
|
|
4957
4988
|
<code>ref</code>: <a href="#clientstoragereference"><code>ClientStorageReference</code></a>;
|
|
4958
4989
|
}></p>
|
|
4959
4990
|
<hr>
|
|
@@ -4978,7 +5009,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
4978
5009
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
4979
5010
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
4980
5011
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
4981
|
-
<h4 id="parameters-
|
|
5012
|
+
<h4 id="parameters-115">Parameters</h4>
|
|
4982
5013
|
<div class="table-scroll">
|
|
4983
5014
|
|
|
4984
5015
|
|
|
@@ -5001,7 +5032,7 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
5001
5032
|
|
|
5002
5033
|
|
|
5003
5034
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>field</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>op</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>value</code></td><td align="left"><code>unknown</code></td></tr></tbody></table></div>
|
|
5004
|
-
<h4 id="returns-
|
|
5035
|
+
<h4 id="returns-134">Returns</h4>
|
|
5005
5036
|
<p><code>QueryConstraintHandle</code></p>
|
|
5006
5037
|
<hr>
|
|
5007
5038
|
<p><a id="writebatch"></a></p>
|
|
@@ -5022,7 +5053,7 @@ and type-only <code>pyric/sandbox</code> (erased at build), so this entry stays
|
|
|
5022
5053
|
the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
5023
5054
|
<p>Exposed by <code>@pyric/cli</code>’s <code>./serve/worker</code> package export so Studio can
|
|
5024
5055
|
<code>import { getFirestore, subscribeEvents, setLens } from '@pyric/cli/serve/worker'</code> and reach the live SharedWorker backend.</p>
|
|
5025
|
-
<h4 id="parameters-
|
|
5056
|
+
<h4 id="parameters-116">Parameters</h4>
|
|
5026
5057
|
<div class="table-scroll">
|
|
5027
5058
|
|
|
5028
5059
|
|
|
@@ -5037,5 +5068,5 @@ the ~10 MB rules/sandbox engine — safe to import from any browser app.</p>
|
|
|
5037
5068
|
|
|
5038
5069
|
|
|
5039
5070
|
<table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>db</code></td><td align="left"><a href="#clientdb"><code>ClientDb</code></a></td></tr></tbody></table></div>
|
|
5040
|
-
<h4 id="returns-
|
|
5041
|
-
<p><a href="#clientwritebatch"><code>ClientWriteBatch</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="#interfaces"> Interfaces </a> <ul> <li data-api-symbol="clientauth"> <a href="#clientauth">ClientAuth</a> </li><li data-api-symbol="clientdb"> <a href="#clientdb">ClientDb</a> </li><li data-api-symbol="clientdocsnapshot"> <a href="#clientdocsnapshot">ClientDocSnapshot</a> </li><li data-api-symbol="clientfirebasestorage"> <a href="#clientfirebasestorage">ClientFirebaseStorage</a> </li><li data-api-symbol="clientquerysnapshot"> <a href="#clientquerysnapshot">ClientQuerySnapshot</a> </li><li data-api-symbol="clientrtdb"> <a href="#clientrtdb">ClientRtdb</a> </li><li data-api-symbol="clientsettablemetadata"> <a href="#clientsettablemetadata">ClientSettableMetadata</a> </li><li data-api-symbol="clientstoragereference"> <a href="#clientstoragereference">ClientStorageReference</a> </li><li data-api-symbol="clienttransaction"> <a href="#clienttransaction">ClientTransaction</a> </li><li data-api-symbol="clientuser"> <a href="#clientuser">ClientUser</a> </li><li data-api-symbol="clientusercredential"> <a href="#clientusercredential">ClientUserCredential</a> </li><li data-api-symbol="clientwritebatch"> <a href="#clientwritebatch">ClientWriteBatch</a> </li><li data-api-symbol="collrefhandle"> <a href="#collrefhandle">CollRefHandle</a> </li><li data-api-symbol="docrefhandle"> <a href="#docrefhandle">DocRefHandle</a> </li><li data-api-symbol="presencesession"> <a href="#presencesession">PresenceSession</a> </li><li data-api-symbol="presencesnapshot"> <a href="#presencesnapshot">PresenceSnapshot</a> </li><li data-api-symbol="queryhandle"> <a href="#queryhandle">QueryHandle</a> </li><li data-api-symbol="resolvedidentity"> <a href="#resolvedidentity">ResolvedIdentity</a> </li><li data-api-symbol="rtdbdatasnapshot"> <a href="#rtdbdatasnapshot">RtdbDataSnapshot</a> </li><li data-api-symbol="rtdbrefhandle"> <a href="#rtdbrefhandle">RtdbRefHandle</a> </li><li data-api-symbol="serializedidtokenresult"> <a href="#serializedidtokenresult">SerializedIdTokenResult</a> </li><li data-api-symbol="serializeduser"> <a href="#serializeduser">SerializedUser</a> </li><li data-api-symbol="serializedusercredential"> <a href="#serializedusercredential">SerializedUserCredential</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="anyhandle"> <a href="#anyhandle">AnyHandle</a> </li><li data-api-symbol="authpersistencemode"> <a href="#authpersistencemode">AuthPersistenceMode</a> </li><li data-api-symbol="presenceclientkind"> <a href="#presenceclientkind">PresenceClientKind</a> </li><li data-api-symbol="presencevisibility"> <a href="#presencevisibility">PresenceVisibility</a> </li><li data-api-symbol="unsubscribe()"> <a href="#unsubscribe">Unsubscribe()</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="browserlocalpersistence"> <a href="#browserlocalpersistence">browserLocalPersistence</a> </li><li data-api-symbol="browsersessionpersistence"> <a href="#browsersessionpersistence">browserSessionPersistence</a> </li><li data-api-symbol="inmemorypersistence"> <a href="#inmemorypersistence">inMemoryPersistence</a> </li><li data-api-symbol="presence_heartbeat_interval_ms"> <a href="#presence_heartbeat_interval_ms">PRESENCE_HEARTBEAT_INTERVAL_MS</a> </li><li data-api-symbol="presence_stale_ms"> <a href="#presence_stale_ms">PRESENCE_STALE_MS</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="acceptprovidercredential()"> <a href="#acceptprovidercredential">acceptProviderCredential()</a> </li><li data-api-symbol="adddoc()"> <a href="#adddoc">addDoc()</a> </li><li data-api-symbol="adminclearusers()"> <a href="#adminclearusers">adminClearUsers()</a> </li><li data-api-symbol="admincreateuser()"> <a href="#admincreateuser">adminCreateUser()</a> </li><li data-api-symbol="admindeletedocument()"> <a href="#admindeletedocument">adminDeleteDocument()</a> </li><li data-api-symbol="admindeletertdbvalue()"> <a href="#admindeletertdbvalue">adminDeleteRtdbValue()</a> </li><li data-api-symbol="admindeleteuser()"> <a href="#admindeleteuser">adminDeleteUser()</a> </li><li data-api-symbol="admingetdocument()"> <a href="#admingetdocument">adminGetDocument()</a> </li><li data-api-symbol="adminlistdocuments()"> <a href="#adminlistdocuments">adminListDocuments()</a> </li><li data-api-symbol="adminreadrtdbstate()"> <a href="#adminreadrtdbstate">adminReadRtdbState()</a> </li><li data-api-symbol="adminreadstate()"> <a href="#adminreadstate">adminReadState()</a> </li><li data-api-symbol="adminsetdocument()"> <a href="#adminsetdocument">adminSetDocument()</a> </li><li data-api-symbol="adminsetrtdbvalue()"> <a href="#adminsetrtdbvalue">adminSetRtdbValue()</a> </li><li data-api-symbol="adminsubscribertdbvalue()"> <a href="#adminsubscribertdbvalue">adminSubscribeRtdbValue()</a> </li><li data-api-symbol="adminupdatertdbvalue()"> <a href="#adminupdatertdbvalue">adminUpdateRtdbValue()</a> </li><li data-api-symbol="adminupdateuser()"> <a href="#adminupdateuser">adminUpdateUser()</a> </li><li data-api-symbol="and()"> <a href="#and">and()</a> </li><li data-api-symbol="arrayremove()"> <a href="#arrayremove">arrayRemove()</a> </li><li data-api-symbol="arrayunion()"> <a href="#arrayunion">arrayUnion()</a> </li><li data-api-symbol="average()"> <a href="#average">average()</a> </li><li data-api-symbol="calltool()"> <a href="#calltool">callTool()</a> </li><li data-api-symbol="collection()"> <a href="#collection">collection()</a> </li><li data-api-symbol="collectiongroup()"> <a href="#collectiongroup">collectionGroup()</a> </li><li data-api-symbol="connectauthemulator()"> <a href="#connectauthemulator">connectAuthEmulator()</a> </li><li data-api-symbol="count()"> <a href="#count">count()</a> </li><li data-api-symbol="createuserwithemailandpassword()"> <a href="#createuserwithemailandpassword">createUserWithEmailAndPassword()</a> </li><li data-api-symbol="deletedoc()"> <a href="#deletedoc">deleteDoc()</a> </li><li data-api-symbol="deletefield()"> <a href="#deletefield">deleteField()</a> </li><li data-api-symbol="deleteobject()"> <a href="#deleteobject">deleteObject()</a> </li><li data-api-symbol="deleteworkerbranch()"> <a href="#deleteworkerbranch">deleteWorkerBranch()</a> </li><li data-api-symbol="doc()"> <a href="#doc">doc()</a> </li><li data-api-symbol="endat()"> <a href="#endat">endAt()</a> </li><li data-api-symbol="endbefore()"> <a href="#endbefore">endBefore()</a> </li><li data-api-symbol="eventhistory()"> <a href="#eventhistory">eventHistory()</a> </li><li data-api-symbol="exportworkerstate()"> <a href="#exportworkerstate">exportWorkerState()</a> </li><li data-api-symbol="getactiverules()"> <a href="#getactiverules">getActiveRules()</a> </li><li data-api-symbol="getaggregatefromserver()"> <a href="#getaggregatefromserver">getAggregateFromServer()</a> </li><li data-api-symbol="getauth()"> <a href="#getauth">getAuth()</a> </li><li data-api-symbol="getblob()"> <a href="#getblob">getBlob()</a> </li><li data-api-symbol="getbytes()"> <a href="#getbytes">getBytes()</a> </li><li data-api-symbol="getcountfromserver()"> <a href="#getcountfromserver">getCountFromServer()</a> </li><li data-api-symbol="getdoc()"> <a href="#getdoc">getDoc()</a> </li><li data-api-symbol="getdocs()"> <a href="#getdocs">getDocs()</a> </li><li data-api-symbol="getdownloadurl()"> <a href="#getdownloadurl">getDownloadURL()</a> </li><li data-api-symbol="getfirestore()"> <a href="#getfirestore">getFirestore()</a> </li><li data-api-symbol="getidtoken()"> <a href="#getidtoken-1">getIdToken()</a> </li><li data-api-symbol="getidtokenresult()"> <a href="#getidtokenresult-1">getIdTokenResult()</a> </li><li data-api-symbol="getlens()"> <a href="#getlens">getLens()</a> </li><li data-api-symbol="getmetadata()"> <a href="#getmetadata">getMetadata()</a> </li><li data-api-symbol="getproviderconfig()"> <a href="#getproviderconfig">getProviderConfig()</a> </li><li data-api-symbol="getrulesstatus()"> <a href="#getrulesstatus">getRulesStatus()</a> </li><li data-api-symbol="getsnapshot()"> <a href="#getsnapshot">getSnapshot()</a> </li><li data-api-symbol="getstorage()"> <a href="#getstorage">getStorage()</a> </li><li data-api-symbol="getworkerinstanceid()"> <a href="#getworkerinstanceid">getWorkerInstanceId()</a> </li><li data-api-symbol="getworkerversion()"> <a href="#getworkerversion">getWorkerVersion()</a> </li><li data-api-symbol="importworkerstate()"> <a href="#importworkerstate">importWorkerState()</a> </li><li data-api-symbol="increment()"> <a href="#increment">increment()</a> </li><li data-api-symbol="limit()"> <a href="#limit">limit()</a> </li><li data-api-symbol="limittolast()"> <a href="#limittolast">limitToLast()</a> </li><li data-api-symbol="listall()"> <a href="#listall">listAll()</a> </li><li data-api-symbol="listrootcollections()"> <a href="#listrootcollections">listRootCollections()</a> </li><li data-api-symbol="listsubcollections()"> <a href="#listsubcollections">listSubcollections()</a> </li><li data-api-symbol="listusers()"> <a href="#listusers">listUsers()</a> </li><li data-api-symbol="listworkerbranches()"> <a href="#listworkerbranches">listWorkerBranches()</a> </li><li data-api-symbol="mintpresenceclientid()"> <a href="#mintpresenceclientid">mintPresenceClientId()</a> </li><li data-api-symbol="onauthstatechanged()"> <a href="#onauthstatechanged">onAuthStateChanged()</a> </li><li data-api-symbol="onidtokenchanged()"> <a href="#onidtokenchanged">onIdTokenChanged()</a> </li><li data-api-symbol="onsnapshot()"> <a href="#onsnapshot">onSnapshot()</a> </li><li data-api-symbol="or()"> <a href="#or">or()</a> </li><li data-api-symbol="orderby()"> <a href="#orderby">orderBy()</a> </li><li data-api-symbol="query()"> <a href="#query">query()</a> </li><li data-api-symbol="ref()"> <a href="#ref">ref()</a> </li><li data-api-symbol="relayworkerop()"> <a href="#relayworkerop">relayWorkerOp()</a> </li><li data-api-symbol="relayworkersub()"> <a href="#relayworkersub">relayWorkerSub()</a> </li><li data-api-symbol="rtdbchild()"> <a href="#rtdbchild">rtdbChild()</a> </li><li data-api-symbol="rtdbconnectdatabaseemulator()"> <a href="#rtdbconnectdatabaseemulator">rtdbConnectDatabaseEmulator()</a> </li><li data-api-symbol="rtdbget()"> <a href="#rtdbget">rtdbGet()</a> </li><li data-api-symbol="rtdbgetdatabase()"> <a href="#rtdbgetdatabase">rtdbGetDatabase()</a> </li><li data-api-symbol="rtdboff()"> <a href="#rtdboff">rtdbOff()</a> </li><li data-api-symbol="rtdbonvalue()"> <a href="#rtdbonvalue">rtdbOnValue()</a> </li><li data-api-symbol="rtdbpush()"> <a href="#rtdbpush">rtdbPush()</a> </li><li data-api-symbol="rtdbref()"> <a href="#rtdbref">rtdbRef()</a> </li><li data-api-symbol="rtdbremove()"> <a href="#rtdbremove">rtdbRemove()</a> </li><li data-api-symbol="rtdbservertimestamp()"> <a href="#rtdbservertimestamp">rtdbServerTimestamp()</a> </li><li data-api-symbol="rtdbset()"> <a href="#rtdbset">rtdbSet()</a> </li><li data-api-symbol="rtdbupdate()"> <a href="#rtdbupdate">rtdbUpdate()</a> </li><li data-api-symbol="runtransaction()"> <a href="#runtransaction">runTransaction()</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#multi-tab-correctness--read-set-validation--retry"> MULTI-TAB CORRECTNESS — READ-SET VALIDATION + RETRY </a> <ul> <li data-api-symbol="saveworkerbranch()"> <a href="#saveworkerbranch">saveWorkerBranch()</a> </li><li data-api-symbol="servertimestamp()"> <a href="#servertimestamp">serverTimestamp()</a> </li><li data-api-symbol="setdatabaserules()"> <a href="#setdatabaserules">setDatabaseRules()</a> </li><li data-api-symbol="setdoc()"> <a href="#setdoc">setDoc()</a> </li><li data-api-symbol="setfirestorerules()"> <a href="#setfirestorerules">setFirestoreRules()</a> </li><li data-api-symbol="setlens()"> <a href="#setlens">setLens()</a> </li><li data-api-symbol="setopissuer()"> <a href="#setopissuer">setOpIssuer()</a> </li><li data-api-symbol="setpersistence()"> <a href="#setpersistence">setPersistence()</a> </li><li data-api-symbol="setproviderconfig()"> <a href="#setproviderconfig">setProviderConfig()</a> </li><li data-api-symbol="setrules()"> <a href="#setrules">setRules()</a> </li><li data-api-symbol="signinanonymously()"> <a href="#signinanonymously">signInAnonymously()</a> </li><li data-api-symbol="signinwithemailandpassword()"> <a href="#signinwithemailandpassword">signInWithEmailAndPassword()</a> </li><li data-api-symbol="signout()"> <a href="#signout">signOut()</a> </li><li data-api-symbol="startafter()"> <a href="#startafter">startAfter()</a> </li><li data-api-symbol="startat()"> <a href="#startat">startAt()</a> </li><li data-api-symbol="startpresence()"> <a href="#startpresence">startPresence()</a> </li><li data-api-symbol="subscribeevents()"> <a href="#subscribeevents">subscribeEvents()</a> </li><li data-api-symbol="subscribepresence()"> <a href="#subscribepresence">subscribePresence()</a> </li><li data-api-symbol="sum()"> <a href="#sum">sum()</a> </li><li data-api-symbol="switchworkerbranch()"> <a href="#switchworkerbranch">switchWorkerBranch()</a> </li><li data-api-symbol="updatedoc()"> <a href="#updatedoc">updateDoc()</a> </li><li data-api-symbol="uploadbytes()"> <a href="#uploadbytes">uploadBytes()</a> </li><li data-api-symbol="where()"> <a href="#where">where()</a> </li><li data-api-symbol="writebatch()"> <a href="#writebatch">writeBatch()</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>
|
|
5071
|
+
<h4 id="returns-135">Returns</h4>
|
|
5072
|
+
<p><a href="#clientwritebatch"><code>ClientWriteBatch</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="#interfaces"> Interfaces </a> <ul> <li data-api-symbol="clientauth"> <a href="#clientauth">ClientAuth</a> </li><li data-api-symbol="clientdb"> <a href="#clientdb">ClientDb</a> </li><li data-api-symbol="clientdocsnapshot"> <a href="#clientdocsnapshot">ClientDocSnapshot</a> </li><li data-api-symbol="clientfirebasestorage"> <a href="#clientfirebasestorage">ClientFirebaseStorage</a> </li><li data-api-symbol="clientquerysnapshot"> <a href="#clientquerysnapshot">ClientQuerySnapshot</a> </li><li data-api-symbol="clientrtdb"> <a href="#clientrtdb">ClientRtdb</a> </li><li data-api-symbol="clientsettablemetadata"> <a href="#clientsettablemetadata">ClientSettableMetadata</a> </li><li data-api-symbol="clientstoragereference"> <a href="#clientstoragereference">ClientStorageReference</a> </li><li data-api-symbol="clienttransaction"> <a href="#clienttransaction">ClientTransaction</a> </li><li data-api-symbol="clientuser"> <a href="#clientuser">ClientUser</a> </li><li data-api-symbol="clientusercredential"> <a href="#clientusercredential">ClientUserCredential</a> </li><li data-api-symbol="clientwritebatch"> <a href="#clientwritebatch">ClientWriteBatch</a> </li><li data-api-symbol="collrefhandle"> <a href="#collrefhandle">CollRefHandle</a> </li><li data-api-symbol="docrefhandle"> <a href="#docrefhandle">DocRefHandle</a> </li><li data-api-symbol="presencesession"> <a href="#presencesession">PresenceSession</a> </li><li data-api-symbol="presencesnapshot"> <a href="#presencesnapshot">PresenceSnapshot</a> </li><li data-api-symbol="queryhandle"> <a href="#queryhandle">QueryHandle</a> </li><li data-api-symbol="resolvedidentity"> <a href="#resolvedidentity">ResolvedIdentity</a> </li><li data-api-symbol="rtdbdatasnapshot"> <a href="#rtdbdatasnapshot">RtdbDataSnapshot</a> </li><li data-api-symbol="rtdbrefhandle"> <a href="#rtdbrefhandle">RtdbRefHandle</a> </li><li data-api-symbol="serializedidtokenresult"> <a href="#serializedidtokenresult">SerializedIdTokenResult</a> </li><li data-api-symbol="serializeduser"> <a href="#serializeduser">SerializedUser</a> </li><li data-api-symbol="serializedusercredential"> <a href="#serializedusercredential">SerializedUserCredential</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="anyhandle"> <a href="#anyhandle">AnyHandle</a> </li><li data-api-symbol="authpersistencemode"> <a href="#authpersistencemode">AuthPersistenceMode</a> </li><li data-api-symbol="presenceclientkind"> <a href="#presenceclientkind">PresenceClientKind</a> </li><li data-api-symbol="presencevisibility"> <a href="#presencevisibility">PresenceVisibility</a> </li><li data-api-symbol="unsubscribe()"> <a href="#unsubscribe">Unsubscribe()</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="browserlocalpersistence"> <a href="#browserlocalpersistence">browserLocalPersistence</a> </li><li data-api-symbol="browsersessionpersistence"> <a href="#browsersessionpersistence">browserSessionPersistence</a> </li><li data-api-symbol="inmemorypersistence"> <a href="#inmemorypersistence">inMemoryPersistence</a> </li><li data-api-symbol="presence_heartbeat_interval_ms"> <a href="#presence_heartbeat_interval_ms">PRESENCE_HEARTBEAT_INTERVAL_MS</a> </li><li data-api-symbol="presence_stale_ms"> <a href="#presence_stale_ms">PRESENCE_STALE_MS</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="acceptprovidercredential()"> <a href="#acceptprovidercredential">acceptProviderCredential()</a> </li><li data-api-symbol="adddoc()"> <a href="#adddoc">addDoc()</a> </li><li data-api-symbol="adminclearusers()"> <a href="#adminclearusers">adminClearUsers()</a> </li><li data-api-symbol="admincreateuser()"> <a href="#admincreateuser">adminCreateUser()</a> </li><li data-api-symbol="admindeletedocument()"> <a href="#admindeletedocument">adminDeleteDocument()</a> </li><li data-api-symbol="admindeletertdbvalue()"> <a href="#admindeletertdbvalue">adminDeleteRtdbValue()</a> </li><li data-api-symbol="admindeleteuser()"> <a href="#admindeleteuser">adminDeleteUser()</a> </li><li data-api-symbol="admingetdocument()"> <a href="#admingetdocument">adminGetDocument()</a> </li><li data-api-symbol="adminlistdocuments()"> <a href="#adminlistdocuments">adminListDocuments()</a> </li><li data-api-symbol="adminreadrtdbstate()"> <a href="#adminreadrtdbstate">adminReadRtdbState()</a> </li><li data-api-symbol="adminreadstate()"> <a href="#adminreadstate">adminReadState()</a> </li><li data-api-symbol="adminsetdocument()"> <a href="#adminsetdocument">adminSetDocument()</a> </li><li data-api-symbol="adminsetrtdbvalue()"> <a href="#adminsetrtdbvalue">adminSetRtdbValue()</a> </li><li data-api-symbol="adminsubscribertdbvalue()"> <a href="#adminsubscribertdbvalue">adminSubscribeRtdbValue()</a> </li><li data-api-symbol="adminupdatertdbvalue()"> <a href="#adminupdatertdbvalue">adminUpdateRtdbValue()</a> </li><li data-api-symbol="adminupdateuser()"> <a href="#adminupdateuser">adminUpdateUser()</a> </li><li data-api-symbol="and()"> <a href="#and">and()</a> </li><li data-api-symbol="arrayremove()"> <a href="#arrayremove">arrayRemove()</a> </li><li data-api-symbol="arrayunion()"> <a href="#arrayunion">arrayUnion()</a> </li><li data-api-symbol="average()"> <a href="#average">average()</a> </li><li data-api-symbol="calltool()"> <a href="#calltool">callTool()</a> </li><li data-api-symbol="collection()"> <a href="#collection">collection()</a> </li><li data-api-symbol="collectiongroup()"> <a href="#collectiongroup">collectionGroup()</a> </li><li data-api-symbol="connectauthemulator()"> <a href="#connectauthemulator">connectAuthEmulator()</a> </li><li data-api-symbol="count()"> <a href="#count">count()</a> </li><li data-api-symbol="createuserwithemailandpassword()"> <a href="#createuserwithemailandpassword">createUserWithEmailAndPassword()</a> </li><li data-api-symbol="deletedoc()"> <a href="#deletedoc">deleteDoc()</a> </li><li data-api-symbol="deletefield()"> <a href="#deletefield">deleteField()</a> </li><li data-api-symbol="deleteobject()"> <a href="#deleteobject">deleteObject()</a> </li><li data-api-symbol="deleteworkerbranch()"> <a href="#deleteworkerbranch">deleteWorkerBranch()</a> </li><li data-api-symbol="doc()"> <a href="#doc">doc()</a> </li><li data-api-symbol="endat()"> <a href="#endat">endAt()</a> </li><li data-api-symbol="endbefore()"> <a href="#endbefore">endBefore()</a> </li><li data-api-symbol="eventhistory()"> <a href="#eventhistory">eventHistory()</a> </li><li data-api-symbol="exportworkerstate()"> <a href="#exportworkerstate">exportWorkerState()</a> </li><li data-api-symbol="getactiverules()"> <a href="#getactiverules">getActiveRules()</a> </li><li data-api-symbol="getaggregatefromserver()"> <a href="#getaggregatefromserver">getAggregateFromServer()</a> </li><li data-api-symbol="getauth()"> <a href="#getauth">getAuth()</a> </li><li data-api-symbol="getblob()"> <a href="#getblob">getBlob()</a> </li><li data-api-symbol="getbytes()"> <a href="#getbytes">getBytes()</a> </li><li data-api-symbol="getcountfromserver()"> <a href="#getcountfromserver">getCountFromServer()</a> </li><li data-api-symbol="getdoc()"> <a href="#getdoc">getDoc()</a> </li><li data-api-symbol="getdocs()"> <a href="#getdocs">getDocs()</a> </li><li data-api-symbol="getdownloadurl()"> <a href="#getdownloadurl">getDownloadURL()</a> </li><li data-api-symbol="getfirestore()"> <a href="#getfirestore">getFirestore()</a> </li><li data-api-symbol="getidtoken()"> <a href="#getidtoken-1">getIdToken()</a> </li><li data-api-symbol="getidtokenresult()"> <a href="#getidtokenresult-1">getIdTokenResult()</a> </li><li data-api-symbol="getlens()"> <a href="#getlens">getLens()</a> </li><li data-api-symbol="getmetadata()"> <a href="#getmetadata">getMetadata()</a> </li><li data-api-symbol="getproviderconfig()"> <a href="#getproviderconfig">getProviderConfig()</a> </li><li data-api-symbol="getrulesstatus()"> <a href="#getrulesstatus">getRulesStatus()</a> </li><li data-api-symbol="getsnapshot()"> <a href="#getsnapshot">getSnapshot()</a> </li><li data-api-symbol="getstorage()"> <a href="#getstorage">getStorage()</a> </li><li data-api-symbol="getworkerinstanceid()"> <a href="#getworkerinstanceid">getWorkerInstanceId()</a> </li><li data-api-symbol="getworkerversion()"> <a href="#getworkerversion">getWorkerVersion()</a> </li><li data-api-symbol="importworkerstate()"> <a href="#importworkerstate">importWorkerState()</a> </li><li data-api-symbol="increment()"> <a href="#increment">increment()</a> </li><li data-api-symbol="limit()"> <a href="#limit">limit()</a> </li><li data-api-symbol="limittolast()"> <a href="#limittolast">limitToLast()</a> </li><li data-api-symbol="listall()"> <a href="#listall">listAll()</a> </li><li data-api-symbol="listrootcollections()"> <a href="#listrootcollections">listRootCollections()</a> </li><li data-api-symbol="listsubcollections()"> <a href="#listsubcollections">listSubcollections()</a> </li><li data-api-symbol="listusers()"> <a href="#listusers">listUsers()</a> </li><li data-api-symbol="listworkerbranches()"> <a href="#listworkerbranches">listWorkerBranches()</a> </li><li data-api-symbol="mintpresenceclientid()"> <a href="#mintpresenceclientid">mintPresenceClientId()</a> </li><li data-api-symbol="onauthstatechanged()"> <a href="#onauthstatechanged">onAuthStateChanged()</a> </li><li data-api-symbol="onidtokenchanged()"> <a href="#onidtokenchanged">onIdTokenChanged()</a> </li><li data-api-symbol="onsnapshot()"> <a href="#onsnapshot">onSnapshot()</a> </li><li data-api-symbol="or()"> <a href="#or">or()</a> </li><li data-api-symbol="orderby()"> <a href="#orderby">orderBy()</a> </li><li data-api-symbol="query()"> <a href="#query">query()</a> </li><li data-api-symbol="ref()"> <a href="#ref">ref()</a> </li><li data-api-symbol="relayworkerop()"> <a href="#relayworkerop">relayWorkerOp()</a> </li><li data-api-symbol="relayworkersub()"> <a href="#relayworkersub">relayWorkerSub()</a> </li><li data-api-symbol="resetall()"> <a href="#resetall">resetAll()</a> </li><li data-api-symbol="rtdbchild()"> <a href="#rtdbchild">rtdbChild()</a> </li><li data-api-symbol="rtdbconnectdatabaseemulator()"> <a href="#rtdbconnectdatabaseemulator">rtdbConnectDatabaseEmulator()</a> </li><li data-api-symbol="rtdbget()"> <a href="#rtdbget">rtdbGet()</a> </li><li data-api-symbol="rtdbgetdatabase()"> <a href="#rtdbgetdatabase">rtdbGetDatabase()</a> </li><li data-api-symbol="rtdboff()"> <a href="#rtdboff">rtdbOff()</a> </li><li data-api-symbol="rtdbonvalue()"> <a href="#rtdbonvalue">rtdbOnValue()</a> </li><li data-api-symbol="rtdbpush()"> <a href="#rtdbpush">rtdbPush()</a> </li><li data-api-symbol="rtdbref()"> <a href="#rtdbref">rtdbRef()</a> </li><li data-api-symbol="rtdbremove()"> <a href="#rtdbremove">rtdbRemove()</a> </li><li data-api-symbol="rtdbservertimestamp()"> <a href="#rtdbservertimestamp">rtdbServerTimestamp()</a> </li><li data-api-symbol="rtdbset()"> <a href="#rtdbset">rtdbSet()</a> </li><li data-api-symbol="rtdbupdate()"> <a href="#rtdbupdate">rtdbUpdate()</a> </li><li data-api-symbol="runtransaction()"> <a href="#runtransaction">runTransaction()</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#multi-tab-correctness--read-set-validation--retry"> MULTI-TAB CORRECTNESS — READ-SET VALIDATION + RETRY </a> <ul> <li data-api-symbol="saveworkerbranch()"> <a href="#saveworkerbranch">saveWorkerBranch()</a> </li><li data-api-symbol="servertimestamp()"> <a href="#servertimestamp">serverTimestamp()</a> </li><li data-api-symbol="setdatabaserules()"> <a href="#setdatabaserules">setDatabaseRules()</a> </li><li data-api-symbol="setdoc()"> <a href="#setdoc">setDoc()</a> </li><li data-api-symbol="setfirestorerules()"> <a href="#setfirestorerules">setFirestoreRules()</a> </li><li data-api-symbol="setlens()"> <a href="#setlens">setLens()</a> </li><li data-api-symbol="setopissuer()"> <a href="#setopissuer">setOpIssuer()</a> </li><li data-api-symbol="setpersistence()"> <a href="#setpersistence">setPersistence()</a> </li><li data-api-symbol="setproviderconfig()"> <a href="#setproviderconfig">setProviderConfig()</a> </li><li data-api-symbol="setrules()"> <a href="#setrules">setRules()</a> </li><li data-api-symbol="signinanonymously()"> <a href="#signinanonymously">signInAnonymously()</a> </li><li data-api-symbol="signinwithemailandpassword()"> <a href="#signinwithemailandpassword">signInWithEmailAndPassword()</a> </li><li data-api-symbol="signout()"> <a href="#signout">signOut()</a> </li><li data-api-symbol="startafter()"> <a href="#startafter">startAfter()</a> </li><li data-api-symbol="startat()"> <a href="#startat">startAt()</a> </li><li data-api-symbol="startpresence()"> <a href="#startpresence">startPresence()</a> </li><li data-api-symbol="subscribeevents()"> <a href="#subscribeevents">subscribeEvents()</a> </li><li data-api-symbol="subscribepresence()"> <a href="#subscribepresence">subscribePresence()</a> </li><li data-api-symbol="sum()"> <a href="#sum">sum()</a> </li><li data-api-symbol="switchworkerbranch()"> <a href="#switchworkerbranch">switchWorkerBranch()</a> </li><li data-api-symbol="updatedoc()"> <a href="#updatedoc">updateDoc()</a> </li><li data-api-symbol="uploadbytes()"> <a href="#uploadbytes">uploadBytes()</a> </li><li data-api-symbol="where()"> <a href="#where">where()</a> </li><li data-api-symbol="writebatch()"> <a href="#writebatch">writeBatch()</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>
|