@pyric/cli 0.1.0-alpha.11 → 0.1.0-alpha.13

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.
Files changed (424) hide show
  1. package/dist/cli/serve.js +4 -4
  2. package/dist/cli/serve.js.map +1 -1
  3. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
  4. package/dist/conformance/.generated/can-i-use-browser.js +1 -1
  5. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
  6. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  7. package/dist/conformance/.generated/can-i-use.js +2 -2
  8. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  9. package/dist/serve/bundler.d.ts +13 -8
  10. package/dist/serve/bundler.d.ts.map +1 -1
  11. package/dist/serve/bundler.js +31 -36
  12. package/dist/serve/bundler.js.map +1 -1
  13. package/dist/serve/docs-ui/docs/_rhythm/index.html +1 -1
  14. package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +1 -1
  15. package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +1 -1
  16. package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +1 -1
  17. package/dist/serve/docs-ui/docs/ai-compat/index.html +1 -1
  18. package/dist/serve/docs-ui/docs/api-reference/index.html +2 -2
  19. package/dist/serve/docs-ui/docs/api-reference.md +1 -1
  20. package/dist/serve/docs-ui/docs/app-compat/index.html +1 -1
  21. package/dist/serve/docs-ui/docs/auth-compat/index.html +1 -1
  22. package/dist/serve/docs-ui/docs/build/ai-logic/index.html +44 -22
  23. package/dist/serve/docs-ui/docs/build/ai-logic.md +69 -21
  24. package/dist/serve/docs-ui/docs/build/authentication/index.html +1 -1
  25. package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +1 -1
  26. package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +1 -1
  27. package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +1 -1
  28. package/dist/serve/docs-ui/docs/build/realtime-database/index.html +1 -1
  29. package/dist/serve/docs-ui/docs/conformance-scores/index.html +1 -1
  30. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +1 -1
  31. package/dist/serve/docs-ui/docs/database-compat/index.html +1 -1
  32. package/dist/serve/docs-ui/docs/firestore-compat/index.html +1 -1
  33. package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +1 -1
  34. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +2 -1
  35. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works.md +2 -0
  36. package/dist/serve/docs-ui/docs/get-started/start-building/index.html +3 -2
  37. package/dist/serve/docs-ui/docs/get-started/start-building.md +3 -1
  38. package/dist/serve/docs-ui/docs/index.json +349 -29
  39. package/dist/serve/docs-ui/docs/messaging-compat/index.html +1 -1
  40. package/dist/serve/docs-ui/docs/observe/resolve-runtime-status/index.html +28 -0
  41. package/dist/serve/docs-ui/docs/observe/resolve-runtime-status.md +47 -0
  42. package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +1 -1
  43. package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +1 -1
  44. package/dist/serve/docs-ui/docs/overview/index.html +1 -1
  45. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +1 -1
  46. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
  47. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +1 -1
  48. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +1 -1
  49. package/dist/serve/docs-ui/docs/pyric-admin-messaging-reference-api/index.html +916 -0
  50. package/dist/serve/docs-ui/docs/pyric-admin-messaging-reference-api.md +706 -0
  51. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +1 -1
  52. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +1 -1
  53. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
  54. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +1 -1
  55. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +1 -1
  56. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
  57. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
  58. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
  59. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
  60. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
  61. package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
  62. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
  63. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
  64. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
  65. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
  66. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
  67. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +168 -76
  68. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +156 -73
  69. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
  70. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +11 -8
  71. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +17 -4
  72. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1 -1
  73. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +1 -1
  74. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +1 -1
  75. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
  76. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +1 -1
  77. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +1 -1
  78. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
  79. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +37 -14
  80. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +28 -8
  81. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +1 -1
  82. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
  83. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
  84. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
  85. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
  86. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
  87. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
  88. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
  89. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
  90. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
  91. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
  92. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
  93. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
  94. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +1 -1
  95. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
  96. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
  97. package/dist/serve/docs-ui/docs/rules-compat/index.html +1 -1
  98. package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +1 -1
  99. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +1 -1
  100. package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +1 -1
  101. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
  102. package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +1 -1
  103. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +1 -1
  104. package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +1 -1
  105. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
  106. package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +1 -1
  107. package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +1 -1
  108. package/dist/serve/docs-ui/docs/storage-compat/index.html +1 -1
  109. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
  110. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
  111. package/dist/serve/docs-ui/docs/tutorial/index.html +429 -0
  112. package/dist/serve/docs-ui/docs/tutorial.md +701 -0
  113. package/dist/serve/docs-ui/llms.txt +3 -1
  114. package/dist/serve/entries/init.d.ts.map +1 -1
  115. package/dist/serve/entries/init.js +3 -0
  116. package/dist/serve/entries/init.js.map +1 -1
  117. package/dist/serve/entries/runtime.d.ts.map +1 -1
  118. package/dist/serve/entries/runtime.js +20 -5
  119. package/dist/serve/entries/runtime.js.map +1 -1
  120. package/dist/serve/entries/worker-runtime.d.ts +2 -2
  121. package/dist/serve/entries/worker-runtime.d.ts.map +1 -1
  122. package/dist/serve/entries/worker-runtime.js +45 -10
  123. package/dist/serve/entries/worker-runtime.js.map +1 -1
  124. package/dist/serve/runtime/chip-config.d.ts +19 -0
  125. package/dist/serve/runtime/chip-config.d.ts.map +1 -0
  126. package/dist/serve/runtime/chip-config.js +19 -0
  127. package/dist/serve/runtime/chip-config.js.map +1 -0
  128. package/dist/serve/runtime/chip-install.d.ts +10 -0
  129. package/dist/serve/runtime/chip-install.d.ts.map +1 -0
  130. package/dist/serve/runtime/chip-install.js +15 -0
  131. package/dist/serve/runtime/chip-install.js.map +1 -0
  132. package/dist/serve/runtime/chip.d.ts +17 -0
  133. package/dist/serve/runtime/chip.d.ts.map +1 -0
  134. package/dist/serve/runtime/chip.js +257 -0
  135. package/dist/serve/runtime/chip.js.map +1 -0
  136. package/dist/serve/runtime/manifest.d.ts +22 -0
  137. package/dist/serve/runtime/manifest.d.ts.map +1 -0
  138. package/dist/serve/runtime/manifest.js +20 -0
  139. package/dist/serve/runtime/manifest.js.map +1 -0
  140. package/dist/serve/runtime/status.d.ts +49 -0
  141. package/dist/serve/runtime/status.d.ts.map +1 -0
  142. package/dist/serve/runtime/status.js +164 -0
  143. package/dist/serve/runtime/status.js.map +1 -0
  144. package/dist/serve/runtime/worker-connection.d.ts +4 -0
  145. package/dist/serve/runtime/worker-connection.d.ts.map +1 -0
  146. package/dist/serve/runtime/worker-connection.js +11 -0
  147. package/dist/serve/runtime/worker-connection.js.map +1 -0
  148. package/dist/serve/runtime/worker-generation.d.ts +14 -0
  149. package/dist/serve/runtime/worker-generation.d.ts.map +1 -0
  150. package/dist/serve/runtime/worker-generation.js +56 -0
  151. package/dist/serve/runtime/worker-generation.js.map +1 -0
  152. package/dist/serve/runtime/worker-replacement.d.ts +18 -0
  153. package/dist/serve/runtime/worker-replacement.d.ts.map +1 -0
  154. package/dist/serve/runtime/worker-replacement.js +29 -0
  155. package/dist/serve/runtime/worker-replacement.js.map +1 -0
  156. package/dist/serve/standalone-assets.d.ts +2 -2
  157. package/dist/serve/standalone-assets.d.ts.map +1 -1
  158. package/dist/serve/standalone-assets.js +1 -1
  159. package/dist/serve/standalone-assets.js.map +1 -1
  160. package/dist/serve/studio-ui/assets/{RulesCodeEditor-CxVYcZXw.js → RulesCodeEditor-BDlH-5lp.js} +1 -1
  161. package/dist/serve/studio-ui/assets/{index-cpSfgQ7H.js → index-Bf9SSE8L.js} +5 -5
  162. package/dist/serve/studio-ui/assets/{seed-DeuFKi4J.js → seed-D_UjxfOU.js} +1 -1
  163. package/dist/serve/studio-ui/index.html +1 -1
  164. package/dist/serve/vite-ai-config.d.ts +25 -0
  165. package/dist/serve/vite-ai-config.d.ts.map +1 -0
  166. package/dist/serve/vite-ai-config.js +45 -0
  167. package/dist/serve/vite-ai-config.js.map +1 -0
  168. package/dist/serve/vite-plugin.d.ts +17 -36
  169. package/dist/serve/vite-plugin.d.ts.map +1 -1
  170. package/dist/serve/vite-plugin.js +38 -57
  171. package/dist/serve/vite-plugin.js.map +1 -1
  172. package/dist/serve/vite-rules-source.d.ts +8 -0
  173. package/dist/serve/vite-rules-source.d.ts.map +1 -0
  174. package/dist/serve/vite-rules-source.js +23 -0
  175. package/dist/serve/vite-rules-source.js.map +1 -0
  176. package/dist/serve/vite-worker-runtime.d.ts +20 -0
  177. package/dist/serve/vite-worker-runtime.d.ts.map +1 -0
  178. package/dist/serve/vite-worker-runtime.js +25 -0
  179. package/dist/serve/vite-worker-runtime.js.map +1 -0
  180. package/dist/serve/worker/client/connection.d.ts +7 -2
  181. package/dist/serve/worker/client/connection.d.ts.map +1 -1
  182. package/dist/serve/worker/client/connection.js +13 -16
  183. package/dist/serve/worker/client/connection.js.map +1 -1
  184. package/dist/serve/worker/client/core.d.ts +7 -0
  185. package/dist/serve/worker/client/core.d.ts.map +1 -1
  186. package/dist/serve/worker/client/core.js +28 -0
  187. package/dist/serve/worker/client/core.js.map +1 -1
  188. package/dist/serve/worker/client/runtime-control.d.ts +8 -0
  189. package/dist/serve/worker/client/runtime-control.d.ts.map +1 -0
  190. package/dist/serve/worker/client/runtime-control.js +11 -0
  191. package/dist/serve/worker/client/runtime-control.js.map +1 -0
  192. package/dist/serve/worker/entry.js +44 -2
  193. package/dist/serve/worker/entry.js.map +1 -1
  194. package/dist/serve/worker/host/core.js +1 -1
  195. package/dist/serve/worker/host/core.js.map +1 -1
  196. package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -1
  197. package/dist/serve/worker/host/firestore-writes.js +3 -2
  198. package/dist/serve/worker/host/firestore-writes.js.map +1 -1
  199. package/dist/serve/worker/host/studio.js +1 -1
  200. package/dist/serve/worker/host/studio.js.map +1 -1
  201. package/dist/serve/worker/host-context.d.ts +1 -1
  202. package/dist/serve/worker/host-context.d.ts.map +1 -1
  203. package/dist/serve/worker/index.d.ts +2 -1
  204. package/dist/serve/worker/index.d.ts.map +1 -1
  205. package/dist/serve/worker/index.js +2 -1
  206. package/dist/serve/worker/index.js.map +1 -1
  207. package/dist/serve/worker/protocol.d.ts +15 -1
  208. package/dist/serve/worker/protocol.d.ts.map +1 -1
  209. package/dist/serve/worker/protocol.js +2 -2
  210. package/dist/serve/worker/protocol.js.map +1 -1
  211. package/dist/serve/worker/retirement.d.ts +21 -0
  212. package/dist/serve/worker/retirement.d.ts.map +1 -0
  213. package/dist/serve/worker/retirement.js +97 -0
  214. package/dist/serve/worker/retirement.js.map +1 -0
  215. package/dist/serve/worker/serve-init.d.ts.map +1 -1
  216. package/dist/serve/worker/serve-init.js +5 -6
  217. package/dist/serve/worker/serve-init.js.map +1 -1
  218. package/dist/vite.d.ts +1 -0
  219. package/dist/vite.d.ts.map +1 -1
  220. package/dist/vite.js.map +1 -1
  221. package/package.json +6 -4
  222. package/src/assurance/.generated/conformance-verdicts.ts +1090 -0
  223. package/src/assurance/attachment.ts +211 -0
  224. package/src/assurance/browser.ts +80 -0
  225. package/src/assurance/campaign.ts +496 -0
  226. package/src/assurance/capabilities.ts +446 -0
  227. package/src/assurance/cases.ts +43 -0
  228. package/src/assurance/index.ts +75 -0
  229. package/src/assurance/runner.ts +885 -0
  230. package/src/assurance/tool-names.ts +15 -0
  231. package/src/assurance/tools.ts +830 -0
  232. package/src/assurance/types.ts +352 -0
  233. package/src/assurance/validation.ts +434 -0
  234. package/src/bridge/client/bridge.ts +550 -0
  235. package/src/bridge/client/dispatch.ts +137 -0
  236. package/src/bridge/client.ts +45 -0
  237. package/src/bridge/protocol.ts +351 -0
  238. package/src/bridge/server/audit.ts +53 -0
  239. package/src/bridge/server/bridge.ts +597 -0
  240. package/src/bridge/server/headless.ts +160 -0
  241. package/src/bridge/server/json-schema-to-zod.ts +108 -0
  242. package/src/bridge/server/local-bridge.ts +66 -0
  243. package/src/bridge/server/logger.ts +50 -0
  244. package/src/bridge/server/mcp-contract.ts +93 -0
  245. package/src/bridge/server/mcp.ts +129 -0
  246. package/src/bridge/server/peer.ts +232 -0
  247. package/src/bridge/server/standalone.ts +347 -0
  248. package/src/bridge/server/tool-metadata.ts +99 -0
  249. package/src/bridge/server.ts +28 -0
  250. package/src/cli/can-i-use.ts +50 -0
  251. package/src/cli/cli.test.ts +493 -0
  252. package/src/cli/database-rules.ts +329 -0
  253. package/src/cli/dev-runner.ts +282 -0
  254. package/src/cli/firebase-json.ts +100 -0
  255. package/src/cli/firestore-indexes.ts +70 -0
  256. package/src/cli/index.ts +425 -0
  257. package/src/cli/init.ts +260 -0
  258. package/src/cli/mcp-proxy.ts +196 -0
  259. package/src/cli/parse-args.ts +80 -0
  260. package/src/cli/rules.ts +259 -0
  261. package/src/cli/scope.ts +67 -0
  262. package/src/cli/serve.ts +996 -0
  263. package/src/cli/service-commands.ts +73 -0
  264. package/src/cli/snapshot.ts +164 -0
  265. package/src/cli/storage-rules.ts +172 -0
  266. package/src/cli/verify.ts +416 -0
  267. package/src/conformance/.generated/can-i-use-browser.ts +113 -0
  268. package/src/conformance/.generated/can-i-use.ts +117 -0
  269. package/src/conformance/.generated/conformance-docs.ts +14 -0
  270. package/src/conformance/browser.ts +24 -0
  271. package/src/conformance/can-i-use-tool.ts +51 -0
  272. package/src/conformance/can-i-use.ts +18 -0
  273. package/src/conformance/docs.ts +8 -0
  274. package/src/conformance/index.ts +20 -0
  275. package/src/conformance/tools.ts +16 -0
  276. package/src/credentials/core/memoize-ttl.ts +142 -0
  277. package/src/credentials/core/types.ts +10 -0
  278. package/src/credentials/node/from-adc.ts +96 -0
  279. package/src/credentials/node/from-service-account.ts +133 -0
  280. package/src/credentials/node/index.ts +6 -0
  281. package/src/discover/concurrency.ts +127 -0
  282. package/src/discover/crawler-adapter.ts +142 -0
  283. package/src/discover/crawler.ts +1127 -0
  284. package/src/discover/credential-free.ts +27 -0
  285. package/src/discover/findCollectionGroup.ts +131 -0
  286. package/src/discover/firestore-source.ts +59 -0
  287. package/src/discover/index.ts +5 -0
  288. package/src/discover/merge.ts +523 -0
  289. package/src/discover/session.ts +402 -0
  290. package/src/discover/tools.ts +201 -0
  291. package/src/discover/types.ts +187 -0
  292. package/src/discover/wire.ts +324 -0
  293. package/src/functions-rtdb/child.ts +382 -0
  294. package/src/functions-rtdb/delivery.ts +7 -0
  295. package/src/functions-rtdb/discovery.ts +136 -0
  296. package/src/functions-rtdb/event.ts +64 -0
  297. package/src/functions-rtdb/execution.ts +111 -0
  298. package/src/functions-rtdb/in-memory-delivery.ts +40 -0
  299. package/src/functions-rtdb/project.ts +74 -0
  300. package/src/functions-rtdb/projection.ts +104 -0
  301. package/src/functions-rtdb/reference-pattern.ts +20 -0
  302. package/src/functions-rtdb/remote-delivery.ts +23 -0
  303. package/src/pkg-version.ts +49 -0
  304. package/src/register/esm-exports.ts +63 -0
  305. package/src/register/hooks.ts +30 -0
  306. package/src/register/index.ts +150 -0
  307. package/src/register/mapping.ts +33 -0
  308. package/src/remote/index.ts +1050 -0
  309. package/src/rtdb/crawl-snapshot.ts +118 -0
  310. package/src/rtdb/inspection.ts +137 -0
  311. package/src/rtdb/load-rules-document.ts +56 -0
  312. package/src/rtdb/rules-generation-tool.ts +38 -0
  313. package/src/rtdb/rules-json.ts +29 -0
  314. package/src/serve/activity-guard.ts +29 -0
  315. package/src/serve/activity-route.ts +164 -0
  316. package/src/serve/activity-warning.ts +26 -0
  317. package/src/serve/bridge-mount.ts +200 -0
  318. package/src/serve/bundler.ts +519 -0
  319. package/src/serve/capture-store.ts +65 -0
  320. package/src/serve/discovery.ts +199 -0
  321. package/src/serve/entries/ai.ts +292 -0
  322. package/src/serve/entries/app-backend.ts +4 -0
  323. package/src/serve/entries/app-client.ts +26 -0
  324. package/src/serve/entries/app-session-store.ts +47 -0
  325. package/src/serve/entries/app.ts +11 -0
  326. package/src/serve/entries/auth-helper-core.ts +181 -0
  327. package/src/serve/entries/auth-helper-dom.ts +134 -0
  328. package/src/serve/entries/auth-helper-runtime.ts +20 -0
  329. package/src/serve/entries/auth.ts +255 -0
  330. package/src/serve/entries/bridge-url.ts +31 -0
  331. package/src/serve/entries/database.ts +129 -0
  332. package/src/serve/entries/firestore.ts +232 -0
  333. package/src/serve/entries/init.ts +49 -0
  334. package/src/serve/entries/keepalive.ts +46 -0
  335. package/src/serve/entries/messaging-sw.ts +75 -0
  336. package/src/serve/entries/messaging.ts +96 -0
  337. package/src/serve/entries/runtime.ts +556 -0
  338. package/src/serve/entries/session-store.ts +97 -0
  339. package/src/serve/entries/storage.ts +92 -0
  340. package/src/serve/entries/tab-sync-wiring.ts +274 -0
  341. package/src/serve/entries/worker-runtime.ts +135 -0
  342. package/src/serve/init-payload.ts +42 -0
  343. package/src/serve/namespace.ts +675 -0
  344. package/src/serve/open-browser.ts +68 -0
  345. package/src/serve/rules.ts +272 -0
  346. package/src/serve/runtime/chip-config.ts +30 -0
  347. package/src/serve/runtime/chip-install.ts +27 -0
  348. package/src/serve/runtime/chip.ts +282 -0
  349. package/src/serve/runtime/manifest.ts +37 -0
  350. package/src/serve/runtime/status.ts +216 -0
  351. package/src/serve/runtime/worker-connection.ts +14 -0
  352. package/src/serve/runtime/worker-generation.ts +75 -0
  353. package/src/serve/runtime/worker-replacement.ts +42 -0
  354. package/src/serve/sandbox-marker.ts +31 -0
  355. package/src/serve/server.ts +428 -0
  356. package/src/serve/standalone-assets.ts +180 -0
  357. package/src/serve/state-store.ts +166 -0
  358. package/src/serve/studio/disk-project-store.ts +185 -0
  359. package/src/serve/studio/disk-workspace.ts +162 -0
  360. package/src/serve/studio/index.ts +20 -0
  361. package/src/serve/studio/routes.ts +237 -0
  362. package/src/serve/studio/store-types.ts +48 -0
  363. package/src/serve/studio/studio-storage.test.ts +289 -0
  364. package/src/serve/vite-ai-config.ts +77 -0
  365. package/src/serve/vite-plugin.ts +1075 -0
  366. package/src/serve/vite-rules-source.ts +28 -0
  367. package/src/serve/vite-worker-runtime.ts +51 -0
  368. package/src/serve/worker/activity-bootstrap.ts +24 -0
  369. package/src/serve/worker/client/admin-firestore.ts +38 -0
  370. package/src/serve/worker/client/ai.ts +124 -0
  371. package/src/serve/worker/client/auth.ts +489 -0
  372. package/src/serve/worker/client/connection.ts +227 -0
  373. package/src/serve/worker/client/core.ts +384 -0
  374. package/src/serve/worker/client/disconnect.ts +45 -0
  375. package/src/serve/worker/client/firestore-reads.ts +181 -0
  376. package/src/serve/worker/client/firestore-refs.ts +226 -0
  377. package/src/serve/worker/client/firestore-writes.ts +232 -0
  378. package/src/serve/worker/client/handles.ts +91 -0
  379. package/src/serve/worker/client/messaging.ts +119 -0
  380. package/src/serve/worker/client/presence.ts +174 -0
  381. package/src/serve/worker/client/rtdb.ts +311 -0
  382. package/src/serve/worker/client/rules.ts +63 -0
  383. package/src/serve/worker/client/runtime-control.ts +22 -0
  384. package/src/serve/worker/client/service-worker-connection.ts +59 -0
  385. package/src/serve/worker/client/snapshots.ts +86 -0
  386. package/src/serve/worker/client/storage.ts +195 -0
  387. package/src/serve/worker/client/studio.ts +88 -0
  388. package/src/serve/worker/client.ts +57 -0
  389. package/src/serve/worker/durable-persistence.ts +137 -0
  390. package/src/serve/worker/entry.ts +223 -0
  391. package/src/serve/worker/host/admin-firestore.ts +88 -0
  392. package/src/serve/worker/host/connection.ts +179 -0
  393. package/src/serve/worker/host/core.ts +387 -0
  394. package/src/serve/worker/host/dispatch.ts +316 -0
  395. package/src/serve/worker/host/firestore-reads.ts +117 -0
  396. package/src/serve/worker/host/firestore-writes.ts +456 -0
  397. package/src/serve/worker/host/presence.ts +312 -0
  398. package/src/serve/worker/host/rtdb.ts +136 -0
  399. package/src/serve/worker/host/rules.ts +128 -0
  400. package/src/serve/worker/host/storage.ts +312 -0
  401. package/src/serve/worker/host/studio.ts +75 -0
  402. package/src/serve/worker/host/subscriptions.ts +238 -0
  403. package/src/serve/worker/host-ai.ts +165 -0
  404. package/src/serve/worker/host-auth.ts +469 -0
  405. package/src/serve/worker/host-context.ts +273 -0
  406. package/src/serve/worker/host-events.ts +94 -0
  407. package/src/serve/worker/host-messaging.ts +240 -0
  408. package/src/serve/worker/host.ts +47 -0
  409. package/src/serve/worker/index.ts +196 -0
  410. package/src/serve/worker/presence-timing.ts +15 -0
  411. package/src/serve/worker/protocol.ts +1124 -0
  412. package/src/serve/worker/retirement.ts +125 -0
  413. package/src/serve/worker/serve-init.ts +605 -0
  414. package/src/serve/worker/service-worker-channel.ts +33 -0
  415. package/src/serve/worker/service-worker-relay.ts +86 -0
  416. package/src/serve/writer-lock.ts +53 -0
  417. package/src/verify/cases.ts +233 -0
  418. package/src/verify/fixture.ts +258 -0
  419. package/src/verify/index.ts +519 -0
  420. package/src/verify/tools.ts +108 -0
  421. package/src/version/compat-target.ts +17 -0
  422. package/src/vite.ts +18 -0
  423. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +0 -31
  424. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +0 -29
@@ -1,4 +1,4 @@
1
- import{s as f,a as o,b as d,d as s,G as h,c as n,e as w,f as A,u as m,r as p,T as g}from"./index-cpSfgQ7H.js";async function y(a){n.createUser(a,{uid:"alice",email:"alice@gmail.com",displayName:"Alice Nguyen",emailVerified:!0,photoUrl:"https://lh3.googleusercontent.com/a/alice",providerUserInfo:[{providerId:"google.com"}],customClaims:{plan:"pro"}}),n.createUser(a,{uid:"bob",email:"bob@example.com",password:"pyric-demo",displayName:"Bob Carter",emailVerified:!0,customClaims:{role:"editor"}}),n.createUser(a,{uid:"carol",email:"carol@example.com",displayName:"Carol Diaz",emailVerified:!1}),await w(a),await A(a)}const b=new h(37.7749,-122.4194);async function C(a){const r=Date.now(),i=e=>g.fromMillis(r-e*6e4),l=[{id:"alice",name:"Alice Nguyen",email:"alice@gmail.com",plan:"pro"},{id:"bob",name:"Bob Carter",email:"bob@example.com",plan:"free"},{id:"carol",name:"Carol Diaz",email:"carol@example.com",plan:"free"}];for(const e of l)await o(s(a,"users",e.id),{name:e.name,email:e.email,plan:e.plan,createdAt:d()});const t=["alice","bob","carol"],c=["Ship the redesign","Reply to carol","Buy milk","Draft the launch post","Review the rules","Plan offsite","Renew the domain","Read the spec","Fix the flaky test","Call the bank","Water the plants","Book the flights"];for(let e=0;e<c.length;e++){const u=t[e%t.length];await o(s(a,"notes",`note-${String(e+1).padStart(2,"0")}`),{title:c[e],done:e%3===0,pinned:e===0,priority:e%3+1,ownerId:u,ownerRef:`users/${u}`,tags:e%2===0?["work","urgent"]:["personal"],meta:{source:e%2===0?"app":"import",revision:e+1,flags:{starred:e%4===0,archived:!1}},location:e%3===0?b:null,createdAt:i(120-e*7),updatedAt:d()})}await o(s(a,"posts","post-hello"),{title:"Hello world",body:"First post from the seeded sandbox.",authorRef:"users/alice",published:!0,publishedAt:i(8)}),await o(s(a,"posts","post-draft"),{title:"Draft: roadmap",body:"Unpublished draft.",authorRef:"users/bob",published:!1})}async function R(a){const r=new TextEncoder,l=Uint8Array.from(atob("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="),t=>t.charCodeAt(0));await m(p(a,"avatars/alice.png"),l,{contentType:"image/png"}),await m(p(a,"notes/note-01/attachment.txt"),r.encode(`Attachment for the redesign note.
1
+ import{s as f,a as o,b as d,d as s,G as h,c as n,e as w,f as A,u as m,r as p,T as g}from"./index-Bf9SSE8L.js";async function y(a){n.createUser(a,{uid:"alice",email:"alice@gmail.com",displayName:"Alice Nguyen",emailVerified:!0,photoUrl:"https://lh3.googleusercontent.com/a/alice",providerUserInfo:[{providerId:"google.com"}],customClaims:{plan:"pro"}}),n.createUser(a,{uid:"bob",email:"bob@example.com",password:"pyric-demo",displayName:"Bob Carter",emailVerified:!0,customClaims:{role:"editor"}}),n.createUser(a,{uid:"carol",email:"carol@example.com",displayName:"Carol Diaz",emailVerified:!1}),await w(a),await A(a)}const b=new h(37.7749,-122.4194);async function C(a){const r=Date.now(),i=e=>g.fromMillis(r-e*6e4),l=[{id:"alice",name:"Alice Nguyen",email:"alice@gmail.com",plan:"pro"},{id:"bob",name:"Bob Carter",email:"bob@example.com",plan:"free"},{id:"carol",name:"Carol Diaz",email:"carol@example.com",plan:"free"}];for(const e of l)await o(s(a,"users",e.id),{name:e.name,email:e.email,plan:e.plan,createdAt:d()});const t=["alice","bob","carol"],c=["Ship the redesign","Reply to carol","Buy milk","Draft the launch post","Review the rules","Plan offsite","Renew the domain","Read the spec","Fix the flaky test","Call the bank","Water the plants","Book the flights"];for(let e=0;e<c.length;e++){const u=t[e%t.length];await o(s(a,"notes",`note-${String(e+1).padStart(2,"0")}`),{title:c[e],done:e%3===0,pinned:e===0,priority:e%3+1,ownerId:u,ownerRef:`users/${u}`,tags:e%2===0?["work","urgent"]:["personal"],meta:{source:e%2===0?"app":"import",revision:e+1,flags:{starred:e%4===0,archived:!1}},location:e%3===0?b:null,createdAt:i(120-e*7),updatedAt:d()})}await o(s(a,"posts","post-hello"),{title:"Hello world",body:"First post from the seeded sandbox.",authorRef:"users/alice",published:!0,publishedAt:i(8)}),await o(s(a,"posts","post-draft"),{title:"Draft: roadmap",body:"Unpublished draft.",authorRef:"users/bob",published:!1})}async function R(a){const r=new TextEncoder,l=Uint8Array.from(atob("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="),t=>t.charCodeAt(0));await m(p(a,"avatars/alice.png"),l,{contentType:"image/png"}),await m(p(a,"notes/note-01/attachment.txt"),r.encode(`Attachment for the redesign note.
2
2
  `),{contentType:"text/plain"})}const x=`rules_version = '2';
3
3
  service cloud.firestore {
4
4
  match /databases/{database}/documents {
@@ -23,7 +23,7 @@
23
23
  href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap"
24
24
  rel="stylesheet"
25
25
  />
26
- <script type="module" crossorigin src="/__pyric/ui/assets/index-cpSfgQ7H.js"></script>
26
+ <script type="module" crossorigin src="/__pyric/ui/assets/index-Bf9SSE8L.js"></script>
27
27
  <link rel="stylesheet" crossorigin href="/__pyric/ui/assets/index-BlSGru_r.css">
28
28
  </head>
29
29
  <body>
@@ -0,0 +1,25 @@
1
+ import type { AIOptions } from 'pyric/ai';
2
+ import type { AiEngineConfigWire } from './worker/protocol.js';
3
+ /** Declarative AI engines that can cross Vite's page/SharedWorker boundary. */
4
+ export type PyricAiEngineConfig = Extract<NonNullable<AIOptions['engine']>, {
5
+ kind: string;
6
+ }>;
7
+ export interface PyricAiOptions {
8
+ /** Simple OpenAI-compatible model selection through Pyric's same-origin proxy. */
9
+ model?: string;
10
+ /** Advanced declarative engine configuration. */
11
+ engine?: PyricAiEngineConfig;
12
+ /** OpenAI-compatible upstream used by the same-origin proxy. */
13
+ proxyUpstream?: string;
14
+ }
15
+ export interface ResolvedViteAiConfig {
16
+ engineWire: AiEngineConfigWire | undefined;
17
+ proxyUpstream: string | undefined;
18
+ }
19
+ /** Load env using Vite's `envDir`-relative-to-root convention. */
20
+ export declare function loadViteAiEnv(mode: string, root: string | undefined, envDir: string | undefined): Record<string, string>;
21
+ /** Convert a public declarative engine into the JSON-safe worker wire shape. */
22
+ export declare function engineConfigToWire(engine: PyricAiEngineConfig): AiEngineConfigWire;
23
+ /** Resolve the plugin's explicit-options-over-Vite-env AI convention. */
24
+ export declare function resolveViteAiConfig(options: PyricAiOptions | undefined, env: Record<string, string | undefined>): ResolvedViteAiConfig;
25
+ //# sourceMappingURL=vite-ai-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-ai-config.d.ts","sourceRoot":"","sources":["../../src/serve/vite-ai-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI/D,+EAA+E;AAC/E,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9F,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,kBAAkB,CAelF;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,oBAAoB,CAiBtB"}
@@ -0,0 +1,45 @@
1
+ import path from 'node:path';
2
+ import { loadEnv } from 'vite';
3
+ const AI_PROXY_PATH = '/__pyric/ai-proxy';
4
+ /** Load env using Vite's `envDir`-relative-to-root convention. */
5
+ export function loadViteAiEnv(mode, root, envDir) {
6
+ const resolvedRoot = path.resolve(root ?? process.cwd());
7
+ const resolvedEnvDir = envDir === undefined
8
+ ? resolvedRoot
9
+ : path.resolve(resolvedRoot, envDir);
10
+ return loadEnv(mode, resolvedEnvDir, '');
11
+ }
12
+ /** Convert a public declarative engine into the JSON-safe worker wire shape. */
13
+ export function engineConfigToWire(engine) {
14
+ if (engine.kind === 'openai') {
15
+ return {
16
+ kind: 'openai',
17
+ baseUrl: engine.baseUrl ?? AI_PROXY_PATH,
18
+ ...(engine.model !== undefined ? { model: engine.model } : {}),
19
+ ...(engine.modelMap !== undefined ? { modelMap: engine.modelMap } : {}),
20
+ };
21
+ }
22
+ return {
23
+ kind: 'scripted',
24
+ ...(engine.script !== undefined
25
+ ? { script: engine.script }
26
+ : {}),
27
+ };
28
+ }
29
+ /** Resolve the plugin's explicit-options-over-Vite-env AI convention. */
30
+ export function resolveViteAiConfig(options, env) {
31
+ if (options?.model !== undefined && options.engine !== undefined) {
32
+ throw new Error('@pyric/cli/vite: Choose either ai.model or ai.engine, not both.');
33
+ }
34
+ const model = options?.model?.trim() || env.PYRIC_AI_MODEL?.trim();
35
+ const engineWire = options?.engine
36
+ ? engineConfigToWire(options.engine)
37
+ : model
38
+ ? engineConfigToWire({ kind: 'openai', baseUrl: AI_PROXY_PATH, model })
39
+ : undefined;
40
+ return {
41
+ engineWire,
42
+ proxyUpstream: options?.proxyUpstream?.trim() || env.PYRIC_AI_PROXY_UPSTREAM?.trim() || undefined,
43
+ };
44
+ }
45
+ //# sourceMappingURL=vite-ai-config.js.map
@@ -0,0 +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;AAmB1C,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,IAAwB,EACxB,MAA0B;IAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,KAAK,SAAS;QACzC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,MAA2B;IAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,aAAa;YACxC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;YAC7B,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAmD,EAAE;YACxE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,OAAmC,EACnC,GAAuC;IAEvC,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM;QAChC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,CAAC,CAAC,KAAK;YACL,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,UAAU;QACV,aAAa,EACX,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,SAAS;KACrF,CAAC;AACJ,CAAC"}
@@ -1,27 +1,10 @@
1
1
  import type { Plugin } from 'vite';
2
- import type { AiEngineConfigWire } from './worker/protocol.js';
3
- import type { AIOptions } from 'pyric/ai';
4
- /**
5
- * The plugin-level engine config surface = `pyric/ai`'s `EngineConfig` (what an
6
- * app passes to `getAI`), minus the custom `AnswerEngine` object variant — a
7
- * live object cannot cross to the SharedWorker host or serialize into the page,
8
- * so the plugin's declarative surface is the JSON-able `scripted` / `openai`
9
- * configs only (the same restriction the worker path already enforces).
10
- */
11
- export type PyricAiEngineConfig = Extract<NonNullable<AIOptions['engine']>, {
12
- kind: string;
13
- }>;
14
- /**
15
- * Node-side `EngineConfig` → JSON-safe {@link AiEngineConfigWire}. Mirrors the
16
- * browser `toEngineWire` (entries/ai.ts): an openai config with no `baseUrl`
17
- * targets the same-origin proxy; scripted `script` entries pass through (plain
18
- * authoring shapes — function/RegExp matchers can't survive JSON and are not a
19
- * plugin-config use case).
20
- */
21
- export declare function engineConfigToWire(engine: PyricAiEngineConfig): AiEngineConfigWire;
2
+ import { type PyricAiOptions } from './vite-ai-config.js';
3
+ import { type PyricRuntimeChipOption } from './runtime/chip-config.js';
22
4
  export interface PyricOptions {
23
- /** firestore.rules path (relative to `root`). Default: `firebase.json`'s
24
- * `firestore.rules`, else `firestore.rules` in the project root. */
5
+ /** Firestore rules path (relative to `root`). Default discovery prefers an
6
+ * authored `firestore.modules.rules`, then `firebase.json`, then
7
+ * `firestore.rules` in the project root. */
25
8
  rules?: string;
26
9
  /** Project dir for `firebase.json` / rules discovery. Default: Vite's `root`. */
27
10
  root?: string;
@@ -57,6 +40,10 @@ export interface PyricOptions {
57
40
  * so app, Studio, and agent all observe the one sandbox); pass `ui: false`
58
41
  * to disable. */
59
42
  ui?: boolean;
43
+ /** Inject the collapsed Pyric runtime chip into the app during sandbox Vite
44
+ * dev/builds. On by default. Pass `false` to hide it, or
45
+ * `{ initiallyOpen: true }` when actively debugging runtime errors. */
46
+ runtimeChip?: PyricRuntimeChipOption;
60
47
  /** RTDB-triggered Cloud Functions under this dev server (the `pyric dev`
61
48
  * parity fold). By default a `functions` block in `firebase.json` is
62
49
  * discovered automatically: its `onValueCreated` triggers run in an isolated
@@ -97,11 +84,14 @@ export interface PyricOptions {
97
84
  *
98
85
  * pyric({
99
86
  * ai: {
100
- * engine: { kind: 'openai', model: 'llama3.2', baseUrl: '/__pyric/ai-proxy' },
87
+ * model: 'llama3.2',
101
88
  * proxyUpstream: 'http://localhost:11434/v1', // your Ollama
102
89
  * },
103
90
  * })
104
91
  *
92
+ * - `model` is the simple OpenAI-compatible path. It uses the same-origin
93
+ * proxy and becomes the catch-all upstream model. `PYRIC_AI_MODEL` selects
94
+ * the same path when neither `model` nor `engine` is explicit.
105
95
  * - `engine` is `pyric/ai`'s `EngineConfig` (scripted | openai), applied on
106
96
  * both the SharedWorker and in-page paths. An openai `baseUrl` of
107
97
  * `/__pyric/ai-proxy` (or omitted) routes through the same-origin proxy so a
@@ -109,20 +99,11 @@ export interface PyricOptions {
109
99
  * - `proxyUpstream` sets what `/__pyric/ai-proxy` forwards to (beats the
110
100
  * `PYRIC_AI_PROXY_UPSTREAM` env var; default `http://localhost:11434/v1`).
111
101
  *
112
- * Precedence: a plugin-level `engine`, when set, always wins over an engine an
113
- * app's own `getAI()` passes (host-side via `ctx.aiEngine` on the worker path,
114
- * page-side via an injected global on the in-page fallback); with no plugin
115
- * engine the first `getAI()` call's engine is honored (first-call-wins), and
116
- * with neither the zero-config scripted default applies.
102
+ * Precedence: explicit `engine` or `model`, then `PYRIC_AI_MODEL`, then an
103
+ * engine passed by the app's first `getAI()` call; with none, the zero-config
104
+ * scripted default applies. `model` and `engine` are mutually exclusive.
117
105
  */
118
- ai?: {
119
- /** Engine config (scripted | openai). Custom `AnswerEngine` objects are not
120
- * supported at the plugin level — they can't cross to the worker/page. */
121
- engine?: PyricAiEngineConfig;
122
- /** OpenAI-compatible upstream `/__pyric/ai-proxy` forwards to. Beats
123
- * `PYRIC_AI_PROXY_UPSTREAM`; default `http://localhost:11434/v1`. */
124
- proxyUpstream?: string;
125
- };
106
+ ai?: PyricAiOptions;
126
107
  }
127
108
  /**
128
109
  * The dev-only Vite plugin. Add to `vite.config`:
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"AA8CA,OAAO,KAAK,EAAE,MAAM,EAAyB,MAAM,MAAM,CAAC;AAkB1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiD1C;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE9F;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,kBAAkB,CAelF;AAeD,MAAM,WAAW,YAAY;IAC3B;yEACqE;IACrE,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;;;;;;;;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,EAAE,CAAC,EAAE;QACH;mFAC2E;QAC3E,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B;8EACsE;QACtE,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,CAo0BxD"}
1
+ {"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,MAAM,EAAyB,MAAM,MAAM,CAAC;AA4C1D,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAiClC,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;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,CAs0BxD"}
@@ -41,9 +41,9 @@
41
41
  */
42
42
  import { readFile } from 'node:fs/promises';
43
43
  import { existsSync, readFileSync, rmSync, writeFileSync, mkdirSync } from 'node:fs';
44
- import { homedir } from 'node:os';
45
44
  import path from 'node:path';
46
- import { SDK_MODULES, defaultSdkEntries, resolveStudioUiDir, pyricPackageRoot, bundleWorker, workerSourceHash, NODE_BUILTIN_RE, NODE_BUILTIN_SHIMS, } from './bundler.js';
45
+ import { SDK_MODULES, defaultSdkEntries, resolveStudioUiDir, pyricPackageRoot, NODE_BUILTIN_RE, NODE_BUILTIN_SHIMS, } from './bundler.js';
46
+ import { createViteWorkerRuntime } from './vite-worker-runtime.js';
47
47
  import { createEventHub, createPyricNamespace, } from './namespace.js';
48
48
  import { formatActivityWarning } from './activity-warning.js';
49
49
  import { diskWorkspace, diskProjectStore } from './studio/index.js';
@@ -57,6 +57,9 @@ import { readFirebaseJson, readFirebaseRc } from '../cli/firebase-json.js';
57
57
  import { discoverFunctionsRtdbProject, } from '../functions-rtdb/project.js';
58
58
  import { spawnFunctionsRtdbChild, } from '../functions-rtdb/child.js';
59
59
  import { buildChildEnv, createLinePrefixer, registerModuleUrl, } from '../cli/dev-runner.js';
60
+ import { loadViteAiEnv, resolveViteAiConfig, } from './vite-ai-config.js';
61
+ import { resolveViteRulesConfig } from './vite-rules-source.js';
62
+ import { PYRIC_RUNTIME_CHIP_META, runtimeChipMetaValue, } from './runtime/chip-config.js';
60
63
  /**
61
64
  * Whether a `vite build` should run the firebase→pyric swap (produce a SANDBOX
62
65
  * build). MODE-based with a plugin-config override:
@@ -73,31 +76,6 @@ function swapsInBuild(env, swapInBuild) {
73
76
  }
74
77
  /** Any `firebase/<sub>` specifier. */
75
78
  const FB_ANY = /^firebase\/([a-z-]+(?:\/[a-z-]+)*)$/;
76
- /** The serve proxy route the browser openai engine defaults to (#98.2). */
77
- const AI_PROXY_PATH = '/__pyric/ai-proxy';
78
- /**
79
- * Node-side `EngineConfig` → JSON-safe {@link AiEngineConfigWire}. Mirrors the
80
- * browser `toEngineWire` (entries/ai.ts): an openai config with no `baseUrl`
81
- * targets the same-origin proxy; scripted `script` entries pass through (plain
82
- * authoring shapes — function/RegExp matchers can't survive JSON and are not a
83
- * plugin-config use case).
84
- */
85
- export function engineConfigToWire(engine) {
86
- if (engine.kind === 'openai') {
87
- return {
88
- kind: 'openai',
89
- baseUrl: engine.baseUrl ?? AI_PROXY_PATH,
90
- ...(engine.model !== undefined ? { model: engine.model } : {}),
91
- ...(engine.modelMap !== undefined ? { modelMap: engine.modelMap } : {}),
92
- };
93
- }
94
- return {
95
- kind: 'scripted',
96
- ...(engine.script !== undefined
97
- ? { script: engine.script }
98
- : {}),
99
- };
100
- }
101
79
  /** The firebase subpaths with swap entries. */
102
80
  const SERVED = new Set(SDK_MODULES.map((specifier) => specifier.slice('firebase/'.length)));
103
81
  const entryKey = (subpath) => subpath.replaceAll('/', '-');
@@ -117,6 +95,7 @@ function packageRootOf(file) {
117
95
  * export default defineConfig({ plugins: [pyric()] });
118
96
  */
119
97
  export function pyric(options = {}) {
98
+ let resolvedAi = resolveViteAiConfig(options.ai, {});
120
99
  // Resolved once. `defaultSdkEntries()` prefers compiled dist `.js` and falls
121
100
  // back to source `.ts` in the workspace.
122
101
  const entries = defaultSdkEntries(); // { app, auth, firestore, init } → abs paths
@@ -181,11 +160,10 @@ export function pyric(options = {}) {
181
160
  storageRulesHash: null,
182
161
  };
183
162
  // M2: the SharedWorker bundle's content hash (sync) — stamped into the page so
184
- // a still-running OLD worker is detected as stale. `workerReady` flips true once
185
- // `bundleWorker` succeeds in configureServer; until then (or on bundle failure)
186
- // the page is forced onto the in-page sandbox path. transformIndexHtml reads it.
187
- const workerVersion = workerSourceHash();
188
- let workerReady = false;
163
+ // a still-running OLD worker is detected as stale. The collaborator becomes
164
+ // ready once its bundle succeeds; until then (or on bundle failure) the page
165
+ // is forced onto the in-page sandbox path. transformIndexHtml reads its tag.
166
+ const workerRuntime = createViteWorkerRuntime();
189
167
  // Set by the `config` hook. When the plugin runs under `vite build` at all it
190
168
  // is a SANDBOX build (the `apply` gate below only lets build through under the
191
169
  // sandbox trigger), so `command === 'build'` is sufficient to know we are
@@ -207,11 +185,12 @@ export function pyric(options = {}) {
207
185
  // sandbox path — the bridge peer is the in-page sandbox, never the SharedWorker,
208
186
  // so multi-tab is disabled under bridge to keep agent + app on one backend.
209
187
  const bridgeOpts = options.bridge === true ? {} : options.bridge || null;
210
- // Plugin-level AI engine, normalized once to the JSON-safe wire shape. Travels
188
+ // Plugin-level AI engine, normalized to the JSON-safe wire shape. Travels
211
189
  // to the worker host via the init payload (→ ctx.aiEngine) AND to the in-page
212
- // fallback via an injected synchronous global (see transformIndexHtml). Undefined
213
- // when the `ai.engine` option is unset.
214
- const aiEngineWire = options.ai?.engine ? engineConfigToWire(options.ai.engine) : undefined;
190
+ // fallback via an injected synchronous global (see transformIndexHtml).
191
+ // An explicit engine is available immediately (some hook tests call the HTML
192
+ // transform directly); Vite's config hook may otherwise select the simple
193
+ // PYRIC_AI_MODEL environment path for the active mode/root.
215
194
  return {
216
195
  name: 'pyric:sandbox',
217
196
  // Active for `vite dev` ALWAYS, and for `vite build` only when it is a
@@ -220,14 +199,17 @@ export function pyric(options = {}) {
220
199
  // production output. A sandbox build applies the same swap so the output
221
200
  // bundles pyric's in-page adapters (self-contained; preview it under
222
201
  // `pyric dev`, never deploy it).
223
- apply(_config, env) {
202
+ apply(config, env) {
203
+ void config;
224
204
  if (env.command === 'serve')
225
205
  return true;
226
206
  return swapsInBuild(env, options.swapInBuild);
227
207
  },
228
208
  enforce: 'pre',
229
- config(_config, env) {
209
+ config(config, env) {
230
210
  sandboxBuild = env.command === 'build';
211
+ const loadedEnv = loadViteAiEnv(env.mode, config.root, config.envDir);
212
+ resolvedAi = resolveViteAiConfig(options.ai, loadedEnv);
231
213
  // Cast: the `esbuild` package's `Plugin` type skews slightly from Vite's
232
214
  // bundled esbuild types (benign — the Plugin shape is stable across the
233
215
  // versions in range).
@@ -299,10 +281,11 @@ export function pyric(options = {}) {
299
281
  catch {
300
282
  /* optional — serve without a firebase.json */
301
283
  }
302
- // Honor an explicit `rules` option by overriding the resolved config.
303
- const config = options.rules
304
- ? { ...(fbJson ?? {}), firestore: { ...(fbJson?.firestore ?? {}), rules: options.rules } }
305
- : fbJson;
284
+ // Convention-first development source: an explicit option wins; otherwise
285
+ // an authored 2+modules file wins over firebase.json's generated deployment
286
+ // target. Projects without that convention retain the normal Firebase
287
+ // discovery path.
288
+ const config = resolveViteRulesConfig(cwd, options.rules, fbJson);
306
289
  const loaded = await loadProjectRules(cwd, config);
307
290
  const loadedDatabase = await loadProjectDatabaseRules(cwd, config);
308
291
  const loadedStorage = await loadProjectStorageRules(cwd, config);
@@ -377,12 +360,10 @@ export function pyric(options = {}) {
377
360
  }
378
361
  // ── M2 SharedWorker host: bundle it (cached per version) and serve it at
379
362
  // /__pyric/sdk/worker.js. This is what flips runtime.ts to the worker path.
380
- // On bundle failure, fall back to the in-page sandbox (workerReady stays
381
- // false transformIndexHtml forces in-page).
382
- const sdkDir = path.join(homedir(), '.pyric', 'vite-worker', workerVersion);
363
+ // On bundle failure, the collaborator stays unready and its HTML tag
364
+ // forces the in-page sandbox.
383
365
  try {
384
- await bundleWorker({ outDir: sdkDir });
385
- workerReady = true;
366
+ await workerRuntime.prepare();
386
367
  }
387
368
  catch (e) {
388
369
  server.config.logger.warn(` ⚠ [pyric] SharedWorker bundle failed — using the in-page sandbox (single-tab, ephemeral): ${e instanceof Error ? e.message : String(e)}`);
@@ -473,7 +454,7 @@ export function pyric(options = {}) {
473
454
  messaging: true,
474
455
  // Plugin-level engine → the worker host's ctx.aiEngine (host-ai.ts),
475
456
  // which wins over any op-carried engine. Null when unset.
476
- ai: aiEngineWire ? { engine: aiEngineWire } : null,
457
+ ai: resolvedAi.engineWire ? { engine: resolvedAi.engineWire } : null,
477
458
  });
478
459
  // Pyric Studio: mount the disk-backed workspace/project routes that
479
460
  // Studio's `local` mode talks to + serve the built Studio app at
@@ -499,6 +480,7 @@ export function pyric(options = {}) {
499
480
  '(run the full build, or reinstall @pyric/cli).');
500
481
  }
501
482
  }
483
+ const { sdkDir } = workerRuntime.status();
502
484
  const namespace = createPyricNamespace({
503
485
  sdkDir,
504
486
  initPayload,
@@ -510,7 +492,7 @@ export function pyric(options = {}) {
510
492
  studioUiDir,
511
493
  // `ai.proxyUpstream`: what `/__pyric/ai-proxy` forwards to (beats the
512
494
  // PYRIC_AI_PROXY_UPSTREAM env var; falls back to the default when unset).
513
- aiProxyUpstream: options.ai?.proxyUpstream,
495
+ aiProxyUpstream: resolvedAi.proxyUpstream,
514
496
  // Adapt Vite's logger to the plain info/note shape the namespace's
515
497
  // diagnostics (denial relay, future hot-reload lines) expect —
516
498
  // matches the `↻`/`⚠ [pyric]` lines already logged elsewhere in this
@@ -876,6 +858,7 @@ export function pyric(options = {}) {
876
858
  initChunkFile = this.getFileName(initChunkRef);
877
859
  },
878
860
  transformIndexHtml(html) {
861
+ const runtimeChipTag = `<meta name="${PYRIC_RUNTIME_CHIP_META}" content="${runtimeChipMetaValue(options.runtimeChip)}" data-studio="${options.ui === false ? 'off' : 'on'}" data-pyric-sandbox>`;
879
862
  // Sandbox BUILD: the app's own `firebase/*` imports were already swapped
880
863
  // (resolveId, above) to pyric's in-page adapters and BUNDLED into the app
881
864
  // chunk, and the emitted init chunk (script-tagged here) carries the
@@ -893,7 +876,7 @@ export function pyric(options = {}) {
893
876
  const initTag = initChunkFile
894
877
  ? `<script type="module" crossorigin src="/${initChunkFile}" data-pyric-sandbox-init></script>`
895
878
  : '';
896
- const tags = SANDBOX_BUILD_META + initTag;
879
+ const tags = SANDBOX_BUILD_META + runtimeChipTag + initTag;
897
880
  return html.includes('</head>')
898
881
  ? html.replace('</head>', `${tags}</head>`)
899
882
  : tags + html;
@@ -907,26 +890,24 @@ export function pyric(options = {}) {
907
890
  // module evaluates — a classic inline script runs before the deferred module.
908
891
  // The flag (not nulling `window.SharedWorker`) leaves the user's own
909
892
  // SharedWorker usage intact. We force in-page ONLY when the worker bundle
910
- // failed (workerReady false) — the ephemeral fallback. `bridge` no longer
893
+ // failed (worker runtime unready) — the ephemeral fallback. `bridge` no longer
911
894
  // forces in-page: the bridge peer routes agent tool-calls THROUGH the
912
895
  // worker (see `connectBridgePeer`), so the agent shares the one sandbox the
913
896
  // app + Studio use.
914
- const head = workerReady
915
- ? `<meta name="pyric-worker-v" content="${workerVersion}" ${MARKER}>`
916
- : `<script ${MARKER}>globalThis.__PYRIC_FORCE_INPAGE__=true;</script>`;
897
+ const head = workerRuntime.headTag(MARKER);
917
898
  // Plugin-level engine for the IN-PAGE path: a classic inline script runs
918
899
  // before the deferred init module AND before app code's `getAI`, so the
919
900
  // served `getAI` (entries/ai.ts) reads it synchronously — init.json can't
920
901
  // be awaited there. Harmless on the worker path (that branch ignores the
921
902
  // global; the worker reads ctx.aiEngine from init.json). `<` is escaped so
922
903
  // an engine value can never break out of the script tag.
923
- const aiEngineTag = aiEngineWire
924
- ? `<script ${MARKER}>globalThis.__PYRIC_AI_ENGINE__=${JSON.stringify(aiEngineWire).replace(/</g, '\\u003c')};</script>`
904
+ const aiEngineTag = resolvedAi.engineWire
905
+ ? `<script ${MARKER}>globalThis.__PYRIC_AI_ENGINE__=${JSON.stringify(resolvedAi.engineWire).replace(/</g, '\\u003c')};</script>`
925
906
  : '';
926
907
  // Boot the sandbox by loading the real init entry as a module (Vite
927
908
  // serves + transforms it). The init module's top-level await deploys rules
928
909
  // before app code runs. Mirrors serve's injectServeTags.
929
- const tag = head + aiEngineTag + `<script type="module" src="/@fs/${entries.init}" ${MARKER}></script>`;
910
+ const tag = head + aiEngineTag + runtimeChipTag + `<script type="module" src="/@fs/${entries.init}" ${MARKER}></script>`;
930
911
  return html.includes('</head>') ? html.replace('</head>', `${tag}</head>`) : tag + html;
931
912
  },
932
913
  };
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../../src/serve/vite-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { FirebaseJson } from '../cli/firebase-json.js';
2
+ /**
3
+ * Apply the Vite authoring convention without replacing unrelated Firebase
4
+ * configuration. The normal rules loader retains responsibility for its
5
+ * `firebase.json` and root `firestore.rules` fallbacks.
6
+ */
7
+ export declare function resolveViteRulesConfig(root: string, explicitRules: string | undefined, firebaseConfig: FirebaseJson | null): FirebaseJson | null;
8
+ //# sourceMappingURL=vite-rules-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-rules-source.d.ts","sourceRoot":"","sources":["../../src/serve/vite-rules-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,cAAc,EAAE,YAAY,GAAG,IAAI,GAClC,YAAY,GAAG,IAAI,CAcrB"}
@@ -0,0 +1,23 @@
1
+ import { existsSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ /**
4
+ * Apply the Vite authoring convention without replacing unrelated Firebase
5
+ * configuration. The normal rules loader retains responsibility for its
6
+ * `firebase.json` and root `firestore.rules` fallbacks.
7
+ */
8
+ export function resolveViteRulesConfig(root, explicitRules, firebaseConfig) {
9
+ const rulesSource = explicitRules
10
+ ?? (existsSync(path.join(root, 'firestore.modules.rules'))
11
+ ? 'firestore.modules.rules'
12
+ : undefined);
13
+ if (!rulesSource)
14
+ return firebaseConfig;
15
+ return {
16
+ ...(firebaseConfig ?? {}),
17
+ firestore: {
18
+ ...(firebaseConfig?.firestore ?? {}),
19
+ rules: rulesSource,
20
+ },
21
+ };
22
+ }
23
+ //# sourceMappingURL=vite-rules-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-rules-source.js","sourceRoot":"","sources":["../../src/serve/vite-rules-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,aAAiC,EACjC,cAAmC;IAEnC,MAAM,WAAW,GAAG,aAAa;WAC5B,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;YACxD,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,IAAI,CAAC,WAAW;QAAE,OAAO,cAAc,CAAC;IACxC,OAAO;QACL,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;QACzB,SAAS,EAAE;YACT,GAAG,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC;YACpC,KAAK,EAAE,WAAW;SACnB;KACF,CAAC;AACJ,CAAC"}