@pyric/cli 0.1.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (903) hide show
  1. package/LICENSE +216 -0
  2. package/README.md +180 -0
  3. package/README.md.orig +141 -0
  4. package/dist/assurance/.generated/conformance-verdicts.d.ts +1071 -0
  5. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -0
  6. package/dist/assurance/.generated/conformance-verdicts.js +1070 -0
  7. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -0
  8. package/dist/assurance/attachment.d.ts +24 -0
  9. package/dist/assurance/attachment.d.ts.map +1 -0
  10. package/dist/assurance/attachment.js +138 -0
  11. package/dist/assurance/attachment.js.map +1 -0
  12. package/dist/assurance/browser.d.ts +7 -0
  13. package/dist/assurance/browser.d.ts.map +1 -0
  14. package/dist/assurance/browser.js +68 -0
  15. package/dist/assurance/browser.js.map +1 -0
  16. package/dist/assurance/campaign.d.ts +41 -0
  17. package/dist/assurance/campaign.d.ts.map +1 -0
  18. package/dist/assurance/campaign.js +364 -0
  19. package/dist/assurance/campaign.js.map +1 -0
  20. package/dist/assurance/capabilities.d.ts +11 -0
  21. package/dist/assurance/capabilities.d.ts.map +1 -0
  22. package/dist/assurance/capabilities.js +282 -0
  23. package/dist/assurance/capabilities.js.map +1 -0
  24. package/dist/assurance/cases.d.ts +14 -0
  25. package/dist/assurance/cases.d.ts.map +1 -0
  26. package/dist/assurance/cases.js +27 -0
  27. package/dist/assurance/cases.js.map +1 -0
  28. package/dist/assurance/index.d.ts +10 -0
  29. package/dist/assurance/index.d.ts.map +1 -0
  30. package/dist/assurance/index.js +9 -0
  31. package/dist/assurance/index.js.map +1 -0
  32. package/dist/assurance/runner.d.ts +3 -0
  33. package/dist/assurance/runner.d.ts.map +1 -0
  34. package/dist/assurance/runner.js +633 -0
  35. package/dist/assurance/runner.js.map +1 -0
  36. package/dist/assurance/tool-names.d.ts +4 -0
  37. package/dist/assurance/tool-names.d.ts.map +1 -0
  38. package/dist/assurance/tool-names.js +14 -0
  39. package/dist/assurance/tool-names.js.map +1 -0
  40. package/dist/assurance/tools.d.ts +19 -0
  41. package/dist/assurance/tools.d.ts.map +1 -0
  42. package/dist/assurance/tools.js +737 -0
  43. package/dist/assurance/tools.js.map +1 -0
  44. package/dist/assurance/types.d.ts +347 -0
  45. package/dist/assurance/types.d.ts.map +1 -0
  46. package/dist/assurance/types.js +7 -0
  47. package/dist/assurance/types.js.map +1 -0
  48. package/dist/assurance/validation.d.ts +8 -0
  49. package/dist/assurance/validation.d.ts.map +1 -0
  50. package/dist/assurance/validation.js +269 -0
  51. package/dist/assurance/validation.js.map +1 -0
  52. package/dist/bridge/client/bridge.d.ts +133 -0
  53. package/dist/bridge/client/bridge.d.ts.map +1 -0
  54. package/dist/bridge/client/bridge.js +429 -0
  55. package/dist/bridge/client/bridge.js.map +1 -0
  56. package/dist/bridge/client/dispatch.d.ts +41 -0
  57. package/dist/bridge/client/dispatch.d.ts.map +1 -0
  58. package/dist/bridge/client/dispatch.js +111 -0
  59. package/dist/bridge/client/dispatch.js.map +1 -0
  60. package/dist/bridge/client.d.ts +24 -0
  61. package/dist/bridge/client.d.ts.map +1 -0
  62. package/dist/bridge/client.js +26 -0
  63. package/dist/bridge/client.js.map +1 -0
  64. package/dist/bridge/protocol.d.ts +227 -0
  65. package/dist/bridge/protocol.d.ts.map +1 -0
  66. package/dist/bridge/protocol.js +131 -0
  67. package/dist/bridge/protocol.js.map +1 -0
  68. package/dist/bridge/server/audit.d.ts +19 -0
  69. package/dist/bridge/server/audit.d.ts.map +1 -0
  70. package/dist/bridge/server/audit.js +46 -0
  71. package/dist/bridge/server/audit.js.map +1 -0
  72. package/dist/bridge/server/bridge.d.ts +126 -0
  73. package/dist/bridge/server/bridge.d.ts.map +1 -0
  74. package/dist/bridge/server/bridge.js +383 -0
  75. package/dist/bridge/server/bridge.js.map +1 -0
  76. package/dist/bridge/server/headless.d.ts +36 -0
  77. package/dist/bridge/server/headless.d.ts.map +1 -0
  78. package/dist/bridge/server/headless.js +142 -0
  79. package/dist/bridge/server/headless.js.map +1 -0
  80. package/dist/bridge/server/json-schema-to-zod.d.ts +37 -0
  81. package/dist/bridge/server/json-schema-to-zod.d.ts.map +1 -0
  82. package/dist/bridge/server/json-schema-to-zod.js +93 -0
  83. package/dist/bridge/server/json-schema-to-zod.js.map +1 -0
  84. package/dist/bridge/server/local-bridge.d.ts +33 -0
  85. package/dist/bridge/server/local-bridge.d.ts.map +1 -0
  86. package/dist/bridge/server/local-bridge.js +41 -0
  87. package/dist/bridge/server/local-bridge.js.map +1 -0
  88. package/dist/bridge/server/logger.d.ts +28 -0
  89. package/dist/bridge/server/logger.d.ts.map +1 -0
  90. package/dist/bridge/server/logger.js +42 -0
  91. package/dist/bridge/server/logger.js.map +1 -0
  92. package/dist/bridge/server/mcp-contract.d.ts +21 -0
  93. package/dist/bridge/server/mcp-contract.d.ts.map +1 -0
  94. package/dist/bridge/server/mcp-contract.js +63 -0
  95. package/dist/bridge/server/mcp-contract.js.map +1 -0
  96. package/dist/bridge/server/mcp.d.ts +26 -0
  97. package/dist/bridge/server/mcp.d.ts.map +1 -0
  98. package/dist/bridge/server/mcp.js +102 -0
  99. package/dist/bridge/server/mcp.js.map +1 -0
  100. package/dist/bridge/server/peer.d.ts +39 -0
  101. package/dist/bridge/server/peer.d.ts.map +1 -0
  102. package/dist/bridge/server/peer.js +189 -0
  103. package/dist/bridge/server/peer.js.map +1 -0
  104. package/dist/bridge/server/standalone.d.ts +49 -0
  105. package/dist/bridge/server/standalone.d.ts.map +1 -0
  106. package/dist/bridge/server/standalone.js +267 -0
  107. package/dist/bridge/server/standalone.js.map +1 -0
  108. package/dist/bridge/server/tool-metadata.d.ts +38 -0
  109. package/dist/bridge/server/tool-metadata.d.ts.map +1 -0
  110. package/dist/bridge/server/tool-metadata.js +84 -0
  111. package/dist/bridge/server/tool-metadata.js.map +1 -0
  112. package/dist/bridge/server.d.ts +21 -0
  113. package/dist/bridge/server.d.ts.map +1 -0
  114. package/dist/bridge/server.js +18 -0
  115. package/dist/bridge/server.js.map +1 -0
  116. package/dist/cli/can-i-use.d.ts +5 -0
  117. package/dist/cli/can-i-use.d.ts.map +1 -0
  118. package/dist/cli/can-i-use.js +49 -0
  119. package/dist/cli/can-i-use.js.map +1 -0
  120. package/dist/cli/database-rules.d.ts +43 -0
  121. package/dist/cli/database-rules.d.ts.map +1 -0
  122. package/dist/cli/database-rules.js +261 -0
  123. package/dist/cli/database-rules.js.map +1 -0
  124. package/dist/cli/dev-runner.d.ts +112 -0
  125. package/dist/cli/dev-runner.d.ts.map +1 -0
  126. package/dist/cli/dev-runner.js +239 -0
  127. package/dist/cli/dev-runner.js.map +1 -0
  128. package/dist/cli/firebase-json.d.ts +66 -0
  129. package/dist/cli/firebase-json.d.ts.map +1 -0
  130. package/dist/cli/firebase-json.js +60 -0
  131. package/dist/cli/firebase-json.js.map +1 -0
  132. package/dist/cli/firestore-indexes.d.ts +21 -0
  133. package/dist/cli/firestore-indexes.d.ts.map +1 -0
  134. package/dist/cli/firestore-indexes.js +39 -0
  135. package/dist/cli/firestore-indexes.js.map +1 -0
  136. package/dist/cli/index.d.ts +56 -0
  137. package/dist/cli/index.d.ts.map +1 -0
  138. package/dist/cli/index.js +387 -0
  139. package/dist/cli/index.js.map +1 -0
  140. package/dist/cli/init.d.ts +50 -0
  141. package/dist/cli/init.d.ts.map +1 -0
  142. package/dist/cli/init.js +182 -0
  143. package/dist/cli/init.js.map +1 -0
  144. package/dist/cli/mcp-proxy.d.ts +10 -0
  145. package/dist/cli/mcp-proxy.d.ts.map +1 -0
  146. package/dist/cli/mcp-proxy.js +129 -0
  147. package/dist/cli/mcp-proxy.js.map +1 -0
  148. package/dist/cli/parse-args.d.ts +20 -0
  149. package/dist/cli/parse-args.d.ts.map +1 -0
  150. package/dist/cli/parse-args.js +74 -0
  151. package/dist/cli/parse-args.js.map +1 -0
  152. package/dist/cli/rules.d.ts +55 -0
  153. package/dist/cli/rules.d.ts.map +1 -0
  154. package/dist/cli/rules.js +199 -0
  155. package/dist/cli/rules.js.map +1 -0
  156. package/dist/cli/scope.d.ts +12 -0
  157. package/dist/cli/scope.d.ts.map +1 -0
  158. package/dist/cli/scope.js +44 -0
  159. package/dist/cli/scope.js.map +1 -0
  160. package/dist/cli/serve.d.ts +122 -0
  161. package/dist/cli/serve.d.ts.map +1 -0
  162. package/dist/cli/serve.js +844 -0
  163. package/dist/cli/serve.js.map +1 -0
  164. package/dist/cli/service-commands.d.ts +8 -0
  165. package/dist/cli/service-commands.d.ts.map +1 -0
  166. package/dist/cli/service-commands.js +58 -0
  167. package/dist/cli/service-commands.js.map +1 -0
  168. package/dist/cli/snapshot.d.ts +22 -0
  169. package/dist/cli/snapshot.d.ts.map +1 -0
  170. package/dist/cli/snapshot.js +139 -0
  171. package/dist/cli/snapshot.js.map +1 -0
  172. package/dist/cli/storage-rules.d.ts +21 -0
  173. package/dist/cli/storage-rules.d.ts.map +1 -0
  174. package/dist/cli/storage-rules.js +121 -0
  175. package/dist/cli/storage-rules.js.map +1 -0
  176. package/dist/cli/verify.d.ts +23 -0
  177. package/dist/cli/verify.d.ts.map +1 -0
  178. package/dist/cli/verify.js +349 -0
  179. package/dist/cli/verify.js.map +1 -0
  180. package/dist/conformance/.generated/can-i-use-browser.d.ts +44 -0
  181. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -0
  182. package/dist/conformance/.generated/can-i-use-browser.js +67 -0
  183. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -0
  184. package/dist/conformance/.generated/can-i-use.d.ts +61 -0
  185. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -0
  186. package/dist/conformance/.generated/can-i-use.js +68 -0
  187. package/dist/conformance/.generated/can-i-use.js.map +1 -0
  188. package/dist/conformance/browser.d.ts +7 -0
  189. package/dist/conformance/browser.d.ts.map +1 -0
  190. package/dist/conformance/browser.js +8 -0
  191. package/dist/conformance/browser.js.map +1 -0
  192. package/dist/conformance/can-i-use-tool.d.ts +21 -0
  193. package/dist/conformance/can-i-use-tool.d.ts.map +1 -0
  194. package/dist/conformance/can-i-use-tool.js +40 -0
  195. package/dist/conformance/can-i-use-tool.js.map +1 -0
  196. package/dist/conformance/can-i-use.d.ts +6 -0
  197. package/dist/conformance/can-i-use.d.ts.map +1 -0
  198. package/dist/conformance/can-i-use.js +10 -0
  199. package/dist/conformance/can-i-use.js.map +1 -0
  200. package/dist/conformance/index.d.ts +8 -0
  201. package/dist/conformance/index.d.ts.map +1 -0
  202. package/dist/conformance/index.js +2 -0
  203. package/dist/conformance/index.js.map +1 -0
  204. package/dist/conformance/tools.d.ts +4 -0
  205. package/dist/conformance/tools.d.ts.map +1 -0
  206. package/dist/conformance/tools.js +14 -0
  207. package/dist/conformance/tools.js.map +1 -0
  208. package/dist/credentials/core/memoize-ttl.d.ts +58 -0
  209. package/dist/credentials/core/memoize-ttl.d.ts.map +1 -0
  210. package/dist/credentials/core/memoize-ttl.js +88 -0
  211. package/dist/credentials/core/memoize-ttl.js.map +1 -0
  212. package/dist/credentials/core/types.d.ts +11 -0
  213. package/dist/credentials/core/types.d.ts.map +1 -0
  214. package/dist/credentials/core/types.js +2 -0
  215. package/dist/credentials/core/types.js.map +1 -0
  216. package/dist/credentials/node/from-adc.d.ts +10 -0
  217. package/dist/credentials/node/from-adc.d.ts.map +1 -0
  218. package/dist/credentials/node/from-adc.js +76 -0
  219. package/dist/credentials/node/from-adc.js.map +1 -0
  220. package/dist/credentials/node/from-service-account.d.ts +24 -0
  221. package/dist/credentials/node/from-service-account.d.ts.map +1 -0
  222. package/dist/credentials/node/from-service-account.js +108 -0
  223. package/dist/credentials/node/from-service-account.js.map +1 -0
  224. package/dist/credentials/node/index.d.ts +7 -0
  225. package/dist/credentials/node/index.d.ts.map +1 -0
  226. package/dist/credentials/node/index.js +7 -0
  227. package/dist/credentials/node/index.js.map +1 -0
  228. package/dist/discover/concurrency.d.ts +42 -0
  229. package/dist/discover/concurrency.d.ts.map +1 -0
  230. package/dist/discover/concurrency.js +113 -0
  231. package/dist/discover/concurrency.js.map +1 -0
  232. package/dist/discover/crawler-adapter.d.ts +48 -0
  233. package/dist/discover/crawler-adapter.d.ts.map +1 -0
  234. package/dist/discover/crawler-adapter.js +92 -0
  235. package/dist/discover/crawler-adapter.js.map +1 -0
  236. package/dist/discover/crawler.d.ts +294 -0
  237. package/dist/discover/crawler.d.ts.map +1 -0
  238. package/dist/discover/crawler.js +764 -0
  239. package/dist/discover/crawler.js.map +1 -0
  240. package/dist/discover/credential-free.d.ts +19 -0
  241. package/dist/discover/credential-free.d.ts.map +1 -0
  242. package/dist/discover/credential-free.js +18 -0
  243. package/dist/discover/credential-free.js.map +1 -0
  244. package/dist/discover/findCollectionGroup.d.ts +44 -0
  245. package/dist/discover/findCollectionGroup.d.ts.map +1 -0
  246. package/dist/discover/findCollectionGroup.js +81 -0
  247. package/dist/discover/findCollectionGroup.js.map +1 -0
  248. package/dist/discover/firestore-source.d.ts +60 -0
  249. package/dist/discover/firestore-source.d.ts.map +1 -0
  250. package/dist/discover/firestore-source.js +11 -0
  251. package/dist/discover/firestore-source.js.map +1 -0
  252. package/dist/discover/index.d.ts +3 -0
  253. package/dist/discover/index.d.ts.map +1 -0
  254. package/dist/discover/index.js +5 -0
  255. package/dist/discover/index.js.map +1 -0
  256. package/dist/discover/merge.d.ts +108 -0
  257. package/dist/discover/merge.d.ts.map +1 -0
  258. package/dist/discover/merge.js +394 -0
  259. package/dist/discover/merge.js.map +1 -0
  260. package/dist/discover/session.d.ts +116 -0
  261. package/dist/discover/session.d.ts.map +1 -0
  262. package/dist/discover/session.js +331 -0
  263. package/dist/discover/session.js.map +1 -0
  264. package/dist/discover/tools.d.ts +58 -0
  265. package/dist/discover/tools.d.ts.map +1 -0
  266. package/dist/discover/tools.js +115 -0
  267. package/dist/discover/tools.js.map +1 -0
  268. package/dist/discover/types.d.ts +190 -0
  269. package/dist/discover/types.d.ts.map +1 -0
  270. package/dist/discover/types.js +12 -0
  271. package/dist/discover/types.js.map +1 -0
  272. package/dist/discover/wire.d.ts +70 -0
  273. package/dist/discover/wire.d.ts.map +1 -0
  274. package/dist/discover/wire.js +309 -0
  275. package/dist/discover/wire.js.map +1 -0
  276. package/dist/functions-rtdb/child.d.ts +52 -0
  277. package/dist/functions-rtdb/child.d.ts.map +1 -0
  278. package/dist/functions-rtdb/child.js +283 -0
  279. package/dist/functions-rtdb/child.js.map +1 -0
  280. package/dist/functions-rtdb/delivery.d.ts +4 -0
  281. package/dist/functions-rtdb/delivery.d.ts.map +1 -0
  282. package/dist/functions-rtdb/delivery.js +2 -0
  283. package/dist/functions-rtdb/delivery.js.map +1 -0
  284. package/dist/functions-rtdb/discovery.d.ts +41 -0
  285. package/dist/functions-rtdb/discovery.d.ts.map +1 -0
  286. package/dist/functions-rtdb/discovery.js +86 -0
  287. package/dist/functions-rtdb/discovery.js.map +1 -0
  288. package/dist/functions-rtdb/event.d.ts +20 -0
  289. package/dist/functions-rtdb/event.d.ts.map +1 -0
  290. package/dist/functions-rtdb/event.js +45 -0
  291. package/dist/functions-rtdb/event.js.map +1 -0
  292. package/dist/functions-rtdb/execution.d.ts +20 -0
  293. package/dist/functions-rtdb/execution.d.ts.map +1 -0
  294. package/dist/functions-rtdb/execution.js +70 -0
  295. package/dist/functions-rtdb/execution.js.map +1 -0
  296. package/dist/functions-rtdb/in-memory-delivery.d.ts +9 -0
  297. package/dist/functions-rtdb/in-memory-delivery.d.ts.map +1 -0
  298. package/dist/functions-rtdb/in-memory-delivery.js +36 -0
  299. package/dist/functions-rtdb/in-memory-delivery.js.map +1 -0
  300. package/dist/functions-rtdb/project.d.ts +7 -0
  301. package/dist/functions-rtdb/project.d.ts.map +1 -0
  302. package/dist/functions-rtdb/project.js +54 -0
  303. package/dist/functions-rtdb/project.js.map +1 -0
  304. package/dist/functions-rtdb/projection.d.ts +14 -0
  305. package/dist/functions-rtdb/projection.d.ts.map +1 -0
  306. package/dist/functions-rtdb/projection.js +65 -0
  307. package/dist/functions-rtdb/projection.js.map +1 -0
  308. package/dist/functions-rtdb/reference-pattern.d.ts +5 -0
  309. package/dist/functions-rtdb/reference-pattern.d.ts.map +1 -0
  310. package/dist/functions-rtdb/reference-pattern.js +14 -0
  311. package/dist/functions-rtdb/reference-pattern.js.map +1 -0
  312. package/dist/functions-rtdb/remote-delivery.d.ts +9 -0
  313. package/dist/functions-rtdb/remote-delivery.d.ts.map +1 -0
  314. package/dist/functions-rtdb/remote-delivery.js +11 -0
  315. package/dist/functions-rtdb/remote-delivery.js.map +1 -0
  316. package/dist/pkg-version.d.ts +2 -0
  317. package/dist/pkg-version.d.ts.map +1 -0
  318. package/dist/pkg-version.js +47 -0
  319. package/dist/pkg-version.js.map +1 -0
  320. package/dist/register/esm-exports.d.ts +26 -0
  321. package/dist/register/esm-exports.d.ts.map +1 -0
  322. package/dist/register/esm-exports.js +61 -0
  323. package/dist/register/esm-exports.js.map +1 -0
  324. package/dist/register/hooks.d.ts +13 -0
  325. package/dist/register/hooks.d.ts.map +1 -0
  326. package/dist/register/hooks.js +15 -0
  327. package/dist/register/hooks.js.map +1 -0
  328. package/dist/register/index.d.ts +5 -0
  329. package/dist/register/index.d.ts.map +1 -0
  330. package/dist/register/index.js +124 -0
  331. package/dist/register/index.js.map +1 -0
  332. package/dist/register/mapping.d.ts +19 -0
  333. package/dist/register/mapping.d.ts.map +1 -0
  334. package/dist/register/mapping.js +35 -0
  335. package/dist/register/mapping.js.map +1 -0
  336. package/dist/remote/index.d.ts +232 -0
  337. package/dist/remote/index.d.ts.map +1 -0
  338. package/dist/remote/index.js +720 -0
  339. package/dist/remote/index.js.map +1 -0
  340. package/dist/rtdb/crawl-snapshot.d.ts +17 -0
  341. package/dist/rtdb/crawl-snapshot.d.ts.map +1 -0
  342. package/dist/rtdb/crawl-snapshot.js +72 -0
  343. package/dist/rtdb/crawl-snapshot.js.map +1 -0
  344. package/dist/rtdb/inspection.d.ts +8 -0
  345. package/dist/rtdb/inspection.d.ts.map +1 -0
  346. package/dist/rtdb/inspection.js +111 -0
  347. package/dist/rtdb/inspection.js.map +1 -0
  348. package/dist/rtdb/load-rules-document.d.ts +25 -0
  349. package/dist/rtdb/load-rules-document.d.ts.map +1 -0
  350. package/dist/rtdb/load-rules-document.js +38 -0
  351. package/dist/rtdb/load-rules-document.js.map +1 -0
  352. package/dist/rtdb/rules-generation-tool.d.ts +4 -0
  353. package/dist/rtdb/rules-generation-tool.d.ts.map +1 -0
  354. package/dist/rtdb/rules-generation-tool.js +35 -0
  355. package/dist/rtdb/rules-generation-tool.js.map +1 -0
  356. package/dist/rtdb/rules-json.d.ts +8 -0
  357. package/dist/rtdb/rules-json.d.ts.map +1 -0
  358. package/dist/rtdb/rules-json.js +17 -0
  359. package/dist/rtdb/rules-json.js.map +1 -0
  360. package/dist/serve/bridge-mount.d.ts +36 -0
  361. package/dist/serve/bridge-mount.d.ts.map +1 -0
  362. package/dist/serve/bridge-mount.js +162 -0
  363. package/dist/serve/bridge-mount.js.map +1 -0
  364. package/dist/serve/bundler.d.ts +110 -0
  365. package/dist/serve/bundler.d.ts.map +1 -0
  366. package/dist/serve/bundler.js +432 -0
  367. package/dist/serve/bundler.js.map +1 -0
  368. package/dist/serve/capture-store.d.ts +27 -0
  369. package/dist/serve/capture-store.d.ts.map +1 -0
  370. package/dist/serve/capture-store.js +47 -0
  371. package/dist/serve/capture-store.js.map +1 -0
  372. package/dist/serve/discovery.d.ts +71 -0
  373. package/dist/serve/discovery.d.ts.map +1 -0
  374. package/dist/serve/discovery.js +158 -0
  375. package/dist/serve/discovery.js.map +1 -0
  376. package/dist/serve/docs-ui/_astro/_slug_.DPUwShm2.css +1 -0
  377. package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
  378. package/dist/serve/docs-ui/docs/_rhythm.md +97 -0
  379. package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +42 -0
  380. package/dist/serve/docs-ui/docs/agent/set-up-your-agent.md +72 -0
  381. package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +25 -0
  382. package/dist/serve/docs-ui/docs/agent/watch-and-review.md +38 -0
  383. package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +69 -0
  384. package/dist/serve/docs-ui/docs/agent/work-with-an-agent.md +74 -0
  385. package/dist/serve/docs-ui/docs/ai-compat/index.html +423 -0
  386. package/dist/serve/docs-ui/docs/ai-compat.md +456 -0
  387. package/dist/serve/docs-ui/docs/api-reference/index.html +66 -0
  388. package/dist/serve/docs-ui/docs/api-reference.md +69 -0
  389. package/dist/serve/docs-ui/docs/app-compat/index.html +159 -0
  390. package/dist/serve/docs-ui/docs/app-compat.md +178 -0
  391. package/dist/serve/docs-ui/docs/auth-compat/index.html +644 -0
  392. package/dist/serve/docs-ui/docs/auth-compat.md +701 -0
  393. package/dist/serve/docs-ui/docs/build/ai-logic/index.html +27 -0
  394. package/dist/serve/docs-ui/docs/build/ai-logic.md +39 -0
  395. package/dist/serve/docs-ui/docs/build/authentication/index.html +65 -0
  396. package/dist/serve/docs-ui/docs/build/authentication.md +95 -0
  397. package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +69 -0
  398. package/dist/serve/docs-ui/docs/build/cloud-firestore.md +93 -0
  399. package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +27 -0
  400. package/dist/serve/docs-ui/docs/build/cloud-messaging.md +37 -0
  401. package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +65 -0
  402. package/dist/serve/docs-ui/docs/build/cloud-storage.md +86 -0
  403. package/dist/serve/docs-ui/docs/build/realtime-database/index.html +49 -0
  404. package/dist/serve/docs-ui/docs/build/realtime-database.md +67 -0
  405. package/dist/serve/docs-ui/docs/conformance-scores/index.html +49 -0
  406. package/dist/serve/docs-ui/docs/conformance-scores.md +53 -0
  407. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +498 -0
  408. package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +345 -0
  409. package/dist/serve/docs-ui/docs/database-compat/index.html +1037 -0
  410. package/dist/serve/docs-ui/docs/database-compat.md +1099 -0
  411. package/dist/serve/docs-ui/docs/firestore-compat/index.html +823 -0
  412. package/dist/serve/docs-ui/docs/firestore-compat.md +881 -0
  413. package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +72 -0
  414. package/dist/serve/docs-ui/docs/functions-rtdb-compat.md +83 -0
  415. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +27 -0
  416. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works.md +50 -0
  417. package/dist/serve/docs-ui/docs/get-started/start-building/index.html +31 -0
  418. package/dist/serve/docs-ui/docs/get-started/start-building.md +53 -0
  419. package/dist/serve/docs-ui/docs/index.html +2 -0
  420. package/dist/serve/docs-ui/docs/index.json +11719 -0
  421. package/dist/serve/docs-ui/docs/messaging-compat/index.html +264 -0
  422. package/dist/serve/docs-ui/docs/messaging-compat.md +285 -0
  423. package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +73 -0
  424. package/dist/serve/docs-ui/docs/observe/see-whats-happening.md +69 -0
  425. package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +44 -0
  426. package/dist/serve/docs-ui/docs/observe/shape-your-data.md +74 -0
  427. package/dist/serve/docs-ui/docs/overview/index.html +16 -0
  428. package/dist/serve/docs-ui/docs/overview.md +31 -0
  429. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +185 -0
  430. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +206 -0
  431. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +617 -0
  432. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +441 -0
  433. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +583 -0
  434. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +597 -0
  435. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +32 -0
  436. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +30 -0
  437. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +317 -0
  438. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +285 -0
  439. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +5830 -0
  440. package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5439 -0
  441. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +159 -0
  442. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +122 -0
  443. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +420 -0
  444. package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +326 -0
  445. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +5452 -0
  446. package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +5271 -0
  447. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +98 -0
  448. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +88 -0
  449. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +2263 -0
  450. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1477 -0
  451. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +546 -0
  452. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +485 -0
  453. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +506 -0
  454. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +419 -0
  455. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +257 -0
  456. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api.md +197 -0
  457. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +307 -0
  458. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api.md +254 -0
  459. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +67 -0
  460. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +59 -0
  461. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +2355 -0
  462. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +2036 -0
  463. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +10 -0
  464. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +16 -0
  465. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1044 -0
  466. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +952 -0
  467. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +5041 -0
  468. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +4739 -0
  469. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +926 -0
  470. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +586 -0
  471. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +102 -0
  472. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +76 -0
  473. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1851 -0
  474. package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +1842 -0
  475. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +3623 -0
  476. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +3399 -0
  477. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +30 -0
  478. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +30 -0
  479. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +508 -0
  480. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +374 -0
  481. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +482 -0
  482. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +348 -0
  483. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +2629 -0
  484. package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +2213 -0
  485. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +120 -0
  486. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +110 -0
  487. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +202 -0
  488. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +134 -0
  489. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +5019 -0
  490. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +4060 -0
  491. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +2120 -0
  492. package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +1687 -0
  493. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +638 -0
  494. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +430 -0
  495. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +813 -0
  496. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +634 -0
  497. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1708 -0
  498. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +1300 -0
  499. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +177 -0
  500. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +111 -0
  501. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1542 -0
  502. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +903 -0
  503. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1024 -0
  504. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +640 -0
  505. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +2753 -0
  506. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +2171 -0
  507. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1005 -0
  508. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +693 -0
  509. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1388 -0
  510. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +1340 -0
  511. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +131 -0
  512. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +76 -0
  513. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +648 -0
  514. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +508 -0
  515. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1457 -0
  516. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +1029 -0
  517. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +2476 -0
  518. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +1919 -0
  519. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1241 -0
  520. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +817 -0
  521. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +2289 -0
  522. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +1489 -0
  523. package/dist/serve/docs-ui/docs/rules-compat/index.html +272 -0
  524. package/dist/serve/docs-ui/docs/rules-compat.md +287 -0
  525. package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +34 -0
  526. package/dist/serve/docs-ui/docs/secure/audit-your-rules.md +67 -0
  527. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +105 -0
  528. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits.md +152 -0
  529. package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +40 -0
  530. package/dist/serve/docs-ui/docs/secure/read-a-denial.md +58 -0
  531. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +66 -0
  532. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript.md +89 -0
  533. package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +158 -0
  534. package/dist/serve/docs-ui/docs/secure/rules-standard-library.md +116 -0
  535. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +46 -0
  536. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules.md +51 -0
  537. package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +94 -0
  538. package/dist/serve/docs-ui/docs/secure/simulate-and-lint.md +86 -0
  539. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +81 -0
  540. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite.md +105 -0
  541. package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +36 -0
  542. package/dist/serve/docs-ui/docs/ship/ship-to-production.md +64 -0
  543. package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +74 -0
  544. package/dist/serve/docs-ui/docs/ship/test-in-node.md +94 -0
  545. package/dist/serve/docs-ui/docs/storage-compat/index.html +532 -0
  546. package/dist/serve/docs-ui/docs/storage-compat.md +577 -0
  547. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +131 -0
  548. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase.md +155 -0
  549. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +13 -0
  550. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility.md +21 -0
  551. package/dist/serve/docs-ui/index.html +1 -0
  552. package/dist/serve/docs-ui/llms.txt +123 -0
  553. package/dist/serve/entries/ai.d.ts +4 -0
  554. package/dist/serve/entries/ai.d.ts.map +1 -0
  555. package/dist/serve/entries/ai.js +184 -0
  556. package/dist/serve/entries/ai.js.map +1 -0
  557. package/dist/serve/entries/app-backend.d.ts +2 -0
  558. package/dist/serve/entries/app-backend.d.ts.map +1 -0
  559. package/dist/serve/entries/app-backend.js +4 -0
  560. package/dist/serve/entries/app-backend.js.map +1 -0
  561. package/dist/serve/entries/app-client.d.ts +5 -0
  562. package/dist/serve/entries/app-client.d.ts.map +1 -0
  563. package/dist/serve/entries/app-client.js +23 -0
  564. package/dist/serve/entries/app-client.js.map +1 -0
  565. package/dist/serve/entries/app-session-store.d.ts +14 -0
  566. package/dist/serve/entries/app-session-store.d.ts.map +1 -0
  567. package/dist/serve/entries/app-session-store.js +37 -0
  568. package/dist/serve/entries/app-session-store.js.map +1 -0
  569. package/dist/serve/entries/app.d.ts +2 -0
  570. package/dist/serve/entries/app.d.ts.map +1 -0
  571. package/dist/serve/entries/app.js +10 -0
  572. package/dist/serve/entries/app.js.map +1 -0
  573. package/dist/serve/entries/auth-helper-core.d.ts +52 -0
  574. package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
  575. package/dist/serve/entries/auth-helper-core.js +118 -0
  576. package/dist/serve/entries/auth-helper-core.js.map +1 -0
  577. package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
  578. package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
  579. package/dist/serve/entries/auth-helper-dom.js +116 -0
  580. package/dist/serve/entries/auth-helper-dom.js.map +1 -0
  581. package/dist/serve/entries/auth-helper-runtime.d.ts +5 -0
  582. package/dist/serve/entries/auth-helper-runtime.d.ts.map +1 -0
  583. package/dist/serve/entries/auth-helper-runtime.js +11 -0
  584. package/dist/serve/entries/auth-helper-runtime.js.map +1 -0
  585. package/dist/serve/entries/auth.d.ts +77 -0
  586. package/dist/serve/entries/auth.d.ts.map +1 -0
  587. package/dist/serve/entries/auth.js +201 -0
  588. package/dist/serve/entries/auth.js.map +1 -0
  589. package/dist/serve/entries/bridge-url.d.ts +25 -0
  590. package/dist/serve/entries/bridge-url.d.ts.map +1 -0
  591. package/dist/serve/entries/bridge-url.js +30 -0
  592. package/dist/serve/entries/bridge-url.js.map +1 -0
  593. package/dist/serve/entries/database.d.ts +46 -0
  594. package/dist/serve/entries/database.d.ts.map +1 -0
  595. package/dist/serve/entries/database.js +80 -0
  596. package/dist/serve/entries/database.js.map +1 -0
  597. package/dist/serve/entries/firestore.d.ts +104 -0
  598. package/dist/serve/entries/firestore.d.ts.map +1 -0
  599. package/dist/serve/entries/firestore.js +202 -0
  600. package/dist/serve/entries/firestore.js.map +1 -0
  601. package/dist/serve/entries/init.d.ts +2 -0
  602. package/dist/serve/entries/init.d.ts.map +1 -0
  603. package/dist/serve/entries/init.js +40 -0
  604. package/dist/serve/entries/init.js.map +1 -0
  605. package/dist/serve/entries/keepalive.d.ts +20 -0
  606. package/dist/serve/entries/keepalive.d.ts.map +1 -0
  607. package/dist/serve/entries/keepalive.js +38 -0
  608. package/dist/serve/entries/keepalive.js.map +1 -0
  609. package/dist/serve/entries/messaging-sw.d.ts +10 -0
  610. package/dist/serve/entries/messaging-sw.d.ts.map +1 -0
  611. package/dist/serve/entries/messaging-sw.js +36 -0
  612. package/dist/serve/entries/messaging-sw.js.map +1 -0
  613. package/dist/serve/entries/messaging.d.ts +11 -0
  614. package/dist/serve/entries/messaging.d.ts.map +1 -0
  615. package/dist/serve/entries/messaging.js +53 -0
  616. package/dist/serve/entries/messaging.js.map +1 -0
  617. package/dist/serve/entries/runtime.d.ts +46 -0
  618. package/dist/serve/entries/runtime.d.ts.map +1 -0
  619. package/dist/serve/entries/runtime.js +435 -0
  620. package/dist/serve/entries/runtime.js.map +1 -0
  621. package/dist/serve/entries/session-store.d.ts +48 -0
  622. package/dist/serve/entries/session-store.d.ts.map +1 -0
  623. package/dist/serve/entries/session-store.js +82 -0
  624. package/dist/serve/entries/session-store.js.map +1 -0
  625. package/dist/serve/entries/storage.d.ts +25 -0
  626. package/dist/serve/entries/storage.d.ts.map +1 -0
  627. package/dist/serve/entries/storage.js +61 -0
  628. package/dist/serve/entries/storage.js.map +1 -0
  629. package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
  630. package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
  631. package/dist/serve/entries/tab-sync-wiring.js +217 -0
  632. package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
  633. package/dist/serve/entries/worker-runtime.d.ts +10 -0
  634. package/dist/serve/entries/worker-runtime.d.ts.map +1 -0
  635. package/dist/serve/entries/worker-runtime.js +59 -0
  636. package/dist/serve/entries/worker-runtime.js.map +1 -0
  637. package/dist/serve/init-payload.d.ts +21 -0
  638. package/dist/serve/init-payload.d.ts.map +1 -0
  639. package/dist/serve/init-payload.js +2 -0
  640. package/dist/serve/init-payload.js.map +1 -0
  641. package/dist/serve/namespace.d.ts +73 -0
  642. package/dist/serve/namespace.d.ts.map +1 -0
  643. package/dist/serve/namespace.js +470 -0
  644. package/dist/serve/namespace.js.map +1 -0
  645. package/dist/serve/open-browser.d.ts +23 -0
  646. package/dist/serve/open-browser.d.ts.map +1 -0
  647. package/dist/serve/open-browser.js +58 -0
  648. package/dist/serve/open-browser.js.map +1 -0
  649. package/dist/serve/rules.d.ts +77 -0
  650. package/dist/serve/rules.d.ts.map +1 -0
  651. package/dist/serve/rules.js +202 -0
  652. package/dist/serve/rules.js.map +1 -0
  653. package/dist/serve/sandbox-marker.d.ts +9 -0
  654. package/dist/serve/sandbox-marker.d.ts.map +1 -0
  655. package/dist/serve/sandbox-marker.js +31 -0
  656. package/dist/serve/sandbox-marker.js.map +1 -0
  657. package/dist/serve/server.d.ts +135 -0
  658. package/dist/serve/server.d.ts.map +1 -0
  659. package/dist/serve/server.js +328 -0
  660. package/dist/serve/server.js.map +1 -0
  661. package/dist/serve/standalone-assets.d.ts +67 -0
  662. package/dist/serve/standalone-assets.d.ts.map +1 -0
  663. package/dist/serve/standalone-assets.js +134 -0
  664. package/dist/serve/standalone-assets.js.map +1 -0
  665. package/dist/serve/state-store.d.ts +45 -0
  666. package/dist/serve/state-store.d.ts.map +1 -0
  667. package/dist/serve/state-store.js +120 -0
  668. package/dist/serve/state-store.js.map +1 -0
  669. package/dist/serve/studio/disk-project-store.d.ts +9 -0
  670. package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
  671. package/dist/serve/studio/disk-project-store.js +173 -0
  672. package/dist/serve/studio/disk-project-store.js.map +1 -0
  673. package/dist/serve/studio/disk-workspace.d.ts +14 -0
  674. package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
  675. package/dist/serve/studio/disk-workspace.js +152 -0
  676. package/dist/serve/studio/disk-workspace.js.map +1 -0
  677. package/dist/serve/studio/index.d.ts +10 -0
  678. package/dist/serve/studio/index.d.ts.map +1 -0
  679. package/dist/serve/studio/index.js +9 -0
  680. package/dist/serve/studio/index.js.map +1 -0
  681. package/dist/serve/studio/routes.d.ts +40 -0
  682. package/dist/serve/studio/routes.d.ts.map +1 -0
  683. package/dist/serve/studio/routes.js +182 -0
  684. package/dist/serve/studio/routes.js.map +1 -0
  685. package/dist/serve/studio/store-types.d.ts +45 -0
  686. package/dist/serve/studio/store-types.d.ts.map +1 -0
  687. package/dist/serve/studio/store-types.js +11 -0
  688. package/dist/serve/studio/store-types.js.map +1 -0
  689. package/dist/serve/studio-ui/assets/RulesCodeEditor-CXdSLKhO.js +23 -0
  690. package/dist/serve/studio-ui/assets/index-BlSGru_r.css +1 -0
  691. package/dist/serve/studio-ui/assets/index-BvtQIpGn.js +1211 -0
  692. package/dist/serve/studio-ui/assets/seed-3DMedLL3.js +2 -0
  693. package/dist/serve/studio-ui/index.html +32 -0
  694. package/dist/serve/studio-ui/pyric-logo.svg +76 -0
  695. package/dist/serve/vite-plugin.d.ts +57 -0
  696. package/dist/serve/vite-plugin.d.ts.map +1 -0
  697. package/dist/serve/vite-plugin.js +664 -0
  698. package/dist/serve/vite-plugin.js.map +1 -0
  699. package/dist/serve/worker/client/admin-firestore.d.ts +18 -0
  700. package/dist/serve/worker/client/admin-firestore.d.ts.map +1 -0
  701. package/dist/serve/worker/client/admin-firestore.js +26 -0
  702. package/dist/serve/worker/client/admin-firestore.js.map +1 -0
  703. package/dist/serve/worker/client/ai.d.ts +31 -0
  704. package/dist/serve/worker/client/ai.d.ts.map +1 -0
  705. package/dist/serve/worker/client/ai.js +89 -0
  706. package/dist/serve/worker/client/ai.js.map +1 -0
  707. package/dist/serve/worker/client/auth.d.ts +168 -0
  708. package/dist/serve/worker/client/auth.d.ts.map +1 -0
  709. package/dist/serve/worker/client/auth.js +322 -0
  710. package/dist/serve/worker/client/auth.js.map +1 -0
  711. package/dist/serve/worker/client/connection.d.ts +80 -0
  712. package/dist/serve/worker/client/connection.d.ts.map +1 -0
  713. package/dist/serve/worker/client/connection.js +148 -0
  714. package/dist/serve/worker/client/connection.js.map +1 -0
  715. package/dist/serve/worker/client/core.d.ts +109 -0
  716. package/dist/serve/worker/client/core.d.ts.map +1 -0
  717. package/dist/serve/worker/client/core.js +248 -0
  718. package/dist/serve/worker/client/core.js.map +1 -0
  719. package/dist/serve/worker/client/disconnect.d.ts +7 -0
  720. package/dist/serve/worker/client/disconnect.d.ts.map +1 -0
  721. package/dist/serve/worker/client/disconnect.js +26 -0
  722. package/dist/serve/worker/client/disconnect.js.map +1 -0
  723. package/dist/serve/worker/client/firestore-reads.d.ts +49 -0
  724. package/dist/serve/worker/client/firestore-reads.d.ts.map +1 -0
  725. package/dist/serve/worker/client/firestore-reads.js +139 -0
  726. package/dist/serve/worker/client/firestore-reads.js.map +1 -0
  727. package/dist/serve/worker/client/firestore-refs.d.ts +54 -0
  728. package/dist/serve/worker/client/firestore-refs.d.ts.map +1 -0
  729. package/dist/serve/worker/client/firestore-refs.js +167 -0
  730. package/dist/serve/worker/client/firestore-refs.js.map +1 -0
  731. package/dist/serve/worker/client/firestore-writes.d.ts +70 -0
  732. package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -0
  733. package/dist/serve/worker/client/firestore-writes.js +169 -0
  734. package/dist/serve/worker/client/firestore-writes.js.map +1 -0
  735. package/dist/serve/worker/client/handles.d.ts +73 -0
  736. package/dist/serve/worker/client/handles.d.ts.map +1 -0
  737. package/dist/serve/worker/client/handles.js +4 -0
  738. package/dist/serve/worker/client/handles.js.map +1 -0
  739. package/dist/serve/worker/client/messaging.d.ts +16 -0
  740. package/dist/serve/worker/client/messaging.d.ts.map +1 -0
  741. package/dist/serve/worker/client/messaging.js +60 -0
  742. package/dist/serve/worker/client/messaging.js.map +1 -0
  743. package/dist/serve/worker/client/presence.d.ts +43 -0
  744. package/dist/serve/worker/client/presence.d.ts.map +1 -0
  745. package/dist/serve/worker/client/presence.js +132 -0
  746. package/dist/serve/worker/client/presence.js.map +1 -0
  747. package/dist/serve/worker/client/rtdb.d.ts +36 -0
  748. package/dist/serve/worker/client/rtdb.d.ts.map +1 -0
  749. package/dist/serve/worker/client/rtdb.js +241 -0
  750. package/dist/serve/worker/client/rtdb.js.map +1 -0
  751. package/dist/serve/worker/client/rules.d.ts +24 -0
  752. package/dist/serve/worker/client/rules.d.ts.map +1 -0
  753. package/dist/serve/worker/client/rules.js +44 -0
  754. package/dist/serve/worker/client/rules.js.map +1 -0
  755. package/dist/serve/worker/client/service-worker-connection.d.ts +3 -0
  756. package/dist/serve/worker/client/service-worker-connection.d.ts.map +1 -0
  757. package/dist/serve/worker/client/service-worker-connection.js +53 -0
  758. package/dist/serve/worker/client/service-worker-connection.js.map +1 -0
  759. package/dist/serve/worker/client/snapshots.d.ts +32 -0
  760. package/dist/serve/worker/client/snapshots.d.ts.map +1 -0
  761. package/dist/serve/worker/client/snapshots.js +46 -0
  762. package/dist/serve/worker/client/snapshots.js.map +1 -0
  763. package/dist/serve/worker/client/storage.d.ts +64 -0
  764. package/dist/serve/worker/client/storage.d.ts.map +1 -0
  765. package/dist/serve/worker/client/storage.js +125 -0
  766. package/dist/serve/worker/client/storage.js.map +1 -0
  767. package/dist/serve/worker/client/studio.d.ts +32 -0
  768. package/dist/serve/worker/client/studio.d.ts.map +1 -0
  769. package/dist/serve/worker/client/studio.js +61 -0
  770. package/dist/serve/worker/client/studio.js.map +1 -0
  771. package/dist/serve/worker/client.d.ts +43 -0
  772. package/dist/serve/worker/client.d.ts.map +1 -0
  773. package/dist/serve/worker/client.js +44 -0
  774. package/dist/serve/worker/client.js.map +1 -0
  775. package/dist/serve/worker/entry.d.ts +40 -0
  776. package/dist/serve/worker/entry.d.ts.map +1 -0
  777. package/dist/serve/worker/entry.js +144 -0
  778. package/dist/serve/worker/entry.js.map +1 -0
  779. package/dist/serve/worker/host/admin-firestore.d.ts +17 -0
  780. package/dist/serve/worker/host/admin-firestore.d.ts.map +1 -0
  781. package/dist/serve/worker/host/admin-firestore.js +92 -0
  782. package/dist/serve/worker/host/admin-firestore.js.map +1 -0
  783. package/dist/serve/worker/host/connection.d.ts +40 -0
  784. package/dist/serve/worker/host/connection.d.ts.map +1 -0
  785. package/dist/serve/worker/host/connection.js +153 -0
  786. package/dist/serve/worker/host/connection.js.map +1 -0
  787. package/dist/serve/worker/host/core.d.ts +159 -0
  788. package/dist/serve/worker/host/core.d.ts.map +1 -0
  789. package/dist/serve/worker/host/core.js +296 -0
  790. package/dist/serve/worker/host/core.js.map +1 -0
  791. package/dist/serve/worker/host/dispatch.d.ts +34 -0
  792. package/dist/serve/worker/host/dispatch.d.ts.map +1 -0
  793. package/dist/serve/worker/host/dispatch.js +267 -0
  794. package/dist/serve/worker/host/dispatch.js.map +1 -0
  795. package/dist/serve/worker/host/firestore-reads.d.ts +17 -0
  796. package/dist/serve/worker/host/firestore-reads.d.ts.map +1 -0
  797. package/dist/serve/worker/host/firestore-reads.js +108 -0
  798. package/dist/serve/worker/host/firestore-reads.js.map +1 -0
  799. package/dist/serve/worker/host/firestore-writes.d.ts +37 -0
  800. package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -0
  801. package/dist/serve/worker/host/firestore-writes.js +409 -0
  802. package/dist/serve/worker/host/firestore-writes.js.map +1 -0
  803. package/dist/serve/worker/host/presence.d.ts +38 -0
  804. package/dist/serve/worker/host/presence.d.ts.map +1 -0
  805. package/dist/serve/worker/host/presence.js +280 -0
  806. package/dist/serve/worker/host/presence.js.map +1 -0
  807. package/dist/serve/worker/host/rtdb.d.ts +18 -0
  808. package/dist/serve/worker/host/rtdb.d.ts.map +1 -0
  809. package/dist/serve/worker/host/rtdb.js +128 -0
  810. package/dist/serve/worker/host/rtdb.js.map +1 -0
  811. package/dist/serve/worker/host/rules.d.ts +17 -0
  812. package/dist/serve/worker/host/rules.d.ts.map +1 -0
  813. package/dist/serve/worker/host/rules.js +118 -0
  814. package/dist/serve/worker/host/rules.js.map +1 -0
  815. package/dist/serve/worker/host/storage.d.ts +19 -0
  816. package/dist/serve/worker/host/storage.d.ts.map +1 -0
  817. package/dist/serve/worker/host/storage.js +260 -0
  818. package/dist/serve/worker/host/storage.js.map +1 -0
  819. package/dist/serve/worker/host/studio.d.ts +13 -0
  820. package/dist/serve/worker/host/studio.d.ts.map +1 -0
  821. package/dist/serve/worker/host/studio.js +30 -0
  822. package/dist/serve/worker/host/studio.js.map +1 -0
  823. package/dist/serve/worker/host/subscriptions.d.ts +21 -0
  824. package/dist/serve/worker/host/subscriptions.d.ts.map +1 -0
  825. package/dist/serve/worker/host/subscriptions.js +162 -0
  826. package/dist/serve/worker/host/subscriptions.js.map +1 -0
  827. package/dist/serve/worker/host-ai.d.ts +59 -0
  828. package/dist/serve/worker/host-ai.d.ts.map +1 -0
  829. package/dist/serve/worker/host-ai.js +158 -0
  830. package/dist/serve/worker/host-ai.js.map +1 -0
  831. package/dist/serve/worker/host-auth.d.ts +47 -0
  832. package/dist/serve/worker/host-auth.d.ts.map +1 -0
  833. package/dist/serve/worker/host-auth.js +464 -0
  834. package/dist/serve/worker/host-auth.js.map +1 -0
  835. package/dist/serve/worker/host-context.d.ts +220 -0
  836. package/dist/serve/worker/host-context.d.ts.map +1 -0
  837. package/dist/serve/worker/host-context.js +45 -0
  838. package/dist/serve/worker/host-context.js.map +1 -0
  839. package/dist/serve/worker/host-events.d.ts +21 -0
  840. package/dist/serve/worker/host-events.d.ts.map +1 -0
  841. package/dist/serve/worker/host-events.js +87 -0
  842. package/dist/serve/worker/host-events.js.map +1 -0
  843. package/dist/serve/worker/host-messaging.d.ts +60 -0
  844. package/dist/serve/worker/host-messaging.d.ts.map +1 -0
  845. package/dist/serve/worker/host-messaging.js +226 -0
  846. package/dist/serve/worker/host-messaging.js.map +1 -0
  847. package/dist/serve/worker/host.d.ts +36 -0
  848. package/dist/serve/worker/host.d.ts.map +1 -0
  849. package/dist/serve/worker/host.js +39 -0
  850. package/dist/serve/worker/host.js.map +1 -0
  851. package/dist/serve/worker/index.d.ts +22 -0
  852. package/dist/serve/worker/index.d.ts.map +1 -0
  853. package/dist/serve/worker/index.js +61 -0
  854. package/dist/serve/worker/index.js.map +1 -0
  855. package/dist/serve/worker/presence-timing.d.ts +14 -0
  856. package/dist/serve/worker/presence-timing.d.ts.map +1 -0
  857. package/dist/serve/worker/presence-timing.js +14 -0
  858. package/dist/serve/worker/presence-timing.js.map +1 -0
  859. package/dist/serve/worker/protocol.d.ts +1150 -0
  860. package/dist/serve/worker/protocol.d.ts.map +1 -0
  861. package/dist/serve/worker/protocol.js +228 -0
  862. package/dist/serve/worker/protocol.js.map +1 -0
  863. package/dist/serve/worker/serve-init.d.ts +201 -0
  864. package/dist/serve/worker/serve-init.d.ts.map +1 -0
  865. package/dist/serve/worker/serve-init.js +579 -0
  866. package/dist/serve/worker/serve-init.js.map +1 -0
  867. package/dist/serve/worker/service-worker-channel.d.ts +23 -0
  868. package/dist/serve/worker/service-worker-channel.d.ts.map +1 -0
  869. package/dist/serve/worker/service-worker-channel.js +9 -0
  870. package/dist/serve/worker/service-worker-channel.js.map +1 -0
  871. package/dist/serve/worker/service-worker-relay.d.ts +22 -0
  872. package/dist/serve/worker/service-worker-relay.d.ts.map +1 -0
  873. package/dist/serve/worker/service-worker-relay.js +63 -0
  874. package/dist/serve/worker/service-worker-relay.js.map +1 -0
  875. package/dist/serve/writer-lock.d.ts +32 -0
  876. package/dist/serve/writer-lock.d.ts.map +1 -0
  877. package/dist/serve/writer-lock.js +43 -0
  878. package/dist/serve/writer-lock.js.map +1 -0
  879. package/dist/verify/cases.d.ts +37 -0
  880. package/dist/verify/cases.d.ts.map +1 -0
  881. package/dist/verify/cases.js +173 -0
  882. package/dist/verify/cases.js.map +1 -0
  883. package/dist/verify/fixture.d.ts +100 -0
  884. package/dist/verify/fixture.d.ts.map +1 -0
  885. package/dist/verify/fixture.js +156 -0
  886. package/dist/verify/fixture.js.map +1 -0
  887. package/dist/verify/index.d.ts +102 -0
  888. package/dist/verify/index.d.ts.map +1 -0
  889. package/dist/verify/index.js +318 -0
  890. package/dist/verify/index.js.map +1 -0
  891. package/dist/verify/tools.d.ts +7 -0
  892. package/dist/verify/tools.d.ts.map +1 -0
  893. package/dist/verify/tools.js +83 -0
  894. package/dist/verify/tools.js.map +1 -0
  895. package/dist/version/compat-target.d.ts +18 -0
  896. package/dist/version/compat-target.d.ts.map +1 -0
  897. package/dist/version/compat-target.js +18 -0
  898. package/dist/version/compat-target.js.map +1 -0
  899. package/dist/vite.d.ts +12 -0
  900. package/dist/vite.d.ts.map +1 -0
  901. package/dist/vite.js +16 -0
  902. package/dist/vite.js.map +1 -0
  903. package/package.json +144 -0
@@ -0,0 +1,903 @@
1
+
2
+ <!-- Generated from published package declarations via TypeDoc. Do not edit by hand; run bun run docs:api:generate. -->
3
+
4
+ ## Interfaces
5
+
6
+ <a id="activityactionitem"></a>
7
+
8
+ ### ActivityActionItem
9
+
10
+ A single action item — a mechanical fact that invites a decision.
11
+
12
+ #### Properties
13
+
14
+ | Property | Type | Description |
15
+ | :------ | :------ | :------ |
16
+ | <a id="key"></a> `key` | `string` | Stable key. |
17
+ | <a id="meta"></a> `meta?` | `string` | Sub-line — attribution / cause. |
18
+ | <a id="rows"></a> `rows` | [`ActivityRow`](#activityrow)[] | The rows this item summarizes — for drill-in / linking into the matching Activity band (items LINK to bands, they don't duplicate). |
19
+ | <a id="title"></a> `title` | `string` | The headline (mechanical: "4 writes to /notes were denied"). |
20
+ | <a id="type"></a> `type` | `"denied"` | What it is — drives `data-pyric-action-type`. Today: `denied`. |
21
+
22
+ ***
23
+
24
+ <a id="activityactionitemsprops"></a>
25
+
26
+ ### ActivityActionItemsProps
27
+
28
+ #### Properties
29
+
30
+ | Property | Type | Description |
31
+ | :------ | :------ | :------ |
32
+ | <a id="classname"></a> `className?` | `string` | - |
33
+ | <a id="digest"></a> `digest` | [`ActivityDigest`](#activitydigest) | - |
34
+ | <a id="emptystate"></a> `emptyState?` | `ReactNode` | Rendered when there are no action items — default renders nothing (calm by default; the region collapses). |
35
+ | <a id="renderaction"></a> `renderAction?` | (`item`: [`ActivityActionItem`](#activityactionitem)) => `ReactNode` | Render the action button/affordance for an item (e.g. a "Debug" link). Returns `null` to render no action. |
36
+ | <a id="rendertitle"></a> `renderTitle?` | (`item`: [`ActivityActionItem`](#activityactionitem)) => `ReactNode` | Override item-title composition (host owns app-semantic copy). |
37
+
38
+ ***
39
+
40
+ <a id="activityauthstate"></a>
41
+
42
+ ### ActivityAuthState
43
+
44
+ Identity in effect for an op. `null` is anonymous / signed out.
45
+
46
+ #### Properties
47
+
48
+ | Property | Type |
49
+ | :------ | :------ |
50
+ | <a id="token"></a> `token?` | `Record`\<`string`, `unknown`\> |
51
+ | <a id="uid"></a> `uid` | `string` |
52
+
53
+ ***
54
+
55
+ <a id="activityband"></a>
56
+
57
+ ### ActivityBand
58
+
59
+ One category band: a header (`label · count · attribution`) plus its
60
+ rows. Mirrors the mock's `.band` + `.r.data` structure.
61
+
62
+ #### Extended by
63
+
64
+ - [`ActivityBandWithGroups`](#activitybandwithgroups)
65
+
66
+ #### Properties
67
+
68
+ | Property | Type | Description |
69
+ | :------ | :------ | :------ |
70
+ | <a id="attribution"></a> `attribution?` | `string` | A short attribution phrase when the band has a dominant actor / subject (`all by alice`, `by the app`, `by agent atlas`). Absent when attribution is mixed — the header then shows just the count. |
71
+ | <a id="count"></a> `count` | `number` | Total rows in the band (== `rows.length`; explicit for the header). |
72
+ | <a id="key-1"></a> `key` | [`ActivityBandKey`](#activitybandkey-1) | - |
73
+ | <a id="label"></a> `label` | `string` | Display label — `Denied`, `Added`, `Updated`, … |
74
+ | <a id="rows-1"></a> `rows` | [`ActivityRow`](#activityrow)[] | - |
75
+
76
+ ***
77
+
78
+ <a id="activitybandwithgroups"></a>
79
+
80
+ ### ActivityBandWithGroups
81
+
82
+ A band that may carry pivot sub-groups. `subgroups` is populated only
83
+ when the digest was computed with `groupBy !== 'none'`; otherwise the
84
+ band is flat (`rows` only). `computeActivityDigest` always returns
85
+ bands of this shape so consumers can branch on `subgroups` presence.
86
+
87
+ #### Extends
88
+
89
+ - [`ActivityBand`](#activityband)
90
+
91
+ #### Properties
92
+
93
+ | Property | Type | Description |
94
+ | :------ | :------ | :------ |
95
+ | <a id="attribution-1"></a> `attribution?` | `string` | A short attribution phrase when the band has a dominant actor / subject (`all by alice`, `by the app`, `by agent atlas`). Absent when attribution is mixed — the header then shows just the count. |
96
+ | <a id="count-1"></a> `count` | `number` | Total rows in the band (== `rows.length`; explicit for the header). |
97
+ | <a id="key-2"></a> `key` | [`ActivityBandKey`](#activitybandkey-1) | - |
98
+ | <a id="label-1"></a> `label` | `string` | Display label — `Denied`, `Added`, `Updated`, … |
99
+ | <a id="rows-2"></a> `rows` | [`ActivityRow`](#activityrow)[] | - |
100
+ | <a id="subgroups"></a> `subgroups?` | [`ActivitySubgroup`](#activitysubgroup)[] | Present only when `groupBy !== 'none'`. |
101
+
102
+ ***
103
+
104
+ <a id="activitydigest"></a>
105
+
106
+ ### ActivityDigest
107
+
108
+ The banded digest — the activity grid's entire model. Bands are
109
+ pre-sorted lead-with-consequence; `denials` is a flat projection of
110
+ the consequential rows for the action-items tier.
111
+
112
+ #### Properties
113
+
114
+ | Property | Type | Description |
115
+ | :------ | :------ | :------ |
116
+ | <a id="bands"></a> `bands` | [`ActivityBandWithGroups`](#activitybandwithgroups)[] | Bands in render order — highest-consequence first. Empty bands omitted. Each band may carry `subgroups` when `groupBy !== 'none'`. |
117
+ | <a id="denials"></a> `denials` | [`ActivityRow`](#activityrow)[] | The denial rows, flat + recency-sorted — the source for the action-items tier ("4 writes to /notes were denied"). A projection, not a separate aggregation: these rows also live in the `denied` band. |
118
+ | <a id="deniedcount"></a> `deniedCount` | `number` | Of those, how many were denials. |
119
+ | <a id="total"></a> `total` | `number` | Total rows across all bands (events the digest categorized). |
120
+
121
+ ***
122
+
123
+ <a id="activitydigestoptions"></a>
124
+
125
+ ### ActivityDigestOptions
126
+
127
+ #### Extended by
128
+
129
+ - [`UseActivityDigestOptions`](#useactivitydigestoptions)
130
+
131
+ #### Properties
132
+
133
+ | Property | Type | Description |
134
+ | :------ | :------ | :------ |
135
+ | <a id="groupby"></a> `groupBy?` | [`ActivityGroupBy`](#activitygroupby) | Pivot rows within each band by an attribution axis. `'none'` (default) leaves the band flat. Any other value splits each band's rows into sub-groups keyed by that axis — surfaced on the row via `groupKey` and exposed as `band.subgroups`. The flat `rows` are always present regardless. |
136
+ | <a id="order"></a> `order?` | `"recency"` \| `"chronological"` | Row order within a band. `recency` (default) is newest-first to match the mock's `when` column. `chronological` is oldest-first. |
137
+ | <a id="rowsperband"></a> `rowsPerBand?` | `number` | Cap rows kept per band (the mock shows ~3–4 then "N more"). The digest keeps ALL rows but records the overflow via `band.count` vs `rows.length`. Set to a number to actually trim `rows`; the header `count` still reflects the true total. Default: keep all. |
138
+
139
+ ***
140
+
141
+ <a id="activitygridprops"></a>
142
+
143
+ ### ActivityGridProps
144
+
145
+ #### Properties
146
+
147
+ | Property | Type | Description |
148
+ | :------ | :------ | :------ |
149
+ | <a id="classname-1"></a> `className?` | `string` | - |
150
+ | <a id="digest-1"></a> `digest?` | [`ActivityDigest`](#activitydigest) | A precomputed digest from `useActivityDigest` / `computeActivity Digest`. Pass this when the host already memoizes the fold (so the grid doesn't recompute). Mutually exclusive with `events`. |
151
+ | <a id="emptystate-1"></a> `emptyState?` | `ReactNode` | Shown when the digest has no rows. |
152
+ | <a id="events"></a> `events?` | readonly [`AnyActivityEvent`](#anyactivityevent)[] | The unified event stream — `sandbox.history()` and/or a live buffer (see `useActivityStream`). The grid folds it into the banded digest internally. Mutually exclusive with `digest`. |
153
+ | <a id="formatwhen"></a> `formatWhen?` | (`at`: `number`, `now`: `number`) => `string` | Override the `when` column rendering. |
154
+ | <a id="maxrowsperband"></a> `maxRowsPerBand?` | `number` | Clamp rows shown per band; the rest collapse into a "N more" stub. Independent of the reducer's `rowsPerBand` (which trims the data) — this is a pure display clamp that keeps the true count visible. Default: show all rows. |
155
+ | <a id="now"></a> `now?` | `number` | "Now" anchor for `formatWhen`. |
156
+ | <a id="onselect"></a> `onSelect?` | (`row`: [`ActivityRow`](#activityrow)) => `void` | - |
157
+ | <a id="options"></a> `options?` | [`ActivityDigestOptions`](#activitydigestoptions) & \{ `now?`: `number`; \} | Grouping / ordering options, forwarded to the reducer when the grid folds `events` itself. Ignored when `digest` is supplied. |
158
+ | <a id="renderbandmore"></a> `renderBandMore?` | (`band`: [`ActivityBandWithGroups`](#activitybandwithgroups), `hidden`: `number`) => `ReactNode` | Render the per-band overflow stub. Default renders a `[data-pyric-band-more]` element reading "N more {label}". |
159
+ | <a id="selectedid"></a> `selectedId?` | `string` | The selected row id (`data-pyric-selected`). |
160
+ | <a id="showcolumnheader"></a> `showColumnHeader?` | `boolean` | Render a leading column-header row (`target change for lens when`). Default true — matches the mock's `.colhead`. |
161
+
162
+ ***
163
+
164
+ <a id="activitygridrowprops"></a>
165
+
166
+ ### ActivityGridRowProps
167
+
168
+ #### Properties
169
+
170
+ | Property | Type | Description |
171
+ | :------ | :------ | :------ |
172
+ | <a id="classname-2"></a> `className?` | `string` | - |
173
+ | <a id="formatwhen-1"></a> `formatWhen?` | (`at`: `number`, `now`: `number`) => `string` | Override the `when` rendering. Receives `(at, now)`; default is the session-relative duration. |
174
+ | <a id="now-1"></a> `now?` | `number` | The "now" anchor passed to `formatWhen` (and `row.when` is used as a fallback when omitted). |
175
+ | <a id="onselect-1"></a> `onSelect?` | (`row`: [`ActivityRow`](#activityrow)) => `void` | - |
176
+ | <a id="row"></a> `row` | [`ActivityRow`](#activityrow) | - |
177
+ | <a id="selected"></a> `selected?` | `boolean` | Marks the row as the active selection (`data-pyric-selected`). |
178
+
179
+ ***
180
+
181
+ <a id="activityprovenance"></a>
182
+
183
+ ### ActivityProvenance
184
+
185
+ Provenance carried by every event. All optional + additive — pre-
186
+ provenance emitters omit them (read as firestore / app / app-session).
187
+
188
+ #### Extended by
189
+
190
+ - [`ActivityRequestEvent`](#activityrequestevent)
191
+ - [`ActivityWriteEvent`](#activitywriteevent)
192
+ - [`ActivityServiceMutationEvent`](#activityservicemutationevent)
193
+
194
+ #### Properties
195
+
196
+ | Property | Type | Description |
197
+ | :------ | :------ | :------ |
198
+ | <a id="actor"></a> `actor?` | [`ActivityActor`](#activityactor) | - |
199
+ | <a id="authlens"></a> `authLens?` | [`ActivityLens`](#activitylens) | - |
200
+ | <a id="planid"></a> `planId?` | `string` | Set when the op is part of an agent plan (dry-run / accept). |
201
+ | <a id="service"></a> `service?` | [`ActivityService`](#activityservice) | - |
202
+
203
+ ***
204
+
205
+ <a id="activityrequestevent"></a>
206
+
207
+ ### ActivityRequestEvent
208
+
209
+ A Firestore `request` event — one per evaluated op. The digest reads
210
+ these for denials (`result === 'deny'`) and, when no `write` event is
211
+ present, for the allow trail. Structurally a subset of `RequestEvent`.
212
+
213
+ #### Extends
214
+
215
+ - [`ActivityProvenance`](#activityprovenance)
216
+
217
+ #### Properties
218
+
219
+ | Property | Type | Description |
220
+ | :------ | :------ | :------ |
221
+ | <a id="actor-1"></a> `actor?` | [`ActivityActor`](#activityactor) | - |
222
+ | <a id="at"></a> `at` | `number` | - |
223
+ | <a id="auth"></a> `auth` | [`ActivityAuthState`](#activityauthstate) | - |
224
+ | <a id="authlens-1"></a> `authLens?` | [`ActivityLens`](#activitylens) | - |
225
+ | <a id="groupid"></a> `groupId?` | `string` | - |
226
+ | <a id="id"></a> `id` | `string` | - |
227
+ | <a id="kind"></a> `kind` | `"request"` | - |
228
+ | <a id="matchedrule"></a> `matchedRule?` | \{ `operations`: `string`[]; `ruleIndex`: `number`; \} | - |
229
+ | `matchedRule.operations` | `string`[] | - |
230
+ | `matchedRule.ruleIndex` | `number` | - |
231
+ | <a id="method"></a> `method` | `"get"` \| `"list"` \| `"create"` \| `"update"` \| `"set"` \| `"delete"` | - |
232
+ | <a id="origin"></a> `origin` | `"user"` \| `"listener"` \| `"transaction"` \| `"batch"` | - |
233
+ | <a id="path"></a> `path` | `string` | - |
234
+ | <a id="planid-1"></a> `planId?` | `string` | Set when the op is part of an agent plan (dry-run / accept). |
235
+ | <a id="reasons"></a> `reasons` | `string`[] | Simulator debug trail. Used to surface the deciding rule on denials. |
236
+ | <a id="request"></a> `request?` | \{ `resourceData?`: `Record`\<`string`, `unknown`\>; \} | - |
237
+ | `request.resourceData?` | `Record`\<`string`, `unknown`\> | - |
238
+ | <a id="resourceafter"></a> `resourceAfter?` | \{ `data`: `Record`\<`string`, `unknown`\>; `exists`: `boolean`; \} | - |
239
+ | `resourceAfter.data` | `Record`\<`string`, `unknown`\> | - |
240
+ | `resourceAfter.exists` | `boolean` | - |
241
+ | <a id="resourcebefore"></a> `resourceBefore?` | \{ `data`: `Record`\<`string`, `unknown`\>; `exists`: `boolean`; \} | - |
242
+ | `resourceBefore.data` | `Record`\<`string`, `unknown`\> | - |
243
+ | `resourceBefore.exists` | `boolean` | - |
244
+ | <a id="result"></a> `result` | [`ActivityResult`](#activityresult) | - |
245
+ | <a id="service-1"></a> `service?` | [`ActivityService`](#activityservice) | - |
246
+ | <a id="triggeredby"></a> `triggeredBy?` | \{ `method`: `string`; `path`: `string`; \} | - |
247
+ | `triggeredBy.method` | `string` | - |
248
+ | `triggeredBy.path` | `string` | - |
249
+
250
+ ***
251
+
252
+ <a id="activityrow"></a>
253
+
254
+ ### ActivityRow
255
+
256
+ A single grid row — the projection of one event onto the
257
+ `target · change · for · lens · when` column contract from
258
+ `c-result.html`. All display-ready strings plus the structured
259
+ provenance the host may style on.
260
+
261
+ #### Properties
262
+
263
+ | Property | Type | Description |
264
+ | :------ | :------ | :------ |
265
+ | <a id="actor-2"></a> `actor` | [`ActivityActor`](#activityactor) | - |
266
+ | <a id="at-1"></a> `at` | `number` | `Date.now()` at the op. Drives the `when` column + recency sort. |
267
+ | <a id="authlens-2"></a> `authLens` | [`ActivityLens`](#activitylens) | - |
268
+ | <a id="band"></a> `band` | [`ActivityBandKey`](#activitybandkey-1) | Which band this row was sorted into. |
269
+ | <a id="change"></a> `change` | `string` | `change` — a short human description of the mutation (`update, owner rule`, `done → true`, `created`, `signed in`). |
270
+ | <a id="denied"></a> `denied` | `boolean` | True for denials — first-class so hosts flag the row distinctly. |
271
+ | <a id="event"></a> `event` | [`ActivityEvent`](#activityevent) | The original event, for drill-in. |
272
+ | <a id="for"></a> `for` | `string` | `for` — the subject the op acted on behalf of: `request.auth.uid` for firestore, the affected `uid` for auth, else the acting identity. Empty when anonymous / not applicable. |
273
+ | <a id="groupkey"></a> `groupKey?` | `string` | The pivot key this row fell under — set only when the digest was computed with `groupBy !== 'none'`. Mirrors the row's `subgroup`. |
274
+ | <a id="id-1"></a> `id` | `string` | The originating event's id — stable React key. |
275
+ | <a id="lens"></a> `lens` | `string` | `lens` — the privilege the op ran under, display-ready (`app`, `as alice`, `admin`). |
276
+ | <a id="planid-2"></a> `planId?` | `string` | Agent plan id, when the op was part of a plan. |
277
+ | <a id="service-2"></a> `service` | [`ActivityService`](#activityservice) | Originating service. |
278
+ | <a id="subjectuid"></a> `subjectUid` | `string` | The on-behalf-of subject uid, structured (mirrors `for`). |
279
+ | <a id="target"></a> `target` | `string` | `target` — what was mutated, in the service's addressing scheme (a doc path `notes/3agHoZHZ`, a `uid`, a storage `fullPath`, an rtdb path). Empty string when the event has no addressable target. |
280
+ | <a id="when"></a> `when` | `string` | `when` — left undterived here; the grid formats `at` itself, but a pre-rendered relative string is offered for headless consumers. |
281
+
282
+ ***
283
+
284
+ <a id="activityservicemutationevent"></a>
285
+
286
+ ### ActivityServiceMutationEvent
287
+
288
+ Cross-service mutation — the unified envelope auth / storage / rtdb
289
+ emit. The digest maps `service` + `op` to a band (signed-in, added,
290
+ updated, removed, …). Subset of `ServiceMutationEvent`.
291
+
292
+ #### Extends
293
+
294
+ - [`ActivityProvenance`](#activityprovenance)
295
+
296
+ #### Properties
297
+
298
+ | Property | Type | Description | Overrides |
299
+ | :------ | :------ | :------ | :------ |
300
+ | <a id="actor-3"></a> `actor?` | [`ActivityActor`](#activityactor) | - | - |
301
+ | <a id="after"></a> `after?` | `unknown` | - | - |
302
+ | <a id="at-2"></a> `at` | `number` | - | - |
303
+ | <a id="auth-1"></a> `auth` | [`ActivityAuthState`](#activityauthstate) | - | - |
304
+ | <a id="authlens-3"></a> `authLens?` | [`ActivityLens`](#activitylens) | - | - |
305
+ | <a id="before"></a> `before?` | `unknown` | - | - |
306
+ | <a id="detail"></a> `detail?` | `Record`\<`string`, `unknown`\> | - | - |
307
+ | <a id="id-2"></a> `id` | `string` | - | - |
308
+ | <a id="kind-1"></a> `kind` | `"service_mutation"` | - | - |
309
+ | <a id="op"></a> `op` | `string` | - | - |
310
+ | <a id="path-1"></a> `path?` | `string` | - | - |
311
+ | <a id="planid-3"></a> `planId?` | `string` | Set when the op is part of an agent plan (dry-run / accept). | - |
312
+ | <a id="service-3"></a> `service` | `"auth"` \| `"storage"` \| `"rtdb"` | - | [`ActivityProvenance`](#activityprovenance).[`service`](#service) |
313
+
314
+ ***
315
+
316
+ <a id="activitysubgroup"></a>
317
+
318
+ ### ActivitySubgroup
319
+
320
+ #### Properties
321
+
322
+ | Property | Type |
323
+ | :------ | :------ |
324
+ | <a id="count-2"></a> `count` | `number` |
325
+ | <a id="key-3"></a> `key` | `string` |
326
+ | <a id="rows-3"></a> `rows` | [`ActivityRow`](#activityrow)[] |
327
+
328
+ ***
329
+
330
+ <a id="activitywriteevent"></a>
331
+
332
+ ### ActivityWriteEvent
333
+
334
+ A committed Firestore write — `create`/`update`/`set`/`delete` that
335
+ the rule engine allowed and the keyspace applied. The digest leads
336
+ with these for the added/updated/removed bands (richer than `request`:
337
+ carries prior/next state for the change summary). Subset of
338
+ `WriteSandboxEvent`.
339
+
340
+ #### Extends
341
+
342
+ - [`ActivityProvenance`](#activityprovenance)
343
+
344
+ #### Properties
345
+
346
+ | Property | Type | Description |
347
+ | :------ | :------ | :------ |
348
+ | <a id="actor-4"></a> `actor?` | [`ActivityActor`](#activityactor) | - |
349
+ | <a id="at-3"></a> `at` | `number` | - |
350
+ | <a id="auth-2"></a> `auth` | [`ActivityAuthState`](#activityauthstate) | - |
351
+ | <a id="authlens-4"></a> `authLens?` | [`ActivityLens`](#activitylens) | - |
352
+ | <a id="data"></a> `data?` | `Record`\<`string`, `unknown`\> | - |
353
+ | <a id="groupid-1"></a> `groupId?` | `string` | - |
354
+ | <a id="id-3"></a> `id` | `string` | - |
355
+ | <a id="kind-2"></a> `kind` | `"write"` | - |
356
+ | <a id="method-1"></a> `method` | `"create"` \| `"update"` \| `"set"` \| `"delete"` | - |
357
+ | <a id="nextstate"></a> `nextState` | `Record`\<`string`, `unknown`\> | - |
358
+ | <a id="path-2"></a> `path` | `string` | - |
359
+ | <a id="planid-4"></a> `planId?` | `string` | Set when the op is part of an agent plan (dry-run / accept). |
360
+ | <a id="priorstate"></a> `priorState` | `Record`\<`string`, `unknown`\> | - |
361
+ | <a id="service-4"></a> `service?` | [`ActivityService`](#activityservice) | - |
362
+
363
+ ***
364
+
365
+ <a id="createdauthuser"></a>
366
+
367
+ ### CreatedAuthUser
368
+
369
+ An auth user a staged proposal creates (a sign-in account, distinct from
370
+ Firestore documents). The host adapts its backend request (e.g. a
371
+ `CreateUserRequest`) into this UI-level shape.
372
+
373
+ #### Properties
374
+
375
+ | Property | Type |
376
+ | :------ | :------ |
377
+ | <a id="displayname"></a> `displayName?` | `string` |
378
+ | <a id="email"></a> `email?` | `string` |
379
+ | <a id="emailverified"></a> `emailVerified?` | `boolean` |
380
+ | <a id="provider"></a> `provider?` | `string` |
381
+ | <a id="uid-1"></a> `uid` | `string` |
382
+
383
+ ***
384
+
385
+ <a id="fieldchange"></a>
386
+
387
+ ### FieldChange
388
+
389
+ One field-level change in a staged proposal. A UI-level diff row: the host
390
+ adapts its backend diff (e.g. the sandbox's `Divergence[]`) into these so the
391
+ component stays decoupled from any backend type.
392
+
393
+ #### Properties
394
+
395
+ | Property | Type | Description |
396
+ | :------ | :------ | :------ |
397
+ | <a id="after-1"></a> `after` | `unknown` | - |
398
+ | <a id="before-1"></a> `before` | `unknown` | - |
399
+ | <a id="docpath"></a> `docPath` | `string` | Full document path, e.g. `notes/abc123`. |
400
+ | <a id="field"></a> `field` | `string` | The field that changed. |
401
+ | <a id="kind-3"></a> `kind` | `"added"` \| `"removed"` \| `"changed"` | `added` = new field, `removed` = cleared, `changed` = value differs. |
402
+
403
+ ***
404
+
405
+ <a id="proposedchangediffprops"></a>
406
+
407
+ ### ProposedChangeDiffProps
408
+
409
+ #### Properties
410
+
411
+ | Property | Type | Description |
412
+ | :------ | :------ | :------ |
413
+ | <a id="authusers"></a> `authUsers?` | readonly [`CreatedAuthUser`](#createdauthuser)[] | Auth users the proposal creates, shown as a leading "auth users" group. |
414
+ | <a id="changes"></a> `changes` | [`FieldChange`](#fieldchange)[] | - |
415
+ | <a id="classname-3"></a> `className?` | `string` | - |
416
+ | <a id="emptystate-2"></a> `emptyState?` | `ReactNode` | Rendered when there are no changes. Defaults to nothing. |
417
+ | <a id="formatvalue"></a> `formatValue?` | (`value`: `unknown`) => `ReactNode` | Format a value for display. Default: JSON-ish, empty for `undefined`. |
418
+
419
+ ***
420
+
421
+ <a id="useactivitydigestoptions"></a>
422
+
423
+ ### UseActivityDigestOptions
424
+
425
+ #### Extends
426
+
427
+ - [`ActivityDigestOptions`](#activitydigestoptions)
428
+
429
+ #### Properties
430
+
431
+ | Property | Type | Description |
432
+ | :------ | :------ | :------ |
433
+ | <a id="groupby-1"></a> `groupBy?` | [`ActivityGroupBy`](#activitygroupby) | Pivot rows within each band by an attribution axis. `'none'` (default) leaves the band flat. Any other value splits each band's rows into sub-groups keyed by that axis — surfaced on the row via `groupKey` and exposed as `band.subgroups`. The flat `rows` are always present regardless. |
434
+ | <a id="now-2"></a> `now?` | `number` | Clock injection for the relative `when` column. Defaults to `Date.now()` read once per recompute. Pass a fixed value (or a frozen "session now") for deterministic rendering / tests. NOTE: changing `now` between renders re-folds the digest, so don't pass a fresh `Date.now()` inline unless you want a recompute every render — pin it (e.g. a ticking value updated on an interval). |
435
+ | <a id="order-1"></a> `order?` | `"recency"` \| `"chronological"` | Row order within a band. `recency` (default) is newest-first to match the mock's `when` column. `chronological` is oldest-first. |
436
+ | <a id="rowsperband-1"></a> `rowsPerBand?` | `number` | Cap rows kept per band (the mock shows ~3–4 then "N more"). The digest keeps ALL rows but records the overflow via `band.count` vs `rows.length`. Set to a number to actually trim `rows`; the header `count` still reflects the true total. Default: keep all. |
437
+
438
+ ***
439
+
440
+ <a id="useactivitystreamoptions"></a>
441
+
442
+ ### UseActivityStreamOptions
443
+
444
+ #### Properties
445
+
446
+ | Property | Type | Description |
447
+ | :------ | :------ | :------ |
448
+ | <a id="buffersize"></a> `bufferSize?` | `number` | Ring-buffer cap. Once exceeded, the oldest events drop. Default 5000 (mirrors the traffic monitor's cap — a load-test session can emit 100k+ events). |
449
+ | <a id="initial"></a> `initial?` | readonly [`AnyActivityEvent`](#anyactivityevent)[] | Seed the buffer with a snapshot before the live subscription attaches — typically `sandbox.history()`, so a late-attaching consumer sees the whole session, not just events from `subscribe` onward. Read once on mount. |
450
+ | <a id="paused"></a> `paused?` | `boolean` | Start paused — incoming events drop (not queued) while paused. |
451
+ | <a id="source"></a> `source` | [`ActivitySource`](#activitysource) | The subscription — `sandbox.onEvent` satisfies this directly. Pass a stable reference; the hook re-subscribes on identity change. |
452
+
453
+ ***
454
+
455
+ <a id="useactivitystreamresult"></a>
456
+
457
+ ### UseActivityStreamResult
458
+
459
+ #### Properties
460
+
461
+ | Property | Type | Description |
462
+ | :------ | :------ | :------ |
463
+ | <a id="clear"></a> `clear` | () => `void` | Empty the buffer (does NOT re-seed from `initial`). |
464
+ | <a id="events-1"></a> `events` | [`AnyActivityEvent`](#anyactivityevent)[] | The buffered events, oldest-first. Stable per emission — safe to hand straight to [useActivityDigest](#useactivitydigest). |
465
+ | <a id="ispaused"></a> `isPaused` | `boolean` | - |
466
+ | <a id="pause"></a> `pause` | () => `void` | - |
467
+ | <a id="resume"></a> `resume` | () => `void` | - |
468
+
469
+ ## Type Aliases
470
+
471
+ <a id="activityactor"></a>
472
+
473
+ ### ActivityActor
474
+
475
+ ```ts
476
+ type ActivityActor =
477
+ | {
478
+ kind: "app";
479
+ }
480
+ | {
481
+ kind: "studio";
482
+ }
483
+ | {
484
+ kind: "agent";
485
+ name: string;
486
+ }
487
+ | {
488
+ kind: "app-builder";
489
+ };
490
+ ```
491
+
492
+ Who initiated the op behind an event. Absent ⇒ the served app.
493
+
494
+ ***
495
+
496
+ <a id="activitybandkey-1"></a>
497
+
498
+ ### ActivityBandKey
499
+
500
+ ```ts
501
+ type ActivityBandKey =
502
+ | "denied"
503
+ | "errored"
504
+ | "added"
505
+ | "updated"
506
+ | "removed"
507
+ | "signed-in"
508
+ | "signed-out"
509
+ | "read"
510
+ | "other";
511
+ ```
512
+
513
+ The band a row falls into. `denied` leads; the write bands
514
+ (added/updated/removed) and the auth bands (signed-in/signed-out)
515
+ follow; `read`, `errored`, and `other` are the long-tail catch-alls.
516
+
517
+ - `denied` — a rules denial (firestore `request` with `result: 'deny'`).
518
+ - `errored` — an operational failure (`request` with `result: 'unsupported'`).
519
+ - `added` — a doc/object created, or a user created.
520
+ - `updated` — a doc/object/user/rtdb path mutated in place.
521
+ - `removed` — a doc/object/user deleted.
522
+ - `signed-in` — an auth sign-in.
523
+ - `signed-out` — an auth sign-out.
524
+ - `read` — an allowed firestore read (`get`/`list`).
525
+ - `other` — anything modelled but uncategorized (e.g. an unknown service op).
526
+
527
+ ***
528
+
529
+ <a id="activityevent"></a>
530
+
531
+ ### ActivityEvent
532
+
533
+ ```ts
534
+ type ActivityEvent =
535
+ | ActivityRequestEvent
536
+ | ActivityWriteEvent
537
+ | ActivityServiceMutationEvent;
538
+ ```
539
+
540
+ The union members the activity digest aggregates. This is a SUBSET of
541
+ `pyric`'s `SandboxEvent` — the listener-lifecycle / snapshot-delivery /
542
+ session-boundary kinds carry no user-visible mutation, so the digest
543
+ ignores them. The reducer accepts any object with a `kind` and skips
544
+ the kinds it doesn't model, so a full `SandboxEvent[]` passes through
545
+ cleanly (the extra kinds fall into the "unknown ⇒ skipped" branch).
546
+
547
+ ***
548
+
549
+ <a id="activitygroupby"></a>
550
+
551
+ ### ActivityGroupBy
552
+
553
+ ```ts
554
+ type ActivityGroupBy = "none" | "actor" | "lens" | "subject" | "service";
555
+ ```
556
+
557
+ How rows within each band are pivoted/grouped.
558
+
559
+ ***
560
+
561
+ <a id="activitylens"></a>
562
+
563
+ ### ActivityLens
564
+
565
+ ```ts
566
+ type ActivityLens =
567
+ | {
568
+ mode: "admin";
569
+ }
570
+ | {
571
+ mode: "as";
572
+ uid: string;
573
+ }
574
+ | {
575
+ mode: "app-session";
576
+ };
577
+ ```
578
+
579
+ The auth lens an op ran under. `admin` bypasses rules, `as` evaluates
580
+ rules as a specific uid (impersonation), `app-session` is the app's
581
+ own signed-in user. Absent ⇒ `app-session`.
582
+
583
+ ***
584
+
585
+ <a id="activityresult"></a>
586
+
587
+ ### ActivityResult
588
+
589
+ ```ts
590
+ type ActivityResult = "allow" | "deny" | "unsupported";
591
+ ```
592
+
593
+ Firestore op outcome — present on `request` events only.
594
+
595
+ ***
596
+
597
+ <a id="activityservice"></a>
598
+
599
+ ### ActivityService
600
+
601
+ ```ts
602
+ type ActivityService = "firestore" | "auth" | "storage" | "rtdb";
603
+ ```
604
+
605
+ Which sandbox service emitted an event. Absent ⇒ `'firestore'`.
606
+
607
+ ***
608
+
609
+ <a id="activitysource"></a>
610
+
611
+ ### ActivitySource()
612
+
613
+ ```ts
614
+ type ActivitySource = (cb: (event: AnyActivityEvent) => void) => () => void;
615
+ ```
616
+
617
+ A subscription: register a callback, get an unsubscribe.
618
+ `sandbox.onEvent` matches this signature.
619
+
620
+ #### Parameters
621
+
622
+ | Parameter | Type |
623
+ | :------ | :------ |
624
+ | `cb` | (`event`: [`AnyActivityEvent`](#anyactivityevent)) => `void` |
625
+
626
+ #### Returns
627
+
628
+ ```ts
629
+ (): void;
630
+ ```
631
+
632
+ ##### Returns
633
+
634
+ `void`
635
+
636
+ ***
637
+
638
+ <a id="anyactivityevent"></a>
639
+
640
+ ### AnyActivityEvent
641
+
642
+ ```ts
643
+ type AnyActivityEvent =
644
+ | ActivityEvent
645
+ | {
646
+ [k: string]: unknown;
647
+ kind: string;
648
+ };
649
+ ```
650
+
651
+ The widened input the reducer accepts: any `ActivityEvent`, plus a
652
+ permissive escape for unmodelled `SandboxEvent` kinds carrying a
653
+ string `kind` (skipped). Lets `sandbox.history()` flow in unfiltered.
654
+
655
+ ## Functions
656
+
657
+ <a id="activityactionitems"></a>
658
+
659
+ ### ActivityActionItems()
660
+
661
+ ```ts
662
+ function ActivityActionItems(__namedParameters: ActivityActionItemsProps): ReactNode;
663
+ ```
664
+
665
+ The action-items tier — the few things wanting a decision, surfaced
666
+ ABOVE the activity grid (design-ideation Tier 2 / "Needs you").
667
+ Denials lead and are first-class. Mechanical copy by default; the host
668
+ supplies the action affordance (e.g. a "Debug" link into the rules
669
+ debugger) via `renderAction`.
670
+
671
+ Data contract:
672
+ - `[data-pyric-ui="activity-action-items"]` — the root (absent when
673
+ empty and no `emptyState`).
674
+ - `[data-pyric-action-item]` (+ `data-pyric-action-type`,
675
+ `data-pyric-action-count`) — one item.
676
+ - `[data-pyric-action-title]` / `[data-pyric-action-meta]` — the copy.
677
+ - `[data-pyric-action-affordance]` — wraps the host's action node.
678
+
679
+ #### Parameters
680
+
681
+ | Parameter | Type |
682
+ | :------ | :------ |
683
+ | `__namedParameters` | [`ActivityActionItemsProps`](#activityactionitemsprops) |
684
+
685
+ #### Returns
686
+
687
+ `ReactNode`
688
+
689
+ ***
690
+
691
+ <a id="activitygrid"></a>
692
+
693
+ ### ActivityGrid()
694
+
695
+ ```ts
696
+ function ActivityGrid(__namedParameters: ActivityGridProps): ReactNode;
697
+ ```
698
+
699
+ Headless activity grid over the unified `SandboxEvent` stream. Folds
700
+ events into category bands (Denied / Added / Updated / Removed /
701
+ Signed in / …), each band a `target · change · for · lens · when`
702
+ column grid grouped under a `label · count · attribution` header.
703
+ Denials lead (lead-with-consequence) and are flagged first-class.
704
+
705
+ Ships ZERO styling — the host (Pyric Studio) applies the rigid column
706
+ grid + band typography via the `data-pyric-*` contract:
707
+ - `[data-pyric-ui="activity-grid"]` — the root.
708
+ - `[data-pyric-band]` — a band header, with `data-pyric-band-key`,
709
+ `data-pyric-band-count`, `data-pyric-band-denied` (on the denied
710
+ band). Children: `[data-pyric-band-label]`, `[data-pyric-band-n]`,
711
+ `[data-pyric-band-attr]` (omitted when attribution is mixed).
712
+ - `[data-pyric-band-rows]` — the row container; with grouping,
713
+ `[data-pyric-band-subgroup]` (+ `data-pyric-subgroup-key`) wraps
714
+ each pivot bucket.
715
+ - `[data-pyric-band-more]` — the "N more" overflow stub.
716
+ - the `<ActivityGridRow>` contract for each row.
717
+
718
+ #### Parameters
719
+
720
+ | Parameter | Type |
721
+ | :------ | :------ |
722
+ | `__namedParameters` | [`ActivityGridProps`](#activitygridprops) |
723
+
724
+ #### Returns
725
+
726
+ `ReactNode`
727
+
728
+ ***
729
+
730
+ <a id="activitygridrow"></a>
731
+
732
+ ### ActivityGridRow()
733
+
734
+ ```ts
735
+ function ActivityGridRow(__namedParameters: ActivityGridRowProps): ReactNode;
736
+ ```
737
+
738
+ One activity grid row — the `target · change · for · lens · when`
739
+ column contract from `c-result.html`, plus a trailing drill affordance
740
+ column. Headless: every cell is a `data-pyric-event-*` span the host
741
+ styles into the rigid column grid.
742
+
743
+ Styling / data contract:
744
+ - `[data-pyric-event-row]` — the row, with `data-pyric-event-band`,
745
+ `data-pyric-event-service`, `data-pyric-event-lens`,
746
+ `data-pyric-event-denied` (present only on denials), and
747
+ `data-pyric-selected` when active.
748
+ - `[data-pyric-event-target]` / `-change` / `-for` / `-lens` / `-when`
749
+ — the five columns, in order.
750
+
751
+ #### Parameters
752
+
753
+ | Parameter | Type |
754
+ | :------ | :------ |
755
+ | `__namedParameters` | [`ActivityGridRowProps`](#activitygridrowprops) |
756
+
757
+ #### Returns
758
+
759
+ `ReactNode`
760
+
761
+ ***
762
+
763
+ <a id="computeactivitydigest"></a>
764
+
765
+ ### computeActivityDigest()
766
+
767
+ ```ts
768
+ function computeActivityDigest(events: readonly AnyActivityEvent[], opts?: ActivityDigestOptions & {
769
+ now?: number;
770
+ }): ActivityDigest;
771
+ ```
772
+
773
+ Fold a unified event stream into the banded activity digest. PURE —
774
+ no React, no clock reads except the injected `now` (defaults to
775
+ `Date.now()`, but pass a fixed value in tests for determinism).
776
+
777
+ Events the digest doesn't model (listener lifecycle, snapshot
778
+ delivery, session boundaries, unknown kinds) are skipped — a full
779
+ `SandboxEvent[]` from `sandbox.history()` flows in unfiltered.
780
+
781
+ #### Parameters
782
+
783
+ | Parameter | Type |
784
+ | :------ | :------ |
785
+ | `events` | readonly [`AnyActivityEvent`](#anyactivityevent)[] |
786
+ | `opts?` | [`ActivityDigestOptions`](#activitydigestoptions) & \{ `now?`: `number`; \} |
787
+
788
+ #### Returns
789
+
790
+ [`ActivityDigest`](#activitydigest)
791
+
792
+ ***
793
+
794
+ <a id="defaultformatwhen"></a>
795
+
796
+ ### defaultFormatWhen()
797
+
798
+ ```ts
799
+ function defaultFormatWhen(at: number, now?: number): string;
800
+ ```
801
+
802
+ Default `when`-column formatter: a session-relative duration
803
+ (`now` / `12s` / `3m` / `1h`), matching the mock's `c-when` strings.
804
+ The grid is session-scoped (see design-ideation "FRAME CORRECTION")
805
+ so anchors are relative, never absolute calendar dates.
806
+
807
+ Override via `<ActivityGrid formatWhen={...} />` when the host has a
808
+ better clock anchor (e.g. a ticking "session now").
809
+
810
+ #### Parameters
811
+
812
+ | Parameter | Type |
813
+ | :------ | :------ |
814
+ | `at` | `number` |
815
+ | `now?` | `number` |
816
+
817
+ #### Returns
818
+
819
+ `string`
820
+
821
+ ***
822
+
823
+ <a id="proposedchangediff"></a>
824
+
825
+ ### ProposedChangeDiff()
826
+
827
+ ```ts
828
+ function ProposedChangeDiff(__namedParameters: ProposedChangeDiffProps): Element;
829
+ ```
830
+
831
+ Headless renderer for a staged change: the documents a proposal touches, with
832
+ per-field before/after. Grouped by collection. Ships zero styling; the host
833
+ styles the `data-pyric-*` contract (`proposed-change-diff` /
834
+ `data-pyric-change-*`). The c-review diff grid is this, styled.
835
+
836
+ #### Parameters
837
+
838
+ | Parameter | Type |
839
+ | :------ | :------ |
840
+ | `__namedParameters` | [`ProposedChangeDiffProps`](#proposedchangediffprops) |
841
+
842
+ #### Returns
843
+
844
+ `Element`
845
+
846
+ ***
847
+
848
+ <a id="useactivitydigest"></a>
849
+
850
+ ### useActivityDigest()
851
+
852
+ ```ts
853
+ function useActivityDigest(events: readonly AnyActivityEvent[], options?: UseActivityDigestOptions): ActivityDigest;
854
+ ```
855
+
856
+ React wrapper over [computeActivityDigest](#computeactivitydigest) — memoizes the pure
857
+ fold over the unified `SandboxEvent` stream into the banded activity
858
+ digest. Feed it `sandbox.history()` (a snapshot) or the live buffer
859
+ from [useActivityStream](#useactivitystream); the reducer is identical either way.
860
+
861
+ The fold re-runs when `events` identity, any grouping option, or
862
+ `now` changes. Keep `events` referentially stable across renders that
863
+ shouldn't recompute (the stream hook already returns a stable array
864
+ per emission).
865
+
866
+ #### Parameters
867
+
868
+ | Parameter | Type |
869
+ | :------ | :------ |
870
+ | `events` | readonly [`AnyActivityEvent`](#anyactivityevent)[] |
871
+ | `options?` | [`UseActivityDigestOptions`](#useactivitydigestoptions) |
872
+
873
+ #### Returns
874
+
875
+ [`ActivityDigest`](#activitydigest)
876
+
877
+ ***
878
+
879
+ <a id="useactivitystream"></a>
880
+
881
+ ### useActivityStream()
882
+
883
+ ```ts
884
+ function useActivityStream(__namedParameters: UseActivityStreamOptions): UseActivityStreamResult;
885
+ ```
886
+
887
+ Buffers the unified sandbox event stream into a capped ring buffer
888
+ with optional history seeding + pause/resume/clear. Decoupled from
889
+ `pyric` — `source` is just a `(cb) => unsubscribe`.
890
+
891
+ Sibling to the traffic monitor's `useTrafficMonitor`; the difference
892
+ is the wider event type (`AnyActivityEvent`, the full union) and the
893
+ `initial` seed so `history()` + live compose into one buffer.
894
+
895
+ #### Parameters
896
+
897
+ | Parameter | Type |
898
+ | :------ | :------ |
899
+ | `__namedParameters` | [`UseActivityStreamOptions`](#useactivitystreamoptions) |
900
+
901
+ #### Returns
902
+
903
+ [`UseActivityStreamResult`](#useactivitystreamresult)