@pyric/cli 0.1.0-alpha.9

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 (1169) hide show
  1. package/LICENSE +216 -0
  2. package/README.md +156 -0
  3. package/README.md.orig +138 -0
  4. package/dist/assurance/attachment.d.ts +24 -0
  5. package/dist/assurance/attachment.d.ts.map +1 -0
  6. package/dist/assurance/attachment.js +138 -0
  7. package/dist/assurance/attachment.js.map +1 -0
  8. package/dist/assurance/browser.d.ts +7 -0
  9. package/dist/assurance/browser.d.ts.map +1 -0
  10. package/dist/assurance/browser.js +68 -0
  11. package/dist/assurance/browser.js.map +1 -0
  12. package/dist/assurance/campaign.d.ts +41 -0
  13. package/dist/assurance/campaign.d.ts.map +1 -0
  14. package/dist/assurance/campaign.js +364 -0
  15. package/dist/assurance/campaign.js.map +1 -0
  16. package/dist/assurance/capabilities.d.ts +7 -0
  17. package/dist/assurance/capabilities.d.ts.map +1 -0
  18. package/dist/assurance/capabilities.js +295 -0
  19. package/dist/assurance/capabilities.js.map +1 -0
  20. package/dist/assurance/cases.d.ts +14 -0
  21. package/dist/assurance/cases.d.ts.map +1 -0
  22. package/dist/assurance/cases.js +27 -0
  23. package/dist/assurance/cases.js.map +1 -0
  24. package/dist/assurance/generated-capabilities.d.ts +52 -0
  25. package/dist/assurance/generated-capabilities.d.ts.map +1 -0
  26. package/dist/assurance/generated-capabilities.js +329 -0
  27. package/dist/assurance/generated-capabilities.js.map +1 -0
  28. package/dist/assurance/index.d.ts +11 -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 +740 -0
  43. package/dist/assurance/tools.js.map +1 -0
  44. package/dist/assurance/types.d.ts +348 -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 +62 -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 +81 -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/database-rules.d.ts +43 -0
  117. package/dist/cli/database-rules.d.ts.map +1 -0
  118. package/dist/cli/database-rules.js +261 -0
  119. package/dist/cli/database-rules.js.map +1 -0
  120. package/dist/cli/dev-runner.d.ts +112 -0
  121. package/dist/cli/dev-runner.d.ts.map +1 -0
  122. package/dist/cli/dev-runner.js +239 -0
  123. package/dist/cli/dev-runner.js.map +1 -0
  124. package/dist/cli/firebase-json.d.ts +66 -0
  125. package/dist/cli/firebase-json.d.ts.map +1 -0
  126. package/dist/cli/firebase-json.js +60 -0
  127. package/dist/cli/firebase-json.js.map +1 -0
  128. package/dist/cli/firestore-indexes.d.ts +21 -0
  129. package/dist/cli/firestore-indexes.d.ts.map +1 -0
  130. package/dist/cli/firestore-indexes.js +39 -0
  131. package/dist/cli/firestore-indexes.js.map +1 -0
  132. package/dist/cli/index.d.ts +56 -0
  133. package/dist/cli/index.d.ts.map +1 -0
  134. package/dist/cli/index.js +379 -0
  135. package/dist/cli/index.js.map +1 -0
  136. package/dist/cli/init.d.ts +50 -0
  137. package/dist/cli/init.d.ts.map +1 -0
  138. package/dist/cli/init.js +182 -0
  139. package/dist/cli/init.js.map +1 -0
  140. package/dist/cli/mcp-proxy.d.ts +10 -0
  141. package/dist/cli/mcp-proxy.d.ts.map +1 -0
  142. package/dist/cli/mcp-proxy.js +129 -0
  143. package/dist/cli/mcp-proxy.js.map +1 -0
  144. package/dist/cli/parse-args.d.ts +20 -0
  145. package/dist/cli/parse-args.d.ts.map +1 -0
  146. package/dist/cli/parse-args.js +69 -0
  147. package/dist/cli/parse-args.js.map +1 -0
  148. package/dist/cli/rules.d.ts +55 -0
  149. package/dist/cli/rules.d.ts.map +1 -0
  150. package/dist/cli/rules.js +199 -0
  151. package/dist/cli/rules.js.map +1 -0
  152. package/dist/cli/scope.d.ts +12 -0
  153. package/dist/cli/scope.d.ts.map +1 -0
  154. package/dist/cli/scope.js +44 -0
  155. package/dist/cli/scope.js.map +1 -0
  156. package/dist/cli/serve.d.ts +122 -0
  157. package/dist/cli/serve.d.ts.map +1 -0
  158. package/dist/cli/serve.js +844 -0
  159. package/dist/cli/serve.js.map +1 -0
  160. package/dist/cli/service-commands.d.ts +8 -0
  161. package/dist/cli/service-commands.d.ts.map +1 -0
  162. package/dist/cli/service-commands.js +58 -0
  163. package/dist/cli/service-commands.js.map +1 -0
  164. package/dist/cli/snapshot.d.ts +22 -0
  165. package/dist/cli/snapshot.d.ts.map +1 -0
  166. package/dist/cli/snapshot.js +139 -0
  167. package/dist/cli/snapshot.js.map +1 -0
  168. package/dist/cli/storage-rules.d.ts +21 -0
  169. package/dist/cli/storage-rules.d.ts.map +1 -0
  170. package/dist/cli/storage-rules.js +121 -0
  171. package/dist/cli/storage-rules.js.map +1 -0
  172. package/dist/cli/verify.d.ts +23 -0
  173. package/dist/cli/verify.d.ts.map +1 -0
  174. package/dist/cli/verify.js +349 -0
  175. package/dist/cli/verify.js.map +1 -0
  176. package/dist/credentials/core/memoize-ttl.d.ts +58 -0
  177. package/dist/credentials/core/memoize-ttl.d.ts.map +1 -0
  178. package/dist/credentials/core/memoize-ttl.js +88 -0
  179. package/dist/credentials/core/memoize-ttl.js.map +1 -0
  180. package/dist/credentials/core/types.d.ts +11 -0
  181. package/dist/credentials/core/types.d.ts.map +1 -0
  182. package/dist/credentials/core/types.js +2 -0
  183. package/dist/credentials/core/types.js.map +1 -0
  184. package/dist/credentials/node/from-adc.d.ts +10 -0
  185. package/dist/credentials/node/from-adc.d.ts.map +1 -0
  186. package/dist/credentials/node/from-adc.js +76 -0
  187. package/dist/credentials/node/from-adc.js.map +1 -0
  188. package/dist/credentials/node/from-service-account.d.ts +24 -0
  189. package/dist/credentials/node/from-service-account.d.ts.map +1 -0
  190. package/dist/credentials/node/from-service-account.js +108 -0
  191. package/dist/credentials/node/from-service-account.js.map +1 -0
  192. package/dist/credentials/node/index.d.ts +7 -0
  193. package/dist/credentials/node/index.d.ts.map +1 -0
  194. package/dist/credentials/node/index.js +7 -0
  195. package/dist/credentials/node/index.js.map +1 -0
  196. package/dist/discover/concurrency.d.ts +42 -0
  197. package/dist/discover/concurrency.d.ts.map +1 -0
  198. package/dist/discover/concurrency.js +113 -0
  199. package/dist/discover/concurrency.js.map +1 -0
  200. package/dist/discover/crawler-adapter.d.ts +48 -0
  201. package/dist/discover/crawler-adapter.d.ts.map +1 -0
  202. package/dist/discover/crawler-adapter.js +92 -0
  203. package/dist/discover/crawler-adapter.js.map +1 -0
  204. package/dist/discover/crawler.d.ts +294 -0
  205. package/dist/discover/crawler.d.ts.map +1 -0
  206. package/dist/discover/crawler.js +764 -0
  207. package/dist/discover/crawler.js.map +1 -0
  208. package/dist/discover/credential-free.d.ts +19 -0
  209. package/dist/discover/credential-free.d.ts.map +1 -0
  210. package/dist/discover/credential-free.js +18 -0
  211. package/dist/discover/credential-free.js.map +1 -0
  212. package/dist/discover/findCollectionGroup.d.ts +44 -0
  213. package/dist/discover/findCollectionGroup.d.ts.map +1 -0
  214. package/dist/discover/findCollectionGroup.js +81 -0
  215. package/dist/discover/findCollectionGroup.js.map +1 -0
  216. package/dist/discover/firestore-source.d.ts +60 -0
  217. package/dist/discover/firestore-source.d.ts.map +1 -0
  218. package/dist/discover/firestore-source.js +11 -0
  219. package/dist/discover/firestore-source.js.map +1 -0
  220. package/dist/discover/index.d.ts +3 -0
  221. package/dist/discover/index.d.ts.map +1 -0
  222. package/dist/discover/index.js +5 -0
  223. package/dist/discover/index.js.map +1 -0
  224. package/dist/discover/merge.d.ts +108 -0
  225. package/dist/discover/merge.d.ts.map +1 -0
  226. package/dist/discover/merge.js +394 -0
  227. package/dist/discover/merge.js.map +1 -0
  228. package/dist/discover/session.d.ts +116 -0
  229. package/dist/discover/session.d.ts.map +1 -0
  230. package/dist/discover/session.js +331 -0
  231. package/dist/discover/session.js.map +1 -0
  232. package/dist/discover/tools.d.ts +58 -0
  233. package/dist/discover/tools.d.ts.map +1 -0
  234. package/dist/discover/tools.js +115 -0
  235. package/dist/discover/tools.js.map +1 -0
  236. package/dist/discover/types.d.ts +190 -0
  237. package/dist/discover/types.d.ts.map +1 -0
  238. package/dist/discover/types.js +12 -0
  239. package/dist/discover/types.js.map +1 -0
  240. package/dist/discover/wire.d.ts +70 -0
  241. package/dist/discover/wire.d.ts.map +1 -0
  242. package/dist/discover/wire.js +309 -0
  243. package/dist/discover/wire.js.map +1 -0
  244. package/dist/functions-rtdb/child.d.ts +52 -0
  245. package/dist/functions-rtdb/child.d.ts.map +1 -0
  246. package/dist/functions-rtdb/child.js +283 -0
  247. package/dist/functions-rtdb/child.js.map +1 -0
  248. package/dist/functions-rtdb/delivery.d.ts +4 -0
  249. package/dist/functions-rtdb/delivery.d.ts.map +1 -0
  250. package/dist/functions-rtdb/delivery.js +2 -0
  251. package/dist/functions-rtdb/delivery.js.map +1 -0
  252. package/dist/functions-rtdb/discovery.d.ts +41 -0
  253. package/dist/functions-rtdb/discovery.d.ts.map +1 -0
  254. package/dist/functions-rtdb/discovery.js +86 -0
  255. package/dist/functions-rtdb/discovery.js.map +1 -0
  256. package/dist/functions-rtdb/event.d.ts +20 -0
  257. package/dist/functions-rtdb/event.d.ts.map +1 -0
  258. package/dist/functions-rtdb/event.js +45 -0
  259. package/dist/functions-rtdb/event.js.map +1 -0
  260. package/dist/functions-rtdb/execution.d.ts +20 -0
  261. package/dist/functions-rtdb/execution.d.ts.map +1 -0
  262. package/dist/functions-rtdb/execution.js +70 -0
  263. package/dist/functions-rtdb/execution.js.map +1 -0
  264. package/dist/functions-rtdb/in-memory-delivery.d.ts +9 -0
  265. package/dist/functions-rtdb/in-memory-delivery.d.ts.map +1 -0
  266. package/dist/functions-rtdb/in-memory-delivery.js +36 -0
  267. package/dist/functions-rtdb/in-memory-delivery.js.map +1 -0
  268. package/dist/functions-rtdb/project.d.ts +7 -0
  269. package/dist/functions-rtdb/project.d.ts.map +1 -0
  270. package/dist/functions-rtdb/project.js +54 -0
  271. package/dist/functions-rtdb/project.js.map +1 -0
  272. package/dist/functions-rtdb/projection.d.ts +14 -0
  273. package/dist/functions-rtdb/projection.d.ts.map +1 -0
  274. package/dist/functions-rtdb/projection.js +65 -0
  275. package/dist/functions-rtdb/projection.js.map +1 -0
  276. package/dist/functions-rtdb/reference-pattern.d.ts +5 -0
  277. package/dist/functions-rtdb/reference-pattern.d.ts.map +1 -0
  278. package/dist/functions-rtdb/reference-pattern.js +14 -0
  279. package/dist/functions-rtdb/reference-pattern.js.map +1 -0
  280. package/dist/functions-rtdb/remote-delivery.d.ts +9 -0
  281. package/dist/functions-rtdb/remote-delivery.d.ts.map +1 -0
  282. package/dist/functions-rtdb/remote-delivery.js +11 -0
  283. package/dist/functions-rtdb/remote-delivery.js.map +1 -0
  284. package/dist/pkg-version.d.ts +2 -0
  285. package/dist/pkg-version.d.ts.map +1 -0
  286. package/dist/pkg-version.js +47 -0
  287. package/dist/pkg-version.js.map +1 -0
  288. package/dist/register/esm-exports.d.ts +26 -0
  289. package/dist/register/esm-exports.d.ts.map +1 -0
  290. package/dist/register/esm-exports.js +61 -0
  291. package/dist/register/esm-exports.js.map +1 -0
  292. package/dist/register/hooks.d.ts +13 -0
  293. package/dist/register/hooks.d.ts.map +1 -0
  294. package/dist/register/hooks.js +15 -0
  295. package/dist/register/hooks.js.map +1 -0
  296. package/dist/register/index.d.ts +5 -0
  297. package/dist/register/index.d.ts.map +1 -0
  298. package/dist/register/index.js +124 -0
  299. package/dist/register/index.js.map +1 -0
  300. package/dist/register/mapping.d.ts +19 -0
  301. package/dist/register/mapping.d.ts.map +1 -0
  302. package/dist/register/mapping.js +35 -0
  303. package/dist/register/mapping.js.map +1 -0
  304. package/dist/remote/index.d.ts +232 -0
  305. package/dist/remote/index.d.ts.map +1 -0
  306. package/dist/remote/index.js +720 -0
  307. package/dist/remote/index.js.map +1 -0
  308. package/dist/rtdb/crawl-snapshot.d.ts +17 -0
  309. package/dist/rtdb/crawl-snapshot.d.ts.map +1 -0
  310. package/dist/rtdb/crawl-snapshot.js +72 -0
  311. package/dist/rtdb/crawl-snapshot.js.map +1 -0
  312. package/dist/rtdb/inspection.d.ts +8 -0
  313. package/dist/rtdb/inspection.d.ts.map +1 -0
  314. package/dist/rtdb/inspection.js +111 -0
  315. package/dist/rtdb/inspection.js.map +1 -0
  316. package/dist/rtdb/load-rules-document.d.ts +25 -0
  317. package/dist/rtdb/load-rules-document.d.ts.map +1 -0
  318. package/dist/rtdb/load-rules-document.js +38 -0
  319. package/dist/rtdb/load-rules-document.js.map +1 -0
  320. package/dist/rtdb/rules-generation-tool.d.ts +4 -0
  321. package/dist/rtdb/rules-generation-tool.d.ts.map +1 -0
  322. package/dist/rtdb/rules-generation-tool.js +35 -0
  323. package/dist/rtdb/rules-generation-tool.js.map +1 -0
  324. package/dist/rtdb/rules-json.d.ts +8 -0
  325. package/dist/rtdb/rules-json.d.ts.map +1 -0
  326. package/dist/rtdb/rules-json.js +17 -0
  327. package/dist/rtdb/rules-json.js.map +1 -0
  328. package/dist/serve/bridge-mount.d.ts +36 -0
  329. package/dist/serve/bridge-mount.d.ts.map +1 -0
  330. package/dist/serve/bridge-mount.js +162 -0
  331. package/dist/serve/bridge-mount.js.map +1 -0
  332. package/dist/serve/bundler.d.ts +110 -0
  333. package/dist/serve/bundler.d.ts.map +1 -0
  334. package/dist/serve/bundler.js +432 -0
  335. package/dist/serve/bundler.js.map +1 -0
  336. package/dist/serve/capture-store.d.ts +27 -0
  337. package/dist/serve/capture-store.d.ts.map +1 -0
  338. package/dist/serve/capture-store.js +47 -0
  339. package/dist/serve/capture-store.js.map +1 -0
  340. package/dist/serve/discovery.d.ts +71 -0
  341. package/dist/serve/discovery.d.ts.map +1 -0
  342. package/dist/serve/discovery.js +158 -0
  343. package/dist/serve/discovery.js.map +1 -0
  344. package/dist/serve/docs-ui/_astro/_slug_.CQYSemvw.css +1 -0
  345. package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
  346. package/dist/serve/docs-ui/docs/_rhythm.md +101 -0
  347. package/dist/serve/docs-ui/docs/api-reference/index.html +64 -0
  348. package/dist/serve/docs-ui/docs/api-reference.md +67 -0
  349. package/dist/serve/docs-ui/docs/audit-your-rules/index.html +34 -0
  350. package/dist/serve/docs-ui/docs/audit-your-rules.md +50 -0
  351. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +498 -0
  352. package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +345 -0
  353. package/dist/serve/docs-ui/docs/firestore-rules-limits/index.html +59 -0
  354. package/dist/serve/docs-ui/docs/firestore-rules-limits.md +54 -0
  355. package/dist/serve/docs-ui/docs/how-the-swap-works/index.html +47 -0
  356. package/dist/serve/docs-ui/docs/how-the-swap-works.md +43 -0
  357. package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase/index.html +131 -0
  358. package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase.md +169 -0
  359. package/dist/serve/docs-ui/docs/index.html +2 -0
  360. package/dist/serve/docs-ui/docs/index.json +18637 -0
  361. package/dist/serve/docs-ui/docs/overview/index.html +23 -0
  362. package/dist/serve/docs-ui/docs/overview.md +40 -0
  363. package/dist/serve/docs-ui/docs/pyric-admin-app/index.html +19 -0
  364. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +185 -0
  365. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +206 -0
  366. package/dist/serve/docs-ui/docs/pyric-admin-app.md +27 -0
  367. package/dist/serve/docs-ui/docs/pyric-admin-auth/index.html +24 -0
  368. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +617 -0
  369. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +441 -0
  370. package/dist/serve/docs-ui/docs/pyric-admin-auth.md +29 -0
  371. package/dist/serve/docs-ui/docs/pyric-admin-database/index.html +26 -0
  372. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +583 -0
  373. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +597 -0
  374. package/dist/serve/docs-ui/docs/pyric-admin-database.md +31 -0
  375. package/dist/serve/docs-ui/docs/pyric-admin-firestore/index.html +38 -0
  376. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation/index.html +57 -0
  377. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation.md +95 -0
  378. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate/index.html +58 -0
  379. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate.md +94 -0
  380. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape/index.html +59 -0
  381. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape.md +88 -0
  382. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction/index.html +53 -0
  383. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction.md +76 -0
  384. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules/index.html +62 -0
  385. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules.md +96 -0
  386. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials/index.html +80 -0
  387. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials.md +98 -0
  388. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot/index.html +57 -0
  389. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot.md +88 -0
  390. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch/index.html +50 -0
  391. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch.md +73 -0
  392. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +32 -0
  393. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +30 -0
  394. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot/index.html +68 -0
  395. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot.md +81 -0
  396. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types/index.html +76 -0
  397. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types.md +103 -0
  398. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore/index.html +40 -0
  399. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore.md +77 -0
  400. package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session/index.html +118 -0
  401. package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session.md +166 -0
  402. package/dist/serve/docs-ui/docs/pyric-admin-firestore.md +53 -0
  403. package/dist/serve/docs-ui/docs/pyric-admin-storage/index.html +25 -0
  404. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +317 -0
  405. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +285 -0
  406. package/dist/serve/docs-ui/docs/pyric-admin-storage.md +30 -0
  407. package/dist/serve/docs-ui/docs/pyric-ai-compat/index.html +436 -0
  408. package/dist/serve/docs-ui/docs/pyric-ai-compat.md +471 -0
  409. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +5831 -0
  410. package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5440 -0
  411. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +159 -0
  412. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +122 -0
  413. package/dist/serve/docs-ui/docs/pyric-app-compat/index.html +180 -0
  414. package/dist/serve/docs-ui/docs/pyric-app-compat.md +199 -0
  415. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +420 -0
  416. package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +326 -0
  417. package/dist/serve/docs-ui/docs/pyric-auth/index.html +59 -0
  418. package/dist/serve/docs-ui/docs/pyric-auth-compat/index.html +804 -0
  419. package/dist/serve/docs-ui/docs/pyric-auth-compat.md +847 -0
  420. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +5452 -0
  421. package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +5271 -0
  422. package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix/index.html +781 -0
  423. package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix.md +198 -0
  424. package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver/index.html +71 -0
  425. package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver.md +108 -0
  426. package/dist/serve/docs-ui/docs/pyric-auth.md +86 -0
  427. package/dist/serve/docs-ui/docs/pyric-cli/index.html +40 -0
  428. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +98 -0
  429. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +88 -0
  430. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +2355 -0
  431. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1554 -0
  432. package/dist/serve/docs-ui/docs/pyric-cli-bridge/index.html +69 -0
  433. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +546 -0
  434. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +485 -0
  435. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +506 -0
  436. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +419 -0
  437. package/dist/serve/docs-ui/docs/pyric-cli-bridge.md +99 -0
  438. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +67 -0
  439. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +59 -0
  440. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +2355 -0
  441. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +2036 -0
  442. package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat/index.html +112 -0
  443. package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat.md +124 -0
  444. package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary/index.html +91 -0
  445. package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary.md +105 -0
  446. package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture/index.html +52 -0
  447. package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture.md +98 -0
  448. package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/index.html +66 -0
  449. package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated.md +100 -0
  450. package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab/index.html +228 -0
  451. package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab.md +179 -0
  452. package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin/index.html +341 -0
  453. package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin.md +309 -0
  454. package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session/index.html +128 -0
  455. package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session.md +207 -0
  456. package/dist/serve/docs-ui/docs/pyric-cli-reference-cli/index.html +404 -0
  457. package/dist/serve/docs-ui/docs/pyric-cli-reference-cli.md +249 -0
  458. package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution/index.html +93 -0
  459. package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution.md +65 -0
  460. package/dist/serve/docs-ui/docs/pyric-cli-reference-verify/index.html +81 -0
  461. package/dist/serve/docs-ui/docs/pyric-cli-reference-verify.md +110 -0
  462. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +10 -0
  463. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +16 -0
  464. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1044 -0
  465. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +952 -0
  466. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +5041 -0
  467. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +4739 -0
  468. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption/index.html +219 -0
  469. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption.md +251 -0
  470. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code/index.html +136 -0
  471. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code.md +217 -0
  472. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +926 -0
  473. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +586 -0
  474. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +102 -0
  475. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +76 -0
  476. package/dist/serve/docs-ui/docs/pyric-cli.md +42 -0
  477. package/dist/serve/docs-ui/docs/pyric-conformance-scores/index.html +180 -0
  478. package/dist/serve/docs-ui/docs/pyric-conformance-scores.md +184 -0
  479. package/dist/serve/docs-ui/docs/pyric-database/index.html +43 -0
  480. package/dist/serve/docs-ui/docs/pyric-database-compat/index.html +1224 -0
  481. package/dist/serve/docs-ui/docs/pyric-database-compat.md +1289 -0
  482. package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate/index.html +16 -0
  483. package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate.md +23 -0
  484. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1851 -0
  485. package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +1842 -0
  486. package/dist/serve/docs-ui/docs/pyric-database-reference-constraints/index.html +381 -0
  487. package/dist/serve/docs-ui/docs/pyric-database-reference-constraints.md +168 -0
  488. package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling/index.html +218 -0
  489. package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling.md +303 -0
  490. package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints/index.html +125 -0
  491. package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints.md +171 -0
  492. package/dist/serve/docs-ui/docs/pyric-database.md +26 -0
  493. package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility/index.html +40 -0
  494. package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility.md +68 -0
  495. package/dist/serve/docs-ui/docs/pyric-firestore/index.html +48 -0
  496. package/dist/serve/docs-ui/docs/pyric-firestore-compat/index.html +868 -0
  497. package/dist/serve/docs-ui/docs/pyric-firestore-compat.md +939 -0
  498. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate/index.html +92 -0
  499. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate.md +70 -0
  500. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity/index.html +59 -0
  501. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity.md +91 -0
  502. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface/index.html +43 -0
  503. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface.md +58 -0
  504. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore/index.html +58 -0
  505. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore.md +86 -0
  506. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend/index.html +52 -0
  507. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend.md +83 -0
  508. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction/index.html +42 -0
  509. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction.md +59 -0
  510. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot/index.html +66 -0
  511. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot.md +96 -0
  512. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops/index.html +61 -0
  513. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops.md +92 -0
  514. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +3623 -0
  515. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +3399 -0
  516. package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix/index.html +80 -0
  517. package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix.md +66 -0
  518. package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore/index.html +46 -0
  519. package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore.md +73 -0
  520. package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints/index.html +80 -0
  521. package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints.md +129 -0
  522. package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops/index.html +58 -0
  523. package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops.md +88 -0
  524. package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories/index.html +51 -0
  525. package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories.md +71 -0
  526. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo/index.html +130 -0
  527. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo.md +180 -0
  528. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend/index.html +59 -0
  529. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend.md +92 -0
  530. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +30 -0
  531. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +30 -0
  532. package/dist/serve/docs-ui/docs/pyric-firestore.md +72 -0
  533. package/dist/serve/docs-ui/docs/pyric-messaging-compat/index.html +300 -0
  534. package/dist/serve/docs-ui/docs/pyric-messaging-compat.md +321 -0
  535. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +508 -0
  536. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +374 -0
  537. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +482 -0
  538. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +348 -0
  539. package/dist/serve/docs-ui/docs/pyric-rules/index.html +87 -0
  540. package/dist/serve/docs-ui/docs/pyric-rules-compat/index.html +328 -0
  541. package/dist/serve/docs-ui/docs/pyric-rules-compat.md +347 -0
  542. package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes/index.html +50 -0
  543. package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes.md +78 -0
  544. package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test/index.html +79 -0
  545. package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test.md +69 -0
  546. package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates/index.html +67 -0
  547. package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates.md +75 -0
  548. package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine/index.html +49 -0
  549. package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine.md +74 -0
  550. package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api/index.html +95 -0
  551. package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api.md +80 -0
  552. package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension/index.html +58 -0
  553. package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension.md +79 -0
  554. package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design/index.html +63 -0
  555. package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design.md +84 -0
  556. package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists/index.html +34 -0
  557. package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists.md +43 -0
  558. package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening/index.html +55 -0
  559. package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening.md +77 -0
  560. package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast/index.html +90 -0
  561. package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast.md +129 -0
  562. package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source/index.html +55 -0
  563. package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source.md +84 -0
  564. package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time/index.html +49 -0
  565. package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time.md +64 -0
  566. package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent/index.html +61 -0
  567. package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent.md +87 -0
  568. package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports/index.html +93 -0
  569. package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports.md +105 -0
  570. package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally/index.html +89 -0
  571. package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally.md +134 -0
  572. package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase/index.html +66 -0
  573. package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase.md +102 -0
  574. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +2629 -0
  575. package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +2213 -0
  576. package/dist/serve/docs-ui/docs/pyric-rules-reference-ast/index.html +85 -0
  577. package/dist/serve/docs-ui/docs/pyric-rules-reference-ast.md +121 -0
  578. package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps/index.html +277 -0
  579. package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps.md +360 -0
  580. package/dist/serve/docs-ui/docs/pyric-rules-reference-errors/index.html +76 -0
  581. package/dist/serve/docs-ui/docs/pyric-rules-reference-errors.md +123 -0
  582. package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules/index.html +148 -0
  583. package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules.md +159 -0
  584. package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context/index.html +66 -0
  585. package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context.md +104 -0
  586. package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules/index.html +241 -0
  587. package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules.md +143 -0
  588. package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema/index.html +94 -0
  589. package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema.md +121 -0
  590. package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings/index.html +87 -0
  591. package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings.md +117 -0
  592. package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers/index.html +102 -0
  593. package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers.md +152 -0
  594. package/dist/serve/docs-ui/docs/pyric-rules.md +93 -0
  595. package/dist/serve/docs-ui/docs/pyric-sandbox/index.html +67 -0
  596. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +120 -0
  597. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +110 -0
  598. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request/index.html +141 -0
  599. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request.md +161 -0
  600. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context/index.html +66 -0
  601. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context.md +110 -0
  602. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol/index.html +71 -0
  603. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol.md +111 -0
  604. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation/index.html +56 -0
  605. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation.md +82 -0
  606. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline/index.html +64 -0
  607. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline.md +56 -0
  608. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings/index.html +92 -0
  609. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings.md +90 -0
  610. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists/index.html +69 -0
  611. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists.md +57 -0
  612. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +202 -0
  613. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +134 -0
  614. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes/index.html +63 -0
  615. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes.md +89 -0
  616. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events/index.html +159 -0
  617. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events.md +168 -0
  618. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter/index.html +79 -0
  619. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter.md +75 -0
  620. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events/index.html +88 -0
  621. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events.md +92 -0
  622. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests/index.html +68 -0
  623. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests.md +92 -0
  624. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules/index.html +91 -0
  625. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules.md +122 -0
  626. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users/index.html +50 -0
  627. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users.md +78 -0
  628. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads/index.html +54 -0
  629. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads.md +85 -0
  630. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +5019 -0
  631. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +4060 -0
  632. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences/index.html +125 -0
  633. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences.md +151 -0
  634. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes/index.html +110 -0
  635. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes.md +118 -0
  636. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol/index.html +72 -0
  637. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol.md +109 -0
  638. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context/index.html +90 -0
  639. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context.md +140 -0
  640. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event/index.html +146 -0
  641. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event.md +204 -0
  642. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin/index.html +53 -0
  643. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin.md +89 -0
  644. package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session/index.html +115 -0
  645. package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session.md +176 -0
  646. package/dist/serve/docs-ui/docs/pyric-sandbox.md +69 -0
  647. package/dist/serve/docs-ui/docs/pyric-storage/index.html +65 -0
  648. package/dist/serve/docs-ui/docs/pyric-storage-compat/index.html +676 -0
  649. package/dist/serve/docs-ui/docs/pyric-storage-compat.md +699 -0
  650. package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope/index.html +52 -0
  651. package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope.md +85 -0
  652. package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case/index.html +58 -0
  653. package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case.md +82 -0
  654. package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb/index.html +50 -0
  655. package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb.md +82 -0
  656. package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules/index.html +120 -0
  657. package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules.md +127 -0
  658. package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete/index.html +53 -0
  659. package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete.md +86 -0
  660. package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends/index.html +43 -0
  661. package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends.md +65 -0
  662. package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions/index.html +70 -0
  663. package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions.md +88 -0
  664. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +2120 -0
  665. package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +1687 -0
  666. package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps/index.html +137 -0
  667. package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps.md +171 -0
  668. package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes/index.html +37 -0
  669. package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes.md +57 -0
  670. package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset/index.html +96 -0
  671. package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset.md +134 -0
  672. package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options/index.html +39 -0
  673. package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options.md +61 -0
  674. package/dist/serve/docs-ui/docs/pyric-storage.md +67 -0
  675. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +638 -0
  676. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +430 -0
  677. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +813 -0
  678. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +634 -0
  679. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1708 -0
  680. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +1300 -0
  681. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +177 -0
  682. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +111 -0
  683. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1542 -0
  684. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +903 -0
  685. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1024 -0
  686. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +640 -0
  687. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +2753 -0
  688. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +2171 -0
  689. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1005 -0
  690. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +693 -0
  691. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1388 -0
  692. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +1340 -0
  693. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +131 -0
  694. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +76 -0
  695. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +648 -0
  696. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +508 -0
  697. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1457 -0
  698. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +1029 -0
  699. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +2476 -0
  700. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +1919 -0
  701. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1241 -0
  702. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +817 -0
  703. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +2289 -0
  704. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +1489 -0
  705. package/dist/serve/docs-ui/docs/read-a-denial/index.html +40 -0
  706. package/dist/serve/docs-ui/docs/read-a-denial.md +62 -0
  707. package/dist/serve/docs-ui/docs/receive-messages/index.html +28 -0
  708. package/dist/serve/docs-ui/docs/receive-messages.md +43 -0
  709. package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript/index.html +67 -0
  710. package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript.md +101 -0
  711. package/dist/serve/docs-ui/docs/rules-patterns/index.html +68 -0
  712. package/dist/serve/docs-ui/docs/rules-patterns.md +104 -0
  713. package/dist/serve/docs-ui/docs/rules-standard-library/index.html +87 -0
  714. package/dist/serve/docs-ui/docs/rules-standard-library.md +93 -0
  715. package/dist/serve/docs-ui/docs/run-ai-logic-locally/index.html +27 -0
  716. package/dist/serve/docs-ui/docs/run-ai-logic-locally.md +43 -0
  717. package/dist/serve/docs-ui/docs/secure-it-with-rules/index.html +69 -0
  718. package/dist/serve/docs-ui/docs/secure-it-with-rules.md +101 -0
  719. package/dist/serve/docs-ui/docs/see-whats-happening/index.html +73 -0
  720. package/dist/serve/docs-ui/docs/see-whats-happening.md +77 -0
  721. package/dist/serve/docs-ui/docs/set-up-the-project/index.html +14 -0
  722. package/dist/serve/docs-ui/docs/set-up-the-project.md +19 -0
  723. package/dist/serve/docs-ui/docs/set-up-your-agent/index.html +42 -0
  724. package/dist/serve/docs-ui/docs/set-up-your-agent.md +86 -0
  725. package/dist/serve/docs-ui/docs/shape-your-data/index.html +44 -0
  726. package/dist/serve/docs-ui/docs/shape-your-data.md +88 -0
  727. package/dist/serve/docs-ui/docs/ship-to-production/index.html +36 -0
  728. package/dist/serve/docs-ui/docs/ship-to-production.md +80 -0
  729. package/dist/serve/docs-ui/docs/sign-in-and-manage-users/index.html +31 -0
  730. package/dist/serve/docs-ui/docs/sign-in-and-manage-users.md +50 -0
  731. package/dist/serve/docs-ui/docs/simulate-and-lint/index.html +95 -0
  732. package/dist/serve/docs-ui/docs/simulate-and-lint.md +99 -0
  733. package/dist/serve/docs-ui/docs/skills/index.html +20 -0
  734. package/dist/serve/docs-ui/docs/skills.md +34 -0
  735. package/dist/serve/docs-ui/docs/start-building/index.html +32 -0
  736. package/dist/serve/docs-ui/docs/start-building.md +64 -0
  737. package/dist/serve/docs-ui/docs/store-and-query-data/index.html +16 -0
  738. package/dist/serve/docs-ui/docs/store-and-query-data.md +33 -0
  739. package/dist/serve/docs-ui/docs/store-files/index.html +13 -0
  740. package/dist/serve/docs-ui/docs/store-files.md +25 -0
  741. package/dist/serve/docs-ui/docs/sync-realtime-data/index.html +15 -0
  742. package/dist/serve/docs-ui/docs/sync-realtime-data.md +27 -0
  743. package/dist/serve/docs-ui/docs/test-in-node/index.html +74 -0
  744. package/dist/serve/docs-ui/docs/test-in-node.md +100 -0
  745. package/dist/serve/docs-ui/docs/ui/index.html +76 -0
  746. package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper/index.html +194 -0
  747. package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper.md +114 -0
  748. package/dist/serve/docs-ui/docs/ui-auth-authusers/index.html +263 -0
  749. package/dist/serve/docs-ui/docs/ui-auth-authusers.md +183 -0
  750. package/dist/serve/docs-ui/docs/ui-firestore-collectionlist/index.html +92 -0
  751. package/dist/serve/docs-ui/docs/ui-firestore-collectionlist.md +79 -0
  752. package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm/index.html +128 -0
  753. package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm.md +104 -0
  754. package/dist/serve/docs-ui/docs/ui-firestore-documenteditor/index.html +154 -0
  755. package/dist/serve/docs-ui/docs/ui-firestore-documenteditor.md +117 -0
  756. package/dist/serve/docs-ui/docs/ui-firestore-documentlist/index.html +132 -0
  757. package/dist/serve/docs-ui/docs/ui-firestore-documentlist.md +92 -0
  758. package/dist/serve/docs-ui/docs/ui-firestore-documentpreview/index.html +159 -0
  759. package/dist/serve/docs-ui/docs/ui-firestore-documentpreview.md +84 -0
  760. package/dist/serve/docs-ui/docs/ui-firestore-querybuilder/index.html +104 -0
  761. package/dist/serve/docs-ui/docs/ui-firestore-querybuilder.md +103 -0
  762. package/dist/serve/docs-ui/docs/ui-firestore-referencepicker/index.html +113 -0
  763. package/dist/serve/docs-ui/docs/ui-firestore-referencepicker.md +93 -0
  764. package/dist/serve/docs-ui/docs/ui-primitives-badge/index.html +56 -0
  765. package/dist/serve/docs-ui/docs/ui-primitives-badge.md +40 -0
  766. package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog/index.html +140 -0
  767. package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog.md +108 -0
  768. package/dist/serve/docs-ui/docs/ui-primitives-copybutton/index.html +58 -0
  769. package/dist/serve/docs-ui/docs/ui-primitives-copybutton.md +37 -0
  770. package/dist/serve/docs-ui/docs/ui-primitives-jsonview/index.html +58 -0
  771. package/dist/serve/docs-ui/docs/ui-primitives-jsonview.md +47 -0
  772. package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol/index.html +70 -0
  773. package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol.md +50 -0
  774. package/dist/serve/docs-ui/docs/ui-primitives-toast/index.html +87 -0
  775. package/dist/serve/docs-ui/docs/ui-primitives-toast.md +82 -0
  776. package/dist/serve/docs-ui/docs/ui-primitives-virtuallist/index.html +85 -0
  777. package/dist/serve/docs-ui/docs/ui-primitives-virtuallist.md +54 -0
  778. package/dist/serve/docs-ui/docs/ui-storage/index.html +150 -0
  779. package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm/index.html +126 -0
  780. package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm.md +88 -0
  781. package/dist/serve/docs-ui/docs/ui-storage-objectbrowser/index.html +137 -0
  782. package/dist/serve/docs-ui/docs/ui-storage-objectbrowser.md +90 -0
  783. package/dist/serve/docs-ui/docs/ui-storage-objectinspector/index.html +139 -0
  784. package/dist/serve/docs-ui/docs/ui-storage-objectinspector.md +93 -0
  785. package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb/index.html +72 -0
  786. package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb.md +57 -0
  787. package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances/index.html +60 -0
  788. package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances.md +52 -0
  789. package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone/index.html +93 -0
  790. package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone.md +78 -0
  791. package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate/index.html +144 -0
  792. package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate.md +101 -0
  793. package/dist/serve/docs-ui/docs/ui-storage.md +165 -0
  794. package/dist/serve/docs-ui/docs/ui-traffic/index.html +88 -0
  795. package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap/index.html +79 -0
  796. package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap.md +60 -0
  797. package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail/index.html +78 -0
  798. package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail.md +59 -0
  799. package/dist/serve/docs-ui/docs/ui-traffic-trafficlog/index.html +118 -0
  800. package/dist/serve/docs-ui/docs/ui-traffic-trafficlog.md +69 -0
  801. package/dist/serve/docs-ui/docs/ui-traffic-trafficstats/index.html +51 -0
  802. package/dist/serve/docs-ui/docs/ui-traffic-trafficstats.md +46 -0
  803. package/dist/serve/docs-ui/docs/ui-traffic.md +102 -0
  804. package/dist/serve/docs-ui/docs/ui.md +90 -0
  805. package/dist/serve/docs-ui/docs/watch-and-review/index.html +25 -0
  806. package/dist/serve/docs-ui/docs/watch-and-review.md +40 -0
  807. package/dist/serve/docs-ui/docs/what-your-agent-can-do/index.html +81 -0
  808. package/dist/serve/docs-ui/docs/what-your-agent-can-do.md +78 -0
  809. package/dist/serve/docs-ui/docs/whats-experimental/index.html +22 -0
  810. package/dist/serve/docs-ui/docs/whats-experimental.md +33 -0
  811. package/dist/serve/docs-ui/docs/whats-possible/index.html +63 -0
  812. package/dist/serve/docs-ui/docs/whats-possible.md +53 -0
  813. package/dist/serve/docs-ui/docs/which-data-service/index.html +8 -0
  814. package/dist/serve/docs-ui/docs/which-data-service.md +11 -0
  815. package/dist/serve/docs-ui/docs/write-a-rules-test-suite/index.html +85 -0
  816. package/dist/serve/docs-ui/docs/write-a-rules-test-suite.md +119 -0
  817. package/dist/serve/docs-ui/index.html +1 -0
  818. package/dist/serve/docs-ui/llms.txt +308 -0
  819. package/dist/serve/entries/ai.d.ts +4 -0
  820. package/dist/serve/entries/ai.d.ts.map +1 -0
  821. package/dist/serve/entries/ai.js +184 -0
  822. package/dist/serve/entries/ai.js.map +1 -0
  823. package/dist/serve/entries/app-backend.d.ts +2 -0
  824. package/dist/serve/entries/app-backend.d.ts.map +1 -0
  825. package/dist/serve/entries/app-backend.js +4 -0
  826. package/dist/serve/entries/app-backend.js.map +1 -0
  827. package/dist/serve/entries/app-client.d.ts +5 -0
  828. package/dist/serve/entries/app-client.d.ts.map +1 -0
  829. package/dist/serve/entries/app-client.js +23 -0
  830. package/dist/serve/entries/app-client.js.map +1 -0
  831. package/dist/serve/entries/app-session-store.d.ts +14 -0
  832. package/dist/serve/entries/app-session-store.d.ts.map +1 -0
  833. package/dist/serve/entries/app-session-store.js +37 -0
  834. package/dist/serve/entries/app-session-store.js.map +1 -0
  835. package/dist/serve/entries/app.d.ts +2 -0
  836. package/dist/serve/entries/app.d.ts.map +1 -0
  837. package/dist/serve/entries/app.js +10 -0
  838. package/dist/serve/entries/app.js.map +1 -0
  839. package/dist/serve/entries/auth-helper-core.d.ts +52 -0
  840. package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
  841. package/dist/serve/entries/auth-helper-core.js +118 -0
  842. package/dist/serve/entries/auth-helper-core.js.map +1 -0
  843. package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
  844. package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
  845. package/dist/serve/entries/auth-helper-dom.js +116 -0
  846. package/dist/serve/entries/auth-helper-dom.js.map +1 -0
  847. package/dist/serve/entries/auth-helper-runtime.d.ts +5 -0
  848. package/dist/serve/entries/auth-helper-runtime.d.ts.map +1 -0
  849. package/dist/serve/entries/auth-helper-runtime.js +11 -0
  850. package/dist/serve/entries/auth-helper-runtime.js.map +1 -0
  851. package/dist/serve/entries/auth.d.ts +77 -0
  852. package/dist/serve/entries/auth.d.ts.map +1 -0
  853. package/dist/serve/entries/auth.js +201 -0
  854. package/dist/serve/entries/auth.js.map +1 -0
  855. package/dist/serve/entries/bridge-url.d.ts +25 -0
  856. package/dist/serve/entries/bridge-url.d.ts.map +1 -0
  857. package/dist/serve/entries/bridge-url.js +30 -0
  858. package/dist/serve/entries/bridge-url.js.map +1 -0
  859. package/dist/serve/entries/database.d.ts +46 -0
  860. package/dist/serve/entries/database.d.ts.map +1 -0
  861. package/dist/serve/entries/database.js +80 -0
  862. package/dist/serve/entries/database.js.map +1 -0
  863. package/dist/serve/entries/firestore.d.ts +104 -0
  864. package/dist/serve/entries/firestore.d.ts.map +1 -0
  865. package/dist/serve/entries/firestore.js +202 -0
  866. package/dist/serve/entries/firestore.js.map +1 -0
  867. package/dist/serve/entries/init.d.ts +2 -0
  868. package/dist/serve/entries/init.d.ts.map +1 -0
  869. package/dist/serve/entries/init.js +40 -0
  870. package/dist/serve/entries/init.js.map +1 -0
  871. package/dist/serve/entries/keepalive.d.ts +20 -0
  872. package/dist/serve/entries/keepalive.d.ts.map +1 -0
  873. package/dist/serve/entries/keepalive.js +38 -0
  874. package/dist/serve/entries/keepalive.js.map +1 -0
  875. package/dist/serve/entries/messaging-sw.d.ts +10 -0
  876. package/dist/serve/entries/messaging-sw.d.ts.map +1 -0
  877. package/dist/serve/entries/messaging-sw.js +36 -0
  878. package/dist/serve/entries/messaging-sw.js.map +1 -0
  879. package/dist/serve/entries/messaging.d.ts +11 -0
  880. package/dist/serve/entries/messaging.d.ts.map +1 -0
  881. package/dist/serve/entries/messaging.js +53 -0
  882. package/dist/serve/entries/messaging.js.map +1 -0
  883. package/dist/serve/entries/runtime.d.ts +46 -0
  884. package/dist/serve/entries/runtime.d.ts.map +1 -0
  885. package/dist/serve/entries/runtime.js +435 -0
  886. package/dist/serve/entries/runtime.js.map +1 -0
  887. package/dist/serve/entries/session-store.d.ts +48 -0
  888. package/dist/serve/entries/session-store.d.ts.map +1 -0
  889. package/dist/serve/entries/session-store.js +82 -0
  890. package/dist/serve/entries/session-store.js.map +1 -0
  891. package/dist/serve/entries/storage.d.ts +25 -0
  892. package/dist/serve/entries/storage.d.ts.map +1 -0
  893. package/dist/serve/entries/storage.js +61 -0
  894. package/dist/serve/entries/storage.js.map +1 -0
  895. package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
  896. package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
  897. package/dist/serve/entries/tab-sync-wiring.js +217 -0
  898. package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
  899. package/dist/serve/entries/worker-runtime.d.ts +10 -0
  900. package/dist/serve/entries/worker-runtime.d.ts.map +1 -0
  901. package/dist/serve/entries/worker-runtime.js +59 -0
  902. package/dist/serve/entries/worker-runtime.js.map +1 -0
  903. package/dist/serve/init-payload.d.ts +21 -0
  904. package/dist/serve/init-payload.d.ts.map +1 -0
  905. package/dist/serve/init-payload.js +2 -0
  906. package/dist/serve/init-payload.js.map +1 -0
  907. package/dist/serve/namespace.d.ts +73 -0
  908. package/dist/serve/namespace.d.ts.map +1 -0
  909. package/dist/serve/namespace.js +470 -0
  910. package/dist/serve/namespace.js.map +1 -0
  911. package/dist/serve/open-browser.d.ts +23 -0
  912. package/dist/serve/open-browser.d.ts.map +1 -0
  913. package/dist/serve/open-browser.js +58 -0
  914. package/dist/serve/open-browser.js.map +1 -0
  915. package/dist/serve/rules.d.ts +77 -0
  916. package/dist/serve/rules.d.ts.map +1 -0
  917. package/dist/serve/rules.js +202 -0
  918. package/dist/serve/rules.js.map +1 -0
  919. package/dist/serve/sandbox-marker.d.ts +9 -0
  920. package/dist/serve/sandbox-marker.d.ts.map +1 -0
  921. package/dist/serve/sandbox-marker.js +31 -0
  922. package/dist/serve/sandbox-marker.js.map +1 -0
  923. package/dist/serve/server.d.ts +135 -0
  924. package/dist/serve/server.d.ts.map +1 -0
  925. package/dist/serve/server.js +328 -0
  926. package/dist/serve/server.js.map +1 -0
  927. package/dist/serve/standalone-assets.d.ts +67 -0
  928. package/dist/serve/standalone-assets.d.ts.map +1 -0
  929. package/dist/serve/standalone-assets.js +134 -0
  930. package/dist/serve/standalone-assets.js.map +1 -0
  931. package/dist/serve/state-store.d.ts +45 -0
  932. package/dist/serve/state-store.d.ts.map +1 -0
  933. package/dist/serve/state-store.js +120 -0
  934. package/dist/serve/state-store.js.map +1 -0
  935. package/dist/serve/studio/disk-project-store.d.ts +9 -0
  936. package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
  937. package/dist/serve/studio/disk-project-store.js +173 -0
  938. package/dist/serve/studio/disk-project-store.js.map +1 -0
  939. package/dist/serve/studio/disk-workspace.d.ts +14 -0
  940. package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
  941. package/dist/serve/studio/disk-workspace.js +152 -0
  942. package/dist/serve/studio/disk-workspace.js.map +1 -0
  943. package/dist/serve/studio/index.d.ts +10 -0
  944. package/dist/serve/studio/index.d.ts.map +1 -0
  945. package/dist/serve/studio/index.js +9 -0
  946. package/dist/serve/studio/index.js.map +1 -0
  947. package/dist/serve/studio/routes.d.ts +40 -0
  948. package/dist/serve/studio/routes.d.ts.map +1 -0
  949. package/dist/serve/studio/routes.js +182 -0
  950. package/dist/serve/studio/routes.js.map +1 -0
  951. package/dist/serve/studio/store-types.d.ts +45 -0
  952. package/dist/serve/studio/store-types.d.ts.map +1 -0
  953. package/dist/serve/studio/store-types.js +11 -0
  954. package/dist/serve/studio/store-types.js.map +1 -0
  955. package/dist/serve/studio-ui/assets/RulesCodeEditor-BZpD57II.js +23 -0
  956. package/dist/serve/studio-ui/assets/index-Bsa-TQNK.css +1 -0
  957. package/dist/serve/studio-ui/assets/index-DGaVuOhE.js +1211 -0
  958. package/dist/serve/studio-ui/assets/seed-CTmn6YuO.js +2 -0
  959. package/dist/serve/studio-ui/index.html +32 -0
  960. package/dist/serve/studio-ui/pyric-logo.svg +76 -0
  961. package/dist/serve/vite-plugin.d.ts +57 -0
  962. package/dist/serve/vite-plugin.d.ts.map +1 -0
  963. package/dist/serve/vite-plugin.js +658 -0
  964. package/dist/serve/vite-plugin.js.map +1 -0
  965. package/dist/serve/worker/client/admin-firestore.d.ts +18 -0
  966. package/dist/serve/worker/client/admin-firestore.d.ts.map +1 -0
  967. package/dist/serve/worker/client/admin-firestore.js +26 -0
  968. package/dist/serve/worker/client/admin-firestore.js.map +1 -0
  969. package/dist/serve/worker/client/ai.d.ts +31 -0
  970. package/dist/serve/worker/client/ai.d.ts.map +1 -0
  971. package/dist/serve/worker/client/ai.js +89 -0
  972. package/dist/serve/worker/client/ai.js.map +1 -0
  973. package/dist/serve/worker/client/auth.d.ts +168 -0
  974. package/dist/serve/worker/client/auth.d.ts.map +1 -0
  975. package/dist/serve/worker/client/auth.js +322 -0
  976. package/dist/serve/worker/client/auth.js.map +1 -0
  977. package/dist/serve/worker/client/connection.d.ts +80 -0
  978. package/dist/serve/worker/client/connection.d.ts.map +1 -0
  979. package/dist/serve/worker/client/connection.js +148 -0
  980. package/dist/serve/worker/client/connection.js.map +1 -0
  981. package/dist/serve/worker/client/core.d.ts +109 -0
  982. package/dist/serve/worker/client/core.d.ts.map +1 -0
  983. package/dist/serve/worker/client/core.js +248 -0
  984. package/dist/serve/worker/client/core.js.map +1 -0
  985. package/dist/serve/worker/client/disconnect.d.ts +7 -0
  986. package/dist/serve/worker/client/disconnect.d.ts.map +1 -0
  987. package/dist/serve/worker/client/disconnect.js +26 -0
  988. package/dist/serve/worker/client/disconnect.js.map +1 -0
  989. package/dist/serve/worker/client/firestore-reads.d.ts +49 -0
  990. package/dist/serve/worker/client/firestore-reads.d.ts.map +1 -0
  991. package/dist/serve/worker/client/firestore-reads.js +139 -0
  992. package/dist/serve/worker/client/firestore-reads.js.map +1 -0
  993. package/dist/serve/worker/client/firestore-refs.d.ts +54 -0
  994. package/dist/serve/worker/client/firestore-refs.d.ts.map +1 -0
  995. package/dist/serve/worker/client/firestore-refs.js +167 -0
  996. package/dist/serve/worker/client/firestore-refs.js.map +1 -0
  997. package/dist/serve/worker/client/firestore-writes.d.ts +70 -0
  998. package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -0
  999. package/dist/serve/worker/client/firestore-writes.js +169 -0
  1000. package/dist/serve/worker/client/firestore-writes.js.map +1 -0
  1001. package/dist/serve/worker/client/handles.d.ts +73 -0
  1002. package/dist/serve/worker/client/handles.d.ts.map +1 -0
  1003. package/dist/serve/worker/client/handles.js +4 -0
  1004. package/dist/serve/worker/client/handles.js.map +1 -0
  1005. package/dist/serve/worker/client/messaging.d.ts +16 -0
  1006. package/dist/serve/worker/client/messaging.d.ts.map +1 -0
  1007. package/dist/serve/worker/client/messaging.js +60 -0
  1008. package/dist/serve/worker/client/messaging.js.map +1 -0
  1009. package/dist/serve/worker/client/presence.d.ts +43 -0
  1010. package/dist/serve/worker/client/presence.d.ts.map +1 -0
  1011. package/dist/serve/worker/client/presence.js +132 -0
  1012. package/dist/serve/worker/client/presence.js.map +1 -0
  1013. package/dist/serve/worker/client/rtdb.d.ts +36 -0
  1014. package/dist/serve/worker/client/rtdb.d.ts.map +1 -0
  1015. package/dist/serve/worker/client/rtdb.js +241 -0
  1016. package/dist/serve/worker/client/rtdb.js.map +1 -0
  1017. package/dist/serve/worker/client/rules.d.ts +24 -0
  1018. package/dist/serve/worker/client/rules.d.ts.map +1 -0
  1019. package/dist/serve/worker/client/rules.js +44 -0
  1020. package/dist/serve/worker/client/rules.js.map +1 -0
  1021. package/dist/serve/worker/client/service-worker-connection.d.ts +3 -0
  1022. package/dist/serve/worker/client/service-worker-connection.d.ts.map +1 -0
  1023. package/dist/serve/worker/client/service-worker-connection.js +53 -0
  1024. package/dist/serve/worker/client/service-worker-connection.js.map +1 -0
  1025. package/dist/serve/worker/client/snapshots.d.ts +32 -0
  1026. package/dist/serve/worker/client/snapshots.d.ts.map +1 -0
  1027. package/dist/serve/worker/client/snapshots.js +46 -0
  1028. package/dist/serve/worker/client/snapshots.js.map +1 -0
  1029. package/dist/serve/worker/client/storage.d.ts +64 -0
  1030. package/dist/serve/worker/client/storage.d.ts.map +1 -0
  1031. package/dist/serve/worker/client/storage.js +125 -0
  1032. package/dist/serve/worker/client/storage.js.map +1 -0
  1033. package/dist/serve/worker/client/studio.d.ts +32 -0
  1034. package/dist/serve/worker/client/studio.d.ts.map +1 -0
  1035. package/dist/serve/worker/client/studio.js +61 -0
  1036. package/dist/serve/worker/client/studio.js.map +1 -0
  1037. package/dist/serve/worker/client.d.ts +43 -0
  1038. package/dist/serve/worker/client.d.ts.map +1 -0
  1039. package/dist/serve/worker/client.js +44 -0
  1040. package/dist/serve/worker/client.js.map +1 -0
  1041. package/dist/serve/worker/entry.d.ts +40 -0
  1042. package/dist/serve/worker/entry.d.ts.map +1 -0
  1043. package/dist/serve/worker/entry.js +144 -0
  1044. package/dist/serve/worker/entry.js.map +1 -0
  1045. package/dist/serve/worker/host/admin-firestore.d.ts +17 -0
  1046. package/dist/serve/worker/host/admin-firestore.d.ts.map +1 -0
  1047. package/dist/serve/worker/host/admin-firestore.js +92 -0
  1048. package/dist/serve/worker/host/admin-firestore.js.map +1 -0
  1049. package/dist/serve/worker/host/connection.d.ts +40 -0
  1050. package/dist/serve/worker/host/connection.d.ts.map +1 -0
  1051. package/dist/serve/worker/host/connection.js +153 -0
  1052. package/dist/serve/worker/host/connection.js.map +1 -0
  1053. package/dist/serve/worker/host/core.d.ts +159 -0
  1054. package/dist/serve/worker/host/core.d.ts.map +1 -0
  1055. package/dist/serve/worker/host/core.js +296 -0
  1056. package/dist/serve/worker/host/core.js.map +1 -0
  1057. package/dist/serve/worker/host/dispatch.d.ts +34 -0
  1058. package/dist/serve/worker/host/dispatch.d.ts.map +1 -0
  1059. package/dist/serve/worker/host/dispatch.js +267 -0
  1060. package/dist/serve/worker/host/dispatch.js.map +1 -0
  1061. package/dist/serve/worker/host/firestore-reads.d.ts +17 -0
  1062. package/dist/serve/worker/host/firestore-reads.d.ts.map +1 -0
  1063. package/dist/serve/worker/host/firestore-reads.js +108 -0
  1064. package/dist/serve/worker/host/firestore-reads.js.map +1 -0
  1065. package/dist/serve/worker/host/firestore-writes.d.ts +37 -0
  1066. package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -0
  1067. package/dist/serve/worker/host/firestore-writes.js +409 -0
  1068. package/dist/serve/worker/host/firestore-writes.js.map +1 -0
  1069. package/dist/serve/worker/host/presence.d.ts +38 -0
  1070. package/dist/serve/worker/host/presence.d.ts.map +1 -0
  1071. package/dist/serve/worker/host/presence.js +280 -0
  1072. package/dist/serve/worker/host/presence.js.map +1 -0
  1073. package/dist/serve/worker/host/rtdb.d.ts +18 -0
  1074. package/dist/serve/worker/host/rtdb.d.ts.map +1 -0
  1075. package/dist/serve/worker/host/rtdb.js +128 -0
  1076. package/dist/serve/worker/host/rtdb.js.map +1 -0
  1077. package/dist/serve/worker/host/rules.d.ts +17 -0
  1078. package/dist/serve/worker/host/rules.d.ts.map +1 -0
  1079. package/dist/serve/worker/host/rules.js +118 -0
  1080. package/dist/serve/worker/host/rules.js.map +1 -0
  1081. package/dist/serve/worker/host/storage.d.ts +19 -0
  1082. package/dist/serve/worker/host/storage.d.ts.map +1 -0
  1083. package/dist/serve/worker/host/storage.js +260 -0
  1084. package/dist/serve/worker/host/storage.js.map +1 -0
  1085. package/dist/serve/worker/host/studio.d.ts +13 -0
  1086. package/dist/serve/worker/host/studio.d.ts.map +1 -0
  1087. package/dist/serve/worker/host/studio.js +30 -0
  1088. package/dist/serve/worker/host/studio.js.map +1 -0
  1089. package/dist/serve/worker/host/subscriptions.d.ts +21 -0
  1090. package/dist/serve/worker/host/subscriptions.d.ts.map +1 -0
  1091. package/dist/serve/worker/host/subscriptions.js +162 -0
  1092. package/dist/serve/worker/host/subscriptions.js.map +1 -0
  1093. package/dist/serve/worker/host-ai.d.ts +59 -0
  1094. package/dist/serve/worker/host-ai.d.ts.map +1 -0
  1095. package/dist/serve/worker/host-ai.js +158 -0
  1096. package/dist/serve/worker/host-ai.js.map +1 -0
  1097. package/dist/serve/worker/host-auth.d.ts +47 -0
  1098. package/dist/serve/worker/host-auth.d.ts.map +1 -0
  1099. package/dist/serve/worker/host-auth.js +464 -0
  1100. package/dist/serve/worker/host-auth.js.map +1 -0
  1101. package/dist/serve/worker/host-context.d.ts +220 -0
  1102. package/dist/serve/worker/host-context.d.ts.map +1 -0
  1103. package/dist/serve/worker/host-context.js +45 -0
  1104. package/dist/serve/worker/host-context.js.map +1 -0
  1105. package/dist/serve/worker/host-events.d.ts +21 -0
  1106. package/dist/serve/worker/host-events.d.ts.map +1 -0
  1107. package/dist/serve/worker/host-events.js +87 -0
  1108. package/dist/serve/worker/host-events.js.map +1 -0
  1109. package/dist/serve/worker/host-messaging.d.ts +60 -0
  1110. package/dist/serve/worker/host-messaging.d.ts.map +1 -0
  1111. package/dist/serve/worker/host-messaging.js +226 -0
  1112. package/dist/serve/worker/host-messaging.js.map +1 -0
  1113. package/dist/serve/worker/host.d.ts +36 -0
  1114. package/dist/serve/worker/host.d.ts.map +1 -0
  1115. package/dist/serve/worker/host.js +39 -0
  1116. package/dist/serve/worker/host.js.map +1 -0
  1117. package/dist/serve/worker/index.d.ts +22 -0
  1118. package/dist/serve/worker/index.d.ts.map +1 -0
  1119. package/dist/serve/worker/index.js +61 -0
  1120. package/dist/serve/worker/index.js.map +1 -0
  1121. package/dist/serve/worker/presence-timing.d.ts +14 -0
  1122. package/dist/serve/worker/presence-timing.d.ts.map +1 -0
  1123. package/dist/serve/worker/presence-timing.js +14 -0
  1124. package/dist/serve/worker/presence-timing.js.map +1 -0
  1125. package/dist/serve/worker/protocol.d.ts +1150 -0
  1126. package/dist/serve/worker/protocol.d.ts.map +1 -0
  1127. package/dist/serve/worker/protocol.js +228 -0
  1128. package/dist/serve/worker/protocol.js.map +1 -0
  1129. package/dist/serve/worker/serve-init.d.ts +201 -0
  1130. package/dist/serve/worker/serve-init.d.ts.map +1 -0
  1131. package/dist/serve/worker/serve-init.js +579 -0
  1132. package/dist/serve/worker/serve-init.js.map +1 -0
  1133. package/dist/serve/worker/service-worker-channel.d.ts +23 -0
  1134. package/dist/serve/worker/service-worker-channel.d.ts.map +1 -0
  1135. package/dist/serve/worker/service-worker-channel.js +9 -0
  1136. package/dist/serve/worker/service-worker-channel.js.map +1 -0
  1137. package/dist/serve/worker/service-worker-relay.d.ts +22 -0
  1138. package/dist/serve/worker/service-worker-relay.d.ts.map +1 -0
  1139. package/dist/serve/worker/service-worker-relay.js +63 -0
  1140. package/dist/serve/worker/service-worker-relay.js.map +1 -0
  1141. package/dist/serve/writer-lock.d.ts +32 -0
  1142. package/dist/serve/writer-lock.d.ts.map +1 -0
  1143. package/dist/serve/writer-lock.js +43 -0
  1144. package/dist/serve/writer-lock.js.map +1 -0
  1145. package/dist/verify/cases.d.ts +37 -0
  1146. package/dist/verify/cases.d.ts.map +1 -0
  1147. package/dist/verify/cases.js +173 -0
  1148. package/dist/verify/cases.js.map +1 -0
  1149. package/dist/verify/fixture.d.ts +100 -0
  1150. package/dist/verify/fixture.d.ts.map +1 -0
  1151. package/dist/verify/fixture.js +156 -0
  1152. package/dist/verify/fixture.js.map +1 -0
  1153. package/dist/verify/index.d.ts +102 -0
  1154. package/dist/verify/index.d.ts.map +1 -0
  1155. package/dist/verify/index.js +318 -0
  1156. package/dist/verify/index.js.map +1 -0
  1157. package/dist/verify/tools.d.ts +7 -0
  1158. package/dist/verify/tools.d.ts.map +1 -0
  1159. package/dist/verify/tools.js +83 -0
  1160. package/dist/verify/tools.js.map +1 -0
  1161. package/dist/version/compat-target.d.ts +18 -0
  1162. package/dist/version/compat-target.d.ts.map +1 -0
  1163. package/dist/version/compat-target.js +18 -0
  1164. package/dist/version/compat-target.js.map +1 -0
  1165. package/dist/vite.d.ts +12 -0
  1166. package/dist/vite.d.ts.map +1 -0
  1167. package/dist/vite.js +16 -0
  1168. package/dist/vite.js.map +1 -0
  1169. package/package.json +133 -0
@@ -0,0 +1,322 @@
1
+ /**
2
+ * Worker-client Auth surface — mirrors `pyric/auth` / `firebase/auth` over the
3
+ * port. Per-port sessions (#754): each port owns its own session; the client
4
+ * keeps a local `currentUser` mirror updated from the authState stream while the
5
+ * worker owns the real `User` and token minting.
6
+ */
7
+ import { closeSubscription, isDisconnectedPort, nextId, nextSubId, openSnapshotSubscription, rpc, wirePort } from './core.js';
8
+ /** Hidden per-`ClientUser` port handle so the top-level `updateProfile(user, …)`
9
+ * free function can RPC without an `auth` handle in scope (mirrors
10
+ * `firebase/auth`'s user-only signature). Non-enumerable — never serialized. */
11
+ const CLIENT_USER_PORT = Symbol('pyric.clientUser.port');
12
+ /** Build a token-capable ClientUser from a wire SerializedUser. */
13
+ function makeClientUser(port, raw) {
14
+ const user = {
15
+ uid: raw.uid,
16
+ email: raw.email,
17
+ emailVerified: raw.emailVerified,
18
+ displayName: raw.displayName,
19
+ photoURL: raw.photoURL,
20
+ phoneNumber: raw.phoneNumber,
21
+ isAnonymous: raw.isAnonymous,
22
+ providerId: raw.providerId,
23
+ providerData: raw.providerData,
24
+ async getIdToken(forceRefresh) {
25
+ return (await rpc(port, {
26
+ t: 'op', id: nextId(), method: 'auth.getIdToken', forceRefresh,
27
+ }));
28
+ },
29
+ async getIdTokenResult(forceRefresh) {
30
+ return (await rpc(port, {
31
+ t: 'op', id: nextId(), method: 'auth.getIdTokenResult', forceRefresh,
32
+ }));
33
+ },
34
+ };
35
+ Object.defineProperty(user, CLIENT_USER_PORT, { value: port, enumerable: false });
36
+ return user;
37
+ }
38
+ /** Convert a wire SerializedUser|null to a ClientUser|null. */
39
+ function toClientUser(port, raw) {
40
+ return raw ? makeClientUser(port, raw) : null;
41
+ }
42
+ /**
43
+ * Get the worker-backed Auth handle.
44
+ *
45
+ * Mirrors `pyric/auth`'s `getAuth(sandbox)` / `firebase/auth`'s
46
+ * `getAuth(app)` — but the input is either an existing `ClientDb` (reusing
47
+ * its port, the common case in serve where Firestore + auth share one
48
+ * worker) or a worker URL (standalone).
49
+ *
50
+ * The returned handle seeds its `currentUser` mirror by opening an internal
51
+ * authState subscription that keeps it live across tabs.
52
+ */
53
+ export function getAuth(source, name) {
54
+ let port;
55
+ if (typeof source === 'object' && '__kind' in source && source.__kind === 'client-db') {
56
+ port = source.port;
57
+ }
58
+ else {
59
+ if (typeof SharedWorker === 'undefined') {
60
+ throw new Error('SharedWorker is not available. ' +
61
+ 'Open this page over http:// (not file://) and use a supported browser ' +
62
+ '(Chrome 4+, Firefox 29+, Safari 16.4+).');
63
+ }
64
+ const worker = new SharedWorker(source, {
65
+ type: 'classic',
66
+ name: name ?? 'pyric-shared-worker',
67
+ });
68
+ port = worker.port;
69
+ port.start();
70
+ wirePort(port);
71
+ }
72
+ const auth = { __kind: 'client-auth', port, currentUser: null };
73
+ // Internal authState subscription keeps `auth.currentUser` live. Per-port
74
+ // sessions (#754): only THIS port's sign-ins/outs (and its session restore)
75
+ // fire here — another tab's sign-in is another user, not an update to us.
76
+ const subId = nextSubId();
77
+ openSnapshotSubscription(port, subId, {
78
+ port,
79
+ next: (raw) => {
80
+ auth.currentUser = toClientUser(port, raw);
81
+ },
82
+ }, { t: 'sub', subId, target: 'authState' });
83
+ return auth;
84
+ }
85
+ /**
86
+ * Connect to the auth emulator. No-op shim over the worker: the worker's
87
+ * sandbox IS the emulator-equivalent backend, so there's nothing to point at.
88
+ * Present for surface parity so app code that calls it doesn't break.
89
+ */
90
+ export function connectAuthEmulator(_auth, _url, _options) {
91
+ // Intentional no-op — the worker's sandbox is the local auth backend.
92
+ }
93
+ // ─── Sign-in / out / create (RPC) ─────────────────────────────────────────
94
+ export async function createUserWithEmailAndPassword(auth, email, password) {
95
+ const raw = (await rpc(auth.port, {
96
+ t: 'op', id: nextId(), method: 'auth.createUser', email, password,
97
+ }));
98
+ return hydrateCred(auth, raw);
99
+ }
100
+ // ─── Admin user-DB ops (Pyric Studio data browse) ─────────────────────────
101
+ // Mirror `pyric/auth`'s `sandbox.{listUsers,createUser,updateUser,deleteUser,
102
+ // clearUsers}` over the port. No lens (admin control surface), so bare `rpc`.
103
+ export async function listUsers(auth) {
104
+ return (await rpc(auth.port, {
105
+ t: 'op', id: nextId(), method: 'auth.listUsers',
106
+ }));
107
+ }
108
+ export async function adminCreateUser(auth, request) {
109
+ return (await rpc(auth.port, {
110
+ t: 'op', id: nextId(), method: 'auth.adminCreateUser',
111
+ request: request,
112
+ }));
113
+ }
114
+ export async function adminUpdateUser(auth, uid, request) {
115
+ return (await rpc(auth.port, {
116
+ t: 'op', id: nextId(), method: 'auth.adminUpdateUser', uid,
117
+ request: request,
118
+ }));
119
+ }
120
+ export async function adminDeleteUser(auth, uid) {
121
+ await rpc(auth.port, { t: 'op', id: nextId(), method: 'auth.adminDeleteUser', uid });
122
+ }
123
+ export async function adminClearUsers(auth) {
124
+ await rpc(auth.port, { t: 'op', id: nextId(), method: 'auth.adminClearUsers' });
125
+ }
126
+ // ─── Sign-in provider config (Pyric Studio S-AUTH) ────────────────────────
127
+ // Mirror `pyric/auth`'s `sandbox.{getAuthProviderConfig,setAuthProviderConfig}`
128
+ // over the port. No dedicated subscription: `setProviderConfig` fires a
129
+ // `provider_config_update` sandbox event, so a caller re-reads via
130
+ // `getProviderConfig` on the SAME event feed `listUsers` callers already
131
+ // subscribe to (see `worker-live.ts`'s `subscribeUsers`).
132
+ export async function getProviderConfig(auth) {
133
+ return (await rpc(auth.port, {
134
+ t: 'op', id: nextId(), method: 'auth.getProviderConfig',
135
+ }));
136
+ }
137
+ export async function setProviderConfig(auth, providerId, enabled) {
138
+ await rpc(auth.port, {
139
+ t: 'op', id: nextId(), method: 'auth.setProviderConfig', providerId, enabled,
140
+ });
141
+ }
142
+ export async function signInWithEmailAndPassword(auth, email, password) {
143
+ const raw = (await rpc(auth.port, {
144
+ t: 'op', id: nextId(), method: 'auth.signInEmail', email, password,
145
+ }));
146
+ return hydrateCred(auth, raw);
147
+ }
148
+ export async function signInAnonymously(auth) {
149
+ const raw = (await rpc(auth.port, {
150
+ t: 'op', id: nextId(), method: 'auth.signInAnonymously',
151
+ }));
152
+ return hydrateCred(auth, raw);
153
+ }
154
+ export async function signOut(auth) {
155
+ if (isDisconnectedPort(auth.port)) {
156
+ auth.currentUser = null;
157
+ return;
158
+ }
159
+ await rpc(auth.port, { t: 'op', id: nextId(), method: 'auth.signOut' });
160
+ // The authState stream will also clear the mirror; set eagerly so a
161
+ // synchronous read right after `await signOut()` reflects the change.
162
+ auth.currentUser = null;
163
+ }
164
+ /**
165
+ * Bridge a provider identity resolved IN-PAGE to the worker (the provider
166
+ * sign-in seam). The entry adapter's worker-path `signInWithPopup`/
167
+ * `signInWithRedirect` runs the in-page `AuthFlowResolver` (which can't cross
168
+ * the worker port), then calls this with the picked identity; the worker seeds
169
+ * it + signs it in, returning a worker-backed credential. The mirror updates
170
+ * eagerly (like the email/anon paths) so a synchronous `auth.currentUser`
171
+ * read right after the await reflects the new user.
172
+ */
173
+ export async function acceptProviderCredential(auth, identity) {
174
+ const raw = (await rpc(auth.port, {
175
+ t: 'op', id: nextId(), method: 'auth.acceptIdentity', identity,
176
+ }));
177
+ return hydrateCred(auth, raw);
178
+ }
179
+ /**
180
+ * Re-establish THIS PORT's session for an existing identity (#754) — the
181
+ * per-tab reload restore. The page persists its uid in web storage
182
+ * (SessionStore); runtime.ts calls this at boot BEFORE app code runs. Soft:
183
+ * returns null (and leaves the port signed out) when the uid no longer
184
+ * resolves, so a stale record never throws.
185
+ */
186
+ export async function restorePortSession(auth, uid) {
187
+ const raw = (await rpc(auth.port, {
188
+ t: 'op', id: nextId(), method: 'auth.restorePortSession', uid,
189
+ }));
190
+ const user = toClientUser(auth.port, raw);
191
+ if (user)
192
+ auth.currentUser = user;
193
+ return user;
194
+ }
195
+ function hydrateCred(auth, raw) {
196
+ const user = makeClientUser(auth.port, raw.user);
197
+ // Eagerly update the mirror so `auth.currentUser` is correct immediately
198
+ // after the await, before the broadcast stream lands.
199
+ auth.currentUser = user;
200
+ return { user, providerId: raw.providerId, operationType: raw.operationType };
201
+ }
202
+ // ─── Persistence ──────────────────────────────────────────────────────────
203
+ /** Persistence markers — mirror `firebase/auth` / `pyric/auth`. */
204
+ export const inMemoryPersistence = { type: 'NONE' };
205
+ export const browserSessionPersistence = { type: 'SESSION' };
206
+ export const browserLocalPersistence = { type: 'LOCAL' };
207
+ /**
208
+ * Record the session-persistence mode on the worker (surface parity). The
209
+ * effective persistence is CLIENT-side (#754): the entry adapter mirrors the
210
+ * mode into the page's SessionStore, which decides where — or whether — this
211
+ * tab's session uid is stored for reload restore.
212
+ */
213
+ export async function setPersistence(auth, persistence) {
214
+ await rpc(auth.port, {
215
+ t: 'op', id: nextId(), method: 'auth.setPersistence', mode: persistence.type,
216
+ });
217
+ }
218
+ // ─── Observers (streaming subs) ────────────────────────────────────────────
219
+ /**
220
+ * Subscribe to auth-state changes. Mirrors `firebase/auth`'s
221
+ * `onAuthStateChanged`. Fires immediately with THIS PORT's current session,
222
+ * then on every change to it (#754: sessions are per-port — another tab's
223
+ * sign-in is a different user, not an update to this one). Updates the
224
+ * handle's `currentUser` mirror before invoking the callback.
225
+ */
226
+ export function onAuthStateChanged(auth, callback) {
227
+ return openAuthSub(auth, 'authState', callback);
228
+ }
229
+ /**
230
+ * Subscribe to ID-token changes. Mirrors `firebase/auth`'s
231
+ * `onIdTokenChanged` — fires on THIS PORT's identity transitions (per-port
232
+ * sessions, #754).
233
+ */
234
+ export function onIdTokenChanged(auth, callback) {
235
+ return openAuthSub(auth, 'idToken', callback);
236
+ }
237
+ function openAuthSub(auth, target, callback) {
238
+ const subId = nextSubId();
239
+ const port = auth.port;
240
+ openSnapshotSubscription(port, subId, {
241
+ port,
242
+ next: (raw) => {
243
+ const user = toClientUser(port, raw);
244
+ auth.currentUser = user;
245
+ callback(user);
246
+ },
247
+ }, { t: 'sub', subId, target });
248
+ return () => {
249
+ closeSubscription(port, subId);
250
+ };
251
+ }
252
+ // ─── Token accessors (top-level mirrors) ──────────────────────────────────
253
+ /** Top-level mirror of `firebase/auth`'s `getIdToken(user)`. */
254
+ export async function getIdToken(user, forceRefresh) {
255
+ return user.getIdToken(forceRefresh);
256
+ }
257
+ /** Top-level mirror of `firebase/auth`'s `getIdTokenResult(user)`. */
258
+ export async function getIdTokenResult(user, forceRefresh) {
259
+ return user.getIdTokenResult(forceRefresh);
260
+ }
261
+ /**
262
+ * Top-level mirror of `firebase/auth`'s `updateProfile(user, profile)` over
263
+ * the worker. RPCs `auth.updateProfile` for THIS PORT's session (the worker
264
+ * owns the real `User`), then mutates the passed `user` mirror in place with
265
+ * the returned fields so a synchronous read right after the await is
266
+ * consistent. `null` clears a field; an absent field is left untouched.
267
+ *
268
+ * The port is recovered from the hidden {@link CLIENT_USER_PORT} handle stamped
269
+ * on every `ClientUser`, so this works without an `auth` handle in scope.
270
+ */
271
+ export async function updateProfile(user, profile) {
272
+ const port = user[CLIENT_USER_PORT];
273
+ if (!port) {
274
+ const err = new Error('updateProfile: unrecognized user — was it produced by a worker-path sign-in?');
275
+ err.code = 'auth/invalid-user-token';
276
+ throw err;
277
+ }
278
+ const raw = (await rpc(port, {
279
+ t: 'op', id: nextId(), method: 'auth.updateProfile',
280
+ displayName: profile.displayName, photoURL: profile.photoURL,
281
+ }));
282
+ // Mutate the passed mirror in place (readonly at the type level, plain data
283
+ // at runtime) so held references reflect the change immediately.
284
+ const mutable = user;
285
+ mutable.displayName = raw.displayName;
286
+ mutable.photoURL = raw.photoURL;
287
+ mutable.providerData = raw.providerData;
288
+ }
289
+ // ─── Provider flows — NOT supported over the worker yet ───────────────────
290
+ /**
291
+ * Provider sign-in (`signInWithCredential`, `signInWithPopup`,
292
+ * `signInWithRedirect`) needs the AuthFlowResolver, which lives in-page and
293
+ * can't cross the worker port. NOT SUPPORTED over the SharedWorker in v1 —
294
+ * a clear error rather than silent breakage. Tracked as a Phase 2 follow-up:
295
+ * thread the resolver through, or run provider flows in-page and hand the
296
+ * resulting credential to the worker.
297
+ */
298
+ export function signInWithCredential() {
299
+ return Promise.reject(makeUnsupported('signInWithCredential'));
300
+ }
301
+ /**
302
+ * `beforeAuthStateChanged` gates a LOCAL identity transition — the
303
+ * worker owns the shared user pool + fires the real transition on its
304
+ * own side of the port, so a page-local gate registered here would
305
+ * either never run (silently useless) or run too late to actually
306
+ * block anything. Rather than accept a callback that quietly does
307
+ * nothing, fail loudly at registration time — same defensive pattern
308
+ * as {@link signInWithCredential}. Follow-up: thread registration
309
+ * through the worker RPC protocol so the gate can run host-side before
310
+ * the worker commits a transition.
311
+ */
312
+ export function beforeAuthStateChanged() {
313
+ throw makeUnsupported('beforeAuthStateChanged');
314
+ }
315
+ function makeUnsupported(api) {
316
+ const err = new Error(`${api} is not supported over the SharedWorker yet (provider flows need ` +
317
+ 'the in-page AuthFlowResolver). Follow-up: thread the resolver through or ' +
318
+ 'run the flow in-page and hand the credential to the worker.');
319
+ err.code = 'auth/operation-not-supported-in-this-environment';
320
+ return err;
321
+ }
322
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/serve/worker/client/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Worker-client connection + lifecycle — open the SharedWorker port, query the
3
+ * worker's version/instance, drive state export/import + named branches, forward
4
+ * agent tool-calls, and relay raw worker-protocol frames from the bridge peer.
5
+ */
6
+ import type { WorkerOpPayload, WorkerSubPayload } from '../../../bridge/protocol.js';
7
+ import type { ClientDb } from './handles.js';
8
+ /**
9
+ * Connect to the SharedWorker and return a client Firestore handle.
10
+ *
11
+ * Pass the URL of the SharedWorker script as `workerUrl`. Under `pyric dev`
12
+ * this is `/__pyric/sdk/worker.js`; for tests or standalone use, pass the path
13
+ * explicitly.
14
+ *
15
+ * `getFirestore` mirrors `pyric/firestore`'s `getFirestore(sandbox)` shape
16
+ * but returns a `ClientDb` backed by a `MessagePort` instead of a sandbox.
17
+ */
18
+ export declare function getFirestore(workerUrl: string | URL, name?: string): ClientDb;
19
+ /**
20
+ * Ask the worker for its baked build version (staleness guard). The page
21
+ * compares it to the served bundle version and warns when a still-running OLD
22
+ * worker is older than what's served (a SharedWorker can't hot-update).
23
+ */
24
+ export declare function getWorkerVersion(db: ClientDb): Promise<string>;
25
+ /**
26
+ * Ask the worker for its stable per-instance id (see host `INSTANCE_ID_KEY`).
27
+ * Studio renders a human-friendly form so a user can tell which sandbox instance
28
+ * they're looking at — the same `localhost:<port>` in a different browser profile
29
+ * is a SEPARATE sandbox (a separate SharedWorker + IndexedDB), and this is how
30
+ * the two are told apart.
31
+ */
32
+ export declare function getWorkerInstanceId(db: ClientDb): Promise<string>;
33
+ /**
34
+ * Phase 2 (transfer): export the FULL sandbox state as a portable bundle string
35
+ * (the chunk format the persist layer uses, so wrapper types round-trip). Save
36
+ * it to a file and {@link importWorkerState} it into another instance.
37
+ */
38
+ export declare function exportWorkerState(db: ClientDb): Promise<string>;
39
+ /** Phase 2 (clobber): replace this sandbox's ENTIRE state with `bundle`. */
40
+ export declare function importWorkerState(db: ClientDb, bundle: string): Promise<void>;
41
+ /** Phase 3: save the live sandbox as a named branch (a saved state bundle). */
42
+ export declare function saveWorkerBranch(db: ClientDb, name: string): Promise<void>;
43
+ /** Phase 3: list this instance's saved branch names. */
44
+ export declare function listWorkerBranches(db: ClientDb): Promise<string[]>;
45
+ /** Phase 3 (clobber): switch the live sandbox to a named branch's state. */
46
+ export declare function switchWorkerBranch(db: ClientDb, name: string): Promise<void>;
47
+ /** Phase 3: delete a named branch. */
48
+ export declare function deleteWorkerBranch(db: ClientDb, name: string): Promise<void>;
49
+ /**
50
+ * Forward an agent tool-call to the worker so it executes against the SAME
51
+ * sandbox the app + Studio use. The worker runs the canonical tool dispatcher
52
+ * (`buildSandboxDispatcher`) and replies with the `{ ok, summary, data }`
53
+ * result. Used by the bridge peer on the worker path (`connectBridgePeer` in
54
+ * `entries/runtime.ts`) so the agent shares the one authoritative sandbox.
55
+ */
56
+ export declare function callTool(db: ClientDb, name: string, args: Record<string, unknown>): Promise<{
57
+ ok: boolean;
58
+ summary: string;
59
+ data?: unknown;
60
+ }>;
61
+ /**
62
+ * Relay one raw worker-protocol op into the SharedWorker. `op` is the op
63
+ * message minus `t`/`id` (the `WorkerOpPayload` wire shape); resolves with
64
+ * the worker's `res.value`, rejects with an Error carrying `.code`.
65
+ */
66
+ export declare function relayWorkerOp(db: ClientDb, op: WorkerOpPayload): Promise<unknown>;
67
+ /**
68
+ * Relay a raw worker-protocol subscription into the SharedWorker. `sub` is
69
+ * the sub message minus `t`/`subId` (the `WorkerSubPayload` wire shape).
70
+ * `onValue` receives every snap value VERBATIM — including the worker host's
71
+ * `{ __error: { code, message } }` establishment-failure convention (listener
72
+ * errors are re-wrapped into the same shape so the far side sees one form).
73
+ * Returns the unsubscribe function.
74
+ *
75
+ * The unified event stream (`target: 'events'`) is NOT relayable yet — its
76
+ * history batches aren't coalescible, so it needs bounded backpressure first
77
+ * (slice 2).
78
+ */
79
+ export declare function relayWorkerSub(db: ClientDb, sub: WorkerSubPayload, onValue: (value: unknown) => void): () => void;
80
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/serve/worker/client/connection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAUrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAgB7E;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAGvE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAGrE;AAED,4EAA4E;AAC5E,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnF;AAED,+EAA+E;AAC/E,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;AAED,wDAAwD;AACxD,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAGxE;AAED,4EAA4E;AAC5E,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;AAED,sCAAsC;AACtC,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAM3D;AAWD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAKjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAChC,MAAM,IAAI,CA0BZ"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Worker-client connection + lifecycle — open the SharedWorker port, query the
3
+ * worker's version/instance, drive state export/import + named branches, forward
4
+ * agent tool-calls, and relay raw worker-protocol frames from the bridge peer.
5
+ */
6
+ import { nextId, nextSubId, wirePort, rpc, rawRpc, openSnapshotSubscription, closeSubscription, } from './core.js';
7
+ // ─── Public API ────────────────────────────────────────────────────────────
8
+ /**
9
+ * Connect to the SharedWorker and return a client Firestore handle.
10
+ *
11
+ * Pass the URL of the SharedWorker script as `workerUrl`. Under `pyric dev`
12
+ * this is `/__pyric/sdk/worker.js`; for tests or standalone use, pass the path
13
+ * explicitly.
14
+ *
15
+ * `getFirestore` mirrors `pyric/firestore`'s `getFirestore(sandbox)` shape
16
+ * but returns a `ClientDb` backed by a `MessagePort` instead of a sandbox.
17
+ */
18
+ export function getFirestore(workerUrl, name) {
19
+ if (typeof SharedWorker === 'undefined') {
20
+ throw new Error('SharedWorker is not available. ' +
21
+ 'Open this page over http:// (not file://) and use a supported browser ' +
22
+ '(Chrome 4+, Firefox 29+, Safari 16.4+).');
23
+ }
24
+ const worker = new SharedWorker(workerUrl, {
25
+ type: 'classic',
26
+ name: name ?? 'pyric-shared-worker',
27
+ });
28
+ const port = worker.port;
29
+ port.start();
30
+ wirePort(port);
31
+ return { __kind: 'client-db', port };
32
+ }
33
+ /**
34
+ * Ask the worker for its baked build version (staleness guard). The page
35
+ * compares it to the served bundle version and warns when a still-running OLD
36
+ * worker is older than what's served (a SharedWorker can't hot-update).
37
+ */
38
+ export async function getWorkerVersion(db) {
39
+ const r = (await rpc(db.port, { t: 'op', id: nextId(), method: 'getVersion' }));
40
+ return r.version;
41
+ }
42
+ /**
43
+ * Ask the worker for its stable per-instance id (see host `INSTANCE_ID_KEY`).
44
+ * Studio renders a human-friendly form so a user can tell which sandbox instance
45
+ * they're looking at — the same `localhost:<port>` in a different browser profile
46
+ * is a SEPARATE sandbox (a separate SharedWorker + IndexedDB), and this is how
47
+ * the two are told apart.
48
+ */
49
+ export async function getWorkerInstanceId(db) {
50
+ const r = (await rpc(db.port, { t: 'op', id: nextId(), method: 'getVersion' }));
51
+ return r.instanceId ?? '';
52
+ }
53
+ /**
54
+ * Phase 2 (transfer): export the FULL sandbox state as a portable bundle string
55
+ * (the chunk format the persist layer uses, so wrapper types round-trip). Save
56
+ * it to a file and {@link importWorkerState} it into another instance.
57
+ */
58
+ export async function exportWorkerState(db) {
59
+ const r = (await rpc(db.port, { t: 'op', id: nextId(), method: 'exportState' }));
60
+ return r.bundle;
61
+ }
62
+ /** Phase 2 (clobber): replace this sandbox's ENTIRE state with `bundle`. */
63
+ export async function importWorkerState(db, bundle) {
64
+ await rpc(db.port, { t: 'op', id: nextId(), method: 'importState', bundle });
65
+ }
66
+ /** Phase 3: save the live sandbox as a named branch (a saved state bundle). */
67
+ export async function saveWorkerBranch(db, name) {
68
+ await rpc(db.port, { t: 'op', id: nextId(), method: 'saveBranch', name });
69
+ }
70
+ /** Phase 3: list this instance's saved branch names. */
71
+ export async function listWorkerBranches(db) {
72
+ const r = (await rpc(db.port, { t: 'op', id: nextId(), method: 'listBranches' }));
73
+ return r.branches ?? [];
74
+ }
75
+ /** Phase 3 (clobber): switch the live sandbox to a named branch's state. */
76
+ export async function switchWorkerBranch(db, name) {
77
+ await rpc(db.port, { t: 'op', id: nextId(), method: 'switchBranch', name });
78
+ }
79
+ /** Phase 3: delete a named branch. */
80
+ export async function deleteWorkerBranch(db, name) {
81
+ await rpc(db.port, { t: 'op', id: nextId(), method: 'deleteBranch', name });
82
+ }
83
+ /**
84
+ * Forward an agent tool-call to the worker so it executes against the SAME
85
+ * sandbox the app + Studio use. The worker runs the canonical tool dispatcher
86
+ * (`buildSandboxDispatcher`) and replies with the `{ ok, summary, data }`
87
+ * result. Used by the bridge peer on the worker path (`connectBridgePeer` in
88
+ * `entries/runtime.ts`) so the agent shares the one authoritative sandbox.
89
+ */
90
+ export async function callTool(db, name, args) {
91
+ return (await rpc(db.port, { t: 'tool', id: nextId(), name, args }));
92
+ }
93
+ // ─── Generic worker relay (remote sandbox, slice 1) ────────────────────────
94
+ //
95
+ // The bridge peer forwards `worker-op` / `worker-sub` frames from the Node
96
+ // side (`connectRemoteSandbox`) into the SharedWorker through these two
97
+ // functions (see `workerRelay` in `bridge/client/bridge.ts` + the wiring in
98
+ // `entries/runtime.ts`). Ids are re-minted LOCALLY (`nextId`/`nextSubId`) so
99
+ // relayed traffic shares this page's pending/sub maps without any chance of
100
+ // colliding with the page's own ids — the bridge correlates by ITS frame id.
101
+ /**
102
+ * Relay one raw worker-protocol op into the SharedWorker. `op` is the op
103
+ * message minus `t`/`id` (the `WorkerOpPayload` wire shape); resolves with
104
+ * the worker's `res.value`, rejects with an Error carrying `.code`.
105
+ */
106
+ export function relayWorkerOp(db, op) {
107
+ // rawRpc, NOT rpc: relayed frames must pass verbatim — the declared op
108
+ // source (`setOpIssuer`) covers only ops THIS client constructs, so
109
+ // bridge-relayed admin/agent traffic is never mislabeled as Studio's.
110
+ return rawRpc(db.port, { ...op, t: 'op', id: nextId() });
111
+ }
112
+ /**
113
+ * Relay a raw worker-protocol subscription into the SharedWorker. `sub` is
114
+ * the sub message minus `t`/`subId` (the `WorkerSubPayload` wire shape).
115
+ * `onValue` receives every snap value VERBATIM — including the worker host's
116
+ * `{ __error: { code, message } }` establishment-failure convention (listener
117
+ * errors are re-wrapped into the same shape so the far side sees one form).
118
+ * Returns the unsubscribe function.
119
+ *
120
+ * The unified event stream (`target: 'events'`) is NOT relayable yet — its
121
+ * history batches aren't coalescible, so it needs bounded backpressure first
122
+ * (slice 2).
123
+ */
124
+ export function relayWorkerSub(db, sub, onValue) {
125
+ if (sub.target === 'events') {
126
+ throw new Error('event-stream subscriptions cannot be relayed over the bridge yet (needs bounded backpressure — slice 2)');
127
+ }
128
+ const subId = nextSubId();
129
+ const opened = openSnapshotSubscription(db.port, subId, {
130
+ port: db.port,
131
+ next: onValue,
132
+ error: (err) => onValue({
133
+ __error: {
134
+ code: err.code ?? 'unknown',
135
+ message: err instanceof Error ? err.message : String(err),
136
+ },
137
+ }),
138
+ }, { ...sub, t: 'sub', subId });
139
+ if (!opened) {
140
+ queueMicrotask(() => onValue({
141
+ __error: { code: 'app/app-deleted', message: 'Firebase App was deleted' },
142
+ }));
143
+ }
144
+ return () => {
145
+ closeSubscription(db.port, subId);
146
+ };
147
+ }
148
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/serve/worker/client/connection.ts"],"names":[],"mappings":"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"}