@pyric/cli 0.1.0-alpha.16 → 0.1.0-alpha.18
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 +42 -12
- package/dist/assurance/.generated/conformance-verdicts.d.ts +80 -72
- package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
- package/dist/assurance/.generated/conformance-verdicts.js +80 -72
- package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
- package/dist/bridge/server/bridge.d.ts.map +1 -1
- package/dist/bridge/server/bridge.js +4 -2
- package/dist/bridge/server/bridge.js.map +1 -1
- package/dist/bridge/server/peer.d.ts.map +1 -1
- package/dist/bridge/server/peer.js +1 -0
- package/dist/bridge/server/peer.js.map +1 -1
- package/dist/cli/database-rules.d.ts.map +1 -1
- package/dist/cli/database-rules.js +6 -4
- package/dist/cli/database-rules.js.map +1 -1
- package/dist/cli/dev-runner.d.ts +9 -0
- package/dist/cli/dev-runner.d.ts.map +1 -1
- package/dist/cli/dev-runner.js +18 -0
- package/dist/cli/dev-runner.js.map +1 -1
- package/dist/cli/serve.d.ts.map +1 -1
- package/dist/cli/serve.js +62 -6
- package/dist/cli/serve.js.map +1 -1
- package/dist/cli/verify.js +2 -2
- package/dist/cli/verify.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.map +1 -1
- package/dist/conformance/.generated/conformance-docs.js +1 -1
- package/dist/conformance/.generated/conformance-docs.js.map +1 -1
- package/dist/functions-rtdb/child.d.ts +1 -0
- package/dist/functions-rtdb/child.d.ts.map +1 -1
- package/dist/functions-rtdb/child.js +11 -1
- package/dist/functions-rtdb/child.js.map +1 -1
- package/dist/functions-rtdb/development-runtime.d.ts +1 -0
- package/dist/functions-rtdb/development-runtime.d.ts.map +1 -1
- package/dist/functions-rtdb/development-runtime.js +1 -0
- package/dist/functions-rtdb/development-runtime.js.map +1 -1
- package/dist/next/client-aliases.d.ts +11 -0
- package/dist/next/client-aliases.d.ts.map +1 -0
- package/dist/next/client-aliases.js +38 -0
- package/dist/next/client-aliases.js.map +1 -0
- package/dist/next/dev-rewrites.d.ts +9 -0
- package/dist/next/dev-rewrites.d.ts.map +1 -0
- package/dist/next/dev-rewrites.js +53 -0
- package/dist/next/dev-rewrites.js.map +1 -0
- package/dist/next/guard.d.ts +15 -0
- package/dist/next/guard.d.ts.map +1 -0
- package/dist/next/guard.js +52 -0
- package/dist/next/guard.js.map +1 -0
- package/dist/next/index.d.ts +12 -0
- package/dist/next/index.d.ts.map +1 -0
- package/dist/next/index.js +11 -0
- package/dist/next/index.js.map +1 -0
- package/dist/next/runtime-env.d.ts +7 -0
- package/dist/next/runtime-env.d.ts.map +1 -0
- package/dist/next/runtime-env.js +13 -0
- package/dist/next/runtime-env.js.map +1 -0
- package/dist/next/server-external-packages.d.ts +10 -0
- package/dist/next/server-external-packages.d.ts.map +1 -0
- package/dist/next/server-external-packages.js +34 -0
- package/dist/next/server-external-packages.js.map +1 -0
- package/dist/next/target-url.d.ts +11 -0
- package/dist/next/target-url.d.ts.map +1 -0
- package/dist/next/target-url.js +36 -0
- package/dist/next/target-url.js.map +1 -0
- package/dist/next/turbopack-config.d.ts +9 -0
- package/dist/next/turbopack-config.d.ts.map +1 -0
- package/dist/next/turbopack-config.js +39 -0
- package/dist/next/turbopack-config.js.map +1 -0
- package/dist/next/types.d.ts +40 -0
- package/dist/next/types.d.ts.map +1 -0
- package/dist/next/types.js +5 -0
- package/dist/next/types.js.map +1 -0
- package/dist/next/webpack-config.d.ts +11 -0
- package/dist/next/webpack-config.d.ts.map +1 -0
- package/dist/next/webpack-config.js +51 -0
- package/dist/next/webpack-config.js.map +1 -0
- package/dist/next/with-pyric.d.ts +22 -0
- package/dist/next/with-pyric.d.ts.map +1 -0
- package/dist/next/with-pyric.js +49 -0
- package/dist/next/with-pyric.js.map +1 -0
- package/dist/register/app-bridge.d.ts +9 -0
- package/dist/register/app-bridge.d.ts.map +1 -0
- package/dist/register/app-bridge.js +56 -0
- package/dist/register/app-bridge.js.map +1 -0
- package/dist/register/hooks.d.ts.map +1 -1
- package/dist/register/hooks.js +6 -1
- package/dist/register/hooks.js.map +1 -1
- package/dist/register/index.js +1 -1
- package/dist/register/index.js.map +1 -1
- package/dist/register/mapping.d.ts +3 -1
- package/dist/register/mapping.d.ts.map +1 -1
- package/dist/register/mapping.js +41 -5
- package/dist/register/mapping.js.map +1 -1
- package/dist/remote/index.d.ts.map +1 -1
- package/dist/remote/index.js +5 -3
- package/dist/remote/index.js.map +1 -1
- package/dist/rtdb/rules-json.d.ts +12 -0
- package/dist/rtdb/rules-json.d.ts.map +1 -1
- package/dist/rtdb/rules-json.js +98 -0
- package/dist/rtdb/rules-json.js.map +1 -1
- package/dist/serve/bundler.d.ts.map +1 -1
- package/dist/serve/bundler.js +2 -0
- package/dist/serve/bundler.js.map +1 -1
- package/dist/serve/discovery.d.ts +4 -4
- package/dist/serve/discovery.d.ts.map +1 -1
- package/dist/serve/discovery.js +59 -38
- package/dist/serve/discovery.js.map +1 -1
- package/dist/serve/entries/app-ai-passthrough.d.ts +8 -0
- package/dist/serve/entries/app-ai-passthrough.d.ts.map +1 -0
- package/dist/serve/entries/app-ai-passthrough.js +59 -0
- package/dist/serve/entries/app-ai-passthrough.js.map +1 -0
- package/dist/serve/entries/auth-helper-core.js +9 -7
- package/dist/serve/entries/auth-helper-core.js.map +1 -1
- package/dist/serve/entries/auth.d.ts +1 -0
- package/dist/serve/entries/auth.d.ts.map +1 -1
- package/dist/serve/entries/auth.js +1 -0
- package/dist/serve/entries/auth.js.map +1 -1
- package/dist/serve/entries/bridge-url.d.ts.map +1 -1
- package/dist/serve/entries/bridge-url.js +7 -2
- package/dist/serve/entries/bridge-url.js.map +1 -1
- package/dist/serve/entries/database.d.ts +1 -0
- package/dist/serve/entries/database.d.ts.map +1 -1
- package/dist/serve/entries/database.js +1 -0
- package/dist/serve/entries/database.js.map +1 -1
- package/dist/serve/entries/firestore.d.ts +1 -0
- package/dist/serve/entries/firestore.d.ts.map +1 -1
- package/dist/serve/entries/firestore.js +1 -0
- package/dist/serve/entries/firestore.js.map +1 -1
- package/dist/serve/entries/init.d.ts.map +1 -1
- package/dist/serve/entries/init.js +4 -2
- package/dist/serve/entries/init.js.map +1 -1
- package/dist/serve/entries/runtime.js +23 -0
- package/dist/serve/entries/runtime.js.map +1 -1
- package/dist/serve/entries/storage.d.ts +2 -0
- package/dist/serve/entries/storage.d.ts.map +1 -1
- package/dist/serve/entries/storage.js +9 -2
- package/dist/serve/entries/storage.js.map +1 -1
- package/dist/serve/html-injection.d.ts +3 -1
- package/dist/serve/html-injection.d.ts.map +1 -1
- package/dist/serve/html-injection.js +27 -1
- package/dist/serve/html-injection.js.map +1 -1
- package/dist/serve/rules.js +2 -2
- package/dist/serve/rules.js.map +1 -1
- package/dist/serve/runtime/chip-config.d.ts +1 -1
- package/dist/serve/runtime/chip-config.d.ts.map +1 -1
- package/dist/serve/runtime/chip-config.js +16 -8
- package/dist/serve/runtime/chip-config.js.map +1 -1
- package/dist/serve/runtime/chip.d.ts.map +1 -1
- package/dist/serve/runtime/chip.js +24 -3
- package/dist/serve/runtime/chip.js.map +1 -1
- package/dist/serve/runtime/status.d.ts +1 -0
- package/dist/serve/runtime/status.d.ts.map +1 -1
- package/dist/serve/runtime/status.js +71 -13
- package/dist/serve/runtime/status.js.map +1 -1
- package/dist/serve/sandbox-session.d.ts +1 -0
- package/dist/serve/sandbox-session.d.ts.map +1 -1
- package/dist/serve/sandbox-session.js +30 -2
- package/dist/serve/sandbox-session.js.map +1 -1
- package/dist/serve/site-ui/_astro/_slug_.C6QfVOxJ.css +1 -0
- package/dist/serve/site-ui/_astro/_studio_.B6b_G1ev.css +1 -0
- package/dist/serve/site-ui/_astro/app.B7pBzz5N.js +11 -0
- package/dist/serve/site-ui/_astro/app.boex5SnQ.js +1 -0
- package/dist/serve/site-ui/_astro/{chess-showcase.CnoxIle5.js → chess-showcase.DDqE-QGe.js} +1 -1
- package/dist/serve/site-ui/_astro/{example-runtime.R1d96L6-.js → example-runtime.B0byNQOl.js} +1 -1
- package/dist/serve/site-ui/_astro/index.uwPvjH_1.js +1 -0
- package/dist/serve/site-ui/_astro/reads.Dh3z0fJy.js +1 -0
- package/dist/serve/site-ui/_astro/sandbox-controls.C2IqtoSw.js +1252 -0
- package/dist/serve/site-ui/_astro/{seed.EyI3VYEu.js → seed.CCmj00su.js} +1 -1
- package/dist/serve/site-ui/auth/index.html +2 -2
- package/dist/serve/site-ui/docs/_rhythm/index.html +1 -1
- package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +48 -13
- package/dist/serve/site-ui/docs/agent/set-up-your-agent.md +74 -11
- package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +1 -1
- package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +1 -1
- package/dist/serve/site-ui/docs/ai-compat/index.html +85 -85
- package/dist/serve/site-ui/docs/ai-compat.md +84 -84
- package/dist/serve/site-ui/docs/api-reference/index.html +3 -1
- package/dist/serve/site-ui/docs/api-reference.md +2 -0
- package/dist/serve/site-ui/docs/app-compat/index.html +28 -28
- package/dist/serve/site-ui/docs/app-compat.md +27 -27
- package/dist/serve/site-ui/docs/auth-compat/index.html +122 -122
- package/dist/serve/site-ui/docs/auth-compat.md +121 -121
- package/dist/serve/site-ui/docs/build/ai-logic/index.html +19 -2
- package/dist/serve/site-ui/docs/build/ai-logic.md +28 -0
- package/dist/serve/site-ui/docs/build/authentication/index.html +1 -1
- package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +1 -1
- package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +1 -1
- package/dist/serve/site-ui/docs/build/cloud-storage/index.html +1 -1
- package/dist/serve/site-ui/docs/build/realtime-database/index.html +1 -1
- package/dist/serve/site-ui/docs/conformance-scores/index.html +25 -10
- package/dist/serve/site-ui/docs/conformance-scores.md +23 -8
- package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +6 -6
- package/dist/serve/site-ui/docs/create-pyric-reference-api.md +5 -5
- package/dist/serve/site-ui/docs/database-compat/index.html +200 -448
- package/dist/serve/site-ui/docs/database-compat.md +198 -461
- package/dist/serve/site-ui/docs/examples/chess/index.html +2 -2
- package/dist/serve/site-ui/docs/examples/index.html +1 -1
- package/dist/serve/site-ui/docs/firestore-compat/index.html +186 -195
- package/dist/serve/site-ui/docs/firestore-compat.md +184 -195
- package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +15 -15
- package/dist/serve/site-ui/docs/functions-rtdb-compat.md +14 -14
- package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +1 -1
- package/dist/serve/site-ui/docs/get-started/nextjs/index.html +57 -0
- package/dist/serve/site-ui/docs/get-started/nextjs.md +86 -0
- package/dist/serve/site-ui/docs/get-started/start-building/index.html +38 -9
- package/dist/serve/site-ui/docs/get-started/start-building.md +62 -7
- package/dist/serve/site-ui/docs/get-started/vite/index.html +26 -0
- package/dist/serve/site-ui/docs/get-started/vite.md +45 -0
- package/dist/serve/site-ui/docs/index.json +711 -111
- package/dist/serve/site-ui/docs/messaging-compat/index.html +56 -56
- package/dist/serve/site-ui/docs/messaging-compat.md +55 -55
- package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +1 -1
- package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +1 -1
- package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +1 -1
- package/dist/serve/site-ui/docs/overview/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +39 -13
- package/dist/serve/site-ui/docs/pyric-admin-app-reference-api.md +28 -2
- package/dist/serve/site-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-admin-database-reference-api/index.html +38 -6
- package/dist/serve/site-ui/docs/pyric-admin-database-reference-api.md +43 -0
- package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api/index.html +9 -1
- package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api.md +8 -0
- package/dist/serve/site-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +27 -4
- package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api.md +23 -0
- package/dist/serve/site-ui/docs/pyric-ai-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-auth-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-next-reference-api/index.html +123 -0
- package/dist/serve/site-ui/docs/pyric-cli-next-reference-api.md +99 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api/index.html +127 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api.md +174 -0
- package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api/index.html +570 -326
- package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api.md +198 -6
- package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-firestore-reference-api/index.html +2971 -627
- package/dist/serve/site-ui/docs/pyric-firestore-reference-api.md +2873 -517
- package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-rules-reference-api/index.html +43 -3
- package/dist/serve/site-ui/docs/pyric-rules-reference-api.md +8 -0
- package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +26 -2
- package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api.md +24 -0
- package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-sandbox-reference-api/index.html +77 -9
- package/dist/serve/site-ui/docs/pyric-sandbox-reference-api.md +28 -13
- package/dist/serve/site-ui/docs/pyric-storage-reference-api/index.html +240 -63
- package/dist/serve/site-ui/docs/pyric-storage-reference-api.md +164 -5
- package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api/index.html +1 -10
- package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api.md +0 -9
- package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api/index.html +2 -1
- package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api.md +1 -0
- package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
- package/dist/serve/site-ui/docs/rules-compat/index.html +87 -79
- package/dist/serve/site-ui/docs/rules-compat.md +86 -78
- package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +1 -1
- package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
- package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +1 -1
- package/dist/serve/site-ui/docs/ship/test-in-node/index.html +1 -1
- package/dist/serve/site-ui/docs/storage-compat/index.html +119 -125
- package/dist/serve/site-ui/docs/storage-compat.md +118 -124
- package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
- package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +1 -1
- package/dist/serve/site-ui/docs/trust/storage-rules-stdlib-research/index.html +1 -1
- package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
- package/dist/serve/site-ui/docs/tutorial/index.html +2 -1
- package/dist/serve/site-ui/docs/tutorial.md +2 -0
- package/dist/serve/site-ui/examples/chess/index.html +1 -1
- package/dist/serve/site-ui/examples/firestore-first-write/index.html +1 -1
- package/dist/serve/site-ui/firestore/index.html +2 -2
- package/dist/serve/site-ui/index.html +2 -2
- package/dist/serve/site-ui/llms.txt +8 -4
- package/dist/serve/site-ui/rtdb/index.html +2 -2
- package/dist/serve/site-ui/settings/index.html +2 -2
- package/dist/serve/site-ui/storage/index.html +2 -2
- package/dist/serve/site-ui/traffic/index.html +2 -2
- package/dist/serve/vite-ai-config.d.ts +4 -1
- package/dist/serve/vite-ai-config.d.ts.map +1 -1
- package/dist/serve/vite-ai-config.js +83 -19
- package/dist/serve/vite-ai-config.js.map +1 -1
- package/dist/serve/vite-functions-development.d.ts.map +1 -1
- package/dist/serve/vite-functions-development.js +1 -0
- package/dist/serve/vite-functions-development.js.map +1 -1
- package/dist/serve/vite-generation-rules-watch.d.ts.map +1 -1
- package/dist/serve/vite-generation-rules-watch.js +61 -14
- package/dist/serve/vite-generation-rules-watch.js.map +1 -1
- package/dist/serve/vite-module-swap.d.ts +4 -1
- package/dist/serve/vite-module-swap.d.ts.map +1 -1
- package/dist/serve/vite-module-swap.js +106 -21
- package/dist/serve/vite-module-swap.js.map +1 -1
- package/dist/serve/vite-plugin.d.ts.map +1 -1
- package/dist/serve/vite-plugin.js +45 -5
- package/dist/serve/vite-plugin.js.map +1 -1
- package/dist/serve/vite-sandbox-generation.js +1 -1
- package/dist/serve/vite-sandbox-generation.js.map +1 -1
- package/dist/serve/worker/client/resumable.d.ts +30 -0
- package/dist/serve/worker/client/resumable.d.ts.map +1 -0
- package/dist/serve/worker/client/resumable.js +416 -0
- package/dist/serve/worker/client/resumable.js.map +1 -0
- package/dist/serve/worker/client/rtdb-references.d.ts.map +1 -1
- package/dist/serve/worker/client/rtdb-references.js +4 -1
- package/dist/serve/worker/client/rtdb-references.js.map +1 -1
- package/dist/serve/worker/client/storage.d.ts +16 -2
- package/dist/serve/worker/client/storage.d.ts.map +1 -1
- package/dist/serve/worker/client/storage.js +57 -6
- package/dist/serve/worker/client/storage.js.map +1 -1
- package/dist/serve/worker/host/rules.d.ts.map +1 -1
- package/dist/serve/worker/host/rules.js +2 -1
- package/dist/serve/worker/host/rules.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 +1 -1
- package/dist/serve/worker/index.js.map +1 -1
- package/dist/serve/worker/serve-init.d.ts.map +1 -1
- package/dist/serve/worker/serve-init.js +31 -0
- package/dist/serve/worker/serve-init.js.map +1 -1
- package/package.json +15 -4
- package/src/assurance/.generated/conformance-verdicts.ts +80 -72
- package/src/bridge/server/bridge.ts +5 -2
- package/src/bridge/server/peer.ts +2 -1
- package/src/cli/cli.test.ts +14 -0
- package/src/cli/database-rules.ts +6 -4
- package/src/cli/dev-runner.ts +21 -0
- package/src/cli/serve.ts +63 -5
- package/src/cli/verify.ts +2 -2
- package/src/conformance/.generated/can-i-use-browser.ts +1 -1
- package/src/conformance/.generated/can-i-use.ts +1 -1
- package/src/conformance/.generated/conformance-docs.ts +1 -1
- package/src/functions-rtdb/child.ts +12 -1
- package/src/functions-rtdb/development-runtime.ts +2 -0
- package/src/next/client-aliases.ts +39 -0
- package/src/next/dev-rewrites.ts +77 -0
- package/src/next/guard.ts +61 -0
- package/src/next/index.ts +16 -0
- package/src/next/runtime-env.ts +18 -0
- package/src/next/server-external-packages.ts +43 -0
- package/src/next/target-url.ts +46 -0
- package/src/next/turbopack-config.ts +54 -0
- package/src/next/types.ts +47 -0
- package/src/next/webpack-config.ts +71 -0
- package/src/next/with-pyric.ts +58 -0
- package/src/register/app-bridge.ts +79 -0
- package/src/register/hooks.ts +6 -1
- package/src/register/index.ts +1 -1
- package/src/register/mapping.ts +50 -4
- package/src/remote/index.ts +7 -5
- package/src/rtdb/rules-json.ts +110 -0
- package/src/serve/bundler.ts +2 -0
- package/src/serve/discovery.ts +65 -44
- package/src/serve/entries/app-ai-passthrough.ts +83 -0
- package/src/serve/entries/auth-helper-core.ts +9 -7
- package/src/serve/entries/auth.ts +1 -0
- package/src/serve/entries/bridge-url.ts +9 -2
- package/src/serve/entries/database.ts +1 -0
- package/src/serve/entries/firestore.ts +1 -0
- package/src/serve/entries/init.ts +5 -2
- package/src/serve/entries/runtime.ts +25 -0
- package/src/serve/entries/storage.ts +12 -1
- package/src/serve/html-injection.ts +26 -1
- package/src/serve/rules.ts +2 -2
- package/src/serve/runtime/chip-config.ts +19 -6
- package/src/serve/runtime/chip.ts +24 -3
- package/src/serve/runtime/status.ts +76 -13
- package/src/serve/sandbox-session.ts +31 -2
- package/src/serve/vite-ai-config.ts +86 -19
- package/src/serve/vite-functions-development.ts +1 -0
- package/src/serve/vite-generation-rules-watch.ts +67 -15
- package/src/serve/vite-module-swap.ts +121 -21
- package/src/serve/vite-plugin.ts +44 -6
- package/src/serve/vite-sandbox-generation.ts +1 -1
- package/src/serve/worker/client/resumable.ts +506 -0
- package/src/serve/worker/client/rtdb-references.ts +4 -1
- package/src/serve/worker/client/storage.ts +77 -7
- package/src/serve/worker/host/rules.ts +2 -1
- package/src/serve/worker/index.ts +4 -0
- package/src/serve/worker/serve-init.ts +30 -0
- package/dist/serve/site-ui/_astro/_slug_.BoKXYrnu.css +0 -1
- package/dist/serve/site-ui/_astro/_studio_.BtYpqe1A.css +0 -1
- package/dist/serve/site-ui/_astro/app.4HeLP_FA.js +0 -109
- package/dist/serve/site-ui/_astro/app.BgSnCR5G.js +0 -1
- package/dist/serve/site-ui/_astro/index.BJiOemMX.js +0 -1
- package/dist/serve/site-ui/_astro/reads.BrKNdKAa.js +0 -1
- package/dist/serve/site-ui/_astro/sandbox-controls.BTb3EbQp.js +0 -1153
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<img src="https://pyric.dev/pyric-logo.svg" alt="Pyric" width="180" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">
|
|
5
|
+
<h1 align="center">A local first Firebase development framework built for Agents</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">Keep the same <code>firebase/*</code> code. Pyric runs it against a local backend during development, then gets out of the way when the app ships to Firebase.</p>
|
|
8
8
|
|
|
@@ -14,12 +14,38 @@ Pyric adds a development-only resolution layer to a Firebase application. Run th
|
|
|
14
14
|
|
|
15
15
|
The mirrored data services do not connect to a production Firebase project. Local writes cannot delete production data or create Firebase usage charges, and local rules changes do not deploy. Pyric owns the development sandbox and verification workflow. Firebase owns production, with `firebase-tools` or the Firebase Console handling deployment.
|
|
16
16
|
|
|
17
|
-
## Start a
|
|
17
|
+
## Start with a coding agent
|
|
18
|
+
|
|
19
|
+
Install the Pyric plugin:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx plugins add davideast/pyric
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Antigravity CLI and OpenCode use the standalone skill installer:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Antigravity CLI
|
|
29
|
+
npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent antigravity-cli
|
|
30
|
+
|
|
31
|
+
# OpenCode
|
|
32
|
+
npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent opencode
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Then ask your agent:
|
|
36
|
+
|
|
37
|
+
```text
|
|
38
|
+
Use the pyric-start skill to set up and run Pyric in this project.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The skill chooses the project launcher, starts one local sandbox bridge, opens the application, and confirms that the browser sandbox is connected.
|
|
42
|
+
|
|
43
|
+
## Start from the terminal
|
|
18
44
|
|
|
19
45
|
Create a Vite application with canonical Firebase imports, Firestore rules, and the Pyric development plugin already configured:
|
|
20
46
|
|
|
21
47
|
```bash
|
|
22
|
-
npm create pyric my-app
|
|
48
|
+
npm create pyric@latest my-app
|
|
23
49
|
cd my-app
|
|
24
50
|
npm install
|
|
25
51
|
npm run dev
|
|
@@ -38,10 +64,10 @@ Add it to the existing Vite configuration:
|
|
|
38
64
|
```ts
|
|
39
65
|
// vite.config.ts
|
|
40
66
|
import { defineConfig } from 'vite';
|
|
41
|
-
import {
|
|
67
|
+
import { pyric } from '@pyric/cli/vite';
|
|
42
68
|
|
|
43
69
|
export default defineConfig({
|
|
44
|
-
plugins: [
|
|
70
|
+
plugins: [pyric()],
|
|
45
71
|
});
|
|
46
72
|
```
|
|
47
73
|
|
|
@@ -57,7 +83,7 @@ Pyric Studio is available on the Vite origin at `/__pyric/ui/`. It opens the sam
|
|
|
57
83
|
|
|
58
84
|
For a static application or a Node process, `pyric dev` provides the same development-only package swap without the Vite plugin. The [CLI reference](packages/cli/docs/reference/cli.md) documents those paths and every command.
|
|
59
85
|
|
|
60
|
-
## Keep
|
|
86
|
+
## Keep using official Firebase SDKs
|
|
61
87
|
|
|
62
88
|
Application code continues to import Firebase:
|
|
63
89
|
|
|
@@ -81,16 +107,18 @@ The Firebase configuration is accepted by the local mirror during development. T
|
|
|
81
107
|
|
|
82
108
|
Pyric documents the parts that differ locally, including supported behavior, Security Rules, persistence, inspection, verification, and known gaps. See [use the Vite plugin](packages/cli/docs/how-to/use-the-vite-plugin.md) for the complete plugin contract.
|
|
83
109
|
|
|
84
|
-
##
|
|
110
|
+
## Monitor the local environment in Pyric Studio
|
|
85
111
|
|
|
86
112
|
Pyric Studio shows local data, requests, authentication state, Security Rules verdicts, and denied operations. Open `/__pyric/ui/` on the development server and reproduce the failure. A denied request includes the path and verdict needed to correct the rule or the application code.
|
|
87
113
|
|
|
114
|
+
<img width="1512" height="947" alt="image" src="https://github.com/user-attachments/assets/cb4a219c-c5f0-4fb7-8904-996416c0a79c" />
|
|
115
|
+
|
|
88
116
|
The Vite plugin discovers the Firestore rules path from `firebase.json`, or falls back to `firestore.rules`. Saving that file replaces the active local ruleset without a production deploy. A parse failure leaves the last valid ruleset active and reports the error in the development server.
|
|
89
117
|
|
|
90
118
|
State and test identities stay browser-local by default. Add `persist: true` to write a committable `.pyric/state/state.json`, or use `seed` to start from a known scenario:
|
|
91
119
|
|
|
92
120
|
```ts
|
|
93
|
-
|
|
121
|
+
pyric({
|
|
94
122
|
persist: true,
|
|
95
123
|
seed: 'seed.json',
|
|
96
124
|
});
|
|
@@ -98,19 +126,21 @@ pyricSandbox({
|
|
|
98
126
|
|
|
99
127
|
See [persistence and multi-tab behavior](packages/cli/docs/how-to/serve-persistence-and-multi-tab.md) for reset and seed precedence.
|
|
100
128
|
|
|
101
|
-
##
|
|
129
|
+
## Connect Coding Agents to the Sandbox using the Pyric MCP server
|
|
102
130
|
|
|
103
131
|
An agent can keep writing the same Firebase code while inspecting and changing the backend that the application is already using. Agent access is opt-in. Enable the MCP bridge in the Vite plugin:
|
|
104
132
|
|
|
105
133
|
```ts
|
|
106
|
-
|
|
134
|
+
pyric({
|
|
135
|
+
bridge: true
|
|
136
|
+
});
|
|
107
137
|
```
|
|
108
138
|
|
|
109
|
-
The bridge mounts on the Vite development origin and routes agent operations to the same SharedWorker backend used by the application and Studio.
|
|
139
|
+
The bridge mounts on the Vite development origin and routes agent operations to the same SharedWorker backend used by the application and Studio.
|
|
110
140
|
|
|
111
141
|
This protects the local workflow, not an independently credentialed process. A coding agent with production Firebase credentials or deployment access can still affect production outside Pyric.
|
|
112
142
|
|
|
113
|
-
## Verify the rules
|
|
143
|
+
## Verify the rules against production
|
|
114
144
|
|
|
115
145
|
Development sessions capture Firestore and Realtime Database operations in `.pyric/last-session.json` by default. Replay those requests against candidate rules before deployment:
|
|
116
146
|
|
|
@@ -285,7 +285,13 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
285
285
|
readonly "firestore#149": "qualified";
|
|
286
286
|
readonly "firestore#15": "supported";
|
|
287
287
|
readonly "firestore#150": "supported";
|
|
288
|
+
readonly "firestore#151": "supported";
|
|
288
289
|
readonly "firestore#152": "supported";
|
|
290
|
+
readonly "firestore#153": "supported";
|
|
291
|
+
readonly "firestore#154": "supported";
|
|
292
|
+
readonly "firestore#155": "supported";
|
|
293
|
+
readonly "firestore#156": "supported";
|
|
294
|
+
readonly "firestore#157": "supported";
|
|
289
295
|
readonly "firestore#16": "supported";
|
|
290
296
|
readonly "firestore#17": "supported";
|
|
291
297
|
readonly "firestore#18": "supported";
|
|
@@ -417,6 +423,8 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
417
423
|
readonly "firestore-rules#187": "supported";
|
|
418
424
|
readonly "firestore-rules#188": "supported";
|
|
419
425
|
readonly "firestore-rules#189": "supported";
|
|
426
|
+
readonly "firestore-rules#190": "supported";
|
|
427
|
+
readonly "firestore-rules#191": "supported";
|
|
420
428
|
readonly "firestore.binding.path-variable": "supported";
|
|
421
429
|
readonly "firestore.binding.request": "supported";
|
|
422
430
|
readonly "firestore.binding.request.auth": "supported";
|
|
@@ -433,7 +441,7 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
433
441
|
readonly "firestore.binding.resource.__name__": "supported";
|
|
434
442
|
readonly "firestore.binding.resource.data": "supported";
|
|
435
443
|
readonly "firestore.binding.resource.id": "supported";
|
|
436
|
-
readonly "firestore.function.cast.bool": "
|
|
444
|
+
readonly "firestore.function.cast.bool": "supported";
|
|
437
445
|
readonly "firestore.function.cast.float": "supported";
|
|
438
446
|
readonly "firestore.function.cast.int": "supported";
|
|
439
447
|
readonly "firestore.function.cast.path": "supported";
|
|
@@ -454,7 +462,7 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
454
462
|
readonly "firestore.function.math.abs": "supported";
|
|
455
463
|
readonly "firestore.function.math.ceil": "supported";
|
|
456
464
|
readonly "firestore.function.math.floor": "supported";
|
|
457
|
-
readonly "firestore.function.math.isInfinite": "
|
|
465
|
+
readonly "firestore.function.math.isInfinite": "supported";
|
|
458
466
|
readonly "firestore.function.math.isNaN": "supported";
|
|
459
467
|
readonly "firestore.function.math.pow": "supported";
|
|
460
468
|
readonly "firestore.function.math.round": "supported";
|
|
@@ -479,9 +487,9 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
479
487
|
readonly "firestore.method.list.toSet": "supported";
|
|
480
488
|
readonly "firestore.method.map.diff": "supported";
|
|
481
489
|
readonly "firestore.method.map.get": "supported";
|
|
482
|
-
readonly "firestore.method.map.hasAll": "
|
|
483
|
-
readonly "firestore.method.map.hasAny": "
|
|
484
|
-
readonly "firestore.method.map.hasOnly": "
|
|
490
|
+
readonly "firestore.method.map.hasAll": "supported";
|
|
491
|
+
readonly "firestore.method.map.hasAny": "supported";
|
|
492
|
+
readonly "firestore.method.map.hasOnly": "supported";
|
|
485
493
|
readonly "firestore.method.map.keys": "supported";
|
|
486
494
|
readonly "firestore.method.map.size": "supported";
|
|
487
495
|
readonly "firestore.method.map.values": "supported";
|
|
@@ -871,62 +879,62 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
871
879
|
readonly "rtdb-rules#7": "supported";
|
|
872
880
|
readonly "rtdb-rules#8": "supported";
|
|
873
881
|
readonly "rtdb-rules#9": "supported";
|
|
874
|
-
readonly "rtdb.binding.auth": "
|
|
875
|
-
readonly "rtdb.binding.auth.token": "
|
|
876
|
-
readonly "rtdb.binding.auth.uid": "
|
|
877
|
-
readonly "rtdb.binding.data": "
|
|
878
|
-
readonly "rtdb.binding.newData": "
|
|
879
|
-
readonly "rtdb.binding.now": "
|
|
880
|
-
readonly "rtdb.binding.path-variable": "
|
|
881
|
-
readonly "rtdb.binding.root": "
|
|
882
|
-
readonly "rtdb.method.snapshot.child": "
|
|
883
|
-
readonly "rtdb.method.snapshot.exists": "
|
|
884
|
-
readonly "rtdb.method.snapshot.getPriority": "
|
|
885
|
-
readonly "rtdb.method.snapshot.hasChild": "
|
|
886
|
-
readonly "rtdb.method.snapshot.hasChildren": "
|
|
887
|
-
readonly "rtdb.method.snapshot.isBoolean": "
|
|
888
|
-
readonly "rtdb.method.snapshot.isNumber": "
|
|
889
|
-
readonly "rtdb.method.snapshot.isString": "
|
|
890
|
-
readonly "rtdb.method.snapshot.parent": "
|
|
891
|
-
readonly "rtdb.method.snapshot.val": "
|
|
892
|
-
readonly "rtdb.method.string.beginsWith": "
|
|
893
|
-
readonly "rtdb.method.string.contains": "
|
|
894
|
-
readonly "rtdb.method.string.endsWith": "
|
|
895
|
-
readonly "rtdb.method.string.length": "
|
|
896
|
-
readonly "rtdb.method.string.matches": "
|
|
897
|
-
readonly "rtdb.method.string.replace": "
|
|
898
|
-
readonly "rtdb.method.string.toLowerCase": "
|
|
899
|
-
readonly "rtdb.method.string.toUpperCase": "
|
|
900
|
-
readonly "rtdb.operator.add": "
|
|
901
|
-
readonly "rtdb.operator.and": "
|
|
902
|
-
readonly "rtdb.operator.div": "
|
|
903
|
-
readonly "rtdb.operator.gt": "
|
|
904
|
-
readonly "rtdb.operator.gte": "
|
|
905
|
-
readonly "rtdb.operator.index": "
|
|
906
|
-
readonly "rtdb.operator.looseEq": "
|
|
907
|
-
readonly "rtdb.operator.looseNeq": "
|
|
908
|
-
readonly "rtdb.operator.lt": "
|
|
909
|
-
readonly "rtdb.operator.lte": "
|
|
910
|
-
readonly "rtdb.operator.member": "
|
|
911
|
-
readonly "rtdb.operator.mod": "
|
|
912
|
-
readonly "rtdb.operator.mul": "
|
|
913
|
-
readonly "rtdb.operator.neg": "
|
|
914
|
-
readonly "rtdb.operator.not": "
|
|
915
|
-
readonly "rtdb.operator.or": "
|
|
916
|
-
readonly "rtdb.operator.strictEq": "
|
|
917
|
-
readonly "rtdb.operator.strictNeq": "
|
|
918
|
-
readonly "rtdb.operator.sub": "
|
|
919
|
-
readonly "rtdb.operator.ternary": "
|
|
920
|
-
readonly "rtdb.rule-kind.indexOn": "
|
|
921
|
-
readonly "rtdb.rule-kind.location-wildcard": "
|
|
922
|
-
readonly "rtdb.rule-kind.read": "
|
|
923
|
-
readonly "rtdb.rule-kind.validate": "
|
|
924
|
-
readonly "rtdb.rule-kind.write": "
|
|
882
|
+
readonly "rtdb.binding.auth": "supported";
|
|
883
|
+
readonly "rtdb.binding.auth.token": "supported";
|
|
884
|
+
readonly "rtdb.binding.auth.uid": "supported";
|
|
885
|
+
readonly "rtdb.binding.data": "supported";
|
|
886
|
+
readonly "rtdb.binding.newData": "supported";
|
|
887
|
+
readonly "rtdb.binding.now": "supported";
|
|
888
|
+
readonly "rtdb.binding.path-variable": "supported";
|
|
889
|
+
readonly "rtdb.binding.root": "supported";
|
|
890
|
+
readonly "rtdb.method.snapshot.child": "supported";
|
|
891
|
+
readonly "rtdb.method.snapshot.exists": "supported";
|
|
892
|
+
readonly "rtdb.method.snapshot.getPriority": "supported";
|
|
893
|
+
readonly "rtdb.method.snapshot.hasChild": "supported";
|
|
894
|
+
readonly "rtdb.method.snapshot.hasChildren": "supported";
|
|
895
|
+
readonly "rtdb.method.snapshot.isBoolean": "supported";
|
|
896
|
+
readonly "rtdb.method.snapshot.isNumber": "supported";
|
|
897
|
+
readonly "rtdb.method.snapshot.isString": "supported";
|
|
898
|
+
readonly "rtdb.method.snapshot.parent": "supported";
|
|
899
|
+
readonly "rtdb.method.snapshot.val": "supported";
|
|
900
|
+
readonly "rtdb.method.string.beginsWith": "supported";
|
|
901
|
+
readonly "rtdb.method.string.contains": "supported";
|
|
902
|
+
readonly "rtdb.method.string.endsWith": "supported";
|
|
903
|
+
readonly "rtdb.method.string.length": "supported";
|
|
904
|
+
readonly "rtdb.method.string.matches": "supported";
|
|
905
|
+
readonly "rtdb.method.string.replace": "supported";
|
|
906
|
+
readonly "rtdb.method.string.toLowerCase": "supported";
|
|
907
|
+
readonly "rtdb.method.string.toUpperCase": "supported";
|
|
908
|
+
readonly "rtdb.operator.add": "supported";
|
|
909
|
+
readonly "rtdb.operator.and": "supported";
|
|
910
|
+
readonly "rtdb.operator.div": "supported";
|
|
911
|
+
readonly "rtdb.operator.gt": "supported";
|
|
912
|
+
readonly "rtdb.operator.gte": "supported";
|
|
913
|
+
readonly "rtdb.operator.index": "supported";
|
|
914
|
+
readonly "rtdb.operator.looseEq": "supported";
|
|
915
|
+
readonly "rtdb.operator.looseNeq": "supported";
|
|
916
|
+
readonly "rtdb.operator.lt": "supported";
|
|
917
|
+
readonly "rtdb.operator.lte": "supported";
|
|
918
|
+
readonly "rtdb.operator.member": "supported";
|
|
919
|
+
readonly "rtdb.operator.mod": "supported";
|
|
920
|
+
readonly "rtdb.operator.mul": "supported";
|
|
921
|
+
readonly "rtdb.operator.neg": "supported";
|
|
922
|
+
readonly "rtdb.operator.not": "supported";
|
|
923
|
+
readonly "rtdb.operator.or": "supported";
|
|
924
|
+
readonly "rtdb.operator.strictEq": "supported";
|
|
925
|
+
readonly "rtdb.operator.strictNeq": "supported";
|
|
926
|
+
readonly "rtdb.operator.sub": "supported";
|
|
927
|
+
readonly "rtdb.operator.ternary": "supported";
|
|
928
|
+
readonly "rtdb.rule-kind.indexOn": "supported";
|
|
929
|
+
readonly "rtdb.rule-kind.location-wildcard": "supported";
|
|
930
|
+
readonly "rtdb.rule-kind.read": "supported";
|
|
931
|
+
readonly "rtdb.rule-kind.validate": "supported";
|
|
932
|
+
readonly "rtdb.rule-kind.write": "supported";
|
|
925
933
|
readonly "rtdb.semantic.deny-by-default": "qualified";
|
|
926
|
-
readonly "rtdb.semantic.read-cascade": "
|
|
927
|
-
readonly "rtdb.semantic.regex-literal": "
|
|
928
|
-
readonly "rtdb.semantic.validate-non-cascade": "
|
|
929
|
-
readonly "rtdb.semantic.write-cascade": "
|
|
934
|
+
readonly "rtdb.semantic.read-cascade": "supported";
|
|
935
|
+
readonly "rtdb.semantic.regex-literal": "supported";
|
|
936
|
+
readonly "rtdb.semantic.validate-non-cascade": "supported";
|
|
937
|
+
readonly "rtdb.semantic.write-cascade": "supported";
|
|
930
938
|
readonly "storage#1": "supported";
|
|
931
939
|
readonly "storage#10": "supported";
|
|
932
940
|
readonly "storage#105": "supported";
|
|
@@ -973,12 +981,12 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
973
981
|
readonly "storage#44": "supported";
|
|
974
982
|
readonly "storage#45": "supported";
|
|
975
983
|
readonly "storage#46": "supported";
|
|
976
|
-
readonly "storage#47": "
|
|
977
|
-
readonly "storage#48": "
|
|
978
|
-
readonly "storage#49": "
|
|
984
|
+
readonly "storage#47": "qualified";
|
|
985
|
+
readonly "storage#48": "qualified";
|
|
986
|
+
readonly "storage#49": "qualified";
|
|
979
987
|
readonly "storage#4a": "supported";
|
|
980
988
|
readonly "storage#5": "supported";
|
|
981
|
-
readonly "storage#50": "
|
|
989
|
+
readonly "storage#50": "qualified";
|
|
982
990
|
readonly "storage#51": "qualified";
|
|
983
991
|
readonly "storage#52": "supported";
|
|
984
992
|
readonly "storage#53": "supported";
|
|
@@ -1089,30 +1097,30 @@ export declare const CONFORMANCE_VERDICTS: {
|
|
|
1089
1097
|
readonly "storage.method.map.get": "supported";
|
|
1090
1098
|
readonly "storage.method.map.keys": "supported";
|
|
1091
1099
|
readonly "storage.method.set.hasAll": "supported";
|
|
1092
|
-
readonly "storage.method.size": "
|
|
1100
|
+
readonly "storage.method.size": "supported";
|
|
1093
1101
|
readonly "storage.method.string.matches": "supported";
|
|
1094
|
-
readonly "storage.method.string.split": "
|
|
1102
|
+
readonly "storage.method.string.split": "supported";
|
|
1095
1103
|
readonly "storage.operator.add": "supported";
|
|
1096
1104
|
readonly "storage.operator.and": "supported";
|
|
1097
1105
|
readonly "storage.operator.div": "supported";
|
|
1098
1106
|
readonly "storage.operator.eq": "supported";
|
|
1099
1107
|
readonly "storage.operator.gt": "supported";
|
|
1100
1108
|
readonly "storage.operator.gte": "supported";
|
|
1101
|
-
readonly "storage.operator.in": "
|
|
1109
|
+
readonly "storage.operator.in": "supported";
|
|
1102
1110
|
readonly "storage.operator.index": "supported";
|
|
1103
|
-
readonly "storage.operator.is": "
|
|
1111
|
+
readonly "storage.operator.is": "supported";
|
|
1104
1112
|
readonly "storage.operator.lt": "supported";
|
|
1105
1113
|
readonly "storage.operator.lte": "supported";
|
|
1106
1114
|
readonly "storage.operator.member": "supported";
|
|
1107
|
-
readonly "storage.operator.mod": "
|
|
1115
|
+
readonly "storage.operator.mod": "supported";
|
|
1108
1116
|
readonly "storage.operator.mul": "supported";
|
|
1109
1117
|
readonly "storage.operator.neq": "supported";
|
|
1110
1118
|
readonly "storage.operator.not": "supported";
|
|
1111
1119
|
readonly "storage.operator.or": "supported";
|
|
1112
|
-
readonly "storage.operator.slice": "
|
|
1120
|
+
readonly "storage.operator.slice": "supported";
|
|
1113
1121
|
readonly "storage.operator.sub": "supported";
|
|
1114
|
-
readonly "storage.operator.ternary": "
|
|
1115
|
-
readonly "storage.operator.unary-minus": "
|
|
1122
|
+
readonly "storage.operator.ternary": "supported";
|
|
1123
|
+
readonly "storage.operator.unary-minus": "supported";
|
|
1116
1124
|
readonly "storage.rule-kind.allow-create": "supported";
|
|
1117
1125
|
readonly "storage.rule-kind.allow-delete": "supported";
|
|
1118
1126
|
readonly "storage.rule-kind.allow-get": "supported";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conformance-verdicts.d.ts","sourceRoot":"","sources":["../../../src/assurance/.generated/conformance-verdicts.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3E,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"conformance-verdicts.d.ts","sourceRoot":"","sources":["../../../src/assurance/.generated/conformance-verdicts.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAinCgC,CAAC"}
|
|
@@ -284,7 +284,13 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
284
284
|
"firestore#149": "qualified",
|
|
285
285
|
"firestore#15": "supported",
|
|
286
286
|
"firestore#150": "supported",
|
|
287
|
+
"firestore#151": "supported",
|
|
287
288
|
"firestore#152": "supported",
|
|
289
|
+
"firestore#153": "supported",
|
|
290
|
+
"firestore#154": "supported",
|
|
291
|
+
"firestore#155": "supported",
|
|
292
|
+
"firestore#156": "supported",
|
|
293
|
+
"firestore#157": "supported",
|
|
288
294
|
"firestore#16": "supported",
|
|
289
295
|
"firestore#17": "supported",
|
|
290
296
|
"firestore#18": "supported",
|
|
@@ -416,6 +422,8 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
416
422
|
"firestore-rules#187": "supported",
|
|
417
423
|
"firestore-rules#188": "supported",
|
|
418
424
|
"firestore-rules#189": "supported",
|
|
425
|
+
"firestore-rules#190": "supported",
|
|
426
|
+
"firestore-rules#191": "supported",
|
|
419
427
|
"firestore.binding.path-variable": "supported",
|
|
420
428
|
"firestore.binding.request": "supported",
|
|
421
429
|
"firestore.binding.request.auth": "supported",
|
|
@@ -432,7 +440,7 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
432
440
|
"firestore.binding.resource.__name__": "supported",
|
|
433
441
|
"firestore.binding.resource.data": "supported",
|
|
434
442
|
"firestore.binding.resource.id": "supported",
|
|
435
|
-
"firestore.function.cast.bool": "
|
|
443
|
+
"firestore.function.cast.bool": "supported",
|
|
436
444
|
"firestore.function.cast.float": "supported",
|
|
437
445
|
"firestore.function.cast.int": "supported",
|
|
438
446
|
"firestore.function.cast.path": "supported",
|
|
@@ -453,7 +461,7 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
453
461
|
"firestore.function.math.abs": "supported",
|
|
454
462
|
"firestore.function.math.ceil": "supported",
|
|
455
463
|
"firestore.function.math.floor": "supported",
|
|
456
|
-
"firestore.function.math.isInfinite": "
|
|
464
|
+
"firestore.function.math.isInfinite": "supported",
|
|
457
465
|
"firestore.function.math.isNaN": "supported",
|
|
458
466
|
"firestore.function.math.pow": "supported",
|
|
459
467
|
"firestore.function.math.round": "supported",
|
|
@@ -478,9 +486,9 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
478
486
|
"firestore.method.list.toSet": "supported",
|
|
479
487
|
"firestore.method.map.diff": "supported",
|
|
480
488
|
"firestore.method.map.get": "supported",
|
|
481
|
-
"firestore.method.map.hasAll": "
|
|
482
|
-
"firestore.method.map.hasAny": "
|
|
483
|
-
"firestore.method.map.hasOnly": "
|
|
489
|
+
"firestore.method.map.hasAll": "supported",
|
|
490
|
+
"firestore.method.map.hasAny": "supported",
|
|
491
|
+
"firestore.method.map.hasOnly": "supported",
|
|
484
492
|
"firestore.method.map.keys": "supported",
|
|
485
493
|
"firestore.method.map.size": "supported",
|
|
486
494
|
"firestore.method.map.values": "supported",
|
|
@@ -870,62 +878,62 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
870
878
|
"rtdb-rules#7": "supported",
|
|
871
879
|
"rtdb-rules#8": "supported",
|
|
872
880
|
"rtdb-rules#9": "supported",
|
|
873
|
-
"rtdb.binding.auth": "
|
|
874
|
-
"rtdb.binding.auth.token": "
|
|
875
|
-
"rtdb.binding.auth.uid": "
|
|
876
|
-
"rtdb.binding.data": "
|
|
877
|
-
"rtdb.binding.newData": "
|
|
878
|
-
"rtdb.binding.now": "
|
|
879
|
-
"rtdb.binding.path-variable": "
|
|
880
|
-
"rtdb.binding.root": "
|
|
881
|
-
"rtdb.method.snapshot.child": "
|
|
882
|
-
"rtdb.method.snapshot.exists": "
|
|
883
|
-
"rtdb.method.snapshot.getPriority": "
|
|
884
|
-
"rtdb.method.snapshot.hasChild": "
|
|
885
|
-
"rtdb.method.snapshot.hasChildren": "
|
|
886
|
-
"rtdb.method.snapshot.isBoolean": "
|
|
887
|
-
"rtdb.method.snapshot.isNumber": "
|
|
888
|
-
"rtdb.method.snapshot.isString": "
|
|
889
|
-
"rtdb.method.snapshot.parent": "
|
|
890
|
-
"rtdb.method.snapshot.val": "
|
|
891
|
-
"rtdb.method.string.beginsWith": "
|
|
892
|
-
"rtdb.method.string.contains": "
|
|
893
|
-
"rtdb.method.string.endsWith": "
|
|
894
|
-
"rtdb.method.string.length": "
|
|
895
|
-
"rtdb.method.string.matches": "
|
|
896
|
-
"rtdb.method.string.replace": "
|
|
897
|
-
"rtdb.method.string.toLowerCase": "
|
|
898
|
-
"rtdb.method.string.toUpperCase": "
|
|
899
|
-
"rtdb.operator.add": "
|
|
900
|
-
"rtdb.operator.and": "
|
|
901
|
-
"rtdb.operator.div": "
|
|
902
|
-
"rtdb.operator.gt": "
|
|
903
|
-
"rtdb.operator.gte": "
|
|
904
|
-
"rtdb.operator.index": "
|
|
905
|
-
"rtdb.operator.looseEq": "
|
|
906
|
-
"rtdb.operator.looseNeq": "
|
|
907
|
-
"rtdb.operator.lt": "
|
|
908
|
-
"rtdb.operator.lte": "
|
|
909
|
-
"rtdb.operator.member": "
|
|
910
|
-
"rtdb.operator.mod": "
|
|
911
|
-
"rtdb.operator.mul": "
|
|
912
|
-
"rtdb.operator.neg": "
|
|
913
|
-
"rtdb.operator.not": "
|
|
914
|
-
"rtdb.operator.or": "
|
|
915
|
-
"rtdb.operator.strictEq": "
|
|
916
|
-
"rtdb.operator.strictNeq": "
|
|
917
|
-
"rtdb.operator.sub": "
|
|
918
|
-
"rtdb.operator.ternary": "
|
|
919
|
-
"rtdb.rule-kind.indexOn": "
|
|
920
|
-
"rtdb.rule-kind.location-wildcard": "
|
|
921
|
-
"rtdb.rule-kind.read": "
|
|
922
|
-
"rtdb.rule-kind.validate": "
|
|
923
|
-
"rtdb.rule-kind.write": "
|
|
881
|
+
"rtdb.binding.auth": "supported",
|
|
882
|
+
"rtdb.binding.auth.token": "supported",
|
|
883
|
+
"rtdb.binding.auth.uid": "supported",
|
|
884
|
+
"rtdb.binding.data": "supported",
|
|
885
|
+
"rtdb.binding.newData": "supported",
|
|
886
|
+
"rtdb.binding.now": "supported",
|
|
887
|
+
"rtdb.binding.path-variable": "supported",
|
|
888
|
+
"rtdb.binding.root": "supported",
|
|
889
|
+
"rtdb.method.snapshot.child": "supported",
|
|
890
|
+
"rtdb.method.snapshot.exists": "supported",
|
|
891
|
+
"rtdb.method.snapshot.getPriority": "supported",
|
|
892
|
+
"rtdb.method.snapshot.hasChild": "supported",
|
|
893
|
+
"rtdb.method.snapshot.hasChildren": "supported",
|
|
894
|
+
"rtdb.method.snapshot.isBoolean": "supported",
|
|
895
|
+
"rtdb.method.snapshot.isNumber": "supported",
|
|
896
|
+
"rtdb.method.snapshot.isString": "supported",
|
|
897
|
+
"rtdb.method.snapshot.parent": "supported",
|
|
898
|
+
"rtdb.method.snapshot.val": "supported",
|
|
899
|
+
"rtdb.method.string.beginsWith": "supported",
|
|
900
|
+
"rtdb.method.string.contains": "supported",
|
|
901
|
+
"rtdb.method.string.endsWith": "supported",
|
|
902
|
+
"rtdb.method.string.length": "supported",
|
|
903
|
+
"rtdb.method.string.matches": "supported",
|
|
904
|
+
"rtdb.method.string.replace": "supported",
|
|
905
|
+
"rtdb.method.string.toLowerCase": "supported",
|
|
906
|
+
"rtdb.method.string.toUpperCase": "supported",
|
|
907
|
+
"rtdb.operator.add": "supported",
|
|
908
|
+
"rtdb.operator.and": "supported",
|
|
909
|
+
"rtdb.operator.div": "supported",
|
|
910
|
+
"rtdb.operator.gt": "supported",
|
|
911
|
+
"rtdb.operator.gte": "supported",
|
|
912
|
+
"rtdb.operator.index": "supported",
|
|
913
|
+
"rtdb.operator.looseEq": "supported",
|
|
914
|
+
"rtdb.operator.looseNeq": "supported",
|
|
915
|
+
"rtdb.operator.lt": "supported",
|
|
916
|
+
"rtdb.operator.lte": "supported",
|
|
917
|
+
"rtdb.operator.member": "supported",
|
|
918
|
+
"rtdb.operator.mod": "supported",
|
|
919
|
+
"rtdb.operator.mul": "supported",
|
|
920
|
+
"rtdb.operator.neg": "supported",
|
|
921
|
+
"rtdb.operator.not": "supported",
|
|
922
|
+
"rtdb.operator.or": "supported",
|
|
923
|
+
"rtdb.operator.strictEq": "supported",
|
|
924
|
+
"rtdb.operator.strictNeq": "supported",
|
|
925
|
+
"rtdb.operator.sub": "supported",
|
|
926
|
+
"rtdb.operator.ternary": "supported",
|
|
927
|
+
"rtdb.rule-kind.indexOn": "supported",
|
|
928
|
+
"rtdb.rule-kind.location-wildcard": "supported",
|
|
929
|
+
"rtdb.rule-kind.read": "supported",
|
|
930
|
+
"rtdb.rule-kind.validate": "supported",
|
|
931
|
+
"rtdb.rule-kind.write": "supported",
|
|
924
932
|
"rtdb.semantic.deny-by-default": "qualified",
|
|
925
|
-
"rtdb.semantic.read-cascade": "
|
|
926
|
-
"rtdb.semantic.regex-literal": "
|
|
927
|
-
"rtdb.semantic.validate-non-cascade": "
|
|
928
|
-
"rtdb.semantic.write-cascade": "
|
|
933
|
+
"rtdb.semantic.read-cascade": "supported",
|
|
934
|
+
"rtdb.semantic.regex-literal": "supported",
|
|
935
|
+
"rtdb.semantic.validate-non-cascade": "supported",
|
|
936
|
+
"rtdb.semantic.write-cascade": "supported",
|
|
929
937
|
"storage#1": "supported",
|
|
930
938
|
"storage#10": "supported",
|
|
931
939
|
"storage#105": "supported",
|
|
@@ -972,12 +980,12 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
972
980
|
"storage#44": "supported",
|
|
973
981
|
"storage#45": "supported",
|
|
974
982
|
"storage#46": "supported",
|
|
975
|
-
"storage#47": "
|
|
976
|
-
"storage#48": "
|
|
977
|
-
"storage#49": "
|
|
983
|
+
"storage#47": "qualified",
|
|
984
|
+
"storage#48": "qualified",
|
|
985
|
+
"storage#49": "qualified",
|
|
978
986
|
"storage#4a": "supported",
|
|
979
987
|
"storage#5": "supported",
|
|
980
|
-
"storage#50": "
|
|
988
|
+
"storage#50": "qualified",
|
|
981
989
|
"storage#51": "qualified",
|
|
982
990
|
"storage#52": "supported",
|
|
983
991
|
"storage#53": "supported",
|
|
@@ -1088,30 +1096,30 @@ export const CONFORMANCE_VERDICTS = {
|
|
|
1088
1096
|
"storage.method.map.get": "supported",
|
|
1089
1097
|
"storage.method.map.keys": "supported",
|
|
1090
1098
|
"storage.method.set.hasAll": "supported",
|
|
1091
|
-
"storage.method.size": "
|
|
1099
|
+
"storage.method.size": "supported",
|
|
1092
1100
|
"storage.method.string.matches": "supported",
|
|
1093
|
-
"storage.method.string.split": "
|
|
1101
|
+
"storage.method.string.split": "supported",
|
|
1094
1102
|
"storage.operator.add": "supported",
|
|
1095
1103
|
"storage.operator.and": "supported",
|
|
1096
1104
|
"storage.operator.div": "supported",
|
|
1097
1105
|
"storage.operator.eq": "supported",
|
|
1098
1106
|
"storage.operator.gt": "supported",
|
|
1099
1107
|
"storage.operator.gte": "supported",
|
|
1100
|
-
"storage.operator.in": "
|
|
1108
|
+
"storage.operator.in": "supported",
|
|
1101
1109
|
"storage.operator.index": "supported",
|
|
1102
|
-
"storage.operator.is": "
|
|
1110
|
+
"storage.operator.is": "supported",
|
|
1103
1111
|
"storage.operator.lt": "supported",
|
|
1104
1112
|
"storage.operator.lte": "supported",
|
|
1105
1113
|
"storage.operator.member": "supported",
|
|
1106
|
-
"storage.operator.mod": "
|
|
1114
|
+
"storage.operator.mod": "supported",
|
|
1107
1115
|
"storage.operator.mul": "supported",
|
|
1108
1116
|
"storage.operator.neq": "supported",
|
|
1109
1117
|
"storage.operator.not": "supported",
|
|
1110
1118
|
"storage.operator.or": "supported",
|
|
1111
|
-
"storage.operator.slice": "
|
|
1119
|
+
"storage.operator.slice": "supported",
|
|
1112
1120
|
"storage.operator.sub": "supported",
|
|
1113
|
-
"storage.operator.ternary": "
|
|
1114
|
-
"storage.operator.unary-minus": "
|
|
1121
|
+
"storage.operator.ternary": "supported",
|
|
1122
|
+
"storage.operator.unary-minus": "supported",
|
|
1115
1123
|
"storage.rule-kind.allow-create": "supported",
|
|
1116
1124
|
"storage.rule-kind.allow-delete": "supported",
|
|
1117
1125
|
"storage.rule-kind.allow-get": "supported",
|