@pyric/cli 0.1.0-alpha.10 → 0.1.0-alpha.11

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 (304) hide show
  1. package/README.md.orig +2 -2
  2. package/dist/assurance/.generated/conformance-verdicts.d.ts +16 -0
  3. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
  4. package/dist/assurance/.generated/conformance-verdicts.js +16 -0
  5. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
  6. package/dist/bridge/server/peer.d.ts +1 -1
  7. package/dist/bridge/server.d.ts +1 -1
  8. package/dist/bridge/server.js +1 -1
  9. package/dist/cli/index.d.ts +11 -0
  10. package/dist/cli/index.d.ts.map +1 -1
  11. package/dist/cli/index.js +13 -1
  12. package/dist/cli/index.js.map +1 -1
  13. package/dist/cli/init.d.ts +3 -3
  14. package/dist/cli/init.d.ts.map +1 -1
  15. package/dist/cli/init.js +5 -5
  16. package/dist/cli/init.js.map +1 -1
  17. package/dist/cli/serve.d.ts.map +1 -1
  18. package/dist/cli/serve.js +8 -2
  19. package/dist/cli/serve.js.map +1 -1
  20. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
  21. package/dist/conformance/.generated/can-i-use-browser.js +1 -1
  22. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
  23. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  24. package/dist/conformance/.generated/can-i-use.js +1 -1
  25. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  26. package/dist/conformance/.generated/conformance-docs.d.ts +12 -0
  27. package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -0
  28. package/dist/conformance/.generated/conformance-docs.js +2 -0
  29. package/dist/conformance/.generated/conformance-docs.js.map +1 -0
  30. package/dist/conformance/docs.d.ts +6 -0
  31. package/dist/conformance/docs.d.ts.map +1 -0
  32. package/dist/conformance/docs.js +6 -0
  33. package/dist/conformance/docs.js.map +1 -0
  34. package/dist/remote/index.d.ts.map +1 -1
  35. package/dist/remote/index.js +1 -0
  36. package/dist/remote/index.js.map +1 -1
  37. package/dist/serve/activity-guard.d.ts +4 -0
  38. package/dist/serve/activity-guard.d.ts.map +1 -0
  39. package/dist/serve/activity-guard.js +22 -0
  40. package/dist/serve/activity-guard.js.map +1 -0
  41. package/dist/serve/activity-route.d.ts +4 -0
  42. package/dist/serve/activity-route.d.ts.map +1 -0
  43. package/dist/serve/activity-route.js +157 -0
  44. package/dist/serve/activity-route.js.map +1 -0
  45. package/dist/serve/activity-warning.d.ts +4 -0
  46. package/dist/serve/activity-warning.d.ts.map +1 -0
  47. package/dist/serve/activity-warning.js +21 -0
  48. package/dist/serve/activity-warning.js.map +1 -0
  49. package/dist/serve/bridge-mount.d.ts +5 -0
  50. package/dist/serve/bridge-mount.d.ts.map +1 -1
  51. package/dist/serve/bridge-mount.js +1 -0
  52. package/dist/serve/bridge-mount.js.map +1 -1
  53. package/dist/serve/docs-ui/404.html +3 -0
  54. package/dist/serve/docs-ui/_astro/{_slug_.DPUwShm2.css → _slug_.CXh9yTP1.css} +1 -1
  55. package/dist/serve/docs-ui/_astro/_slug_.DUci-duz.css +1 -0
  56. package/dist/serve/docs-ui/docs/_rhythm/index.html +2 -1
  57. package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +3 -2
  58. package/dist/serve/docs-ui/docs/agent/set-up-your-agent.md +1 -1
  59. package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +2 -1
  60. package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +2 -1
  61. package/dist/serve/docs-ui/docs/ai-compat/index.html +2 -1
  62. package/dist/serve/docs-ui/docs/api-reference/index.html +51 -49
  63. package/dist/serve/docs-ui/docs/api-reference.md +2 -2
  64. package/dist/serve/docs-ui/docs/app-compat/index.html +2 -1
  65. package/dist/serve/docs-ui/docs/auth-compat/index.html +2 -1
  66. package/dist/serve/docs-ui/docs/build/ai-logic/index.html +18 -3
  67. package/dist/serve/docs-ui/docs/build/ai-logic.md +30 -2
  68. package/dist/serve/docs-ui/docs/build/authentication/index.html +2 -1
  69. package/dist/serve/docs-ui/docs/build/authentication.md +1 -1
  70. package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +2 -1
  71. package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +46 -2
  72. package/dist/serve/docs-ui/docs/build/cloud-messaging.md +56 -1
  73. package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +2 -1
  74. package/dist/serve/docs-ui/docs/build/cloud-storage.md +1 -1
  75. package/dist/serve/docs-ui/docs/build/realtime-database/index.html +21 -3
  76. package/dist/serve/docs-ui/docs/build/realtime-database.md +25 -1
  77. package/dist/serve/docs-ui/docs/conformance-scores/index.html +2 -1
  78. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +61 -28
  79. package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +65 -20
  80. package/dist/serve/docs-ui/docs/database-compat/index.html +2 -1
  81. package/dist/serve/docs-ui/docs/firestore-compat/index.html +6 -5
  82. package/dist/serve/docs-ui/docs/firestore-compat.md +4 -4
  83. package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +2 -1
  84. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +2 -1
  85. package/dist/serve/docs-ui/docs/get-started/start-building/index.html +4 -3
  86. package/dist/serve/docs-ui/docs/get-started/start-building.md +2 -2
  87. package/dist/serve/docs-ui/docs/index.json +800 -575
  88. package/dist/serve/docs-ui/docs/messaging-compat/index.html +2 -1
  89. package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +2 -1
  90. package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +2 -1
  91. package/dist/serve/docs-ui/docs/overview/index.html +2 -1
  92. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +5 -4
  93. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +3 -4
  94. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +5 -4
  95. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +3 -4
  96. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +5 -4
  97. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +3 -4
  98. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +2503 -12
  99. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +2219 -8
  100. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +4 -3
  101. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +2 -3
  102. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +16 -11
  103. package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +14 -13
  104. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +4 -3
  105. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +2 -3
  106. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +7 -2
  107. package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +5 -2
  108. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +23 -12
  109. package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +15 -12
  110. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +10 -48
  111. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +11 -24
  112. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +87 -97
  113. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +53 -65
  114. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +14 -15
  115. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +19 -28
  116. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +4 -3
  117. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +2 -3
  118. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +3 -2
  119. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api.md +1 -2
  120. package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +51 -0
  121. package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api.md +36 -0
  122. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +3 -2
  123. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api.md +1 -2
  124. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +3 -2
  125. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +1 -2
  126. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +3 -2
  127. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +1 -2
  128. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +3 -2
  129. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +1 -2
  130. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1067 -83
  131. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +1291 -160
  132. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +123 -92
  133. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +49 -20
  134. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +72 -7
  135. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +22 -7
  136. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +33 -12
  137. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +15 -12
  138. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +18 -17
  139. package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +19 -22
  140. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +1512 -545
  141. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +1311 -316
  142. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +3 -2
  143. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +1 -2
  144. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +5 -4
  145. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +3 -4
  146. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +69 -369
  147. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +103 -216
  148. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +10 -9
  149. package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +9 -10
  150. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +8 -7
  151. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +6 -7
  152. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +10 -9
  153. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +9 -10
  154. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +374 -910
  155. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +377 -911
  156. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +25 -17
  157. package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +21 -19
  158. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +3 -2
  159. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +1 -2
  160. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +63 -776
  161. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +69 -510
  162. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +22 -21
  163. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +29 -30
  164. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +15 -168
  165. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +17 -87
  166. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +6 -5
  167. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +5 -6
  168. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +82 -970
  169. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +104 -479
  170. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +30 -29
  171. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +54 -55
  172. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +3 -2
  173. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +1 -2
  174. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +5 -4
  175. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +3 -4
  176. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +9 -124
  177. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +7 -58
  178. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +24 -23
  179. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +31 -34
  180. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +104 -1385
  181. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +133 -817
  182. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +34 -33
  183. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +37 -38
  184. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +116 -1169
  185. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +142 -590
  186. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +4 -3
  187. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +3 -4
  188. package/dist/serve/docs-ui/docs/rules-compat/index.html +34 -1
  189. package/dist/serve/docs-ui/docs/rules-compat.md +32 -0
  190. package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +19 -2
  191. package/dist/serve/docs-ui/docs/secure/audit-your-rules.md +32 -0
  192. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +2 -1
  193. package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +2 -1
  194. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +2 -1
  195. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript.md +1 -1
  196. package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +2 -1
  197. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +2 -1
  198. package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +2 -1
  199. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +2 -1
  200. package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +2 -1
  201. package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +2 -1
  202. package/dist/serve/docs-ui/docs/storage-compat/index.html +2 -1
  203. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +2 -1
  204. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +2 -1
  205. package/dist/serve/docs-ui/llms.txt +1 -0
  206. package/dist/serve/entries/ai.d.ts.map +1 -1
  207. package/dist/serve/entries/ai.js +39 -1
  208. package/dist/serve/entries/ai.js.map +1 -1
  209. package/dist/serve/entries/messaging-sw.d.ts.map +1 -1
  210. package/dist/serve/entries/messaging-sw.js +5 -1
  211. package/dist/serve/entries/messaging-sw.js.map +1 -1
  212. package/dist/serve/entries/messaging.d.ts.map +1 -1
  213. package/dist/serve/entries/messaging.js +7 -1
  214. package/dist/serve/entries/messaging.js.map +1 -1
  215. package/dist/serve/entries/runtime.d.ts.map +1 -1
  216. package/dist/serve/entries/runtime.js +20 -1
  217. package/dist/serve/entries/runtime.js.map +1 -1
  218. package/dist/serve/init-payload.d.ts +25 -0
  219. package/dist/serve/init-payload.d.ts.map +1 -1
  220. package/dist/serve/namespace.d.ts +39 -0
  221. package/dist/serve/namespace.d.ts.map +1 -1
  222. package/dist/serve/namespace.js +80 -1
  223. package/dist/serve/namespace.js.map +1 -1
  224. package/dist/serve/standalone-assets.d.ts +11 -9
  225. package/dist/serve/standalone-assets.d.ts.map +1 -1
  226. package/dist/serve/standalone-assets.js +6 -5
  227. package/dist/serve/standalone-assets.js.map +1 -1
  228. package/dist/serve/studio-ui/assets/{RulesCodeEditor-CXdSLKhO.js → RulesCodeEditor-CxVYcZXw.js} +1 -1
  229. package/dist/serve/studio-ui/assets/index-cpSfgQ7H.js +1218 -0
  230. package/dist/serve/studio-ui/assets/seed-DeuFKi4J.js +20 -0
  231. package/dist/serve/studio-ui/index.html +1 -1
  232. package/dist/serve/vite-plugin.d.ts +92 -15
  233. package/dist/serve/vite-plugin.d.ts.map +1 -1
  234. package/dist/serve/vite-plugin.js +281 -11
  235. package/dist/serve/vite-plugin.js.map +1 -1
  236. package/dist/serve/worker/activity-bootstrap.d.ts +8 -0
  237. package/dist/serve/worker/activity-bootstrap.d.ts.map +1 -0
  238. package/dist/serve/worker/activity-bootstrap.js +11 -0
  239. package/dist/serve/worker/activity-bootstrap.js.map +1 -0
  240. package/dist/serve/worker/client/connection.d.ts.map +1 -1
  241. package/dist/serve/worker/client/connection.js +17 -5
  242. package/dist/serve/worker/client/connection.js.map +1 -1
  243. package/dist/serve/worker/client/core.d.ts +2 -2
  244. package/dist/serve/worker/client/core.d.ts.map +1 -1
  245. package/dist/serve/worker/client/core.js +33 -5
  246. package/dist/serve/worker/client/core.js.map +1 -1
  247. package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -1
  248. package/dist/serve/worker/client/firestore-writes.js +1 -0
  249. package/dist/serve/worker/client/firestore-writes.js.map +1 -1
  250. package/dist/serve/worker/client/messaging.d.ts +9 -1
  251. package/dist/serve/worker/client/messaging.d.ts.map +1 -1
  252. package/dist/serve/worker/client/messaging.js +15 -0
  253. package/dist/serve/worker/client/messaging.js.map +1 -1
  254. package/dist/serve/worker/client/studio.d.ts +10 -0
  255. package/dist/serve/worker/client/studio.d.ts.map +1 -1
  256. package/dist/serve/worker/client/studio.js +11 -0
  257. package/dist/serve/worker/client/studio.js.map +1 -1
  258. package/dist/serve/worker/durable-persistence.d.ts +12 -0
  259. package/dist/serve/worker/durable-persistence.d.ts.map +1 -0
  260. package/dist/serve/worker/durable-persistence.js +118 -0
  261. package/dist/serve/worker/durable-persistence.js.map +1 -0
  262. package/dist/serve/worker/entry.d.ts +7 -3
  263. package/dist/serve/worker/entry.d.ts.map +1 -1
  264. package/dist/serve/worker/entry.js +7 -3
  265. package/dist/serve/worker/entry.js.map +1 -1
  266. package/dist/serve/worker/host/core.d.ts +9 -5
  267. package/dist/serve/worker/host/core.d.ts.map +1 -1
  268. package/dist/serve/worker/host/core.js +33 -8
  269. package/dist/serve/worker/host/core.js.map +1 -1
  270. package/dist/serve/worker/host/dispatch.d.ts.map +1 -1
  271. package/dist/serve/worker/host/dispatch.js +9 -2
  272. package/dist/serve/worker/host/dispatch.js.map +1 -1
  273. package/dist/serve/worker/host/studio.d.ts +1 -1
  274. package/dist/serve/worker/host/studio.d.ts.map +1 -1
  275. package/dist/serve/worker/host/studio.js +36 -1
  276. package/dist/serve/worker/host/studio.js.map +1 -1
  277. package/dist/serve/worker/host/subscriptions.d.ts.map +1 -1
  278. package/dist/serve/worker/host/subscriptions.js +27 -7
  279. package/dist/serve/worker/host/subscriptions.js.map +1 -1
  280. package/dist/serve/worker/host-context.d.ts +15 -0
  281. package/dist/serve/worker/host-context.d.ts.map +1 -1
  282. package/dist/serve/worker/host-context.js +10 -0
  283. package/dist/serve/worker/host-context.js.map +1 -1
  284. package/dist/serve/worker/host-messaging.d.ts.map +1 -1
  285. package/dist/serve/worker/host-messaging.js +9 -2
  286. package/dist/serve/worker/host-messaging.js.map +1 -1
  287. package/dist/serve/worker/index.d.ts +1 -1
  288. package/dist/serve/worker/index.d.ts.map +1 -1
  289. package/dist/serve/worker/index.js +2 -0
  290. package/dist/serve/worker/index.js.map +1 -1
  291. package/dist/serve/worker/protocol.d.ts +25 -3
  292. package/dist/serve/worker/protocol.d.ts.map +1 -1
  293. package/dist/serve/worker/protocol.js.map +1 -1
  294. package/dist/serve/worker/serve-init.d.ts +23 -37
  295. package/dist/serve/worker/serve-init.d.ts.map +1 -1
  296. package/dist/serve/worker/serve-init.js +95 -172
  297. package/dist/serve/worker/serve-init.js.map +1 -1
  298. package/dist/vite.d.ts +4 -4
  299. package/dist/vite.d.ts.map +1 -1
  300. package/dist/vite.js +3 -3
  301. package/dist/vite.js.map +1 -1
  302. package/package.json +8 -4
  303. package/dist/serve/studio-ui/assets/index-BvtQIpGn.js +0 -1211
  304. package/dist/serve/studio-ui/assets/seed-3DMedLL3.js +0 -2
@@ -1,817 +1,369 @@
1
+ <!-- Generated from published package declarations via TypeDoc. Rendered by the api-reference content loader. -->
1
2
 
2
- <!-- Generated from published package declarations via TypeDoc. Do not edit by hand; run bun run docs:api:generate. -->
3
+ ## References
3
4
 
4
- ## Interfaces
5
-
6
- <a id="metricpoint"></a>
7
-
8
- ### MetricPoint
5
+ <a id="billable_series_defs"></a>
9
6
 
10
- #### Properties
7
+ ### BILLABLE\_SERIES\_DEFS
11
8
 
12
- | Property | Type | Description |
13
- | :------ | :------ | :------ |
14
- | <a id="end"></a> `end` | `number` | - |
15
- | <a id="index"></a> `index` | `number` | 0-based bucket index, left (oldest) to right (newest). |
16
- | <a id="start"></a> `start` | `number` | Half-open bounds of this bucket `[start, end)` in epoch-ms. |
9
+ Re-exports [BILLABLE_SERIES_DEFS](pyric-ui-traffic-reference-api.md#billable_series_defs)
17
10
 
18
11
  ***
19
12
 
20
- <a id="metricseries"></a>
21
-
22
- ### MetricSeries
13
+ <a id="billableserieskey"></a>
23
14
 
24
- #### Properties
15
+ ### BillableSeriesKey
25
16
 
26
- | Property | Type | Description |
27
- | :------ | :------ | :------ |
28
- | <a id="key"></a> `key` | `string` | - |
29
- | <a id="label"></a> `label` | `string` | - |
30
- | <a id="total"></a> `total` | `number` | Sum of `values` — the period total (the legend/card number). |
31
- | <a id="values"></a> `values` | `number`[] | One count per bucket, aligned with `points`. |
17
+ Re-exports [BillableSeriesKey](pyric-ui-traffic-reference-api.md#billableserieskey)
32
18
 
33
19
  ***
34
20
 
35
- <a id="ruleheatmapentry"></a>
36
-
37
- ### RuleHeatmapEntry
21
+ <a id="bucketbillablemetrics"></a>
38
22
 
39
- #### Properties
23
+ ### bucketBillableMetrics
40
24
 
41
- | Property | Type | Description |
42
- | :------ | :------ | :------ |
43
- | <a id="allows"></a> `allows` | `number` | - |
44
- | <a id="denies"></a> `denies` | `number` | - |
45
- | <a id="denyratio"></a> `denyRatio` | `number` | `denies / total` — 0 when the rule never denied. |
46
- | <a id="operations"></a> `operations` | `string`[] | Union of all operations seen matching this rule. |
47
- | <a id="ruleindex"></a> `ruleIndex` | `number` | The rule's index in the rules file. |
48
- | <a id="total-1"></a> `total` | `number` | Total events that matched this rule. |
49
- | <a id="unsupported"></a> `unsupported` | `number` | - |
25
+ Re-exports [bucketBillableMetrics](pyric-ui-traffic-reference-api.md#bucketbillablemetrics)
50
26
 
51
27
  ***
52
28
 
53
- <a id="timewindow"></a>
54
-
55
- ### TimeWindow
56
-
57
- A half-open time window `[start, end)` in epoch-ms. The timeline
58
- buckets events whose `at` falls inside it; events outside are
59
- dropped from the histogram (but still counted in `outOfWindow`).
29
+ <a id="bucketrulesmetrics"></a>
60
30
 
61
- #### Properties
31
+ ### bucketRulesMetrics
62
32
 
63
- | Property | Type |
64
- | :------ | :------ |
65
- | <a id="end-1"></a> `end` | `number` |
66
- | <a id="start-1"></a> `start` | `number` |
33
+ Re-exports [bucketRulesMetrics](pyric-ui-traffic-reference-api.md#bucketrulesmetrics)
67
34
 
68
35
  ***
69
36
 
70
- <a id="trafficbucket"></a>
71
-
72
- ### TrafficBucket
37
+ <a id="buckettraffic"></a>
73
38
 
74
- #### Properties
39
+ ### bucketTraffic
75
40
 
76
- | Property | Type | Description |
77
- | :------ | :------ | :------ |
78
- | <a id="allows-1"></a> `allows` | `number` | `count - denies` — allowed + unsupported. The "non-deny" stack. |
79
- | <a id="count"></a> `count` | `number` | Total events that fell in this bucket. |
80
- | <a id="denies-1"></a> `denies` | `number` | How many of `count` were denied. |
81
- | <a id="denyheightratio"></a> `denyHeightRatio` | `number` | `denies / maxCount` — 0..1. The deny sub-stack height as a fraction of the tallest bucket, so the deny segment is drawn to the same scale as the full bar. Drives `--pyric-bucket-deny-h`. |
82
- | <a id="end-2"></a> `end` | `number` | - |
83
- | <a id="heightratio"></a> `heightRatio` | `number` | `count / maxCount` across all buckets — 0..1. The full bar height as a fraction of the tallest bucket. Drives `--pyric-bucket-h`. |
84
- | <a id="index-1"></a> `index` | `number` | 0-based bucket index, left (oldest) to right (newest). |
85
- | <a id="start-2"></a> `start` | `number` | Half-open bounds of this bucket `[start, end)` in epoch-ms. |
41
+ Re-exports [bucketTraffic](pyric-ui-traffic-reference-api.md#buckettraffic)
86
42
 
87
43
  ***
88
44
 
89
- <a id="trafficcounts"></a>
90
-
91
- ### TrafficCounts
45
+ <a id="classifybillable"></a>
92
46
 
93
- #### Properties
47
+ ### classifyBillable
94
48
 
95
- | Property | Type | Description |
96
- | :------ | :------ | :------ |
97
- | <a id="denied"></a> `denied` | `number` | Of those, how many were denied. |
98
- | <a id="listener"></a> `listener` | `number` | Of those, how many are listener re-evals. |
99
- | <a id="total-2"></a> `total` | `number` | Events currently in the buffer. |
49
+ Re-exports [classifyBillable](pyric-ui-traffic-reference-api.md#classifybillable)
100
50
 
101
51
  ***
102
52
 
103
- <a id="trafficfilterstate"></a>
104
-
105
- ### TrafficFilterState
53
+ <a id="classifyrules"></a>
106
54
 
107
- #### Properties
55
+ ### classifyRules
108
56
 
109
- | Property | Type |
110
- | :------ | :------ |
111
- | <a id="origin"></a> `origin` | [`TrafficOriginFilter`](#trafficoriginfilter) |
112
- | <a id="pathquery"></a> `pathQuery` | `string` |
113
- | <a id="result"></a> `result` | [`TrafficResultFilter`](#trafficresultfilter) |
57
+ Re-exports [classifyRules](pyric-ui-traffic-reference-api.md#classifyrules)
114
58
 
115
59
  ***
116
60
 
117
- <a id="trafficgroup"></a>
118
-
119
- ### TrafficGroup
61
+ <a id="isadminevent"></a>
120
62
 
121
- #### Properties
63
+ ### isAdminEvent
122
64
 
123
- | Property | Type | Description |
124
- | :------ | :------ | :------ |
125
- | <a id="count-1"></a> `count` | `number` | - |
126
- | <a id="denies-2"></a> `denies` | `number` | - |
127
- | <a id="events"></a> `events` | `TrafficEvent`[] | - |
128
- | <a id="key-1"></a> `key` | `string` | `groupId` for batch/transaction; a synthetic key for listener runs. Stable enough for a React key. |
129
- | <a id="kind"></a> `kind` | [`TrafficGroupKind`](#trafficgroupkind-1) | - |
130
- | <a id="type"></a> `type` | `"group"` | - |
65
+ Re-exports [isAdminEvent](pyric-ui-traffic-reference-api.md#isadminevent)
131
66
 
132
67
  ***
133
68
 
134
- <a id="trafficmetricsresult"></a>
135
-
136
- ### TrafficMetricsResult
69
+ <a id="metricpoint"></a>
137
70
 
138
- #### Properties
71
+ ### MetricPoint
139
72
 
140
- | Property | Type | Description |
141
- | :------ | :------ | :------ |
142
- | <a id="maxvalue"></a> `maxValue` | `number` | The largest single-bucket value across every series — the shared y-scale divisor a chart would use by default. |
143
- | <a id="points"></a> `points` | [`MetricPoint`](#metricpoint)[] | - |
144
- | <a id="series"></a> `series` | [`MetricSeries`](#metricseries)[] | - |
73
+ Re-exports [MetricPoint](pyric-ui-traffic-reference-api.md#metricpoint)
145
74
 
146
75
  ***
147
76
 
148
- <a id="trafficsingle"></a>
149
-
150
- ### TrafficSingle
77
+ <a id="metricseries"></a>
151
78
 
152
- #### Properties
79
+ ### MetricSeries
153
80
 
154
- | Property | Type |
155
- | :------ | :------ |
156
- | <a id="event"></a> `event` | `TrafficEvent` |
157
- | <a id="type-1"></a> `type` | `"single"` |
81
+ Re-exports [MetricSeries](pyric-ui-traffic-reference-api.md#metricseries)
158
82
 
159
83
  ***
160
84
 
161
- <a id="trafficstatbucket"></a>
162
-
163
- ### TrafficStatBucket
85
+ <a id="ruleheatmapentry"></a>
164
86
 
165
- #### Properties
87
+ ### RuleHeatmapEntry
166
88
 
167
- | Property | Type |
168
- | :------ | :------ |
169
- | <a id="count-2"></a> `count` | `number` |
170
- | <a id="key-2"></a> `key` | `string` |
89
+ Re-exports [RuleHeatmapEntry](pyric-ui-traffic-reference-api.md#ruleheatmapentry)
171
90
 
172
91
  ***
173
92
 
174
- <a id="trafficstatssummary"></a>
175
-
176
- ### TrafficStatsSummary
93
+ <a id="rules_series_defs"></a>
177
94
 
178
- #### Properties
95
+ ### RULES\_SERIES\_DEFS
179
96
 
180
- | Property | Type | Description |
181
- | :------ | :------ | :------ |
182
- | <a id="allows-2"></a> `allows` | `number` | - |
183
- | <a id="bymethod"></a> `byMethod` | [`TrafficStatBucket`](#trafficstatbucket)[] | Counts by method, sorted descending. |
184
- | <a id="byorigin"></a> `byOrigin` | [`TrafficStatBucket`](#trafficstatbucket)[] | Counts by origin, sorted descending. |
185
- | <a id="bypath"></a> `byPath` | [`TrafficStatBucket`](#trafficstatbucket)[] | Counts by path, sorted descending, capped at `topPaths`. |
186
- | <a id="denies-3"></a> `denies` | `number` | - |
187
- | <a id="denyrate"></a> `denyRate` | `number` | `denies / total` — 0 for an empty buffer. |
188
- | <a id="total-3"></a> `total` | `number` | - |
189
- | <a id="unsupported-1"></a> `unsupported` | `number` | - |
97
+ Re-exports [RULES_SERIES_DEFS](pyric-ui-traffic-reference-api.md#rules_series_defs)
190
98
 
191
99
  ***
192
100
 
193
- <a id="useruleheatmapoptions"></a>
194
-
195
- ### UseRuleHeatmapOptions
101
+ <a id="rulesserieskey"></a>
196
102
 
197
- #### Properties
103
+ ### RulesSeriesKey
198
104
 
199
- | Property | Type |
200
- | :------ | :------ |
201
- | <a id="events-1"></a> `events` | `TrafficEvent`[] |
105
+ Re-exports [RulesSeriesKey](pyric-ui-traffic-reference-api.md#rulesserieskey)
202
106
 
203
107
  ***
204
108
 
205
- <a id="useruleheatmapresult"></a>
206
-
207
- ### UseRuleHeatmapResult
109
+ <a id="timewindow"></a>
208
110
 
209
- #### Properties
111
+ ### TimeWindow
210
112
 
211
- | Property | Type | Description |
212
- | :------ | :------ | :------ |
213
- | <a id="entries"></a> `entries` | [`RuleHeatmapEntry`](#ruleheatmapentry)[] | Per-rule rollup, sorted by `total` descending (busiest first), ties broken by `ruleIndex` ascending. |
214
- | <a id="unmatchedcount"></a> `unmatchedCount` | `number` | Events that matched no rule — counted here, not attributed to any entry. |
113
+ Re-exports [TimeWindow](pyric-ui-traffic-reference-api.md#timewindow)
215
114
 
216
115
  ***
217
116
 
218
- <a id="usetrafficbucketsoptions"></a>
219
-
220
- ### UseTrafficBucketsOptions
117
+ <a id="trafficbucket"></a>
221
118
 
222
- #### Properties
119
+ ### TrafficBucket
223
120
 
224
- | Property | Type | Description |
225
- | :------ | :------ | :------ |
226
- | <a id="bucketcount"></a> `bucketCount?` | `number` | Number of buckets to divide the window into. Default 30. |
227
- | <a id="events-2"></a> `events` | `TrafficEvent`[] | - |
228
- | <a id="window"></a> `window` | [`TimeWindow`](#timewindow) | The time range to bucket over. |
121
+ Re-exports [TrafficBucket](pyric-ui-traffic-reference-api.md#trafficbucket)
229
122
 
230
123
  ***
231
124
 
232
- <a id="usetrafficbucketsresult"></a>
233
-
234
- ### UseTrafficBucketsResult
125
+ <a id="trafficcounts"></a>
235
126
 
236
- #### Properties
127
+ ### TrafficCounts
237
128
 
238
- | Property | Type | Description |
239
- | :------ | :------ | :------ |
240
- | <a id="buckets"></a> `buckets` | [`TrafficBucket`](#trafficbucket)[] | - |
241
- | <a id="denies-4"></a> `denies` | `number` | Sum of `denies` across buckets. |
242
- | <a id="maxcount"></a> `maxCount` | `number` | The largest single-bucket `count` — the height-ratio divisor. |
243
- | <a id="outofwindow"></a> `outOfWindow` | `number` | Events whose `at` fell outside `[window.start, window.end)`. |
244
- | <a id="total-4"></a> `total` | `number` | Sum of `count` across buckets (events inside the window). |
129
+ Re-exports [TrafficCounts](pyric-ui-traffic-reference-api.md#trafficcounts)
245
130
 
246
131
  ***
247
132
 
248
- <a id="usetrafficfilteroptions"></a>
249
-
250
- ### UseTrafficFilterOptions
133
+ <a id="trafficfilterstate"></a>
251
134
 
252
- #### Properties
135
+ ### TrafficFilterState
253
136
 
254
- | Property | Type | Description |
255
- | :------ | :------ | :------ |
256
- | <a id="events-3"></a> `events` | `TrafficEvent`[] | - |
257
- | <a id="initialorigin"></a> `initialOrigin?` | [`TrafficOriginFilter`](#trafficoriginfilter) | Default `user` — the probe found listener traffic is 94–99.6% of events, so it's hidden until explicitly asked for. |
258
- | <a id="initialpathquery"></a> `initialPathQuery?` | `string` | - |
259
- | <a id="initialresult"></a> `initialResult?` | [`TrafficResultFilter`](#trafficresultfilter) | Default `all` — the probe found ~75–80% allow in realistic sessions, so hiding either side loses diagnostic signal. |
137
+ Re-exports [TrafficFilterState](pyric-ui-traffic-reference-api.md#trafficfilterstate)
260
138
 
261
139
  ***
262
140
 
263
- <a id="usetrafficfilterresult"></a>
264
-
265
- ### UseTrafficFilterResult
141
+ <a id="trafficgroup"></a>
266
142
 
267
- #### Properties
143
+ ### TrafficGroup
268
144
 
269
- | Property | Type | Description |
270
- | :------ | :------ | :------ |
271
- | <a id="filter"></a> `filter` | [`TrafficFilterState`](#trafficfilterstate) | - |
272
- | <a id="filtered"></a> `filtered` | `TrafficEvent`[] | Events passing all three filters, in the input order. |
273
- | <a id="setorigin"></a> `setOrigin` | (`origin`: [`TrafficOriginFilter`](#trafficoriginfilter)) => `void` | - |
274
- | <a id="setpathquery"></a> `setPathQuery` | (`pathQuery`: `string`) => `void` | - |
275
- | <a id="setresult"></a> `setResult` | (`result`: [`TrafficResultFilter`](#trafficresultfilter)) => `void` | - |
145
+ Re-exports [TrafficGroup](pyric-ui-traffic-reference-api.md#trafficgroup)
276
146
 
277
147
  ***
278
148
 
279
- <a id="usetrafficgroupsoptions"></a>
280
-
281
- ### UseTrafficGroupsOptions
149
+ <a id="trafficgroupkind"></a>
282
150
 
283
- #### Properties
151
+ ### TrafficGroupKind
284
152
 
285
- | Property | Type | Description |
286
- | :------ | :------ | :------ |
287
- | <a id="events-4"></a> `events` | `TrafficEvent`[] | - |
288
- | <a id="groupbatches"></a> `groupBatches?` | `boolean` | Collapse consecutive ops sharing a `groupId`. Default true. |
289
- | <a id="grouplistenerruns"></a> `groupListenerRuns?` | `boolean` | Collapse a consecutive run of listener re-evals from the same originating op into one group — the probe found a single write can trigger 250+ re-evals. Default true. |
153
+ Re-exports [TrafficGroupKind](pyric-ui-traffic-reference-api.md#trafficgroupkind-1)
290
154
 
291
155
  ***
292
156
 
293
- <a id="usetrafficgroupsresult"></a>
294
-
295
- ### UseTrafficGroupsResult
157
+ <a id="trafficlogitem"></a>
296
158
 
297
- #### Properties
159
+ ### TrafficLogItem
298
160
 
299
- | Property | Type | Description |
300
- | :------ | :------ | :------ |
301
- | <a id="items"></a> `items` | [`TrafficLogItem`](#trafficlogitem)[] | Events folded into a flat list of singles and groups, in the input order. |
161
+ Re-exports [TrafficLogItem](pyric-ui-traffic-reference-api.md#trafficlogitem)
302
162
 
303
163
  ***
304
164
 
305
- <a id="usetrafficmetricsoptions"></a>
306
-
307
- ### UseTrafficMetricsOptions
165
+ <a id="trafficmetricsresult"></a>
308
166
 
309
- #### Properties
167
+ ### TrafficMetricsResult
310
168
 
311
- | Property | Type | Description |
312
- | :------ | :------ | :------ |
313
- | <a id="bucketcount-1"></a> `bucketCount?` | `number` | Number of buckets to divide the window into. The window itself should already be sized to the session (sandbox sessions run minutes, not days) — bucket count doesn't need to change, only the window a caller passes in. Default 24. |
314
- | <a id="events-5"></a> `events` | `TrafficEvent`[] | - |
315
- | <a id="isadmin"></a> `isAdmin?` | (`event`: `Pick`\<`TrafficEvent`, `"origin"`\>) => `boolean` | Override admin classification (e.g. a Studio caller with `authLens` provenance available — see the module doc). Defaults to `origin === 'admin'`. |
316
- | <a id="window-1"></a> `window` | [`TimeWindow`](#timewindow) | - |
169
+ Re-exports [TrafficMetricsResult](pyric-ui-traffic-reference-api.md#trafficmetricsresult)
317
170
 
318
171
  ***
319
172
 
320
- <a id="usetrafficmonitoroptions"></a>
321
-
322
- ### UseTrafficMonitorOptions
173
+ <a id="trafficoriginfilter"></a>
323
174
 
324
- #### Properties
175
+ ### TrafficOriginFilter
325
176
 
326
- | Property | Type | Description |
327
- | :------ | :------ | :------ |
328
- | <a id="buffersize"></a> `bufferSize?` | `number` | Ring-buffer cap. Once exceeded, the oldest events are dropped. Default 5000 (~3 MB worst case — see the traffic-monitor probe findings). |
329
- | <a id="paused"></a> `paused?` | `boolean` | Whether the buffer starts paused. Default false. |
330
- | <a id="source"></a> `source` | `TrafficSource` | The subscription function — `sandbox.onRequest` satisfies this directly. Pass a stable reference; the hook re-subscribes on identity change. |
331
- | <a id="transform"></a> `transform?` | (`event`: `TrafficEvent`) => `TrafficEvent` | Runs per event before buffering — return a (possibly trimmed) event. Lets the consumer shrink oversized payloads without the library knowing payload semantics. Identity is read fresh on each event, so it need not be memoized. |
177
+ Re-exports [TrafficOriginFilter](pyric-ui-traffic-reference-api.md#trafficoriginfilter)
332
178
 
333
179
  ***
334
180
 
335
- <a id="usetrafficmonitorresult"></a>
336
-
337
- ### UseTrafficMonitorResult
181
+ <a id="trafficresultfilter"></a>
338
182
 
339
- #### Properties
183
+ ### TrafficResultFilter
340
184
 
341
- | Property | Type | Description |
342
- | :------ | :------ | :------ |
343
- | <a id="clear"></a> `clear` | () => `void` | Empty the buffer. |
344
- | <a id="counts"></a> `counts` | [`TrafficCounts`](#trafficcounts) | - |
345
- | <a id="events-6"></a> `events` | `TrafficEvent`[] | The buffered events, oldest first. |
346
- | <a id="ispaused"></a> `isPaused` | `boolean` | - |
347
- | <a id="pause"></a> `pause` | () => `void` | Stop appending — incoming events are dropped while paused. |
348
- | <a id="resume"></a> `resume` | () => `void` | Resume appending. |
185
+ Re-exports [TrafficResultFilter](pyric-ui-traffic-reference-api.md#trafficresultfilter)
349
186
 
350
187
  ***
351
188
 
352
- <a id="usetrafficstatsoptions"></a>
353
-
354
- ### UseTrafficStatsOptions
355
-
356
- #### Properties
357
-
358
- | Property | Type | Description |
359
- | :------ | :------ | :------ |
360
- | <a id="events-7"></a> `events` | `TrafficEvent`[] | - |
361
- | <a id="toppaths"></a> `topPaths?` | `number` | Cap on `byPath` entries — paths are unbounded. Default 10. |
362
-
363
- ## Type Aliases
364
-
365
- <a id="billableserieskey"></a>
189
+ <a id="trafficsingle"></a>
366
190
 
367
- ### BillableSeriesKey
191
+ ### TrafficSingle
368
192
 
369
- ```ts
370
- type BillableSeriesKey = "reads" | "writes" | "deletes";
371
- ```
193
+ Re-exports [TrafficSingle](pyric-ui-traffic-reference-api.md#trafficsingle)
372
194
 
373
195
  ***
374
196
 
375
- <a id="rulesserieskey"></a>
197
+ <a id="trafficstatbucket"></a>
376
198
 
377
- ### RulesSeriesKey
199
+ ### TrafficStatBucket
378
200
 
379
- ```ts
380
- type RulesSeriesKey = "allows" | "denies" | "errors";
381
- ```
201
+ Re-exports [TrafficStatBucket](pyric-ui-traffic-reference-api.md#trafficstatbucket)
382
202
 
383
203
  ***
384
204
 
385
- <a id="trafficgroupkind-1"></a>
205
+ <a id="trafficstatssummary"></a>
386
206
 
387
- ### TrafficGroupKind
207
+ ### TrafficStatsSummary
388
208
 
389
- ```ts
390
- type TrafficGroupKind = "batch" | "transaction" | "listener-run";
391
- ```
209
+ Re-exports [TrafficStatsSummary](pyric-ui-traffic-reference-api.md#trafficstatssummary)
392
210
 
393
211
  ***
394
212
 
395
- <a id="trafficlogitem"></a>
213
+ <a id="usebillablemetrics"></a>
396
214
 
397
- ### TrafficLogItem
215
+ ### useBillableMetrics
398
216
 
399
- ```ts
400
- type TrafficLogItem = TrafficGroup | TrafficSingle;
401
- ```
217
+ Re-exports [useBillableMetrics](pyric-ui-traffic-reference-api.md#usebillablemetrics)
402
218
 
403
219
  ***
404
220
 
405
- <a id="trafficoriginfilter"></a>
406
-
407
- ### TrafficOriginFilter
221
+ <a id="useruleheatmap"></a>
408
222
 
409
- ```ts
410
- type TrafficOriginFilter = "user" | "all" | "listener";
411
- ```
223
+ ### useRuleHeatmap
412
224
 
413
- `user` keeps everything that isn't a listener re-eval (user ops
414
- plus their transaction/batch sub-ops); `listener` keeps only
415
- listener re-evals; `all` keeps everything.
225
+ Re-exports [useRuleHeatmap](pyric-ui-traffic-reference-api.md#useruleheatmap)
416
226
 
417
227
  ***
418
228
 
419
- <a id="trafficresultfilter"></a>
420
-
421
- ### TrafficResultFilter
422
-
423
- ```ts
424
- type TrafficResultFilter = "all" | "allow" | "deny";
425
- ```
426
-
427
- ## Variables
428
-
429
- <a id="billable_series_defs"></a>
229
+ <a id="useruleheatmapoptions"></a>
430
230
 
431
- ### BILLABLE\_SERIES\_DEFS
231
+ ### UseRuleHeatmapOptions
432
232
 
433
- ```ts
434
- const BILLABLE_SERIES_DEFS: ReadonlyArray<{
435
- key: BillableSeriesKey;
436
- label: string;
437
- }>;
438
- ```
233
+ Re-exports [UseRuleHeatmapOptions](pyric-ui-traffic-reference-api.md#useruleheatmapoptions)
439
234
 
440
235
  ***
441
236
 
442
- <a id="rules_series_defs"></a>
443
-
444
- ### RULES\_SERIES\_DEFS
445
-
446
- ```ts
447
- const RULES_SERIES_DEFS: ReadonlyArray<{
448
- key: RulesSeriesKey;
449
- label: string;
450
- }>;
451
- ```
452
-
453
- ## Functions
454
-
455
- <a id="bucketbillablemetrics"></a>
456
-
457
- ### bucketBillableMetrics()
458
-
459
- ```ts
460
- function bucketBillableMetrics(
461
- events: readonly TrafficEvent[],
462
- window: TimeWindow,
463
- bucketCount?: number,
464
- isAdmin?: (event: Pick<TrafficEvent, "origin">) => boolean): TrafficMetricsResult;
465
- ```
466
-
467
- Pure kernel behind [useBillableMetrics](#usebillablemetrics) — usable outside React.
468
-
469
- #### Parameters
470
-
471
- | Parameter | Type |
472
- | :------ | :------ |
473
- | `events` | readonly `TrafficEvent`[] |
474
- | `window` | [`TimeWindow`](#timewindow) |
475
- | `bucketCount?` | `number` |
476
- | `isAdmin?` | (`event`: `Pick`\<`TrafficEvent`, `"origin"`\>) => `boolean` |
237
+ <a id="useruleheatmapresult"></a>
477
238
 
478
- #### Returns
239
+ ### UseRuleHeatmapResult
479
240
 
480
- [`TrafficMetricsResult`](#trafficmetricsresult)
241
+ Re-exports [UseRuleHeatmapResult](pyric-ui-traffic-reference-api.md#useruleheatmapresult)
481
242
 
482
243
  ***
483
244
 
484
- <a id="bucketrulesmetrics"></a>
485
-
486
- ### bucketRulesMetrics()
487
-
488
- ```ts
489
- function bucketRulesMetrics(
490
- events: readonly TrafficEvent[],
491
- window: TimeWindow,
492
- bucketCount?: number,
493
- isAdmin?: (event: Pick<TrafficEvent, "origin">) => boolean): TrafficMetricsResult;
494
- ```
495
-
496
- Pure kernel behind [useRulesMetrics](#userulesmetrics) — usable outside React.
497
-
498
- #### Parameters
499
-
500
- | Parameter | Type |
501
- | :------ | :------ |
502
- | `events` | readonly `TrafficEvent`[] |
503
- | `window` | [`TimeWindow`](#timewindow) |
504
- | `bucketCount?` | `number` |
505
- | `isAdmin?` | (`event`: `Pick`\<`TrafficEvent`, `"origin"`\>) => `boolean` |
245
+ <a id="userulesmetrics"></a>
506
246
 
507
- #### Returns
247
+ ### useRulesMetrics
508
248
 
509
- [`TrafficMetricsResult`](#trafficmetricsresult)
249
+ Re-exports [useRulesMetrics](pyric-ui-traffic-reference-api.md#userulesmetrics)
510
250
 
511
251
  ***
512
252
 
513
- <a id="buckettraffic"></a>
514
-
515
- ### bucketTraffic()
516
-
517
- ```ts
518
- function bucketTraffic(
519
- events: TrafficEvent[],
520
- window: TimeWindow,
521
- bucketCount?: number): UseTrafficBucketsResult;
522
- ```
523
-
524
- The pure bucketing kernel behind [useTrafficBuckets](#usetrafficbuckets) — usable
525
- outside React. Returns an empty result for a non-positive
526
- `bucketCount` or a zero/negative-width window.
527
-
528
- #### Parameters
529
-
530
- | Parameter | Type |
531
- | :------ | :------ |
532
- | `events` | `TrafficEvent`[] |
533
- | `window` | [`TimeWindow`](#timewindow) |
534
- | `bucketCount?` | `number` |
253
+ <a id="usetrafficbuckets"></a>
535
254
 
536
- #### Returns
255
+ ### useTrafficBuckets
537
256
 
538
- [`UseTrafficBucketsResult`](#usetrafficbucketsresult)
257
+ Re-exports [useTrafficBuckets](pyric-ui-traffic-reference-api.md#usetrafficbuckets)
539
258
 
540
259
  ***
541
260
 
542
- <a id="classifybillable"></a>
543
-
544
- ### classifyBillable()
545
-
546
- ```ts
547
- function classifyBillable(event: Pick<TrafficEvent, "method" | "result" | "origin">, isAdmin?: (event: Pick<TrafficEvent, "origin">) => boolean): BillableSeriesKey;
548
- ```
549
-
550
- Classify a billable op, or `null` if it isn't one / never ran.
551
-
552
- #### Parameters
553
-
554
- | Parameter | Type |
555
- | :------ | :------ |
556
- | `event` | `Pick`\<`TrafficEvent`, `"method"` \| `"result"` \| `"origin"`\> |
557
- | `isAdmin?` | (`event`: `Pick`\<`TrafficEvent`, `"origin"`\>) => `boolean` |
261
+ <a id="usetrafficbucketsoptions"></a>
558
262
 
559
- #### Returns
263
+ ### UseTrafficBucketsOptions
560
264
 
561
- [`BillableSeriesKey`](#billableserieskey)
265
+ Re-exports [UseTrafficBucketsOptions](pyric-ui-traffic-reference-api.md#usetrafficbucketsoptions)
562
266
 
563
267
  ***
564
268
 
565
- <a id="classifyrules"></a>
566
-
567
- ### classifyRules()
568
-
569
- ```ts
570
- function classifyRules(event: Pick<TrafficEvent, "result" | "origin">, isAdmin?: (event: Pick<TrafficEvent, "origin">) => boolean): RulesSeriesKey;
571
- ```
572
-
573
- Classify a rules-engine verdict, or `null` if it isn't one (bypassed,
574
- unsupported, or not-applicable).
575
-
576
- #### Parameters
577
-
578
- | Parameter | Type |
579
- | :------ | :------ |
580
- | `event` | `Pick`\<`TrafficEvent`, `"result"` \| `"origin"`\> |
581
- | `isAdmin?` | (`event`: `Pick`\<`TrafficEvent`, `"origin"`\>) => `boolean` |
269
+ <a id="usetrafficbucketsresult"></a>
582
270
 
583
- #### Returns
271
+ ### UseTrafficBucketsResult
584
272
 
585
- [`RulesSeriesKey`](#rulesserieskey)
273
+ Re-exports [UseTrafficBucketsResult](pyric-ui-traffic-reference-api.md#usetrafficbucketsresult)
586
274
 
587
275
  ***
588
276
 
589
- <a id="isadminevent"></a>
590
-
591
- ### isAdminEvent()
592
-
593
- ```ts
594
- function isAdminEvent(event: Pick<TrafficEvent, "origin">): boolean;
595
- ```
596
-
597
- Default admin predicate: the one signal the public `TrafficEvent`
598
- type declares. See the module doc for the known Firestore gap.
599
-
600
- #### Parameters
601
-
602
- | Parameter | Type |
603
- | :------ | :------ |
604
- | `event` | `Pick`\<`TrafficEvent`, `"origin"`\> |
277
+ <a id="usetrafficfilter"></a>
605
278
 
606
- #### Returns
279
+ ### useTrafficFilter
607
280
 
608
- `boolean`
281
+ Re-exports [useTrafficFilter](pyric-ui-traffic-reference-api.md#usetrafficfilter)
609
282
 
610
283
  ***
611
284
 
612
- <a id="usebillablemetrics"></a>
613
-
614
- ### useBillableMetrics()
615
-
616
- ```ts
617
- function useBillableMetrics(__namedParameters: UseTrafficMetricsOptions): TrafficMetricsResult;
618
- ```
619
-
620
- Reads / writes / deletes, bucketed over `window`. See the module doc
621
- for the billable mapping + the "read ops, not billable reads" caveat.
622
-
623
- #### Parameters
624
-
625
- | Parameter | Type |
626
- | :------ | :------ |
627
- | `__namedParameters` | [`UseTrafficMetricsOptions`](#usetrafficmetricsoptions) |
285
+ <a id="usetrafficfilteroptions"></a>
628
286
 
629
- #### Returns
287
+ ### UseTrafficFilterOptions
630
288
 
631
- [`TrafficMetricsResult`](#trafficmetricsresult)
289
+ Re-exports [UseTrafficFilterOptions](pyric-ui-traffic-reference-api.md#usetrafficfilteroptions)
632
290
 
633
291
  ***
634
292
 
635
- <a id="useruleheatmap"></a>
636
-
637
- ### useRuleHeatmap()
638
-
639
- ```ts
640
- function useRuleHeatmap(__namedParameters: UseRuleHeatmapOptions): UseRuleHeatmapResult;
641
- ```
642
-
643
- Rolls a traffic buffer up by `matchedRule.ruleIndex`: how often
644
- each rule fired, and how that split across allow / deny /
645
- unsupported. Pure derivation — feed it the filtered or full
646
- event list depending on what the heatmap should reflect.
647
-
648
- #### Parameters
649
-
650
- | Parameter | Type |
651
- | :------ | :------ |
652
- | `__namedParameters` | [`UseRuleHeatmapOptions`](#useruleheatmapoptions) |
293
+ <a id="usetrafficfilterresult"></a>
653
294
 
654
- #### Returns
295
+ ### UseTrafficFilterResult
655
296
 
656
- [`UseRuleHeatmapResult`](#useruleheatmapresult)
297
+ Re-exports [UseTrafficFilterResult](pyric-ui-traffic-reference-api.md#usetrafficfilterresult)
657
298
 
658
299
  ***
659
300
 
660
- <a id="userulesmetrics"></a>
661
-
662
- ### useRulesMetrics()
663
-
664
- ```ts
665
- function useRulesMetrics(__namedParameters: UseTrafficMetricsOptions): TrafficMetricsResult;
666
- ```
667
-
668
- Allows / denies / errors, bucketed over `window`. Excludes
669
- rules-bypassed (admin) ops — see the module doc.
670
-
671
- #### Parameters
672
-
673
- | Parameter | Type |
674
- | :------ | :------ |
675
- | `__namedParameters` | [`UseTrafficMetricsOptions`](#usetrafficmetricsoptions) |
301
+ <a id="usetrafficgroups"></a>
676
302
 
677
- #### Returns
303
+ ### useTrafficGroups
678
304
 
679
- [`TrafficMetricsResult`](#trafficmetricsresult)
305
+ Re-exports [useTrafficGroups](pyric-ui-traffic-reference-api.md#usetrafficgroups)
680
306
 
681
307
  ***
682
308
 
683
- <a id="usetrafficbuckets"></a>
684
-
685
- ### useTrafficBuckets()
686
-
687
- ```ts
688
- function useTrafficBuckets(__namedParameters: UseTrafficBucketsOptions): UseTrafficBucketsResult;
689
- ```
690
-
691
- Buckets a traffic buffer into `bucketCount` equal time slices over
692
- `window`, counting total + denied events per slice. Pure
693
- derivation — the histogram component renders the result, this hook
694
- (and `bucketTraffic` under it) owns the math.
695
-
696
- Each bucket carries a `heightRatio` and `denyHeightRatio`
697
- (0..1, scaled to the tallest bucket) so the consumer can map them
698
- straight onto a bar height without re-finding the max.
699
-
700
- #### Parameters
701
-
702
- | Parameter | Type |
703
- | :------ | :------ |
704
- | `__namedParameters` | [`UseTrafficBucketsOptions`](#usetrafficbucketsoptions) |
309
+ <a id="usetrafficgroupsoptions"></a>
705
310
 
706
- #### Returns
311
+ ### UseTrafficGroupsOptions
707
312
 
708
- [`UseTrafficBucketsResult`](#usetrafficbucketsresult)
313
+ Re-exports [UseTrafficGroupsOptions](pyric-ui-traffic-reference-api.md#usetrafficgroupsoptions)
709
314
 
710
315
  ***
711
316
 
712
- <a id="usetrafficfilter"></a>
713
-
714
- ### useTrafficFilter()
715
-
716
- ```ts
717
- function useTrafficFilter(__namedParameters: UseTrafficFilterOptions): UseTrafficFilterResult;
718
- ```
719
-
720
- Derives a filtered view over a traffic buffer along three
721
- dimensions: origin, result, and a case-insensitive path substring.
722
- Owns the filter state; pure derivation otherwise.
723
-
724
- #### Parameters
725
-
726
- | Parameter | Type |
727
- | :------ | :------ |
728
- | `__namedParameters` | [`UseTrafficFilterOptions`](#usetrafficfilteroptions) |
317
+ <a id="usetrafficgroupsresult"></a>
729
318
 
730
- #### Returns
319
+ ### UseTrafficGroupsResult
731
320
 
732
- [`UseTrafficFilterResult`](#usetrafficfilterresult)
321
+ Re-exports [UseTrafficGroupsResult](pyric-ui-traffic-reference-api.md#usetrafficgroupsresult)
733
322
 
734
323
  ***
735
324
 
736
- <a id="usetrafficgroups"></a>
737
-
738
- ### useTrafficGroups()
739
-
740
- ```ts
741
- function useTrafficGroups(__namedParameters: UseTrafficGroupsOptions): UseTrafficGroupsResult;
742
- ```
743
-
744
- Folds a traffic buffer into a list of singles and collapsible
745
- groups. Two grouping modes, both over *consecutive* events:
325
+ <a id="usetrafficmetricsoptions"></a>
746
326
 
747
- - `groupId` — batch/transaction sub-ops sharing an id collapse
748
- into one `batch` / `transaction` group.
749
- - listener runs — a consecutive run of listener re-evals from the
750
- same originating op collapses into one `listener-run` group.
751
- A run of length 1 stays a single (no point collapsing one row).
327
+ ### UseTrafficMetricsOptions
752
328
 
753
- Pure derivation; the input order is preserved.
329
+ Re-exports [UseTrafficMetricsOptions](pyric-ui-traffic-reference-api.md#usetrafficmetricsoptions)
754
330
 
755
- #### Parameters
331
+ ***
756
332
 
757
- | Parameter | Type |
758
- | :------ | :------ |
759
- | `__namedParameters` | [`UseTrafficGroupsOptions`](#usetrafficgroupsoptions) |
333
+ <a id="usetrafficmonitor"></a>
760
334
 
761
- #### Returns
335
+ ### useTrafficMonitor
762
336
 
763
- [`UseTrafficGroupsResult`](#usetrafficgroupsresult)
337
+ Re-exports [useTrafficMonitor](pyric-ui-traffic-reference-api.md#usetrafficmonitor)
764
338
 
765
339
  ***
766
340
 
767
- <a id="usetrafficmonitor"></a>
768
-
769
- ### useTrafficMonitor()
770
-
771
- ```ts
772
- function useTrafficMonitor(__namedParameters: UseTrafficMonitorOptions): UseTrafficMonitorResult;
773
- ```
341
+ <a id="usetrafficmonitoroptions"></a>
774
342
 
775
- Buffers a traffic stream into a capped ring buffer with
776
- pause/resume/clear. Decoupled from `pyric/sandbox` — `source` is
777
- just a `(cb) => unsubscribe` function.
343
+ ### UseTrafficMonitorOptions
778
344
 
779
- Pause is consumer-side: while paused, the subscription stays
780
- attached but incoming events are dropped (not queued). This
781
- matches the probe decision — a `load-test`-shaped session can emit
782
- 100k+ events, so queueing-while-paused would defeat the point.
345
+ Re-exports [UseTrafficMonitorOptions](pyric-ui-traffic-reference-api.md#usetrafficmonitoroptions)
783
346
 
784
- #### Parameters
347
+ ***
785
348
 
786
- | Parameter | Type |
787
- | :------ | :------ |
788
- | `__namedParameters` | [`UseTrafficMonitorOptions`](#usetrafficmonitoroptions) |
349
+ <a id="usetrafficmonitorresult"></a>
789
350
 
790
- #### Returns
351
+ ### UseTrafficMonitorResult
791
352
 
792
- [`UseTrafficMonitorResult`](#usetrafficmonitorresult)
353
+ Re-exports [UseTrafficMonitorResult](pyric-ui-traffic-reference-api.md#usetrafficmonitorresult)
793
354
 
794
355
  ***
795
356
 
796
357
  <a id="usetrafficstats"></a>
797
358
 
798
- ### useTrafficStats()
359
+ ### useTrafficStats
799
360
 
800
- ```ts
801
- function useTrafficStats(__namedParameters: UseTrafficStatsOptions): TrafficStatsSummary;
802
- ```
361
+ Re-exports [useTrafficStats](pyric-ui-traffic-reference-api.md#usetrafficstats)
803
362
 
804
- Aggregations over a traffic buffer: totals, deny rate, and counts
805
- broken down by method, origin, and path. Pure derivation — feed it
806
- the filtered or full event list depending on what the panel
807
- should reflect.
808
-
809
- #### Parameters
363
+ ***
810
364
 
811
- | Parameter | Type |
812
- | :------ | :------ |
813
- | `__namedParameters` | [`UseTrafficStatsOptions`](#usetrafficstatsoptions) |
365
+ <a id="usetrafficstatsoptions"></a>
814
366
 
815
- #### Returns
367
+ ### UseTrafficStatsOptions
816
368
 
817
- [`TrafficStatsSummary`](#trafficstatssummary)
369
+ Re-exports [UseTrafficStatsOptions](pyric-ui-traffic-reference-api.md#usetrafficstatsoptions)