@pyric/cli 0.1.0-alpha.26 → 0.1.0-alpha.28

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 (340) hide show
  1. package/README.md +1 -1
  2. package/dist/assurance/.generated/conformance-verdicts.d.ts +5 -0
  3. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
  4. package/dist/assurance/.generated/conformance-verdicts.js +5 -0
  5. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
  6. package/dist/assurance/capabilities.d.ts.map +1 -1
  7. package/dist/assurance/capabilities.js +24 -5
  8. package/dist/assurance/capabilities.js.map +1 -1
  9. package/dist/assurance/runner.d.ts.map +1 -1
  10. package/dist/assurance/runner.js +37 -50
  11. package/dist/assurance/runner.js.map +1 -1
  12. package/dist/assurance/types.d.ts +5 -0
  13. package/dist/assurance/types.d.ts.map +1 -1
  14. package/dist/assurance/types.js.map +1 -1
  15. package/dist/assurance/validation.d.ts +2 -16
  16. package/dist/assurance/validation.d.ts.map +1 -1
  17. package/dist/assurance/validation.js +121 -1
  18. package/dist/assurance/validation.js.map +1 -1
  19. package/dist/bridge/surface/arguments/assurance.d.ts +31 -6
  20. package/dist/bridge/surface/arguments/assurance.d.ts.map +1 -1
  21. package/dist/bridge/surface/arguments/assurance.js +1 -0
  22. package/dist/bridge/surface/arguments/assurance.js.map +1 -1
  23. package/dist/bridge/surface/arguments/messaging.d.ts +2 -2
  24. package/dist/bridge/surface/methods/assurance/define.d.ts +2 -2
  25. package/dist/bridge/surface/methods/assurance/map.d.ts +29 -6
  26. package/dist/bridge/surface/methods/assurance/map.d.ts.map +1 -1
  27. package/dist/bridge/surface/methods/assurance/propose.d.ts +7 -0
  28. package/dist/bridge/surface/methods/assurance/propose.d.ts.map +1 -1
  29. package/dist/bridge/surface/methods/messaging/send.d.ts +4 -4
  30. package/dist/bridge/surface/render/discriminator-schemas.d.ts +6 -6
  31. package/dist/cli/database-rules.js +1 -1
  32. package/dist/cli/database-rules.js.map +1 -1
  33. package/dist/cli/index.d.ts +1 -0
  34. package/dist/cli/index.d.ts.map +1 -1
  35. package/dist/cli/index.js +28 -3
  36. package/dist/cli/index.js.map +1 -1
  37. package/dist/cli/pyric-config.d.ts +8 -0
  38. package/dist/cli/pyric-config.d.ts.map +1 -1
  39. package/dist/cli/pyric-config.js.map +1 -1
  40. package/dist/cli/run.d.ts +42 -0
  41. package/dist/cli/run.d.ts.map +1 -0
  42. package/dist/cli/run.js +115 -0
  43. package/dist/cli/run.js.map +1 -0
  44. package/dist/cli/serve.d.ts.map +1 -1
  45. package/dist/cli/serve.js +5 -3
  46. package/dist/cli/serve.js.map +1 -1
  47. package/dist/cli/verify.d.ts +6 -0
  48. package/dist/cli/verify.d.ts.map +1 -1
  49. package/dist/cli/verify.js +240 -15
  50. package/dist/cli/verify.js.map +1 -1
  51. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  52. package/dist/conformance/.generated/can-i-use.js +1 -1
  53. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  54. package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
  55. package/dist/conformance/.generated/conformance-docs.js +1 -1
  56. package/dist/conformance/.generated/conformance-docs.js.map +1 -1
  57. package/dist/remote/local-storage-url.d.ts +2 -15
  58. package/dist/remote/local-storage-url.d.ts.map +1 -1
  59. package/dist/remote/local-storage-url.js +1 -60
  60. package/dist/remote/local-storage-url.js.map +1 -1
  61. package/dist/serve/assets/avatar-route.d.ts.map +1 -1
  62. package/dist/serve/assets/avatar-route.js +6 -6
  63. package/dist/serve/assets/avatar-route.js.map +1 -1
  64. package/dist/serve/assets/resolver.d.ts +3 -0
  65. package/dist/serve/assets/resolver.d.ts.map +1 -1
  66. package/dist/serve/assets/resolver.js +1 -1
  67. package/dist/serve/assets/resolver.js.map +1 -1
  68. package/dist/serve/entries/app-client.d.ts.map +1 -1
  69. package/dist/serve/entries/app-client.js +6 -0
  70. package/dist/serve/entries/app-client.js.map +1 -1
  71. package/dist/serve/repro/denials.d.ts.map +1 -1
  72. package/dist/serve/repro/denials.js +2 -1
  73. package/dist/serve/repro/denials.js.map +1 -1
  74. package/dist/serve/site-ui/_astro/{app.DFdWhpVY.js → app.BCNb6gMq.js} +1 -1
  75. package/dist/serve/site-ui/_astro/app.DhoRPDdN.js +147 -0
  76. package/dist/serve/site-ui/_astro/{seed.vvXV1ioI.js → seed.BO5CXcqE.js} +1 -1
  77. package/dist/serve/site-ui/auth/index.html +1 -1
  78. package/dist/serve/site-ui/docs/_rhythm/index.html +1 -1
  79. package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +1 -1
  80. package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +1 -1
  81. package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +1 -1
  82. package/dist/serve/site-ui/docs/ai-compat/index.html +1 -1
  83. package/dist/serve/site-ui/docs/api-reference/index.html +2 -1
  84. package/dist/serve/site-ui/docs/api-reference.md +1 -0
  85. package/dist/serve/site-ui/docs/app-compat/index.html +1 -1
  86. package/dist/serve/site-ui/docs/auth-compat/index.html +2 -2
  87. package/dist/serve/site-ui/docs/auth-compat.md +1 -1
  88. package/dist/serve/site-ui/docs/auth-flutter-compat/index.html +1 -1
  89. package/dist/serve/site-ui/docs/auth-kotlin-compat/index.html +1 -1
  90. package/dist/serve/site-ui/docs/auth-swift-compat/index.html +1 -1
  91. package/dist/serve/site-ui/docs/build/ai-logic/index.html +1 -1
  92. package/dist/serve/site-ui/docs/build/authentication/index.html +1 -1
  93. package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +1 -1
  94. package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +1 -1
  95. package/dist/serve/site-ui/docs/build/cloud-storage/index.html +13 -2
  96. package/dist/serve/site-ui/docs/build/cloud-storage.md +23 -0
  97. package/dist/serve/site-ui/docs/build/default-avatars/index.html +1 -1
  98. package/dist/serve/site-ui/docs/build/inspect-activity/index.html +1 -1
  99. package/dist/serve/site-ui/docs/build/realtime-database/index.html +1 -1
  100. package/dist/serve/site-ui/docs/conformance-scores/index.html +1 -1
  101. package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +1 -1
  102. package/dist/serve/site-ui/docs/database-compat/index.html +5 -1
  103. package/dist/serve/site-ui/docs/database-compat.md +4 -0
  104. package/dist/serve/site-ui/docs/examples/chess/index.html +1 -1
  105. package/dist/serve/site-ui/docs/examples/index.html +1 -1
  106. package/dist/serve/site-ui/docs/firestore-compat/index.html +1 -1
  107. package/dist/serve/site-ui/docs/firestore-flutter-compat/index.html +1 -1
  108. package/dist/serve/site-ui/docs/firestore-kotlin-compat/index.html +1 -1
  109. package/dist/serve/site-ui/docs/firestore-swift-compat/index.html +1 -1
  110. package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +1 -1
  111. package/dist/serve/site-ui/docs/get-started/backend-bundlers/index.html +1 -1
  112. package/dist/serve/site-ui/docs/get-started/flutter/index.html +1 -1
  113. package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +1 -1
  114. package/dist/serve/site-ui/docs/get-started/nextjs/index.html +1 -1
  115. package/dist/serve/site-ui/docs/get-started/node-host/index.html +1 -1
  116. package/dist/serve/site-ui/docs/get-started/start-building/index.html +2 -1
  117. package/dist/serve/site-ui/docs/get-started/start-building.md +2 -0
  118. package/dist/serve/site-ui/docs/get-started/vite/index.html +4 -2
  119. package/dist/serve/site-ui/docs/get-started/vite.md +4 -0
  120. package/dist/serve/site-ui/docs/index.json +50 -0
  121. package/dist/serve/site-ui/docs/messaging-compat/index.html +1 -1
  122. package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +1 -1
  123. package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +1 -1
  124. package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +1 -1
  125. package/dist/serve/site-ui/docs/observe/switch-and-impersonate-identities/index.html +1 -1
  126. package/dist/serve/site-ui/docs/overview/index.html +1 -1
  127. package/dist/serve/site-ui/docs/pyric-admin-app-check-reference-api/index.html +1 -1
  128. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +1 -1
  129. package/dist/serve/site-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
  130. package/dist/serve/site-ui/docs/pyric-admin-data-connect-reference-api/index.html +1 -1
  131. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api/index.html +1 -1
  132. package/dist/serve/site-ui/docs/pyric-admin-eventarc-reference-api/index.html +1 -1
  133. package/dist/serve/site-ui/docs/pyric-admin-extensions-reference-api/index.html +1 -1
  134. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api/index.html +1 -1
  135. package/dist/serve/site-ui/docs/pyric-admin-functions-reference-api/index.html +1 -1
  136. package/dist/serve/site-ui/docs/pyric-admin-installations-reference-api/index.html +1 -1
  137. package/dist/serve/site-ui/docs/pyric-admin-instance-id-reference-api/index.html +1 -1
  138. package/dist/serve/site-ui/docs/pyric-admin-machine-learning-reference-api/index.html +1 -1
  139. package/dist/serve/site-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
  140. package/dist/serve/site-ui/docs/pyric-admin-phone-number-verification-reference-api/index.html +1 -1
  141. package/dist/serve/site-ui/docs/pyric-admin-project-management-reference-api/index.html +1 -1
  142. package/dist/serve/site-ui/docs/pyric-admin-reference-api/index.html +1 -1
  143. package/dist/serve/site-ui/docs/pyric-admin-remote-config-reference-api/index.html +1 -1
  144. package/dist/serve/site-ui/docs/pyric-admin-security-rules-reference-api/index.html +1 -1
  145. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +1 -1
  146. package/dist/serve/site-ui/docs/pyric-ai-reference-api/index.html +1 -1
  147. package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
  148. package/dist/serve/site-ui/docs/pyric-analytics-reference-api/index.html +1 -1
  149. package/dist/serve/site-ui/docs/pyric-app-check-reference-api/index.html +1 -1
  150. package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +1 -1
  151. package/dist/serve/site-ui/docs/pyric-auth-reference-api/index.html +2 -2
  152. package/dist/serve/site-ui/docs/pyric-auth-reference-api.md +1 -1
  153. package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
  154. package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api/index.html +24 -5
  155. package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api.md +11 -4
  156. package/dist/serve/site-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
  157. package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
  158. package/dist/serve/site-ui/docs/pyric-cli-bundler-reference-api/index.html +1 -1
  159. package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
  160. package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
  161. package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
  162. package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
  163. package/dist/serve/site-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
  164. package/dist/serve/site-ui/docs/pyric-cli-flow-reference-api/index.html +1 -1
  165. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api/index.html +1 -1
  166. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api/index.html +1 -1
  167. package/dist/serve/site-ui/docs/pyric-cli-register-client-app-bridge-reference-api/index.html +1 -1
  168. package/dist/serve/site-ui/docs/pyric-cli-register-client-app-reference-api/index.html +1 -1
  169. package/dist/serve/site-ui/docs/pyric-cli-register-client-auth-reference-api/index.html +1 -1
  170. package/dist/serve/site-ui/docs/pyric-cli-register-client-database-reference-api/index.html +1 -1
  171. package/dist/serve/site-ui/docs/pyric-cli-register-client-firestore-reference-api/index.html +1 -1
  172. package/dist/serve/site-ui/docs/pyric-cli-register-client-storage-reference-api/index.html +1 -1
  173. package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
  174. package/dist/serve/site-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
  175. package/dist/serve/site-ui/docs/pyric-cli-repro-reference-api/index.html +1 -1
  176. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api/index.html +1 -1
  177. package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api/index.html +16 -3
  178. package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api.md +11 -10
  179. package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +17 -3
  180. package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api.md +7 -5
  181. package/dist/serve/site-ui/docs/pyric-cli-vite-ssr-loader-reference-api/index.html +1 -1
  182. package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +1 -1
  183. package/dist/serve/site-ui/docs/pyric-firestore-lite-reference-api/index.html +1 -1
  184. package/dist/serve/site-ui/docs/pyric-firestore-reference-api/index.html +1 -1
  185. package/dist/serve/site-ui/docs/pyric-functions-reference-api/index.html +1 -1
  186. package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +1 -1
  187. package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
  188. package/dist/serve/site-ui/docs/pyric-performance-reference-api/index.html +1 -1
  189. package/dist/serve/site-ui/docs/pyric-remote-config-reference-api/index.html +1 -1
  190. package/dist/serve/site-ui/docs/pyric-rules-reference-api/index.html +1 -1
  191. package/dist/serve/site-ui/docs/pyric-sandbox-branches-store-reference-api/index.html +1 -1
  192. package/dist/serve/site-ui/docs/pyric-sandbox-checkpoints-directory-reference-api/index.html +1 -1
  193. package/dist/serve/site-ui/docs/pyric-sandbox-checkpoints-reference-api/index.html +1 -1
  194. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +1 -1
  195. package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
  196. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api/index.html +1 -1
  197. package/dist/serve/site-ui/docs/pyric-storage-reference-api/index.html +1 -1
  198. package/dist/serve/site-ui/docs/pyric-storage-sw-reference-api/index.html +102 -0
  199. package/dist/serve/site-ui/docs/pyric-storage-sw-reference-api.md +76 -0
  200. package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
  201. package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
  202. package/dist/serve/site-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
  203. package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
  204. package/dist/serve/site-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
  205. package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
  206. package/dist/serve/site-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
  207. package/dist/serve/site-ui/docs/pyric-ui-listener-owner-reference-api/index.html +1 -1
  208. package/dist/serve/site-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
  209. package/dist/serve/site-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
  210. package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
  211. package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
  212. package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
  213. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api/index.html +1 -1
  214. package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
  215. package/dist/serve/site-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
  216. package/dist/serve/site-ui/docs/reference/cli/index.html +12 -2
  217. package/dist/serve/site-ui/docs/reference/cli.md +24 -0
  218. package/dist/serve/site-ui/docs/rtdb-flutter-compat/index.html +1 -1
  219. package/dist/serve/site-ui/docs/rtdb-kotlin-compat/index.html +1 -1
  220. package/dist/serve/site-ui/docs/rtdb-swift-compat/index.html +1 -1
  221. package/dist/serve/site-ui/docs/rules-compat/index.html +1 -1
  222. package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +1 -1
  223. package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +1 -1
  224. package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +1 -1
  225. package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
  226. package/dist/serve/site-ui/docs/secure/rtdb-rules-standard-library/index.html +1 -1
  227. package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +1 -1
  228. package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +1 -1
  229. package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +1 -1
  230. package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +2 -2
  231. package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite.md +1 -1
  232. package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +5 -2
  233. package/dist/serve/site-ui/docs/ship/ship-to-production.md +7 -1
  234. package/dist/serve/site-ui/docs/ship/test-in-node/index.html +1 -1
  235. package/dist/serve/site-ui/docs/storage-compat/index.html +1 -1
  236. package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
  237. package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +1 -1
  238. package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
  239. package/dist/serve/site-ui/docs/tutorial/index.html +1 -1
  240. package/dist/serve/site-ui/examples/chess/index.html +1 -1
  241. package/dist/serve/site-ui/firestore/index.html +1 -1
  242. package/dist/serve/site-ui/llms.txt +1 -0
  243. package/dist/serve/site-ui/rtdb/index.html +1 -1
  244. package/dist/serve/site-ui/settings/index.html +1 -1
  245. package/dist/serve/site-ui/storage/index.html +1 -1
  246. package/dist/serve/site-ui/studio/index.html +1 -1
  247. package/dist/serve/site-ui/traffic/index.html +1 -1
  248. package/dist/serve/verify-hint.d.ts +2 -0
  249. package/dist/serve/verify-hint.d.ts.map +1 -0
  250. package/dist/serve/verify-hint.js +10 -0
  251. package/dist/serve/verify-hint.js.map +1 -0
  252. package/dist/serve/vite-generation-rules-watch.d.ts.map +1 -1
  253. package/dist/serve/vite-generation-rules-watch.js +5 -3
  254. package/dist/serve/vite-generation-rules-watch.js.map +1 -1
  255. package/dist/serve/vite-plugin.d.ts +6 -0
  256. package/dist/serve/vite-plugin.d.ts.map +1 -1
  257. package/dist/serve/vite-plugin.js +11 -1
  258. package/dist/serve/vite-plugin.js.map +1 -1
  259. package/dist/serve/vite-service-worker.d.ts +12 -0
  260. package/dist/serve/vite-service-worker.d.ts.map +1 -0
  261. package/dist/serve/vite-service-worker.js +33 -0
  262. package/dist/serve/vite-service-worker.js.map +1 -0
  263. package/dist/serve/worker/client/auth.d.ts.map +1 -1
  264. package/dist/serve/worker/client/auth.js +4 -3
  265. package/dist/serve/worker/client/auth.js.map +1 -1
  266. package/dist/serve/worker/host/auth-action-codes.js +2 -2
  267. package/dist/serve/worker/host/auth-action-codes.js.map +1 -1
  268. package/dist/serve/worker/host/auth-custom-token.d.ts.map +1 -1
  269. package/dist/serve/worker/host/auth-custom-token.js +4 -2
  270. package/dist/serve/worker/host/auth-custom-token.js.map +1 -1
  271. package/dist/serve/worker/host/dispatch.d.ts.map +1 -1
  272. package/dist/serve/worker/host/dispatch.js +3 -1
  273. package/dist/serve/worker/host/dispatch.js.map +1 -1
  274. package/dist/serve/worker/host-auth.d.ts +6 -0
  275. package/dist/serve/worker/host-auth.d.ts.map +1 -1
  276. package/dist/serve/worker/host-auth.js +16 -5
  277. package/dist/serve/worker/host-auth.js.map +1 -1
  278. package/dist/serve/worker/inbound-validation.d.ts.map +1 -1
  279. package/dist/serve/worker/inbound-validation.js +1 -0
  280. package/dist/serve/worker/inbound-validation.js.map +1 -1
  281. package/dist/serve/worker/protocol/storage.d.ts +1 -8
  282. package/dist/serve/worker/protocol/storage.d.ts.map +1 -1
  283. package/dist/serve/worker/protocol/storage.js +2 -14
  284. package/dist/serve/worker/protocol/storage.js.map +1 -1
  285. package/dist/serve/worker/protocol.d.ts +2 -0
  286. package/dist/serve/worker/protocol.d.ts.map +1 -1
  287. package/dist/serve/worker/protocol.js.map +1 -1
  288. package/dist/verify/index.d.ts +16 -2
  289. package/dist/verify/index.d.ts.map +1 -1
  290. package/dist/verify/index.js +100 -18
  291. package/dist/verify/index.js.map +1 -1
  292. package/dist/verify/staging/engine.d.ts +102 -0
  293. package/dist/verify/staging/engine.d.ts.map +1 -0
  294. package/dist/verify/staging/engine.js +371 -0
  295. package/dist/verify/staging/engine.js.map +1 -0
  296. package/dist/verify/staging/rest.d.ts +68 -0
  297. package/dist/verify/staging/rest.d.ts.map +1 -0
  298. package/dist/verify/staging/rest.js +93 -0
  299. package/dist/verify/staging/rest.js.map +1 -0
  300. package/dist/verify/staging/target.d.ts +39 -0
  301. package/dist/verify/staging/target.d.ts.map +1 -0
  302. package/dist/verify/staging/target.js +117 -0
  303. package/dist/verify/staging/target.js.map +1 -0
  304. package/package.json +12 -8
  305. package/src/assurance/.generated/conformance-verdicts.ts +5 -0
  306. package/src/assurance/capabilities.ts +22 -4
  307. package/src/assurance/runner.ts +40 -58
  308. package/src/assurance/types.ts +3 -0
  309. package/src/assurance/validation.ts +137 -0
  310. package/src/bridge/surface/arguments/assurance.ts +1 -0
  311. package/src/cli/database-rules.ts +1 -1
  312. package/src/cli/index.ts +28 -3
  313. package/src/cli/pyric-config.ts +5 -0
  314. package/src/cli/run.ts +139 -0
  315. package/src/cli/serve.ts +6 -3
  316. package/src/cli/verify.ts +244 -18
  317. package/src/conformance/.generated/can-i-use.ts +1 -1
  318. package/src/conformance/.generated/conformance-docs.ts +1 -1
  319. package/src/remote/local-storage-url.ts +1 -58
  320. package/src/serve/assets/avatar-route.ts +6 -7
  321. package/src/serve/assets/resolver.ts +4 -1
  322. package/src/serve/entries/app-client.ts +7 -0
  323. package/src/serve/repro/denials.ts +2 -1
  324. package/src/serve/verify-hint.ts +8 -0
  325. package/src/serve/vite-generation-rules-watch.ts +6 -3
  326. package/src/serve/vite-plugin.ts +15 -1
  327. package/src/serve/vite-service-worker.ts +44 -0
  328. package/src/serve/worker/client/auth.ts +4 -3
  329. package/src/serve/worker/host/auth-action-codes.ts +2 -2
  330. package/src/serve/worker/host/auth-custom-token.ts +4 -2
  331. package/src/serve/worker/host/dispatch.ts +2 -0
  332. package/src/serve/worker/host-auth.ts +18 -5
  333. package/src/serve/worker/inbound-validation.ts +1 -0
  334. package/src/serve/worker/protocol/storage.ts +2 -14
  335. package/src/serve/worker/protocol.ts +2 -0
  336. package/src/verify/index.ts +119 -19
  337. package/src/verify/staging/engine.ts +455 -0
  338. package/src/verify/staging/rest.ts +129 -0
  339. package/src/verify/staging/target.ts +137 -0
  340. package/dist/serve/site-ui/_astro/app.BpEphDR7.js +0 -147
@@ -26,8 +26,8 @@ declare const _default: {
26
26
  data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
27
27
  }, "strip", z.ZodTypeAny, {
28
28
  data?: Record<string, string> | undefined;
29
- token?: string | undefined;
30
29
  topic?: string | undefined;
30
+ token?: string | undefined;
31
31
  condition?: string | undefined;
32
32
  notification?: {
33
33
  body?: string | undefined;
@@ -35,8 +35,8 @@ declare const _default: {
35
35
  } | undefined;
36
36
  }, {
37
37
  data?: Record<string, string> | undefined;
38
- token?: string | undefined;
39
38
  topic?: string | undefined;
39
+ token?: string | undefined;
40
40
  condition?: string | undefined;
41
41
  notification?: {
42
42
  body?: string | undefined;
@@ -46,8 +46,8 @@ declare const _default: {
46
46
  }, "strip", z.ZodTypeAny, {
47
47
  message: {
48
48
  data?: Record<string, string> | undefined;
49
- token?: string | undefined;
50
49
  topic?: string | undefined;
50
+ token?: string | undefined;
51
51
  condition?: string | undefined;
52
52
  notification?: {
53
53
  body?: string | undefined;
@@ -57,8 +57,8 @@ declare const _default: {
57
57
  }, {
58
58
  message: {
59
59
  data?: Record<string, string> | undefined;
60
- token?: string | undefined;
61
60
  topic?: string | undefined;
61
+ token?: string | undefined;
62
62
  condition?: string | undefined;
63
63
  notification?: {
64
64
  body?: string | undefined;
@@ -93,18 +93,18 @@ export declare const manageAppSessionSchema: z.ZodObject<{
93
93
  action: "sign_out" | "sign_in_password" | "sign_in_anonymous" | "sign_in_custom_token" | "sign_in_credential";
94
94
  email?: string | undefined;
95
95
  idToken?: string | undefined;
96
- token?: string | undefined;
97
96
  password?: string | undefined;
98
97
  providerId?: string | undefined;
99
98
  accessToken?: string | undefined;
99
+ token?: string | undefined;
100
100
  }, {
101
101
  action: "sign_out" | "sign_in_password" | "sign_in_anonymous" | "sign_in_custom_token" | "sign_in_credential";
102
102
  email?: string | undefined;
103
103
  idToken?: string | undefined;
104
- token?: string | undefined;
105
104
  password?: string | undefined;
106
105
  providerId?: string | undefined;
107
106
  accessToken?: string | undefined;
107
+ token?: string | undefined;
108
108
  }>;
109
109
  export declare const mutateSandboxDataSchema: z.ZodObject<{
110
110
  service: z.ZodEnum<["firestore", "database"]>;
@@ -391,7 +391,7 @@ export declare const judgeAuthorizationRiskSchema: z.ZodObject<{
391
391
  exportPath: z.ZodOptional<z.ZodString>;
392
392
  confirm: z.ZodOptional<z.ZodBoolean>;
393
393
  }, "strip", z.ZodTypeAny, {
394
- action: "map" | "define" | "inspect" | "attach" | "export" | "minimize" | "propose" | "run" | "start" | "verify" | "replay_session" | "verify_cases" | "test_rules_hosted";
394
+ action: "map" | "define" | "verify" | "inspect" | "attach" | "export" | "minimize" | "propose" | "run" | "start" | "replay_session" | "verify_cases" | "test_rules_hosted";
395
395
  service?: "firestore" | "database" | undefined;
396
396
  confirm?: boolean | undefined;
397
397
  invariantId?: string | undefined;
@@ -405,7 +405,7 @@ export declare const judgeAuthorizationRiskSchema: z.ZodObject<{
405
405
  recordsJson?: string | undefined;
406
406
  exportPath?: string | undefined;
407
407
  }, {
408
- action: "map" | "define" | "inspect" | "attach" | "export" | "minimize" | "propose" | "run" | "start" | "verify" | "replay_session" | "verify_cases" | "test_rules_hosted";
408
+ action: "map" | "define" | "verify" | "inspect" | "attach" | "export" | "minimize" | "propose" | "run" | "start" | "replay_session" | "verify_cases" | "test_rules_hosted";
409
409
  service?: "firestore" | "database" | undefined;
410
410
  confirm?: boolean | undefined;
411
411
  invariantId?: string | undefined;
@@ -579,8 +579,8 @@ export declare const manageMessagingSchema: z.ZodObject<{
579
579
  since: z.ZodOptional<z.ZodNumber>;
580
580
  }, "strip", z.ZodTypeAny, {
581
581
  action: "send" | "subscribe" | "unsubscribe" | "list_tokens" | "list_deliveries";
582
- token?: string | undefined;
583
582
  topic?: string | undefined;
583
+ token?: string | undefined;
584
584
  since?: number | undefined;
585
585
  condition?: string | undefined;
586
586
  dataJson?: string | undefined;
@@ -588,8 +588,8 @@ export declare const manageMessagingSchema: z.ZodObject<{
588
588
  tokensJson?: string | undefined;
589
589
  }, {
590
590
  action: "send" | "subscribe" | "unsubscribe" | "list_tokens" | "list_deliveries";
591
- token?: string | undefined;
592
591
  topic?: string | undefined;
592
+ token?: string | undefined;
593
593
  since?: number | undefined;
594
594
  condition?: string | undefined;
595
595
  dataJson?: string | undefined;
@@ -176,7 +176,7 @@ export async function runDatabaseRulesGenerate(parsed, deps = {}) {
176
176
  }
177
177
  await mkdirFn(dirname(resolvedOut), { recursive: true });
178
178
  await writeFileFn(resolvedOut, `${JSON.stringify(rulesJson, null, 2)}\n`, 'utf-8');
179
- out.write(`pyric database rules generate: wrote ${resolvedOut}\n`);
179
+ out.write(`pyric database rules generate: wrote ${resolvedOut}\n Test before deploy: pyric verify --service rtdb --rules rtdb=${outPath}\n`);
180
180
  return 0;
181
181
  }
182
182
  //# sourceMappingURL=database-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database-rules.js","sourceRoot":"","sources":["../../src/cli/database-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,cAAc,GAKf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAqB,MAAM,oBAAoB,CAAC;AAClG,OAAO,EACL,qBAAqB,GAEtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAa3D,SAAS,cAAc,CAAC,GAAW;IACjC,OAAO,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,IAAuB;IAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;IAC9E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,OAAe;IAC9C,OAAO;QACL,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACvD,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAID,MAAM,YAAY,GAAgC;IAChD,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;CACV,CAAC;AAEF,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CACtB,MAAkB,EAClB,GAA+B;IAE/B,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC7F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA2B,EAC3B,KAAkB;IAElB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,QAAuB,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,IAAI,IAAI,SAAS,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAyD,GAAW,EAAE,OAAU;IACvG,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC;IAC9B,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAkB,EAClB,OAA0B,EAAE;IAE5B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC1C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,GAAG,CAAC,KAAK,CAAC,uGAAuG,CAAC,CAAC;QACnH,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,QAA2B,CAAC;IAChC,IAAI,CAAC;QACH,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACvH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACxE,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CACpC,CAAC;IACF,IAAI,cAAc,GAA0B,EAAE,CAAC;IAC/C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,cAAc,GAAG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChF,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CACpC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC,CAAC;IACnD,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAkB,EAClB,OAA0B,EAAE;IAE5B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAC1C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IACpC,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,qBAAqB,CAAC;IAE1E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAErF,MAAM,MAAM,GAAgC,MAAM,iBAAiB,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACzF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,kCAAkC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;QACzD,IAAI,YAAY,GAAwB,IAAI,CAAC;QAC7C,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,uBAAuB,CAAC,YAAY,CAAC,IAAI,qBAAqB,CAAC;IAC3E,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3C,wFAAwF;IACxF,MAAM,SAAS,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,KAAK,CAAC,kCAAkC,UAAU,2CAA2C,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC;QACxH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,QAAQ;iBACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/E,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,GAAG,CAAC,KAAK,CACP,kCAAkC,UAAU,qBAAqB,MAAM,CAAC,KAAK,eAAe,QAAQ,CAAC,MAAM,0BAA0B,OAAO,IAAI,CACjJ,CAAC;YACF,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,WAAW,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnF,GAAG,CAAC,KAAK,CAAC,wCAAwC,WAAW,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"database-rules.js","sourceRoot":"","sources":["../../src/cli/database-rules.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * Subcommands:
6
6
  * pyric bridge [--port N] [--project ID]
7
7
  * pyric sandbox [flags] [--] [command...]
8
+ * pyric run [--sandbox URL] [--wait[=SECONDS]] -- <command...>
8
9
  * pyric init [dir] [--template web|node] [--name N] [--force] [--json]
9
10
  * pyric vendor [dir] [--json]
10
11
  * pyric snapshot [--out DIR] [--port N] [--force] [--json] [--include-passwords]
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAyT7D;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAoDlE;AAQD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAUhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA8U7D;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAuDlE;AAQD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAUhC"}
package/dist/cli/index.js CHANGED
@@ -5,6 +5,7 @@
5
5
  * Subcommands:
6
6
  * pyric bridge [--port N] [--project ID]
7
7
  * pyric sandbox [flags] [--] [command...]
8
+ * pyric run [--sandbox URL] [--wait[=SECONDS]] -- <command...>
8
9
  * pyric init [dir] [--template web|node] [--name N] [--force] [--json]
9
10
  * pyric vendor [dir] [--json]
10
11
  * pyric snapshot [--out DIR] [--port N] [--force] [--json] [--include-passwords]
@@ -57,12 +58,15 @@ clients (Claude Code, Cursor, ...).
57
58
  USAGE
58
59
  pyric bridge [flags]
59
60
  pyric sandbox [flags] [--] [command...]
61
+ pyric run [--sandbox URL] [--wait[=SECONDS]] -- <command...>
60
62
  pyric init [dir] [--template=web|node]
61
63
  pyric sandbox salvage --source=DIR --out=NEW_DIR
62
64
  pyric snapshot [--out=DIR]
63
- pyric verify [fixture|dir] [--engine sandbox|rules-test-api|both]
65
+ pyric verify [fixture|dir] [--engine sandbox|rules-test-api|staging|both]
64
66
  pyric can-i-use <feature> [--json]
65
67
  pyric verify cases [fixture] [--service firestore] [--out FILE]
68
+ pyric verify staging init
69
+ pyric verify staging restore [--force]
66
70
  pyric firestore rules validate <path>
67
71
  pyric firestore rules resolve <path> [--out <path>]
68
72
  pyric firestore indexes generate <path...> [--out <path>]
@@ -86,6 +90,15 @@ COMMANDS
86
90
  configured in pyric.json; if none is configured, runs the sandbox host only.
87
91
  A firebase.json Functions source is discovered automatically;
88
92
  supported RTDB onValueCreated exports run in isolated Node.
93
+ run [--sandbox URL] Run a command against a sandbox host that is already
94
+ running (a Vite dev server with the pyric plugin, or
95
+ \`pyric sandbox\`), with the environment \`pyric sandbox\`
96
+ gives its child. --sandbox URL names the host; without
97
+ it, PYRIC_SANDBOX=remote:<url>, then .pyric/serve.json.
98
+ The register module is passed by absolute file URL, so
99
+ the command can run outside pyric's install tree.
100
+ --wait[=SECONDS] polls the host's health until it
101
+ answers (default 30s) before starting the command.
89
102
  init [dir] Scaffold a pyric project. --template=web (default; Vite app
90
103
  on \`@pyric/cli/vite\`), static (\`pyric sandbox\`), or node.
91
104
  --name=NAME --force (overwrite scaffold files) --json (machine
@@ -107,9 +120,12 @@ COMMANDS
107
120
  for the Firestore/RTDB services present in the fixture.
108
121
  No arg replays the latest \`pyric sandbox\` capture
109
122
  (.pyric/last-session.json). --service filters services.
110
- --engine sandbox (default), rules-test-api, or both.
123
+ --engine sandbox (default), rules-test-api, staging, or both.
111
124
  Hosted Rules Test API verification is Firestore-only
112
125
  and uses --project plus the configured Google credentials.
126
+ --engine staging replays RTDB against your own dedicated
127
+ instance (pyric.json verify.staging) so production decides
128
+ each operation; repeat --engine to compare with sandbox.
113
129
  --rules service=path overrides firebase.json resolution
114
130
  (repeat for mixed captures). Each RTDB instance the session
115
131
  used is checked against its own rules; --rules
@@ -120,6 +136,12 @@ COMMANDS
120
136
  Exact and fuzzy queries use the same model as MCP. --json.
121
137
  verify cases [fixture] Derive Firestore Rules Test API cases from a captured
122
138
  fixture and print JSON, or write with --out FILE.
139
+ verify staging init Enroll the empty RTDB instance pyric.json verify.staging
140
+ names ({ project, rtdb }) for --engine staging. Refuses an
141
+ instance that holds data or that firebase.json deploys to.
142
+ verify staging restore Put the staging instance back after an interrupted run, from
143
+ the rules kept in .pyric/staging-restore.json; --force
144
+ deploys deny-all rules with the marker when none were kept.
123
145
  firestore rules validate Validate Firestore rules structure against a file.
124
146
  firestore rules resolve Resolve Firestore 2+modules imports to one ruleset.
125
147
  firestore indexes generate Generate firestore.indexes.json from application source.
@@ -206,7 +228,7 @@ CORE FLAGS (sandbox)
206
228
  browser store in Studio under Settings, Reset, or use an
207
229
  incognito window) for a full reset.
208
230
  [command...] Run a command once the host is up, with PYRIC_SANDBOX set and
209
- NODE_OPTIONS extended with --import @pyric/cli/register
231
+ NODE_OPTIONS extended with --import <register module URL>
210
232
  so firebase-admin/firebase resolve to the sandbox. Put
211
233
  Pyric flags before the command. A bare -- separates the
212
234
  command and its flags. When omitted, pyric.json#command
@@ -368,6 +390,9 @@ export async function dispatch(parsed) {
368
390
  }
369
391
  const { runServe } = await import('./serve.js');
370
392
  return runServe(parsed);
393
+ case 'run':
394
+ const { runRun } = await import('./run.js');
395
+ return runRun(parsed);
371
396
  case 'snapshot':
372
397
  return await runSnapshot(parsed);
373
398
  case 'verify':
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,14 @@ export interface PyricConfig {
28
28
  rules?: string | PyricRulesConfig;
29
29
  /** Project ID label for emulation. */
30
30
  project?: string;
31
+ /** `pyric verify` settings. */
32
+ verify?: {
33
+ /** The dedicated RTDB instance `pyric verify --engine staging` replays against. */
34
+ staging?: {
35
+ project: string;
36
+ rtdb: string;
37
+ };
38
+ };
31
39
  }
32
40
  export declare function readPyricConfig(cwd?: string): Promise<PyricConfig>;
33
41
  //# sourceMappingURL=pyric-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pyric-config.d.ts","sourceRoot":"","sources":["../../src/cli/pyric-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,2CAA2C,EAAE,eAAe,CAAA;KAAE,CAAC;IAC/F,2DAA2D;IAC3D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,oFAAoF;IACpF,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgBvF"}
1
+ {"version":3,"file":"pyric-config.d.ts","sourceRoot":"","sources":["../../src/cli/pyric-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,2CAA2C,EAAE,eAAe,CAAA;KAAE,CAAC;IAC/F,2DAA2D;IAC3D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,oFAAoF;IACpF,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,MAAM,CAAC,EAAE;QACP,mFAAmF;QACnF,OAAO,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7C,CAAC;CACH;AAED,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAgBvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"pyric-config.js","sourceRoot":"","sources":["../../src/cli/pyric-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAwBjC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACrC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC9D,MAAM,CAAC,CAAC;IACV,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,sCAAsC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pyric-config.js","sourceRoot":"","sources":["../../src/cli/pyric-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA6BjC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACrC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAK,CAA2B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC9D,MAAM,CAAC,CAAC;IACV,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,sCAAsC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * `pyric run [--sandbox <url>] -- <command...>`: run one command against a
3
+ * sandbox host that is already running, such as a Vite dev server with the
4
+ * pyric plugin or a `pyric sandbox` in another terminal.
5
+ *
6
+ * The child gets the environment `pyric sandbox` gives its own child
7
+ * (`buildChildEnv`): the activator, the host's identity, and `--import` with
8
+ * the absolute `file:` URL of this install's register module. Nothing in the
9
+ * child resolves `@pyric/cli` by name, so the command works from any working
10
+ * directory, including one outside the tree pyric is installed in.
11
+ */
12
+ import type { ParsedArgs } from './parse-args.js';
13
+ import { type SandboxChildPlan } from './sandbox-runner.js';
14
+ export interface RunInvocation {
15
+ /** The host URL named by `--sandbox` or `PYRIC_SANDBOX=remote:<url>`; null to discover it. */
16
+ readonly hostUrl: string | null;
17
+ readonly plan: SandboxChildPlan;
18
+ /** How long to wait for the host to answer before giving up; 0 probes once. */
19
+ readonly waitMs: number;
20
+ }
21
+ export declare const RUN_USAGE = "usage: pyric run [--sandbox <url>] [--wait[=<seconds>]] -- <command> [args...]\n";
22
+ /** `--wait` without a value: the bound `pyric sandbox` gives its first-run race guard. */
23
+ export declare const DEFAULT_WAIT_SECONDS = 30;
24
+ /**
25
+ * Read a `pyric run` invocation. The host comes from `--sandbox`, then from an
26
+ * inherited `PYRIC_SANDBOX=remote:<url>`; with neither, the caller discovers
27
+ * the project's running host. Returns a usage error string when the command or
28
+ * the flag is missing or malformed.
29
+ */
30
+ export declare function parseRunInvocation(parsed: ParsedArgs, env: NodeJS.ProcessEnv): RunInvocation | string;
31
+ /**
32
+ * Call `attempt` until it returns a value or `timeoutMs` passes, `intervalMs`
33
+ * apart. A zero timeout makes one attempt. Injectable sleep for the unit suite.
34
+ */
35
+ export declare function pollUntil<T>(attempt: () => Promise<T | null>, opts: {
36
+ timeoutMs: number;
37
+ intervalMs?: number;
38
+ sleep?: (ms: number) => Promise<void>;
39
+ now?: () => number;
40
+ }): Promise<T | null>;
41
+ export declare function runRun(parsed: ParsedArgs): Promise<number>;
42
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,aAAa;IAC5B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,SAAS,qFAAqF,CAAC;AAE5G,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAUvC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,aAAa,GAAG,MAAM,CAyBrG;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,EAChC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GAC1G,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAWnB;AAED,wBAAsB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CA4ChE"}
@@ -0,0 +1,115 @@
1
+ import { buildChildEnv, registerModuleUrl, spawnSandboxChild, } from './sandbox-runner.js';
2
+ import { discoverServe, probeHostUrl } from '../serve/discovery.js';
3
+ export const RUN_USAGE = 'usage: pyric run [--sandbox <url>] [--wait[=<seconds>]] -- <command> [args...]\n';
4
+ /** `--wait` without a value: the bound `pyric sandbox` gives its first-run race guard. */
5
+ export const DEFAULT_WAIT_SECONDS = 30;
6
+ /** Strip the optional `remote:` prefix the activator uses. Null when nothing names a URL. */
7
+ function hostUrlOf(value) {
8
+ if (value === undefined)
9
+ return null;
10
+ const url = value.startsWith('remote:') ? value.slice('remote:'.length) : value;
11
+ const namesUrl = /^https?:\/\//.test(url);
12
+ return namesUrl ? url : null;
13
+ }
14
+ /**
15
+ * Read a `pyric run` invocation. The host comes from `--sandbox`, then from an
16
+ * inherited `PYRIC_SANDBOX=remote:<url>`; with neither, the caller discovers
17
+ * the project's running host. Returns a usage error string when the command or
18
+ * the flag is missing or malformed.
19
+ */
20
+ export function parseRunInvocation(parsed, env) {
21
+ const passthrough = parsed.passthrough ?? [];
22
+ const argv = passthrough.length > 0 ? passthrough : parsed.positional;
23
+ if (argv.length === 0)
24
+ return `pyric run: no command to run.\n${RUN_USAGE}`;
25
+ const flag = parsed.flags.get('sandbox');
26
+ let hostUrl;
27
+ if (flag === undefined) {
28
+ hostUrl = hostUrlOf(env.PYRIC_SANDBOX);
29
+ }
30
+ else {
31
+ hostUrl = typeof flag === 'string' ? hostUrlOf(flag) : null;
32
+ if (hostUrl === null) {
33
+ return `pyric run: --sandbox needs a host URL, such as http://localhost:5173.\n${RUN_USAGE}`;
34
+ }
35
+ }
36
+ const wait = parsed.flags.get('wait');
37
+ let waitMs = 0;
38
+ if (wait === true) {
39
+ waitMs = DEFAULT_WAIT_SECONDS * 1000;
40
+ }
41
+ else if (wait !== undefined) {
42
+ const seconds = typeof wait === 'string' ? Number(wait) : Number.NaN;
43
+ const isDuration = Number.isFinite(seconds) && seconds > 0;
44
+ if (!isDuration)
45
+ return `pyric run: --wait takes a number of seconds, such as --wait=60.\n${RUN_USAGE}`;
46
+ waitMs = seconds * 1000;
47
+ }
48
+ return { hostUrl, plan: { argv: [...argv], label: argv.join(' ') }, waitMs };
49
+ }
50
+ /**
51
+ * Call `attempt` until it returns a value or `timeoutMs` passes, `intervalMs`
52
+ * apart. A zero timeout makes one attempt. Injectable sleep for the unit suite.
53
+ */
54
+ export async function pollUntil(attempt, opts) {
55
+ const intervalMs = opts.intervalMs ?? 250;
56
+ const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
57
+ const now = opts.now ?? Date.now;
58
+ const deadline = now() + opts.timeoutMs;
59
+ for (;;) {
60
+ const value = await attempt();
61
+ if (value !== null)
62
+ return value;
63
+ if (now() >= deadline)
64
+ return null;
65
+ await sleep(intervalMs);
66
+ }
67
+ }
68
+ export async function runRun(parsed) {
69
+ const invocation = parseRunInvocation(parsed, process.env);
70
+ if (typeof invocation === 'string') {
71
+ process.stderr.write(invocation);
72
+ return 1;
73
+ }
74
+ const cwd = process.cwd();
75
+ let serveUrl;
76
+ let instanceId;
77
+ if (invocation.hostUrl !== null) {
78
+ const hostUrl = invocation.hostUrl;
79
+ const host = await pollUntil(() => probeHostUrl(hostUrl), { timeoutMs: invocation.waitMs });
80
+ if (host === null) {
81
+ const waited = invocation.waitMs > 0 ? ` after waiting ${invocation.waitMs / 1000}s` : '';
82
+ process.stderr.write(`pyric run: no sandbox host answers at ${hostUrl}/__pyric/health${waited}.\n`);
83
+ return 2;
84
+ }
85
+ serveUrl = host.base;
86
+ instanceId = host.instanceId;
87
+ }
88
+ else {
89
+ const log = (line) => void process.stderr.write(`pyric run: ${line}\n`);
90
+ const host = await pollUntil(() => discoverServe(cwd, log), { timeoutMs: invocation.waitMs });
91
+ if (host === null) {
92
+ process.stderr.write('pyric run: no running sandbox host found; pass --sandbox <url>.\n');
93
+ return 2;
94
+ }
95
+ serveUrl = host.base;
96
+ instanceId = host.instanceId;
97
+ }
98
+ const env = buildChildEnv(process.env, {
99
+ serveUrl,
100
+ registerUrl: registerModuleUrl(),
101
+ instanceId: instanceId ?? undefined,
102
+ });
103
+ const child = spawnSandboxChild(invocation.plan, { cwd, env, json: false });
104
+ const forward = (signal) => child.signal(signal);
105
+ process.on('SIGINT', forward);
106
+ process.on('SIGTERM', forward);
107
+ try {
108
+ return await child.exited;
109
+ }
110
+ finally {
111
+ process.off('SIGINT', forward);
112
+ process.off('SIGTERM', forward);
113
+ }
114
+ }
115
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/cli/serve.ts"],"names":[],"mappings":"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"}
package/dist/cli/serve.js CHANGED
@@ -39,6 +39,7 @@ import { createFunctionsDevelopmentRuntime, createHttpFunctionsPeerReadiness, }
39
39
  import { discoverFunctionsRtdbProject, } from '../functions-rtdb/project.js';
40
40
  import { createSandboxSession, SandboxSeedError, } from '../serve/sandbox-session.js';
41
41
  import { resolveAvatarsConfig } from '../serve/avatars-config.js';
42
+ import { createVerifyHint } from '../serve/verify-hint.js';
42
43
  /** Extract the single hosting config `pyric sandbox` supports. Arrays
43
44
  * (multi-site) take the first entry with a warning — multi-site is out of
44
45
  * scope (plan section 6). */
@@ -438,6 +439,7 @@ async function startServeRuntime(opts, releaseOwnership) {
438
439
  // a failed reload asked for, so fixing or creating one reloads. The source
439
440
  // is the path the rules load from, watched whether or not it exists at
440
441
  // startup, so a rules file created later loads.
442
+ const getVerifyHint = createVerifyHint();
441
443
  const isWatchEnabled = opts.watch ?? true;
442
444
  if (isWatchEnabled) {
443
445
  let debounce = null;
@@ -452,7 +454,7 @@ async function startServeRuntime(opts, releaseOwnership) {
452
454
  const isReloaded = result.kind === 'reloaded';
453
455
  const isRejected = result.kind === 'rejected';
454
456
  if (isReloaded) {
455
- logger.note(` ↻ rules reloaded (hash ${result.rulesHash}) → ${result.clients} page(s)`);
457
+ logger.note(` ↻ rules reloaded (hash ${result.rulesHash}) → ${result.clients} page(s)${getVerifyHint()}`);
456
458
  if (result.fixtureCheck && result.fixtureCheck.ran > 0) {
457
459
  for (const line of result.fixtureCheck.lines)
458
460
  logger.note(line);
@@ -495,7 +497,7 @@ async function startServeRuntime(opts, releaseOwnership) {
495
497
  void session.reloadDatabaseRules(changed).then((results) => {
496
498
  for (const { instance, file: source, result } of results) {
497
499
  if (result.kind === 'reloaded') {
498
- logger.note(` ↻ rtdb rules reloaded for ${instance} (hash ${result.rulesHash}) → ${result.clients} page(s)`);
500
+ logger.note(` ↻ rtdb rules reloaded for ${instance} (hash ${result.rulesHash}) → ${result.clients} page(s)${getVerifyHint()}`);
499
501
  if (result.fixtureCheck && result.fixtureCheck.ran > 0) {
500
502
  for (const line of result.fixtureCheck.lines)
501
503
  logger.note(line);
@@ -536,7 +538,7 @@ async function startServeRuntime(opts, releaseOwnership) {
536
538
  debounceStorage = setTimeout(() => {
537
539
  void session.reloadStorageRules().then((result) => {
538
540
  if (result.kind === 'reloaded') {
539
- logger.note(` ↻ storage rules reloaded (hash ${result.rulesHash}) → ${result.clients} page(s)`);
541
+ logger.note(` ↻ storage rules reloaded (hash ${result.rulesHash}) → ${result.clients} page(s)${getVerifyHint()}`);
540
542
  }
541
543
  else if (result.kind === 'rejected') {
542
544
  logger.note(` ⚠ storage rules NOT reloaded (last-good stays live): ${result.error.message}`);