@pyric/cli 0.1.0-alpha.16 → 0.1.0-alpha.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (419) hide show
  1. package/README.md +42 -12
  2. package/dist/assurance/.generated/conformance-verdicts.d.ts +80 -72
  3. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
  4. package/dist/assurance/.generated/conformance-verdicts.js +80 -72
  5. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
  6. package/dist/bridge/server/bridge.d.ts.map +1 -1
  7. package/dist/bridge/server/bridge.js +4 -2
  8. package/dist/bridge/server/bridge.js.map +1 -1
  9. package/dist/bridge/server/peer.d.ts.map +1 -1
  10. package/dist/bridge/server/peer.js +1 -0
  11. package/dist/bridge/server/peer.js.map +1 -1
  12. package/dist/cli/database-rules.d.ts.map +1 -1
  13. package/dist/cli/database-rules.js +6 -4
  14. package/dist/cli/database-rules.js.map +1 -1
  15. package/dist/cli/dev-runner.d.ts +9 -0
  16. package/dist/cli/dev-runner.d.ts.map +1 -1
  17. package/dist/cli/dev-runner.js +18 -0
  18. package/dist/cli/dev-runner.js.map +1 -1
  19. package/dist/cli/serve.d.ts.map +1 -1
  20. package/dist/cli/serve.js +62 -6
  21. package/dist/cli/serve.js.map +1 -1
  22. package/dist/cli/verify.js +2 -2
  23. package/dist/cli/verify.js.map +1 -1
  24. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
  25. package/dist/conformance/.generated/can-i-use-browser.js +1 -1
  26. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
  27. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  28. package/dist/conformance/.generated/can-i-use.js +1 -1
  29. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  30. package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
  31. package/dist/conformance/.generated/conformance-docs.js +1 -1
  32. package/dist/conformance/.generated/conformance-docs.js.map +1 -1
  33. package/dist/functions-rtdb/child.d.ts +1 -0
  34. package/dist/functions-rtdb/child.d.ts.map +1 -1
  35. package/dist/functions-rtdb/child.js +11 -1
  36. package/dist/functions-rtdb/child.js.map +1 -1
  37. package/dist/functions-rtdb/development-runtime.d.ts +1 -0
  38. package/dist/functions-rtdb/development-runtime.d.ts.map +1 -1
  39. package/dist/functions-rtdb/development-runtime.js +1 -0
  40. package/dist/functions-rtdb/development-runtime.js.map +1 -1
  41. package/dist/next/client-aliases.d.ts +11 -0
  42. package/dist/next/client-aliases.d.ts.map +1 -0
  43. package/dist/next/client-aliases.js +38 -0
  44. package/dist/next/client-aliases.js.map +1 -0
  45. package/dist/next/dev-rewrites.d.ts +9 -0
  46. package/dist/next/dev-rewrites.d.ts.map +1 -0
  47. package/dist/next/dev-rewrites.js +53 -0
  48. package/dist/next/dev-rewrites.js.map +1 -0
  49. package/dist/next/guard.d.ts +15 -0
  50. package/dist/next/guard.d.ts.map +1 -0
  51. package/dist/next/guard.js +52 -0
  52. package/dist/next/guard.js.map +1 -0
  53. package/dist/next/index.d.ts +12 -0
  54. package/dist/next/index.d.ts.map +1 -0
  55. package/dist/next/index.js +11 -0
  56. package/dist/next/index.js.map +1 -0
  57. package/dist/next/runtime-env.d.ts +7 -0
  58. package/dist/next/runtime-env.d.ts.map +1 -0
  59. package/dist/next/runtime-env.js +13 -0
  60. package/dist/next/runtime-env.js.map +1 -0
  61. package/dist/next/server-external-packages.d.ts +10 -0
  62. package/dist/next/server-external-packages.d.ts.map +1 -0
  63. package/dist/next/server-external-packages.js +34 -0
  64. package/dist/next/server-external-packages.js.map +1 -0
  65. package/dist/next/target-url.d.ts +11 -0
  66. package/dist/next/target-url.d.ts.map +1 -0
  67. package/dist/next/target-url.js +36 -0
  68. package/dist/next/target-url.js.map +1 -0
  69. package/dist/next/turbopack-config.d.ts +9 -0
  70. package/dist/next/turbopack-config.d.ts.map +1 -0
  71. package/dist/next/turbopack-config.js +39 -0
  72. package/dist/next/turbopack-config.js.map +1 -0
  73. package/dist/next/types.d.ts +40 -0
  74. package/dist/next/types.d.ts.map +1 -0
  75. package/dist/next/types.js +5 -0
  76. package/dist/next/types.js.map +1 -0
  77. package/dist/next/webpack-config.d.ts +11 -0
  78. package/dist/next/webpack-config.d.ts.map +1 -0
  79. package/dist/next/webpack-config.js +51 -0
  80. package/dist/next/webpack-config.js.map +1 -0
  81. package/dist/next/with-pyric.d.ts +22 -0
  82. package/dist/next/with-pyric.d.ts.map +1 -0
  83. package/dist/next/with-pyric.js +49 -0
  84. package/dist/next/with-pyric.js.map +1 -0
  85. package/dist/register/app-bridge.d.ts +9 -0
  86. package/dist/register/app-bridge.d.ts.map +1 -0
  87. package/dist/register/app-bridge.js +56 -0
  88. package/dist/register/app-bridge.js.map +1 -0
  89. package/dist/register/hooks.d.ts.map +1 -1
  90. package/dist/register/hooks.js +6 -1
  91. package/dist/register/hooks.js.map +1 -1
  92. package/dist/register/index.js +1 -1
  93. package/dist/register/index.js.map +1 -1
  94. package/dist/register/mapping.d.ts +3 -1
  95. package/dist/register/mapping.d.ts.map +1 -1
  96. package/dist/register/mapping.js +41 -5
  97. package/dist/register/mapping.js.map +1 -1
  98. package/dist/remote/index.d.ts.map +1 -1
  99. package/dist/remote/index.js +5 -3
  100. package/dist/remote/index.js.map +1 -1
  101. package/dist/rtdb/rules-json.d.ts +12 -0
  102. package/dist/rtdb/rules-json.d.ts.map +1 -1
  103. package/dist/rtdb/rules-json.js +98 -0
  104. package/dist/rtdb/rules-json.js.map +1 -1
  105. package/dist/serve/bundler.d.ts.map +1 -1
  106. package/dist/serve/bundler.js +2 -0
  107. package/dist/serve/bundler.js.map +1 -1
  108. package/dist/serve/discovery.d.ts +4 -4
  109. package/dist/serve/discovery.d.ts.map +1 -1
  110. package/dist/serve/discovery.js +59 -38
  111. package/dist/serve/discovery.js.map +1 -1
  112. package/dist/serve/entries/app-ai-passthrough.d.ts +8 -0
  113. package/dist/serve/entries/app-ai-passthrough.d.ts.map +1 -0
  114. package/dist/serve/entries/app-ai-passthrough.js +59 -0
  115. package/dist/serve/entries/app-ai-passthrough.js.map +1 -0
  116. package/dist/serve/entries/auth-helper-core.js +9 -7
  117. package/dist/serve/entries/auth-helper-core.js.map +1 -1
  118. package/dist/serve/entries/auth.d.ts +1 -0
  119. package/dist/serve/entries/auth.d.ts.map +1 -1
  120. package/dist/serve/entries/auth.js +1 -0
  121. package/dist/serve/entries/auth.js.map +1 -1
  122. package/dist/serve/entries/bridge-url.d.ts.map +1 -1
  123. package/dist/serve/entries/bridge-url.js +7 -2
  124. package/dist/serve/entries/bridge-url.js.map +1 -1
  125. package/dist/serve/entries/database.d.ts +1 -0
  126. package/dist/serve/entries/database.d.ts.map +1 -1
  127. package/dist/serve/entries/database.js +1 -0
  128. package/dist/serve/entries/database.js.map +1 -1
  129. package/dist/serve/entries/firestore.d.ts +1 -0
  130. package/dist/serve/entries/firestore.d.ts.map +1 -1
  131. package/dist/serve/entries/firestore.js +1 -0
  132. package/dist/serve/entries/firestore.js.map +1 -1
  133. package/dist/serve/entries/init.d.ts.map +1 -1
  134. package/dist/serve/entries/init.js +4 -2
  135. package/dist/serve/entries/init.js.map +1 -1
  136. package/dist/serve/entries/runtime.js +23 -0
  137. package/dist/serve/entries/runtime.js.map +1 -1
  138. package/dist/serve/entries/storage.d.ts +2 -0
  139. package/dist/serve/entries/storage.d.ts.map +1 -1
  140. package/dist/serve/entries/storage.js +9 -2
  141. package/dist/serve/entries/storage.js.map +1 -1
  142. package/dist/serve/html-injection.d.ts +3 -1
  143. package/dist/serve/html-injection.d.ts.map +1 -1
  144. package/dist/serve/html-injection.js +27 -1
  145. package/dist/serve/html-injection.js.map +1 -1
  146. package/dist/serve/rules.js +2 -2
  147. package/dist/serve/rules.js.map +1 -1
  148. package/dist/serve/runtime/chip-config.d.ts +1 -1
  149. package/dist/serve/runtime/chip-config.d.ts.map +1 -1
  150. package/dist/serve/runtime/chip-config.js +16 -8
  151. package/dist/serve/runtime/chip-config.js.map +1 -1
  152. package/dist/serve/runtime/chip.d.ts.map +1 -1
  153. package/dist/serve/runtime/chip.js +24 -3
  154. package/dist/serve/runtime/chip.js.map +1 -1
  155. package/dist/serve/runtime/status.d.ts +1 -0
  156. package/dist/serve/runtime/status.d.ts.map +1 -1
  157. package/dist/serve/runtime/status.js +71 -13
  158. package/dist/serve/runtime/status.js.map +1 -1
  159. package/dist/serve/sandbox-session.d.ts +1 -0
  160. package/dist/serve/sandbox-session.d.ts.map +1 -1
  161. package/dist/serve/sandbox-session.js +30 -2
  162. package/dist/serve/sandbox-session.js.map +1 -1
  163. package/dist/serve/site-ui/_astro/_slug_.C6QfVOxJ.css +1 -0
  164. package/dist/serve/site-ui/_astro/_studio_.B6b_G1ev.css +1 -0
  165. package/dist/serve/site-ui/_astro/app.B7pBzz5N.js +11 -0
  166. package/dist/serve/site-ui/_astro/app.boex5SnQ.js +1 -0
  167. package/dist/serve/site-ui/_astro/{chess-showcase.CnoxIle5.js → chess-showcase.DDqE-QGe.js} +1 -1
  168. package/dist/serve/site-ui/_astro/{example-runtime.R1d96L6-.js → example-runtime.B0byNQOl.js} +1 -1
  169. package/dist/serve/site-ui/_astro/index.uwPvjH_1.js +1 -0
  170. package/dist/serve/site-ui/_astro/reads.Dh3z0fJy.js +1 -0
  171. package/dist/serve/site-ui/_astro/sandbox-controls.C2IqtoSw.js +1252 -0
  172. package/dist/serve/site-ui/_astro/{seed.EyI3VYEu.js → seed.CCmj00su.js} +1 -1
  173. package/dist/serve/site-ui/auth/index.html +2 -2
  174. package/dist/serve/site-ui/docs/_rhythm/index.html +1 -1
  175. package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +48 -13
  176. package/dist/serve/site-ui/docs/agent/set-up-your-agent.md +74 -11
  177. package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +1 -1
  178. package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +1 -1
  179. package/dist/serve/site-ui/docs/ai-compat/index.html +85 -85
  180. package/dist/serve/site-ui/docs/ai-compat.md +84 -84
  181. package/dist/serve/site-ui/docs/api-reference/index.html +3 -1
  182. package/dist/serve/site-ui/docs/api-reference.md +2 -0
  183. package/dist/serve/site-ui/docs/app-compat/index.html +28 -28
  184. package/dist/serve/site-ui/docs/app-compat.md +27 -27
  185. package/dist/serve/site-ui/docs/auth-compat/index.html +122 -122
  186. package/dist/serve/site-ui/docs/auth-compat.md +121 -121
  187. package/dist/serve/site-ui/docs/build/ai-logic/index.html +19 -2
  188. package/dist/serve/site-ui/docs/build/ai-logic.md +28 -0
  189. package/dist/serve/site-ui/docs/build/authentication/index.html +1 -1
  190. package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +1 -1
  191. package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +1 -1
  192. package/dist/serve/site-ui/docs/build/cloud-storage/index.html +1 -1
  193. package/dist/serve/site-ui/docs/build/realtime-database/index.html +1 -1
  194. package/dist/serve/site-ui/docs/conformance-scores/index.html +25 -10
  195. package/dist/serve/site-ui/docs/conformance-scores.md +23 -8
  196. package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +6 -6
  197. package/dist/serve/site-ui/docs/create-pyric-reference-api.md +5 -5
  198. package/dist/serve/site-ui/docs/database-compat/index.html +200 -448
  199. package/dist/serve/site-ui/docs/database-compat.md +198 -461
  200. package/dist/serve/site-ui/docs/examples/chess/index.html +2 -2
  201. package/dist/serve/site-ui/docs/examples/index.html +1 -1
  202. package/dist/serve/site-ui/docs/firestore-compat/index.html +186 -195
  203. package/dist/serve/site-ui/docs/firestore-compat.md +184 -195
  204. package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +15 -15
  205. package/dist/serve/site-ui/docs/functions-rtdb-compat.md +14 -14
  206. package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +1 -1
  207. package/dist/serve/site-ui/docs/get-started/nextjs/index.html +57 -0
  208. package/dist/serve/site-ui/docs/get-started/nextjs.md +86 -0
  209. package/dist/serve/site-ui/docs/get-started/start-building/index.html +38 -9
  210. package/dist/serve/site-ui/docs/get-started/start-building.md +62 -7
  211. package/dist/serve/site-ui/docs/get-started/vite/index.html +26 -0
  212. package/dist/serve/site-ui/docs/get-started/vite.md +45 -0
  213. package/dist/serve/site-ui/docs/index.json +711 -111
  214. package/dist/serve/site-ui/docs/messaging-compat/index.html +56 -56
  215. package/dist/serve/site-ui/docs/messaging-compat.md +55 -55
  216. package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +1 -1
  217. package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +1 -1
  218. package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +1 -1
  219. package/dist/serve/site-ui/docs/overview/index.html +1 -1
  220. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +39 -13
  221. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api.md +28 -2
  222. package/dist/serve/site-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
  223. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api/index.html +38 -6
  224. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api.md +43 -0
  225. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api/index.html +9 -1
  226. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api.md +8 -0
  227. package/dist/serve/site-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
  228. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +27 -4
  229. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api.md +23 -0
  230. package/dist/serve/site-ui/docs/pyric-ai-reference-api/index.html +1 -1
  231. package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
  232. package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +1 -1
  233. package/dist/serve/site-ui/docs/pyric-auth-reference-api/index.html +1 -1
  234. package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
  235. package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
  236. package/dist/serve/site-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
  237. package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
  238. package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
  239. package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
  240. package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
  241. package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
  242. package/dist/serve/site-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
  243. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api/index.html +123 -0
  244. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api.md +99 -0
  245. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api/index.html +127 -0
  246. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api.md +174 -0
  247. package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
  248. package/dist/serve/site-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
  249. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api/index.html +570 -326
  250. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api.md +198 -6
  251. package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
  252. package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +1 -1
  253. package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +1 -1
  254. package/dist/serve/site-ui/docs/pyric-firestore-reference-api/index.html +2971 -627
  255. package/dist/serve/site-ui/docs/pyric-firestore-reference-api.md +2873 -517
  256. package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +1 -1
  257. package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
  258. package/dist/serve/site-ui/docs/pyric-rules-reference-api/index.html +43 -3
  259. package/dist/serve/site-ui/docs/pyric-rules-reference-api.md +8 -0
  260. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +26 -2
  261. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api.md +24 -0
  262. package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
  263. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api/index.html +77 -9
  264. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api.md +28 -13
  265. package/dist/serve/site-ui/docs/pyric-storage-reference-api/index.html +240 -63
  266. package/dist/serve/site-ui/docs/pyric-storage-reference-api.md +164 -5
  267. package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
  268. package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
  269. package/dist/serve/site-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
  270. package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
  271. package/dist/serve/site-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
  272. package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
  273. package/dist/serve/site-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
  274. package/dist/serve/site-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
  275. package/dist/serve/site-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
  276. package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
  277. package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api/index.html +1 -10
  278. package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api.md +0 -9
  279. package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
  280. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api/index.html +2 -1
  281. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api.md +1 -0
  282. package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
  283. package/dist/serve/site-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
  284. package/dist/serve/site-ui/docs/rules-compat/index.html +87 -79
  285. package/dist/serve/site-ui/docs/rules-compat.md +86 -78
  286. package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +1 -1
  287. package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +1 -1
  288. package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +1 -1
  289. package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
  290. package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +1 -1
  291. package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +1 -1
  292. package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +1 -1
  293. package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
  294. package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +1 -1
  295. package/dist/serve/site-ui/docs/ship/test-in-node/index.html +1 -1
  296. package/dist/serve/site-ui/docs/storage-compat/index.html +119 -125
  297. package/dist/serve/site-ui/docs/storage-compat.md +118 -124
  298. package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
  299. package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +1 -1
  300. package/dist/serve/site-ui/docs/trust/storage-rules-stdlib-research/index.html +1 -1
  301. package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
  302. package/dist/serve/site-ui/docs/tutorial/index.html +2 -1
  303. package/dist/serve/site-ui/docs/tutorial.md +2 -0
  304. package/dist/serve/site-ui/examples/chess/index.html +1 -1
  305. package/dist/serve/site-ui/examples/firestore-first-write/index.html +1 -1
  306. package/dist/serve/site-ui/firestore/index.html +2 -2
  307. package/dist/serve/site-ui/index.html +2 -2
  308. package/dist/serve/site-ui/llms.txt +8 -4
  309. package/dist/serve/site-ui/rtdb/index.html +2 -2
  310. package/dist/serve/site-ui/settings/index.html +2 -2
  311. package/dist/serve/site-ui/storage/index.html +2 -2
  312. package/dist/serve/site-ui/traffic/index.html +2 -2
  313. package/dist/serve/vite-ai-config.d.ts +4 -1
  314. package/dist/serve/vite-ai-config.d.ts.map +1 -1
  315. package/dist/serve/vite-ai-config.js +83 -19
  316. package/dist/serve/vite-ai-config.js.map +1 -1
  317. package/dist/serve/vite-functions-development.d.ts.map +1 -1
  318. package/dist/serve/vite-functions-development.js +1 -0
  319. package/dist/serve/vite-functions-development.js.map +1 -1
  320. package/dist/serve/vite-generation-rules-watch.d.ts.map +1 -1
  321. package/dist/serve/vite-generation-rules-watch.js +61 -14
  322. package/dist/serve/vite-generation-rules-watch.js.map +1 -1
  323. package/dist/serve/vite-module-swap.d.ts +4 -1
  324. package/dist/serve/vite-module-swap.d.ts.map +1 -1
  325. package/dist/serve/vite-module-swap.js +106 -21
  326. package/dist/serve/vite-module-swap.js.map +1 -1
  327. package/dist/serve/vite-plugin.d.ts.map +1 -1
  328. package/dist/serve/vite-plugin.js +45 -5
  329. package/dist/serve/vite-plugin.js.map +1 -1
  330. package/dist/serve/vite-sandbox-generation.js +1 -1
  331. package/dist/serve/vite-sandbox-generation.js.map +1 -1
  332. package/dist/serve/worker/client/resumable.d.ts +30 -0
  333. package/dist/serve/worker/client/resumable.d.ts.map +1 -0
  334. package/dist/serve/worker/client/resumable.js +416 -0
  335. package/dist/serve/worker/client/resumable.js.map +1 -0
  336. package/dist/serve/worker/client/rtdb-references.d.ts.map +1 -1
  337. package/dist/serve/worker/client/rtdb-references.js +4 -1
  338. package/dist/serve/worker/client/rtdb-references.js.map +1 -1
  339. package/dist/serve/worker/client/storage.d.ts +16 -2
  340. package/dist/serve/worker/client/storage.d.ts.map +1 -1
  341. package/dist/serve/worker/client/storage.js +57 -6
  342. package/dist/serve/worker/client/storage.js.map +1 -1
  343. package/dist/serve/worker/host/rules.d.ts.map +1 -1
  344. package/dist/serve/worker/host/rules.js +2 -1
  345. package/dist/serve/worker/host/rules.js.map +1 -1
  346. package/dist/serve/worker/index.d.ts +1 -1
  347. package/dist/serve/worker/index.d.ts.map +1 -1
  348. package/dist/serve/worker/index.js +1 -1
  349. package/dist/serve/worker/index.js.map +1 -1
  350. package/dist/serve/worker/serve-init.d.ts.map +1 -1
  351. package/dist/serve/worker/serve-init.js +31 -0
  352. package/dist/serve/worker/serve-init.js.map +1 -1
  353. package/package.json +15 -4
  354. package/src/assurance/.generated/conformance-verdicts.ts +80 -72
  355. package/src/bridge/server/bridge.ts +5 -2
  356. package/src/bridge/server/peer.ts +2 -1
  357. package/src/cli/cli.test.ts +14 -0
  358. package/src/cli/database-rules.ts +6 -4
  359. package/src/cli/dev-runner.ts +21 -0
  360. package/src/cli/serve.ts +63 -5
  361. package/src/cli/verify.ts +2 -2
  362. package/src/conformance/.generated/can-i-use-browser.ts +1 -1
  363. package/src/conformance/.generated/can-i-use.ts +1 -1
  364. package/src/conformance/.generated/conformance-docs.ts +1 -1
  365. package/src/functions-rtdb/child.ts +12 -1
  366. package/src/functions-rtdb/development-runtime.ts +2 -0
  367. package/src/next/client-aliases.ts +39 -0
  368. package/src/next/dev-rewrites.ts +77 -0
  369. package/src/next/guard.ts +61 -0
  370. package/src/next/index.ts +16 -0
  371. package/src/next/runtime-env.ts +18 -0
  372. package/src/next/server-external-packages.ts +43 -0
  373. package/src/next/target-url.ts +46 -0
  374. package/src/next/turbopack-config.ts +54 -0
  375. package/src/next/types.ts +47 -0
  376. package/src/next/webpack-config.ts +71 -0
  377. package/src/next/with-pyric.ts +58 -0
  378. package/src/register/app-bridge.ts +79 -0
  379. package/src/register/hooks.ts +6 -1
  380. package/src/register/index.ts +1 -1
  381. package/src/register/mapping.ts +50 -4
  382. package/src/remote/index.ts +7 -5
  383. package/src/rtdb/rules-json.ts +110 -0
  384. package/src/serve/bundler.ts +2 -0
  385. package/src/serve/discovery.ts +65 -44
  386. package/src/serve/entries/app-ai-passthrough.ts +83 -0
  387. package/src/serve/entries/auth-helper-core.ts +9 -7
  388. package/src/serve/entries/auth.ts +1 -0
  389. package/src/serve/entries/bridge-url.ts +9 -2
  390. package/src/serve/entries/database.ts +1 -0
  391. package/src/serve/entries/firestore.ts +1 -0
  392. package/src/serve/entries/init.ts +5 -2
  393. package/src/serve/entries/runtime.ts +25 -0
  394. package/src/serve/entries/storage.ts +12 -1
  395. package/src/serve/html-injection.ts +26 -1
  396. package/src/serve/rules.ts +2 -2
  397. package/src/serve/runtime/chip-config.ts +19 -6
  398. package/src/serve/runtime/chip.ts +24 -3
  399. package/src/serve/runtime/status.ts +76 -13
  400. package/src/serve/sandbox-session.ts +31 -2
  401. package/src/serve/vite-ai-config.ts +86 -19
  402. package/src/serve/vite-functions-development.ts +1 -0
  403. package/src/serve/vite-generation-rules-watch.ts +67 -15
  404. package/src/serve/vite-module-swap.ts +121 -21
  405. package/src/serve/vite-plugin.ts +44 -6
  406. package/src/serve/vite-sandbox-generation.ts +1 -1
  407. package/src/serve/worker/client/resumable.ts +506 -0
  408. package/src/serve/worker/client/rtdb-references.ts +4 -1
  409. package/src/serve/worker/client/storage.ts +77 -7
  410. package/src/serve/worker/host/rules.ts +2 -1
  411. package/src/serve/worker/index.ts +4 -0
  412. package/src/serve/worker/serve-init.ts +30 -0
  413. package/dist/serve/site-ui/_astro/_slug_.BoKXYrnu.css +0 -1
  414. package/dist/serve/site-ui/_astro/_studio_.BtYpqe1A.css +0 -1
  415. package/dist/serve/site-ui/_astro/app.4HeLP_FA.js +0 -109
  416. package/dist/serve/site-ui/_astro/app.BgSnCR5G.js +0 -1
  417. package/dist/serve/site-ui/_astro/index.BJiOemMX.js +0 -1
  418. package/dist/serve/site-ui/_astro/reads.BrKNdKAa.js +0 -1
  419. package/dist/serve/site-ui/_astro/sandbox-controls.BTb3EbQp.js +0 -1153
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  <img src="https://pyric.dev/pyric-logo.svg" alt="Pyric" width="180" />
3
3
  </p>
4
4
 
5
- <h1 align="center">Build with Firebase without touching production</h1>
5
+ <h1 align="center">A local first Firebase development framework built for Agents</h1>
6
6
 
7
7
  <p align="center">Keep the same <code>firebase/*</code> code. Pyric runs it against a local backend during development, then gets out of the way when the app ships to Firebase.</p>
8
8
 
@@ -14,12 +14,38 @@ Pyric adds a development-only resolution layer to a Firebase application. Run th
14
14
 
15
15
  The mirrored data services do not connect to a production Firebase project. Local writes cannot delete production data or create Firebase usage charges, and local rules changes do not deploy. Pyric owns the development sandbox and verification workflow. Firebase owns production, with `firebase-tools` or the Firebase Console handling deployment.
16
16
 
17
- ## Start a new Firebase application locally
17
+ ## Start with a coding agent
18
+
19
+ Install the Pyric plugin:
20
+
21
+ ```bash
22
+ npx plugins add davideast/pyric
23
+ ```
24
+
25
+ Antigravity CLI and OpenCode use the standalone skill installer:
26
+
27
+ ```bash
28
+ # Antigravity CLI
29
+ npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent antigravity-cli
30
+
31
+ # OpenCode
32
+ npx skills add https://github.com/davideast/pyric/tree/main/pyric-plugin/skills/pyric-start --agent opencode
33
+ ```
34
+
35
+ Then ask your agent:
36
+
37
+ ```text
38
+ Use the pyric-start skill to set up and run Pyric in this project.
39
+ ```
40
+
41
+ The skill chooses the project launcher, starts one local sandbox bridge, opens the application, and confirms that the browser sandbox is connected.
42
+
43
+ ## Start from the terminal
18
44
 
19
45
  Create a Vite application with canonical Firebase imports, Firestore rules, and the Pyric development plugin already configured:
20
46
 
21
47
  ```bash
22
- npm create pyric my-app
48
+ npm create pyric@latest my-app
23
49
  cd my-app
24
50
  npm install
25
51
  npm run dev
@@ -38,10 +64,10 @@ Add it to the existing Vite configuration:
38
64
  ```ts
39
65
  // vite.config.ts
40
66
  import { defineConfig } from 'vite';
41
- import { pyricSandbox } from '@pyric/cli/vite';
67
+ import { pyric } from '@pyric/cli/vite';
42
68
 
43
69
  export default defineConfig({
44
- plugins: [pyricSandbox()],
70
+ plugins: [pyric()],
45
71
  });
46
72
  ```
47
73
 
@@ -57,7 +83,7 @@ Pyric Studio is available on the Vite origin at `/__pyric/ui/`. It opens the sam
57
83
 
58
84
  For a static application or a Node process, `pyric dev` provides the same development-only package swap without the Vite plugin. The [CLI reference](packages/cli/docs/reference/cli.md) documents those paths and every command.
59
85
 
60
- ## Keep writing Firebase code
86
+ ## Keep using official Firebase SDKs
61
87
 
62
88
  Application code continues to import Firebase:
63
89
 
@@ -81,16 +107,18 @@ The Firebase configuration is accepted by the local mirror during development. T
81
107
 
82
108
  Pyric documents the parts that differ locally, including supported behavior, Security Rules, persistence, inspection, verification, and known gaps. See [use the Vite plugin](packages/cli/docs/how-to/use-the-vite-plugin.md) for the complete plugin contract.
83
109
 
84
- ## Inspect and correct a failed operation
110
+ ## Monitor the local environment in Pyric Studio
85
111
 
86
112
  Pyric Studio shows local data, requests, authentication state, Security Rules verdicts, and denied operations. Open `/__pyric/ui/` on the development server and reproduce the failure. A denied request includes the path and verdict needed to correct the rule or the application code.
87
113
 
114
+ <img width="1512" height="947" alt="image" src="https://github.com/user-attachments/assets/cb4a219c-c5f0-4fb7-8904-996416c0a79c" />
115
+
88
116
  The Vite plugin discovers the Firestore rules path from `firebase.json`, or falls back to `firestore.rules`. Saving that file replaces the active local ruleset without a production deploy. A parse failure leaves the last valid ruleset active and reports the error in the development server.
89
117
 
90
118
  State and test identities stay browser-local by default. Add `persist: true` to write a committable `.pyric/state/state.json`, or use `seed` to start from a known scenario:
91
119
 
92
120
  ```ts
93
- pyricSandbox({
121
+ pyric({
94
122
  persist: true,
95
123
  seed: 'seed.json',
96
124
  });
@@ -98,19 +126,21 @@ pyricSandbox({
98
126
 
99
127
  See [persistence and multi-tab behavior](packages/cli/docs/how-to/serve-persistence-and-multi-tab.md) for reset and seed precedence.
100
128
 
101
- ## Give coding agents the same local Firebase target
129
+ ## Connect Coding Agents to the Sandbox using the Pyric MCP server
102
130
 
103
131
  An agent can keep writing the same Firebase code while inspecting and changing the backend that the application is already using. Agent access is opt-in. Enable the MCP bridge in the Vite plugin:
104
132
 
105
133
  ```ts
106
- pyricSandbox({ bridge: true });
134
+ pyric({
135
+ bridge: true
136
+ });
107
137
  ```
108
138
 
109
- The bridge mounts on the Vite development origin and routes agent operations to the same SharedWorker backend used by the application and Studio. The included [Claude Code plugin](pyric-plugin/README.md) discovers that bridge, while other MCP clients can connect to its HTTP endpoint.
139
+ The bridge mounts on the Vite development origin and routes agent operations to the same SharedWorker backend used by the application and Studio.
110
140
 
111
141
  This protects the local workflow, not an independently credentialed process. A coding agent with production Firebase credentials or deployment access can still affect production outside Pyric.
112
142
 
113
- ## Verify the rules boundary
143
+ ## Verify the rules against production
114
144
 
115
145
  Development sessions capture Firestore and Realtime Database operations in `.pyric/last-session.json` by default. Replay those requests against candidate rules before deployment:
116
146
 
@@ -285,7 +285,13 @@ export declare const CONFORMANCE_VERDICTS: {
285
285
  readonly "firestore#149": "qualified";
286
286
  readonly "firestore#15": "supported";
287
287
  readonly "firestore#150": "supported";
288
+ readonly "firestore#151": "supported";
288
289
  readonly "firestore#152": "supported";
290
+ readonly "firestore#153": "supported";
291
+ readonly "firestore#154": "supported";
292
+ readonly "firestore#155": "supported";
293
+ readonly "firestore#156": "supported";
294
+ readonly "firestore#157": "supported";
289
295
  readonly "firestore#16": "supported";
290
296
  readonly "firestore#17": "supported";
291
297
  readonly "firestore#18": "supported";
@@ -417,6 +423,8 @@ export declare const CONFORMANCE_VERDICTS: {
417
423
  readonly "firestore-rules#187": "supported";
418
424
  readonly "firestore-rules#188": "supported";
419
425
  readonly "firestore-rules#189": "supported";
426
+ readonly "firestore-rules#190": "supported";
427
+ readonly "firestore-rules#191": "supported";
420
428
  readonly "firestore.binding.path-variable": "supported";
421
429
  readonly "firestore.binding.request": "supported";
422
430
  readonly "firestore.binding.request.auth": "supported";
@@ -433,7 +441,7 @@ export declare const CONFORMANCE_VERDICTS: {
433
441
  readonly "firestore.binding.resource.__name__": "supported";
434
442
  readonly "firestore.binding.resource.data": "supported";
435
443
  readonly "firestore.binding.resource.id": "supported";
436
- readonly "firestore.function.cast.bool": "unsupported";
444
+ readonly "firestore.function.cast.bool": "supported";
437
445
  readonly "firestore.function.cast.float": "supported";
438
446
  readonly "firestore.function.cast.int": "supported";
439
447
  readonly "firestore.function.cast.path": "supported";
@@ -454,7 +462,7 @@ export declare const CONFORMANCE_VERDICTS: {
454
462
  readonly "firestore.function.math.abs": "supported";
455
463
  readonly "firestore.function.math.ceil": "supported";
456
464
  readonly "firestore.function.math.floor": "supported";
457
- readonly "firestore.function.math.isInfinite": "unsupported";
465
+ readonly "firestore.function.math.isInfinite": "supported";
458
466
  readonly "firestore.function.math.isNaN": "supported";
459
467
  readonly "firestore.function.math.pow": "supported";
460
468
  readonly "firestore.function.math.round": "supported";
@@ -479,9 +487,9 @@ export declare const CONFORMANCE_VERDICTS: {
479
487
  readonly "firestore.method.list.toSet": "supported";
480
488
  readonly "firestore.method.map.diff": "supported";
481
489
  readonly "firestore.method.map.get": "supported";
482
- readonly "firestore.method.map.hasAll": "unsupported";
483
- readonly "firestore.method.map.hasAny": "unsupported";
484
- readonly "firestore.method.map.hasOnly": "unsupported";
490
+ readonly "firestore.method.map.hasAll": "supported";
491
+ readonly "firestore.method.map.hasAny": "supported";
492
+ readonly "firestore.method.map.hasOnly": "supported";
485
493
  readonly "firestore.method.map.keys": "supported";
486
494
  readonly "firestore.method.map.size": "supported";
487
495
  readonly "firestore.method.map.values": "supported";
@@ -871,62 +879,62 @@ export declare const CONFORMANCE_VERDICTS: {
871
879
  readonly "rtdb-rules#7": "supported";
872
880
  readonly "rtdb-rules#8": "supported";
873
881
  readonly "rtdb-rules#9": "supported";
874
- readonly "rtdb.binding.auth": "qualified";
875
- readonly "rtdb.binding.auth.token": "qualified";
876
- readonly "rtdb.binding.auth.uid": "qualified";
877
- readonly "rtdb.binding.data": "qualified";
878
- readonly "rtdb.binding.newData": "qualified";
879
- readonly "rtdb.binding.now": "qualified";
880
- readonly "rtdb.binding.path-variable": "qualified";
881
- readonly "rtdb.binding.root": "qualified";
882
- readonly "rtdb.method.snapshot.child": "qualified";
883
- readonly "rtdb.method.snapshot.exists": "qualified";
884
- readonly "rtdb.method.snapshot.getPriority": "qualified";
885
- readonly "rtdb.method.snapshot.hasChild": "qualified";
886
- readonly "rtdb.method.snapshot.hasChildren": "qualified";
887
- readonly "rtdb.method.snapshot.isBoolean": "qualified";
888
- readonly "rtdb.method.snapshot.isNumber": "qualified";
889
- readonly "rtdb.method.snapshot.isString": "qualified";
890
- readonly "rtdb.method.snapshot.parent": "qualified";
891
- readonly "rtdb.method.snapshot.val": "qualified";
892
- readonly "rtdb.method.string.beginsWith": "qualified";
893
- readonly "rtdb.method.string.contains": "qualified";
894
- readonly "rtdb.method.string.endsWith": "qualified";
895
- readonly "rtdb.method.string.length": "qualified";
896
- readonly "rtdb.method.string.matches": "qualified";
897
- readonly "rtdb.method.string.replace": "qualified";
898
- readonly "rtdb.method.string.toLowerCase": "qualified";
899
- readonly "rtdb.method.string.toUpperCase": "qualified";
900
- readonly "rtdb.operator.add": "qualified";
901
- readonly "rtdb.operator.and": "qualified";
902
- readonly "rtdb.operator.div": "qualified";
903
- readonly "rtdb.operator.gt": "qualified";
904
- readonly "rtdb.operator.gte": "qualified";
905
- readonly "rtdb.operator.index": "qualified";
906
- readonly "rtdb.operator.looseEq": "qualified";
907
- readonly "rtdb.operator.looseNeq": "qualified";
908
- readonly "rtdb.operator.lt": "qualified";
909
- readonly "rtdb.operator.lte": "qualified";
910
- readonly "rtdb.operator.member": "qualified";
911
- readonly "rtdb.operator.mod": "qualified";
912
- readonly "rtdb.operator.mul": "qualified";
913
- readonly "rtdb.operator.neg": "qualified";
914
- readonly "rtdb.operator.not": "qualified";
915
- readonly "rtdb.operator.or": "qualified";
916
- readonly "rtdb.operator.strictEq": "qualified";
917
- readonly "rtdb.operator.strictNeq": "qualified";
918
- readonly "rtdb.operator.sub": "qualified";
919
- readonly "rtdb.operator.ternary": "qualified";
920
- readonly "rtdb.rule-kind.indexOn": "qualified";
921
- readonly "rtdb.rule-kind.location-wildcard": "qualified";
922
- readonly "rtdb.rule-kind.read": "qualified";
923
- readonly "rtdb.rule-kind.validate": "qualified";
924
- readonly "rtdb.rule-kind.write": "qualified";
882
+ readonly "rtdb.binding.auth": "supported";
883
+ readonly "rtdb.binding.auth.token": "supported";
884
+ readonly "rtdb.binding.auth.uid": "supported";
885
+ readonly "rtdb.binding.data": "supported";
886
+ readonly "rtdb.binding.newData": "supported";
887
+ readonly "rtdb.binding.now": "supported";
888
+ readonly "rtdb.binding.path-variable": "supported";
889
+ readonly "rtdb.binding.root": "supported";
890
+ readonly "rtdb.method.snapshot.child": "supported";
891
+ readonly "rtdb.method.snapshot.exists": "supported";
892
+ readonly "rtdb.method.snapshot.getPriority": "supported";
893
+ readonly "rtdb.method.snapshot.hasChild": "supported";
894
+ readonly "rtdb.method.snapshot.hasChildren": "supported";
895
+ readonly "rtdb.method.snapshot.isBoolean": "supported";
896
+ readonly "rtdb.method.snapshot.isNumber": "supported";
897
+ readonly "rtdb.method.snapshot.isString": "supported";
898
+ readonly "rtdb.method.snapshot.parent": "supported";
899
+ readonly "rtdb.method.snapshot.val": "supported";
900
+ readonly "rtdb.method.string.beginsWith": "supported";
901
+ readonly "rtdb.method.string.contains": "supported";
902
+ readonly "rtdb.method.string.endsWith": "supported";
903
+ readonly "rtdb.method.string.length": "supported";
904
+ readonly "rtdb.method.string.matches": "supported";
905
+ readonly "rtdb.method.string.replace": "supported";
906
+ readonly "rtdb.method.string.toLowerCase": "supported";
907
+ readonly "rtdb.method.string.toUpperCase": "supported";
908
+ readonly "rtdb.operator.add": "supported";
909
+ readonly "rtdb.operator.and": "supported";
910
+ readonly "rtdb.operator.div": "supported";
911
+ readonly "rtdb.operator.gt": "supported";
912
+ readonly "rtdb.operator.gte": "supported";
913
+ readonly "rtdb.operator.index": "supported";
914
+ readonly "rtdb.operator.looseEq": "supported";
915
+ readonly "rtdb.operator.looseNeq": "supported";
916
+ readonly "rtdb.operator.lt": "supported";
917
+ readonly "rtdb.operator.lte": "supported";
918
+ readonly "rtdb.operator.member": "supported";
919
+ readonly "rtdb.operator.mod": "supported";
920
+ readonly "rtdb.operator.mul": "supported";
921
+ readonly "rtdb.operator.neg": "supported";
922
+ readonly "rtdb.operator.not": "supported";
923
+ readonly "rtdb.operator.or": "supported";
924
+ readonly "rtdb.operator.strictEq": "supported";
925
+ readonly "rtdb.operator.strictNeq": "supported";
926
+ readonly "rtdb.operator.sub": "supported";
927
+ readonly "rtdb.operator.ternary": "supported";
928
+ readonly "rtdb.rule-kind.indexOn": "supported";
929
+ readonly "rtdb.rule-kind.location-wildcard": "supported";
930
+ readonly "rtdb.rule-kind.read": "supported";
931
+ readonly "rtdb.rule-kind.validate": "supported";
932
+ readonly "rtdb.rule-kind.write": "supported";
925
933
  readonly "rtdb.semantic.deny-by-default": "qualified";
926
- readonly "rtdb.semantic.read-cascade": "qualified";
927
- readonly "rtdb.semantic.regex-literal": "qualified";
928
- readonly "rtdb.semantic.validate-non-cascade": "qualified";
929
- readonly "rtdb.semantic.write-cascade": "qualified";
934
+ readonly "rtdb.semantic.read-cascade": "supported";
935
+ readonly "rtdb.semantic.regex-literal": "supported";
936
+ readonly "rtdb.semantic.validate-non-cascade": "supported";
937
+ readonly "rtdb.semantic.write-cascade": "supported";
930
938
  readonly "storage#1": "supported";
931
939
  readonly "storage#10": "supported";
932
940
  readonly "storage#105": "supported";
@@ -973,12 +981,12 @@ export declare const CONFORMANCE_VERDICTS: {
973
981
  readonly "storage#44": "supported";
974
982
  readonly "storage#45": "supported";
975
983
  readonly "storage#46": "supported";
976
- readonly "storage#47": "unsupported";
977
- readonly "storage#48": "unsupported";
978
- readonly "storage#49": "unsupported";
984
+ readonly "storage#47": "qualified";
985
+ readonly "storage#48": "qualified";
986
+ readonly "storage#49": "qualified";
979
987
  readonly "storage#4a": "supported";
980
988
  readonly "storage#5": "supported";
981
- readonly "storage#50": "unsupported";
989
+ readonly "storage#50": "qualified";
982
990
  readonly "storage#51": "qualified";
983
991
  readonly "storage#52": "supported";
984
992
  readonly "storage#53": "supported";
@@ -1089,30 +1097,30 @@ export declare const CONFORMANCE_VERDICTS: {
1089
1097
  readonly "storage.method.map.get": "supported";
1090
1098
  readonly "storage.method.map.keys": "supported";
1091
1099
  readonly "storage.method.set.hasAll": "supported";
1092
- readonly "storage.method.size": "qualified";
1100
+ readonly "storage.method.size": "supported";
1093
1101
  readonly "storage.method.string.matches": "supported";
1094
- readonly "storage.method.string.split": "qualified";
1102
+ readonly "storage.method.string.split": "supported";
1095
1103
  readonly "storage.operator.add": "supported";
1096
1104
  readonly "storage.operator.and": "supported";
1097
1105
  readonly "storage.operator.div": "supported";
1098
1106
  readonly "storage.operator.eq": "supported";
1099
1107
  readonly "storage.operator.gt": "supported";
1100
1108
  readonly "storage.operator.gte": "supported";
1101
- readonly "storage.operator.in": "qualified";
1109
+ readonly "storage.operator.in": "supported";
1102
1110
  readonly "storage.operator.index": "supported";
1103
- readonly "storage.operator.is": "qualified";
1111
+ readonly "storage.operator.is": "supported";
1104
1112
  readonly "storage.operator.lt": "supported";
1105
1113
  readonly "storage.operator.lte": "supported";
1106
1114
  readonly "storage.operator.member": "supported";
1107
- readonly "storage.operator.mod": "qualified";
1115
+ readonly "storage.operator.mod": "supported";
1108
1116
  readonly "storage.operator.mul": "supported";
1109
1117
  readonly "storage.operator.neq": "supported";
1110
1118
  readonly "storage.operator.not": "supported";
1111
1119
  readonly "storage.operator.or": "supported";
1112
- readonly "storage.operator.slice": "qualified";
1120
+ readonly "storage.operator.slice": "supported";
1113
1121
  readonly "storage.operator.sub": "supported";
1114
- readonly "storage.operator.ternary": "qualified";
1115
- readonly "storage.operator.unary-minus": "qualified";
1122
+ readonly "storage.operator.ternary": "supported";
1123
+ readonly "storage.operator.unary-minus": "supported";
1116
1124
  readonly "storage.rule-kind.allow-create": "supported";
1117
1125
  readonly "storage.rule-kind.allow-delete": "supported";
1118
1126
  readonly "storage.rule-kind.allow-get": "supported";
@@ -1 +1 @@
1
- {"version":3,"file":"conformance-verdicts.d.ts","sourceRoot":"","sources":["../../../src/assurance/.generated/conformance-verdicts.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAymCgC,CAAC"}
1
+ {"version":3,"file":"conformance-verdicts.d.ts","sourceRoot":"","sources":["../../../src/assurance/.generated/conformance-verdicts.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAinCgC,CAAC"}
@@ -284,7 +284,13 @@ export const CONFORMANCE_VERDICTS = {
284
284
  "firestore#149": "qualified",
285
285
  "firestore#15": "supported",
286
286
  "firestore#150": "supported",
287
+ "firestore#151": "supported",
287
288
  "firestore#152": "supported",
289
+ "firestore#153": "supported",
290
+ "firestore#154": "supported",
291
+ "firestore#155": "supported",
292
+ "firestore#156": "supported",
293
+ "firestore#157": "supported",
288
294
  "firestore#16": "supported",
289
295
  "firestore#17": "supported",
290
296
  "firestore#18": "supported",
@@ -416,6 +422,8 @@ export const CONFORMANCE_VERDICTS = {
416
422
  "firestore-rules#187": "supported",
417
423
  "firestore-rules#188": "supported",
418
424
  "firestore-rules#189": "supported",
425
+ "firestore-rules#190": "supported",
426
+ "firestore-rules#191": "supported",
419
427
  "firestore.binding.path-variable": "supported",
420
428
  "firestore.binding.request": "supported",
421
429
  "firestore.binding.request.auth": "supported",
@@ -432,7 +440,7 @@ export const CONFORMANCE_VERDICTS = {
432
440
  "firestore.binding.resource.__name__": "supported",
433
441
  "firestore.binding.resource.data": "supported",
434
442
  "firestore.binding.resource.id": "supported",
435
- "firestore.function.cast.bool": "unsupported",
443
+ "firestore.function.cast.bool": "supported",
436
444
  "firestore.function.cast.float": "supported",
437
445
  "firestore.function.cast.int": "supported",
438
446
  "firestore.function.cast.path": "supported",
@@ -453,7 +461,7 @@ export const CONFORMANCE_VERDICTS = {
453
461
  "firestore.function.math.abs": "supported",
454
462
  "firestore.function.math.ceil": "supported",
455
463
  "firestore.function.math.floor": "supported",
456
- "firestore.function.math.isInfinite": "unsupported",
464
+ "firestore.function.math.isInfinite": "supported",
457
465
  "firestore.function.math.isNaN": "supported",
458
466
  "firestore.function.math.pow": "supported",
459
467
  "firestore.function.math.round": "supported",
@@ -478,9 +486,9 @@ export const CONFORMANCE_VERDICTS = {
478
486
  "firestore.method.list.toSet": "supported",
479
487
  "firestore.method.map.diff": "supported",
480
488
  "firestore.method.map.get": "supported",
481
- "firestore.method.map.hasAll": "unsupported",
482
- "firestore.method.map.hasAny": "unsupported",
483
- "firestore.method.map.hasOnly": "unsupported",
489
+ "firestore.method.map.hasAll": "supported",
490
+ "firestore.method.map.hasAny": "supported",
491
+ "firestore.method.map.hasOnly": "supported",
484
492
  "firestore.method.map.keys": "supported",
485
493
  "firestore.method.map.size": "supported",
486
494
  "firestore.method.map.values": "supported",
@@ -870,62 +878,62 @@ export const CONFORMANCE_VERDICTS = {
870
878
  "rtdb-rules#7": "supported",
871
879
  "rtdb-rules#8": "supported",
872
880
  "rtdb-rules#9": "supported",
873
- "rtdb.binding.auth": "qualified",
874
- "rtdb.binding.auth.token": "qualified",
875
- "rtdb.binding.auth.uid": "qualified",
876
- "rtdb.binding.data": "qualified",
877
- "rtdb.binding.newData": "qualified",
878
- "rtdb.binding.now": "qualified",
879
- "rtdb.binding.path-variable": "qualified",
880
- "rtdb.binding.root": "qualified",
881
- "rtdb.method.snapshot.child": "qualified",
882
- "rtdb.method.snapshot.exists": "qualified",
883
- "rtdb.method.snapshot.getPriority": "qualified",
884
- "rtdb.method.snapshot.hasChild": "qualified",
885
- "rtdb.method.snapshot.hasChildren": "qualified",
886
- "rtdb.method.snapshot.isBoolean": "qualified",
887
- "rtdb.method.snapshot.isNumber": "qualified",
888
- "rtdb.method.snapshot.isString": "qualified",
889
- "rtdb.method.snapshot.parent": "qualified",
890
- "rtdb.method.snapshot.val": "qualified",
891
- "rtdb.method.string.beginsWith": "qualified",
892
- "rtdb.method.string.contains": "qualified",
893
- "rtdb.method.string.endsWith": "qualified",
894
- "rtdb.method.string.length": "qualified",
895
- "rtdb.method.string.matches": "qualified",
896
- "rtdb.method.string.replace": "qualified",
897
- "rtdb.method.string.toLowerCase": "qualified",
898
- "rtdb.method.string.toUpperCase": "qualified",
899
- "rtdb.operator.add": "qualified",
900
- "rtdb.operator.and": "qualified",
901
- "rtdb.operator.div": "qualified",
902
- "rtdb.operator.gt": "qualified",
903
- "rtdb.operator.gte": "qualified",
904
- "rtdb.operator.index": "qualified",
905
- "rtdb.operator.looseEq": "qualified",
906
- "rtdb.operator.looseNeq": "qualified",
907
- "rtdb.operator.lt": "qualified",
908
- "rtdb.operator.lte": "qualified",
909
- "rtdb.operator.member": "qualified",
910
- "rtdb.operator.mod": "qualified",
911
- "rtdb.operator.mul": "qualified",
912
- "rtdb.operator.neg": "qualified",
913
- "rtdb.operator.not": "qualified",
914
- "rtdb.operator.or": "qualified",
915
- "rtdb.operator.strictEq": "qualified",
916
- "rtdb.operator.strictNeq": "qualified",
917
- "rtdb.operator.sub": "qualified",
918
- "rtdb.operator.ternary": "qualified",
919
- "rtdb.rule-kind.indexOn": "qualified",
920
- "rtdb.rule-kind.location-wildcard": "qualified",
921
- "rtdb.rule-kind.read": "qualified",
922
- "rtdb.rule-kind.validate": "qualified",
923
- "rtdb.rule-kind.write": "qualified",
881
+ "rtdb.binding.auth": "supported",
882
+ "rtdb.binding.auth.token": "supported",
883
+ "rtdb.binding.auth.uid": "supported",
884
+ "rtdb.binding.data": "supported",
885
+ "rtdb.binding.newData": "supported",
886
+ "rtdb.binding.now": "supported",
887
+ "rtdb.binding.path-variable": "supported",
888
+ "rtdb.binding.root": "supported",
889
+ "rtdb.method.snapshot.child": "supported",
890
+ "rtdb.method.snapshot.exists": "supported",
891
+ "rtdb.method.snapshot.getPriority": "supported",
892
+ "rtdb.method.snapshot.hasChild": "supported",
893
+ "rtdb.method.snapshot.hasChildren": "supported",
894
+ "rtdb.method.snapshot.isBoolean": "supported",
895
+ "rtdb.method.snapshot.isNumber": "supported",
896
+ "rtdb.method.snapshot.isString": "supported",
897
+ "rtdb.method.snapshot.parent": "supported",
898
+ "rtdb.method.snapshot.val": "supported",
899
+ "rtdb.method.string.beginsWith": "supported",
900
+ "rtdb.method.string.contains": "supported",
901
+ "rtdb.method.string.endsWith": "supported",
902
+ "rtdb.method.string.length": "supported",
903
+ "rtdb.method.string.matches": "supported",
904
+ "rtdb.method.string.replace": "supported",
905
+ "rtdb.method.string.toLowerCase": "supported",
906
+ "rtdb.method.string.toUpperCase": "supported",
907
+ "rtdb.operator.add": "supported",
908
+ "rtdb.operator.and": "supported",
909
+ "rtdb.operator.div": "supported",
910
+ "rtdb.operator.gt": "supported",
911
+ "rtdb.operator.gte": "supported",
912
+ "rtdb.operator.index": "supported",
913
+ "rtdb.operator.looseEq": "supported",
914
+ "rtdb.operator.looseNeq": "supported",
915
+ "rtdb.operator.lt": "supported",
916
+ "rtdb.operator.lte": "supported",
917
+ "rtdb.operator.member": "supported",
918
+ "rtdb.operator.mod": "supported",
919
+ "rtdb.operator.mul": "supported",
920
+ "rtdb.operator.neg": "supported",
921
+ "rtdb.operator.not": "supported",
922
+ "rtdb.operator.or": "supported",
923
+ "rtdb.operator.strictEq": "supported",
924
+ "rtdb.operator.strictNeq": "supported",
925
+ "rtdb.operator.sub": "supported",
926
+ "rtdb.operator.ternary": "supported",
927
+ "rtdb.rule-kind.indexOn": "supported",
928
+ "rtdb.rule-kind.location-wildcard": "supported",
929
+ "rtdb.rule-kind.read": "supported",
930
+ "rtdb.rule-kind.validate": "supported",
931
+ "rtdb.rule-kind.write": "supported",
924
932
  "rtdb.semantic.deny-by-default": "qualified",
925
- "rtdb.semantic.read-cascade": "qualified",
926
- "rtdb.semantic.regex-literal": "qualified",
927
- "rtdb.semantic.validate-non-cascade": "qualified",
928
- "rtdb.semantic.write-cascade": "qualified",
933
+ "rtdb.semantic.read-cascade": "supported",
934
+ "rtdb.semantic.regex-literal": "supported",
935
+ "rtdb.semantic.validate-non-cascade": "supported",
936
+ "rtdb.semantic.write-cascade": "supported",
929
937
  "storage#1": "supported",
930
938
  "storage#10": "supported",
931
939
  "storage#105": "supported",
@@ -972,12 +980,12 @@ export const CONFORMANCE_VERDICTS = {
972
980
  "storage#44": "supported",
973
981
  "storage#45": "supported",
974
982
  "storage#46": "supported",
975
- "storage#47": "unsupported",
976
- "storage#48": "unsupported",
977
- "storage#49": "unsupported",
983
+ "storage#47": "qualified",
984
+ "storage#48": "qualified",
985
+ "storage#49": "qualified",
978
986
  "storage#4a": "supported",
979
987
  "storage#5": "supported",
980
- "storage#50": "unsupported",
988
+ "storage#50": "qualified",
981
989
  "storage#51": "qualified",
982
990
  "storage#52": "supported",
983
991
  "storage#53": "supported",
@@ -1088,30 +1096,30 @@ export const CONFORMANCE_VERDICTS = {
1088
1096
  "storage.method.map.get": "supported",
1089
1097
  "storage.method.map.keys": "supported",
1090
1098
  "storage.method.set.hasAll": "supported",
1091
- "storage.method.size": "qualified",
1099
+ "storage.method.size": "supported",
1092
1100
  "storage.method.string.matches": "supported",
1093
- "storage.method.string.split": "qualified",
1101
+ "storage.method.string.split": "supported",
1094
1102
  "storage.operator.add": "supported",
1095
1103
  "storage.operator.and": "supported",
1096
1104
  "storage.operator.div": "supported",
1097
1105
  "storage.operator.eq": "supported",
1098
1106
  "storage.operator.gt": "supported",
1099
1107
  "storage.operator.gte": "supported",
1100
- "storage.operator.in": "qualified",
1108
+ "storage.operator.in": "supported",
1101
1109
  "storage.operator.index": "supported",
1102
- "storage.operator.is": "qualified",
1110
+ "storage.operator.is": "supported",
1103
1111
  "storage.operator.lt": "supported",
1104
1112
  "storage.operator.lte": "supported",
1105
1113
  "storage.operator.member": "supported",
1106
- "storage.operator.mod": "qualified",
1114
+ "storage.operator.mod": "supported",
1107
1115
  "storage.operator.mul": "supported",
1108
1116
  "storage.operator.neq": "supported",
1109
1117
  "storage.operator.not": "supported",
1110
1118
  "storage.operator.or": "supported",
1111
- "storage.operator.slice": "qualified",
1119
+ "storage.operator.slice": "supported",
1112
1120
  "storage.operator.sub": "supported",
1113
- "storage.operator.ternary": "qualified",
1114
- "storage.operator.unary-minus": "qualified",
1121
+ "storage.operator.ternary": "supported",
1122
+ "storage.operator.unary-minus": "supported",
1115
1123
  "storage.rule-kind.allow-create": "supported",
1116
1124
  "storage.rule-kind.allow-delete": "supported",
1117
1125
  "storage.rule-kind.allow-get": "supported",