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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +13 -9
  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/cli/database-rules.d.ts.map +1 -1
  7. package/dist/cli/database-rules.js +6 -4
  8. package/dist/cli/database-rules.js.map +1 -1
  9. package/dist/cli/dev-runner.d.ts +9 -0
  10. package/dist/cli/dev-runner.d.ts.map +1 -1
  11. package/dist/cli/dev-runner.js +18 -0
  12. package/dist/cli/dev-runner.js.map +1 -1
  13. package/dist/cli/serve.d.ts.map +1 -1
  14. package/dist/cli/serve.js +61 -6
  15. package/dist/cli/serve.js.map +1 -1
  16. package/dist/cli/verify.js +2 -2
  17. package/dist/cli/verify.js.map +1 -1
  18. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
  19. package/dist/conformance/.generated/can-i-use-browser.js +1 -1
  20. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
  21. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  22. package/dist/conformance/.generated/can-i-use.js +1 -1
  23. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  24. package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
  25. package/dist/conformance/.generated/conformance-docs.js +1 -1
  26. package/dist/conformance/.generated/conformance-docs.js.map +1 -1
  27. package/dist/next/client-aliases.d.ts +11 -0
  28. package/dist/next/client-aliases.d.ts.map +1 -0
  29. package/dist/next/client-aliases.js +38 -0
  30. package/dist/next/client-aliases.js.map +1 -0
  31. package/dist/next/dev-rewrites.d.ts +9 -0
  32. package/dist/next/dev-rewrites.d.ts.map +1 -0
  33. package/dist/next/dev-rewrites.js +53 -0
  34. package/dist/next/dev-rewrites.js.map +1 -0
  35. package/dist/next/guard.d.ts +15 -0
  36. package/dist/next/guard.d.ts.map +1 -0
  37. package/dist/next/guard.js +52 -0
  38. package/dist/next/guard.js.map +1 -0
  39. package/dist/next/index.d.ts +12 -0
  40. package/dist/next/index.d.ts.map +1 -0
  41. package/dist/next/index.js +11 -0
  42. package/dist/next/index.js.map +1 -0
  43. package/dist/next/runtime-env.d.ts +7 -0
  44. package/dist/next/runtime-env.d.ts.map +1 -0
  45. package/dist/next/runtime-env.js +13 -0
  46. package/dist/next/runtime-env.js.map +1 -0
  47. package/dist/next/server-external-packages.d.ts +10 -0
  48. package/dist/next/server-external-packages.d.ts.map +1 -0
  49. package/dist/next/server-external-packages.js +34 -0
  50. package/dist/next/server-external-packages.js.map +1 -0
  51. package/dist/next/target-url.d.ts +11 -0
  52. package/dist/next/target-url.d.ts.map +1 -0
  53. package/dist/next/target-url.js +36 -0
  54. package/dist/next/target-url.js.map +1 -0
  55. package/dist/next/turbopack-config.d.ts +9 -0
  56. package/dist/next/turbopack-config.d.ts.map +1 -0
  57. package/dist/next/turbopack-config.js +39 -0
  58. package/dist/next/turbopack-config.js.map +1 -0
  59. package/dist/next/types.d.ts +40 -0
  60. package/dist/next/types.d.ts.map +1 -0
  61. package/dist/next/types.js +5 -0
  62. package/dist/next/types.js.map +1 -0
  63. package/dist/next/webpack-config.d.ts +11 -0
  64. package/dist/next/webpack-config.d.ts.map +1 -0
  65. package/dist/next/webpack-config.js +51 -0
  66. package/dist/next/webpack-config.js.map +1 -0
  67. package/dist/next/with-pyric.d.ts +22 -0
  68. package/dist/next/with-pyric.d.ts.map +1 -0
  69. package/dist/next/with-pyric.js +49 -0
  70. package/dist/next/with-pyric.js.map +1 -0
  71. package/dist/register/app-bridge.d.ts +9 -0
  72. package/dist/register/app-bridge.d.ts.map +1 -0
  73. package/dist/register/app-bridge.js +56 -0
  74. package/dist/register/app-bridge.js.map +1 -0
  75. package/dist/register/hooks.d.ts.map +1 -1
  76. package/dist/register/hooks.js +6 -1
  77. package/dist/register/hooks.js.map +1 -1
  78. package/dist/register/index.js +1 -1
  79. package/dist/register/index.js.map +1 -1
  80. package/dist/register/mapping.d.ts +3 -1
  81. package/dist/register/mapping.d.ts.map +1 -1
  82. package/dist/register/mapping.js +41 -5
  83. package/dist/register/mapping.js.map +1 -1
  84. package/dist/rtdb/rules-json.d.ts +12 -0
  85. package/dist/rtdb/rules-json.d.ts.map +1 -1
  86. package/dist/rtdb/rules-json.js +98 -0
  87. package/dist/rtdb/rules-json.js.map +1 -1
  88. package/dist/serve/bundler.d.ts.map +1 -1
  89. package/dist/serve/bundler.js +2 -0
  90. package/dist/serve/bundler.js.map +1 -1
  91. package/dist/serve/discovery.d.ts +4 -4
  92. package/dist/serve/discovery.d.ts.map +1 -1
  93. package/dist/serve/discovery.js +59 -38
  94. package/dist/serve/discovery.js.map +1 -1
  95. package/dist/serve/entries/app-ai-passthrough.d.ts +8 -0
  96. package/dist/serve/entries/app-ai-passthrough.d.ts.map +1 -0
  97. package/dist/serve/entries/app-ai-passthrough.js +59 -0
  98. package/dist/serve/entries/app-ai-passthrough.js.map +1 -0
  99. package/dist/serve/entries/auth-helper-core.js +9 -7
  100. package/dist/serve/entries/auth-helper-core.js.map +1 -1
  101. package/dist/serve/entries/auth.d.ts +1 -0
  102. package/dist/serve/entries/auth.d.ts.map +1 -1
  103. package/dist/serve/entries/auth.js +1 -0
  104. package/dist/serve/entries/auth.js.map +1 -1
  105. package/dist/serve/entries/bridge-url.d.ts.map +1 -1
  106. package/dist/serve/entries/bridge-url.js +7 -2
  107. package/dist/serve/entries/bridge-url.js.map +1 -1
  108. package/dist/serve/entries/database.d.ts +1 -0
  109. package/dist/serve/entries/database.d.ts.map +1 -1
  110. package/dist/serve/entries/database.js +1 -0
  111. package/dist/serve/entries/database.js.map +1 -1
  112. package/dist/serve/entries/firestore.d.ts +1 -0
  113. package/dist/serve/entries/firestore.d.ts.map +1 -1
  114. package/dist/serve/entries/firestore.js +1 -0
  115. package/dist/serve/entries/firestore.js.map +1 -1
  116. package/dist/serve/entries/init.d.ts.map +1 -1
  117. package/dist/serve/entries/init.js +4 -2
  118. package/dist/serve/entries/init.js.map +1 -1
  119. package/dist/serve/entries/runtime.js +23 -0
  120. package/dist/serve/entries/runtime.js.map +1 -1
  121. package/dist/serve/entries/storage.d.ts +2 -0
  122. package/dist/serve/entries/storage.d.ts.map +1 -1
  123. package/dist/serve/entries/storage.js +9 -2
  124. package/dist/serve/entries/storage.js.map +1 -1
  125. package/dist/serve/html-injection.d.ts +3 -1
  126. package/dist/serve/html-injection.d.ts.map +1 -1
  127. package/dist/serve/html-injection.js +27 -1
  128. package/dist/serve/html-injection.js.map +1 -1
  129. package/dist/serve/rules.js +2 -2
  130. package/dist/serve/rules.js.map +1 -1
  131. package/dist/serve/runtime/chip-config.d.ts +1 -1
  132. package/dist/serve/runtime/chip-config.d.ts.map +1 -1
  133. package/dist/serve/runtime/chip-config.js +16 -8
  134. package/dist/serve/runtime/chip-config.js.map +1 -1
  135. package/dist/serve/sandbox-session.d.ts +1 -0
  136. package/dist/serve/sandbox-session.d.ts.map +1 -1
  137. package/dist/serve/sandbox-session.js +30 -2
  138. package/dist/serve/sandbox-session.js.map +1 -1
  139. package/dist/serve/site-ui/_astro/_studio_.B6b_G1ev.css +1 -0
  140. package/dist/serve/site-ui/_astro/app.bnmVTkIY.js +11 -0
  141. package/dist/serve/site-ui/_astro/app.t6u-adB_.js +1 -0
  142. package/dist/serve/site-ui/_astro/{chess-showcase.CnoxIle5.js → chess-showcase.kC8dXLKY.js} +1 -1
  143. package/dist/serve/site-ui/_astro/{example-runtime.R1d96L6-.js → example-runtime.D79PnoSk.js} +1 -1
  144. package/dist/serve/site-ui/_astro/index.DzVde04M.js +1 -0
  145. package/dist/serve/site-ui/_astro/reads.BYBRLbsE.js +1 -0
  146. package/dist/serve/site-ui/_astro/sandbox-controls.C9Aaazt8.js +1252 -0
  147. package/dist/serve/site-ui/_astro/{seed.EyI3VYEu.js → seed.DANAIyRw.js} +1 -1
  148. package/dist/serve/site-ui/auth/index.html +2 -2
  149. package/dist/serve/site-ui/docs/_rhythm/index.html +1 -1
  150. package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +1 -1
  151. package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +1 -1
  152. package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +1 -1
  153. package/dist/serve/site-ui/docs/ai-compat/index.html +85 -85
  154. package/dist/serve/site-ui/docs/ai-compat.md +84 -84
  155. package/dist/serve/site-ui/docs/api-reference/index.html +3 -1
  156. package/dist/serve/site-ui/docs/api-reference.md +2 -0
  157. package/dist/serve/site-ui/docs/app-compat/index.html +28 -28
  158. package/dist/serve/site-ui/docs/app-compat.md +27 -27
  159. package/dist/serve/site-ui/docs/auth-compat/index.html +122 -122
  160. package/dist/serve/site-ui/docs/auth-compat.md +121 -121
  161. package/dist/serve/site-ui/docs/build/ai-logic/index.html +1 -1
  162. package/dist/serve/site-ui/docs/build/authentication/index.html +1 -1
  163. package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +1 -1
  164. package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +1 -1
  165. package/dist/serve/site-ui/docs/build/cloud-storage/index.html +1 -1
  166. package/dist/serve/site-ui/docs/build/realtime-database/index.html +1 -1
  167. package/dist/serve/site-ui/docs/conformance-scores/index.html +4 -4
  168. package/dist/serve/site-ui/docs/conformance-scores.md +3 -3
  169. package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +6 -6
  170. package/dist/serve/site-ui/docs/create-pyric-reference-api.md +5 -5
  171. package/dist/serve/site-ui/docs/database-compat/index.html +200 -448
  172. package/dist/serve/site-ui/docs/database-compat.md +198 -461
  173. package/dist/serve/site-ui/docs/examples/chess/index.html +2 -2
  174. package/dist/serve/site-ui/docs/examples/index.html +1 -1
  175. package/dist/serve/site-ui/docs/firestore-compat/index.html +186 -195
  176. package/dist/serve/site-ui/docs/firestore-compat.md +184 -195
  177. package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +15 -15
  178. package/dist/serve/site-ui/docs/functions-rtdb-compat.md +14 -14
  179. package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +1 -1
  180. package/dist/serve/site-ui/docs/get-started/nextjs/index.html +57 -0
  181. package/dist/serve/site-ui/docs/get-started/nextjs.md +86 -0
  182. package/dist/serve/site-ui/docs/get-started/start-building/index.html +25 -8
  183. package/dist/serve/site-ui/docs/get-started/start-building.md +34 -5
  184. package/dist/serve/site-ui/docs/get-started/vite/index.html +26 -0
  185. package/dist/serve/site-ui/docs/get-started/vite.md +45 -0
  186. package/dist/serve/site-ui/docs/index.json +668 -103
  187. package/dist/serve/site-ui/docs/messaging-compat/index.html +56 -56
  188. package/dist/serve/site-ui/docs/messaging-compat.md +55 -55
  189. package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +1 -1
  190. package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +1 -1
  191. package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +1 -1
  192. package/dist/serve/site-ui/docs/overview/index.html +1 -1
  193. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +39 -13
  194. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api.md +28 -2
  195. package/dist/serve/site-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
  196. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api/index.html +38 -6
  197. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api.md +43 -0
  198. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api/index.html +9 -1
  199. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api.md +8 -0
  200. package/dist/serve/site-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
  201. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +27 -4
  202. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api.md +23 -0
  203. package/dist/serve/site-ui/docs/pyric-ai-reference-api/index.html +1 -1
  204. package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
  205. package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +1 -1
  206. package/dist/serve/site-ui/docs/pyric-auth-reference-api/index.html +1 -1
  207. package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
  208. package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
  209. package/dist/serve/site-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
  210. package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
  211. package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
  212. package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
  213. package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
  214. package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
  215. package/dist/serve/site-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
  216. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api/index.html +123 -0
  217. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api.md +99 -0
  218. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api/index.html +127 -0
  219. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api.md +174 -0
  220. package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
  221. package/dist/serve/site-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
  222. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api/index.html +570 -326
  223. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api.md +198 -6
  224. package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
  225. package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +1 -1
  226. package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +1 -1
  227. package/dist/serve/site-ui/docs/pyric-firestore-reference-api/index.html +2971 -627
  228. package/dist/serve/site-ui/docs/pyric-firestore-reference-api.md +2873 -517
  229. package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +1 -1
  230. package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
  231. package/dist/serve/site-ui/docs/pyric-rules-reference-api/index.html +43 -3
  232. package/dist/serve/site-ui/docs/pyric-rules-reference-api.md +8 -0
  233. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +26 -2
  234. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api.md +24 -0
  235. package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
  236. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api/index.html +77 -9
  237. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api.md +28 -13
  238. package/dist/serve/site-ui/docs/pyric-storage-reference-api/index.html +240 -63
  239. package/dist/serve/site-ui/docs/pyric-storage-reference-api.md +164 -5
  240. package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
  241. package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
  242. package/dist/serve/site-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
  243. package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
  244. package/dist/serve/site-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
  245. package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
  246. package/dist/serve/site-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
  247. package/dist/serve/site-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
  248. package/dist/serve/site-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
  249. package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
  250. package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
  251. package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
  252. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api/index.html +2 -1
  253. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api.md +1 -0
  254. package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
  255. package/dist/serve/site-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
  256. package/dist/serve/site-ui/docs/rules-compat/index.html +87 -79
  257. package/dist/serve/site-ui/docs/rules-compat.md +86 -78
  258. package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +1 -1
  259. package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +1 -1
  260. package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +1 -1
  261. package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
  262. package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +1 -1
  263. package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +1 -1
  264. package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +1 -1
  265. package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
  266. package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +1 -1
  267. package/dist/serve/site-ui/docs/ship/test-in-node/index.html +1 -1
  268. package/dist/serve/site-ui/docs/storage-compat/index.html +119 -125
  269. package/dist/serve/site-ui/docs/storage-compat.md +118 -124
  270. package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
  271. package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +1 -1
  272. package/dist/serve/site-ui/docs/trust/storage-rules-stdlib-research/index.html +1 -1
  273. package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
  274. package/dist/serve/site-ui/docs/tutorial/index.html +1 -1
  275. package/dist/serve/site-ui/examples/chess/index.html +1 -1
  276. package/dist/serve/site-ui/examples/firestore-first-write/index.html +1 -1
  277. package/dist/serve/site-ui/firestore/index.html +2 -2
  278. package/dist/serve/site-ui/index.html +2 -2
  279. package/dist/serve/site-ui/llms.txt +6 -2
  280. package/dist/serve/site-ui/rtdb/index.html +2 -2
  281. package/dist/serve/site-ui/settings/index.html +2 -2
  282. package/dist/serve/site-ui/storage/index.html +2 -2
  283. package/dist/serve/site-ui/traffic/index.html +2 -2
  284. package/dist/serve/vite-ai-config.d.ts +4 -1
  285. package/dist/serve/vite-ai-config.d.ts.map +1 -1
  286. package/dist/serve/vite-ai-config.js +83 -19
  287. package/dist/serve/vite-ai-config.js.map +1 -1
  288. package/dist/serve/vite-generation-rules-watch.d.ts.map +1 -1
  289. package/dist/serve/vite-generation-rules-watch.js +61 -14
  290. package/dist/serve/vite-generation-rules-watch.js.map +1 -1
  291. package/dist/serve/vite-module-swap.d.ts +4 -1
  292. package/dist/serve/vite-module-swap.d.ts.map +1 -1
  293. package/dist/serve/vite-module-swap.js +106 -21
  294. package/dist/serve/vite-module-swap.js.map +1 -1
  295. package/dist/serve/vite-plugin.d.ts.map +1 -1
  296. package/dist/serve/vite-plugin.js +45 -5
  297. package/dist/serve/vite-plugin.js.map +1 -1
  298. package/dist/serve/vite-sandbox-generation.js +1 -1
  299. package/dist/serve/vite-sandbox-generation.js.map +1 -1
  300. package/dist/serve/worker/client/resumable.d.ts +30 -0
  301. package/dist/serve/worker/client/resumable.d.ts.map +1 -0
  302. package/dist/serve/worker/client/resumable.js +416 -0
  303. package/dist/serve/worker/client/resumable.js.map +1 -0
  304. package/dist/serve/worker/client/rtdb-references.d.ts.map +1 -1
  305. package/dist/serve/worker/client/rtdb-references.js +4 -1
  306. package/dist/serve/worker/client/rtdb-references.js.map +1 -1
  307. package/dist/serve/worker/client/storage.d.ts +16 -2
  308. package/dist/serve/worker/client/storage.d.ts.map +1 -1
  309. package/dist/serve/worker/client/storage.js +57 -6
  310. package/dist/serve/worker/client/storage.js.map +1 -1
  311. package/dist/serve/worker/host/rules.d.ts.map +1 -1
  312. package/dist/serve/worker/host/rules.js +2 -1
  313. package/dist/serve/worker/host/rules.js.map +1 -1
  314. package/dist/serve/worker/index.d.ts +1 -1
  315. package/dist/serve/worker/index.d.ts.map +1 -1
  316. package/dist/serve/worker/index.js +1 -1
  317. package/dist/serve/worker/index.js.map +1 -1
  318. package/dist/serve/worker/serve-init.d.ts.map +1 -1
  319. package/dist/serve/worker/serve-init.js +31 -0
  320. package/dist/serve/worker/serve-init.js.map +1 -1
  321. package/package.json +15 -4
  322. package/src/assurance/.generated/conformance-verdicts.ts +80 -72
  323. package/src/cli/cli.test.ts +14 -0
  324. package/src/cli/database-rules.ts +6 -4
  325. package/src/cli/dev-runner.ts +21 -0
  326. package/src/cli/serve.ts +62 -5
  327. package/src/cli/verify.ts +2 -2
  328. package/src/conformance/.generated/can-i-use-browser.ts +1 -1
  329. package/src/conformance/.generated/can-i-use.ts +1 -1
  330. package/src/conformance/.generated/conformance-docs.ts +1 -1
  331. package/src/next/client-aliases.ts +39 -0
  332. package/src/next/dev-rewrites.ts +77 -0
  333. package/src/next/guard.ts +61 -0
  334. package/src/next/index.ts +16 -0
  335. package/src/next/runtime-env.ts +18 -0
  336. package/src/next/server-external-packages.ts +43 -0
  337. package/src/next/target-url.ts +46 -0
  338. package/src/next/turbopack-config.ts +54 -0
  339. package/src/next/types.ts +47 -0
  340. package/src/next/webpack-config.ts +71 -0
  341. package/src/next/with-pyric.ts +58 -0
  342. package/src/register/app-bridge.ts +79 -0
  343. package/src/register/hooks.ts +6 -1
  344. package/src/register/index.ts +1 -1
  345. package/src/register/mapping.ts +50 -4
  346. package/src/rtdb/rules-json.ts +110 -0
  347. package/src/serve/bundler.ts +2 -0
  348. package/src/serve/discovery.ts +65 -44
  349. package/src/serve/entries/app-ai-passthrough.ts +83 -0
  350. package/src/serve/entries/auth-helper-core.ts +9 -7
  351. package/src/serve/entries/auth.ts +1 -0
  352. package/src/serve/entries/bridge-url.ts +9 -2
  353. package/src/serve/entries/database.ts +1 -0
  354. package/src/serve/entries/firestore.ts +1 -0
  355. package/src/serve/entries/init.ts +5 -2
  356. package/src/serve/entries/runtime.ts +25 -0
  357. package/src/serve/entries/storage.ts +12 -1
  358. package/src/serve/html-injection.ts +26 -1
  359. package/src/serve/rules.ts +2 -2
  360. package/src/serve/runtime/chip-config.ts +19 -6
  361. package/src/serve/sandbox-session.ts +31 -2
  362. package/src/serve/vite-ai-config.ts +86 -19
  363. package/src/serve/vite-generation-rules-watch.ts +67 -15
  364. package/src/serve/vite-module-swap.ts +121 -21
  365. package/src/serve/vite-plugin.ts +44 -6
  366. package/src/serve/vite-sandbox-generation.ts +1 -1
  367. package/src/serve/worker/client/resumable.ts +506 -0
  368. package/src/serve/worker/client/rtdb-references.ts +4 -1
  369. package/src/serve/worker/client/storage.ts +77 -7
  370. package/src/serve/worker/host/rules.ts +2 -1
  371. package/src/serve/worker/index.ts +4 -0
  372. package/src/serve/worker/serve-init.ts +30 -0
  373. package/dist/serve/site-ui/_astro/_studio_.BtYpqe1A.css +0 -1
  374. package/dist/serve/site-ui/_astro/app.4HeLP_FA.js +0 -109
  375. package/dist/serve/site-ui/_astro/app.BgSnCR5G.js +0 -1
  376. package/dist/serve/site-ui/_astro/index.BJiOemMX.js +0 -1
  377. package/dist/serve/site-ui/_astro/reads.BrKNdKAa.js +0 -1
  378. 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
 
@@ -38,7 +38,7 @@ Add it to the existing Vite configuration:
38
38
  ```ts
39
39
  // vite.config.ts
40
40
  import { defineConfig } from 'vite';
41
- import { pyricSandbox } from '@pyric/cli/vite';
41
+ import { pyric } from '@pyric/cli/vite';
42
42
 
43
43
  export default defineConfig({
44
44
  plugins: [pyricSandbox()],
@@ -57,7 +57,7 @@ Pyric Studio is available on the Vite origin at `/__pyric/ui/`. It opens the sam
57
57
 
58
58
  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
59
 
60
- ## Keep writing Firebase code
60
+ ## Keep using official Firebase SDKs
61
61
 
62
62
  Application code continues to import Firebase:
63
63
 
@@ -81,16 +81,18 @@ The Firebase configuration is accepted by the local mirror during development. T
81
81
 
82
82
  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
83
 
84
- ## Inspect and correct a failed operation
84
+ ## Monitor the local environment in Pyric Studio
85
85
 
86
86
  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
87
 
88
+ <img width="1512" height="947" alt="image" src="https://github.com/user-attachments/assets/cb4a219c-c5f0-4fb7-8904-996416c0a79c" />
89
+
88
90
  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
91
 
90
92
  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
93
 
92
94
  ```ts
93
- pyricSandbox({
95
+ pyric({
94
96
  persist: true,
95
97
  seed: 'seed.json',
96
98
  });
@@ -98,19 +100,21 @@ pyricSandbox({
98
100
 
99
101
  See [persistence and multi-tab behavior](packages/cli/docs/how-to/serve-persistence-and-multi-tab.md) for reset and seed precedence.
100
102
 
101
- ## Give coding agents the same local Firebase target
103
+ ## Connect Coding Agents to the Sandbox using the Pyric MCP server
102
104
 
103
105
  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
106
 
105
107
  ```ts
106
- pyricSandbox({ bridge: true });
108
+ pyric({
109
+ bridge: true
110
+ });
107
111
  ```
108
112
 
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.
113
+ The bridge mounts on the Vite development origin and routes agent operations to the same SharedWorker backend used by the application and Studio.
110
114
 
111
115
  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
116
 
113
- ## Verify the rules boundary
117
+ ## Verify the rules against production
114
118
 
115
119
  Development sessions capture Firestore and Realtime Database operations in `.pyric/last-session.json` by default. Replay those requests against candidate rules before deployment:
116
120
 
@@ -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",