@pyric/cli 0.1.0-alpha.15 → 0.1.0-alpha.17
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 +13 -9
- 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/client/dispatch.js +1 -1
- package/dist/bridge/client/dispatch.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 +61 -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/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/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.d.ts +9 -0
- package/dist/serve/entries/auth-helper-core.d.ts.map +1 -1
- package/dist/serve/entries/auth-helper-core.js +37 -8
- 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 +7 -4
- 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/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/_studio_.B6b_G1ev.css +1 -0
- package/dist/serve/site-ui/_astro/app.bnmVTkIY.js +11 -0
- package/dist/serve/site-ui/_astro/app.t6u-adB_.js +1 -0
- package/dist/serve/site-ui/_astro/{chess-showcase.DzPO6kz0.js → chess-showcase.kC8dXLKY.js} +1 -1
- package/dist/serve/site-ui/_astro/{example-runtime.CM0H02rx.js → example-runtime.D79PnoSk.js} +1 -1
- package/dist/serve/site-ui/_astro/index.DzVde04M.js +1 -0
- package/dist/serve/site-ui/_astro/reads.BYBRLbsE.js +1 -0
- package/dist/serve/site-ui/_astro/sandbox-controls.C9Aaazt8.js +1252 -0
- package/dist/serve/site-ui/_astro/{seed.BCn5DhHS.js → seed.DANAIyRw.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 +1 -1
- 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 +1 -1
- 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 +4 -4
- package/dist/serve/site-ui/docs/conformance-scores.md +3 -3
- 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 +25 -8
- package/dist/serve/site-ui/docs/get-started/start-building.md +34 -5
- 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 +668 -103
- 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 +2 -2
- package/dist/serve/site-ui/docs/pyric-auth-reference-api.md +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 -1
- 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 +1 -1
- 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 +6 -2
- 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-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/client/dispatch.ts +1 -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 +62 -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/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/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 +44 -8
- package/src/serve/entries/auth.ts +9 -4
- 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/sandbox-session.ts +31 -2
- package/src/serve/vite-ai-config.ts +86 -19
- 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/_studio_.BtYpqe1A.css +0 -1
- package/dist/serve/site-ui/_astro/app.BnMC0ywl.js +0 -109
- package/dist/serve/site-ui/_astro/app.DVXXR-WI.js +0 -1
- package/dist/serve/site-ui/_astro/index.B4Kh80he.js +0 -1
- package/dist/serve/site-ui/_astro/reads.D1exkX1-.js +0 -1
- package/dist/serve/site-ui/_astro/sandbox-controls.BqMePr5V.js +0 -1153
|
@@ -2,8 +2,8 @@ import path from 'node:path';
|
|
|
2
2
|
import { loadEnv } from 'vite';
|
|
3
3
|
const AI_PROXY_PATH = '/__pyric/ai-proxy';
|
|
4
4
|
/** Values captured once by a SharedWorker and therefore requiring replacement. */
|
|
5
|
-
export function viteWorkerEpochSalt(projectKey, engineWire) {
|
|
6
|
-
return JSON.stringify({ projectKey, aiEngine: engineWire ?? null });
|
|
5
|
+
export function viteWorkerEpochSalt(projectKey, engineWire, mode = 'sandbox') {
|
|
6
|
+
return JSON.stringify({ projectKey, aiEngine: engineWire ?? null, aiMode: mode });
|
|
7
7
|
}
|
|
8
8
|
/** Load env using Vite's `envDir`-relative-to-root convention. */
|
|
9
9
|
export function loadViteAiEnv(mode, root, envDir) {
|
|
@@ -15,35 +15,99 @@ export function loadViteAiEnv(mode, root, envDir) {
|
|
|
15
15
|
}
|
|
16
16
|
/** Convert a public declarative engine into the JSON-safe worker wire shape. */
|
|
17
17
|
export function engineConfigToWire(engine) {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const isOpenAiEngine = engine.kind === 'openai';
|
|
19
|
+
if (isOpenAiEngine) {
|
|
20
|
+
const result = {
|
|
20
21
|
kind: 'openai',
|
|
21
|
-
baseUrl: engine.baseUrl
|
|
22
|
-
...(engine.model !== undefined ? { model: engine.model } : {}),
|
|
23
|
-
...(engine.modelMap !== undefined ? { modelMap: engine.modelMap } : {}),
|
|
22
|
+
baseUrl: engine.baseUrl !== undefined && engine.baseUrl !== null ? engine.baseUrl : AI_PROXY_PATH,
|
|
24
23
|
};
|
|
24
|
+
const hasModel = engine.model !== undefined;
|
|
25
|
+
if (hasModel) {
|
|
26
|
+
result.model = engine.model;
|
|
27
|
+
}
|
|
28
|
+
const hasModelMap = engine.modelMap !== undefined;
|
|
29
|
+
if (hasModelMap) {
|
|
30
|
+
result.modelMap = engine.modelMap;
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
25
33
|
}
|
|
26
|
-
|
|
34
|
+
const result = {
|
|
27
35
|
kind: 'scripted',
|
|
28
|
-
...(engine.script !== undefined
|
|
29
|
-
? { script: engine.script }
|
|
30
|
-
: {}),
|
|
31
36
|
};
|
|
37
|
+
const hasScript = engine.script !== undefined;
|
|
38
|
+
if (hasScript) {
|
|
39
|
+
result.script = engine.script;
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
32
42
|
}
|
|
33
43
|
/** Resolve the plugin's explicit-options-over-Vite-env AI convention. */
|
|
34
44
|
export function resolveViteAiConfig(options, env) {
|
|
35
|
-
|
|
45
|
+
const explicitModel = options?.model;
|
|
46
|
+
const explicitEngine = options?.engine;
|
|
47
|
+
const hasModelOption = explicitModel !== undefined;
|
|
48
|
+
const hasEngineOption = explicitEngine !== undefined;
|
|
49
|
+
const hasBothModelAndEngine = hasModelOption && hasEngineOption;
|
|
50
|
+
if (hasBothModelAndEngine) {
|
|
36
51
|
throw new Error('@pyric/cli/vite: Choose either ai.model or ai.engine, not both.');
|
|
37
52
|
}
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
53
|
+
let mode = 'sandbox';
|
|
54
|
+
const explicitMode = options?.mode;
|
|
55
|
+
const hasExplicitMode = explicitMode !== undefined;
|
|
56
|
+
if (hasExplicitMode) {
|
|
57
|
+
mode = explicitMode;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const isEnvProductionMode = env.PYRIC_AI_MODE === 'production';
|
|
61
|
+
const isEnvPassthroughFlag = env.PYRIC_AI_PASSTHROUGH === '1';
|
|
62
|
+
const isProductionEnv = isEnvProductionMode || isEnvPassthroughFlag;
|
|
63
|
+
if (isProductionEnv) {
|
|
64
|
+
mode = 'production';
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const isProductionMode = mode === 'production';
|
|
68
|
+
const hasAnyEngineConfig = hasModelOption || hasEngineOption;
|
|
69
|
+
const isInvalidProductionConfig = isProductionMode && hasAnyEngineConfig;
|
|
70
|
+
if (isInvalidProductionConfig) {
|
|
71
|
+
throw new Error('@pyric/cli/vite: Cannot configure ai.model or ai.engine when ai.mode is set to "production".');
|
|
72
|
+
}
|
|
73
|
+
let model = undefined;
|
|
74
|
+
const envModel = env.PYRIC_AI_MODEL;
|
|
75
|
+
if (explicitModel !== undefined) {
|
|
76
|
+
model = explicitModel.trim();
|
|
77
|
+
}
|
|
78
|
+
else if (envModel !== undefined) {
|
|
79
|
+
model = envModel.trim();
|
|
80
|
+
}
|
|
81
|
+
const hasNonEmptyModel = model !== undefined && model !== '';
|
|
82
|
+
if (!hasNonEmptyModel) {
|
|
83
|
+
model = undefined;
|
|
84
|
+
}
|
|
85
|
+
let engineWire = undefined;
|
|
86
|
+
if (!isProductionMode) {
|
|
87
|
+
if (explicitEngine !== undefined) {
|
|
88
|
+
engineWire = engineConfigToWire(explicitEngine);
|
|
89
|
+
}
|
|
90
|
+
else if (model !== undefined) {
|
|
91
|
+
engineWire = engineConfigToWire({ kind: 'openai', baseUrl: AI_PROXY_PATH, model });
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
let proxyUpstream = undefined;
|
|
95
|
+
const explicitProxyUpstream = options?.proxyUpstream;
|
|
96
|
+
const envProxyUpstream = env.PYRIC_AI_PROXY_UPSTREAM;
|
|
97
|
+
if (explicitProxyUpstream !== undefined) {
|
|
98
|
+
proxyUpstream = explicitProxyUpstream.trim();
|
|
99
|
+
}
|
|
100
|
+
else if (envProxyUpstream !== undefined) {
|
|
101
|
+
proxyUpstream = envProxyUpstream.trim();
|
|
102
|
+
}
|
|
103
|
+
const hasNonEmptyProxyUpstream = proxyUpstream !== undefined && proxyUpstream !== '';
|
|
104
|
+
if (!hasNonEmptyProxyUpstream) {
|
|
105
|
+
proxyUpstream = undefined;
|
|
106
|
+
}
|
|
44
107
|
return {
|
|
108
|
+
mode,
|
|
45
109
|
engineWire,
|
|
46
|
-
proxyUpstream
|
|
110
|
+
proxyUpstream,
|
|
47
111
|
};
|
|
48
112
|
}
|
|
49
113
|
//# sourceMappingURL=vite-ai-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-ai-config.js","sourceRoot":"","sources":["../../src/serve/vite-ai-config.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,MAAM,aAAa,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-ai-config.js","sourceRoot":"","sources":["../../src/serve/vite-ai-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-generation-rules-watch.d.ts","sourceRoot":"","sources":["../../src/serve/vite-generation-rules-watch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wFAAwF;AACxF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"vite-generation-rules-watch.d.ts","sourceRoot":"","sources":["../../src/serve/vite-generation-rules-watch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wFAAwF;AACxF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;CACzB,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAgFtB"}
|
|
@@ -2,31 +2,78 @@ import path from 'node:path';
|
|
|
2
2
|
/** Adapt Vite's watcher to the session's last-good Firestore-rules reload operation. */
|
|
3
3
|
export function watchViteGenerationRules(input) {
|
|
4
4
|
const { server, session } = input;
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const firestoreFile = session.summary.rules.firestore.sourcePath;
|
|
6
|
+
const databaseFile = session.summary.rules.database.sourcePath;
|
|
7
|
+
const hasFirestoreFile = firestoreFile !== null;
|
|
8
|
+
const hasDatabaseFile = databaseFile !== null;
|
|
9
|
+
const hasNeitherFile = !hasFirestoreFile && !hasDatabaseFile;
|
|
10
|
+
if (hasNeitherFile) {
|
|
7
11
|
return null;
|
|
12
|
+
}
|
|
8
13
|
let debounce = null;
|
|
9
14
|
const onRulesChange = (file) => {
|
|
10
|
-
|
|
15
|
+
const resolvedFile = path.resolve(file);
|
|
16
|
+
let isFirestoreMatch = false;
|
|
17
|
+
if (hasFirestoreFile) {
|
|
18
|
+
const firestoreResolved = path.resolve(firestoreFile);
|
|
19
|
+
isFirestoreMatch = resolvedFile === firestoreResolved;
|
|
20
|
+
}
|
|
21
|
+
let isDatabaseMatch = false;
|
|
22
|
+
if (hasDatabaseFile) {
|
|
23
|
+
const databaseResolved = path.resolve(databaseFile);
|
|
24
|
+
isDatabaseMatch = resolvedFile === databaseResolved;
|
|
25
|
+
}
|
|
26
|
+
const isNeitherMatch = !isFirestoreMatch && !isDatabaseMatch;
|
|
27
|
+
if (isNeitherMatch) {
|
|
11
28
|
return;
|
|
12
|
-
|
|
29
|
+
}
|
|
30
|
+
const hasDebounce = debounce !== null;
|
|
31
|
+
if (hasDebounce) {
|
|
13
32
|
clearTimeout(debounce);
|
|
33
|
+
}
|
|
14
34
|
debounce = setTimeout(() => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
35
|
+
if (isFirestoreMatch) {
|
|
36
|
+
void session.reloadFirestoreRules().then((result) => {
|
|
37
|
+
const isReloaded = result.kind === 'reloaded';
|
|
38
|
+
if (isReloaded) {
|
|
39
|
+
server.config.logger.info(` ↻ [pyric] rules reloaded (${result.rulesHash})`);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const isRejected = result.kind === 'rejected';
|
|
43
|
+
if (isRejected) {
|
|
44
|
+
server.config.logger.warn(` ⚠ [pyric] rules NOT reloaded (last-good stays live): ${result.error.message}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (isDatabaseMatch) {
|
|
50
|
+
void session.reloadDatabaseRules().then((result) => {
|
|
51
|
+
const isReloaded = result.kind === 'reloaded';
|
|
52
|
+
if (isReloaded) {
|
|
53
|
+
server.config.logger.info(` ↻ [pyric] rtdb rules reloaded (${result.rulesHash})`);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
const isRejected = result.kind === 'rejected';
|
|
57
|
+
if (isRejected) {
|
|
58
|
+
server.config.logger.warn(` ⚠ [pyric] rtdb rules NOT reloaded (last-good stays live): ${result.error.message}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
23
63
|
}, 150);
|
|
24
64
|
};
|
|
25
|
-
|
|
65
|
+
if (hasFirestoreFile) {
|
|
66
|
+
server.watcher.add(firestoreFile);
|
|
67
|
+
}
|
|
68
|
+
if (hasDatabaseFile) {
|
|
69
|
+
server.watcher.add(databaseFile);
|
|
70
|
+
}
|
|
26
71
|
server.watcher.on('change', onRulesChange);
|
|
27
72
|
return () => {
|
|
28
|
-
|
|
73
|
+
const hasDebounce = debounce !== null;
|
|
74
|
+
if (hasDebounce) {
|
|
29
75
|
clearTimeout(debounce);
|
|
76
|
+
}
|
|
30
77
|
server.watcher.off('change', onRulesChange);
|
|
31
78
|
};
|
|
32
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-generation-rules-watch.js","sourceRoot":"","sources":["../../src/serve/vite-generation-rules-watch.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CAAC,KAGxC;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,
|
|
1
|
+
{"version":3,"file":"vite-generation-rules-watch.js","sourceRoot":"","sources":["../../src/serve/vite-generation-rules-watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,9 @@ export interface ViteModuleSwap {
|
|
|
11
11
|
load(id: string): string | null;
|
|
12
12
|
}
|
|
13
13
|
export declare function createViteModuleContext(): ViteModuleContext;
|
|
14
|
+
export interface ViteModuleSwapOptions {
|
|
15
|
+
getAiMode?: () => 'sandbox' | 'production';
|
|
16
|
+
}
|
|
14
17
|
/** Own the Vite and optimizer forms of the Firebase-module swap. */
|
|
15
|
-
export declare function createViteModuleSwap(context: ViteModuleContext): ViteModuleSwap;
|
|
18
|
+
export declare function createViteModuleSwap(context: ViteModuleContext, options?: ViteModuleSwapOptions): ViteModuleSwap;
|
|
16
19
|
//# sourceMappingURL=vite-module-swap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-module-swap.d.ts","sourceRoot":"","sources":["../../src/serve/vite-module-swap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAEL,iBAAiB,EAIlB,MAAM,cAAc,CAAC;AAoBtB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,IAAI,UAAU,CAAC;IACrB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IACvE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAG3D;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"vite-module-swap.d.ts","sourceRoot":"","sources":["../../src/serve/vite-module-swap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAEL,iBAAiB,EAIlB,MAAM,cAAc,CAAC;AAoBtB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,IAAI,UAAU,CAAC;IACrB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IACvE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAG3D;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,SAAS,GAAG,YAAY,CAAC;CAC5C;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,cAAc,CAmKhB"}
|
|
@@ -19,9 +19,10 @@ export function createViteModuleContext() {
|
|
|
19
19
|
return { entries, cliRoot: packageRootOf(entries.init) };
|
|
20
20
|
}
|
|
21
21
|
/** Own the Vite and optimizer forms of the Firebase-module swap. */
|
|
22
|
-
export function createViteModuleSwap(context) {
|
|
22
|
+
export function createViteModuleSwap(context, options) {
|
|
23
23
|
const { entries, cliRoot } = context;
|
|
24
24
|
const pyricRoot = pyricPackageRoot();
|
|
25
|
+
const aiMode = () => options?.getAiMode?.() ?? 'sandbox';
|
|
25
26
|
const isPyricImporter = (importer) => {
|
|
26
27
|
if (!importer)
|
|
27
28
|
return false;
|
|
@@ -41,28 +42,69 @@ export function createViteModuleSwap(context) {
|
|
|
41
42
|
name: 'pyric-sandbox-optimizer',
|
|
42
43
|
setup(build) {
|
|
43
44
|
build.onResolve({ filter: FIREBASE_SPECIFIER }, (args) => {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
const isShadowBridgeImporter = args.importer !== undefined && args.importer !== '' &&
|
|
46
|
+
(args.importer.includes('app-ai-passthrough') || args.importer.includes('app-bridge'));
|
|
47
|
+
const isFirebaseAppSpecifier = args.path === 'firebase/app';
|
|
48
|
+
const isBypassedBridgeImport = isShadowBridgeImporter && isFirebaseAppSpecifier;
|
|
49
|
+
if (isBypassedBridgeImport) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
const match = FIREBASE_SPECIFIER.exec(args.path);
|
|
53
|
+
const subpath = match !== null && match[1] !== undefined ? match[1] : '';
|
|
54
|
+
const isProductionAiMode = aiMode() === 'production';
|
|
55
|
+
if (isProductionAiMode) {
|
|
56
|
+
const isAiSubpath = subpath === 'ai';
|
|
57
|
+
if (isAiSubpath) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
const isAppSubpath = subpath === 'app';
|
|
61
|
+
const passthroughEntry = entries['app-ai-passthrough'];
|
|
62
|
+
const hasPassthroughEntry = passthroughEntry !== undefined;
|
|
63
|
+
const shouldUsePassthroughBridge = isAppSubpath && hasPassthroughEntry;
|
|
64
|
+
if (shouldUsePassthroughBridge) {
|
|
65
|
+
return { path: passthroughEntry };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const isServedSubpath = SERVED_FIREBASE_SUBPATHS.has(subpath);
|
|
69
|
+
if (isServedSubpath) {
|
|
70
|
+
const key = entryKey(subpath);
|
|
71
|
+
const entryPath = entries[key];
|
|
72
|
+
if (entryPath !== undefined) {
|
|
73
|
+
return { path: entryPath };
|
|
74
|
+
}
|
|
47
75
|
}
|
|
48
76
|
return null;
|
|
49
77
|
});
|
|
50
78
|
build.onResolve({ filter: NODE_BUILTIN_RE }, (args) => {
|
|
51
|
-
|
|
79
|
+
const isOwnedImporter = isOurCode(args.importer);
|
|
80
|
+
if (!isOwnedImporter) {
|
|
52
81
|
return null;
|
|
53
|
-
|
|
82
|
+
}
|
|
83
|
+
const shimPath = args.path.replace(/^node:/, '');
|
|
84
|
+
return { path: shimPath, namespace: 'pyric-node-shim' };
|
|
85
|
+
});
|
|
86
|
+
build.onLoad({ filter: /.*/, namespace: 'pyric-node-shim' }, (args) => {
|
|
87
|
+
const content = NODE_BUILTIN_SHIMS[args.path];
|
|
88
|
+
if (content !== undefined) {
|
|
89
|
+
return { contents: content, loader: 'js' };
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
54
92
|
});
|
|
55
|
-
build.onLoad({ filter: /.*/, namespace: 'pyric-node-shim' }, (args) => ({
|
|
56
|
-
contents: NODE_BUILTIN_SHIMS[args.path],
|
|
57
|
-
loader: 'js',
|
|
58
|
-
}));
|
|
59
93
|
},
|
|
60
94
|
};
|
|
61
95
|
return {
|
|
62
96
|
config() {
|
|
97
|
+
const excludedModules = [
|
|
98
|
+
...SDK_MODULES,
|
|
99
|
+
'@firebase/app',
|
|
100
|
+
'@firebase/component',
|
|
101
|
+
'@firebase/ai',
|
|
102
|
+
'@firebase/util',
|
|
103
|
+
'@firebase/logger',
|
|
104
|
+
];
|
|
63
105
|
return {
|
|
64
106
|
optimizeDeps: {
|
|
65
|
-
exclude:
|
|
107
|
+
exclude: excludedModules,
|
|
66
108
|
include: ['js-md5', 'js-sha256'],
|
|
67
109
|
esbuildOptions: { plugins: [optimizerMirror] },
|
|
68
110
|
},
|
|
@@ -70,26 +112,69 @@ export function createViteModuleSwap(context) {
|
|
|
70
112
|
},
|
|
71
113
|
configResolved(config) {
|
|
72
114
|
const allow = config.server?.fs?.allow;
|
|
73
|
-
|
|
115
|
+
const hasAllowList = allow !== undefined && Array.isArray(allow);
|
|
116
|
+
if (!hasAllowList) {
|
|
74
117
|
return;
|
|
118
|
+
}
|
|
75
119
|
for (const dir of [pyricRoot, cliRoot]) {
|
|
76
|
-
|
|
120
|
+
const isAlreadyAllowed = allow.includes(dir);
|
|
121
|
+
if (!isAlreadyAllowed) {
|
|
77
122
|
allow.push(dir);
|
|
123
|
+
}
|
|
78
124
|
}
|
|
79
125
|
},
|
|
80
126
|
resolveId(source, importer) {
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
127
|
+
const isShadowBridgeImporter = importer !== undefined &&
|
|
128
|
+
(importer.includes('app-ai-passthrough') || importer.includes('app-bridge'));
|
|
129
|
+
const isFirebaseAppSpecifier = source === 'firebase/app';
|
|
130
|
+
const isBypassedBridgeImport = isShadowBridgeImporter && isFirebaseAppSpecifier;
|
|
131
|
+
if (isBypassedBridgeImport) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
const firebaseMatch = FIREBASE_SPECIFIER.exec(source);
|
|
135
|
+
const isFirebaseSpecifier = firebaseMatch !== null;
|
|
136
|
+
if (isFirebaseSpecifier) {
|
|
137
|
+
const subpath = firebaseMatch[1] !== undefined ? firebaseMatch[1] : '';
|
|
138
|
+
const isProductionAiMode = aiMode() === 'production';
|
|
139
|
+
if (isProductionAiMode) {
|
|
140
|
+
const isAiSubpath = subpath === 'ai';
|
|
141
|
+
if (isAiSubpath) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
const isAppSubpath = subpath === 'app';
|
|
145
|
+
const passthroughEntry = entries['app-ai-passthrough'];
|
|
146
|
+
const hasPassthroughEntry = passthroughEntry !== undefined;
|
|
147
|
+
const shouldUsePassthroughBridge = isAppSubpath && hasPassthroughEntry;
|
|
148
|
+
if (shouldUsePassthroughBridge) {
|
|
149
|
+
return passthroughEntry;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const isServedSubpath = SERVED_FIREBASE_SUBPATHS.has(subpath);
|
|
153
|
+
if (isServedSubpath) {
|
|
154
|
+
const key = entryKey(subpath);
|
|
155
|
+
const entryPath = entries[key];
|
|
156
|
+
if (entryPath !== undefined) {
|
|
157
|
+
return entryPath;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return null;
|
|
85
161
|
}
|
|
86
|
-
const
|
|
87
|
-
|
|
162
|
+
const nodeMatch = NODE_BUILTIN_RE.exec(source);
|
|
163
|
+
const isNodeBuiltin = nodeMatch !== null && nodeMatch[2] !== undefined;
|
|
164
|
+
const isOwnedImporter = isOurCode(importer);
|
|
165
|
+
const shouldShimNodeBuiltin = isNodeBuiltin && isOwnedImporter;
|
|
166
|
+
if (shouldShimNodeBuiltin) {
|
|
167
|
+
return NODE_SHIM_PREFIX + nodeMatch[2];
|
|
168
|
+
}
|
|
169
|
+
return null;
|
|
88
170
|
},
|
|
89
171
|
load(id) {
|
|
90
|
-
|
|
172
|
+
const isNodeShim = id.startsWith(NODE_SHIM_PREFIX);
|
|
173
|
+
if (!isNodeShim) {
|
|
91
174
|
return null;
|
|
92
|
-
|
|
175
|
+
}
|
|
176
|
+
const specifier = id.slice(NODE_SHIM_PREFIX.length);
|
|
177
|
+
return shimFor(specifier);
|
|
93
178
|
},
|
|
94
179
|
};
|
|
95
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-module-swap.js","sourceRoot":"","sources":["../../src/serve/vite-module-swap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,MAAM,kBAAkB,GAAG,qCAAqC,CAAC;AACjE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CACtC,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CACpE,CAAC;AACF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAcD,MAAM,UAAU,uBAAuB;IACrC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-module-swap.js","sourceRoot":"","sources":["../../src/serve/vite-module-swap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;AAI/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAUvE,MAAM,WAAW,YAAY;IAC3B;;iDAE6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;gEAC4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;qEACiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;iFAC6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;mEAQ+D;IAC/D,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnE;;;;;;sBAMkB;IAClB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;4EAEwE;IACxE,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC;;;;;;;;;;;;;;;;;;;;;2CAqBuC;IACvC,SAAS,CAAC,EAAE,KAAK,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5E;;;;4DAIwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB;AAiCD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,CAsHxD"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { dirname, join, resolve } from 'node:path';
|
|
1
3
|
import { createViteWorkerRuntime } from './vite-worker-runtime.js';
|
|
2
4
|
import { createViteSandboxGeneration, } from './vite-sandbox-generation.js';
|
|
3
5
|
import { createViteModuleContext, createViteModuleSwap } from './vite-module-swap.js';
|
|
@@ -9,6 +11,31 @@ function resolveFunctionsOptions(options) {
|
|
|
9
11
|
return options;
|
|
10
12
|
return {};
|
|
11
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Resolves the Firebase project root directory from Vite's server root. In
|
|
16
|
+
* split-directory or full-stack monorepo layouts where Vite operates inside a
|
|
17
|
+
* subdirectory (e.g. `/web` or `/frontend`) while hosting and security rules
|
|
18
|
+
* configuration (`firebase.json`) resides in an ancestor workspace directory,
|
|
19
|
+
* this ascends to locate the authoritative configuration root.
|
|
20
|
+
*/
|
|
21
|
+
function resolveFirebaseProjectDir(defaultRoot, explicitRoot) {
|
|
22
|
+
const hasExplicitRoot = explicitRoot !== undefined && explicitRoot.length > 0;
|
|
23
|
+
if (hasExplicitRoot)
|
|
24
|
+
return explicitRoot;
|
|
25
|
+
let current = resolve(defaultRoot);
|
|
26
|
+
while (true) {
|
|
27
|
+
const candidateConfig = join(current, 'firebase.json');
|
|
28
|
+
const configExists = existsSync(candidateConfig);
|
|
29
|
+
if (configExists)
|
|
30
|
+
return current;
|
|
31
|
+
const parent = dirname(current);
|
|
32
|
+
const isRootOfFilesystem = parent === current;
|
|
33
|
+
if (isRootOfFilesystem)
|
|
34
|
+
break;
|
|
35
|
+
current = parent;
|
|
36
|
+
}
|
|
37
|
+
return defaultRoot;
|
|
38
|
+
}
|
|
12
39
|
/**
|
|
13
40
|
* The dev-only Vite plugin. Add to `vite.config`:
|
|
14
41
|
*
|
|
@@ -17,7 +44,6 @@ function resolveFunctionsOptions(options) {
|
|
|
17
44
|
*/
|
|
18
45
|
export function pyric(options = {}) {
|
|
19
46
|
const moduleContext = createViteModuleContext();
|
|
20
|
-
const moduleSwap = createViteModuleSwap(moduleContext);
|
|
21
47
|
const { entries, cliRoot } = moduleContext;
|
|
22
48
|
const workerRuntime = createViteWorkerRuntime();
|
|
23
49
|
const studioEnabled = options.ui !== false;
|
|
@@ -28,6 +54,9 @@ export function pyric(options = {}) {
|
|
|
28
54
|
workerRuntime,
|
|
29
55
|
};
|
|
30
56
|
const pageRuntime = createVitePageRuntime(pageRuntimeInput);
|
|
57
|
+
const moduleSwap = createViteModuleSwap(moduleContext, {
|
|
58
|
+
getAiMode: () => pageRuntime.ai().mode,
|
|
59
|
+
});
|
|
31
60
|
// Normalize the public bridge shorthand once. The active generation owns the
|
|
32
61
|
// bridge/session attachment and routes the peer through the SharedWorker.
|
|
33
62
|
const bridgeOpts = options.bridge === true ? {} : options.bridge || null;
|
|
@@ -46,10 +75,21 @@ export function pyric(options = {}) {
|
|
|
46
75
|
},
|
|
47
76
|
enforce: 'pre',
|
|
48
77
|
config(config, env) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
78
|
+
const moduleConfig = moduleSwap.config();
|
|
79
|
+
const pageConfig = pageRuntime.config(config, env);
|
|
80
|
+
const serverWatchConfig = {
|
|
81
|
+
server: {
|
|
82
|
+
watch: {
|
|
83
|
+
ignored: ['**/.pyric/**'],
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
const finalizedConfig = {
|
|
88
|
+
...moduleConfig,
|
|
89
|
+
...pageConfig,
|
|
90
|
+
...serverWatchConfig,
|
|
52
91
|
};
|
|
92
|
+
return finalizedConfig;
|
|
53
93
|
},
|
|
54
94
|
configResolved(resolved) {
|
|
55
95
|
moduleSwap.configResolved(resolved);
|
|
@@ -64,7 +104,7 @@ export function pyric(options = {}) {
|
|
|
64
104
|
const priorGeneration = activeGeneration;
|
|
65
105
|
activeGeneration = null;
|
|
66
106
|
await priorGeneration?.close();
|
|
67
|
-
const projectDir =
|
|
107
|
+
const projectDir = resolveFirebaseProjectDir(server.config.root, options.root);
|
|
68
108
|
const uiEnabled = options.ui ?? true;
|
|
69
109
|
const functionsOptions = resolveFunctionsOptions(options.functions);
|
|
70
110
|
const ai = pageRuntime.ai();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"AAyCA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAO,EACL,2BAA2B,GAI5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAoG/D,SAAS,uBAAuB,CAC9B,OAAkC;IAElC,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"AAyCA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAO,EACL,2BAA2B,GAI5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAoG/D,SAAS,uBAAuB,CAC9B,OAAkC;IAElC,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAAC,WAAmB,EAAE,YAAqB;IAC3E,MAAM,eAAe,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9E,IAAI,eAAe;QAAE,OAAO,YAAsB,CAAC;IACnD,IAAI,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,YAAY;YAAE,OAAO,OAAO,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,kBAAkB,GAAG,MAAM,KAAK,OAAO,CAAC;QAC9C,IAAI,kBAAkB;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,UAAwB,EAAE;IAC9C,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAChD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;IAC3C,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC;IAChD,MAAM,aAAa,GAAG,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC;IAC3C,MAAM,gBAAgB,GAAG;QACvB,OAAO;QACP,aAAa;QACb,SAAS,EAAE,OAAO,CAAC,IAAI;QACvB,aAAa;KACd,CAAC;IACF,MAAM,WAAW,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,EAAE;QACrD,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI;KACvC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;IACzE,IAAI,gBAAgB,GAAiC,IAAI,CAAC;IAE1D,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,uEAAuE;QACvE,6EAA6E;QAC7E,wEAAwE;QACxE,yEAAyE;QACzE,qEAAqE;QACrE,iCAAiC;QACjC,KAAK,CAAC,MAAM,EAAE,GAAG;YACf,KAAK,MAAM,CAAC;YACZ,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,EAAE,KAAK;QAEd,MAAM,CAAC,MAAM,EAAE,GAAG;YAChB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACnD,MAAM,iBAAiB,GAAe;gBACpC,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,OAAO,EAAE,CAAC,cAAc,CAAC;qBAC1B;iBACF;aACF,CAAC;YACF,MAAM,eAAe,GAAe;gBAClC,GAAG,YAAY;gBACf,GAAG,UAAU;gBACb,GAAG,iBAAiB;aACrB,CAAC;YACF,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,cAAc,CAAC,QAAQ;YACrB,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,SAAS,CAAC,MAAM,EAAE,QAAQ;YACxB,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,EAAE;YACL,OAAO,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,MAAM;YAC1B,MAAM,eAAe,GAAG,gBAAgB,CAAC;YACzC,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC;YAE/B,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC;YACrC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,iBAAiB,GAAiC;gBACtD,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,UAAU;gBAClB,EAAE,EAAE,SAAS;gBACb,SAAS,EAAE,gBAAgB;aAC5B,CAAC;YACF,MAAM,eAAe,GAA+B;gBAClD,MAAM;gBACN,UAAU;gBACV,OAAO;gBACP,aAAa;gBACb,OAAO,EAAE,iBAAiB;gBAC1B,EAAE;aACH,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,eAAe,CAAC,CAAC;YACtE,gBAAgB,GAAG,UAAU,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,UAAU,GAAG,gBAAgB,CAAC;YACpC,gBAAgB,GAAG,IAAI,CAAC;YACxB,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,6EAA6E;QAC7E,oEAAoE;QACpE,6EAA6E;QAC7E,4EAA4E;QAC5E,6DAA6D;QAC7D,UAAU;YACR,WAAW,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc;YACZ,WAAW,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,kBAAkB,CAAC,IAAI;YACrB,OAAO,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -63,7 +63,7 @@ export async function createViteSandboxGeneration(input, dependencyOverrides = {
|
|
|
63
63
|
}
|
|
64
64
|
const rulesConfig = dependencies.resolveRulesConfig(cwd, options.rules, firebaseConfig);
|
|
65
65
|
try {
|
|
66
|
-
const epochSalt = viteWorkerEpochSalt(cwd, ai.engineWire);
|
|
66
|
+
const epochSalt = viteWorkerEpochSalt(cwd, ai.engineWire, ai.mode);
|
|
67
67
|
await dependencies.prepareWorker(workerRuntime, epochSalt);
|
|
68
68
|
}
|
|
69
69
|
catch (error) {
|