@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,123 @@
1
+ # Pyric
2
+
3
+ > Pyric is Firebase for agents: a Firebase-shaped SDK and toolchain
4
+ > (in-browser sandbox, rules tooling, replay verification, deploy)
5
+ > that lets developers and AI agents work against Firebase semantics
6
+ > without touching a live project.
7
+
8
+ Every page below is also served as raw markdown at the linked `.md` URL.
9
+
10
+ ## Overview
11
+
12
+ - [Firebase that runs in your browser](/__pyric/ui/docs/overview.md): Understand what Pyric is and what you get, in one short read.
13
+
14
+ ## Get started
15
+
16
+ - [Run Firebase locally](/__pyric/ui/docs/get-started/start-building.md): Start a new Firebase application or add Pyric to an existing Vite application without connecting development to production.
17
+ - [How firebase/* imports resolve locally and in production](/__pyric/ui/docs/get-started/how-the-swap-works.md): Follow one import from your source to the local sandbox in development and to real Firebase in a production build.
18
+
19
+ ## Build
20
+
21
+ - [Run Firebase Authentication locally](/__pyric/ui/docs/build/authentication.md): Run real auth flows against a local user database, seed test users with claims, and design an identity model your rules can trust.
22
+ - [Run Cloud Firestore locally](/__pyric/ui/docs/build/cloud-firestore.md): Read, write, query, and stream Firestore documents locally, and derive the composite indexes your queries need from your source.
23
+ - [Run Realtime Database locally](/__pyric/ui/docs/build/realtime-database.md): Store and watch a Realtime Database tree locally, model it around your reads, and guard writes with schema and rules checks.
24
+ - [Run Cloud Storage locally](/__pyric/ui/docs/build/cloud-storage.md): Upload, list, download, and delete files locally, with storage rules enforced in-process.
25
+ - [Receive Firebase Cloud Messaging locally](/__pyric/ui/docs/build/cloud-messaging.md): Keep Firebase Cloud Messaging receive code unchanged while tokens and deliveries stay in the local sandbox.
26
+ - [Run Firebase AI Logic locally](/__pyric/ui/docs/build/ai-logic.md): Keep Firebase AI Logic application code unchanged while model responses stay deterministic or come from a local model.
27
+
28
+ ## Secure & debug
29
+
30
+ - [Security Rules in Pyric](/__pyric/ui/docs/secure/secure-it-with-rules.md): What Pyric gives you for Security Rules: in-process enforcement, simulation, lint, verdicts that name the rule, and tests — before anything deploys.
31
+ - [Simulate and lint Security Rules before deployment](/__pyric/ui/docs/secure/simulate-and-lint.md): Get a rules verdict and a lint report locally, before production answers with an unexplained 400 or 403.
32
+ - [Write a Security Rules test suite](/__pyric/ui/docs/secure/write-a-rules-test-suite.md): A suite of allow/deny cases that runs in-process, gates CI, and can escalate to Google's own engine.
33
+ - [Read a Security Rules denial](/__pyric/ui/docs/secure/read-a-denial.md): See which rule denied an operation, on what path, with what data, the moment it happens.
34
+ - [Use tested modules in Firestore Security Rules](/__pyric/ui/docs/secure/rules-standard-library.md): Import a tested rule function, resolve it to ordinary Firebase Rules, then lint and simulate the result.
35
+ - [Write Realtime Database rules in TypeScript](/__pyric/ui/docs/secure/rtdb-rules-in-typescript.md): Compose RTDB rules from typed constraints, prove them in-process, and deploy the compiled JSON.
36
+ - [Fix Firestore Security Rules limit failures](/__pyric/ui/docs/secure/firestore-rules-limits.md): Recognise a production Rules limit, see the invalid shape, and replace it with a valid one.
37
+ - [Audit Security Rules and data before production](/__pyric/ui/docs/secure/audit-your-rules.md): Find the rule that looks right and isn't — every finding proven by a simulation you can rerun.
38
+
39
+ ## Observe & shape
40
+
41
+ - [Watch every read, write, and denial live](/__pyric/ui/docs/observe/see-whats-happening.md): See every operation your backend performs, with its rules verdict, without writing a log line.
42
+ - [Seed, snapshot, reset, and replay the backend](/__pyric/ui/docs/observe/shape-your-data.md): Put the backend in any state you want, capture the good ones, and get them back on demand.
43
+
44
+ ## Ship & test
45
+
46
+ - [The same code goes live](/__pyric/ui/docs/ship/ship-to-production.md): Deploy rules, indexes, hosting, and functions, and learn what would change before production does.
47
+ - [Run the same backend in tests and scripts](/__pyric/ui/docs/ship/test-in-node.md): Run your rules and data logic in a Node test suite, with no browser and no emulator.
48
+
49
+ ## Work with an agent
50
+
51
+ - [Connect an agent to the sandbox](/__pyric/ui/docs/agent/set-up-your-agent.md): Connect Claude Code, Cursor, Codex, or any MCP client to your backend in minutes.
52
+ - [Work with an agent in the browser sandbox](/__pyric/ui/docs/agent/work-with-an-agent.md): Give a local coding agent real backend tasks and watch it inspect, change, and verify the same browser sandbox as your app.
53
+ - [Watch your agent in Pyric Studio](/__pyric/ui/docs/agent/watch-and-review.md): See every operation your agent performs, live, with the verdict that decided it.
54
+
55
+ ## Trust
56
+
57
+ - [Versioning and the fb tag](/__pyric/ui/docs/trust/versioning-and-compatibility.md): Pyric has its own semver. Firebase compatibility is a separate claim, made by an npm dist-tag:
58
+
59
+ ## Conformance
60
+
61
+ - [Public API coverage](/__pyric/ui/docs/conformance-scores.md): This is the share of Firebase's public API that Pyric supports. Not-implemented-yet, deprecated, and deferred APIs still count against the total. How does Pyric know it works like Firebase? explains the evidence and its limits.
62
+ - [How does Pyric know it works like Firebase?](/__pyric/ui/docs/trust/how-we-know-it-matches-firebase.md): See the production evidence behind Pyric's conformance claims, the gaps those claims leave open, and the checks to make before shipping.
63
+ - [pyric/app compatibility matrix](/__pyric/ui/docs/app-compat.md): <div class="compat-stat"> <p class="compat-stat-figure"> <span class="compat-stat-pct">81.3%</span> <span class="compat-stat-label">of the public API supported</span> </p> <div class="compat-meters"> <span class="compat-meter-track"><span class="compat-meter-fill" style="width: 81.3%"></span></span> </div> <p class="compat-stat-denom">13 of 16 public API</p> </div>
64
+ - [pyric/ai compatibility matrix](/__pyric/ui/docs/ai-compat.md): <div class="compat-stat"> <p class="compat-stat-figure"> <span class="compat-stat-pct">67.1%</span> <span class="compat-stat-label">of the public API supported</span> </p> <div class="compat-meters"> <span class="compat-meter-track"><span class="compat-meter-fill" style="width: 67.1%"></span></span> </div> <p class="compat-stat-denom">147 of 219 public API</p> </div>
65
+ - [pyric/auth compatibility matrix](/__pyric/ui/docs/auth-compat.md): <div class="compat-stat"> <p class="compat-stat-figure"> <span class="compat-stat-pct">63.8%</span> <span class="compat-stat-label">of the public API supported</span> </p> <div class="compat-meters"> <span class="compat-meter-track"><span class="compat-meter-fill" style="width: 63.8%"></span></span> </div> <p class="compat-stat-denom">95 of 149 public API</p> </div>
66
+ - [pyric/firestore compatibility matrix](/__pyric/ui/docs/firestore-compat.md): <div class="compat-stat"> <p class="compat-stat-figure"> <span class="compat-stat-pct">52.7%</span> <span class="compat-stat-label">of the public API supported</span> </p> <div class="compat-meters"> <span class="compat-meter-track"><span class="compat-meter-fill" style="width: 52.7%"></span></span> </div> <p class="compat-stat-denom">96 of 182 public API</p> </div>
67
+ - [pyric/database compatibility matrix](/__pyric/ui/docs/database-compat.md): <div class="compat-stat"> <p class="compat-stat-figure"> <span class="compat-stat-pct">72.9%</span> <span class="compat-stat-label">of the public API supported</span> </p> <div class="compat-meters"> <span class="compat-meter-track"><span class="compat-meter-fill" style="width: 72.9%"></span></span> </div> <p class="compat-stat-denom">43 of 59 public API</p> </div>
68
+ - [pyric/storage compatibility matrix](/__pyric/ui/docs/storage-compat.md): <div class="compat-stat"> <p class="compat-stat-figure"> <span class="compat-stat-pct">62.9%</span> <span class="compat-stat-label">of the public API supported</span> </p> <div class="compat-meters"> <span class="compat-meter-track"><span class="compat-meter-fill" style="width: 62.9%"></span></span> </div> <p class="compat-stat-denom">22 of 35 public API</p> </div>
69
+ - [pyric messaging compatibility matrix](/__pyric/ui/docs/messaging-compat.md): <div class="compat-stat"> <p class="compat-stat-figure"> <span class="compat-stat-pct">100%</span> <span class="compat-stat-label">of the public API supported</span> </p> <div class="compat-meters"> <span class="compat-meter-track"><span class="compat-meter-fill" style="width: 100%"></span></span> </div> <p class="compat-stat-denom">13 of 13 public API</p> </div>
70
+ - [Firebase Functions RTDB integration compatibility](/__pyric/ui/docs/functions-rtdb-compat.md): <div class="compat-stat"> <p class="compat-stat-surface">This page tracks an integration contract: unchanged Firebase code run through a Pyric runtime seam, so there is no separate Firebase public API to measure. The rows below are its signed behavior inventory.</p> </div>
71
+ - [pyric/rules compatibility matrix](/__pyric/ui/docs/rules-compat.md): <div class="compat-stat"> <p class="compat-stat-surface">This is a Pyric-native API with no Firebase counterpart, so coverage is measured against its own public exports rather than a Firebase surface.</p> </div>
72
+
73
+ ## API reference
74
+
75
+ - [API reference](/__pyric/ui/docs/api-reference.md): Published declarations for every supported Pyric package entry point.
76
+ - [API reference: pyric/app](/__pyric/ui/docs/pyric-app-reference-api.md): Published declarations for pyric/app.
77
+ - [API reference: pyric/firestore](/__pyric/ui/docs/pyric-firestore-reference-api.md): Published declarations for pyric/firestore.
78
+ - [API reference: pyric/auth](/__pyric/ui/docs/pyric-auth-reference-api.md): Published declarations for pyric/auth.
79
+ - [API reference: pyric/ai](/__pyric/ui/docs/pyric-ai-reference-api.md): Published declarations for pyric/ai.
80
+ - [API reference: pyric/ai/scripting](/__pyric/ui/docs/pyric-ai-scripting-reference-api.md): Published declarations for pyric/ai/scripting.
81
+ - [API reference: pyric/database](/__pyric/ui/docs/pyric-database-reference-api.md): Published declarations for pyric/database.
82
+ - [API reference: pyric/storage](/__pyric/ui/docs/pyric-storage-reference-api.md): Published declarations for pyric/storage.
83
+ - [API reference: pyric/messaging](/__pyric/ui/docs/pyric-messaging-reference-api.md): Published declarations for pyric/messaging.
84
+ - [API reference: pyric/messaging/sw](/__pyric/ui/docs/pyric-messaging-sw-reference-api.md): Published declarations for pyric/messaging/sw.
85
+ - [API reference: pyric/rules](/__pyric/ui/docs/pyric-rules-reference-api.md): Published declarations for pyric/rules.
86
+ - [API reference: pyric/firestore-values](/__pyric/ui/docs/pyric-firestore-values-reference-api.md): Published declarations for pyric/firestore-values.
87
+ - [API reference: pyric/sandbox](/__pyric/ui/docs/pyric-sandbox-reference-api.md): Published declarations for pyric/sandbox.
88
+ - [API reference: pyric/sandbox/firestore](/__pyric/ui/docs/pyric-sandbox-firestore-reference-api.md): Published declarations for pyric/sandbox/firestore.
89
+ - [API reference: pyric/sandbox/database](/__pyric/ui/docs/pyric-sandbox-database-reference-api.md): Published declarations for pyric/sandbox/database.
90
+ - [API reference: pyric-admin/app](/__pyric/ui/docs/pyric-admin-app-reference-api.md): Published declarations for pyric-admin/app.
91
+ - [API reference: pyric-admin/firestore](/__pyric/ui/docs/pyric-admin-firestore-reference-api.md): Published declarations for pyric-admin/firestore.
92
+ - [API reference: pyric-admin/auth](/__pyric/ui/docs/pyric-admin-auth-reference-api.md): Published declarations for pyric-admin/auth.
93
+ - [API reference: pyric-admin/database](/__pyric/ui/docs/pyric-admin-database-reference-api.md): Published declarations for pyric-admin/database.
94
+ - [API reference: pyric-admin/storage](/__pyric/ui/docs/pyric-admin-storage-reference-api.md): Published declarations for pyric-admin/storage.
95
+ - [API reference: create-pyric](/__pyric/ui/docs/create-pyric-reference-api.md): Published declarations for create-pyric.
96
+ - [API reference: @pyric/cli/credentials/node](/__pyric/ui/docs/pyric-cli-credentials-node-reference-api.md): Published declarations for @pyric/cli/credentials/node.
97
+ - [API reference: @pyric/cli/verify](/__pyric/ui/docs/pyric-cli-verify-reference-api.md): Published declarations for @pyric/cli/verify.
98
+ - [API reference: @pyric/cli/conformance](/__pyric/ui/docs/pyric-cli-conformance-reference-api.md): Published declarations for @pyric/cli/conformance.
99
+ - [API reference: @pyric/cli/conformance/browser](/__pyric/ui/docs/pyric-cli-conformance-browser-reference-api.md): Published declarations for @pyric/cli/conformance/browser.
100
+ - [API reference: @pyric/cli/assurance](/__pyric/ui/docs/pyric-cli-assurance-reference-api.md): Published declarations for @pyric/cli/assurance.
101
+ - [API reference: @pyric/cli/assurance/browser](/__pyric/ui/docs/pyric-cli-assurance-browser-reference-api.md): Published declarations for @pyric/cli/assurance/browser.
102
+ - [API reference: @pyric/cli/bridge](/__pyric/ui/docs/pyric-cli-bridge-reference-api.md): Published declarations for @pyric/cli/bridge.
103
+ - [API reference: @pyric/cli/bridge/client](/__pyric/ui/docs/pyric-cli-bridge-client-reference-api.md): Published declarations for @pyric/cli/bridge/client.
104
+ - [API reference: @pyric/cli/discover](/__pyric/ui/docs/pyric-cli-discover-reference-api.md): Published declarations for @pyric/cli/discover.
105
+ - [API reference: @pyric/cli/vite](/__pyric/ui/docs/pyric-cli-vite-reference-api.md): Published declarations for @pyric/cli/vite.
106
+ - [API reference: @pyric/cli/serve/worker](/__pyric/ui/docs/pyric-cli-serve-worker-reference-api.md): Published declarations for @pyric/cli/serve/worker.
107
+ - [API reference: @pyric/cli/remote](/__pyric/ui/docs/pyric-cli-remote-reference-api.md): Published declarations for @pyric/cli/remote.
108
+ - [API reference: @pyric/cli/register](/__pyric/ui/docs/pyric-cli-register-reference-api.md): Published declarations for @pyric/cli/register.
109
+ - [API reference: @pyric/ui/auth](/__pyric/ui/docs/pyric-ui-auth-reference-api.md): Published declarations for @pyric/ui/auth.
110
+ - [API reference: @pyric/ui/auth/hooks](/__pyric/ui/docs/pyric-ui-auth-hooks-reference-api.md): Published declarations for @pyric/ui/auth/hooks.
111
+ - [API reference: @pyric/ui/primitives](/__pyric/ui/docs/pyric-ui-primitives-reference-api.md): Published declarations for @pyric/ui/primitives.
112
+ - [API reference: @pyric/ui/firestore](/__pyric/ui/docs/pyric-ui-firestore-reference-api.md): Published declarations for @pyric/ui/firestore.
113
+ - [API reference: @pyric/ui/firestore/hooks](/__pyric/ui/docs/pyric-ui-firestore-hooks-reference-api.md): Published declarations for @pyric/ui/firestore/hooks.
114
+ - [API reference: @pyric/ui/rtdb](/__pyric/ui/docs/pyric-ui-rtdb-reference-api.md): Published declarations for @pyric/ui/rtdb.
115
+ - [API reference: @pyric/ui/storage](/__pyric/ui/docs/pyric-ui-storage-reference-api.md): Published declarations for @pyric/ui/storage.
116
+ - [API reference: @pyric/ui/storage/hooks](/__pyric/ui/docs/pyric-ui-storage-hooks-reference-api.md): Published declarations for @pyric/ui/storage/hooks.
117
+ - [API reference: @pyric/ui/traffic](/__pyric/ui/docs/pyric-ui-traffic-reference-api.md): Published declarations for @pyric/ui/traffic.
118
+ - [API reference: @pyric/ui/traffic/hooks](/__pyric/ui/docs/pyric-ui-traffic-hooks-reference-api.md): Published declarations for @pyric/ui/traffic/hooks.
119
+ - [API reference: @pyric/ui/events](/__pyric/ui/docs/pyric-ui-events-reference-api.md): Published declarations for @pyric/ui/events.
120
+ - [API reference: @pyric/ui/events/hooks](/__pyric/ui/docs/pyric-ui-events-hooks-reference-api.md): Published declarations for @pyric/ui/events/hooks.
121
+ - [API reference: @pyric/ui/agents](/__pyric/ui/docs/pyric-ui-agents-reference-api.md): Published declarations for @pyric/ui/agents.
122
+ - [API reference: @pyric/ui/rules](/__pyric/ui/docs/pyric-ui-rules-reference-api.md): Published declarations for @pyric/ui/rules.
123
+ - [API reference: @pyric/ui/rules/hooks](/__pyric/ui/docs/pyric-ui-rules-hooks-reference-api.md): Published declarations for @pyric/ui/rules/hooks.
@@ -0,0 +1,4 @@
1
+ import { getAI as pyricGetAI } from 'pyric/ai';
2
+ export { AIError, AIErrorCode, Backend, BackendType, GoogleAIBackend, VertexAIBackend, AIModel, ChatSession, ChatSessionBase, GenerativeModel, AnyOfSchema, ArraySchema, BooleanSchema, IntegerSchema, NumberSchema, ObjectSchema, Schema, StringSchema, BlockReason, FinishReason, FunctionCallingMode, HarmBlockMethod, HarmBlockThreshold, HarmCategory, HarmProbability, HarmSeverity, ImageConfigAspectRatio, ImageConfigImageSize, Language, Modality, Outcome, POSSIBLE_ROLES, ResponseModality, SchemaType, ThinkingLevel, URLRetrievalStatus, getGenerativeModel, } from 'pyric/ai';
3
+ export declare const getAI: typeof pyricGetAI;
4
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/ai.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAU/C,OAAO,EACL,OAAO,EACP,WAAW,EACX,OAAO,EACP,WAAW,EACX,eAAe,EACf,eAAe,EACf,OAAO,EACP,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AA+IlB,eAAO,MAAM,KAAK,EA+Bb,OAAO,UAAU,CAAC"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * The bundle the import map serves for `firebase/ai`.
3
+ *
4
+ * DUAL-PATH (cdd-deltas #98): the FULL `pyric/ai` mirror surface
5
+ * (GenerativeModel / ChatSession / Schema / enums) always runs in-page —
6
+ * but ANSWERING follows the sandbox. When a SharedWorker is available, the
7
+ * broker + engines live in the WORKER HOST, in-process with the ONE shared
8
+ * sandbox (#98.1): `getAI` plugs a port-forwarding AnswerEngine into the
9
+ * in-page mirror, so every `generateContent` / `streamGenerateContent` /
10
+ * `countTokens` rides the worker protocol's `ai.*` ops (#98.3) and the
11
+ * worker broker's `service: 'ai'` events land on the shared event stream
12
+ * Studio consumes. Otherwise the mirror runs whole against the in-page
13
+ * sandbox — the unchanged fallback. Branch picked ONCE at load (`useWorker`).
14
+ *
15
+ * OPENAI ENGINE IN THE BROWSER (#98.2): an `engine: { kind: 'openai' }`
16
+ * config with no `baseUrl` targets serve's same-origin `/__pyric/ai-proxy`
17
+ * route (which forwards to the configured upstream, default
18
+ * `http://localhost:11434/v1`) — so a localhost Ollama needs no CORS setup
19
+ * on EITHER path. A custom AnswerEngine OBJECT can't cross the port and is
20
+ * rejected in worker mode rather than creating a second page-local backend.
21
+ * Direct/in-process `pyric/ai` sandboxes still accept custom engines.
22
+ *
23
+ * Engine config is per-sandbox (#98.4) and first-call-wins at the worker
24
+ * host. Each app has its own in-page port wrapper so deleting one app cannot
25
+ * disconnect a sibling; all wrappers still forward to that one worker broker.
26
+ * Browser-bundled by `../bundler.ts`; never imported by node-side.
27
+ */
28
+ import * as ipAi from 'pyric/ai';
29
+ import { aiErrorFromEnvelope } from 'pyric/ai/internal';
30
+ import { getAI as pyricGetAI } from 'pyric/ai';
31
+ import { createTransportAI } from 'pyric/ai/internal';
32
+ import { FirebaseError, getApp } from 'pyric/app';
33
+ import { isSandboxAppDeleted } from 'pyric/app/internal';
34
+ import { aiGenerateContent, aiCountTokens, aiStreamGenerateContent } from '../worker/client.js';
35
+ import { useWorker } from './worker-runtime.js';
36
+ import { workerClientForApp } from './app-client.js';
37
+ // ── Mirror surface — path-independent (the mirror always runs in-page) ────
38
+ export { AIError, AIErrorCode, Backend, BackendType, GoogleAIBackend, VertexAIBackend, AIModel, ChatSession, ChatSessionBase, GenerativeModel, AnyOfSchema, ArraySchema, BooleanSchema, IntegerSchema, NumberSchema, ObjectSchema, Schema, StringSchema, BlockReason, FinishReason, FunctionCallingMode, HarmBlockMethod, HarmBlockThreshold, HarmCategory, HarmProbability, HarmSeverity, ImageConfigAspectRatio, ImageConfigImageSize, Language, Modality, Outcome, POSSIBLE_ROLES, ResponseModality, SchemaType, ThinkingLevel, URLRetrievalStatus, getGenerativeModel, } from 'pyric/ai';
39
+ /** The serve proxy route the browser openai engine defaults to (#98.2). */
40
+ const AI_PROXY_PATH = '/__pyric/ai-proxy';
41
+ /** A custom AnswerEngine object (vs a plain, worker-cloneable EngineConfig). */
42
+ function isAnswerEngine(engine) {
43
+ return typeof engine.generateContent === 'function';
44
+ }
45
+ /**
46
+ * Derive the JSON-safe wire config that crosses the port from the app's
47
+ * `AIOptions.engine`. Predicate script matchers are functions — structured
48
+ * clone rejects them LOUDLY at send time (never silently dropped).
49
+ */
50
+ function toEngineWire(engine) {
51
+ if (!engine || isAnswerEngine(engine))
52
+ return undefined;
53
+ const config = engine;
54
+ if (config.kind === 'openai') {
55
+ const openai = config;
56
+ return {
57
+ kind: 'openai',
58
+ baseUrl: openai.baseUrl ?? AI_PROXY_PATH,
59
+ ...(openai.model !== undefined ? { model: openai.model } : {}),
60
+ ...(openai.modelMap !== undefined ? { modelMap: openai.modelMap } : {}),
61
+ };
62
+ }
63
+ const scripted = config;
64
+ return {
65
+ kind: 'scripted',
66
+ ...(scripted.script !== undefined
67
+ ? { script: scripted.script }
68
+ : {}),
69
+ };
70
+ }
71
+ /** In-page path: default an openai config's absent baseUrl to the proxy. */
72
+ function withProxyDefault(options) {
73
+ const engine = options?.engine;
74
+ if (!engine || isAnswerEngine(engine))
75
+ return options;
76
+ const config = engine;
77
+ if (config.kind === 'openai' && config.baseUrl === undefined) {
78
+ return { ...options, engine: { ...config, baseUrl: AI_PROXY_PATH } };
79
+ }
80
+ return options;
81
+ }
82
+ function aiErrorFromWire(err, modelResource, op) {
83
+ const envelope = err
84
+ ?.aiEnvelope;
85
+ return envelope ? aiErrorFromEnvelope(envelope, modelResource, op) : err;
86
+ }
87
+ // ── The port-forwarding AnswerEngine (worker path) ─────────────────────────
88
+ function portEngine(db, engineWire) {
89
+ const params = (model, request) => ({
90
+ model,
91
+ request,
92
+ ...(engineWire !== undefined ? { engine: engineWire } : {}),
93
+ });
94
+ const engine = {
95
+ async generateContent(req, model) {
96
+ try {
97
+ return await aiGenerateContent(db, params(model, req));
98
+ }
99
+ catch (err) {
100
+ throw aiErrorFromWire(err, model, 'generateContent');
101
+ }
102
+ },
103
+ streamGenerateContent(req, model) {
104
+ const inner = aiStreamGenerateContent(db, params(model, req));
105
+ return (async function* mapped() {
106
+ try {
107
+ for await (const chunk of inner)
108
+ yield chunk;
109
+ }
110
+ catch (err) {
111
+ throw aiErrorFromWire(err, model, 'streamGenerateContent');
112
+ }
113
+ })();
114
+ },
115
+ async countTokens(req, model) {
116
+ try {
117
+ return await aiCountTokens(db, params(model, req));
118
+ }
119
+ catch (err) {
120
+ throw aiErrorFromWire(err, model, 'countTokens');
121
+ }
122
+ },
123
+ };
124
+ return engine;
125
+ }
126
+ /**
127
+ * Firebase constructs an AI handle for a deleted app, but that observation
128
+ * does not authorize resurrecting the app against an in-page sandbox. Keep
129
+ * the handle constructible while every model operation stays tombstoned.
130
+ */
131
+ function deletedAppEngine() {
132
+ return {
133
+ async generateContent() {
134
+ throw deletedAppError();
135
+ },
136
+ streamGenerateContent() {
137
+ return (async function* tombstoned() {
138
+ throw deletedAppError();
139
+ })();
140
+ },
141
+ async countTokens() {
142
+ throw deletedAppError();
143
+ },
144
+ };
145
+ }
146
+ function deletedAppError() {
147
+ return new FirebaseError('app/app-deleted', 'Firebase App has already been deleted.');
148
+ }
149
+ // ── getAI — worker-forwarded answering or whole-mirror in-page ─────────────
150
+ function mirrorGetAI(app, options) {
151
+ const resolved = (app ?? getApp());
152
+ const ai = pyricGetAI(resolved, options);
153
+ const target = ai[ipAi.TARGET_SYMBOL];
154
+ if (target) {
155
+ // Served entries are separately bundled, so the in-page AI mirror cannot
156
+ // rely on sharing pyric/app's private adapter singleton. Stamp the target
157
+ // with the served registry's per-app deletion guard instead. The target is
158
+ // per app handle even though its broker is shared by the sandbox.
159
+ target.assertAlive = () => {
160
+ if (isSandboxAppDeleted(resolved))
161
+ throw deletedAppError();
162
+ };
163
+ }
164
+ return ai;
165
+ }
166
+ export const getAI = (useWorker
167
+ ? (app, options) => {
168
+ const resolved = (app ?? getApp());
169
+ const engine = options?.engine;
170
+ const assertAlive = () => {
171
+ if (isSandboxAppDeleted(resolved))
172
+ throw deletedAppError();
173
+ };
174
+ if (isSandboxAppDeleted(resolved)) {
175
+ return createTransportAI(resolved, options, deletedAppEngine(), assertAlive);
176
+ }
177
+ if (engine && isAnswerEngine(engine)) {
178
+ throw new ipAi.AIError(ipAi.AIErrorCode.UNSUPPORTED, 'Custom AnswerEngine objects cannot run in SharedWorker mode. ' +
179
+ "Use a structured { kind: 'scripted' } or { kind: 'openai' } engine config.");
180
+ }
181
+ return createTransportAI(resolved, options, portEngine(workerClientForApp(resolved), toEngineWire(engine)), assertAlive);
182
+ }
183
+ : (app, options) => mirrorGetAI(app, withProxyDefault(options)));
184
+ //# sourceMappingURL=ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/serve/entries/ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const sandbox: import("pyric/sandbox").LocalSandbox;
2
+ //# sourceMappingURL=app-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-backend.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/app-backend.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,sCAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Realm-local placeholder attached to app handles; served services use the worker transport. */
2
+ import { initializeSandbox } from 'pyric/sandbox';
3
+ export const sandbox = initializeSandbox();
4
+ //# sourceMappingURL=app-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-backend.js","sourceRoot":"","sources":["../../../src/serve/entries/app-backend.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Per-app SharedWorker ports: distinct Firebase service containers, one worker backend. */
2
+ import type { FirebaseApp } from 'pyric/app';
3
+ import type { ClientDb } from '../worker/client.js';
4
+ export declare function workerClientForApp(app: FirebaseApp): ClientDb;
5
+ //# sourceMappingURL=app-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-client.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/app-client.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAOpD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,CAe7D"}
@@ -0,0 +1,23 @@
1
+ import { registerAppCleanup } from 'pyric/app/internal';
2
+ import { disconnectClient } from '../worker/client/disconnect.js';
3
+ import { openWorkerDb } from './worker-runtime.js';
4
+ const clients = new WeakMap();
5
+ export function workerClientForApp(app) {
6
+ const existing = clients.get(app);
7
+ if (existing)
8
+ return existing;
9
+ let client;
10
+ registerAppCleanup(app, async () => {
11
+ clients.delete(app);
12
+ if (client)
13
+ await disconnectClient(client);
14
+ });
15
+ client = openWorkerDb(app.name);
16
+ client.port.postMessage({
17
+ t: 'appConfig',
18
+ options: app.options,
19
+ });
20
+ clients.set(app, client);
21
+ return client;
22
+ }
23
+ //# sourceMappingURL=app-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-client.js","sourceRoot":"","sources":["../../../src/serve/entries/app-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAyB,CAAC;AAErD,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,MAA4B,CAAC;IACjC,kBAAkB,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;QACjC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,MAAM;YAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QACtB,CAAC,EAAE,WAAW;QACd,OAAO,EAAE,GAAG,CAAC,OAAkC;KACvB,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** App-owned browser auth-session stores for the served Firebase adapters. */
2
+ import type { FirebaseApp } from 'pyric/app';
3
+ import { SessionStore, type SessionStores } from './session-store.js';
4
+ export interface AppSessionStores {
5
+ forApp(app: FirebaseApp): SessionStore;
6
+ }
7
+ /**
8
+ * Build an app-identity-keyed store registry. The durable key inside each
9
+ * SessionStore remains app-name-keyed, so deleting/recreating an app can
10
+ * restore the same session while its in-memory mode/callback state is fresh.
11
+ */
12
+ export declare function createAppSessionStores(stores: SessionStores): AppSessionStores;
13
+ export declare function sessionStoreForApp(app: FirebaseApp): SessionStore;
14
+ //# sourceMappingURL=app-session-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-session-store.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/app-session-store.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAY9E;AAkBD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAEjE"}
@@ -0,0 +1,37 @@
1
+ import { registerAppCleanup } from 'pyric/app/internal';
2
+ import { SessionStore } from './session-store.js';
3
+ /**
4
+ * Build an app-identity-keyed store registry. The durable key inside each
5
+ * SessionStore remains app-name-keyed, so deleting/recreating an app can
6
+ * restore the same session while its in-memory mode/callback state is fresh.
7
+ */
8
+ export function createAppSessionStores(stores) {
9
+ const byApp = new WeakMap();
10
+ return {
11
+ forApp(app) {
12
+ const existing = byApp.get(app);
13
+ if (existing)
14
+ return existing;
15
+ const store = new SessionStore(stores, app.name);
16
+ byApp.set(app, store);
17
+ registerAppCleanup(app, () => { byApp.delete(app); });
18
+ return store;
19
+ },
20
+ };
21
+ }
22
+ function memoryStorage() {
23
+ const values = new Map();
24
+ return {
25
+ getItem: (key) => values.get(key) ?? null,
26
+ setItem: (key, value) => { values.set(key, value); },
27
+ removeItem: (key) => { values.delete(key); },
28
+ };
29
+ }
30
+ const browserStores = typeof localStorage !== 'undefined' && typeof sessionStorage !== 'undefined'
31
+ ? { local: localStorage, session: sessionStorage }
32
+ : { local: memoryStorage(), session: memoryStorage() };
33
+ const servedStores = createAppSessionStores(browserStores);
34
+ export function sessionStoreForApp(app) {
35
+ return servedStores.forApp(app);
36
+ }
37
+ //# sourceMappingURL=app-session-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-session-store.js","sourceRoot":"","sources":["../../../src/serve/entries/app-session-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAMtE;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,MAAM,KAAK,GAAG,IAAI,OAAO,EAA6B,CAAC;IACvD,OAAO;QACL,MAAM,CAAC,GAAG;YACR,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI;QACzC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GACjB,OAAO,YAAY,KAAK,WAAW,IAAI,OAAO,cAAc,KAAK,WAAW;IAC1E,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE;IAClD,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC;AAE3D,MAAM,YAAY,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;AAE3D,MAAM,UAAU,kBAAkB,CAAC,GAAgB;IACjD,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from 'pyric/app';
2
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/app.ts"],"names":[],"mappings":"AAUA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** Served `firebase/app`: the exact Pyric client registry over the page runtime. */
2
+ import { bindAppRegistrySandbox } from 'pyric/app/internal';
3
+ import { sandbox } from './app-backend.js';
4
+ // Keep this entry free of dynamic imports: ServiceWorkerGlobalScope supports
5
+ // static module imports but rejects dynamic import(). The attached sandbox is
6
+ // only the app handle's realm-local placeholder; served service calls route to
7
+ // the SharedWorker (directly in Window, via BroadcastChannel in a real SW).
8
+ bindAppRegistrySandbox(sandbox);
9
+ export * from 'pyric/app';
10
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/serve/entries/app.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Framework-free provider account picker controller for `pyric dev`.
3
+ *
4
+ * The controller is intentionally backend-agnostic. It receives an identity
5
+ * directory and returns a Firebase-shaped credential; it never constructs an
6
+ * Auth handle or mutates a Sandbox. In SharedWorker mode the directory reads
7
+ * the worker's user pool and the picked credential is committed by
8
+ * `auth.acceptIdentity`. The in-page fallback supplies a small adapter over its
9
+ * local auth user store.
10
+ */
11
+ import type { AuthFlowRequest, AuthFlowResolver } from 'pyric/auth';
12
+ export interface NewIdentitySpec {
13
+ email: string;
14
+ displayName?: string;
15
+ /** Parsed custom claims (the emulator's `customAttributes`). */
16
+ customClaims?: Record<string, unknown>;
17
+ }
18
+ export interface HelperIdentity {
19
+ uid: string;
20
+ email: string | null;
21
+ displayName: string | null;
22
+ customClaims: Record<string, unknown>;
23
+ }
24
+ export interface HelperIdentityDirectory {
25
+ list(): HelperIdentity[] | Promise<HelperIdentity[]>;
26
+ /** Optional on the worker path: `auth.acceptIdentity` performs the write. */
27
+ add?(identity: HelperIdentity): void | Promise<void>;
28
+ }
29
+ export interface HelperSnapshot {
30
+ /** The in-flight request, or null when no popup/redirect is pending. */
31
+ request: AuthFlowRequest | null;
32
+ identities: readonly HelperIdentity[];
33
+ }
34
+ export declare class ServeAuthHelper {
35
+ private readonly directory;
36
+ private pending;
37
+ private readonly listeners;
38
+ private cached;
39
+ private identities;
40
+ constructor(directory: HelperIdentityDirectory);
41
+ resolver(): AuthFlowResolver;
42
+ subscribe(fn: () => void): () => void;
43
+ snapshot(): HelperSnapshot;
44
+ private emit;
45
+ private refreshIdentities;
46
+ pick(uid: string): void;
47
+ add(spec: NewIdentitySpec): void;
48
+ cancel(): void;
49
+ private take;
50
+ private credential;
51
+ }
52
+ //# sourceMappingURL=auth-helper-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-helper-core.d.ts","sourceRoot":"","sources":["../../../src/serve/entries/auth-helper-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,IAAI,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrD,6EAA6E;IAC7E,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;CACvC;AAQD,qBAAa,eAAe;IAMd,OAAO,CAAC,QAAQ,CAAC,SAAS;IALtC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,UAAU,CAAwB;gBAEb,SAAS,EAAE,uBAAuB;IAI/D,QAAQ,IAAI,gBAAgB;IAW5B,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKrC,QAAQ,IAAI,cAAc;IAQ1B,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,iBAAiB;IAwBzB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWvB,GAAG,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAehC,MAAM,IAAI,IAAI;IAWd,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,UAAU;CAiBnB"}