@pyric/cli 0.1.0-alpha.10

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 (903) hide show
  1. package/LICENSE +216 -0
  2. package/README.md +180 -0
  3. package/README.md.orig +141 -0
  4. package/dist/assurance/.generated/conformance-verdicts.d.ts +1071 -0
  5. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -0
  6. package/dist/assurance/.generated/conformance-verdicts.js +1070 -0
  7. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -0
  8. package/dist/assurance/attachment.d.ts +24 -0
  9. package/dist/assurance/attachment.d.ts.map +1 -0
  10. package/dist/assurance/attachment.js +138 -0
  11. package/dist/assurance/attachment.js.map +1 -0
  12. package/dist/assurance/browser.d.ts +7 -0
  13. package/dist/assurance/browser.d.ts.map +1 -0
  14. package/dist/assurance/browser.js +68 -0
  15. package/dist/assurance/browser.js.map +1 -0
  16. package/dist/assurance/campaign.d.ts +41 -0
  17. package/dist/assurance/campaign.d.ts.map +1 -0
  18. package/dist/assurance/campaign.js +364 -0
  19. package/dist/assurance/campaign.js.map +1 -0
  20. package/dist/assurance/capabilities.d.ts +11 -0
  21. package/dist/assurance/capabilities.d.ts.map +1 -0
  22. package/dist/assurance/capabilities.js +282 -0
  23. package/dist/assurance/capabilities.js.map +1 -0
  24. package/dist/assurance/cases.d.ts +14 -0
  25. package/dist/assurance/cases.d.ts.map +1 -0
  26. package/dist/assurance/cases.js +27 -0
  27. package/dist/assurance/cases.js.map +1 -0
  28. package/dist/assurance/index.d.ts +10 -0
  29. package/dist/assurance/index.d.ts.map +1 -0
  30. package/dist/assurance/index.js +9 -0
  31. package/dist/assurance/index.js.map +1 -0
  32. package/dist/assurance/runner.d.ts +3 -0
  33. package/dist/assurance/runner.d.ts.map +1 -0
  34. package/dist/assurance/runner.js +633 -0
  35. package/dist/assurance/runner.js.map +1 -0
  36. package/dist/assurance/tool-names.d.ts +4 -0
  37. package/dist/assurance/tool-names.d.ts.map +1 -0
  38. package/dist/assurance/tool-names.js +14 -0
  39. package/dist/assurance/tool-names.js.map +1 -0
  40. package/dist/assurance/tools.d.ts +19 -0
  41. package/dist/assurance/tools.d.ts.map +1 -0
  42. package/dist/assurance/tools.js +737 -0
  43. package/dist/assurance/tools.js.map +1 -0
  44. package/dist/assurance/types.d.ts +347 -0
  45. package/dist/assurance/types.d.ts.map +1 -0
  46. package/dist/assurance/types.js +7 -0
  47. package/dist/assurance/types.js.map +1 -0
  48. package/dist/assurance/validation.d.ts +8 -0
  49. package/dist/assurance/validation.d.ts.map +1 -0
  50. package/dist/assurance/validation.js +269 -0
  51. package/dist/assurance/validation.js.map +1 -0
  52. package/dist/bridge/client/bridge.d.ts +133 -0
  53. package/dist/bridge/client/bridge.d.ts.map +1 -0
  54. package/dist/bridge/client/bridge.js +429 -0
  55. package/dist/bridge/client/bridge.js.map +1 -0
  56. package/dist/bridge/client/dispatch.d.ts +41 -0
  57. package/dist/bridge/client/dispatch.d.ts.map +1 -0
  58. package/dist/bridge/client/dispatch.js +111 -0
  59. package/dist/bridge/client/dispatch.js.map +1 -0
  60. package/dist/bridge/client.d.ts +24 -0
  61. package/dist/bridge/client.d.ts.map +1 -0
  62. package/dist/bridge/client.js +26 -0
  63. package/dist/bridge/client.js.map +1 -0
  64. package/dist/bridge/protocol.d.ts +227 -0
  65. package/dist/bridge/protocol.d.ts.map +1 -0
  66. package/dist/bridge/protocol.js +131 -0
  67. package/dist/bridge/protocol.js.map +1 -0
  68. package/dist/bridge/server/audit.d.ts +19 -0
  69. package/dist/bridge/server/audit.d.ts.map +1 -0
  70. package/dist/bridge/server/audit.js +46 -0
  71. package/dist/bridge/server/audit.js.map +1 -0
  72. package/dist/bridge/server/bridge.d.ts +126 -0
  73. package/dist/bridge/server/bridge.d.ts.map +1 -0
  74. package/dist/bridge/server/bridge.js +383 -0
  75. package/dist/bridge/server/bridge.js.map +1 -0
  76. package/dist/bridge/server/headless.d.ts +36 -0
  77. package/dist/bridge/server/headless.d.ts.map +1 -0
  78. package/dist/bridge/server/headless.js +142 -0
  79. package/dist/bridge/server/headless.js.map +1 -0
  80. package/dist/bridge/server/json-schema-to-zod.d.ts +37 -0
  81. package/dist/bridge/server/json-schema-to-zod.d.ts.map +1 -0
  82. package/dist/bridge/server/json-schema-to-zod.js +93 -0
  83. package/dist/bridge/server/json-schema-to-zod.js.map +1 -0
  84. package/dist/bridge/server/local-bridge.d.ts +33 -0
  85. package/dist/bridge/server/local-bridge.d.ts.map +1 -0
  86. package/dist/bridge/server/local-bridge.js +41 -0
  87. package/dist/bridge/server/local-bridge.js.map +1 -0
  88. package/dist/bridge/server/logger.d.ts +28 -0
  89. package/dist/bridge/server/logger.d.ts.map +1 -0
  90. package/dist/bridge/server/logger.js +42 -0
  91. package/dist/bridge/server/logger.js.map +1 -0
  92. package/dist/bridge/server/mcp-contract.d.ts +21 -0
  93. package/dist/bridge/server/mcp-contract.d.ts.map +1 -0
  94. package/dist/bridge/server/mcp-contract.js +63 -0
  95. package/dist/bridge/server/mcp-contract.js.map +1 -0
  96. package/dist/bridge/server/mcp.d.ts +26 -0
  97. package/dist/bridge/server/mcp.d.ts.map +1 -0
  98. package/dist/bridge/server/mcp.js +102 -0
  99. package/dist/bridge/server/mcp.js.map +1 -0
  100. package/dist/bridge/server/peer.d.ts +39 -0
  101. package/dist/bridge/server/peer.d.ts.map +1 -0
  102. package/dist/bridge/server/peer.js +189 -0
  103. package/dist/bridge/server/peer.js.map +1 -0
  104. package/dist/bridge/server/standalone.d.ts +49 -0
  105. package/dist/bridge/server/standalone.d.ts.map +1 -0
  106. package/dist/bridge/server/standalone.js +267 -0
  107. package/dist/bridge/server/standalone.js.map +1 -0
  108. package/dist/bridge/server/tool-metadata.d.ts +38 -0
  109. package/dist/bridge/server/tool-metadata.d.ts.map +1 -0
  110. package/dist/bridge/server/tool-metadata.js +84 -0
  111. package/dist/bridge/server/tool-metadata.js.map +1 -0
  112. package/dist/bridge/server.d.ts +21 -0
  113. package/dist/bridge/server.d.ts.map +1 -0
  114. package/dist/bridge/server.js +18 -0
  115. package/dist/bridge/server.js.map +1 -0
  116. package/dist/cli/can-i-use.d.ts +5 -0
  117. package/dist/cli/can-i-use.d.ts.map +1 -0
  118. package/dist/cli/can-i-use.js +49 -0
  119. package/dist/cli/can-i-use.js.map +1 -0
  120. package/dist/cli/database-rules.d.ts +43 -0
  121. package/dist/cli/database-rules.d.ts.map +1 -0
  122. package/dist/cli/database-rules.js +261 -0
  123. package/dist/cli/database-rules.js.map +1 -0
  124. package/dist/cli/dev-runner.d.ts +112 -0
  125. package/dist/cli/dev-runner.d.ts.map +1 -0
  126. package/dist/cli/dev-runner.js +239 -0
  127. package/dist/cli/dev-runner.js.map +1 -0
  128. package/dist/cli/firebase-json.d.ts +66 -0
  129. package/dist/cli/firebase-json.d.ts.map +1 -0
  130. package/dist/cli/firebase-json.js +60 -0
  131. package/dist/cli/firebase-json.js.map +1 -0
  132. package/dist/cli/firestore-indexes.d.ts +21 -0
  133. package/dist/cli/firestore-indexes.d.ts.map +1 -0
  134. package/dist/cli/firestore-indexes.js +39 -0
  135. package/dist/cli/firestore-indexes.js.map +1 -0
  136. package/dist/cli/index.d.ts +56 -0
  137. package/dist/cli/index.d.ts.map +1 -0
  138. package/dist/cli/index.js +387 -0
  139. package/dist/cli/index.js.map +1 -0
  140. package/dist/cli/init.d.ts +50 -0
  141. package/dist/cli/init.d.ts.map +1 -0
  142. package/dist/cli/init.js +182 -0
  143. package/dist/cli/init.js.map +1 -0
  144. package/dist/cli/mcp-proxy.d.ts +10 -0
  145. package/dist/cli/mcp-proxy.d.ts.map +1 -0
  146. package/dist/cli/mcp-proxy.js +129 -0
  147. package/dist/cli/mcp-proxy.js.map +1 -0
  148. package/dist/cli/parse-args.d.ts +20 -0
  149. package/dist/cli/parse-args.d.ts.map +1 -0
  150. package/dist/cli/parse-args.js +74 -0
  151. package/dist/cli/parse-args.js.map +1 -0
  152. package/dist/cli/rules.d.ts +55 -0
  153. package/dist/cli/rules.d.ts.map +1 -0
  154. package/dist/cli/rules.js +199 -0
  155. package/dist/cli/rules.js.map +1 -0
  156. package/dist/cli/scope.d.ts +12 -0
  157. package/dist/cli/scope.d.ts.map +1 -0
  158. package/dist/cli/scope.js +44 -0
  159. package/dist/cli/scope.js.map +1 -0
  160. package/dist/cli/serve.d.ts +122 -0
  161. package/dist/cli/serve.d.ts.map +1 -0
  162. package/dist/cli/serve.js +844 -0
  163. package/dist/cli/serve.js.map +1 -0
  164. package/dist/cli/service-commands.d.ts +8 -0
  165. package/dist/cli/service-commands.d.ts.map +1 -0
  166. package/dist/cli/service-commands.js +58 -0
  167. package/dist/cli/service-commands.js.map +1 -0
  168. package/dist/cli/snapshot.d.ts +22 -0
  169. package/dist/cli/snapshot.d.ts.map +1 -0
  170. package/dist/cli/snapshot.js +139 -0
  171. package/dist/cli/snapshot.js.map +1 -0
  172. package/dist/cli/storage-rules.d.ts +21 -0
  173. package/dist/cli/storage-rules.d.ts.map +1 -0
  174. package/dist/cli/storage-rules.js +121 -0
  175. package/dist/cli/storage-rules.js.map +1 -0
  176. package/dist/cli/verify.d.ts +23 -0
  177. package/dist/cli/verify.d.ts.map +1 -0
  178. package/dist/cli/verify.js +349 -0
  179. package/dist/cli/verify.js.map +1 -0
  180. package/dist/conformance/.generated/can-i-use-browser.d.ts +44 -0
  181. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -0
  182. package/dist/conformance/.generated/can-i-use-browser.js +67 -0
  183. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -0
  184. package/dist/conformance/.generated/can-i-use.d.ts +61 -0
  185. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -0
  186. package/dist/conformance/.generated/can-i-use.js +68 -0
  187. package/dist/conformance/.generated/can-i-use.js.map +1 -0
  188. package/dist/conformance/browser.d.ts +7 -0
  189. package/dist/conformance/browser.d.ts.map +1 -0
  190. package/dist/conformance/browser.js +8 -0
  191. package/dist/conformance/browser.js.map +1 -0
  192. package/dist/conformance/can-i-use-tool.d.ts +21 -0
  193. package/dist/conformance/can-i-use-tool.d.ts.map +1 -0
  194. package/dist/conformance/can-i-use-tool.js +40 -0
  195. package/dist/conformance/can-i-use-tool.js.map +1 -0
  196. package/dist/conformance/can-i-use.d.ts +6 -0
  197. package/dist/conformance/can-i-use.d.ts.map +1 -0
  198. package/dist/conformance/can-i-use.js +10 -0
  199. package/dist/conformance/can-i-use.js.map +1 -0
  200. package/dist/conformance/index.d.ts +8 -0
  201. package/dist/conformance/index.d.ts.map +1 -0
  202. package/dist/conformance/index.js +2 -0
  203. package/dist/conformance/index.js.map +1 -0
  204. package/dist/conformance/tools.d.ts +4 -0
  205. package/dist/conformance/tools.d.ts.map +1 -0
  206. package/dist/conformance/tools.js +14 -0
  207. package/dist/conformance/tools.js.map +1 -0
  208. package/dist/credentials/core/memoize-ttl.d.ts +58 -0
  209. package/dist/credentials/core/memoize-ttl.d.ts.map +1 -0
  210. package/dist/credentials/core/memoize-ttl.js +88 -0
  211. package/dist/credentials/core/memoize-ttl.js.map +1 -0
  212. package/dist/credentials/core/types.d.ts +11 -0
  213. package/dist/credentials/core/types.d.ts.map +1 -0
  214. package/dist/credentials/core/types.js +2 -0
  215. package/dist/credentials/core/types.js.map +1 -0
  216. package/dist/credentials/node/from-adc.d.ts +10 -0
  217. package/dist/credentials/node/from-adc.d.ts.map +1 -0
  218. package/dist/credentials/node/from-adc.js +76 -0
  219. package/dist/credentials/node/from-adc.js.map +1 -0
  220. package/dist/credentials/node/from-service-account.d.ts +24 -0
  221. package/dist/credentials/node/from-service-account.d.ts.map +1 -0
  222. package/dist/credentials/node/from-service-account.js +108 -0
  223. package/dist/credentials/node/from-service-account.js.map +1 -0
  224. package/dist/credentials/node/index.d.ts +7 -0
  225. package/dist/credentials/node/index.d.ts.map +1 -0
  226. package/dist/credentials/node/index.js +7 -0
  227. package/dist/credentials/node/index.js.map +1 -0
  228. package/dist/discover/concurrency.d.ts +42 -0
  229. package/dist/discover/concurrency.d.ts.map +1 -0
  230. package/dist/discover/concurrency.js +113 -0
  231. package/dist/discover/concurrency.js.map +1 -0
  232. package/dist/discover/crawler-adapter.d.ts +48 -0
  233. package/dist/discover/crawler-adapter.d.ts.map +1 -0
  234. package/dist/discover/crawler-adapter.js +92 -0
  235. package/dist/discover/crawler-adapter.js.map +1 -0
  236. package/dist/discover/crawler.d.ts +294 -0
  237. package/dist/discover/crawler.d.ts.map +1 -0
  238. package/dist/discover/crawler.js +764 -0
  239. package/dist/discover/crawler.js.map +1 -0
  240. package/dist/discover/credential-free.d.ts +19 -0
  241. package/dist/discover/credential-free.d.ts.map +1 -0
  242. package/dist/discover/credential-free.js +18 -0
  243. package/dist/discover/credential-free.js.map +1 -0
  244. package/dist/discover/findCollectionGroup.d.ts +44 -0
  245. package/dist/discover/findCollectionGroup.d.ts.map +1 -0
  246. package/dist/discover/findCollectionGroup.js +81 -0
  247. package/dist/discover/findCollectionGroup.js.map +1 -0
  248. package/dist/discover/firestore-source.d.ts +60 -0
  249. package/dist/discover/firestore-source.d.ts.map +1 -0
  250. package/dist/discover/firestore-source.js +11 -0
  251. package/dist/discover/firestore-source.js.map +1 -0
  252. package/dist/discover/index.d.ts +3 -0
  253. package/dist/discover/index.d.ts.map +1 -0
  254. package/dist/discover/index.js +5 -0
  255. package/dist/discover/index.js.map +1 -0
  256. package/dist/discover/merge.d.ts +108 -0
  257. package/dist/discover/merge.d.ts.map +1 -0
  258. package/dist/discover/merge.js +394 -0
  259. package/dist/discover/merge.js.map +1 -0
  260. package/dist/discover/session.d.ts +116 -0
  261. package/dist/discover/session.d.ts.map +1 -0
  262. package/dist/discover/session.js +331 -0
  263. package/dist/discover/session.js.map +1 -0
  264. package/dist/discover/tools.d.ts +58 -0
  265. package/dist/discover/tools.d.ts.map +1 -0
  266. package/dist/discover/tools.js +115 -0
  267. package/dist/discover/tools.js.map +1 -0
  268. package/dist/discover/types.d.ts +190 -0
  269. package/dist/discover/types.d.ts.map +1 -0
  270. package/dist/discover/types.js +12 -0
  271. package/dist/discover/types.js.map +1 -0
  272. package/dist/discover/wire.d.ts +70 -0
  273. package/dist/discover/wire.d.ts.map +1 -0
  274. package/dist/discover/wire.js +309 -0
  275. package/dist/discover/wire.js.map +1 -0
  276. package/dist/functions-rtdb/child.d.ts +52 -0
  277. package/dist/functions-rtdb/child.d.ts.map +1 -0
  278. package/dist/functions-rtdb/child.js +283 -0
  279. package/dist/functions-rtdb/child.js.map +1 -0
  280. package/dist/functions-rtdb/delivery.d.ts +4 -0
  281. package/dist/functions-rtdb/delivery.d.ts.map +1 -0
  282. package/dist/functions-rtdb/delivery.js +2 -0
  283. package/dist/functions-rtdb/delivery.js.map +1 -0
  284. package/dist/functions-rtdb/discovery.d.ts +41 -0
  285. package/dist/functions-rtdb/discovery.d.ts.map +1 -0
  286. package/dist/functions-rtdb/discovery.js +86 -0
  287. package/dist/functions-rtdb/discovery.js.map +1 -0
  288. package/dist/functions-rtdb/event.d.ts +20 -0
  289. package/dist/functions-rtdb/event.d.ts.map +1 -0
  290. package/dist/functions-rtdb/event.js +45 -0
  291. package/dist/functions-rtdb/event.js.map +1 -0
  292. package/dist/functions-rtdb/execution.d.ts +20 -0
  293. package/dist/functions-rtdb/execution.d.ts.map +1 -0
  294. package/dist/functions-rtdb/execution.js +70 -0
  295. package/dist/functions-rtdb/execution.js.map +1 -0
  296. package/dist/functions-rtdb/in-memory-delivery.d.ts +9 -0
  297. package/dist/functions-rtdb/in-memory-delivery.d.ts.map +1 -0
  298. package/dist/functions-rtdb/in-memory-delivery.js +36 -0
  299. package/dist/functions-rtdb/in-memory-delivery.js.map +1 -0
  300. package/dist/functions-rtdb/project.d.ts +7 -0
  301. package/dist/functions-rtdb/project.d.ts.map +1 -0
  302. package/dist/functions-rtdb/project.js +54 -0
  303. package/dist/functions-rtdb/project.js.map +1 -0
  304. package/dist/functions-rtdb/projection.d.ts +14 -0
  305. package/dist/functions-rtdb/projection.d.ts.map +1 -0
  306. package/dist/functions-rtdb/projection.js +65 -0
  307. package/dist/functions-rtdb/projection.js.map +1 -0
  308. package/dist/functions-rtdb/reference-pattern.d.ts +5 -0
  309. package/dist/functions-rtdb/reference-pattern.d.ts.map +1 -0
  310. package/dist/functions-rtdb/reference-pattern.js +14 -0
  311. package/dist/functions-rtdb/reference-pattern.js.map +1 -0
  312. package/dist/functions-rtdb/remote-delivery.d.ts +9 -0
  313. package/dist/functions-rtdb/remote-delivery.d.ts.map +1 -0
  314. package/dist/functions-rtdb/remote-delivery.js +11 -0
  315. package/dist/functions-rtdb/remote-delivery.js.map +1 -0
  316. package/dist/pkg-version.d.ts +2 -0
  317. package/dist/pkg-version.d.ts.map +1 -0
  318. package/dist/pkg-version.js +47 -0
  319. package/dist/pkg-version.js.map +1 -0
  320. package/dist/register/esm-exports.d.ts +26 -0
  321. package/dist/register/esm-exports.d.ts.map +1 -0
  322. package/dist/register/esm-exports.js +61 -0
  323. package/dist/register/esm-exports.js.map +1 -0
  324. package/dist/register/hooks.d.ts +13 -0
  325. package/dist/register/hooks.d.ts.map +1 -0
  326. package/dist/register/hooks.js +15 -0
  327. package/dist/register/hooks.js.map +1 -0
  328. package/dist/register/index.d.ts +5 -0
  329. package/dist/register/index.d.ts.map +1 -0
  330. package/dist/register/index.js +124 -0
  331. package/dist/register/index.js.map +1 -0
  332. package/dist/register/mapping.d.ts +19 -0
  333. package/dist/register/mapping.d.ts.map +1 -0
  334. package/dist/register/mapping.js +35 -0
  335. package/dist/register/mapping.js.map +1 -0
  336. package/dist/remote/index.d.ts +232 -0
  337. package/dist/remote/index.d.ts.map +1 -0
  338. package/dist/remote/index.js +720 -0
  339. package/dist/remote/index.js.map +1 -0
  340. package/dist/rtdb/crawl-snapshot.d.ts +17 -0
  341. package/dist/rtdb/crawl-snapshot.d.ts.map +1 -0
  342. package/dist/rtdb/crawl-snapshot.js +72 -0
  343. package/dist/rtdb/crawl-snapshot.js.map +1 -0
  344. package/dist/rtdb/inspection.d.ts +8 -0
  345. package/dist/rtdb/inspection.d.ts.map +1 -0
  346. package/dist/rtdb/inspection.js +111 -0
  347. package/dist/rtdb/inspection.js.map +1 -0
  348. package/dist/rtdb/load-rules-document.d.ts +25 -0
  349. package/dist/rtdb/load-rules-document.d.ts.map +1 -0
  350. package/dist/rtdb/load-rules-document.js +38 -0
  351. package/dist/rtdb/load-rules-document.js.map +1 -0
  352. package/dist/rtdb/rules-generation-tool.d.ts +4 -0
  353. package/dist/rtdb/rules-generation-tool.d.ts.map +1 -0
  354. package/dist/rtdb/rules-generation-tool.js +35 -0
  355. package/dist/rtdb/rules-generation-tool.js.map +1 -0
  356. package/dist/rtdb/rules-json.d.ts +8 -0
  357. package/dist/rtdb/rules-json.d.ts.map +1 -0
  358. package/dist/rtdb/rules-json.js +17 -0
  359. package/dist/rtdb/rules-json.js.map +1 -0
  360. package/dist/serve/bridge-mount.d.ts +36 -0
  361. package/dist/serve/bridge-mount.d.ts.map +1 -0
  362. package/dist/serve/bridge-mount.js +162 -0
  363. package/dist/serve/bridge-mount.js.map +1 -0
  364. package/dist/serve/bundler.d.ts +110 -0
  365. package/dist/serve/bundler.d.ts.map +1 -0
  366. package/dist/serve/bundler.js +432 -0
  367. package/dist/serve/bundler.js.map +1 -0
  368. package/dist/serve/capture-store.d.ts +27 -0
  369. package/dist/serve/capture-store.d.ts.map +1 -0
  370. package/dist/serve/capture-store.js +47 -0
  371. package/dist/serve/capture-store.js.map +1 -0
  372. package/dist/serve/discovery.d.ts +71 -0
  373. package/dist/serve/discovery.d.ts.map +1 -0
  374. package/dist/serve/discovery.js +158 -0
  375. package/dist/serve/discovery.js.map +1 -0
  376. package/dist/serve/docs-ui/_astro/_slug_.DPUwShm2.css +1 -0
  377. package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
  378. package/dist/serve/docs-ui/docs/_rhythm.md +97 -0
  379. package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +42 -0
  380. package/dist/serve/docs-ui/docs/agent/set-up-your-agent.md +72 -0
  381. package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +25 -0
  382. package/dist/serve/docs-ui/docs/agent/watch-and-review.md +38 -0
  383. package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +69 -0
  384. package/dist/serve/docs-ui/docs/agent/work-with-an-agent.md +74 -0
  385. package/dist/serve/docs-ui/docs/ai-compat/index.html +423 -0
  386. package/dist/serve/docs-ui/docs/ai-compat.md +456 -0
  387. package/dist/serve/docs-ui/docs/api-reference/index.html +66 -0
  388. package/dist/serve/docs-ui/docs/api-reference.md +69 -0
  389. package/dist/serve/docs-ui/docs/app-compat/index.html +159 -0
  390. package/dist/serve/docs-ui/docs/app-compat.md +178 -0
  391. package/dist/serve/docs-ui/docs/auth-compat/index.html +644 -0
  392. package/dist/serve/docs-ui/docs/auth-compat.md +701 -0
  393. package/dist/serve/docs-ui/docs/build/ai-logic/index.html +27 -0
  394. package/dist/serve/docs-ui/docs/build/ai-logic.md +39 -0
  395. package/dist/serve/docs-ui/docs/build/authentication/index.html +65 -0
  396. package/dist/serve/docs-ui/docs/build/authentication.md +95 -0
  397. package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +69 -0
  398. package/dist/serve/docs-ui/docs/build/cloud-firestore.md +93 -0
  399. package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +27 -0
  400. package/dist/serve/docs-ui/docs/build/cloud-messaging.md +37 -0
  401. package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +65 -0
  402. package/dist/serve/docs-ui/docs/build/cloud-storage.md +86 -0
  403. package/dist/serve/docs-ui/docs/build/realtime-database/index.html +49 -0
  404. package/dist/serve/docs-ui/docs/build/realtime-database.md +67 -0
  405. package/dist/serve/docs-ui/docs/conformance-scores/index.html +49 -0
  406. package/dist/serve/docs-ui/docs/conformance-scores.md +53 -0
  407. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +498 -0
  408. package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +345 -0
  409. package/dist/serve/docs-ui/docs/database-compat/index.html +1037 -0
  410. package/dist/serve/docs-ui/docs/database-compat.md +1099 -0
  411. package/dist/serve/docs-ui/docs/firestore-compat/index.html +823 -0
  412. package/dist/serve/docs-ui/docs/firestore-compat.md +881 -0
  413. package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +72 -0
  414. package/dist/serve/docs-ui/docs/functions-rtdb-compat.md +83 -0
  415. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +27 -0
  416. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works.md +50 -0
  417. package/dist/serve/docs-ui/docs/get-started/start-building/index.html +31 -0
  418. package/dist/serve/docs-ui/docs/get-started/start-building.md +53 -0
  419. package/dist/serve/docs-ui/docs/index.html +2 -0
  420. package/dist/serve/docs-ui/docs/index.json +11719 -0
  421. package/dist/serve/docs-ui/docs/messaging-compat/index.html +264 -0
  422. package/dist/serve/docs-ui/docs/messaging-compat.md +285 -0
  423. package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +73 -0
  424. package/dist/serve/docs-ui/docs/observe/see-whats-happening.md +69 -0
  425. package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +44 -0
  426. package/dist/serve/docs-ui/docs/observe/shape-your-data.md +74 -0
  427. package/dist/serve/docs-ui/docs/overview/index.html +16 -0
  428. package/dist/serve/docs-ui/docs/overview.md +31 -0
  429. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +185 -0
  430. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +206 -0
  431. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +617 -0
  432. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +441 -0
  433. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +583 -0
  434. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +597 -0
  435. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +32 -0
  436. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +30 -0
  437. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +317 -0
  438. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +285 -0
  439. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +5830 -0
  440. package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5439 -0
  441. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +159 -0
  442. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +122 -0
  443. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +420 -0
  444. package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +326 -0
  445. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +5452 -0
  446. package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +5271 -0
  447. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +98 -0
  448. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +88 -0
  449. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +2263 -0
  450. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1477 -0
  451. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +546 -0
  452. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +485 -0
  453. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +506 -0
  454. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +419 -0
  455. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +257 -0
  456. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api.md +197 -0
  457. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +307 -0
  458. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api.md +254 -0
  459. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +67 -0
  460. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +59 -0
  461. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +2355 -0
  462. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +2036 -0
  463. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +10 -0
  464. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +16 -0
  465. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1044 -0
  466. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +952 -0
  467. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +5041 -0
  468. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +4739 -0
  469. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +926 -0
  470. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +586 -0
  471. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +102 -0
  472. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +76 -0
  473. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1851 -0
  474. package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +1842 -0
  475. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +3623 -0
  476. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +3399 -0
  477. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +30 -0
  478. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +30 -0
  479. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +508 -0
  480. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +374 -0
  481. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +482 -0
  482. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +348 -0
  483. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +2629 -0
  484. package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +2213 -0
  485. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +120 -0
  486. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +110 -0
  487. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +202 -0
  488. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +134 -0
  489. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +5019 -0
  490. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +4060 -0
  491. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +2120 -0
  492. package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +1687 -0
  493. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +638 -0
  494. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +430 -0
  495. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +813 -0
  496. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +634 -0
  497. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1708 -0
  498. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +1300 -0
  499. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +177 -0
  500. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +111 -0
  501. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1542 -0
  502. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +903 -0
  503. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1024 -0
  504. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +640 -0
  505. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +2753 -0
  506. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +2171 -0
  507. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1005 -0
  508. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +693 -0
  509. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1388 -0
  510. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +1340 -0
  511. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +131 -0
  512. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +76 -0
  513. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +648 -0
  514. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +508 -0
  515. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1457 -0
  516. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +1029 -0
  517. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +2476 -0
  518. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +1919 -0
  519. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1241 -0
  520. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +817 -0
  521. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +2289 -0
  522. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +1489 -0
  523. package/dist/serve/docs-ui/docs/rules-compat/index.html +272 -0
  524. package/dist/serve/docs-ui/docs/rules-compat.md +287 -0
  525. package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +34 -0
  526. package/dist/serve/docs-ui/docs/secure/audit-your-rules.md +67 -0
  527. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +105 -0
  528. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits.md +152 -0
  529. package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +40 -0
  530. package/dist/serve/docs-ui/docs/secure/read-a-denial.md +58 -0
  531. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +66 -0
  532. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript.md +89 -0
  533. package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +158 -0
  534. package/dist/serve/docs-ui/docs/secure/rules-standard-library.md +116 -0
  535. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +46 -0
  536. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules.md +51 -0
  537. package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +94 -0
  538. package/dist/serve/docs-ui/docs/secure/simulate-and-lint.md +86 -0
  539. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +81 -0
  540. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite.md +105 -0
  541. package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +36 -0
  542. package/dist/serve/docs-ui/docs/ship/ship-to-production.md +64 -0
  543. package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +74 -0
  544. package/dist/serve/docs-ui/docs/ship/test-in-node.md +94 -0
  545. package/dist/serve/docs-ui/docs/storage-compat/index.html +532 -0
  546. package/dist/serve/docs-ui/docs/storage-compat.md +577 -0
  547. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +131 -0
  548. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase.md +155 -0
  549. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +13 -0
  550. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility.md +21 -0
  551. package/dist/serve/docs-ui/index.html +1 -0
  552. package/dist/serve/docs-ui/llms.txt +123 -0
  553. package/dist/serve/entries/ai.d.ts +4 -0
  554. package/dist/serve/entries/ai.d.ts.map +1 -0
  555. package/dist/serve/entries/ai.js +184 -0
  556. package/dist/serve/entries/ai.js.map +1 -0
  557. package/dist/serve/entries/app-backend.d.ts +2 -0
  558. package/dist/serve/entries/app-backend.d.ts.map +1 -0
  559. package/dist/serve/entries/app-backend.js +4 -0
  560. package/dist/serve/entries/app-backend.js.map +1 -0
  561. package/dist/serve/entries/app-client.d.ts +5 -0
  562. package/dist/serve/entries/app-client.d.ts.map +1 -0
  563. package/dist/serve/entries/app-client.js +23 -0
  564. package/dist/serve/entries/app-client.js.map +1 -0
  565. package/dist/serve/entries/app-session-store.d.ts +14 -0
  566. package/dist/serve/entries/app-session-store.d.ts.map +1 -0
  567. package/dist/serve/entries/app-session-store.js +37 -0
  568. package/dist/serve/entries/app-session-store.js.map +1 -0
  569. package/dist/serve/entries/app.d.ts +2 -0
  570. package/dist/serve/entries/app.d.ts.map +1 -0
  571. package/dist/serve/entries/app.js +10 -0
  572. package/dist/serve/entries/app.js.map +1 -0
  573. package/dist/serve/entries/auth-helper-core.d.ts +52 -0
  574. package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
  575. package/dist/serve/entries/auth-helper-core.js +118 -0
  576. package/dist/serve/entries/auth-helper-core.js.map +1 -0
  577. package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
  578. package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
  579. package/dist/serve/entries/auth-helper-dom.js +116 -0
  580. package/dist/serve/entries/auth-helper-dom.js.map +1 -0
  581. package/dist/serve/entries/auth-helper-runtime.d.ts +5 -0
  582. package/dist/serve/entries/auth-helper-runtime.d.ts.map +1 -0
  583. package/dist/serve/entries/auth-helper-runtime.js +11 -0
  584. package/dist/serve/entries/auth-helper-runtime.js.map +1 -0
  585. package/dist/serve/entries/auth.d.ts +77 -0
  586. package/dist/serve/entries/auth.d.ts.map +1 -0
  587. package/dist/serve/entries/auth.js +201 -0
  588. package/dist/serve/entries/auth.js.map +1 -0
  589. package/dist/serve/entries/bridge-url.d.ts +25 -0
  590. package/dist/serve/entries/bridge-url.d.ts.map +1 -0
  591. package/dist/serve/entries/bridge-url.js +30 -0
  592. package/dist/serve/entries/bridge-url.js.map +1 -0
  593. package/dist/serve/entries/database.d.ts +46 -0
  594. package/dist/serve/entries/database.d.ts.map +1 -0
  595. package/dist/serve/entries/database.js +80 -0
  596. package/dist/serve/entries/database.js.map +1 -0
  597. package/dist/serve/entries/firestore.d.ts +104 -0
  598. package/dist/serve/entries/firestore.d.ts.map +1 -0
  599. package/dist/serve/entries/firestore.js +202 -0
  600. package/dist/serve/entries/firestore.js.map +1 -0
  601. package/dist/serve/entries/init.d.ts +2 -0
  602. package/dist/serve/entries/init.d.ts.map +1 -0
  603. package/dist/serve/entries/init.js +40 -0
  604. package/dist/serve/entries/init.js.map +1 -0
  605. package/dist/serve/entries/keepalive.d.ts +20 -0
  606. package/dist/serve/entries/keepalive.d.ts.map +1 -0
  607. package/dist/serve/entries/keepalive.js +38 -0
  608. package/dist/serve/entries/keepalive.js.map +1 -0
  609. package/dist/serve/entries/messaging-sw.d.ts +10 -0
  610. package/dist/serve/entries/messaging-sw.d.ts.map +1 -0
  611. package/dist/serve/entries/messaging-sw.js +36 -0
  612. package/dist/serve/entries/messaging-sw.js.map +1 -0
  613. package/dist/serve/entries/messaging.d.ts +11 -0
  614. package/dist/serve/entries/messaging.d.ts.map +1 -0
  615. package/dist/serve/entries/messaging.js +53 -0
  616. package/dist/serve/entries/messaging.js.map +1 -0
  617. package/dist/serve/entries/runtime.d.ts +46 -0
  618. package/dist/serve/entries/runtime.d.ts.map +1 -0
  619. package/dist/serve/entries/runtime.js +435 -0
  620. package/dist/serve/entries/runtime.js.map +1 -0
  621. package/dist/serve/entries/session-store.d.ts +48 -0
  622. package/dist/serve/entries/session-store.d.ts.map +1 -0
  623. package/dist/serve/entries/session-store.js +82 -0
  624. package/dist/serve/entries/session-store.js.map +1 -0
  625. package/dist/serve/entries/storage.d.ts +25 -0
  626. package/dist/serve/entries/storage.d.ts.map +1 -0
  627. package/dist/serve/entries/storage.js +61 -0
  628. package/dist/serve/entries/storage.js.map +1 -0
  629. package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
  630. package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
  631. package/dist/serve/entries/tab-sync-wiring.js +217 -0
  632. package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
  633. package/dist/serve/entries/worker-runtime.d.ts +10 -0
  634. package/dist/serve/entries/worker-runtime.d.ts.map +1 -0
  635. package/dist/serve/entries/worker-runtime.js +59 -0
  636. package/dist/serve/entries/worker-runtime.js.map +1 -0
  637. package/dist/serve/init-payload.d.ts +21 -0
  638. package/dist/serve/init-payload.d.ts.map +1 -0
  639. package/dist/serve/init-payload.js +2 -0
  640. package/dist/serve/init-payload.js.map +1 -0
  641. package/dist/serve/namespace.d.ts +73 -0
  642. package/dist/serve/namespace.d.ts.map +1 -0
  643. package/dist/serve/namespace.js +470 -0
  644. package/dist/serve/namespace.js.map +1 -0
  645. package/dist/serve/open-browser.d.ts +23 -0
  646. package/dist/serve/open-browser.d.ts.map +1 -0
  647. package/dist/serve/open-browser.js +58 -0
  648. package/dist/serve/open-browser.js.map +1 -0
  649. package/dist/serve/rules.d.ts +77 -0
  650. package/dist/serve/rules.d.ts.map +1 -0
  651. package/dist/serve/rules.js +202 -0
  652. package/dist/serve/rules.js.map +1 -0
  653. package/dist/serve/sandbox-marker.d.ts +9 -0
  654. package/dist/serve/sandbox-marker.d.ts.map +1 -0
  655. package/dist/serve/sandbox-marker.js +31 -0
  656. package/dist/serve/sandbox-marker.js.map +1 -0
  657. package/dist/serve/server.d.ts +135 -0
  658. package/dist/serve/server.d.ts.map +1 -0
  659. package/dist/serve/server.js +328 -0
  660. package/dist/serve/server.js.map +1 -0
  661. package/dist/serve/standalone-assets.d.ts +67 -0
  662. package/dist/serve/standalone-assets.d.ts.map +1 -0
  663. package/dist/serve/standalone-assets.js +134 -0
  664. package/dist/serve/standalone-assets.js.map +1 -0
  665. package/dist/serve/state-store.d.ts +45 -0
  666. package/dist/serve/state-store.d.ts.map +1 -0
  667. package/dist/serve/state-store.js +120 -0
  668. package/dist/serve/state-store.js.map +1 -0
  669. package/dist/serve/studio/disk-project-store.d.ts +9 -0
  670. package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
  671. package/dist/serve/studio/disk-project-store.js +173 -0
  672. package/dist/serve/studio/disk-project-store.js.map +1 -0
  673. package/dist/serve/studio/disk-workspace.d.ts +14 -0
  674. package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
  675. package/dist/serve/studio/disk-workspace.js +152 -0
  676. package/dist/serve/studio/disk-workspace.js.map +1 -0
  677. package/dist/serve/studio/index.d.ts +10 -0
  678. package/dist/serve/studio/index.d.ts.map +1 -0
  679. package/dist/serve/studio/index.js +9 -0
  680. package/dist/serve/studio/index.js.map +1 -0
  681. package/dist/serve/studio/routes.d.ts +40 -0
  682. package/dist/serve/studio/routes.d.ts.map +1 -0
  683. package/dist/serve/studio/routes.js +182 -0
  684. package/dist/serve/studio/routes.js.map +1 -0
  685. package/dist/serve/studio/store-types.d.ts +45 -0
  686. package/dist/serve/studio/store-types.d.ts.map +1 -0
  687. package/dist/serve/studio/store-types.js +11 -0
  688. package/dist/serve/studio/store-types.js.map +1 -0
  689. package/dist/serve/studio-ui/assets/RulesCodeEditor-CXdSLKhO.js +23 -0
  690. package/dist/serve/studio-ui/assets/index-BlSGru_r.css +1 -0
  691. package/dist/serve/studio-ui/assets/index-BvtQIpGn.js +1211 -0
  692. package/dist/serve/studio-ui/assets/seed-3DMedLL3.js +2 -0
  693. package/dist/serve/studio-ui/index.html +32 -0
  694. package/dist/serve/studio-ui/pyric-logo.svg +76 -0
  695. package/dist/serve/vite-plugin.d.ts +57 -0
  696. package/dist/serve/vite-plugin.d.ts.map +1 -0
  697. package/dist/serve/vite-plugin.js +664 -0
  698. package/dist/serve/vite-plugin.js.map +1 -0
  699. package/dist/serve/worker/client/admin-firestore.d.ts +18 -0
  700. package/dist/serve/worker/client/admin-firestore.d.ts.map +1 -0
  701. package/dist/serve/worker/client/admin-firestore.js +26 -0
  702. package/dist/serve/worker/client/admin-firestore.js.map +1 -0
  703. package/dist/serve/worker/client/ai.d.ts +31 -0
  704. package/dist/serve/worker/client/ai.d.ts.map +1 -0
  705. package/dist/serve/worker/client/ai.js +89 -0
  706. package/dist/serve/worker/client/ai.js.map +1 -0
  707. package/dist/serve/worker/client/auth.d.ts +168 -0
  708. package/dist/serve/worker/client/auth.d.ts.map +1 -0
  709. package/dist/serve/worker/client/auth.js +322 -0
  710. package/dist/serve/worker/client/auth.js.map +1 -0
  711. package/dist/serve/worker/client/connection.d.ts +80 -0
  712. package/dist/serve/worker/client/connection.d.ts.map +1 -0
  713. package/dist/serve/worker/client/connection.js +148 -0
  714. package/dist/serve/worker/client/connection.js.map +1 -0
  715. package/dist/serve/worker/client/core.d.ts +109 -0
  716. package/dist/serve/worker/client/core.d.ts.map +1 -0
  717. package/dist/serve/worker/client/core.js +248 -0
  718. package/dist/serve/worker/client/core.js.map +1 -0
  719. package/dist/serve/worker/client/disconnect.d.ts +7 -0
  720. package/dist/serve/worker/client/disconnect.d.ts.map +1 -0
  721. package/dist/serve/worker/client/disconnect.js +26 -0
  722. package/dist/serve/worker/client/disconnect.js.map +1 -0
  723. package/dist/serve/worker/client/firestore-reads.d.ts +49 -0
  724. package/dist/serve/worker/client/firestore-reads.d.ts.map +1 -0
  725. package/dist/serve/worker/client/firestore-reads.js +139 -0
  726. package/dist/serve/worker/client/firestore-reads.js.map +1 -0
  727. package/dist/serve/worker/client/firestore-refs.d.ts +54 -0
  728. package/dist/serve/worker/client/firestore-refs.d.ts.map +1 -0
  729. package/dist/serve/worker/client/firestore-refs.js +167 -0
  730. package/dist/serve/worker/client/firestore-refs.js.map +1 -0
  731. package/dist/serve/worker/client/firestore-writes.d.ts +70 -0
  732. package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -0
  733. package/dist/serve/worker/client/firestore-writes.js +169 -0
  734. package/dist/serve/worker/client/firestore-writes.js.map +1 -0
  735. package/dist/serve/worker/client/handles.d.ts +73 -0
  736. package/dist/serve/worker/client/handles.d.ts.map +1 -0
  737. package/dist/serve/worker/client/handles.js +4 -0
  738. package/dist/serve/worker/client/handles.js.map +1 -0
  739. package/dist/serve/worker/client/messaging.d.ts +16 -0
  740. package/dist/serve/worker/client/messaging.d.ts.map +1 -0
  741. package/dist/serve/worker/client/messaging.js +60 -0
  742. package/dist/serve/worker/client/messaging.js.map +1 -0
  743. package/dist/serve/worker/client/presence.d.ts +43 -0
  744. package/dist/serve/worker/client/presence.d.ts.map +1 -0
  745. package/dist/serve/worker/client/presence.js +132 -0
  746. package/dist/serve/worker/client/presence.js.map +1 -0
  747. package/dist/serve/worker/client/rtdb.d.ts +36 -0
  748. package/dist/serve/worker/client/rtdb.d.ts.map +1 -0
  749. package/dist/serve/worker/client/rtdb.js +241 -0
  750. package/dist/serve/worker/client/rtdb.js.map +1 -0
  751. package/dist/serve/worker/client/rules.d.ts +24 -0
  752. package/dist/serve/worker/client/rules.d.ts.map +1 -0
  753. package/dist/serve/worker/client/rules.js +44 -0
  754. package/dist/serve/worker/client/rules.js.map +1 -0
  755. package/dist/serve/worker/client/service-worker-connection.d.ts +3 -0
  756. package/dist/serve/worker/client/service-worker-connection.d.ts.map +1 -0
  757. package/dist/serve/worker/client/service-worker-connection.js +53 -0
  758. package/dist/serve/worker/client/service-worker-connection.js.map +1 -0
  759. package/dist/serve/worker/client/snapshots.d.ts +32 -0
  760. package/dist/serve/worker/client/snapshots.d.ts.map +1 -0
  761. package/dist/serve/worker/client/snapshots.js +46 -0
  762. package/dist/serve/worker/client/snapshots.js.map +1 -0
  763. package/dist/serve/worker/client/storage.d.ts +64 -0
  764. package/dist/serve/worker/client/storage.d.ts.map +1 -0
  765. package/dist/serve/worker/client/storage.js +125 -0
  766. package/dist/serve/worker/client/storage.js.map +1 -0
  767. package/dist/serve/worker/client/studio.d.ts +32 -0
  768. package/dist/serve/worker/client/studio.d.ts.map +1 -0
  769. package/dist/serve/worker/client/studio.js +61 -0
  770. package/dist/serve/worker/client/studio.js.map +1 -0
  771. package/dist/serve/worker/client.d.ts +43 -0
  772. package/dist/serve/worker/client.d.ts.map +1 -0
  773. package/dist/serve/worker/client.js +44 -0
  774. package/dist/serve/worker/client.js.map +1 -0
  775. package/dist/serve/worker/entry.d.ts +40 -0
  776. package/dist/serve/worker/entry.d.ts.map +1 -0
  777. package/dist/serve/worker/entry.js +144 -0
  778. package/dist/serve/worker/entry.js.map +1 -0
  779. package/dist/serve/worker/host/admin-firestore.d.ts +17 -0
  780. package/dist/serve/worker/host/admin-firestore.d.ts.map +1 -0
  781. package/dist/serve/worker/host/admin-firestore.js +92 -0
  782. package/dist/serve/worker/host/admin-firestore.js.map +1 -0
  783. package/dist/serve/worker/host/connection.d.ts +40 -0
  784. package/dist/serve/worker/host/connection.d.ts.map +1 -0
  785. package/dist/serve/worker/host/connection.js +153 -0
  786. package/dist/serve/worker/host/connection.js.map +1 -0
  787. package/dist/serve/worker/host/core.d.ts +159 -0
  788. package/dist/serve/worker/host/core.d.ts.map +1 -0
  789. package/dist/serve/worker/host/core.js +296 -0
  790. package/dist/serve/worker/host/core.js.map +1 -0
  791. package/dist/serve/worker/host/dispatch.d.ts +34 -0
  792. package/dist/serve/worker/host/dispatch.d.ts.map +1 -0
  793. package/dist/serve/worker/host/dispatch.js +267 -0
  794. package/dist/serve/worker/host/dispatch.js.map +1 -0
  795. package/dist/serve/worker/host/firestore-reads.d.ts +17 -0
  796. package/dist/serve/worker/host/firestore-reads.d.ts.map +1 -0
  797. package/dist/serve/worker/host/firestore-reads.js +108 -0
  798. package/dist/serve/worker/host/firestore-reads.js.map +1 -0
  799. package/dist/serve/worker/host/firestore-writes.d.ts +37 -0
  800. package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -0
  801. package/dist/serve/worker/host/firestore-writes.js +409 -0
  802. package/dist/serve/worker/host/firestore-writes.js.map +1 -0
  803. package/dist/serve/worker/host/presence.d.ts +38 -0
  804. package/dist/serve/worker/host/presence.d.ts.map +1 -0
  805. package/dist/serve/worker/host/presence.js +280 -0
  806. package/dist/serve/worker/host/presence.js.map +1 -0
  807. package/dist/serve/worker/host/rtdb.d.ts +18 -0
  808. package/dist/serve/worker/host/rtdb.d.ts.map +1 -0
  809. package/dist/serve/worker/host/rtdb.js +128 -0
  810. package/dist/serve/worker/host/rtdb.js.map +1 -0
  811. package/dist/serve/worker/host/rules.d.ts +17 -0
  812. package/dist/serve/worker/host/rules.d.ts.map +1 -0
  813. package/dist/serve/worker/host/rules.js +118 -0
  814. package/dist/serve/worker/host/rules.js.map +1 -0
  815. package/dist/serve/worker/host/storage.d.ts +19 -0
  816. package/dist/serve/worker/host/storage.d.ts.map +1 -0
  817. package/dist/serve/worker/host/storage.js +260 -0
  818. package/dist/serve/worker/host/storage.js.map +1 -0
  819. package/dist/serve/worker/host/studio.d.ts +13 -0
  820. package/dist/serve/worker/host/studio.d.ts.map +1 -0
  821. package/dist/serve/worker/host/studio.js +30 -0
  822. package/dist/serve/worker/host/studio.js.map +1 -0
  823. package/dist/serve/worker/host/subscriptions.d.ts +21 -0
  824. package/dist/serve/worker/host/subscriptions.d.ts.map +1 -0
  825. package/dist/serve/worker/host/subscriptions.js +162 -0
  826. package/dist/serve/worker/host/subscriptions.js.map +1 -0
  827. package/dist/serve/worker/host-ai.d.ts +59 -0
  828. package/dist/serve/worker/host-ai.d.ts.map +1 -0
  829. package/dist/serve/worker/host-ai.js +158 -0
  830. package/dist/serve/worker/host-ai.js.map +1 -0
  831. package/dist/serve/worker/host-auth.d.ts +47 -0
  832. package/dist/serve/worker/host-auth.d.ts.map +1 -0
  833. package/dist/serve/worker/host-auth.js +464 -0
  834. package/dist/serve/worker/host-auth.js.map +1 -0
  835. package/dist/serve/worker/host-context.d.ts +220 -0
  836. package/dist/serve/worker/host-context.d.ts.map +1 -0
  837. package/dist/serve/worker/host-context.js +45 -0
  838. package/dist/serve/worker/host-context.js.map +1 -0
  839. package/dist/serve/worker/host-events.d.ts +21 -0
  840. package/dist/serve/worker/host-events.d.ts.map +1 -0
  841. package/dist/serve/worker/host-events.js +87 -0
  842. package/dist/serve/worker/host-events.js.map +1 -0
  843. package/dist/serve/worker/host-messaging.d.ts +60 -0
  844. package/dist/serve/worker/host-messaging.d.ts.map +1 -0
  845. package/dist/serve/worker/host-messaging.js +226 -0
  846. package/dist/serve/worker/host-messaging.js.map +1 -0
  847. package/dist/serve/worker/host.d.ts +36 -0
  848. package/dist/serve/worker/host.d.ts.map +1 -0
  849. package/dist/serve/worker/host.js +39 -0
  850. package/dist/serve/worker/host.js.map +1 -0
  851. package/dist/serve/worker/index.d.ts +22 -0
  852. package/dist/serve/worker/index.d.ts.map +1 -0
  853. package/dist/serve/worker/index.js +61 -0
  854. package/dist/serve/worker/index.js.map +1 -0
  855. package/dist/serve/worker/presence-timing.d.ts +14 -0
  856. package/dist/serve/worker/presence-timing.d.ts.map +1 -0
  857. package/dist/serve/worker/presence-timing.js +14 -0
  858. package/dist/serve/worker/presence-timing.js.map +1 -0
  859. package/dist/serve/worker/protocol.d.ts +1150 -0
  860. package/dist/serve/worker/protocol.d.ts.map +1 -0
  861. package/dist/serve/worker/protocol.js +228 -0
  862. package/dist/serve/worker/protocol.js.map +1 -0
  863. package/dist/serve/worker/serve-init.d.ts +201 -0
  864. package/dist/serve/worker/serve-init.d.ts.map +1 -0
  865. package/dist/serve/worker/serve-init.js +579 -0
  866. package/dist/serve/worker/serve-init.js.map +1 -0
  867. package/dist/serve/worker/service-worker-channel.d.ts +23 -0
  868. package/dist/serve/worker/service-worker-channel.d.ts.map +1 -0
  869. package/dist/serve/worker/service-worker-channel.js +9 -0
  870. package/dist/serve/worker/service-worker-channel.js.map +1 -0
  871. package/dist/serve/worker/service-worker-relay.d.ts +22 -0
  872. package/dist/serve/worker/service-worker-relay.d.ts.map +1 -0
  873. package/dist/serve/worker/service-worker-relay.js +63 -0
  874. package/dist/serve/worker/service-worker-relay.js.map +1 -0
  875. package/dist/serve/writer-lock.d.ts +32 -0
  876. package/dist/serve/writer-lock.d.ts.map +1 -0
  877. package/dist/serve/writer-lock.js +43 -0
  878. package/dist/serve/writer-lock.js.map +1 -0
  879. package/dist/verify/cases.d.ts +37 -0
  880. package/dist/verify/cases.d.ts.map +1 -0
  881. package/dist/verify/cases.js +173 -0
  882. package/dist/verify/cases.js.map +1 -0
  883. package/dist/verify/fixture.d.ts +100 -0
  884. package/dist/verify/fixture.d.ts.map +1 -0
  885. package/dist/verify/fixture.js +156 -0
  886. package/dist/verify/fixture.js.map +1 -0
  887. package/dist/verify/index.d.ts +102 -0
  888. package/dist/verify/index.d.ts.map +1 -0
  889. package/dist/verify/index.js +318 -0
  890. package/dist/verify/index.js.map +1 -0
  891. package/dist/verify/tools.d.ts +7 -0
  892. package/dist/verify/tools.d.ts.map +1 -0
  893. package/dist/verify/tools.js +83 -0
  894. package/dist/verify/tools.js.map +1 -0
  895. package/dist/version/compat-target.d.ts +18 -0
  896. package/dist/version/compat-target.d.ts.map +1 -0
  897. package/dist/version/compat-target.js +18 -0
  898. package/dist/version/compat-target.js.map +1 -0
  899. package/dist/vite.d.ts +12 -0
  900. package/dist/vite.d.ts.map +1 -0
  901. package/dist/vite.js +16 -0
  902. package/dist/vite.js.map +1 -0
  903. package/package.json +144 -0
@@ -0,0 +1,387 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * `pyric` CLI — front door to the bridge + project tooling.
4
+ *
5
+ * Subcommands:
6
+ * pyric bridge [--port N] [--project ID]
7
+ * pyric dev [--port N] [--host H] [--no-cache] [--bridge] [--ui] [--seed FILE] [--no-watch] [--no-open] [--no-capture] [--no-run] [--json] [--persist] [--fresh] [-- <cmd>]
8
+ * pyric init [dir] [--template web|node] [--name N] [--force] [--json]
9
+ * pyric vendor [dir] [--json]
10
+ * pyric snapshot [--out FILE] [--port N] [--force] [--json] [--include-passwords]
11
+ * pyric mcp
12
+ * pyric firestore rules lint <path>
13
+ * pyric firestore rules validate <path>
14
+ * pyric firestore rules simulate [--stdin]
15
+ * pyric firestore rules resolve <path> [--out <path>]
16
+ * pyric firestore indexes generate <path...> [--out <path>]
17
+ * pyric storage rules lint <path>
18
+ * pyric storage rules simulate [--stdin]
19
+ * pyric database rules lint <path>
20
+ * pyric database rules validate <path>
21
+ * pyric database rules simulate [--stdin]
22
+ * pyric database rules generate [--config <path>] [--out <path>]
23
+ * pyric --help
24
+ * pyric --version
25
+ *
26
+ * Env vars:
27
+ * PYRIC_PORT — bridge port (default 5174)
28
+ * PYRIC_PROJECT — project label for bridge health and audit output
29
+ * PYRIC_VERBOSE — set to 1 for per-tool-call logging
30
+ * FIREBASE_SA_BASE64 — base64-encoded service-account JSON (Rules Test API verify)
31
+ * GOOGLE_APPLICATION_CREDENTIALS — path to service-account JSON (Rules Test API verify)
32
+ *
33
+ * Exit codes:
34
+ * 0 success
35
+ * 1 usage error
36
+ * 2 runtime error
37
+ */
38
+ import { realpathSync } from 'node:fs';
39
+ import { fileURLToPath } from 'node:url';
40
+ import { parseArgs } from './parse-args.js';
41
+ import { runInit, runVendor } from './init.js';
42
+ import { runSnapshot } from './snapshot.js';
43
+ import { runVerify } from './verify.js';
44
+ import { runMcpProxy } from './mcp-proxy.js';
45
+ import { pyricVersion } from '../serve/standalone-assets.js';
46
+ import { cliVersion } from '../pkg-version.js';
47
+ import { FIREBASE_TESTED_AGAINST } from '../version/compat-target.js';
48
+ import { dispatchServiceCommand } from './service-commands.js';
49
+ // The standalone binary bakes the real `pyric` version onto the embedded-assets
50
+ // global; the npm bin has no such global and falls back to '0.0.0'.
51
+ const VERSION = pyricVersion();
52
+ function printUsage() {
53
+ process.stdout.write(`pyric ${VERSION}
54
+ Firebase for agents — bridge an in-browser pyric sandbox to external MCP
55
+ clients (Claude Code, Cursor, ...).
56
+
57
+ USAGE
58
+ pyric bridge [flags]
59
+ pyric dev [flags] [-- <cmd>]
60
+ pyric init [dir] [--template=web|node]
61
+ pyric snapshot [--out=FILE]
62
+ pyric verify [fixture|dir] [--engine sandbox|rules-test-api|both]
63
+ pyric can-i-use <feature> [--json]
64
+ pyric verify cases [fixture] [--service firestore] [--out FILE]
65
+ pyric firestore rules lint <path>
66
+ pyric firestore rules validate <path>
67
+ pyric firestore rules simulate [--stdin]
68
+ pyric firestore rules resolve <path> [--out <path>]
69
+ pyric firestore indexes generate <path...> [--out <path>]
70
+ pyric storage rules lint <path>
71
+ pyric storage rules simulate [--stdin]
72
+ pyric database rules lint <path>
73
+ pyric database rules validate <path>
74
+ pyric database rules simulate [--stdin]
75
+ pyric database rules generate [--config <path>] [--out <path>]
76
+ pyric --help
77
+ pyric --version
78
+
79
+ COMMANDS
80
+ bridge Start the HTTP+WebSocket bridge external MCP clients point at.
81
+ dev Serve the app locally with the pyric sandbox standing in for
82
+ Firebase — unmodified firebase/* imports hit an in-page sandbox
83
+ with your firestore.rules deployed. Also runs your own dev
84
+ command (\`-- <cmd>\`, else the package.json \`dev\` script) with
85
+ unchanged firebase-admin/firebase imports routed to the
86
+ sandbox (PYRIC_SANDBOX + \`--import @pyric/cli/register\`). A
87
+ firebase.json Functions source is discovered automatically;
88
+ supported RTDB onValueCreated exports run in isolated Node.
89
+ init [dir] Scaffold a pyric project. --template=web (default; Vite app
90
+ on \`@pyric/cli/vite\`), static (\`pyric dev\`), or node.
91
+ --name=NAME --force (overwrite scaffold files) --json (machine
92
+ output on stdout). Never prompts; rerunning is safe.
93
+ Greenfield shortcut: \`npm create pyric [dir]\`.
94
+ vendor [dir] Retrofit: vendor pyric + @pyric/cli into an existing
95
+ project (lay file: tarballs into vendor/ + merge their
96
+ deps into package.json). Scaffolds nothing. Then run
97
+ bun install. Standalone binary only.
98
+ mcp Stdio MCP server for editors (Cursor / Claude /
99
+ Antigravity). Hosts a headless in-process sandbox,
100
+ or attaches to a running \`pyric dev --bridge\`
101
+ (found via .pyric/serve.json) for shared-live Studio.
102
+ snapshot [--out=FILE] Promote lived sandbox state (live dev --persist, else
103
+ .pyric/state/state.json) to a committable fixture that
104
+ \`pyric dev --seed FILE\` re-serves. Passwords are redacted
105
+ by default (--include-passwords keeps them). --port, --force, --json.
106
+ verify [fixture|dir] Replay a captured sandbox session against candidate rules
107
+ for the Firestore/RTDB services present in the fixture.
108
+ No arg replays the latest \`pyric dev\` capture
109
+ (.pyric/last-session.json). --service filters services.
110
+ --engine sandbox (default), rules-test-api, or both.
111
+ Hosted Rules Test API verification is Firestore-only
112
+ and uses --project plus the configured Google credentials.
113
+ --rules service=path overrides firebase.json resolution
114
+ (repeat for mixed captures). --json. Exit 1 on divergence.
115
+ can-i-use <feature> Report Pyric availability, behavior fidelity, and assurance
116
+ eligibility from the canonical conformance model. A surface
117
+ prefix such as firestore-rules/getAfter disambiguates names.
118
+ Exact and fuzzy queries use the same model as MCP. --json.
119
+ verify cases [fixture] Derive Firestore Rules Test API cases from a captured
120
+ fixture and print JSON, or write with --out FILE.
121
+ firestore rules lint Run the Firestore rules linter against a file.
122
+ firestore rules validate Validate Firestore rules structure against a file.
123
+ firestore rules simulate Run the local Firestore rules simulator.
124
+ firestore rules resolve Resolve Firestore 2+modules imports to one ruleset.
125
+ firestore indexes generate Generate firestore.indexes.json from application source.
126
+ storage rules lint Check Storage rules syntax locally.
127
+ storage rules simulate Run the local Storage rules evaluator.
128
+ database rules lint Run the Realtime Database rules expression linter.
129
+ database rules validate Validate Realtime Database rules expressions.
130
+ database rules simulate Run the local Realtime Database rules simulator.
131
+ database rules generate Compile a constraints module to database.rules.json.
132
+ CORE FLAGS (dev)
133
+ --port Port to serve on. Default 3473 — "FIRE" on a phone keypad (scans forward when taken;
134
+ macOS AirPlay squats 5000).
135
+ --host Host to bind. Default localhost.
136
+ --no-cache Rebuild the served pyric SDK bundles (skip ~/.pyric/serve-cache).
137
+ --only hosting Accepted for firebase-serve parity (hosting is all v1 serves).
138
+ --bridge Also mount the MCP bridge on the serve origin — agents point
139
+ at http://<host>:<port>/__pyric/mcp and drive the sandbox
140
+ living in the served page. --project labels health/audit.
141
+ --ui Also serve the Pyric Studio app at <url>/__pyric/ui/ (and
142
+ mount its disk-backed workspace + project data routes).
143
+ Auto-opens Studio instead of the served page. Needs a full
144
+ build so the app assets are present.
145
+ --seed FILE JSON map of "collection/doc" → fields, loaded admin-style.
146
+ Also accepts a pyric state file (from \`pyric snapshot\`,
147
+ detected by its version key) — seeds docs + auth users.
148
+ into the page sandbox before app code runs.
149
+ --no-watch Disable firestore.rules hot-reload (on by default).
150
+ --no-open Don't auto-open the browser. dev opens the served page
151
+ by default (the sandbox is browser-resident); auto-open
152
+ is already suppressed under --json, no TTY, and CI.
153
+ --no-capture Don't write the session capture. dev writes
154
+ .pyric/last-session.json by default so \`pyric verify\`
155
+ can replay your session; --no-capture disables it.
156
+ --allowed-host H Allow an extra Host header past the DNS-rebinding guard
157
+ (comma-separated; localhost/127.0.0.1 always allowed).
158
+ --persist Persist sandbox state (docs + auth users) to
159
+ .pyric/state/state.json — survives reloads and dev
160
+ restarts. Once a state file exists it wins; --seed
161
+ applies only on the first (state-less) run. Ephemeral
162
+ is the default.
163
+ --fresh Requires --persist: discard the existing state file and
164
+ re-seed from scratch (escape hatch when you've edited
165
+ seed.json). Without --persist, --fresh errors — there is
166
+ no state file to discard. Half-reset warning: a browser
167
+ tab that already has sandbox data in IndexedDB keeps it
168
+ and writes it back to the new file; also clear the
169
+ browser store (Studio → Settings → Reset, or an
170
+ incognito window) for a full reset.
171
+ -- <cmd> Run <cmd> once the host is up, with PYRIC_SANDBOX set and
172
+ NODE_OPTIONS extended with --import @pyric/cli/register
173
+ so firebase-admin/firebase resolve to the sandbox. When
174
+ omitted, the package.json \`dev\` script runs (via the
175
+ detected package manager); no script → host-only.
176
+ --no-run Don't run the project's dev command (for users with their
177
+ own process manager). A declared Functions source still
178
+ runs. --json skips the dev command unless a \`-- <cmd>\`
179
+ is given explicitly.
180
+ --json One machine-readable line on stdout ({url, port, mcpUrl,
181
+ rulesHash, persist, restoredDocs, restoredUsers}); the
182
+ banner moves to stderr. Readiness probe:
183
+ GET <url>/__pyric/init.json → 200 (live rules hash).
184
+
185
+ CORE FLAGS (bridge)
186
+ --port Port to bind on 127.0.0.1. Default 5174. Env: PYRIC_PORT.
187
+ --project Project label surfaced in /health + audit output.
188
+ Env: PYRIC_PROJECT.
189
+
190
+ CREDENTIALS
191
+ Rules Test API verification resolves existing Google credentials:
192
+ 1. FIREBASE_SA_BASE64 base64-encoded service-account JSON (CI)
193
+ 2. GOOGLE_APPLICATION_CREDENTIALS path to a service-account JSON file
194
+ 3. ADC \`gcloud auth application-default login\` (ambient)
195
+ PYRIC_PROJECT / --project Firebase project id for Rules Test API verification
196
+ `);
197
+ }
198
+ function printVersion() {
199
+ process.stdout.write(`@pyric/cli ${cliVersion()}\n` +
200
+ `Firebase ${FIREBASE_TESTED_AGAINST} (conformance-tested against this release)\n`);
201
+ }
202
+ async function runBridge(parsed) {
203
+ const removedFlags = [
204
+ 'mode',
205
+ 'auto-approve',
206
+ 'require-confirm',
207
+ 'require-confirm-all',
208
+ 'confirm-timeout',
209
+ 'non-interactive',
210
+ ];
211
+ for (const flag of removedFlags) {
212
+ if (parsed.flags.has(flag)) {
213
+ process.stderr.write(`pyric: unknown option '--${flag}' for pyric bridge.\n`);
214
+ return 1;
215
+ }
216
+ }
217
+ const flagPort = parsed.flags.get('port');
218
+ const port = typeof flagPort === 'string'
219
+ ? Number(flagPort)
220
+ : process.env.PYRIC_PORT
221
+ ? Number(process.env.PYRIC_PORT)
222
+ : undefined;
223
+ if (port !== undefined && (!Number.isFinite(port) || port < 1 || port > 65535)) {
224
+ process.stderr.write(`pyric: invalid --port '${flagPort ?? process.env.PYRIC_PORT}'.\n`);
225
+ return 1;
226
+ }
227
+ const flagProject = parsed.flags.get('project');
228
+ const project = typeof flagProject === 'string' ? flagProject : process.env.PYRIC_PROJECT ?? undefined;
229
+ let handle;
230
+ try {
231
+ const { startServer } = await import('@pyric/cli/bridge');
232
+ handle = await startServer({
233
+ port,
234
+ project,
235
+ });
236
+ }
237
+ catch (err) {
238
+ process.stderr.write(`pyric: failed to start bridge: ${err instanceof Error ? err.message : String(err)}\n`);
239
+ return 2;
240
+ }
241
+ // Graceful shutdown. Idempotent because:
242
+ // 1. npx forwards SIGINT to its child AND the terminal sends SIGINT
243
+ // to the process group, so one Ctrl-C delivers SIGINT TWICE to
244
+ // this process — without a guard, the handler ran twice and
245
+ // printed everything twice.
246
+ // 2. An impatient user mashing Ctrl-C expects "now I mean it" to
247
+ // force-exit, not enqueue more clean-shutdowns.
248
+ let shuttingDown = false;
249
+ const stop = async (signal) => {
250
+ if (shuttingDown) {
251
+ process.stderr.write('pyric: force-exiting\n');
252
+ process.exit(130);
253
+ }
254
+ shuttingDown = true;
255
+ process.stdout.write(`\npyric: received ${signal}, stopping bridge...\n`);
256
+ // Hard safety net: clean shutdown is ~instant once sockets are
257
+ // forcibly closed (see handle.stop in standalone.ts). If something
258
+ // hangs anyway — peer pre-handshake, MCP transport in mid-write —
259
+ // don't make the user wait forever.
260
+ const forceExitTimer = setTimeout(() => {
261
+ process.stderr.write('pyric: shutdown taking longer than expected, force-exiting\n');
262
+ process.exit(130);
263
+ }, 2000);
264
+ forceExitTimer.unref();
265
+ try {
266
+ await handle.stop();
267
+ }
268
+ catch (err) {
269
+ process.stderr.write(`pyric: error during shutdown: ${err instanceof Error ? err.message : String(err)}\n`);
270
+ }
271
+ clearTimeout(forceExitTimer);
272
+ process.exit(signal === 'SIGINT' ? 130 : 0);
273
+ };
274
+ process.on('SIGINT', () => void stop('SIGINT'));
275
+ process.on('SIGTERM', () => void stop('SIGTERM'));
276
+ process.stdout.write(`\npyric bridge ${VERSION} ready\n` +
277
+ ` target: sandbox\n` +
278
+ ` project: ${handle.bridge.project}\n` +
279
+ ` health: ${handle.url}/health\n` +
280
+ ` mcp: ${handle.url}/mcp\n` +
281
+ ` sandbox: ${handle.url.replace('http://', 'ws://')}/sandbox\n` +
282
+ (handle.auditLogPath ? ` audit: ${handle.auditLogPath}\n` : '') +
283
+ `\nRegister with Claude Code:\n` +
284
+ ` claude mcp add --transport http pyric ${handle.url}/mcp --scope project\n` +
285
+ `\nBridge will log peer connect/disconnect to stderr. Set PYRIC_VERBOSE=1 for per-tool-call logs.\n` +
286
+ `Press Ctrl-C to stop.\n`);
287
+ // Keep the event loop alive.
288
+ return await new Promise(() => { });
289
+ }
290
+ /**
291
+ * Dispatch a parsed CLI invocation to its subcommand handler.
292
+ * Exported so the test suite can drive the dispatcher directly
293
+ * without spawning a child process. `process.exit` is not called
294
+ * here — the caller (the top-level `main()` below) does that.
295
+ */
296
+ export async function dispatch(parsed) {
297
+ if (parsed.flags.get('help') || parsed.flags.get('h')) {
298
+ printUsage();
299
+ return 0;
300
+ }
301
+ if (parsed.flags.get('version') || parsed.flags.get('v')) {
302
+ printVersion();
303
+ return 0;
304
+ }
305
+ const serviceCommand = await dispatchServiceCommand(parsed);
306
+ if (serviceCommand !== null)
307
+ return serviceCommand;
308
+ switch (parsed.subcommand) {
309
+ case null:
310
+ case undefined:
311
+ printUsage();
312
+ return parsed.subcommand === null ? 0 : 1;
313
+ case 'bridge':
314
+ return await runBridge(parsed);
315
+ case 'dev':
316
+ const { runServe } = await import('./serve.js');
317
+ return runServe(parsed);
318
+ case 'snapshot':
319
+ return await runSnapshot(parsed);
320
+ case 'verify':
321
+ return await runVerify(parsed);
322
+ case 'can-i-use':
323
+ const { runCanIUse } = await import('./can-i-use.js');
324
+ return runCanIUse(parsed);
325
+ case 'mcp':
326
+ return await runMcpProxy(parsed);
327
+ case 'init':
328
+ return await runInit(parsed);
329
+ case 'vendor':
330
+ return await runVendor(parsed);
331
+ default:
332
+ process.stderr.write(`pyric: unknown command '${parsed.subcommand}'.\n\n`);
333
+ printUsage();
334
+ return 1;
335
+ }
336
+ }
337
+ async function main() {
338
+ const parsed = parseArgs(process.argv.slice(2));
339
+ return dispatch(parsed);
340
+ }
341
+ // Re-export parseArgs so the bin script + tests can share the parser.
342
+ export { parseArgs } from './parse-args.js';
343
+ /**
344
+ * True when this module is the executable entry rather than an import.
345
+ *
346
+ * Bun identifies source and compiled entry points with `import.meta.main`.
347
+ * Node does not, so compare real paths there: resolving both sides preserves
348
+ * npm's `node_modules/.bin/pyric` symlink behavior that a textual path check
349
+ * previously broke.
350
+ */
351
+ export function isDirectRun() {
352
+ if (import.meta.main)
353
+ return true;
354
+ const argvEntry = process.argv[1];
355
+ if (!argvEntry)
356
+ return false;
357
+ try {
358
+ return realpathSync(argvEntry) === realpathSync(fileURLToPath(import.meta.url));
359
+ }
360
+ catch {
361
+ return false;
362
+ }
363
+ }
364
+ if (isDirectRun()) {
365
+ main().then((code) => exitAfterFlush(code), (err) => {
366
+ process.stderr.write(`pyric: ${err instanceof Error ? err.stack ?? err.message : String(err)}\n`);
367
+ exitAfterFlush(2);
368
+ });
369
+ }
370
+ /**
371
+ * Drain stdout + stderr before exiting. `process.exit()` does NOT wait
372
+ * for pipe-buffered output to flush — `process.stdout.write(text)`
373
+ * against a pipe (which `bash -c '$(pyric --help)'` creates) queues
374
+ * the data, and a bare `process.exit(0)` discards it on Linux Node 20.
375
+ * Symptom: `pyric --help | cat` prints nothing in CI but works in a
376
+ * TTY. The zero-byte write + callback pattern below queues behind any
377
+ * pending writes and only exits once they've been flushed to the
378
+ * underlying fd. See nodejs/node #6379.
379
+ */
380
+ function exitAfterFlush(code) {
381
+ let pending = 2;
382
+ const done = () => { if (--pending === 0)
383
+ process.exit(code); };
384
+ process.stdout.write('', done);
385
+ process.stderr.write('', done);
386
+ }
387
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAmB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,gFAAgF;AAChF,oEAAoE;AACpE,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;AAE/B,SAAS,UAAU;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ItC,CAAC,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,UAAU,EAAE,IAAI;QAC5B,YAAY,uBAAuB,8CAA8C,CACpF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,MAAkB;IACzC,MAAM,YAAY,GAAG;QACnB,MAAM;QACN,cAAc;QACd,iBAAiB;QACjB,qBAAqB;QACrB,iBAAiB;QACjB,iBAAiB;KAClB,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,uBAAuB,CAAC,CAAC;YAC9E,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GACR,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;YACtB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,CAAC;QACzF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,OAAO,GACX,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;IAEzF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,GAAG,MAAM,WAAW,CAAC;YACzB,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACvF,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,yCAAyC;IACzC,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,iCAAiC;IACjC,mEAAmE;IACnE,qDAAqD;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE;QAC5C,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,wBAAwB,CAAC,CAAC;QAC1E,+DAA+D;QAC/D,mEAAmE;QACnE,kEAAkE;QAClE,oCAAoC;QACpC,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YACrF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACtF,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,OAAO,UAAU;QACjC,sBAAsB;QACtB,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI;QACvC,cAAc,MAAM,CAAC,GAAG,WAAW;QACnC,cAAc,MAAM,CAAC,GAAG,QAAQ;QAChC,cAAc,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY;QAChE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,gCAAgC;QAChC,2CAA2C,MAAM,CAAC,GAAG,wBAAwB;QAC7E,oGAAoG;QACpG,yBAAyB,CAC5B,CAAC;IAEF,6BAA6B;IAC7B,OAAO,MAAM,IAAI,OAAO,CAAS,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAkB;IAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,cAAc,KAAK,IAAI;QAAE,OAAO,cAAc,CAAC;IAEnD,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC;QACV,KAAK,SAAS;YACZ,UAAU,EAAE,CAAC;YACb,OAAO,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,KAAK,QAAQ;YACX,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,KAAK;YACR,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,WAAW;YACd,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACtD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,KAAK,KAAK;YACR,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QACnC,KAAK,MAAM;YACT,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,QAAQ;YACX,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC;YACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;YAC3E,UAAU,EAAE,CAAC;YACb,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,sEAAsE;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW;IACzB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,IAAI,WAAW,EAAE,EAAE,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAC9B,CAAC,GAAG,EAAE,EAAE;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAC5E,CAAC;QACF,cAAc,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * `pyric init` — scaffold a pyric project (v2, agent-first).
3
+ *
4
+ * pyric init [dir] [--name N] [--template web|node|static] [--force] [--json]
5
+ * [--deps vendor|npm] [--pyric-version X]
6
+ *
7
+ * Scaffold templates and file writing live in `create-pyric`. This module
8
+ * adds standalone-binary vendor mode (`--deps vendor`) and `pyric vendor`.
9
+ */
10
+ import { writeFile, readFile, mkdir } from 'node:fs/promises';
11
+ import type { ParsedArgs } from './parse-args.js';
12
+ import { TEMPLATES, applyDepsMode, mergeIntoExistingPackageJson, type ScaffoldTemplate, type DepsMode } from 'create-pyric';
13
+ export type { DepsMode, ScaffoldTemplate };
14
+ export { TEMPLATES, applyDepsMode, mergeIntoExistingPackageJson };
15
+ export declare function resolveDepsMode(parsed: ParsedArgs, env?: Record<string, string | undefined>): DepsMode;
16
+ export interface InitResult {
17
+ template: 'web' | 'node' | 'static';
18
+ dir: string;
19
+ depsMode: DepsMode;
20
+ created: string[];
21
+ merged: string[];
22
+ skipped: string[];
23
+ conflicts: Array<{
24
+ key: string;
25
+ existing: unknown;
26
+ wanted: unknown;
27
+ }>;
28
+ nextSteps: string[];
29
+ }
30
+ export interface InitDeps {
31
+ writeFile?: typeof writeFile;
32
+ readFile?: typeof readFile;
33
+ mkdir?: typeof mkdir;
34
+ exists?: (path: string) => Promise<boolean>;
35
+ cwd?: string;
36
+ stdout?: {
37
+ write(s: string): void;
38
+ };
39
+ stderr?: {
40
+ write(s: string): void;
41
+ };
42
+ }
43
+ export declare function runInit(parsed: ParsedArgs, deps?: InitDeps): Promise<number>;
44
+ export declare const VENDOR_TEMPLATE: ScaffoldTemplate;
45
+ /**
46
+ * `pyric vendor [dir]` — lay vendored tarballs into an existing project.
47
+ * Standalone-binary only.
48
+ */
49
+ export declare function runVendor(parsed: ParsedArgs, deps?: InitDeps): Promise<number>;
50
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAU,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,SAAS,EACT,aAAa,EACb,4BAA4B,EAI5B,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EAEd,MAAM,cAAc,CAAC;AAQtB,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,4BAA4B,EAAE,CAAC;AAElE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,QAAQ,CAMV;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACpC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACrC;AAeD,wBAAsB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAyEtF;AAED,eAAO,MAAM,eAAe,EAAE,gBAO7B,CAAC;AAEF;;;GAGG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqFxF"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * `pyric init` — scaffold a pyric project (v2, agent-first).
3
+ *
4
+ * pyric init [dir] [--name N] [--template web|node|static] [--force] [--json]
5
+ * [--deps vendor|npm] [--pyric-version X]
6
+ *
7
+ * Scaffold templates and file writing live in `create-pyric`. This module
8
+ * adds standalone-binary vendor mode (`--deps vendor`) and `pyric vendor`.
9
+ */
10
+ import { writeFile, readFile, mkdir, access } from 'node:fs/promises';
11
+ import { join, basename, resolve } from 'node:path';
12
+ import { TEMPLATES, applyDepsMode, mergeIntoExistingPackageJson, packageJsonFor, normalizeBoolFlags as normalizeScaffoldBoolFlags, runScaffold, } from 'create-pyric';
13
+ import { isStandalone, hasEmbeddedTarballs, embeddedVersion, materializeVendorTarballs, } from '../serve/standalone-assets.js';
14
+ export { TEMPLATES, applyDepsMode, mergeIntoExistingPackageJson };
15
+ export function resolveDepsMode(parsed, env = process.env) {
16
+ const flag = parsed.flags.get('deps');
17
+ if (flag === 'vendor' || flag === 'npm')
18
+ return flag;
19
+ const fromEnv = env.PYRIC_INIT_DEPS;
20
+ if (fromEnv === 'vendor' || fromEnv === 'npm')
21
+ return fromEnv;
22
+ return isStandalone() && hasEmbeddedTarballs() ? 'vendor' : 'npm';
23
+ }
24
+ async function defaultExists(path) {
25
+ try {
26
+ await access(path);
27
+ return true;
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ }
33
+ function normalizeBoolFlags(parsed) {
34
+ normalizeScaffoldBoolFlags(parsed.flags, parsed.positional);
35
+ }
36
+ export async function runInit(parsed, deps = {}) {
37
+ const err = deps.stderr ?? process.stderr;
38
+ normalizeBoolFlags(parsed);
39
+ const templateFlag = parsed.flags.get('template');
40
+ const templateName = typeof templateFlag === 'string' ? templateFlag : 'web';
41
+ if (templateName !== 'web' && templateName !== 'node' && templateName !== 'static') {
42
+ err.write(`pyric init: unknown template '${templateName}' (expected web|node|static)\n`);
43
+ return 1;
44
+ }
45
+ const depsFlag = parsed.flags.get('deps');
46
+ if (depsFlag !== undefined && depsFlag !== 'vendor' && depsFlag !== 'npm') {
47
+ err.write(`pyric init: --deps must be 'vendor' or 'npm' (got '${String(depsFlag)}')\n`);
48
+ return 1;
49
+ }
50
+ const depsMode = resolveDepsMode(parsed);
51
+ if (depsMode === 'vendor' && !(isStandalone() && hasEmbeddedTarballs())) {
52
+ err.write(`pyric init: --deps vendor needs the standalone binary (with embedded packages). Use --deps npm.\n`);
53
+ return 1;
54
+ }
55
+ const versionFlag = parsed.flags.get('pyric-version');
56
+ const pinVersion = typeof versionFlag === 'string' && versionFlag.length > 0
57
+ ? versionFlag
58
+ : isStandalone()
59
+ ? embeddedVersion()
60
+ : null;
61
+ const cwd = deps.cwd ?? process.cwd();
62
+ const dir = parsed.positional[0] ? resolve(cwd, parsed.positional[0]) : cwd;
63
+ const nameFlag = parsed.flags.get('name');
64
+ const projectName = typeof nameFlag === 'string' && nameFlag.length > 0 ? nameFlag : basename(dir);
65
+ const template = TEMPLATES[templateName];
66
+ let effective = template;
67
+ const preCreated = [];
68
+ if (depsMode === 'vendor') {
69
+ try {
70
+ const vendorSpecs = await materializeVendorTarballs(dir);
71
+ for (const spec of Object.values(vendorSpecs))
72
+ preCreated.push(spec.replace(/^file:/, ''));
73
+ effective = applyDepsMode(template, 'vendor', { vendorSpecs });
74
+ }
75
+ catch (e) {
76
+ err.write(`pyric init: failed to vendor packages: ${e instanceof Error ? e.message : String(e)}\n`);
77
+ return 2;
78
+ }
79
+ }
80
+ else {
81
+ effective = applyDepsMode(template, 'npm', { version: pinVersion });
82
+ }
83
+ return runScaffold({
84
+ dir,
85
+ template: templateName,
86
+ name: projectName,
87
+ force: parsed.flags.get('force') === true,
88
+ json: parsed.flags.get('json') === true,
89
+ depsMode,
90
+ effectiveTemplate: effective,
91
+ pinVersion,
92
+ commandLabel: 'pyric init',
93
+ preCreated,
94
+ }, deps);
95
+ }
96
+ export const VENDOR_TEMPLATE = {
97
+ scripts: {},
98
+ dependencies: {},
99
+ devDependencies: { '@pyric/cli': '*' },
100
+ dirs: [],
101
+ files: () => [],
102
+ nextSteps: [],
103
+ };
104
+ /**
105
+ * `pyric vendor [dir]` — lay vendored tarballs into an existing project.
106
+ * Standalone-binary only.
107
+ */
108
+ export async function runVendor(parsed, deps = {}) {
109
+ const out = deps.stdout ?? process.stdout;
110
+ const err = deps.stderr ?? process.stderr;
111
+ const cwd = deps.cwd ?? process.cwd();
112
+ const write = deps.writeFile ?? writeFile;
113
+ const read = deps.readFile ?? readFile;
114
+ const mk = deps.mkdir ?? mkdir;
115
+ const exists = deps.exists ?? defaultExists;
116
+ normalizeBoolFlags(parsed);
117
+ const json = parsed.flags.get('json') === true;
118
+ const report = json ? err : out;
119
+ if (!(isStandalone() && hasEmbeddedTarballs())) {
120
+ err.write('pyric vendor: needs the standalone binary (it carries the embedded pyric / ' +
121
+ '@pyric/cli tarballs). A monorepo/npm checkout has nothing to vendor; depend ' +
122
+ 'on the packages directly instead.\n');
123
+ return 1;
124
+ }
125
+ const dir = parsed.positional[0] ? resolve(cwd, parsed.positional[0]) : cwd;
126
+ const projectName = basename(dir);
127
+ let vendorSpecs;
128
+ try {
129
+ await mk(dir, { recursive: true });
130
+ vendorSpecs = await materializeVendorTarballs(dir);
131
+ }
132
+ catch (e) {
133
+ err.write(`pyric vendor: failed to lay down vendor tarballs: ${e instanceof Error ? e.message : String(e)}\n`);
134
+ return 2;
135
+ }
136
+ const effective = applyDepsMode(VENDOR_TEMPLATE, 'vendor', { vendorSpecs });
137
+ const pkgPath = join(dir, 'package.json');
138
+ let added;
139
+ let conflicts = [];
140
+ let created = false;
141
+ try {
142
+ if (await exists(pkgPath)) {
143
+ const raw = String(await read(pkgPath, 'utf-8'));
144
+ const merge = mergeIntoExistingPackageJson(raw, projectName, effective);
145
+ conflicts = merge.conflicts;
146
+ added = merge.added;
147
+ if (!merge.unchanged)
148
+ await write(pkgPath, merge.contents, 'utf-8');
149
+ }
150
+ else {
151
+ await write(pkgPath, packageJsonFor(projectName, effective), 'utf-8');
152
+ added = [];
153
+ created = true;
154
+ }
155
+ }
156
+ catch (e) {
157
+ err.write(`pyric vendor: failed to update package.json: ${e instanceof Error ? e.message : String(e)}\n`);
158
+ return 2;
159
+ }
160
+ report.write(`pyric vendor: vendored pyric + @pyric/cli into ${join(dir, 'vendor')}\n`);
161
+ for (const spec of Object.values(vendorSpecs)) {
162
+ report.write(` + ${spec.replace(/^file:/, '')}\n`);
163
+ }
164
+ if (created) {
165
+ report.write(' + package.json (created)\n');
166
+ }
167
+ else if (added.length === 0) {
168
+ report.write(' · package.json already had the vendored deps\n');
169
+ }
170
+ else {
171
+ report.write(` ~ package.json (added: ${added.join(', ')})\n`);
172
+ }
173
+ for (const c of conflicts) {
174
+ report.write(` · ${c.key}: kept ${JSON.stringify(c.existing)} (pyric would set ${JSON.stringify(c.wanted)})\n`);
175
+ }
176
+ report.write('\n next: run `bun install` (or npm/pnpm install) to install the vendored packages.\n');
177
+ if (json) {
178
+ out.write(JSON.stringify({ dir, vendored: Object.keys(vendorSpecs), added, conflicts, created }) + '\n');
179
+ }
180
+ return 0;
181
+ }
182
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ParsedArgs } from './parse-args.js';
2
+ import { discoverServe } from '../serve/discovery.js';
3
+ export { discoverServe } from '../serve/discovery.js';
4
+ /** Injectable seams for testing the attach-vs-headless selection. */
5
+ export interface McpProxyDeps {
6
+ discover?: typeof discoverServe;
7
+ headless?: (cwd: string) => Promise<number>;
8
+ }
9
+ export declare function runMcpProxy(_parsed: ParsedArgs, cwd?: string, deps?: McpProxyDeps): Promise<number>;
10
+ //# sourceMappingURL=mcp-proxy.d.ts.map