@pyric/cli 0.1.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1169) hide show
  1. package/LICENSE +216 -0
  2. package/README.md +156 -0
  3. package/README.md.orig +138 -0
  4. package/dist/assurance/attachment.d.ts +24 -0
  5. package/dist/assurance/attachment.d.ts.map +1 -0
  6. package/dist/assurance/attachment.js +138 -0
  7. package/dist/assurance/attachment.js.map +1 -0
  8. package/dist/assurance/browser.d.ts +7 -0
  9. package/dist/assurance/browser.d.ts.map +1 -0
  10. package/dist/assurance/browser.js +68 -0
  11. package/dist/assurance/browser.js.map +1 -0
  12. package/dist/assurance/campaign.d.ts +41 -0
  13. package/dist/assurance/campaign.d.ts.map +1 -0
  14. package/dist/assurance/campaign.js +364 -0
  15. package/dist/assurance/campaign.js.map +1 -0
  16. package/dist/assurance/capabilities.d.ts +7 -0
  17. package/dist/assurance/capabilities.d.ts.map +1 -0
  18. package/dist/assurance/capabilities.js +295 -0
  19. package/dist/assurance/capabilities.js.map +1 -0
  20. package/dist/assurance/cases.d.ts +14 -0
  21. package/dist/assurance/cases.d.ts.map +1 -0
  22. package/dist/assurance/cases.js +27 -0
  23. package/dist/assurance/cases.js.map +1 -0
  24. package/dist/assurance/generated-capabilities.d.ts +52 -0
  25. package/dist/assurance/generated-capabilities.d.ts.map +1 -0
  26. package/dist/assurance/generated-capabilities.js +329 -0
  27. package/dist/assurance/generated-capabilities.js.map +1 -0
  28. package/dist/assurance/index.d.ts +11 -0
  29. package/dist/assurance/index.d.ts.map +1 -0
  30. package/dist/assurance/index.js +9 -0
  31. package/dist/assurance/index.js.map +1 -0
  32. package/dist/assurance/runner.d.ts +3 -0
  33. package/dist/assurance/runner.d.ts.map +1 -0
  34. package/dist/assurance/runner.js +633 -0
  35. package/dist/assurance/runner.js.map +1 -0
  36. package/dist/assurance/tool-names.d.ts +4 -0
  37. package/dist/assurance/tool-names.d.ts.map +1 -0
  38. package/dist/assurance/tool-names.js +14 -0
  39. package/dist/assurance/tool-names.js.map +1 -0
  40. package/dist/assurance/tools.d.ts +19 -0
  41. package/dist/assurance/tools.d.ts.map +1 -0
  42. package/dist/assurance/tools.js +740 -0
  43. package/dist/assurance/tools.js.map +1 -0
  44. package/dist/assurance/types.d.ts +348 -0
  45. package/dist/assurance/types.d.ts.map +1 -0
  46. package/dist/assurance/types.js +7 -0
  47. package/dist/assurance/types.js.map +1 -0
  48. package/dist/assurance/validation.d.ts +8 -0
  49. package/dist/assurance/validation.d.ts.map +1 -0
  50. package/dist/assurance/validation.js +269 -0
  51. package/dist/assurance/validation.js.map +1 -0
  52. package/dist/bridge/client/bridge.d.ts +133 -0
  53. package/dist/bridge/client/bridge.d.ts.map +1 -0
  54. package/dist/bridge/client/bridge.js +429 -0
  55. package/dist/bridge/client/bridge.js.map +1 -0
  56. package/dist/bridge/client/dispatch.d.ts +41 -0
  57. package/dist/bridge/client/dispatch.d.ts.map +1 -0
  58. package/dist/bridge/client/dispatch.js +111 -0
  59. package/dist/bridge/client/dispatch.js.map +1 -0
  60. package/dist/bridge/client.d.ts +24 -0
  61. package/dist/bridge/client.d.ts.map +1 -0
  62. package/dist/bridge/client.js +26 -0
  63. package/dist/bridge/client.js.map +1 -0
  64. package/dist/bridge/protocol.d.ts +227 -0
  65. package/dist/bridge/protocol.d.ts.map +1 -0
  66. package/dist/bridge/protocol.js +131 -0
  67. package/dist/bridge/protocol.js.map +1 -0
  68. package/dist/bridge/server/audit.d.ts +19 -0
  69. package/dist/bridge/server/audit.d.ts.map +1 -0
  70. package/dist/bridge/server/audit.js +46 -0
  71. package/dist/bridge/server/audit.js.map +1 -0
  72. package/dist/bridge/server/bridge.d.ts +126 -0
  73. package/dist/bridge/server/bridge.d.ts.map +1 -0
  74. package/dist/bridge/server/bridge.js +383 -0
  75. package/dist/bridge/server/bridge.js.map +1 -0
  76. package/dist/bridge/server/headless.d.ts +36 -0
  77. package/dist/bridge/server/headless.d.ts.map +1 -0
  78. package/dist/bridge/server/headless.js +142 -0
  79. package/dist/bridge/server/headless.js.map +1 -0
  80. package/dist/bridge/server/json-schema-to-zod.d.ts +37 -0
  81. package/dist/bridge/server/json-schema-to-zod.d.ts.map +1 -0
  82. package/dist/bridge/server/json-schema-to-zod.js +93 -0
  83. package/dist/bridge/server/json-schema-to-zod.js.map +1 -0
  84. package/dist/bridge/server/local-bridge.d.ts +33 -0
  85. package/dist/bridge/server/local-bridge.d.ts.map +1 -0
  86. package/dist/bridge/server/local-bridge.js +41 -0
  87. package/dist/bridge/server/local-bridge.js.map +1 -0
  88. package/dist/bridge/server/logger.d.ts +28 -0
  89. package/dist/bridge/server/logger.d.ts.map +1 -0
  90. package/dist/bridge/server/logger.js +42 -0
  91. package/dist/bridge/server/logger.js.map +1 -0
  92. package/dist/bridge/server/mcp-contract.d.ts +21 -0
  93. package/dist/bridge/server/mcp-contract.d.ts.map +1 -0
  94. package/dist/bridge/server/mcp-contract.js +62 -0
  95. package/dist/bridge/server/mcp-contract.js.map +1 -0
  96. package/dist/bridge/server/mcp.d.ts +26 -0
  97. package/dist/bridge/server/mcp.d.ts.map +1 -0
  98. package/dist/bridge/server/mcp.js +102 -0
  99. package/dist/bridge/server/mcp.js.map +1 -0
  100. package/dist/bridge/server/peer.d.ts +39 -0
  101. package/dist/bridge/server/peer.d.ts.map +1 -0
  102. package/dist/bridge/server/peer.js +189 -0
  103. package/dist/bridge/server/peer.js.map +1 -0
  104. package/dist/bridge/server/standalone.d.ts +49 -0
  105. package/dist/bridge/server/standalone.d.ts.map +1 -0
  106. package/dist/bridge/server/standalone.js +267 -0
  107. package/dist/bridge/server/standalone.js.map +1 -0
  108. package/dist/bridge/server/tool-metadata.d.ts +38 -0
  109. package/dist/bridge/server/tool-metadata.d.ts.map +1 -0
  110. package/dist/bridge/server/tool-metadata.js +81 -0
  111. package/dist/bridge/server/tool-metadata.js.map +1 -0
  112. package/dist/bridge/server.d.ts +21 -0
  113. package/dist/bridge/server.d.ts.map +1 -0
  114. package/dist/bridge/server.js +18 -0
  115. package/dist/bridge/server.js.map +1 -0
  116. package/dist/cli/database-rules.d.ts +43 -0
  117. package/dist/cli/database-rules.d.ts.map +1 -0
  118. package/dist/cli/database-rules.js +261 -0
  119. package/dist/cli/database-rules.js.map +1 -0
  120. package/dist/cli/dev-runner.d.ts +112 -0
  121. package/dist/cli/dev-runner.d.ts.map +1 -0
  122. package/dist/cli/dev-runner.js +239 -0
  123. package/dist/cli/dev-runner.js.map +1 -0
  124. package/dist/cli/firebase-json.d.ts +66 -0
  125. package/dist/cli/firebase-json.d.ts.map +1 -0
  126. package/dist/cli/firebase-json.js +60 -0
  127. package/dist/cli/firebase-json.js.map +1 -0
  128. package/dist/cli/firestore-indexes.d.ts +21 -0
  129. package/dist/cli/firestore-indexes.d.ts.map +1 -0
  130. package/dist/cli/firestore-indexes.js +39 -0
  131. package/dist/cli/firestore-indexes.js.map +1 -0
  132. package/dist/cli/index.d.ts +56 -0
  133. package/dist/cli/index.d.ts.map +1 -0
  134. package/dist/cli/index.js +379 -0
  135. package/dist/cli/index.js.map +1 -0
  136. package/dist/cli/init.d.ts +50 -0
  137. package/dist/cli/init.d.ts.map +1 -0
  138. package/dist/cli/init.js +182 -0
  139. package/dist/cli/init.js.map +1 -0
  140. package/dist/cli/mcp-proxy.d.ts +10 -0
  141. package/dist/cli/mcp-proxy.d.ts.map +1 -0
  142. package/dist/cli/mcp-proxy.js +129 -0
  143. package/dist/cli/mcp-proxy.js.map +1 -0
  144. package/dist/cli/parse-args.d.ts +20 -0
  145. package/dist/cli/parse-args.d.ts.map +1 -0
  146. package/dist/cli/parse-args.js +69 -0
  147. package/dist/cli/parse-args.js.map +1 -0
  148. package/dist/cli/rules.d.ts +55 -0
  149. package/dist/cli/rules.d.ts.map +1 -0
  150. package/dist/cli/rules.js +199 -0
  151. package/dist/cli/rules.js.map +1 -0
  152. package/dist/cli/scope.d.ts +12 -0
  153. package/dist/cli/scope.d.ts.map +1 -0
  154. package/dist/cli/scope.js +44 -0
  155. package/dist/cli/scope.js.map +1 -0
  156. package/dist/cli/serve.d.ts +122 -0
  157. package/dist/cli/serve.d.ts.map +1 -0
  158. package/dist/cli/serve.js +844 -0
  159. package/dist/cli/serve.js.map +1 -0
  160. package/dist/cli/service-commands.d.ts +8 -0
  161. package/dist/cli/service-commands.d.ts.map +1 -0
  162. package/dist/cli/service-commands.js +58 -0
  163. package/dist/cli/service-commands.js.map +1 -0
  164. package/dist/cli/snapshot.d.ts +22 -0
  165. package/dist/cli/snapshot.d.ts.map +1 -0
  166. package/dist/cli/snapshot.js +139 -0
  167. package/dist/cli/snapshot.js.map +1 -0
  168. package/dist/cli/storage-rules.d.ts +21 -0
  169. package/dist/cli/storage-rules.d.ts.map +1 -0
  170. package/dist/cli/storage-rules.js +121 -0
  171. package/dist/cli/storage-rules.js.map +1 -0
  172. package/dist/cli/verify.d.ts +23 -0
  173. package/dist/cli/verify.d.ts.map +1 -0
  174. package/dist/cli/verify.js +349 -0
  175. package/dist/cli/verify.js.map +1 -0
  176. package/dist/credentials/core/memoize-ttl.d.ts +58 -0
  177. package/dist/credentials/core/memoize-ttl.d.ts.map +1 -0
  178. package/dist/credentials/core/memoize-ttl.js +88 -0
  179. package/dist/credentials/core/memoize-ttl.js.map +1 -0
  180. package/dist/credentials/core/types.d.ts +11 -0
  181. package/dist/credentials/core/types.d.ts.map +1 -0
  182. package/dist/credentials/core/types.js +2 -0
  183. package/dist/credentials/core/types.js.map +1 -0
  184. package/dist/credentials/node/from-adc.d.ts +10 -0
  185. package/dist/credentials/node/from-adc.d.ts.map +1 -0
  186. package/dist/credentials/node/from-adc.js +76 -0
  187. package/dist/credentials/node/from-adc.js.map +1 -0
  188. package/dist/credentials/node/from-service-account.d.ts +24 -0
  189. package/dist/credentials/node/from-service-account.d.ts.map +1 -0
  190. package/dist/credentials/node/from-service-account.js +108 -0
  191. package/dist/credentials/node/from-service-account.js.map +1 -0
  192. package/dist/credentials/node/index.d.ts +7 -0
  193. package/dist/credentials/node/index.d.ts.map +1 -0
  194. package/dist/credentials/node/index.js +7 -0
  195. package/dist/credentials/node/index.js.map +1 -0
  196. package/dist/discover/concurrency.d.ts +42 -0
  197. package/dist/discover/concurrency.d.ts.map +1 -0
  198. package/dist/discover/concurrency.js +113 -0
  199. package/dist/discover/concurrency.js.map +1 -0
  200. package/dist/discover/crawler-adapter.d.ts +48 -0
  201. package/dist/discover/crawler-adapter.d.ts.map +1 -0
  202. package/dist/discover/crawler-adapter.js +92 -0
  203. package/dist/discover/crawler-adapter.js.map +1 -0
  204. package/dist/discover/crawler.d.ts +294 -0
  205. package/dist/discover/crawler.d.ts.map +1 -0
  206. package/dist/discover/crawler.js +764 -0
  207. package/dist/discover/crawler.js.map +1 -0
  208. package/dist/discover/credential-free.d.ts +19 -0
  209. package/dist/discover/credential-free.d.ts.map +1 -0
  210. package/dist/discover/credential-free.js +18 -0
  211. package/dist/discover/credential-free.js.map +1 -0
  212. package/dist/discover/findCollectionGroup.d.ts +44 -0
  213. package/dist/discover/findCollectionGroup.d.ts.map +1 -0
  214. package/dist/discover/findCollectionGroup.js +81 -0
  215. package/dist/discover/findCollectionGroup.js.map +1 -0
  216. package/dist/discover/firestore-source.d.ts +60 -0
  217. package/dist/discover/firestore-source.d.ts.map +1 -0
  218. package/dist/discover/firestore-source.js +11 -0
  219. package/dist/discover/firestore-source.js.map +1 -0
  220. package/dist/discover/index.d.ts +3 -0
  221. package/dist/discover/index.d.ts.map +1 -0
  222. package/dist/discover/index.js +5 -0
  223. package/dist/discover/index.js.map +1 -0
  224. package/dist/discover/merge.d.ts +108 -0
  225. package/dist/discover/merge.d.ts.map +1 -0
  226. package/dist/discover/merge.js +394 -0
  227. package/dist/discover/merge.js.map +1 -0
  228. package/dist/discover/session.d.ts +116 -0
  229. package/dist/discover/session.d.ts.map +1 -0
  230. package/dist/discover/session.js +331 -0
  231. package/dist/discover/session.js.map +1 -0
  232. package/dist/discover/tools.d.ts +58 -0
  233. package/dist/discover/tools.d.ts.map +1 -0
  234. package/dist/discover/tools.js +115 -0
  235. package/dist/discover/tools.js.map +1 -0
  236. package/dist/discover/types.d.ts +190 -0
  237. package/dist/discover/types.d.ts.map +1 -0
  238. package/dist/discover/types.js +12 -0
  239. package/dist/discover/types.js.map +1 -0
  240. package/dist/discover/wire.d.ts +70 -0
  241. package/dist/discover/wire.d.ts.map +1 -0
  242. package/dist/discover/wire.js +309 -0
  243. package/dist/discover/wire.js.map +1 -0
  244. package/dist/functions-rtdb/child.d.ts +52 -0
  245. package/dist/functions-rtdb/child.d.ts.map +1 -0
  246. package/dist/functions-rtdb/child.js +283 -0
  247. package/dist/functions-rtdb/child.js.map +1 -0
  248. package/dist/functions-rtdb/delivery.d.ts +4 -0
  249. package/dist/functions-rtdb/delivery.d.ts.map +1 -0
  250. package/dist/functions-rtdb/delivery.js +2 -0
  251. package/dist/functions-rtdb/delivery.js.map +1 -0
  252. package/dist/functions-rtdb/discovery.d.ts +41 -0
  253. package/dist/functions-rtdb/discovery.d.ts.map +1 -0
  254. package/dist/functions-rtdb/discovery.js +86 -0
  255. package/dist/functions-rtdb/discovery.js.map +1 -0
  256. package/dist/functions-rtdb/event.d.ts +20 -0
  257. package/dist/functions-rtdb/event.d.ts.map +1 -0
  258. package/dist/functions-rtdb/event.js +45 -0
  259. package/dist/functions-rtdb/event.js.map +1 -0
  260. package/dist/functions-rtdb/execution.d.ts +20 -0
  261. package/dist/functions-rtdb/execution.d.ts.map +1 -0
  262. package/dist/functions-rtdb/execution.js +70 -0
  263. package/dist/functions-rtdb/execution.js.map +1 -0
  264. package/dist/functions-rtdb/in-memory-delivery.d.ts +9 -0
  265. package/dist/functions-rtdb/in-memory-delivery.d.ts.map +1 -0
  266. package/dist/functions-rtdb/in-memory-delivery.js +36 -0
  267. package/dist/functions-rtdb/in-memory-delivery.js.map +1 -0
  268. package/dist/functions-rtdb/project.d.ts +7 -0
  269. package/dist/functions-rtdb/project.d.ts.map +1 -0
  270. package/dist/functions-rtdb/project.js +54 -0
  271. package/dist/functions-rtdb/project.js.map +1 -0
  272. package/dist/functions-rtdb/projection.d.ts +14 -0
  273. package/dist/functions-rtdb/projection.d.ts.map +1 -0
  274. package/dist/functions-rtdb/projection.js +65 -0
  275. package/dist/functions-rtdb/projection.js.map +1 -0
  276. package/dist/functions-rtdb/reference-pattern.d.ts +5 -0
  277. package/dist/functions-rtdb/reference-pattern.d.ts.map +1 -0
  278. package/dist/functions-rtdb/reference-pattern.js +14 -0
  279. package/dist/functions-rtdb/reference-pattern.js.map +1 -0
  280. package/dist/functions-rtdb/remote-delivery.d.ts +9 -0
  281. package/dist/functions-rtdb/remote-delivery.d.ts.map +1 -0
  282. package/dist/functions-rtdb/remote-delivery.js +11 -0
  283. package/dist/functions-rtdb/remote-delivery.js.map +1 -0
  284. package/dist/pkg-version.d.ts +2 -0
  285. package/dist/pkg-version.d.ts.map +1 -0
  286. package/dist/pkg-version.js +47 -0
  287. package/dist/pkg-version.js.map +1 -0
  288. package/dist/register/esm-exports.d.ts +26 -0
  289. package/dist/register/esm-exports.d.ts.map +1 -0
  290. package/dist/register/esm-exports.js +61 -0
  291. package/dist/register/esm-exports.js.map +1 -0
  292. package/dist/register/hooks.d.ts +13 -0
  293. package/dist/register/hooks.d.ts.map +1 -0
  294. package/dist/register/hooks.js +15 -0
  295. package/dist/register/hooks.js.map +1 -0
  296. package/dist/register/index.d.ts +5 -0
  297. package/dist/register/index.d.ts.map +1 -0
  298. package/dist/register/index.js +124 -0
  299. package/dist/register/index.js.map +1 -0
  300. package/dist/register/mapping.d.ts +19 -0
  301. package/dist/register/mapping.d.ts.map +1 -0
  302. package/dist/register/mapping.js +35 -0
  303. package/dist/register/mapping.js.map +1 -0
  304. package/dist/remote/index.d.ts +232 -0
  305. package/dist/remote/index.d.ts.map +1 -0
  306. package/dist/remote/index.js +720 -0
  307. package/dist/remote/index.js.map +1 -0
  308. package/dist/rtdb/crawl-snapshot.d.ts +17 -0
  309. package/dist/rtdb/crawl-snapshot.d.ts.map +1 -0
  310. package/dist/rtdb/crawl-snapshot.js +72 -0
  311. package/dist/rtdb/crawl-snapshot.js.map +1 -0
  312. package/dist/rtdb/inspection.d.ts +8 -0
  313. package/dist/rtdb/inspection.d.ts.map +1 -0
  314. package/dist/rtdb/inspection.js +111 -0
  315. package/dist/rtdb/inspection.js.map +1 -0
  316. package/dist/rtdb/load-rules-document.d.ts +25 -0
  317. package/dist/rtdb/load-rules-document.d.ts.map +1 -0
  318. package/dist/rtdb/load-rules-document.js +38 -0
  319. package/dist/rtdb/load-rules-document.js.map +1 -0
  320. package/dist/rtdb/rules-generation-tool.d.ts +4 -0
  321. package/dist/rtdb/rules-generation-tool.d.ts.map +1 -0
  322. package/dist/rtdb/rules-generation-tool.js +35 -0
  323. package/dist/rtdb/rules-generation-tool.js.map +1 -0
  324. package/dist/rtdb/rules-json.d.ts +8 -0
  325. package/dist/rtdb/rules-json.d.ts.map +1 -0
  326. package/dist/rtdb/rules-json.js +17 -0
  327. package/dist/rtdb/rules-json.js.map +1 -0
  328. package/dist/serve/bridge-mount.d.ts +36 -0
  329. package/dist/serve/bridge-mount.d.ts.map +1 -0
  330. package/dist/serve/bridge-mount.js +162 -0
  331. package/dist/serve/bridge-mount.js.map +1 -0
  332. package/dist/serve/bundler.d.ts +110 -0
  333. package/dist/serve/bundler.d.ts.map +1 -0
  334. package/dist/serve/bundler.js +432 -0
  335. package/dist/serve/bundler.js.map +1 -0
  336. package/dist/serve/capture-store.d.ts +27 -0
  337. package/dist/serve/capture-store.d.ts.map +1 -0
  338. package/dist/serve/capture-store.js +47 -0
  339. package/dist/serve/capture-store.js.map +1 -0
  340. package/dist/serve/discovery.d.ts +71 -0
  341. package/dist/serve/discovery.d.ts.map +1 -0
  342. package/dist/serve/discovery.js +158 -0
  343. package/dist/serve/discovery.js.map +1 -0
  344. package/dist/serve/docs-ui/_astro/_slug_.CQYSemvw.css +1 -0
  345. package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
  346. package/dist/serve/docs-ui/docs/_rhythm.md +101 -0
  347. package/dist/serve/docs-ui/docs/api-reference/index.html +64 -0
  348. package/dist/serve/docs-ui/docs/api-reference.md +67 -0
  349. package/dist/serve/docs-ui/docs/audit-your-rules/index.html +34 -0
  350. package/dist/serve/docs-ui/docs/audit-your-rules.md +50 -0
  351. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +498 -0
  352. package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +345 -0
  353. package/dist/serve/docs-ui/docs/firestore-rules-limits/index.html +59 -0
  354. package/dist/serve/docs-ui/docs/firestore-rules-limits.md +54 -0
  355. package/dist/serve/docs-ui/docs/how-the-swap-works/index.html +47 -0
  356. package/dist/serve/docs-ui/docs/how-the-swap-works.md +43 -0
  357. package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase/index.html +131 -0
  358. package/dist/serve/docs-ui/docs/how-we-know-it-matches-firebase.md +169 -0
  359. package/dist/serve/docs-ui/docs/index.html +2 -0
  360. package/dist/serve/docs-ui/docs/index.json +18637 -0
  361. package/dist/serve/docs-ui/docs/overview/index.html +23 -0
  362. package/dist/serve/docs-ui/docs/overview.md +40 -0
  363. package/dist/serve/docs-ui/docs/pyric-admin-app/index.html +19 -0
  364. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +185 -0
  365. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +206 -0
  366. package/dist/serve/docs-ui/docs/pyric-admin-app.md +27 -0
  367. package/dist/serve/docs-ui/docs/pyric-admin-auth/index.html +24 -0
  368. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +617 -0
  369. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +441 -0
  370. package/dist/serve/docs-ui/docs/pyric-admin-auth.md +29 -0
  371. package/dist/serve/docs-ui/docs/pyric-admin-database/index.html +26 -0
  372. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +583 -0
  373. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +597 -0
  374. package/dist/serve/docs-ui/docs/pyric-admin-database.md +31 -0
  375. package/dist/serve/docs-ui/docs/pyric-admin-firestore/index.html +38 -0
  376. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation/index.html +57 -0
  377. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-error-translation.md +95 -0
  378. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate/index.html +58 -0
  379. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-per-call-delegate.md +94 -0
  380. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape/index.html +59 -0
  381. package/dist/serve/docs-ui/docs/pyric-admin-firestore-explanation-why-mirror-admin-shape.md +88 -0
  382. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction/index.html +53 -0
  383. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-run-a-transaction.md +76 -0
  384. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules/index.html +62 -0
  385. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-seed-and-set-rules.md +96 -0
  386. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials/index.html +80 -0
  387. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-translate-denials.md +98 -0
  388. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot/index.html +57 -0
  389. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-use-onsnapshot.md +88 -0
  390. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch/index.html +50 -0
  391. package/dist/serve/docs-ui/docs/pyric-admin-firestore-how-to-write-a-batch.md +73 -0
  392. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +32 -0
  393. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +30 -0
  394. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot/index.html +68 -0
  395. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-onsnapshot.md +81 -0
  396. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types/index.html +76 -0
  397. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-re-exported-types.md +103 -0
  398. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore/index.html +40 -0
  399. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-sandbox-firestore.md +77 -0
  400. package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session/index.html +118 -0
  401. package/dist/serve/docs-ui/docs/pyric-admin-firestore-tutorials-01-first-admin-session.md +166 -0
  402. package/dist/serve/docs-ui/docs/pyric-admin-firestore.md +53 -0
  403. package/dist/serve/docs-ui/docs/pyric-admin-storage/index.html +25 -0
  404. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +317 -0
  405. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +285 -0
  406. package/dist/serve/docs-ui/docs/pyric-admin-storage.md +30 -0
  407. package/dist/serve/docs-ui/docs/pyric-ai-compat/index.html +436 -0
  408. package/dist/serve/docs-ui/docs/pyric-ai-compat.md +471 -0
  409. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +5831 -0
  410. package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5440 -0
  411. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +159 -0
  412. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +122 -0
  413. package/dist/serve/docs-ui/docs/pyric-app-compat/index.html +180 -0
  414. package/dist/serve/docs-ui/docs/pyric-app-compat.md +199 -0
  415. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +420 -0
  416. package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +326 -0
  417. package/dist/serve/docs-ui/docs/pyric-auth/index.html +59 -0
  418. package/dist/serve/docs-ui/docs/pyric-auth-compat/index.html +804 -0
  419. package/dist/serve/docs-ui/docs/pyric-auth-compat.md +847 -0
  420. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +5452 -0
  421. package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +5271 -0
  422. package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix/index.html +781 -0
  423. package/dist/serve/docs-ui/docs/pyric-auth-reference-feature-matrix.md +198 -0
  424. package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver/index.html +71 -0
  425. package/dist/serve/docs-ui/docs/pyric-auth-reference-sandbox-test-driver.md +108 -0
  426. package/dist/serve/docs-ui/docs/pyric-auth.md +86 -0
  427. package/dist/serve/docs-ui/docs/pyric-cli/index.html +40 -0
  428. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +98 -0
  429. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +88 -0
  430. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +2355 -0
  431. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1554 -0
  432. package/dist/serve/docs-ui/docs/pyric-cli-bridge/index.html +69 -0
  433. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +546 -0
  434. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +485 -0
  435. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +506 -0
  436. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +419 -0
  437. package/dist/serve/docs-ui/docs/pyric-cli-bridge.md +99 -0
  438. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +67 -0
  439. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +59 -0
  440. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +2355 -0
  441. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +2036 -0
  442. package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat/index.html +112 -0
  443. package/dist/serve/docs-ui/docs/pyric-cli-functions-rtdb-compat.md +124 -0
  444. package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary/index.html +91 -0
  445. package/dist/serve/docs-ui/docs/pyric-cli-how-to-build-a-standalone-binary.md +105 -0
  446. package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture/index.html +52 -0
  447. package/dist/serve/docs-ui/docs/pyric-cli-how-to-promote-sandbox-state-to-a-fixture.md +98 -0
  448. package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/index.html +66 -0
  449. package/dist/serve/docs-ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated.md +100 -0
  450. package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab/index.html +228 -0
  451. package/dist/serve/docs-ui/docs/pyric-cli-how-to-serve-persistence-and-multi-tab.md +179 -0
  452. package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin/index.html +341 -0
  453. package/dist/serve/docs-ui/docs/pyric-cli-how-to-use-the-vite-plugin.md +309 -0
  454. package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session/index.html +128 -0
  455. package/dist/serve/docs-ui/docs/pyric-cli-how-to-verify-against-a-captured-session.md +207 -0
  456. package/dist/serve/docs-ui/docs/pyric-cli-reference-cli/index.html +404 -0
  457. package/dist/serve/docs-ui/docs/pyric-cli-reference-cli.md +249 -0
  458. package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution/index.html +93 -0
  459. package/dist/serve/docs-ui/docs/pyric-cli-reference-package-and-resolution.md +65 -0
  460. package/dist/serve/docs-ui/docs/pyric-cli-reference-verify/index.html +81 -0
  461. package/dist/serve/docs-ui/docs/pyric-cli-reference-verify.md +110 -0
  462. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +10 -0
  463. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +16 -0
  464. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1044 -0
  465. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +952 -0
  466. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +5041 -0
  467. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +4739 -0
  468. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption/index.html +219 -0
  469. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-server-adoption.md +251 -0
  470. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code/index.html +136 -0
  471. package/dist/serve/docs-ui/docs/pyric-cli-tutorials-wire-claude-code.md +217 -0
  472. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +926 -0
  473. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +586 -0
  474. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +102 -0
  475. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +76 -0
  476. package/dist/serve/docs-ui/docs/pyric-cli.md +42 -0
  477. package/dist/serve/docs-ui/docs/pyric-conformance-scores/index.html +180 -0
  478. package/dist/serve/docs-ui/docs/pyric-conformance-scores.md +184 -0
  479. package/dist/serve/docs-ui/docs/pyric-database/index.html +43 -0
  480. package/dist/serve/docs-ui/docs/pyric-database-compat/index.html +1224 -0
  481. package/dist/serve/docs-ui/docs/pyric-database-compat.md +1289 -0
  482. package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate/index.html +16 -0
  483. package/dist/serve/docs-ui/docs/pyric-database-explanation-rules-authoring-and-deploy-are-separate.md +23 -0
  484. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1851 -0
  485. package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +1842 -0
  486. package/dist/serve/docs-ui/docs/pyric-database-reference-constraints/index.html +381 -0
  487. package/dist/serve/docs-ui/docs/pyric-database-reference-constraints.md +168 -0
  488. package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling/index.html +218 -0
  489. package/dist/serve/docs-ui/docs/pyric-database-reference-rules-tooling.md +303 -0
  490. package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints/index.html +125 -0
  491. package/dist/serve/docs-ui/docs/pyric-database-tutorials-01-author-rtdb-rules-with-constraints.md +171 -0
  492. package/dist/serve/docs-ui/docs/pyric-database.md +26 -0
  493. package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility/index.html +40 -0
  494. package/dist/serve/docs-ui/docs/pyric-explanation-versioning-and-compatibility.md +68 -0
  495. package/dist/serve/docs-ui/docs/pyric-firestore/index.html +48 -0
  496. package/dist/serve/docs-ui/docs/pyric-firestore-compat/index.html +868 -0
  497. package/dist/serve/docs-ui/docs/pyric-firestore-compat.md +939 -0
  498. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate/index.html +92 -0
  499. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-rules-tooling-is-separate.md +70 -0
  500. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity/index.html +59 -0
  501. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-target-symbol-opacity.md +91 -0
  502. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface/index.html +43 -0
  503. package/dist/serve/docs-ui/docs/pyric-firestore-explanation-two-backends-one-surface.md +58 -0
  504. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore/index.html +58 -0
  505. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-migrate-from-firebase-firestore.md +86 -0
  506. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend/index.html +52 -0
  507. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-pick-a-backend.md +83 -0
  508. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction/index.html +42 -0
  509. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-run-a-transaction.md +59 -0
  510. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot/index.html +66 -0
  511. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-onsnapshot.md +96 -0
  512. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops/index.html +61 -0
  513. package/dist/serve/docs-ui/docs/pyric-firestore-how-to-use-sandbox-ops.md +92 -0
  514. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +3623 -0
  515. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +3399 -0
  516. package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix/index.html +80 -0
  517. package/dist/serve/docs-ui/docs/pyric-firestore-reference-feature-matrix.md +66 -0
  518. package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore/index.html +46 -0
  519. package/dist/serve/docs-ui/docs/pyric-firestore-reference-getfirestore.md +73 -0
  520. package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints/index.html +80 -0
  521. package/dist/serve/docs-ui/docs/pyric-firestore-reference-query-constraints.md +129 -0
  522. package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops/index.html +58 -0
  523. package/dist/serve/docs-ui/docs/pyric-firestore-reference-sandbox-ops.md +88 -0
  524. package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories/index.html +51 -0
  525. package/dist/serve/docs-ui/docs/pyric-firestore-reference-tool-factories.md +71 -0
  526. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo/index.html +130 -0
  527. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-01-write-a-sandbox-demo.md +180 -0
  528. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend/index.html +59 -0
  529. package/dist/serve/docs-ui/docs/pyric-firestore-tutorials-02-swap-to-prod-backend.md +92 -0
  530. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +30 -0
  531. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +30 -0
  532. package/dist/serve/docs-ui/docs/pyric-firestore.md +72 -0
  533. package/dist/serve/docs-ui/docs/pyric-messaging-compat/index.html +300 -0
  534. package/dist/serve/docs-ui/docs/pyric-messaging-compat.md +321 -0
  535. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +508 -0
  536. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +374 -0
  537. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +482 -0
  538. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +348 -0
  539. package/dist/serve/docs-ui/docs/pyric-rules/index.html +87 -0
  540. package/dist/serve/docs-ui/docs/pyric-rules-compat/index.html +328 -0
  541. package/dist/serve/docs-ui/docs/pyric-rules-compat.md +347 -0
  542. package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes/index.html +50 -0
  543. package/dist/serve/docs-ui/docs/pyric-rules-explanation-agent-failure-modes.md +78 -0
  544. package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test/index.html +79 -0
  545. package/dist/serve/docs-ui/docs/pyric-rules-explanation-lint-vs-validate-vs-simulate-vs-test.md +69 -0
  546. package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates/index.html +67 -0
  547. package/dist/serve/docs-ui/docs/pyric-rules-explanation-runtime-budget-and-shared-gates.md +75 -0
  548. package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine/index.html +49 -0
  549. package/dist/serve/docs-ui/docs/pyric-rules-explanation-sentinel-expression-engine.md +74 -0
  550. package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api/index.html +95 -0
  551. package/dist/serve/docs-ui/docs/pyric-rules-explanation-simulator-vs-rules-test-api.md +80 -0
  552. package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension/index.html +58 -0
  553. package/dist/serve/docs-ui/docs/pyric-rules-explanation-the-2-plus-modules-extension.md +79 -0
  554. package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design/index.html +63 -0
  555. package/dist/serve/docs-ui/docs/pyric-rules-explanation-value-wrappers-design.md +84 -0
  556. package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists/index.html +34 -0
  557. package/dist/serve/docs-ui/docs/pyric-rules-explanation-why-this-package-exists.md +43 -0
  558. package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening/index.html +55 -0
  559. package/dist/serve/docs-ui/docs/pyric-rules-how-to-compare-rulesets-for-weakening.md +77 -0
  560. package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast/index.html +90 -0
  561. package/dist/serve/docs-ui/docs/pyric-rules-how-to-inspect-rules-via-the-ast.md +129 -0
  562. package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source/index.html +55 -0
  563. package/dist/serve/docs-ui/docs/pyric-rules-how-to-lint-rules-source.md +84 -0
  564. package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time/index.html +49 -0
  565. package/dist/serve/docs-ui/docs/pyric-rules-how-to-pin-request-time.md +64 -0
  566. package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent/index.html +61 -0
  567. package/dist/serve/docs-ui/docs/pyric-rules-how-to-register-tools-with-an-agent.md +87 -0
  568. package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports/index.html +93 -0
  569. package/dist/serve/docs-ui/docs/pyric-rules-how-to-resolve-module-imports.md +105 -0
  570. package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally/index.html +89 -0
  571. package/dist/serve/docs-ui/docs/pyric-rules-how-to-simulate-rules-locally.md +134 -0
  572. package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase/index.html +66 -0
  573. package/dist/serve/docs-ui/docs/pyric-rules-how-to-test-rules-against-firebase.md +102 -0
  574. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +2629 -0
  575. package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +2213 -0
  576. package/dist/serve/docs-ui/docs/pyric-rules-reference-ast/index.html +85 -0
  577. package/dist/serve/docs-ui/docs/pyric-rules-reference-ast.md +121 -0
  578. package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps/index.html +277 -0
  579. package/dist/serve/docs-ui/docs/pyric-rules-reference-conformance-gaps.md +360 -0
  580. package/dist/serve/docs-ui/docs/pyric-rules-reference-errors/index.html +76 -0
  581. package/dist/serve/docs-ui/docs/pyric-rules-reference-errors.md +123 -0
  582. package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules/index.html +148 -0
  583. package/dist/serve/docs-ui/docs/pyric-rules-reference-lint-rules.md +159 -0
  584. package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context/index.html +66 -0
  585. package/dist/serve/docs-ui/docs/pyric-rules-reference-simulator-context.md +104 -0
  586. package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules/index.html +241 -0
  587. package/dist/serve/docs-ui/docs/pyric-rules-reference-stdlib-modules.md +143 -0
  588. package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema/index.html +94 -0
  589. package/dist/serve/docs-ui/docs/pyric-rules-reference-test-case-schema.md +121 -0
  590. package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings/index.html +87 -0
  591. package/dist/serve/docs-ui/docs/pyric-rules-reference-validator-findings.md +117 -0
  592. package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers/index.html +102 -0
  593. package/dist/serve/docs-ui/docs/pyric-rules-reference-value-wrappers.md +152 -0
  594. package/dist/serve/docs-ui/docs/pyric-rules.md +93 -0
  595. package/dist/serve/docs-ui/docs/pyric-sandbox/index.html +67 -0
  596. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +120 -0
  597. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +110 -0
  598. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request/index.html +141 -0
  599. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-every-op-is-a-request.md +161 -0
  600. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context/index.html +66 -0
  601. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-identity-is-a-context.md +110 -0
  602. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol/index.html +71 -0
  603. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-internal-adapter-protocol.md +111 -0
  604. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation/index.html +56 -0
  605. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-listener-re-evaluation.md +82 -0
  606. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline/index.html +64 -0
  607. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-local-backend-vs-firestore-offline.md +56 -0
  608. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings/index.html +92 -0
  609. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-adapters-are-siblings.md +90 -0
  610. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists/index.html +69 -0
  611. package/dist/serve/docs-ui/docs/pyric-sandbox-explanation-why-this-package-exists.md +57 -0
  612. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +202 -0
  613. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +134 -0
  614. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes/index.html +63 -0
  615. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-multiple-isolated-sandboxes.md +89 -0
  616. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events/index.html +159 -0
  617. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-observe-events.md +168 -0
  618. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter/index.html +79 -0
  619. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-pick-an-adapter.md +75 -0
  620. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events/index.html +88 -0
  621. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-replay-events.md +92 -0
  622. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests/index.html +68 -0
  623. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-reset-between-tests.md +92 -0
  624. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules/index.html +91 -0
  625. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-seed-data-and-rules.md +122 -0
  626. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users/index.html +50 -0
  627. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-switch-users.md +78 -0
  628. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads/index.html +54 -0
  629. package/dist/serve/docs-ui/docs/pyric-sandbox-how-to-use-admin-reads.md +85 -0
  630. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +5019 -0
  631. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +4060 -0
  632. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences/index.html +125 -0
  633. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-divergences.md +151 -0
  634. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes/index.html +110 -0
  635. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-error-codes.md +118 -0
  636. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol/index.html +72 -0
  637. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-internal-protocol.md +109 -0
  638. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context/index.html +90 -0
  639. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-and-context.md +140 -0
  640. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event/index.html +146 -0
  641. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-sandbox-event.md +204 -0
  642. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin/index.html +53 -0
  643. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-snapshot-and-admin.md +89 -0
  644. package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session/index.html +115 -0
  645. package/dist/serve/docs-ui/docs/pyric-sandbox-tutorials-01-your-first-sandbox-session.md +176 -0
  646. package/dist/serve/docs-ui/docs/pyric-sandbox.md +69 -0
  647. package/dist/serve/docs-ui/docs/pyric-storage/index.html +65 -0
  648. package/dist/serve/docs-ui/docs/pyric-storage-compat/index.html +676 -0
  649. package/dist/serve/docs-ui/docs/pyric-storage-compat.md +699 -0
  650. package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope/index.html +52 -0
  651. package/dist/serve/docs-ui/docs/pyric-storage-explanation-implementation-scope.md +85 -0
  652. package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case/index.html +58 -0
  653. package/dist/serve/docs-ui/docs/pyric-storage-explanation-session-archive-use-case.md +82 -0
  654. package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb/index.html +50 -0
  655. package/dist/serve/docs-ui/docs/pyric-storage-explanation-why-indexeddb.md +82 -0
  656. package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules/index.html +120 -0
  657. package/dist/serve/docs-ui/docs/pyric-storage-how-to-enforce-rules.md +127 -0
  658. package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete/index.html +53 -0
  659. package/dist/serve/docs-ui/docs/pyric-storage-how-to-list-and-delete.md +86 -0
  660. package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends/index.html +43 -0
  661. package/dist/serve/docs-ui/docs/pyric-storage-how-to-switch-backends.md +65 -0
  662. package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions/index.html +70 -0
  663. package/dist/serve/docs-ui/docs/pyric-storage-how-to-test-rule-expressions.md +88 -0
  664. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +2120 -0
  665. package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +1687 -0
  666. package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps/index.html +137 -0
  667. package/dist/serve/docs-ui/docs/pyric-storage-reference-conformance-gaps.md +171 -0
  668. package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes/index.html +37 -0
  669. package/dist/serve/docs-ui/docs/pyric-storage-reference-error-codes.md +57 -0
  670. package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset/index.html +96 -0
  671. package/dist/serve/docs-ui/docs/pyric-storage-reference-rules-subset.md +134 -0
  672. package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options/index.html +39 -0
  673. package/dist/serve/docs-ui/docs/pyric-storage-reference-storage-options.md +61 -0
  674. package/dist/serve/docs-ui/docs/pyric-storage.md +67 -0
  675. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +638 -0
  676. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +430 -0
  677. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +813 -0
  678. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +634 -0
  679. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1708 -0
  680. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +1300 -0
  681. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +177 -0
  682. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +111 -0
  683. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1542 -0
  684. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +903 -0
  685. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1024 -0
  686. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +640 -0
  687. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +2753 -0
  688. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +2171 -0
  689. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1005 -0
  690. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +693 -0
  691. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1388 -0
  692. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +1340 -0
  693. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +131 -0
  694. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +76 -0
  695. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +648 -0
  696. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +508 -0
  697. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1457 -0
  698. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +1029 -0
  699. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +2476 -0
  700. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +1919 -0
  701. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1241 -0
  702. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +817 -0
  703. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +2289 -0
  704. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +1489 -0
  705. package/dist/serve/docs-ui/docs/read-a-denial/index.html +40 -0
  706. package/dist/serve/docs-ui/docs/read-a-denial.md +62 -0
  707. package/dist/serve/docs-ui/docs/receive-messages/index.html +28 -0
  708. package/dist/serve/docs-ui/docs/receive-messages.md +43 -0
  709. package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript/index.html +67 -0
  710. package/dist/serve/docs-ui/docs/rtdb-rules-in-typescript.md +101 -0
  711. package/dist/serve/docs-ui/docs/rules-patterns/index.html +68 -0
  712. package/dist/serve/docs-ui/docs/rules-patterns.md +104 -0
  713. package/dist/serve/docs-ui/docs/rules-standard-library/index.html +87 -0
  714. package/dist/serve/docs-ui/docs/rules-standard-library.md +93 -0
  715. package/dist/serve/docs-ui/docs/run-ai-logic-locally/index.html +27 -0
  716. package/dist/serve/docs-ui/docs/run-ai-logic-locally.md +43 -0
  717. package/dist/serve/docs-ui/docs/secure-it-with-rules/index.html +69 -0
  718. package/dist/serve/docs-ui/docs/secure-it-with-rules.md +101 -0
  719. package/dist/serve/docs-ui/docs/see-whats-happening/index.html +73 -0
  720. package/dist/serve/docs-ui/docs/see-whats-happening.md +77 -0
  721. package/dist/serve/docs-ui/docs/set-up-the-project/index.html +14 -0
  722. package/dist/serve/docs-ui/docs/set-up-the-project.md +19 -0
  723. package/dist/serve/docs-ui/docs/set-up-your-agent/index.html +42 -0
  724. package/dist/serve/docs-ui/docs/set-up-your-agent.md +86 -0
  725. package/dist/serve/docs-ui/docs/shape-your-data/index.html +44 -0
  726. package/dist/serve/docs-ui/docs/shape-your-data.md +88 -0
  727. package/dist/serve/docs-ui/docs/ship-to-production/index.html +36 -0
  728. package/dist/serve/docs-ui/docs/ship-to-production.md +80 -0
  729. package/dist/serve/docs-ui/docs/sign-in-and-manage-users/index.html +31 -0
  730. package/dist/serve/docs-ui/docs/sign-in-and-manage-users.md +50 -0
  731. package/dist/serve/docs-ui/docs/simulate-and-lint/index.html +95 -0
  732. package/dist/serve/docs-ui/docs/simulate-and-lint.md +99 -0
  733. package/dist/serve/docs-ui/docs/skills/index.html +20 -0
  734. package/dist/serve/docs-ui/docs/skills.md +34 -0
  735. package/dist/serve/docs-ui/docs/start-building/index.html +32 -0
  736. package/dist/serve/docs-ui/docs/start-building.md +64 -0
  737. package/dist/serve/docs-ui/docs/store-and-query-data/index.html +16 -0
  738. package/dist/serve/docs-ui/docs/store-and-query-data.md +33 -0
  739. package/dist/serve/docs-ui/docs/store-files/index.html +13 -0
  740. package/dist/serve/docs-ui/docs/store-files.md +25 -0
  741. package/dist/serve/docs-ui/docs/sync-realtime-data/index.html +15 -0
  742. package/dist/serve/docs-ui/docs/sync-realtime-data.md +27 -0
  743. package/dist/serve/docs-ui/docs/test-in-node/index.html +74 -0
  744. package/dist/serve/docs-ui/docs/test-in-node.md +100 -0
  745. package/dist/serve/docs-ui/docs/ui/index.html +76 -0
  746. package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper/index.html +194 -0
  747. package/dist/serve/docs-ui/docs/ui-auth-authsigninhelper.md +114 -0
  748. package/dist/serve/docs-ui/docs/ui-auth-authusers/index.html +263 -0
  749. package/dist/serve/docs-ui/docs/ui-auth-authusers.md +183 -0
  750. package/dist/serve/docs-ui/docs/ui-firestore-collectionlist/index.html +92 -0
  751. package/dist/serve/docs-ui/docs/ui-firestore-collectionlist.md +79 -0
  752. package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm/index.html +128 -0
  753. package/dist/serve/docs-ui/docs/ui-firestore-deletewithconfirm.md +104 -0
  754. package/dist/serve/docs-ui/docs/ui-firestore-documenteditor/index.html +154 -0
  755. package/dist/serve/docs-ui/docs/ui-firestore-documenteditor.md +117 -0
  756. package/dist/serve/docs-ui/docs/ui-firestore-documentlist/index.html +132 -0
  757. package/dist/serve/docs-ui/docs/ui-firestore-documentlist.md +92 -0
  758. package/dist/serve/docs-ui/docs/ui-firestore-documentpreview/index.html +159 -0
  759. package/dist/serve/docs-ui/docs/ui-firestore-documentpreview.md +84 -0
  760. package/dist/serve/docs-ui/docs/ui-firestore-querybuilder/index.html +104 -0
  761. package/dist/serve/docs-ui/docs/ui-firestore-querybuilder.md +103 -0
  762. package/dist/serve/docs-ui/docs/ui-firestore-referencepicker/index.html +113 -0
  763. package/dist/serve/docs-ui/docs/ui-firestore-referencepicker.md +93 -0
  764. package/dist/serve/docs-ui/docs/ui-primitives-badge/index.html +56 -0
  765. package/dist/serve/docs-ui/docs/ui-primitives-badge.md +40 -0
  766. package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog/index.html +140 -0
  767. package/dist/serve/docs-ui/docs/ui-primitives-confirmdialog.md +108 -0
  768. package/dist/serve/docs-ui/docs/ui-primitives-copybutton/index.html +58 -0
  769. package/dist/serve/docs-ui/docs/ui-primitives-copybutton.md +37 -0
  770. package/dist/serve/docs-ui/docs/ui-primitives-jsonview/index.html +58 -0
  771. package/dist/serve/docs-ui/docs/ui-primitives-jsonview.md +47 -0
  772. package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol/index.html +70 -0
  773. package/dist/serve/docs-ui/docs/ui-primitives-segmentedcontrol.md +50 -0
  774. package/dist/serve/docs-ui/docs/ui-primitives-toast/index.html +87 -0
  775. package/dist/serve/docs-ui/docs/ui-primitives-toast.md +82 -0
  776. package/dist/serve/docs-ui/docs/ui-primitives-virtuallist/index.html +85 -0
  777. package/dist/serve/docs-ui/docs/ui-primitives-virtuallist.md +54 -0
  778. package/dist/serve/docs-ui/docs/ui-storage/index.html +150 -0
  779. package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm/index.html +126 -0
  780. package/dist/serve/docs-ui/docs/ui-storage-deleteselectionwithconfirm.md +88 -0
  781. package/dist/serve/docs-ui/docs/ui-storage-objectbrowser/index.html +137 -0
  782. package/dist/serve/docs-ui/docs/ui-storage-objectbrowser.md +90 -0
  783. package/dist/serve/docs-ui/docs/ui-storage-objectinspector/index.html +139 -0
  784. package/dist/serve/docs-ui/docs/ui-storage-objectinspector.md +93 -0
  785. package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb/index.html +72 -0
  786. package/dist/serve/docs-ui/docs/ui-storage-pathbreadcrumb.md +57 -0
  787. package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances/index.html +60 -0
  788. package/dist/serve/docs-ui/docs/ui-storage-rules-aware-affordances.md +52 -0
  789. package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone/index.html +93 -0
  790. package/dist/serve/docs-ui/docs/ui-storage-uploaddropzone.md +78 -0
  791. package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate/index.html +144 -0
  792. package/dist/serve/docs-ui/docs/ui-storage-usestoragerulesgate.md +101 -0
  793. package/dist/serve/docs-ui/docs/ui-storage.md +165 -0
  794. package/dist/serve/docs-ui/docs/ui-traffic/index.html +88 -0
  795. package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap/index.html +79 -0
  796. package/dist/serve/docs-ui/docs/ui-traffic-ruleheatmap.md +60 -0
  797. package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail/index.html +78 -0
  798. package/dist/serve/docs-ui/docs/ui-traffic-trafficdetail.md +59 -0
  799. package/dist/serve/docs-ui/docs/ui-traffic-trafficlog/index.html +118 -0
  800. package/dist/serve/docs-ui/docs/ui-traffic-trafficlog.md +69 -0
  801. package/dist/serve/docs-ui/docs/ui-traffic-trafficstats/index.html +51 -0
  802. package/dist/serve/docs-ui/docs/ui-traffic-trafficstats.md +46 -0
  803. package/dist/serve/docs-ui/docs/ui-traffic.md +102 -0
  804. package/dist/serve/docs-ui/docs/ui.md +90 -0
  805. package/dist/serve/docs-ui/docs/watch-and-review/index.html +25 -0
  806. package/dist/serve/docs-ui/docs/watch-and-review.md +40 -0
  807. package/dist/serve/docs-ui/docs/what-your-agent-can-do/index.html +81 -0
  808. package/dist/serve/docs-ui/docs/what-your-agent-can-do.md +78 -0
  809. package/dist/serve/docs-ui/docs/whats-experimental/index.html +22 -0
  810. package/dist/serve/docs-ui/docs/whats-experimental.md +33 -0
  811. package/dist/serve/docs-ui/docs/whats-possible/index.html +63 -0
  812. package/dist/serve/docs-ui/docs/whats-possible.md +53 -0
  813. package/dist/serve/docs-ui/docs/which-data-service/index.html +8 -0
  814. package/dist/serve/docs-ui/docs/which-data-service.md +11 -0
  815. package/dist/serve/docs-ui/docs/write-a-rules-test-suite/index.html +85 -0
  816. package/dist/serve/docs-ui/docs/write-a-rules-test-suite.md +119 -0
  817. package/dist/serve/docs-ui/index.html +1 -0
  818. package/dist/serve/docs-ui/llms.txt +308 -0
  819. package/dist/serve/entries/ai.d.ts +4 -0
  820. package/dist/serve/entries/ai.d.ts.map +1 -0
  821. package/dist/serve/entries/ai.js +184 -0
  822. package/dist/serve/entries/ai.js.map +1 -0
  823. package/dist/serve/entries/app-backend.d.ts +2 -0
  824. package/dist/serve/entries/app-backend.d.ts.map +1 -0
  825. package/dist/serve/entries/app-backend.js +4 -0
  826. package/dist/serve/entries/app-backend.js.map +1 -0
  827. package/dist/serve/entries/app-client.d.ts +5 -0
  828. package/dist/serve/entries/app-client.d.ts.map +1 -0
  829. package/dist/serve/entries/app-client.js +23 -0
  830. package/dist/serve/entries/app-client.js.map +1 -0
  831. package/dist/serve/entries/app-session-store.d.ts +14 -0
  832. package/dist/serve/entries/app-session-store.d.ts.map +1 -0
  833. package/dist/serve/entries/app-session-store.js +37 -0
  834. package/dist/serve/entries/app-session-store.js.map +1 -0
  835. package/dist/serve/entries/app.d.ts +2 -0
  836. package/dist/serve/entries/app.d.ts.map +1 -0
  837. package/dist/serve/entries/app.js +10 -0
  838. package/dist/serve/entries/app.js.map +1 -0
  839. package/dist/serve/entries/auth-helper-core.d.ts +52 -0
  840. package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
  841. package/dist/serve/entries/auth-helper-core.js +118 -0
  842. package/dist/serve/entries/auth-helper-core.js.map +1 -0
  843. package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
  844. package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
  845. package/dist/serve/entries/auth-helper-dom.js +116 -0
  846. package/dist/serve/entries/auth-helper-dom.js.map +1 -0
  847. package/dist/serve/entries/auth-helper-runtime.d.ts +5 -0
  848. package/dist/serve/entries/auth-helper-runtime.d.ts.map +1 -0
  849. package/dist/serve/entries/auth-helper-runtime.js +11 -0
  850. package/dist/serve/entries/auth-helper-runtime.js.map +1 -0
  851. package/dist/serve/entries/auth.d.ts +77 -0
  852. package/dist/serve/entries/auth.d.ts.map +1 -0
  853. package/dist/serve/entries/auth.js +201 -0
  854. package/dist/serve/entries/auth.js.map +1 -0
  855. package/dist/serve/entries/bridge-url.d.ts +25 -0
  856. package/dist/serve/entries/bridge-url.d.ts.map +1 -0
  857. package/dist/serve/entries/bridge-url.js +30 -0
  858. package/dist/serve/entries/bridge-url.js.map +1 -0
  859. package/dist/serve/entries/database.d.ts +46 -0
  860. package/dist/serve/entries/database.d.ts.map +1 -0
  861. package/dist/serve/entries/database.js +80 -0
  862. package/dist/serve/entries/database.js.map +1 -0
  863. package/dist/serve/entries/firestore.d.ts +104 -0
  864. package/dist/serve/entries/firestore.d.ts.map +1 -0
  865. package/dist/serve/entries/firestore.js +202 -0
  866. package/dist/serve/entries/firestore.js.map +1 -0
  867. package/dist/serve/entries/init.d.ts +2 -0
  868. package/dist/serve/entries/init.d.ts.map +1 -0
  869. package/dist/serve/entries/init.js +40 -0
  870. package/dist/serve/entries/init.js.map +1 -0
  871. package/dist/serve/entries/keepalive.d.ts +20 -0
  872. package/dist/serve/entries/keepalive.d.ts.map +1 -0
  873. package/dist/serve/entries/keepalive.js +38 -0
  874. package/dist/serve/entries/keepalive.js.map +1 -0
  875. package/dist/serve/entries/messaging-sw.d.ts +10 -0
  876. package/dist/serve/entries/messaging-sw.d.ts.map +1 -0
  877. package/dist/serve/entries/messaging-sw.js +36 -0
  878. package/dist/serve/entries/messaging-sw.js.map +1 -0
  879. package/dist/serve/entries/messaging.d.ts +11 -0
  880. package/dist/serve/entries/messaging.d.ts.map +1 -0
  881. package/dist/serve/entries/messaging.js +53 -0
  882. package/dist/serve/entries/messaging.js.map +1 -0
  883. package/dist/serve/entries/runtime.d.ts +46 -0
  884. package/dist/serve/entries/runtime.d.ts.map +1 -0
  885. package/dist/serve/entries/runtime.js +435 -0
  886. package/dist/serve/entries/runtime.js.map +1 -0
  887. package/dist/serve/entries/session-store.d.ts +48 -0
  888. package/dist/serve/entries/session-store.d.ts.map +1 -0
  889. package/dist/serve/entries/session-store.js +82 -0
  890. package/dist/serve/entries/session-store.js.map +1 -0
  891. package/dist/serve/entries/storage.d.ts +25 -0
  892. package/dist/serve/entries/storage.d.ts.map +1 -0
  893. package/dist/serve/entries/storage.js +61 -0
  894. package/dist/serve/entries/storage.js.map +1 -0
  895. package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
  896. package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
  897. package/dist/serve/entries/tab-sync-wiring.js +217 -0
  898. package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
  899. package/dist/serve/entries/worker-runtime.d.ts +10 -0
  900. package/dist/serve/entries/worker-runtime.d.ts.map +1 -0
  901. package/dist/serve/entries/worker-runtime.js +59 -0
  902. package/dist/serve/entries/worker-runtime.js.map +1 -0
  903. package/dist/serve/init-payload.d.ts +21 -0
  904. package/dist/serve/init-payload.d.ts.map +1 -0
  905. package/dist/serve/init-payload.js +2 -0
  906. package/dist/serve/init-payload.js.map +1 -0
  907. package/dist/serve/namespace.d.ts +73 -0
  908. package/dist/serve/namespace.d.ts.map +1 -0
  909. package/dist/serve/namespace.js +470 -0
  910. package/dist/serve/namespace.js.map +1 -0
  911. package/dist/serve/open-browser.d.ts +23 -0
  912. package/dist/serve/open-browser.d.ts.map +1 -0
  913. package/dist/serve/open-browser.js +58 -0
  914. package/dist/serve/open-browser.js.map +1 -0
  915. package/dist/serve/rules.d.ts +77 -0
  916. package/dist/serve/rules.d.ts.map +1 -0
  917. package/dist/serve/rules.js +202 -0
  918. package/dist/serve/rules.js.map +1 -0
  919. package/dist/serve/sandbox-marker.d.ts +9 -0
  920. package/dist/serve/sandbox-marker.d.ts.map +1 -0
  921. package/dist/serve/sandbox-marker.js +31 -0
  922. package/dist/serve/sandbox-marker.js.map +1 -0
  923. package/dist/serve/server.d.ts +135 -0
  924. package/dist/serve/server.d.ts.map +1 -0
  925. package/dist/serve/server.js +328 -0
  926. package/dist/serve/server.js.map +1 -0
  927. package/dist/serve/standalone-assets.d.ts +67 -0
  928. package/dist/serve/standalone-assets.d.ts.map +1 -0
  929. package/dist/serve/standalone-assets.js +134 -0
  930. package/dist/serve/standalone-assets.js.map +1 -0
  931. package/dist/serve/state-store.d.ts +45 -0
  932. package/dist/serve/state-store.d.ts.map +1 -0
  933. package/dist/serve/state-store.js +120 -0
  934. package/dist/serve/state-store.js.map +1 -0
  935. package/dist/serve/studio/disk-project-store.d.ts +9 -0
  936. package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
  937. package/dist/serve/studio/disk-project-store.js +173 -0
  938. package/dist/serve/studio/disk-project-store.js.map +1 -0
  939. package/dist/serve/studio/disk-workspace.d.ts +14 -0
  940. package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
  941. package/dist/serve/studio/disk-workspace.js +152 -0
  942. package/dist/serve/studio/disk-workspace.js.map +1 -0
  943. package/dist/serve/studio/index.d.ts +10 -0
  944. package/dist/serve/studio/index.d.ts.map +1 -0
  945. package/dist/serve/studio/index.js +9 -0
  946. package/dist/serve/studio/index.js.map +1 -0
  947. package/dist/serve/studio/routes.d.ts +40 -0
  948. package/dist/serve/studio/routes.d.ts.map +1 -0
  949. package/dist/serve/studio/routes.js +182 -0
  950. package/dist/serve/studio/routes.js.map +1 -0
  951. package/dist/serve/studio/store-types.d.ts +45 -0
  952. package/dist/serve/studio/store-types.d.ts.map +1 -0
  953. package/dist/serve/studio/store-types.js +11 -0
  954. package/dist/serve/studio/store-types.js.map +1 -0
  955. package/dist/serve/studio-ui/assets/RulesCodeEditor-BZpD57II.js +23 -0
  956. package/dist/serve/studio-ui/assets/index-Bsa-TQNK.css +1 -0
  957. package/dist/serve/studio-ui/assets/index-DGaVuOhE.js +1211 -0
  958. package/dist/serve/studio-ui/assets/seed-CTmn6YuO.js +2 -0
  959. package/dist/serve/studio-ui/index.html +32 -0
  960. package/dist/serve/studio-ui/pyric-logo.svg +76 -0
  961. package/dist/serve/vite-plugin.d.ts +57 -0
  962. package/dist/serve/vite-plugin.d.ts.map +1 -0
  963. package/dist/serve/vite-plugin.js +658 -0
  964. package/dist/serve/vite-plugin.js.map +1 -0
  965. package/dist/serve/worker/client/admin-firestore.d.ts +18 -0
  966. package/dist/serve/worker/client/admin-firestore.d.ts.map +1 -0
  967. package/dist/serve/worker/client/admin-firestore.js +26 -0
  968. package/dist/serve/worker/client/admin-firestore.js.map +1 -0
  969. package/dist/serve/worker/client/ai.d.ts +31 -0
  970. package/dist/serve/worker/client/ai.d.ts.map +1 -0
  971. package/dist/serve/worker/client/ai.js +89 -0
  972. package/dist/serve/worker/client/ai.js.map +1 -0
  973. package/dist/serve/worker/client/auth.d.ts +168 -0
  974. package/dist/serve/worker/client/auth.d.ts.map +1 -0
  975. package/dist/serve/worker/client/auth.js +322 -0
  976. package/dist/serve/worker/client/auth.js.map +1 -0
  977. package/dist/serve/worker/client/connection.d.ts +80 -0
  978. package/dist/serve/worker/client/connection.d.ts.map +1 -0
  979. package/dist/serve/worker/client/connection.js +148 -0
  980. package/dist/serve/worker/client/connection.js.map +1 -0
  981. package/dist/serve/worker/client/core.d.ts +109 -0
  982. package/dist/serve/worker/client/core.d.ts.map +1 -0
  983. package/dist/serve/worker/client/core.js +248 -0
  984. package/dist/serve/worker/client/core.js.map +1 -0
  985. package/dist/serve/worker/client/disconnect.d.ts +7 -0
  986. package/dist/serve/worker/client/disconnect.d.ts.map +1 -0
  987. package/dist/serve/worker/client/disconnect.js +26 -0
  988. package/dist/serve/worker/client/disconnect.js.map +1 -0
  989. package/dist/serve/worker/client/firestore-reads.d.ts +49 -0
  990. package/dist/serve/worker/client/firestore-reads.d.ts.map +1 -0
  991. package/dist/serve/worker/client/firestore-reads.js +139 -0
  992. package/dist/serve/worker/client/firestore-reads.js.map +1 -0
  993. package/dist/serve/worker/client/firestore-refs.d.ts +54 -0
  994. package/dist/serve/worker/client/firestore-refs.d.ts.map +1 -0
  995. package/dist/serve/worker/client/firestore-refs.js +167 -0
  996. package/dist/serve/worker/client/firestore-refs.js.map +1 -0
  997. package/dist/serve/worker/client/firestore-writes.d.ts +70 -0
  998. package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -0
  999. package/dist/serve/worker/client/firestore-writes.js +169 -0
  1000. package/dist/serve/worker/client/firestore-writes.js.map +1 -0
  1001. package/dist/serve/worker/client/handles.d.ts +73 -0
  1002. package/dist/serve/worker/client/handles.d.ts.map +1 -0
  1003. package/dist/serve/worker/client/handles.js +4 -0
  1004. package/dist/serve/worker/client/handles.js.map +1 -0
  1005. package/dist/serve/worker/client/messaging.d.ts +16 -0
  1006. package/dist/serve/worker/client/messaging.d.ts.map +1 -0
  1007. package/dist/serve/worker/client/messaging.js +60 -0
  1008. package/dist/serve/worker/client/messaging.js.map +1 -0
  1009. package/dist/serve/worker/client/presence.d.ts +43 -0
  1010. package/dist/serve/worker/client/presence.d.ts.map +1 -0
  1011. package/dist/serve/worker/client/presence.js +132 -0
  1012. package/dist/serve/worker/client/presence.js.map +1 -0
  1013. package/dist/serve/worker/client/rtdb.d.ts +36 -0
  1014. package/dist/serve/worker/client/rtdb.d.ts.map +1 -0
  1015. package/dist/serve/worker/client/rtdb.js +241 -0
  1016. package/dist/serve/worker/client/rtdb.js.map +1 -0
  1017. package/dist/serve/worker/client/rules.d.ts +24 -0
  1018. package/dist/serve/worker/client/rules.d.ts.map +1 -0
  1019. package/dist/serve/worker/client/rules.js +44 -0
  1020. package/dist/serve/worker/client/rules.js.map +1 -0
  1021. package/dist/serve/worker/client/service-worker-connection.d.ts +3 -0
  1022. package/dist/serve/worker/client/service-worker-connection.d.ts.map +1 -0
  1023. package/dist/serve/worker/client/service-worker-connection.js +53 -0
  1024. package/dist/serve/worker/client/service-worker-connection.js.map +1 -0
  1025. package/dist/serve/worker/client/snapshots.d.ts +32 -0
  1026. package/dist/serve/worker/client/snapshots.d.ts.map +1 -0
  1027. package/dist/serve/worker/client/snapshots.js +46 -0
  1028. package/dist/serve/worker/client/snapshots.js.map +1 -0
  1029. package/dist/serve/worker/client/storage.d.ts +64 -0
  1030. package/dist/serve/worker/client/storage.d.ts.map +1 -0
  1031. package/dist/serve/worker/client/storage.js +125 -0
  1032. package/dist/serve/worker/client/storage.js.map +1 -0
  1033. package/dist/serve/worker/client/studio.d.ts +32 -0
  1034. package/dist/serve/worker/client/studio.d.ts.map +1 -0
  1035. package/dist/serve/worker/client/studio.js +61 -0
  1036. package/dist/serve/worker/client/studio.js.map +1 -0
  1037. package/dist/serve/worker/client.d.ts +43 -0
  1038. package/dist/serve/worker/client.d.ts.map +1 -0
  1039. package/dist/serve/worker/client.js +44 -0
  1040. package/dist/serve/worker/client.js.map +1 -0
  1041. package/dist/serve/worker/entry.d.ts +40 -0
  1042. package/dist/serve/worker/entry.d.ts.map +1 -0
  1043. package/dist/serve/worker/entry.js +144 -0
  1044. package/dist/serve/worker/entry.js.map +1 -0
  1045. package/dist/serve/worker/host/admin-firestore.d.ts +17 -0
  1046. package/dist/serve/worker/host/admin-firestore.d.ts.map +1 -0
  1047. package/dist/serve/worker/host/admin-firestore.js +92 -0
  1048. package/dist/serve/worker/host/admin-firestore.js.map +1 -0
  1049. package/dist/serve/worker/host/connection.d.ts +40 -0
  1050. package/dist/serve/worker/host/connection.d.ts.map +1 -0
  1051. package/dist/serve/worker/host/connection.js +153 -0
  1052. package/dist/serve/worker/host/connection.js.map +1 -0
  1053. package/dist/serve/worker/host/core.d.ts +159 -0
  1054. package/dist/serve/worker/host/core.d.ts.map +1 -0
  1055. package/dist/serve/worker/host/core.js +296 -0
  1056. package/dist/serve/worker/host/core.js.map +1 -0
  1057. package/dist/serve/worker/host/dispatch.d.ts +34 -0
  1058. package/dist/serve/worker/host/dispatch.d.ts.map +1 -0
  1059. package/dist/serve/worker/host/dispatch.js +267 -0
  1060. package/dist/serve/worker/host/dispatch.js.map +1 -0
  1061. package/dist/serve/worker/host/firestore-reads.d.ts +17 -0
  1062. package/dist/serve/worker/host/firestore-reads.d.ts.map +1 -0
  1063. package/dist/serve/worker/host/firestore-reads.js +108 -0
  1064. package/dist/serve/worker/host/firestore-reads.js.map +1 -0
  1065. package/dist/serve/worker/host/firestore-writes.d.ts +37 -0
  1066. package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -0
  1067. package/dist/serve/worker/host/firestore-writes.js +409 -0
  1068. package/dist/serve/worker/host/firestore-writes.js.map +1 -0
  1069. package/dist/serve/worker/host/presence.d.ts +38 -0
  1070. package/dist/serve/worker/host/presence.d.ts.map +1 -0
  1071. package/dist/serve/worker/host/presence.js +280 -0
  1072. package/dist/serve/worker/host/presence.js.map +1 -0
  1073. package/dist/serve/worker/host/rtdb.d.ts +18 -0
  1074. package/dist/serve/worker/host/rtdb.d.ts.map +1 -0
  1075. package/dist/serve/worker/host/rtdb.js +128 -0
  1076. package/dist/serve/worker/host/rtdb.js.map +1 -0
  1077. package/dist/serve/worker/host/rules.d.ts +17 -0
  1078. package/dist/serve/worker/host/rules.d.ts.map +1 -0
  1079. package/dist/serve/worker/host/rules.js +118 -0
  1080. package/dist/serve/worker/host/rules.js.map +1 -0
  1081. package/dist/serve/worker/host/storage.d.ts +19 -0
  1082. package/dist/serve/worker/host/storage.d.ts.map +1 -0
  1083. package/dist/serve/worker/host/storage.js +260 -0
  1084. package/dist/serve/worker/host/storage.js.map +1 -0
  1085. package/dist/serve/worker/host/studio.d.ts +13 -0
  1086. package/dist/serve/worker/host/studio.d.ts.map +1 -0
  1087. package/dist/serve/worker/host/studio.js +30 -0
  1088. package/dist/serve/worker/host/studio.js.map +1 -0
  1089. package/dist/serve/worker/host/subscriptions.d.ts +21 -0
  1090. package/dist/serve/worker/host/subscriptions.d.ts.map +1 -0
  1091. package/dist/serve/worker/host/subscriptions.js +162 -0
  1092. package/dist/serve/worker/host/subscriptions.js.map +1 -0
  1093. package/dist/serve/worker/host-ai.d.ts +59 -0
  1094. package/dist/serve/worker/host-ai.d.ts.map +1 -0
  1095. package/dist/serve/worker/host-ai.js +158 -0
  1096. package/dist/serve/worker/host-ai.js.map +1 -0
  1097. package/dist/serve/worker/host-auth.d.ts +47 -0
  1098. package/dist/serve/worker/host-auth.d.ts.map +1 -0
  1099. package/dist/serve/worker/host-auth.js +464 -0
  1100. package/dist/serve/worker/host-auth.js.map +1 -0
  1101. package/dist/serve/worker/host-context.d.ts +220 -0
  1102. package/dist/serve/worker/host-context.d.ts.map +1 -0
  1103. package/dist/serve/worker/host-context.js +45 -0
  1104. package/dist/serve/worker/host-context.js.map +1 -0
  1105. package/dist/serve/worker/host-events.d.ts +21 -0
  1106. package/dist/serve/worker/host-events.d.ts.map +1 -0
  1107. package/dist/serve/worker/host-events.js +87 -0
  1108. package/dist/serve/worker/host-events.js.map +1 -0
  1109. package/dist/serve/worker/host-messaging.d.ts +60 -0
  1110. package/dist/serve/worker/host-messaging.d.ts.map +1 -0
  1111. package/dist/serve/worker/host-messaging.js +226 -0
  1112. package/dist/serve/worker/host-messaging.js.map +1 -0
  1113. package/dist/serve/worker/host.d.ts +36 -0
  1114. package/dist/serve/worker/host.d.ts.map +1 -0
  1115. package/dist/serve/worker/host.js +39 -0
  1116. package/dist/serve/worker/host.js.map +1 -0
  1117. package/dist/serve/worker/index.d.ts +22 -0
  1118. package/dist/serve/worker/index.d.ts.map +1 -0
  1119. package/dist/serve/worker/index.js +61 -0
  1120. package/dist/serve/worker/index.js.map +1 -0
  1121. package/dist/serve/worker/presence-timing.d.ts +14 -0
  1122. package/dist/serve/worker/presence-timing.d.ts.map +1 -0
  1123. package/dist/serve/worker/presence-timing.js +14 -0
  1124. package/dist/serve/worker/presence-timing.js.map +1 -0
  1125. package/dist/serve/worker/protocol.d.ts +1150 -0
  1126. package/dist/serve/worker/protocol.d.ts.map +1 -0
  1127. package/dist/serve/worker/protocol.js +228 -0
  1128. package/dist/serve/worker/protocol.js.map +1 -0
  1129. package/dist/serve/worker/serve-init.d.ts +201 -0
  1130. package/dist/serve/worker/serve-init.d.ts.map +1 -0
  1131. package/dist/serve/worker/serve-init.js +579 -0
  1132. package/dist/serve/worker/serve-init.js.map +1 -0
  1133. package/dist/serve/worker/service-worker-channel.d.ts +23 -0
  1134. package/dist/serve/worker/service-worker-channel.d.ts.map +1 -0
  1135. package/dist/serve/worker/service-worker-channel.js +9 -0
  1136. package/dist/serve/worker/service-worker-channel.js.map +1 -0
  1137. package/dist/serve/worker/service-worker-relay.d.ts +22 -0
  1138. package/dist/serve/worker/service-worker-relay.d.ts.map +1 -0
  1139. package/dist/serve/worker/service-worker-relay.js +63 -0
  1140. package/dist/serve/worker/service-worker-relay.js.map +1 -0
  1141. package/dist/serve/writer-lock.d.ts +32 -0
  1142. package/dist/serve/writer-lock.d.ts.map +1 -0
  1143. package/dist/serve/writer-lock.js +43 -0
  1144. package/dist/serve/writer-lock.js.map +1 -0
  1145. package/dist/verify/cases.d.ts +37 -0
  1146. package/dist/verify/cases.d.ts.map +1 -0
  1147. package/dist/verify/cases.js +173 -0
  1148. package/dist/verify/cases.js.map +1 -0
  1149. package/dist/verify/fixture.d.ts +100 -0
  1150. package/dist/verify/fixture.d.ts.map +1 -0
  1151. package/dist/verify/fixture.js +156 -0
  1152. package/dist/verify/fixture.js.map +1 -0
  1153. package/dist/verify/index.d.ts +102 -0
  1154. package/dist/verify/index.d.ts.map +1 -0
  1155. package/dist/verify/index.js +318 -0
  1156. package/dist/verify/index.js.map +1 -0
  1157. package/dist/verify/tools.d.ts +7 -0
  1158. package/dist/verify/tools.d.ts.map +1 -0
  1159. package/dist/verify/tools.js +83 -0
  1160. package/dist/verify/tools.js.map +1 -0
  1161. package/dist/version/compat-target.d.ts +18 -0
  1162. package/dist/version/compat-target.d.ts.map +1 -0
  1163. package/dist/version/compat-target.js +18 -0
  1164. package/dist/version/compat-target.js.map +1 -0
  1165. package/dist/vite.d.ts +12 -0
  1166. package/dist/vite.d.ts.map +1 -0
  1167. package/dist/vite.js +16 -0
  1168. package/dist/vite.js.map +1 -0
  1169. package/package.json +133 -0
@@ -0,0 +1,2355 @@
1
+ <!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>API reference: @pyric/cli/assurance · Pyric Studio</title><meta name="description" content="Published declarations for @pyric/cli/assurance."><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="stylesheet" href="/__pyric/ui/_astro/_slug_.CQYSemvw.css"></head> <body> <header class="studio__bar"> <div class="studio__bar-inner"> <a class="studio__brand" href="/__pyric/ui/" aria-label="Pyric Studio">Pyric</a> <nav class="studio__nav" aria-label="Studio tabs"> <a class="studio__nav-tab" href="/__pyric/ui/"> Home </a><a class="studio__nav-tab" href="/__pyric/ui/firestore"> Firestore </a><a class="studio__nav-tab" href="/__pyric/ui/auth"> Auth </a><a class="studio__nav-tab" href="/__pyric/ui/rtdb"> RTDB </a><a class="studio__nav-tab" href="/__pyric/ui/storage"> Storage </a><a class="studio__nav-tab" href="/__pyric/ui/traffic"> Traffic </a><a class="studio__nav-tab" href="/__pyric/ui/settings"> Settings </a><a class="studio__nav-tab" href="/__pyric/ui/docs" aria-current="page"> Docs </a> </nav> </div> </header> <div class="docs-shell"> <details class="docs-nav-drawer"> <summary>Navigate</summary> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <script type="module">let i=null;function d(t){return i||(i=fetch(t).then(e=>e.json())),i}function l(t,e){return t.title.toLowerCase().includes(e)||t.excerpt.toLowerCase().includes(e)?!0:t.headings.some(r=>r.text.toLowerCase().includes(e))}function u(t,e,r){if(e.innerHTML="",t.length===0){e.hidden=!1;{const n=document.createElement("li");n.className="docs-search-empty",n.textContent="No matches",e.appendChild(n)}return}e.hidden=!1;for(const n of t.slice(0,8)){const s=document.createElement("li"),c=document.createElement("a");c.href=n.path;const o=document.createElement("span");o.className="docs-search-result-title",o.textContent=n.title;const a=document.createElement("span");a.className="docs-search-result-meta",a.textContent=[n.group,n.section].filter(Boolean).join(" / "),c.append(o,a),s.appendChild(c),e.appendChild(s)}}document.querySelectorAll(".docs-search").forEach(t=>{const e=t.dataset.indexUrl,r=t.querySelector(".docs-search-input"),n=t.querySelector(".docs-search-results");r.addEventListener("input",async()=>{const s=r.value.trim().toLowerCase();if(!s){n.hidden=!0,n.innerHTML="";return}const{pages:c}=await d(e);r.value.trim().toLowerCase()===s&&u(c.filter(o=>l(o,s)),n)}),r.addEventListener("focus",()=>{d(e),n.childElementCount>0&&(n.hidden=!1)}),r.addEventListener("keydown",s=>{s.key==="Escape"&&(r.value="",n.hidden=!0,n.innerHTML="",r.blur())}),r.addEventListener("blur",()=>{window.setTimeout(()=>{n.hidden=!0},150)})});document.addEventListener("keydown",t=>{if(!(t.metaKey||t.ctrlKey)||t.key.toLowerCase()!=="k")return;const e=[...document.querySelectorAll(".docs-search-input")].find(r=>r.offsetParent!==null);e&&(t.preventDefault(),e.focus(),e.select())});</script> <a class="docs-nav-toplink" href="/__pyric/ui/docs/overview/"> Overview </a><details class="docs-nav-group"> <summary>Run locally</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/how-the-swap-works/"> How the swap works </a> </li><li> <a href="/__pyric/ui/docs/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Develop with Firebase APIs</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/sign-in-and-manage-users/"> Sign in and manage users </a> </li><li> <a href="/__pyric/ui/docs/store-and-query-data/"> Store and query data </a> </li><li> <a href="/__pyric/ui/docs/sync-realtime-data/"> Sync realtime data </a> </li><li> <a href="/__pyric/ui/docs/store-files/"> Store files </a> </li><li> <a href="/__pyric/ui/docs/receive-messages/"> Receive messages </a> </li><li> <a href="/__pyric/ui/docs/run-ai-logic-locally/"> Run AI Logic locally </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/"> Run an RTDB function locally </a> </li><li> <a href="/__pyric/ui/docs/which-data-service/"> Which data service? </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Inspect and correct</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <h2 class="docs-nav-heading"> Inspect the sandbox </h2> <ul> <li> <a href="/__pyric/ui/docs/see-whats-happening/"> Traffic &amp; rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/shape-your-data/"> Seed, snapshot, replay </a> </li><li> <a href="/__pyric/ui/docs/watch-and-review/"> Review agent activity </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading"> Correct Security Rules </h2> <ul> <li> <a href="/__pyric/ui/docs/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/rules-patterns/"> Rules patterns </a> </li><li> <a href="/__pyric/ui/docs/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/whats-possible/"> Case studies </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading"> Work with an agent </h2> <ul> <li> <a href="/__pyric/ui/docs/what-your-agent-can-do/"> Work through an agent </a> </li><li> <a href="/__pyric/ui/docs/skills/"> Agent skills </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Verify the boundary</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-how-to-verify-against-a-captured-session/"> Verify a captured session </a> </li><li> <a href="/__pyric/ui/docs/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Ship unchanged</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/set-up-the-project/"> Set up the Firebase project </a> </li> </ul> </div> </div> </details><details class="docs-nav-group"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/how-we-know-it-matches-firebase/"> Conformance </a> </li><li> <a href="/__pyric/ui/docs/whats-experimental/"> What&#39;s experimental </a> </li><li> <a href="/__pyric/ui/docs/pyric-conformance-scores/"> Conformance scores </a> </li><li> <a href="/__pyric/ui/docs/pyric-app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-compat/"> Rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-functions-rtdb-compat/"> Functions · RTDB </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" open> <summary>Reference</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli/"> @pyric/cli </a> </li><li> <a href="/__pyric/ui/docs/pyric-explanation-versioning-and-compatibility/"> pyric </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore/"> pyric / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules/"> pyric / rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox/"> pyric / sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage/"> pyric / storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth/"> pyric / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database/"> pyric / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-app/"> pyric-admin / app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore/"> pyric-admin / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth/"> pyric-admin / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database/"> pyric-admin / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage/"> pyric-admin / storage </a> </li><li> <a href="/__pyric/ui/docs/ui/"> @pyric/ui </a> </li><li> <a href="/__pyric/ui/docs/api-reference/" aria-current="true"> API reference </a> </li> </ul> </div> </div> </details> </nav> </details> <nav class="docs-nav" aria-label="Documentation"> <div class="docs-search" data-index-url="/__pyric/ui/docs/index.json"> <div class="docs-search-field"> <svg class="docs-search-icon" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true"> <path d="M11.5 11.5 15 15M13 7A6 6 0 1 1 1 7a6 6 0 0 1 12 0Z" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"></path> </svg> <input type="text" class="docs-search-input" placeholder="Search docs" aria-label="Search docs" autocomplete="off" spellcheck="false"> <kbd class="docs-search-kbd">⌘K</kbd> </div> <ul class="docs-search-results" hidden></ul> </div> <a class="docs-nav-toplink" href="/__pyric/ui/docs/overview/" id="nav-group-overview"> Overview </a><details class="docs-nav-group" id="nav-group-run-locally"> <summary>Run locally</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/start-building/"> Quickstart </a> </li><li> <a href="/__pyric/ui/docs/how-the-swap-works/"> How the swap works </a> </li><li> <a href="/__pyric/ui/docs/set-up-your-agent/"> Connect an agent </a> </li><li> <a href="/__pyric/ui/docs/test-in-node/"> Test in Node </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-develop-with-firebase-apis"> <summary>Develop with Firebase APIs</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/sign-in-and-manage-users/"> Sign in and manage users </a> </li><li> <a href="/__pyric/ui/docs/store-and-query-data/"> Store and query data </a> </li><li> <a href="/__pyric/ui/docs/sync-realtime-data/"> Sync realtime data </a> </li><li> <a href="/__pyric/ui/docs/store-files/"> Store files </a> </li><li> <a href="/__pyric/ui/docs/receive-messages/"> Receive messages </a> </li><li> <a href="/__pyric/ui/docs/run-ai-logic-locally/"> Run AI Logic locally </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-how-to-run-rtdb-onvaluecreated/"> Run an RTDB function locally </a> </li><li> <a href="/__pyric/ui/docs/which-data-service/"> Which data service? </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-inspect-and-correct"> <summary>Inspect and correct</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-inspect-and-correct-inspect-the-sandbox"> Inspect the sandbox </h2> <ul> <li> <a href="/__pyric/ui/docs/see-whats-happening/"> Traffic &amp; rule verdicts </a> </li><li> <a href="/__pyric/ui/docs/read-a-denial/"> Read a denial and understand it </a> </li><li> <a href="/__pyric/ui/docs/shape-your-data/"> Seed, snapshot, replay </a> </li><li> <a href="/__pyric/ui/docs/watch-and-review/"> Review agent activity </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-inspect-and-correct-correct-security-rules"> Correct Security Rules </h2> <ul> <li> <a href="/__pyric/ui/docs/secure-it-with-rules/"> Security Rules </a> </li><li> <a href="/__pyric/ui/docs/simulate-and-lint/"> Simulate and lint before you deploy </a> </li><li> <a href="/__pyric/ui/docs/rules-patterns/"> Rules patterns </a> </li><li> <a href="/__pyric/ui/docs/rules-standard-library/"> The rules standard library </a> </li><li> <a href="/__pyric/ui/docs/rtdb-rules-in-typescript/"> RTDB rules in TypeScript </a> </li><li> <a href="/__pyric/ui/docs/firestore-rules-limits/"> Rules limits </a> </li><li> <a href="/__pyric/ui/docs/whats-possible/"> Case studies </a> </li> </ul> </div><div class="docs-nav-section"> <h2 class="docs-nav-heading" id="nav-section-inspect-and-correct-work-with-an-agent"> Work with an agent </h2> <ul> <li> <a href="/__pyric/ui/docs/what-your-agent-can-do/"> Work through an agent </a> </li><li> <a href="/__pyric/ui/docs/skills/"> Agent skills </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-verify-the-boundary"> <summary>Verify the boundary</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli-how-to-verify-against-a-captured-session/"> Verify a captured session </a> </li><li> <a href="/__pyric/ui/docs/write-a-rules-test-suite/"> Write a rules test suite </a> </li><li> <a href="/__pyric/ui/docs/audit-your-rules/"> Audit rules and data </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-ship-unchanged"> <summary>Ship unchanged</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/ship-to-production/"> Ship to production </a> </li><li> <a href="/__pyric/ui/docs/set-up-the-project/"> Set up the Firebase project </a> </li> </ul> </div> </div> </details><details class="docs-nav-group" id="nav-group-conformance"> <summary>Conformance</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/how-we-know-it-matches-firebase/"> Conformance </a> </li><li> <a href="/__pyric/ui/docs/whats-experimental/"> What&#39;s experimental </a> </li><li> <a href="/__pyric/ui/docs/pyric-conformance-scores/"> Conformance scores </a> </li><li> <a href="/__pyric/ui/docs/pyric-app-compat/"> App </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore-compat/"> Firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth-compat/"> Auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database-compat/"> Realtime Database </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage-compat/"> Storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules-compat/"> Rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-messaging-compat/"> Messaging </a> </li><li> <a href="/__pyric/ui/docs/pyric-ai-compat/"> AI Logic </a> </li><li> <a href="/__pyric/ui/docs/pyric-cli-functions-rtdb-compat/"> Functions · RTDB </a> </li> </ul> </div> </div> </details> <details class="docs-nav-group" id="nav-group-reference" open> <summary>Reference</summary> <div class="docs-nav-group-body"> <div class="docs-nav-section"> <ul> <li> <a href="/__pyric/ui/docs/pyric-cli/"> @pyric/cli </a> </li><li> <a href="/__pyric/ui/docs/pyric-explanation-versioning-and-compatibility/"> pyric </a> </li><li> <a href="/__pyric/ui/docs/pyric-firestore/"> pyric / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-rules/"> pyric / rules </a> </li><li> <a href="/__pyric/ui/docs/pyric-sandbox/"> pyric / sandbox </a> </li><li> <a href="/__pyric/ui/docs/pyric-storage/"> pyric / storage </a> </li><li> <a href="/__pyric/ui/docs/pyric-auth/"> pyric / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-database/"> pyric / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-app/"> pyric-admin / app </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-firestore/"> pyric-admin / firestore </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-auth/"> pyric-admin / auth </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-database/"> pyric-admin / database </a> </li><li> <a href="/__pyric/ui/docs/pyric-admin-storage/"> pyric-admin / storage </a> </li><li> <a href="/__pyric/ui/docs/ui/"> @pyric/ui </a> </li><li> <a href="/__pyric/ui/docs/api-reference/" aria-current="true"> API reference </a> </li> </ul> </div> </div> </details> </nav> <main class="doc-main"> <nav class="docs-breadcrumbs" aria-label="Breadcrumb"> <ol> <li> <a href="/__pyric/ui/docs/api-reference/">API reference</a> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span>@pyric/cli</span> </li><li> <span class="docs-breadcrumbs-sep" aria-hidden="true">/</span> <span aria-current="page">@pyric/cli/assurance</span> </li> </ol> </nav> <header class="api-reference-header"> <p class="api-reference-kicker">API reference</p> <h1><code>@pyric/cli/assurance</code></h1> <p class="api-reference-meta"> 67 published symbols from <code>@pyric/cli</code> </p> <p class="api-reference-source">
2
+ Generated from the TypeScript declarations shipped at this import path.
3
+ </p> </header> <article class="prose api-reference-body"> <!-- Generated from published package declarations via TypeDoc. Do not edit by hand; run bun run docs:api:generate. -->
4
+ <h2 id="classes">Classes</h2>
5
+ <p><a id="assurancecampaignstore"></a></p>
6
+ <h3 id="assurancecampaignstore">AssuranceCampaignStore</h3>
7
+ <h4 id="constructors">Constructors</h4>
8
+ <p><a id="constructor"></a></p>
9
+ <h5 id="constructor">Constructor</h5>
10
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">new</span><span style="color:#61AFEF"> AssuranceCampaignStore</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">AssuranceCampaignStore</span><span style="color:#ABB2BF">;</span></span></code></pre>
11
+ <h6 id="returns">Returns</h6>
12
+ <p><a href="#assurancecampaignstore"><code>AssuranceCampaignStore</code></a></p>
13
+ <h4 id="methods">Methods</h4>
14
+ <p><a id="create"></a></p>
15
+ <h5 id="create">create()</h5>
16
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">create</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">campaign</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">AuthorizationCampaign</span><span style="color:#ABB2BF">): </span><span style="color:#C678DD">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
17
+ <h6 id="parameters">Parameters</h6>
18
+ <div class="table-scroll">
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>campaign</code></td><td align="left"><a href="#authorizationcampaign"><code>AuthorizationCampaign</code></a></td></tr></tbody></table></div>
32
+ <h6 id="returns-1">Returns</h6>
33
+ <p><code>void</code></p>
34
+ <p><a id="get"></a></p>
35
+ <h5 id="get">get()</h5>
36
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">get</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">id</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AuthorizationCampaign</span><span style="color:#ABB2BF">;</span></span></code></pre>
37
+ <h6 id="parameters-1">Parameters</h6>
38
+ <div class="table-scroll">
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>id</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
52
+ <h6 id="returns-2">Returns</h6>
53
+ <p><a href="#authorizationcampaign"><code>AuthorizationCampaign</code></a></p>
54
+ <p><a id="publish"></a></p>
55
+ <h5 id="publish">publish()</h5>
56
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">publish</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">campaign</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">AuthorizationCampaign</span><span style="color:#ABB2BF">): </span><span style="color:#C678DD">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
57
+ <h6 id="parameters-2">Parameters</h6>
58
+ <div class="table-scroll">
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>campaign</code></td><td align="left"><a href="#authorizationcampaign"><code>AuthorizationCampaign</code></a></td></tr></tbody></table></div>
72
+ <h6 id="returns-3">Returns</h6>
73
+ <p><code>void</code></p>
74
+ <p><a id="subscribe"></a></p>
75
+ <h5 id="subscribe">subscribe()</h5>
76
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">subscribe</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">listener</span><span style="color:#ABB2BF">: (</span><span style="color:#E06C75;font-style:italic">campaign</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AssuranceVisualizationSnapshot</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#C678DD"> void</span><span style="color:#ABB2BF">): () </span><span style="color:#C678DD">=></span><span style="color:#C678DD"> void</span><span style="color:#ABB2BF">;</span></span></code></pre>
77
+ <h6 id="parameters-3">Parameters</h6>
78
+ <div class="table-scroll">
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>listener</code></td><td align="left">(<code>campaign</code>: <a href="#assurancevisualizationsnapshot"><code>AssuranceVisualizationSnapshot</code></a>) => <code>void</code></td></tr></tbody></table></div>
92
+ <h6 id="returns-4">Returns</h6>
93
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
94
+ <h6 id="returns-5">Returns</h6>
95
+ <p><code>void</code></p>
96
+ <hr>
97
+ <p><a id="assuranceinputerror"></a></p>
98
+ <h3 id="assuranceinputerror">AssuranceInputError</h3>
99
+ <h4 id="extends">Extends</h4>
100
+ <ul>
101
+ <li><code>Error</code></li>
102
+ </ul>
103
+ <h4 id="constructors-1">Constructors</h4>
104
+ <p><a id="constructor-1"></a></p>
105
+ <h5 id="constructor-1">Constructor</h5>
106
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">new</span><span style="color:#61AFEF"> AssuranceInputError</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">message</span><span style="color:#C678DD">?:</span><span style="color:#E06C75"> string</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AssuranceInputError</span><span style="color:#ABB2BF">;</span></span></code></pre>
107
+ <h6 id="parameters-4">Parameters</h6>
108
+ <div class="table-scroll">
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>message?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
122
+ <h6 id="returns-6">Returns</h6>
123
+ <p><a href="#assuranceinputerror"><code>AssuranceInputError</code></a></p>
124
+ <h6 id="inherited-from">Inherited from</h6>
125
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E5C07B">Error</span><span style="color:#ABB2BF">.</span><span style="color:#E06C75">constructor</span></span></code></pre>
126
+ <h5 id="constructor-2">Constructor</h5>
127
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">new</span><span style="color:#61AFEF"> AssuranceInputError</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">message</span><span style="color:#C678DD">?:</span><span style="color:#E06C75"> string</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75">options</span><span style="color:#C678DD">?:</span><span style="color:#E06C75"> ErrorOptions</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AssuranceInputError</span><span style="color:#ABB2BF">;</span></span></code></pre>
128
+ <h6 id="parameters-5">Parameters</h6>
129
+ <div class="table-scroll">
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>message?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>options?</code></td><td align="left"><code>ErrorOptions</code></td></tr></tbody></table></div>
147
+ <h6 id="returns-7">Returns</h6>
148
+ <p><a href="#assuranceinputerror"><code>AssuranceInputError</code></a></p>
149
+ <h6 id="inherited-from-1">Inherited from</h6>
150
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E5C07B">Error</span><span style="color:#ABB2BF">.</span><span style="color:#E06C75">constructor</span></span></code></pre>
151
+ <h4 id="properties">Properties</h4>
152
+ <div class="table-scroll">
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+ <table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th><th align="left">Default value</th></tr></thead><tbody><tr><td align="left"><a id="code"></a> <code>code</code></td><td align="left"><code>readonly</code></td><td align="left"><code>"ASSURANCE_INVALID_INPUT"</code></td><td align="left"><code>"ASSURANCE_INVALID_INPUT"</code></td></tr></tbody></table></div>
170
+ <hr>
171
+ <p><a id="authorizationcampaign"></a></p>
172
+ <h3 id="authorizationcampaign">AuthorizationCampaign</h3>
173
+ <h4 id="constructors-2">Constructors</h4>
174
+ <p><a id="constructor-2"></a></p>
175
+ <h5 id="constructor-3">Constructor</h5>
176
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">new</span><span style="color:#61AFEF"> AuthorizationCampaign</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">options</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">CreateAuthorizationCampaignOptions</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AuthorizationCampaign</span><span style="color:#ABB2BF">;</span></span></code></pre>
177
+ <h6 id="parameters-6">Parameters</h6>
178
+ <div class="table-scroll">
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>options</code></td><td align="left"><a href="#createauthorizationcampaignoptions"><code>CreateAuthorizationCampaignOptions</code></a></td></tr></tbody></table></div>
192
+ <h6 id="returns-8">Returns</h6>
193
+ <p><a href="#authorizationcampaign"><code>AuthorizationCampaign</code></a></p>
194
+ <h4 id="properties-1">Properties</h4>
195
+ <div class="table-scroll">
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+ <table><thead><tr><th align="left">Property</th><th align="left">Modifier</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="context"></a> <code>context</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#assurancecampaigncontext"><code>AssuranceCampaignContext</code></a></td></tr><tr><td align="left"><a id="id"></a> <code>id</code></td><td align="left"><code>readonly</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="maxruns"></a> <code>maxRuns</code></td><td align="left"><code>readonly</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="target"></a> <code>target</code></td><td align="left"><code>readonly</code></td><td align="left"><a href="#localfirebasetarget"><code>LocalFirebaseTarget</code></a></td></tr></tbody></table></div>
226
+ <h4 id="accessors">Accessors</h4>
227
+ <p><a id="observations"></a></p>
228
+ <h5 id="observations">observations</h5>
229
+ <h6 id="get-signature">Get Signature</h6>
230
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E06C75">get</span><span style="color:#61AFEF"> observations</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">AssuranceObservation</span><span style="color:#ABB2BF">[];</span></span></code></pre>
231
+ <h6 id="returns-9">Returns</h6>
232
+ <p><a href="#assuranceobservation"><code>AssuranceObservation</code></a>[]</p>
233
+ <p><a id="report"></a></p>
234
+ <h5 id="report">report</h5>
235
+ <h6 id="get-signature-1">Get Signature</h6>
236
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#E06C75">get</span><span style="color:#61AFEF"> report</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">AuthorizationCampaignReport</span><span style="color:#ABB2BF">;</span></span></code></pre>
237
+ <h6 id="returns-10">Returns</h6>
238
+ <p><a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a></p>
239
+ <h4 id="methods-1">Methods</h4>
240
+ <p><a id="addactor"></a></p>
241
+ <h5 id="addactor">addActor()</h5>
242
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">addActor</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">actor</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">AssuranceActor</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AssuranceActor</span><span style="color:#ABB2BF">;</span></span></code></pre>
243
+ <h6 id="parameters-7">Parameters</h6>
244
+ <div class="table-scroll">
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>actor</code></td><td align="left"><a href="#assuranceactor"><code>AssuranceActor</code></a></td></tr></tbody></table></div>
258
+ <h6 id="returns-11">Returns</h6>
259
+ <p><a href="#assuranceactor"><code>AssuranceActor</code></a></p>
260
+ <p><a id="addinvariant"></a></p>
261
+ <h5 id="addinvariant">addInvariant()</h5>
262
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">addInvariant</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">invariant</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">SecurityInvariant</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">SecurityInvariant</span><span style="color:#ABB2BF">;</span></span></code></pre>
263
+ <h6 id="parameters-8">Parameters</h6>
264
+ <div class="table-scroll">
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>invariant</code></td><td align="left"><a href="#securityinvariant"><code>SecurityInvariant</code></a></td></tr></tbody></table></div>
278
+ <h6 id="returns-12">Returns</h6>
279
+ <p><a href="#securityinvariant"><code>SecurityInvariant</code></a></p>
280
+ <p><a id="addobservation"></a></p>
281
+ <h5 id="addobservation">addObservation()</h5>
282
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">addObservation</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">observation</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">AssuranceObservation</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AssuranceObservation</span><span style="color:#ABB2BF">;</span></span></code></pre>
283
+ <h6 id="parameters-9">Parameters</h6>
284
+ <div class="table-scroll">
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>observation</code></td><td align="left"><a href="#assuranceobservation"><code>AssuranceObservation</code></a></td></tr></tbody></table></div>
298
+ <h6 id="returns-13">Returns</h6>
299
+ <p><a href="#assuranceobservation"><code>AssuranceObservation</code></a></p>
300
+ <p><a id="addprobe"></a></p>
301
+ <h5 id="addprobe">addProbe()</h5>
302
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">addProbe</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">probe</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">AssuranceProbe</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AssuranceProbe</span><span style="color:#ABB2BF">;</span></span></code></pre>
303
+ <h6 id="parameters-10">Parameters</h6>
304
+ <div class="table-scroll">
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>probe</code></td><td align="left"><a href="#assuranceprobe"><code>AssuranceProbe</code></a></td></tr></tbody></table></div>
318
+ <h6 id="returns-14">Returns</h6>
319
+ <p><a href="#assuranceprobe"><code>AssuranceProbe</code></a></p>
320
+ <p><a id="export"></a></p>
321
+ <h5 id="export">export()</h5>
322
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">export</span><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">CampaignExport</span><span style="color:#ABB2BF">;</span></span></code></pre>
323
+ <h6 id="returns-15">Returns</h6>
324
+ <p><a href="#campaignexport"><code>CampaignExport</code></a></p>
325
+ <p><a id="exportsecuritycases"></a></p>
326
+ <h5 id="exportsecuritycases">exportSecurityCases()</h5>
327
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">exportSecurityCases</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">options</span><span style="color:#C678DD">?:</span><span style="color:#ABB2BF"> {</span></span>
328
+ <span class="line"><span style="color:#ABB2BF"> includeCandidates?: </span><span style="color:#E06C75">boolean</span><span style="color:#ABB2BF">;</span></span>
329
+ <span class="line"><span style="color:#ABB2BF">}): </span><span style="color:#E06C75">SecurityCase</span><span style="color:#ABB2BF">[];</span></span></code></pre>
330
+ <h6 id="parameters-11">Parameters</h6>
331
+ <div class="table-scroll">
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>options?</code></td><td align="left">{ <code>includeCandidates?</code>: <code>boolean</code>; }</td></tr><tr><td align="left"><code>options.includeCandidates?</code></td><td align="left"><code>boolean</code></td></tr></tbody></table></div>
349
+ <h6 id="returns-16">Returns</h6>
350
+ <p><a href="#securitycase"><code>SecurityCase</code></a>[]</p>
351
+ <p><a id="inspect"></a></p>
352
+ <h5 id="inspect">inspect()</h5>
353
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">inspect</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">probeId</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AssuranceProbeResult</span><span style="color:#ABB2BF">;</span></span></code></pre>
354
+ <h6 id="parameters-12">Parameters</h6>
355
+ <div class="table-scroll">
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>probeId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
369
+ <h6 id="returns-17">Returns</h6>
370
+ <p><a href="#assuranceproberesult"><code>AssuranceProbeResult</code></a></p>
371
+ <p><a id="minimize"></a></p>
372
+ <h5 id="minimize">minimize()</h5>
373
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">minimize</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">probeId</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#56B6C2">&#x3C;</span><span style="color:#E06C75">MinimizationResult</span><span style="color:#56B6C2">></span><span style="color:#ABB2BF">;</span></span></code></pre>
374
+ <h6 id="parameters-13">Parameters</h6>
375
+ <div class="table-scroll">
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>probeId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
389
+ <h6 id="returns-18">Returns</h6>
390
+ <p><code>Promise</code>&#x3C;<a href="#minimizationresult"><code>MinimizationResult</code></a>></p>
391
+ <p><a id="propose"></a></p>
392
+ <h5 id="propose">propose()</h5>
393
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">propose</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">input</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">ProposalInput</span><span style="color:#ABB2BF">): </span><span style="color:#E06C75">AssuranceProbe</span><span style="color:#ABB2BF">[];</span></span></code></pre>
394
+ <h6 id="parameters-14">Parameters</h6>
395
+ <div class="table-scroll">
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>input</code></td><td align="left"><a href="#proposalinput"><code>ProposalInput</code></a></td></tr></tbody></table></div>
409
+ <h6 id="returns-19">Returns</h6>
410
+ <p><a href="#assuranceprobe"><code>AssuranceProbe</code></a>[]</p>
411
+ <p><a id="run"></a></p>
412
+ <h5 id="run">run()</h5>
413
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">run</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">probeIds</span><span style="color:#C678DD">?:</span><span style="color:#E06C75"> string</span><span style="color:#ABB2BF">[]): </span><span style="color:#E5C07B">Promise</span><span style="color:#56B6C2">&#x3C;</span><span style="color:#E06C75">AuthorizationCampaignReport</span><span style="color:#56B6C2">></span><span style="color:#ABB2BF">;</span></span></code></pre>
414
+ <h6 id="parameters-15">Parameters</h6>
415
+ <div class="table-scroll">
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>probeIds?</code></td><td align="left"><code>string</code>[]</td></tr></tbody></table></div>
429
+ <h6 id="returns-20">Returns</h6>
430
+ <p><code>Promise</code>&#x3C;<a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a>></p>
431
+ <p><a id="spec"></a></p>
432
+ <h5 id="spec">spec()</h5>
433
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">spec</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">probeIds</span><span style="color:#C678DD">?:</span><span style="color:#E06C75"> string</span><span style="color:#ABB2BF">[]): </span><span style="color:#E06C75">AuthorizationCampaignSpec</span><span style="color:#ABB2BF">;</span></span></code></pre>
434
+ <h6 id="parameters-16">Parameters</h6>
435
+ <div class="table-scroll">
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>probeIds?</code></td><td align="left"><code>string</code>[]</td></tr></tbody></table></div>
449
+ <h6 id="returns-21">Returns</h6>
450
+ <p><a href="#authorizationcampaignspec-2"><code>AuthorizationCampaignSpec</code></a></p>
451
+ <p><a id="verifyrules"></a></p>
452
+ <h5 id="verifyrules">verifyRules()</h5>
453
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">verifyRules</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75">options</span><span style="color:#ABB2BF">: {</span></span>
454
+ <span class="line"><span style="color:#ABB2BF"> id?: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">;</span></span>
455
+ <span class="line"><span style="color:#E06C75"> includeCandidates</span><span style="color:#C678DD">?:</span><span style="color:#E06C75"> boolean</span><span style="color:#ABB2BF">;</span></span>
456
+ <span class="line"><span style="color:#E06C75"> rules</span><span style="color:#ABB2BF">: {</span></span>
457
+ <span class="line"><span style="color:#ABB2BF"> firestore?: </span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">;</span></span>
458
+ <span class="line"><span style="color:#E06C75"> rtdb</span><span style="color:#C678DD">?:</span><span style="color:#ABB2BF"> {</span></span>
459
+ <span class="line"><span style="color:#E06C75"> rules</span><span style="color:#ABB2BF">: </span><span style="color:#E06C75">Record</span><span style="color:#56B6C2">&#x3C;</span><span style="color:#E06C75">string</span><span style="color:#ABB2BF">, unknown>;</span></span>
460
+ <span class="line"><span style="color:#ABB2BF"> };</span></span>
461
+ <span class="line"><span style="color:#E06C75"> storage</span><span style="color:#C678DD">?:</span><span style="color:#E06C75"> string</span><span style="color:#ABB2BF">;</span></span>
462
+ <span class="line"><span style="color:#ABB2BF"> };</span></span>
463
+ <span class="line"><span style="color:#ABB2BF">}): </span><span style="color:#E5C07B">Promise</span><span style="color:#56B6C2">&#x3C;</span><span style="color:#E06C75">AuthorizationCampaignReport</span><span style="color:#56B6C2">></span><span style="color:#ABB2BF">;</span></span></code></pre>
464
+ <h6 id="parameters-17">Parameters</h6>
465
+ <div class="table-scroll">
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>options</code></td><td align="left">{ <code>id?</code>: <code>string</code>; <code>includeCandidates?</code>: <code>boolean</code>; <code>rules</code>: { <code>firestore?</code>: <code>string</code>; <code>rtdb?</code>: { <code>rules</code>: <code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>>; }; <code>storage?</code>: <code>string</code>; }; }</td></tr><tr><td align="left"><code>options.id?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>options.includeCandidates?</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><code>options.rules</code></td><td align="left">{ <code>firestore?</code>: <code>string</code>; <code>rtdb?</code>: { <code>rules</code>: <code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>>; }; <code>storage?</code>: <code>string</code>; }</td></tr><tr><td align="left"><code>options.rules.firestore?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>options.rules.rtdb?</code></td><td align="left">{ <code>rules</code>: <code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>>; }</td></tr><tr><td align="left"><code>options.rules.rtdb.rules</code></td><td align="left"><code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>></td></tr><tr><td align="left"><code>options.rules.storage?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
507
+ <h6 id="returns-22">Returns</h6>
508
+ <p><code>Promise</code>&#x3C;<a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a>></p>
509
+ <p><a id="visualization"></a></p>
510
+ <h5 id="visualization">visualization()</h5>
511
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#61AFEF">visualization</span><span style="color:#ABB2BF">(): </span><span style="color:#E06C75">AssuranceVisualizationSnapshot</span><span style="color:#ABB2BF">;</span></span></code></pre>
512
+ <h6 id="returns-23">Returns</h6>
513
+ <p><a href="#assurancevisualizationsnapshot"><code>AssuranceVisualizationSnapshot</code></a></p>
514
+ <h2 id="interfaces">Interfaces</h2>
515
+ <p><a id="actorevidence"></a></p>
516
+ <h3 id="actorevidence">ActorEvidence</h3>
517
+ <h4 id="properties-2">Properties</h4>
518
+ <div class="table-scroll">
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="acquisition"></a> <code>acquisition</code></td><td align="left">| <code>"anonymous-request"</code> | <code>"anonymous-account"</code> | <code>"password"</code> | <code>"fixture-user"</code> | <code>"synthetic"</code></td></tr><tr><td align="left"><a id="actorid"></a> <code>actorId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="error"></a> <code>error?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="reachability"></a> <code>reachability</code></td><td align="left"><code>"synthetic"</code> | <code>"reachable"</code> | <code>"unreachable"</code></td></tr><tr><td align="left"><a id="uid"></a> <code>uid?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
548
+ <hr>
549
+ <p><a id="assuranceactor"></a></p>
550
+ <h3 id="assuranceactor">AssuranceActor</h3>
551
+ <h4 id="properties-3">Properties</h4>
552
+ <div class="table-scroll">
553
+
554
+
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="acquisition-1"></a> <code>acquisition</code></td><td align="left"><a href="#actoracquisition"><code>ActorAcquisition</code></a></td></tr><tr><td align="left"><a id="id-1"></a> <code>id</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
570
+ <hr>
571
+ <p><a id="assuranceattachment"></a></p>
572
+ <h3 id="assuranceattachment">AssuranceAttachment</h3>
573
+ <h4 id="properties-4">Properties</h4>
574
+ <div class="table-scroll">
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="coveragegaps"></a> <code>coverageGaps</code></td><td align="left"><a href="#assurancecoveragegap"><code>AssuranceCoverageGap</code></a>[]</td></tr><tr><td align="left"><a id="inventory"></a> <code>inventory</code></td><td align="left"><a href="#assuranceattachmentinventory-1"><code>AssuranceAttachmentInventory</code></a></td></tr><tr><td align="left"><a id="source"></a> <code>source</code></td><td align="left"><a href="#assuranceattachmentsource-1"><code>AssuranceAttachmentSource</code></a></td></tr><tr><td align="left"><a id="target-1"></a> <code>target</code></td><td align="left"><a href="#localfirebasetarget"><code>LocalFirebaseTarget</code></a></td></tr></tbody></table></div>
600
+ <hr>
601
+ <p><a id="assuranceattachmentinput"></a></p>
602
+ <h3 id="assuranceattachmentinput">AssuranceAttachmentInput</h3>
603
+ <h4 id="properties-5">Properties</h4>
604
+ <div class="table-scroll">
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="url"></a> <code>url</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
618
+ <hr>
619
+ <p><a id="assuranceattachmentinventory-1"></a></p>
620
+ <h3 id="assuranceattachmentinventory">AssuranceAttachmentInventory</h3>
621
+ <h4 id="properties-6">Properties</h4>
622
+ <div class="table-scroll">
623
+
624
+
625
+
626
+
627
+
628
+
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="authusers"></a> <code>authUsers</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="firestoredocuments"></a> <code>firestoreDocuments</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="rtdbpresent"></a> <code>rtdbPresent</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><a id="storageobjects"></a> <code>storageObjects</code></td><td align="left"><code>number</code></td></tr></tbody></table></div>
648
+ <hr>
649
+ <p><a id="assuranceattachmentsource-1"></a></p>
650
+ <h3 id="assuranceattachmentsource">AssuranceAttachmentSource</h3>
651
+ <h4 id="properties-7">Properties</h4>
652
+ <div class="table-scroll">
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="origin"></a> <code>origin</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="readonly"></a> <code>readOnly</code></td><td align="left"><code>true</code></td></tr><tr><td align="left"><a id="requestedurl"></a> <code>requestedUrl</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="studiourl"></a> <code>studioUrl</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="transport"></a> <code>transport</code></td><td align="left"><code>"same-origin-shared-worker"</code></td></tr></tbody></table></div>
682
+ <hr>
683
+ <p><a id="assurancecampaigncontext"></a></p>
684
+ <h3 id="assurancecampaigncontext">AssuranceCampaignContext</h3>
685
+ <h4 id="properties-8">Properties</h4>
686
+ <div class="table-scroll">
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="attachment"></a> <code>attachment?</code></td><td align="left">{ <code>coverageGaps</code>: <a href="#assurancecoveragegap"><code>AssuranceCoverageGap</code></a>[]; <code>inventory</code>: <a href="#assuranceattachmentinventory-1"><code>AssuranceAttachmentInventory</code></a>; <code>source</code>: <a href="#assuranceattachmentsource-1"><code>AssuranceAttachmentSource</code></a>; }</td></tr><tr><td align="left"><code>attachment.coverageGaps</code></td><td align="left"><a href="#assurancecoveragegap"><code>AssuranceCoverageGap</code></a>[]</td></tr><tr><td align="left"><code>attachment.inventory</code></td><td align="left"><a href="#assuranceattachmentinventory-1"><code>AssuranceAttachmentInventory</code></a></td></tr><tr><td align="left"><code>attachment.source</code></td><td align="left"><a href="#assuranceattachmentsource-1"><code>AssuranceAttachmentSource</code></a></td></tr></tbody></table></div>
712
+ <hr>
713
+ <p><a id="assurancecoveragegap"></a></p>
714
+ <h3 id="assurancecoveragegap">AssuranceCoverageGap</h3>
715
+ <h4 id="properties-9">Properties</h4>
716
+ <div class="table-scroll">
717
+
718
+
719
+
720
+
721
+
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+
735
+
736
+
737
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="code-1"></a> <code>code</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="reason"></a> <code>reason</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="service"></a> <code>service</code></td><td align="left"><code>"auth"</code> | <a href="#assuranceservice"><code>AssuranceService</code></a> | <code>"attachment"</code></td></tr></tbody></table></div>
738
+ <hr>
739
+ <p><a id="assuranceeventevidence"></a></p>
740
+ <h3 id="assuranceeventevidence">AssuranceEventEvidence</h3>
741
+ <h4 id="properties-10">Properties</h4>
742
+ <div class="table-scroll">
743
+
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+
756
+
757
+
758
+
759
+
760
+
761
+
762
+
763
+
764
+
765
+
766
+
767
+
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+
822
+
823
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="actor"></a> <code>actor?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="at"></a> <code>at?</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="auth"></a> <code>auth?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="authlens"></a> <code>authLens?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="evaluatedrule"></a> <code>evaluatedRule?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="id-2"></a> <code>id?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="kind"></a> <code>kind?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="matchedrule"></a> <code>matchedRule?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="method"></a> <code>method?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="op"></a> <code>op?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="origin-1"></a> <code>origin?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="path"></a> <code>path?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="reasons"></a> <code>reasons?</code></td><td align="left"><code>string</code>[]</td></tr><tr><td align="left"><a id="request"></a> <code>request?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="resourcebefore"></a> <code>resourceBefore?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="result"></a> <code>result?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="rules"></a> <code>rules?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="service-1"></a> <code>service?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
824
+ <hr>
825
+ <p><a id="assuranceobservation"></a></p>
826
+ <h3 id="assuranceobservation">AssuranceObservation</h3>
827
+ <h4 id="properties-11">Properties</h4>
828
+ <div class="table-scroll">
829
+
830
+
831
+
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+
857
+
858
+
859
+
860
+
861
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="actorid-1"></a> <code>actorId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="description"></a> <code>description?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="id-3"></a> <code>id</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="operation"></a> <code>operation</code></td><td align="left"><a href="#firebaseoperation"><code>FirebaseOperation</code></a></td></tr><tr><td align="left"><a id="result-1"></a> <code>result</code></td><td align="left"><code>"ALLOW"</code></td></tr><tr><td align="left"><a id="source-1"></a> <code>source</code></td><td align="left"><code>"captured"</code> | <code>"authored"</code> | <code>"discovered"</code></td></tr></tbody></table></div>
862
+ <hr>
863
+ <p><a id="assuranceprobe"></a></p>
864
+ <h3 id="assuranceprobe">AssuranceProbe</h3>
865
+ <h4 id="properties-12">Properties</h4>
866
+ <div class="table-scroll">
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+
905
+
906
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="actorid-2"></a> <code>actorId</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="control"></a> <code>control</code></td><td align="left"><a href="#firebaseoperation"><code>FirebaseOperation</code></a></td><td align="left">-</td></tr><tr><td align="left"><a id="id-4"></a> <code>id</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="invariantid"></a> <code>invariantId</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="mutation"></a> <code>mutation</code></td><td align="left"><a href="#probemutation"><code>ProbeMutation</code></a></td><td align="left">-</td></tr><tr><td align="left"><a id="requires"></a> <code>requires?</code></td><td align="left"><code>CapabilityDependency</code>[]</td><td align="left">Graph nodes this probe’s verdict depends on. Each is resolved live against the conformance graph statuses: a node the graph derives non-<code>supported</code> makes the engine abstain (engine-gap), and a node the graph does not model is a campaign authoring error (invalid-probe).</td></tr></tbody></table></div>
907
+ <hr>
908
+ <p><a id="assuranceproberesult"></a></p>
909
+ <h3 id="assuranceproberesult">AssuranceProbeResult</h3>
910
+ <h4 id="properties-13">Properties</h4>
911
+ <div class="table-scroll">
912
+
913
+
914
+
915
+
916
+
917
+
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+
929
+
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+
941
+
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+
953
+
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="actorevidence-1"></a> <code>actorEvidence</code></td><td align="left"><a href="#actorevidence"><code>ActorEvidence</code></a></td></tr><tr><td align="left"><a id="campaignid"></a> <code>campaignId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="classification"></a> <code>classification</code></td><td align="left"><a href="#probeclassification"><code>ProbeClassification</code></a></td></tr><tr><td align="left"><a id="control-1"></a> <code>control</code></td><td align="left"><a href="#operationevidence"><code>OperationEvidence</code></a></td></tr><tr><td align="left"><a id="invariant"></a> <code>invariant</code></td><td align="left"><a href="#securityinvariant"><code>SecurityInvariant</code></a></td></tr><tr><td align="left"><a id="mutation-1"></a> <code>mutation</code></td><td align="left"><a href="#operationevidence"><code>OperationEvidence</code></a></td></tr><tr><td align="left"><a id="mutationspec"></a> <code>mutationSpec</code></td><td align="left"><a href="#probemutation"><code>ProbeMutation</code></a></td></tr><tr><td align="left"><a id="probeid"></a> <code>probeId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="qualification"></a> <code>qualification</code></td><td align="left"><a href="#enginequalification"><code>EngineQualification</code></a></td></tr><tr><td align="left"><a id="statediff"></a> <code>stateDiff?</code></td><td align="left"><a href="#statediff-1"><code>StateDiff</code></a></td></tr><tr><td align="left"><a id="targethash"></a> <code>targetHash</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
965
+ <hr>
966
+ <p><a id="assurancereportsummary"></a></p>
967
+ <h3 id="assurancereportsummary">AssuranceReportSummary</h3>
968
+ <h4 id="properties-14">Properties</h4>
969
+ <div class="table-scroll">
970
+
971
+
972
+
973
+
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="candidatesignals"></a> <code>candidateSignals</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="controlspassed"></a> <code>controlsPassed</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="enginegaps"></a> <code>engineGaps</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="invalidprobes"></a> <code>invalidProbes</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="localcounterexamples"></a> <code>localCounterexamples</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="nocounterexamples"></a> <code>noCounterexamples</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><a id="probes"></a> <code>probes</code></td><td align="left"><code>number</code></td></tr></tbody></table></div>
1007
+ <hr>
1008
+ <p><a id="assurancetooldeps"></a></p>
1009
+ <h3 id="assurancetooldeps">AssuranceToolDeps</h3>
1010
+ <h4 id="properties-15">Properties</h4>
1011
+ <div class="table-scroll">
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="attachmentprovider"></a> <code>attachmentProvider?</code></td><td align="left"><a href="#assuranceattachmentprovider"><code>AssuranceAttachmentProvider</code></a></td></tr><tr><td align="left"><a id="oncampaignupdate"></a> <code>onCampaignUpdate?</code></td><td align="left">(<code>campaign</code>: <a href="#assurancevisualizationsnapshot"><code>AssuranceVisualizationSnapshot</code></a>) => <code>void</code></td></tr><tr><td align="left"><a id="store"></a> <code>store?</code></td><td align="left"><a href="#assurancecampaignstore"><code>AssuranceCampaignStore</code></a></td></tr></tbody></table></div>
1033
+ <hr>
1034
+ <p><a id="assurancevisualizationsnapshot"></a></p>
1035
+ <h3 id="assurancevisualizationsnapshot">AssuranceVisualizationSnapshot</h3>
1036
+ <p>Credential-free projection safe to hand to Studio visualization code.</p>
1037
+ <h4 id="properties-16">Properties</h4>
1038
+ <div class="table-scroll">
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+
1075
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="campaignid-1"></a> <code>campaignId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="context-1"></a> <code>context?</code></td><td align="left"><a href="#assurancecampaigncontext"><code>AssuranceCampaignContext</code></a></td></tr><tr><td align="left"><a id="observations-1"></a> <code>observations</code></td><td align="left"><a href="#assuranceobservation"><code>AssuranceObservation</code></a>[]</td></tr><tr><td align="left"><a id="probes-1"></a> <code>probes</code></td><td align="left"><a href="#assuranceprobe"><code>AssuranceProbe</code></a>[]</td></tr><tr><td align="left"><a id="report-1"></a> <code>report?</code></td><td align="left"><a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a></td></tr><tr><td align="left"><a id="schema"></a> <code>schema</code></td><td align="left"><code>"pyric.assurance.visualization.v1"</code></td></tr><tr><td align="left"><a id="verifications"></a> <code>verifications?</code></td><td align="left"><a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a>[]</td></tr></tbody></table></div>
1076
+ <hr>
1077
+ <p><a id="authfixtureuser"></a></p>
1078
+ <h3 id="authfixtureuser">AuthFixtureUser</h3>
1079
+ <h4 id="properties-17">Properties</h4>
1080
+ <div class="table-scroll">
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+
1110
+
1111
+
1112
+
1113
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="customclaims"></a> <code>customClaims?</code></td><td align="left"><code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>></td></tr><tr><td align="left"><a id="disabled"></a> <code>disabled?</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><a id="email"></a> <code>email?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="emailverified"></a> <code>emailVerified?</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><a id="password"></a> <code>password?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="uid-1"></a> <code>uid</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
1114
+ <hr>
1115
+ <p><a id="authorizationcampaignreport-1"></a></p>
1116
+ <h3 id="authorizationcampaignreport">AuthorizationCampaignReport</h3>
1117
+ <h4 id="properties-18">Properties</h4>
1118
+ <div class="table-scroll">
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+
1156
+
1157
+
1158
+
1159
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="campaignid-2"></a> <code>campaignId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="localonly"></a> <code>localOnly</code></td><td align="left">{ <code>engine</code>: <code>"pyric-local-sandboxes"</code>; <code>network</code>: <code>"forbid"</code>; }</td></tr><tr><td align="left"><code>localOnly.engine</code></td><td align="left"><code>"pyric-local-sandboxes"</code></td></tr><tr><td align="left"><code>localOnly.network</code></td><td align="left"><code>"forbid"</code></td></tr><tr><td align="left"><a id="results"></a> <code>results</code></td><td align="left"><a href="#assuranceproberesult"><code>AssuranceProbeResult</code></a>[]</td></tr><tr><td align="left"><a id="schema-1"></a> <code>schema</code></td><td align="left"><code>"pyric.assurance.report.v1"</code></td></tr><tr><td align="left"><a id="summary"></a> <code>summary</code></td><td align="left"><a href="#assurancereportsummary"><code>AssuranceReportSummary</code></a></td></tr><tr><td align="left"><a id="targethash-1"></a> <code>targetHash</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
1160
+ <hr>
1161
+ <p><a id="authorizationcampaignspec-2"></a></p>
1162
+ <h3 id="authorizationcampaignspec">AuthorizationCampaignSpec</h3>
1163
+ <h4 id="properties-19">Properties</h4>
1164
+ <div class="table-scroll">
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="actors"></a> <code>actors</code></td><td align="left"><a href="#assuranceactor"><code>AssuranceActor</code></a>[]</td></tr><tr><td align="left"><a id="id-5"></a> <code>id</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="invariants"></a> <code>invariants</code></td><td align="left"><a href="#securityinvariant"><code>SecurityInvariant</code></a>[]</td></tr><tr><td align="left"><a id="probes-2"></a> <code>probes</code></td><td align="left"><a href="#assuranceprobe"><code>AssuranceProbe</code></a>[]</td></tr><tr><td align="left"><a id="schema-2"></a> <code>schema</code></td><td align="left"><code>"pyric.assurance.campaign.v1"</code></td></tr><tr><td align="left"><a id="target-2"></a> <code>target</code></td><td align="left"><a href="#localfirebasetarget"><code>LocalFirebaseTarget</code></a></td></tr></tbody></table></div>
1198
+ <hr>
1199
+ <p><a id="campaignexport"></a></p>
1200
+ <h3 id="campaignexport">CampaignExport</h3>
1201
+ <h4 id="properties-20">Properties</h4>
1202
+ <div class="table-scroll">
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="campaign"></a> <code>campaign</code></td><td align="left"><a href="#authorizationcampaignspec-2"><code>AuthorizationCampaignSpec</code></a></td></tr><tr><td align="left"><a id="cases"></a> <code>cases</code></td><td align="left"><a href="#securitycase"><code>SecurityCase</code></a>[]</td></tr><tr><td align="left"><a id="context-2"></a> <code>context?</code></td><td align="left"><a href="#assurancecampaigncontext"><code>AssuranceCampaignContext</code></a></td></tr><tr><td align="left"><a id="observations-2"></a> <code>observations</code></td><td align="left"><a href="#assuranceobservation"><code>AssuranceObservation</code></a>[]</td></tr><tr><td align="left"><a id="report-2"></a> <code>report?</code></td><td align="left"><a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a></td></tr><tr><td align="left"><a id="schema-3"></a> <code>schema</code></td><td align="left"><code>"pyric.assurance.export.v1"</code></td></tr><tr><td align="left"><a id="verifications-1"></a> <code>verifications?</code></td><td align="left"><a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a>[]</td></tr></tbody></table></div>
1240
+ <hr>
1241
+ <p><a id="capabilityrequirement"></a></p>
1242
+ <h3 id="capabilityrequirement">CapabilityRequirement</h3>
1243
+ <h4 id="properties-21">Properties</h4>
1244
+ <div class="table-scroll">
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="id-6"></a> <code>id</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="reason-1"></a> <code>reason</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="supported"></a> <code>supported</code></td><td align="left"><code>boolean</code></td></tr></tbody></table></div>
1266
+ <hr>
1267
+ <p><a id="createauthorizationcampaignoptions"></a></p>
1268
+ <h3 id="createauthorizationcampaignoptions">CreateAuthorizationCampaignOptions</h3>
1269
+ <h4 id="properties-22">Properties</h4>
1270
+ <div class="table-scroll">
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="context-3"></a> <code>context?</code></td><td align="left"><a href="#assurancecampaigncontext"><code>AssuranceCampaignContext</code></a></td></tr><tr><td align="left"><a id="id-7"></a> <code>id</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="safety"></a> <code>safety?</code></td><td align="left">{ <code>maxRuns?</code>: <code>number</code>; <code>network?</code>: <code>"forbid"</code>; }</td></tr><tr><td align="left"><code>safety.maxRuns?</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><code>safety.network?</code></td><td align="left"><code>"forbid"</code></td></tr><tr><td align="left"><a id="target-3"></a> <code>target</code></td><td align="left"><a href="#localfirebasetarget"><code>LocalFirebaseTarget</code></a></td></tr></tbody></table></div>
1304
+ <hr>
1305
+ <p><a id="enginequalification"></a></p>
1306
+ <h3 id="enginequalification">EngineQualification</h3>
1307
+ <h4 id="properties-23">Properties</h4>
1308
+ <div class="table-scroll">
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="classification-1"></a> <code>classification?</code></td><td align="left"><code>"engine-gap"</code> | <code>"invalid-probe"</code></td><td align="left">How an unsupported qualification must be classified. Absent when the qualification is supported. <code>engine-gap</code> is the default abstention (a target-specific check failed, or a declared capability is derived non-supported); <code>invalid-probe</code> overrides it when the campaign declared a capability the engine does not define.</td></tr><tr><td align="left"><a id="engine"></a> <code>engine</code></td><td align="left"><code>"pyric-local-sandboxes"</code></td><td align="left">-</td></tr><tr><td align="left"><a id="requirements"></a> <code>requirements</code></td><td align="left"><a href="#capabilityrequirement"><code>CapabilityRequirement</code></a>[]</td><td align="left">-</td></tr><tr><td align="left"><a id="supported-1"></a> <code>supported</code></td><td align="left"><code>boolean</code></td><td align="left">-</td></tr></tbody></table></div>
1339
+ <hr>
1340
+ <p><a id="firestoreoperation"></a></p>
1341
+ <h3 id="firestoreoperation">FirestoreOperation</h3>
1342
+ <h4 id="properties-24">Properties</h4>
1343
+ <div class="table-scroll">
1344
+
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="data"></a> <code>data?</code></td><td align="left"><code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>></td></tr><tr><td align="left"><a id="method-1"></a> <code>method</code></td><td align="left"><code>"get"</code> | <code>"list"</code> | <code>"create"</code> | <code>"set"</code> | <code>"merge"</code> | <code>"update"</code> | <code>"delete"</code></td></tr><tr><td align="left"><a id="path-1"></a> <code>path</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="query"></a> <code>query?</code></td><td align="left">{ <code>limit?</code>: <code>number</code>; <code>orderBy?</code>: { <code>direction?</code>: <code>"asc"</code> | <code>"desc"</code>; <code>field</code>: <code>string</code>; }[]; <code>where?</code>: <a href="#firestorequeryconstraint"><code>FirestoreQueryConstraint</code></a>[]; }</td></tr><tr><td align="left"><code>query.limit?</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><code>query.orderBy?</code></td><td align="left">{ <code>direction?</code>: <code>"asc"</code> | <code>"desc"</code>; <code>field</code>: <code>string</code>; }[]</td></tr><tr><td align="left"><code>query.where?</code></td><td align="left"><a href="#firestorequeryconstraint"><code>FirestoreQueryConstraint</code></a>[]</td></tr><tr><td align="left"><a id="service-2"></a> <code>service</code></td><td align="left"><code>"firestore"</code></td></tr></tbody></table></div>
1385
+ <hr>
1386
+ <p><a id="firestorequeryconstraint"></a></p>
1387
+ <h3 id="firestorequeryconstraint">FirestoreQueryConstraint</h3>
1388
+ <h4 id="properties-25">Properties</h4>
1389
+ <div class="table-scroll">
1390
+
1391
+
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+
1404
+
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="field"></a> <code>field</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="op-1"></a> <code>op</code></td><td align="left">| <code>"&#x3C;"</code> | <code>"&#x3C;="</code> | <code>"=="</code> | <code>"!="</code> | <code>">="</code> | <code>">"</code> | <code>"array-contains"</code> | <code>"in"</code> | <code>"not-in"</code> | <code>"array-contains-any"</code></td></tr><tr><td align="left"><a id="value"></a> <code>value</code></td><td align="left"><code>unknown</code></td></tr></tbody></table></div>
1411
+ <hr>
1412
+ <p><a id="generatedassurancecapability"></a></p>
1413
+ <h3 id="generatedassurancecapability">GeneratedAssuranceCapability</h3>
1414
+ <h4 id="properties-26">Properties</h4>
1415
+ <div class="table-scroll">
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th><th align="left">Description</th></tr></thead><tbody><tr><td align="left"><a id="dependencies"></a> <code>dependencies</code></td><td align="left"><code>GeneratedCapabilityDependency</code>[]</td><td align="left">Everything the status rests on. The ones that pinned it are the ones whose verdict equals the status; <code>capabilityReasons</code> selects and renders them.</td></tr><tr><td align="left"><a id="description-1"></a> <code>description</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="id-8"></a> <code>id</code></td><td align="left"><code>string</code></td><td align="left">-</td></tr><tr><td align="left"><a id="service-3"></a> <code>service</code></td><td align="left"><code>AssuranceCapabilityService</code></td><td align="left">-</td></tr><tr><td align="left"><a id="status"></a> <code>status</code></td><td align="left"><code>AssuranceCapabilityStatus</code></td><td align="left">-</td></tr></tbody></table></div>
1451
+ <hr>
1452
+ <p><a id="localfirebasetarget"></a></p>
1453
+ <h3 id="localfirebasetarget">LocalFirebaseTarget</h3>
1454
+ <h4 id="properties-27">Properties</h4>
1455
+ <div class="table-scroll">
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+
1512
+
1513
+
1514
+
1515
+
1516
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="network"></a> <code>network</code></td><td align="left"><code>"forbid"</code></td></tr><tr><td align="left"><a id="rules-1"></a> <code>rules</code></td><td align="left">{ <code>firestore?</code>: <code>string</code>; <code>rtdb?</code>: { <code>rules</code>: <code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>>; }; <code>storage?</code>: <code>string</code>; }</td></tr><tr><td align="left"><code>rules.firestore?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>rules.rtdb?</code></td><td align="left">{ <code>rules</code>: <code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>>; }</td></tr><tr><td align="left"><code>rules.rtdb.rules</code></td><td align="left"><code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>></td></tr><tr><td align="left"><code>rules.storage?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="schema-4"></a> <code>schema</code></td><td align="left"><code>"pyric.assurance.target.v1"</code></td></tr><tr><td align="left"><a id="state"></a> <code>state</code></td><td align="left">{ <code>auth?</code>: { <code>users</code>: <a href="#authfixtureuser"><code>AuthFixtureUser</code></a>[]; }; <code>firestore?</code>: <code>Record</code>&#x3C;<code>string</code>, <code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>>>; <code>rtdb?</code>: <code>unknown</code>; <code>storage?</code>: <a href="#storageobjectfixture"><code>StorageObjectFixture</code></a>[]; }</td></tr><tr><td align="left"><code>state.auth?</code></td><td align="left">{ <code>users</code>: <a href="#authfixtureuser"><code>AuthFixtureUser</code></a>[]; }</td></tr><tr><td align="left"><code>state.auth.users</code></td><td align="left"><a href="#authfixtureuser"><code>AuthFixtureUser</code></a>[]</td></tr><tr><td align="left"><code>state.firestore?</code></td><td align="left"><code>Record</code>&#x3C;<code>string</code>, <code>Record</code>&#x3C;<code>string</code>, <code>unknown</code>>></td></tr><tr><td align="left"><code>state.rtdb?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><code>state.storage?</code></td><td align="left"><a href="#storageobjectfixture"><code>StorageObjectFixture</code></a>[]</td></tr></tbody></table></div>
1517
+ <hr>
1518
+ <p><a id="minimizationresult"></a></p>
1519
+ <h3 id="minimizationresult">MinimizationResult</h3>
1520
+ <h4 id="properties-28">Properties</h4>
1521
+ <div class="table-scroll">
1522
+
1523
+
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="changed"></a> <code>changed</code></td><td align="left"><code>boolean</code></td></tr><tr><td align="left"><a id="probe"></a> <code>probe</code></td><td align="left"><a href="#assuranceprobe"><code>AssuranceProbe</code></a></td></tr><tr><td align="left"><a id="probeid-1"></a> <code>probeId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="removedpayloadfields"></a> <code>removedPayloadFields</code></td><td align="left"><code>string</code>[]</td></tr><tr><td align="left"><a id="result-2"></a> <code>result</code></td><td align="left"><a href="#assuranceproberesult"><code>AssuranceProbeResult</code></a></td></tr></tbody></table></div>
1551
+ <hr>
1552
+ <p><a id="mutationcandidate"></a></p>
1553
+ <h3 id="mutationcandidate">MutationCandidate</h3>
1554
+ <h4 id="extends-1">Extends</h4>
1555
+ <ul>
1556
+ <li><a href="#probemutation"><code>ProbeMutation</code></a></li>
1557
+ </ul>
1558
+ <h4 id="properties-29">Properties</h4>
1559
+ <div class="table-scroll">
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="description-2"></a> <code>description</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="dimension"></a> <code>dimension</code></td><td align="left"><a href="#mutationdimension"><code>MutationDimension</code></a></td></tr><tr><td align="left"><a id="id-9"></a> <code>id?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="operation-1"></a> <code>operation</code></td><td align="left"><a href="#firebaseoperation"><code>FirebaseOperation</code></a></td></tr></tbody></table></div>
1585
+ <hr>
1586
+ <p><a id="operationevidence"></a></p>
1587
+ <h3 id="operationevidence">OperationEvidence</h3>
1588
+ <h4 id="properties-30">Properties</h4>
1589
+ <div class="table-scroll">
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+
1626
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="decision"></a> <code>decision</code></td><td align="left"><a href="#assurancedecision"><code>AssuranceDecision</code></a></td></tr><tr><td align="left"><a id="error-1"></a> <code>error?</code></td><td align="left">{ <code>code?</code>: <code>string</code>; <code>message</code>: <code>string</code>; }</td></tr><tr><td align="left"><code>error.code?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>error.message</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="events"></a> <code>events</code></td><td align="left"><a href="#assuranceeventevidence"><code>AssuranceEventEvidence</code></a>[]</td></tr><tr><td align="left"><a id="operation-2"></a> <code>operation</code></td><td align="left"><a href="#firebaseoperation"><code>FirebaseOperation</code></a></td></tr><tr><td align="left"><a id="output"></a> <code>output?</code></td><td align="left"><code>unknown</code></td></tr></tbody></table></div>
1627
+ <hr>
1628
+ <p><a id="probemutation"></a></p>
1629
+ <h3 id="probemutation">ProbeMutation</h3>
1630
+ <h4 id="extended-by">Extended by</h4>
1631
+ <ul>
1632
+ <li><a href="#mutationcandidate"><code>MutationCandidate</code></a></li>
1633
+ </ul>
1634
+ <h4 id="properties-31">Properties</h4>
1635
+ <div class="table-scroll">
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="description-3"></a> <code>description</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="dimension-1"></a> <code>dimension</code></td><td align="left"><a href="#mutationdimension"><code>MutationDimension</code></a></td></tr><tr><td align="left"><a id="operation-3"></a> <code>operation</code></td><td align="left"><a href="#firebaseoperation"><code>FirebaseOperation</code></a></td></tr></tbody></table></div>
1657
+ <hr>
1658
+ <p><a id="proposalinput"></a></p>
1659
+ <h3 id="proposalinput">ProposalInput</h3>
1660
+ <h4 id="properties-32">Properties</h4>
1661
+ <div class="table-scroll">
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="invariantid-1"></a> <code>invariantId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="mutations"></a> <code>mutations</code></td><td align="left"><a href="#mutationcandidate"><code>MutationCandidate</code></a>[]</td></tr><tr><td align="left"><a id="observationid"></a> <code>observationId</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
1683
+ <hr>
1684
+ <p><a id="rtdboperation"></a></p>
1685
+ <h3 id="rtdboperation">RtdbOperation</h3>
1686
+ <h4 id="properties-33">Properties</h4>
1687
+ <div class="table-scroll">
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="data-1"></a> <code>data?</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="method-2"></a> <code>method</code></td><td align="left"><code>"get"</code> | <code>"set"</code> | <code>"update"</code> | <code>"remove"</code></td></tr><tr><td align="left"><a id="path-2"></a> <code>path</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="query-1"></a> <code>query?</code></td><td align="left">{ <code>endAt?</code>: { <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }; <code>endBefore?</code>: { <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }; <code>equalTo?</code>: { <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }; <code>limitToFirst?</code>: <code>number</code>; <code>limitToLast?</code>: <code>number</code>; <code>orderBy?</code>: | { <code>kind</code>: <code>"child"</code>; <code>path</code>: <code>string</code>; } | { <code>kind</code>: <code>"key"</code>; } | { <code>kind</code>: <code>"value"</code>; }; <code>startAfter?</code>: { <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }; <code>startAt?</code>: { <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }; }</td></tr><tr><td align="left"><code>query.endAt?</code></td><td align="left">{ <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }</td></tr><tr><td align="left"><code>query.endAt.key?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>query.endAt.value</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><code>query.endBefore?</code></td><td align="left">{ <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }</td></tr><tr><td align="left"><code>query.endBefore.key?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>query.endBefore.value</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><code>query.equalTo?</code></td><td align="left">{ <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }</td></tr><tr><td align="left"><code>query.equalTo.key?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>query.equalTo.value</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><code>query.limitToFirst?</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><code>query.limitToLast?</code></td><td align="left"><code>number</code></td></tr><tr><td align="left"><code>query.orderBy?</code></td><td align="left">| { <code>kind</code>: <code>"child"</code>; <code>path</code>: <code>string</code>; } | { <code>kind</code>: <code>"key"</code>; } | { <code>kind</code>: <code>"value"</code>; }</td></tr><tr><td align="left"><code>query.startAfter?</code></td><td align="left">{ <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }</td></tr><tr><td align="left"><code>query.startAfter.key?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>query.startAfter.value</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><code>query.startAt?</code></td><td align="left">{ <code>key?</code>: <code>string</code>; <code>value</code>: <code>unknown</code>; }</td></tr><tr><td align="left"><code>query.startAt.key?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><code>query.startAt.value</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="service-4"></a> <code>service</code></td><td align="left"><code>"rtdb"</code></td></tr></tbody></table></div>
1789
+ <hr>
1790
+ <p><a id="runsecuritycasesinput"></a></p>
1791
+ <h3 id="runsecuritycasesinput">RunSecurityCasesInput</h3>
1792
+ <h4 id="properties-34">Properties</h4>
1793
+ <div class="table-scroll">
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+
1818
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="actors-1"></a> <code>actors</code></td><td align="left"><a href="#assuranceactor"><code>AssuranceActor</code></a>[]</td></tr><tr><td align="left"><a id="campaignid-3"></a> <code>campaignId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="cases-1"></a> <code>cases</code></td><td align="left"><a href="#securitycase"><code>SecurityCase</code></a>[]</td></tr><tr><td align="left"><a id="target-4"></a> <code>target</code></td><td align="left"><a href="#localfirebasetarget"><code>LocalFirebaseTarget</code></a></td></tr></tbody></table></div>
1819
+ <hr>
1820
+ <p><a id="sandboxattachmentprovideroptions"></a></p>
1821
+ <h3 id="sandboxattachmentprovideroptions">SandboxAttachmentProviderOptions</h3>
1822
+ <h4 id="properties-35">Properties</h4>
1823
+ <div class="table-scroll">
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+
1839
+
1840
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="fetchimpl"></a> <code>fetchImpl?</code></td><td align="left"><em>typeof</em> <code>fetch</code></td></tr><tr><td align="left"><a id="origin-2"></a> <code>origin?</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
1841
+ <hr>
1842
+ <p><a id="securitycase"></a></p>
1843
+ <h3 id="securitycase">SecurityCase</h3>
1844
+ <h4 id="properties-36">Properties</h4>
1845
+ <div class="table-scroll">
1846
+
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="actorid-3"></a> <code>actorId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="campaignid-4"></a> <code>campaignId</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="control-2"></a> <code>control</code></td><td align="left"><a href="#firebaseoperation"><code>FirebaseOperation</code></a></td></tr><tr><td align="left"><a id="expect"></a> <code>expect</code></td><td align="left"><code>"ALLOW"</code> | <code>"DENY"</code></td></tr><tr><td align="left"><a id="id-10"></a> <code>id</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="invariant-1"></a> <code>invariant</code></td><td align="left"><a href="#securityinvariant"><code>SecurityInvariant</code></a></td></tr><tr><td align="left"><a id="mutation-2"></a> <code>mutation</code></td><td align="left"><a href="#probemutation"><code>ProbeMutation</code></a></td></tr><tr><td align="left"><a id="qualification-1"></a> <code>qualification</code></td><td align="left"><a href="#enginequalification"><code>EngineQualification</code></a></td></tr><tr><td align="left"><a id="schema-5"></a> <code>schema</code></td><td align="left"><code>"pyric.assurance.case.v1"</code></td></tr></tbody></table></div>
1891
+ <hr>
1892
+ <p><a id="securityinvariant"></a></p>
1893
+ <h3 id="securityinvariant">SecurityInvariant</h3>
1894
+ <h4 id="properties-37">Properties</h4>
1895
+ <div class="table-scroll">
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="confidence"></a> <code>confidence</code></td><td align="left"><code>"authoritative"</code> | <code>"strong"</code> | <code>"tentative"</code></td></tr><tr><td align="left"><a id="expected"></a> <code>expected</code></td><td align="left"><code>"ALLOW"</code> | <code>"DENY"</code></td></tr><tr><td align="left"><a id="id-11"></a> <code>id</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="service-5"></a> <code>service</code></td><td align="left"><a href="#assuranceservice"><code>AssuranceService</code></a> | <code>"cross-service"</code></td></tr><tr><td align="left"><a id="source-2"></a> <code>source</code></td><td align="left"><code>"captured"</code> | <code>"declared"</code> | <code>"authored-test"</code> | <code>"derived"</code> | <code>"agent"</code></td></tr><tr><td align="left"><a id="statement"></a> <code>statement</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
1929
+ <hr>
1930
+ <p><a id="statediff-1"></a></p>
1931
+ <h3 id="statediff">StateDiff</h3>
1932
+ <h4 id="properties-38">Properties</h4>
1933
+ <div class="table-scroll">
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+
1940
+
1941
+
1942
+
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="after"></a> <code>after</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="before"></a> <code>before</code></td><td align="left"><code>unknown</code></td></tr><tr><td align="left"><a id="changed-1"></a> <code>changed</code></td><td align="left"><code>boolean</code></td></tr></tbody></table></div>
1955
+ <hr>
1956
+ <p><a id="storageobjectfixture"></a></p>
1957
+ <h3 id="storageobjectfixture">StorageObjectFixture</h3>
1958
+ <h4 id="properties-39">Properties</h4>
1959
+ <div class="table-scroll">
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="contenttype"></a> <code>contentType?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="custommetadata"></a> <code>customMetadata?</code></td><td align="left"><code>Record</code>&#x3C;<code>string</code>, <code>string</code>></td></tr><tr><td align="left"><a id="database64"></a> <code>dataBase64</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="path-3"></a> <code>path</code></td><td align="left"><code>string</code></td></tr></tbody></table></div>
1985
+ <hr>
1986
+ <p><a id="storageoperation"></a></p>
1987
+ <h3 id="storageoperation">StorageOperation</h3>
1988
+ <h4 id="properties-40">Properties</h4>
1989
+ <div class="table-scroll">
1990
+
1991
+
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+ <table><thead><tr><th align="left">Property</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><a id="contenttype-1"></a> <code>contentType?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="custommetadata-1"></a> <code>customMetadata?</code></td><td align="left"><code>Record</code>&#x3C;<code>string</code>, <code>string</code>></td></tr><tr><td align="left"><a id="database64-1"></a> <code>dataBase64?</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="method-3"></a> <code>method</code></td><td align="left"><code>"get"</code> | <code>"list"</code> | <code>"delete"</code> | <code>"upload"</code> | <code>"updateMetadata"</code></td></tr><tr><td align="left"><a id="path-4"></a> <code>path</code></td><td align="left"><code>string</code></td></tr><tr><td align="left"><a id="service-6"></a> <code>service</code></td><td align="left"><code>"storage"</code></td></tr></tbody></table></div>
2023
+ <h2 id="type-aliases">Type Aliases</h2>
2024
+ <p><a id="actoracquisition"></a></p>
2025
+ <h3 id="actoracquisition">ActorAcquisition</h3>
2026
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> ActorAcquisition</span><span style="color:#56B6C2"> =</span></span>
2027
+ <span class="line"><span style="color:#ABB2BF"> | {</span></span>
2028
+ <span class="line"><span style="color:#E06C75"> kind</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"anonymous-request"</span><span style="color:#ABB2BF">;</span></span>
2029
+ <span class="line"><span style="color:#ABB2BF">}</span></span>
2030
+ <span class="line"><span style="color:#ABB2BF"> | {</span></span>
2031
+ <span class="line"><span style="color:#E06C75"> kind</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"anonymous-account"</span><span style="color:#ABB2BF">;</span></span>
2032
+ <span class="line"><span style="color:#ABB2BF">}</span></span>
2033
+ <span class="line"><span style="color:#ABB2BF"> | {</span></span>
2034
+ <span class="line"><span style="color:#E06C75"> email</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">;</span></span>
2035
+ <span class="line"><span style="color:#E06C75"> kind</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"password"</span><span style="color:#ABB2BF">;</span></span>
2036
+ <span class="line"><span style="color:#E06C75"> password</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">;</span></span>
2037
+ <span class="line"><span style="color:#ABB2BF">}</span></span>
2038
+ <span class="line"><span style="color:#ABB2BF"> | {</span></span>
2039
+ <span class="line"><span style="color:#E06C75"> kind</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"fixture-user"</span><span style="color:#ABB2BF">;</span></span>
2040
+ <span class="line"><span style="color:#E06C75"> uid</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">;</span></span>
2041
+ <span class="line"><span style="color:#ABB2BF">}</span></span>
2042
+ <span class="line"><span style="color:#ABB2BF"> | {</span></span>
2043
+ <span class="line"><span style="color:#E06C75"> kind</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"synthetic"</span><span style="color:#ABB2BF">;</span></span>
2044
+ <span class="line"><span style="color:#E06C75"> token</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Record</span><span style="color:#ABB2BF">&#x3C;</span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">, </span><span style="color:#E5C07B">unknown</span><span style="color:#ABB2BF">>;</span></span>
2045
+ <span class="line"><span style="color:#E06C75"> uid</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">;</span></span>
2046
+ <span class="line"><span style="color:#ABB2BF">};</span></span></code></pre>
2047
+ <hr>
2048
+ <p><a id="assuranceattachmentprovider"></a></p>
2049
+ <h3 id="assuranceattachmentprovider">AssuranceAttachmentProvider()</h3>
2050
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> AssuranceAttachmentProvider</span><span style="color:#56B6C2"> =</span><span style="color:#ABB2BF"> (</span><span style="color:#E06C75;font-style:italic">input</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AssuranceAttachmentInput</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#E5C07B"> Promise</span><span style="color:#ABB2BF">&#x3C;</span><span style="color:#E5C07B">AssuranceAttachment</span><span style="color:#ABB2BF">>;</span></span></code></pre>
2051
+ <h4 id="parameters-18">Parameters</h4>
2052
+ <div class="table-scroll">
2053
+
2054
+
2055
+
2056
+
2057
+
2058
+
2059
+
2060
+
2061
+
2062
+
2063
+
2064
+
2065
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>input</code></td><td align="left"><a href="#assuranceattachmentinput"><code>AssuranceAttachmentInput</code></a></td></tr></tbody></table></div>
2066
+ <h4 id="returns-24">Returns</h4>
2067
+ <p><code>Promise</code>&#x3C;<a href="#assuranceattachment"><code>AssuranceAttachment</code></a>></p>
2068
+ <hr>
2069
+ <p><a id="assurancedecision"></a></p>
2070
+ <h3 id="assurancedecision">AssuranceDecision</h3>
2071
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> AssuranceDecision</span><span style="color:#56B6C2"> =</span><span style="color:#98C379"> "ALLOW"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"DENY"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"ERROR"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"UNSUPPORTED"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2072
+ <hr>
2073
+ <p><a id="assuranceservice"></a></p>
2074
+ <h3 id="assuranceservice">AssuranceService</h3>
2075
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> AssuranceService</span><span style="color:#56B6C2"> =</span><span style="color:#98C379"> "firestore"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"rtdb"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"storage"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2076
+ <hr>
2077
+ <p><a id="firebaseoperation"></a></p>
2078
+ <h3 id="firebaseoperation">FirebaseOperation</h3>
2079
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> FirebaseOperation</span><span style="color:#56B6C2"> =</span></span>
2080
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">FirestoreOperation</span></span>
2081
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">RtdbOperation</span></span>
2082
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#E5C07B">StorageOperation</span><span style="color:#ABB2BF">;</span></span></code></pre>
2083
+ <hr>
2084
+ <p><a id="mutationdimension"></a></p>
2085
+ <h3 id="mutationdimension">MutationDimension</h3>
2086
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> MutationDimension</span><span style="color:#56B6C2"> =</span><span style="color:#98C379"> "path"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"query"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"payload"</span><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"operation"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2087
+ <hr>
2088
+ <p><a id="probeclassification"></a></p>
2089
+ <h3 id="probeclassification">ProbeClassification</h3>
2090
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">type</span><span style="color:#E5C07B"> ProbeClassification</span><span style="color:#56B6C2"> =</span></span>
2091
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"local-counterexample"</span></span>
2092
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"candidate-signal"</span></span>
2093
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"no-counterexample"</span></span>
2094
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"engine-gap"</span></span>
2095
+ <span class="line"><span style="color:#ABB2BF"> | </span><span style="color:#98C379">"invalid-probe"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2096
+ <h2 id="variables">Variables</h2>
2097
+ <p><a id="assurance_broadcast_channel"></a></p>
2098
+ <h3 id="assurance_broadcast_channel">ASSURANCE_BROADCAST_CHANNEL</h3>
2099
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> ASSURANCE_BROADCAST_CHANNEL</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"pyric-assurance-v1"</span><span style="color:#56B6C2"> =</span><span style="color:#98C379"> "pyric-assurance-v1"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2100
+ <hr>
2101
+ <p><a id="assurance_browser_event"></a></p>
2102
+ <h3 id="assurance_browser_event">ASSURANCE_BROWSER_EVENT</h3>
2103
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> ASSURANCE_BROWSER_EVENT</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"pyric:assurance-campaign"</span><span style="color:#56B6C2"> =</span><span style="color:#98C379"> "pyric:assurance-campaign"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2104
+ <hr>
2105
+ <p><a id="assurance_campaign_schema"></a></p>
2106
+ <h3 id="assurance_campaign_schema">ASSURANCE_CAMPAIGN_SCHEMA</h3>
2107
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> ASSURANCE_CAMPAIGN_SCHEMA</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"pyric.assurance.campaign.v1"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2108
+ <hr>
2109
+ <p><a id="assurance_engine_capabilities"></a></p>
2110
+ <h3 id="assurance_engine_capabilities">ASSURANCE_ENGINE_CAPABILITIES</h3>
2111
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> ASSURANCE_ENGINE_CAPABILITIES</span><span style="color:#ABB2BF">: </span><span style="color:#C678DD">readonly</span><span style="color:#E5C07B"> GeneratedAssuranceCapability</span><span style="color:#ABB2BF">[];</span></span></code></pre>
2112
+ <hr>
2113
+ <p><a id="assurance_report_schema"></a></p>
2114
+ <h3 id="assurance_report_schema">ASSURANCE_REPORT_SCHEMA</h3>
2115
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> ASSURANCE_REPORT_SCHEMA</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"pyric.assurance.report.v1"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2116
+ <hr>
2117
+ <p><a id="assurance_target_schema"></a></p>
2118
+ <h3 id="assurance_target_schema">ASSURANCE_TARGET_SCHEMA</h3>
2119
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> ASSURANCE_TARGET_SCHEMA</span><span style="color:#ABB2BF">: </span><span style="color:#98C379">"pyric.assurance.target.v1"</span><span style="color:#ABB2BF">;</span></span></code></pre>
2120
+ <hr>
2121
+ <p><a id="defaultassurancecampaignstore"></a></p>
2122
+ <h3 id="defaultassurancecampaignstore">defaultAssuranceCampaignStore</h3>
2123
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">const</span><span style="color:#E5C07B"> defaultAssuranceCampaignStore</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AssuranceCampaignStore</span><span style="color:#ABB2BF">;</span></span></code></pre>
2124
+ <h2 id="functions">Functions</h2>
2125
+ <p><a id="capabilityreasons"></a></p>
2126
+ <h3 id="capabilityreasons">capabilityReasons()</h3>
2127
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> capabilityReasons</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">capability</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">GeneratedAssuranceCapability</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">string</span><span style="color:#ABB2BF">[];</span></span></code></pre>
2128
+ <p>The reasons a probe cites when it abstains: the dependencies whose verdict
2129
+ pinned the capability’s status, each rendered as a sentence.</p>
2130
+ <h4 id="parameters-19">Parameters</h4>
2131
+ <div class="table-scroll">
2132
+
2133
+
2134
+
2135
+
2136
+
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>capability</code></td><td align="left"><a href="#generatedassurancecapability"><code>GeneratedAssuranceCapability</code></a></td></tr></tbody></table></div>
2145
+ <h4 id="returns-25">Returns</h4>
2146
+ <p><code>string</code>[]</p>
2147
+ <hr>
2148
+ <p><a id="createassurancetools"></a></p>
2149
+ <h3 id="createassurancetools">createAssuranceTools()</h3>
2150
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> createAssuranceTools</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">deps</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AssuranceToolDeps</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">ToolHandler</span><span style="color:#ABB2BF">&#x3C;</span><span style="color:#E5C07B">unknown</span><span style="color:#ABB2BF">, </span><span style="color:#E5C07B">unknown</span><span style="color:#ABB2BF">>[];</span></span></code></pre>
2151
+ <h4 id="parameters-20">Parameters</h4>
2152
+ <div class="table-scroll">
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+
2165
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>deps?</code></td><td align="left"><a href="#assurancetooldeps"><code>AssuranceToolDeps</code></a></td></tr></tbody></table></div>
2166
+ <h4 id="returns-26">Returns</h4>
2167
+ <p><code>ToolHandler</code>&#x3C;<code>unknown</code>, <code>unknown</code>>[]</p>
2168
+ <hr>
2169
+ <p><a id="createauthorizationcampaign"></a></p>
2170
+ <h3 id="createauthorizationcampaign">createAuthorizationCampaign()</h3>
2171
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> createAuthorizationCampaign</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">options</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">CreateAuthorizationCampaignOptions</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AuthorizationCampaign</span><span style="color:#ABB2BF">;</span></span></code></pre>
2172
+ <h4 id="parameters-21">Parameters</h4>
2173
+ <div class="table-scroll">
2174
+
2175
+
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+
2182
+
2183
+
2184
+
2185
+
2186
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>options</code></td><td align="left"><a href="#createauthorizationcampaignoptions"><code>CreateAuthorizationCampaignOptions</code></a></td></tr></tbody></table></div>
2187
+ <h4 id="returns-27">Returns</h4>
2188
+ <p><a href="#authorizationcampaign"><code>AuthorizationCampaign</code></a></p>
2189
+ <hr>
2190
+ <p><a id="createsandboxattachmentprovider"></a></p>
2191
+ <h3 id="createsandboxattachmentprovider">createSandboxAttachmentProvider()</h3>
2192
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> createSandboxAttachmentProvider</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">sandbox</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">Sandbox</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">options</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">SandboxAttachmentProviderOptions</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">AssuranceAttachmentProvider</span><span style="color:#ABB2BF">;</span></span></code></pre>
2193
+ <p>Clone the sandbox currently hosting the connected bridge peer. The URL is an
2194
+ origin assertion and source for explicit rules metadata; no arbitrary host is
2195
+ contacted and the returned campaign target itself keeps networking forbidden.</p>
2196
+ <h4 id="parameters-22">Parameters</h4>
2197
+ <div class="table-scroll">
2198
+
2199
+
2200
+
2201
+
2202
+
2203
+
2204
+
2205
+
2206
+
2207
+
2208
+
2209
+
2210
+
2211
+
2212
+
2213
+
2214
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>sandbox</code></td><td align="left"><code>Sandbox</code></td></tr><tr><td align="left"><code>options?</code></td><td align="left"><a href="#sandboxattachmentprovideroptions"><code>SandboxAttachmentProviderOptions</code></a></td></tr></tbody></table></div>
2215
+ <h4 id="returns-28">Returns</h4>
2216
+ <p><a href="#assuranceattachmentprovider"><code>AssuranceAttachmentProvider</code></a></p>
2217
+ <hr>
2218
+ <p><a id="listassurancecapabilities"></a></p>
2219
+ <h3 id="listassurancecapabilities">listAssuranceCapabilities()</h3>
2220
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> listAssuranceCapabilities</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">services</span><span style="color:#C678DD">?</span><span style="color:#ABB2BF">: </span><span style="color:#C678DD">readonly</span><span style="color:#E5C07B"> AssuranceCapabilityService</span><span style="color:#ABB2BF">[]): </span><span style="color:#E5C07B">GeneratedAssuranceCapability</span><span style="color:#ABB2BF">[];</span></span></code></pre>
2221
+ <h4 id="parameters-23">Parameters</h4>
2222
+ <div class="table-scroll">
2223
+
2224
+
2225
+
2226
+
2227
+
2228
+
2229
+
2230
+
2231
+
2232
+
2233
+
2234
+
2235
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>services?</code></td><td align="left">readonly <code>AssuranceCapabilityService</code>[]</td></tr></tbody></table></div>
2236
+ <h4 id="returns-29">Returns</h4>
2237
+ <p><a href="#generatedassurancecapability"><code>GeneratedAssuranceCapability</code></a>[]</p>
2238
+ <hr>
2239
+ <p><a id="publishassurancevisualization"></a></p>
2240
+ <h3 id="publishassurancevisualization">publishAssuranceVisualization()</h3>
2241
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> publishAssuranceVisualization</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">snapshot</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AssuranceVisualizationSnapshot</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
2242
+ <h4 id="parameters-24">Parameters</h4>
2243
+ <div class="table-scroll">
2244
+
2245
+
2246
+
2247
+
2248
+
2249
+
2250
+
2251
+
2252
+
2253
+
2254
+
2255
+
2256
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>snapshot</code></td><td align="left"><a href="#assurancevisualizationsnapshot"><code>AssuranceVisualizationSnapshot</code></a></td></tr></tbody></table></div>
2257
+ <h4 id="returns-30">Returns</h4>
2258
+ <p><code>void</code></p>
2259
+ <hr>
2260
+ <p><a id="qualifyprobe"></a></p>
2261
+ <h3 id="qualifyprobe">qualifyProbe()</h3>
2262
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> qualifyProbe</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">target</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">LocalFirebaseTarget</span><span style="color:#ABB2BF">, </span><span style="color:#E06C75;font-style:italic">probe</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AssuranceProbe</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">EngineQualification</span><span style="color:#ABB2BF">;</span></span></code></pre>
2263
+ <h4 id="parameters-25">Parameters</h4>
2264
+ <div class="table-scroll">
2265
+
2266
+
2267
+
2268
+
2269
+
2270
+
2271
+
2272
+
2273
+
2274
+
2275
+
2276
+
2277
+
2278
+
2279
+
2280
+
2281
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>target</code></td><td align="left"><a href="#localfirebasetarget"><code>LocalFirebaseTarget</code></a></td></tr><tr><td align="left"><code>probe</code></td><td align="left"><a href="#assuranceprobe"><code>AssuranceProbe</code></a></td></tr></tbody></table></div>
2282
+ <h4 id="returns-31">Returns</h4>
2283
+ <p><a href="#enginequalification"><code>EngineQualification</code></a></p>
2284
+ <hr>
2285
+ <p><a id="runauthorizationcampaign"></a></p>
2286
+ <h3 id="runauthorizationcampaign">runAuthorizationCampaign()</h3>
2287
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> runAuthorizationCampaign</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">spec</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AuthorizationCampaignSpec</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#ABB2BF">&#x3C;</span><span style="color:#E5C07B">AuthorizationCampaignReport</span><span style="color:#ABB2BF">>;</span></span></code></pre>
2288
+ <h4 id="parameters-26">Parameters</h4>
2289
+ <div class="table-scroll">
2290
+
2291
+
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+
2301
+
2302
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>spec</code></td><td align="left"><a href="#authorizationcampaignspec-2"><code>AuthorizationCampaignSpec</code></a></td></tr></tbody></table></div>
2303
+ <h4 id="returns-32">Returns</h4>
2304
+ <p><code>Promise</code>&#x3C;<a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a>></p>
2305
+ <hr>
2306
+ <p><a id="runsecuritycases"></a></p>
2307
+ <h3 id="runsecuritycases">runSecurityCases()</h3>
2308
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> runSecurityCases</span><span style="color:#ABB2BF">(</span><span style="color:#E06C75;font-style:italic">input</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">RunSecurityCasesInput</span><span style="color:#ABB2BF">): </span><span style="color:#E5C07B">Promise</span><span style="color:#ABB2BF">&#x3C;</span><span style="color:#E5C07B">AuthorizationCampaignReport</span><span style="color:#ABB2BF">>;</span></span></code></pre>
2309
+ <p>Re-run exported expectations against a candidate local target. Each case
2310
+ keeps its known-good control and explicit negative expectation, so a rules
2311
+ change must preserve the application workflow and reject the boundary case.</p>
2312
+ <h4 id="parameters-27">Parameters</h4>
2313
+ <div class="table-scroll">
2314
+
2315
+
2316
+
2317
+
2318
+
2319
+
2320
+
2321
+
2322
+
2323
+
2324
+
2325
+
2326
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>input</code></td><td align="left"><a href="#runsecuritycasesinput"><code>RunSecurityCasesInput</code></a></td></tr></tbody></table></div>
2327
+ <h4 id="returns-33">Returns</h4>
2328
+ <p><code>Promise</code>&#x3C;<a href="#authorizationcampaignreport-1"><code>AuthorizationCampaignReport</code></a>></p>
2329
+ <hr>
2330
+ <p><a id="subscribeassurancevisualizations"></a></p>
2331
+ <h3 id="subscribeassurancevisualizations">subscribeAssuranceVisualizations()</h3>
2332
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#C678DD">function</span><span style="color:#61AFEF"> subscribeAssuranceVisualizations</span><span style="color:#ABB2BF">(</span><span style="color:#61AFEF">listener</span><span style="color:#ABB2BF">: (</span><span style="color:#E06C75;font-style:italic">snapshot</span><span style="color:#ABB2BF">: </span><span style="color:#E5C07B">AssuranceVisualizationSnapshot</span><span style="color:#ABB2BF">) </span><span style="color:#C678DD">=></span><span style="color:#E5C07B"> void</span><span style="color:#ABB2BF">): () </span><span style="color:#C678DD">=></span><span style="color:#E5C07B"> void</span><span style="color:#ABB2BF">;</span></span></code></pre>
2333
+ <h4 id="parameters-28">Parameters</h4>
2334
+ <div class="table-scroll">
2335
+
2336
+
2337
+
2338
+
2339
+
2340
+
2341
+
2342
+
2343
+
2344
+
2345
+
2346
+
2347
+ <table><thead><tr><th align="left">Parameter</th><th align="left">Type</th></tr></thead><tbody><tr><td align="left"><code>listener</code></td><td align="left">(<code>snapshot</code>: <a href="#assurancevisualizationsnapshot"><code>AssuranceVisualizationSnapshot</code></a>) => <code>void</code></td></tr></tbody></table></div>
2348
+ <h4 id="returns-34">Returns</h4>
2349
+ <pre class="astro-code one-dark-pro" style="background-color:#282c34;color:#abb2bf; overflow-x: auto;" tabindex="0" data-language="ts"><code><span class="line"><span style="color:#ABB2BF">(): </span><span style="color:#E5C07B">void</span><span style="color:#ABB2BF">;</span></span></code></pre>
2350
+ <h5 id="returns-35">Returns</h5>
2351
+ <p><code>void</code></p>
2352
+ <h2 id="references">References</h2>
2353
+ <p><a id="assuranceenginecapability"></a></p>
2354
+ <h3 id="assuranceenginecapability">AssuranceEngineCapability</h3>
2355
+ <p>Renames and re-exports <a href="#generatedassurancecapability">GeneratedAssuranceCapability</a></p> </article> </main> <aside class="doc-toc api-symbols" aria-label="API symbols"> <h2 class="doc-toc-heading">Symbols</h2> <input class="api-symbol-filter" type="search" placeholder="Filter symbols" aria-label="Filter API symbols" data-api-symbol-filter> <div class="api-symbol-groups" data-api-symbol-groups> <section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#classes"> Classes </a> <ul> <li data-api-symbol="assurancecampaignstore"> <a href="#assurancecampaignstore">AssuranceCampaignStore</a> </li><li data-api-symbol="assuranceinputerror"> <a href="#assuranceinputerror">AssuranceInputError</a> </li><li data-api-symbol="authorizationcampaign"> <a href="#authorizationcampaign">AuthorizationCampaign</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#interfaces"> Interfaces </a> <ul> <li data-api-symbol="actorevidence"> <a href="#actorevidence">ActorEvidence</a> </li><li data-api-symbol="assuranceactor"> <a href="#assuranceactor">AssuranceActor</a> </li><li data-api-symbol="assuranceattachment"> <a href="#assuranceattachment">AssuranceAttachment</a> </li><li data-api-symbol="assuranceattachmentinput"> <a href="#assuranceattachmentinput">AssuranceAttachmentInput</a> </li><li data-api-symbol="assuranceattachmentinventory"> <a href="#assuranceattachmentinventory">AssuranceAttachmentInventory</a> </li><li data-api-symbol="assuranceattachmentsource"> <a href="#assuranceattachmentsource">AssuranceAttachmentSource</a> </li><li data-api-symbol="assurancecampaigncontext"> <a href="#assurancecampaigncontext">AssuranceCampaignContext</a> </li><li data-api-symbol="assurancecoveragegap"> <a href="#assurancecoveragegap">AssuranceCoverageGap</a> </li><li data-api-symbol="assuranceeventevidence"> <a href="#assuranceeventevidence">AssuranceEventEvidence</a> </li><li data-api-symbol="assuranceobservation"> <a href="#assuranceobservation">AssuranceObservation</a> </li><li data-api-symbol="assuranceprobe"> <a href="#assuranceprobe">AssuranceProbe</a> </li><li data-api-symbol="assuranceproberesult"> <a href="#assuranceproberesult">AssuranceProbeResult</a> </li><li data-api-symbol="assurancereportsummary"> <a href="#assurancereportsummary">AssuranceReportSummary</a> </li><li data-api-symbol="assurancetooldeps"> <a href="#assurancetooldeps">AssuranceToolDeps</a> </li><li data-api-symbol="assurancevisualizationsnapshot"> <a href="#assurancevisualizationsnapshot">AssuranceVisualizationSnapshot</a> </li><li data-api-symbol="authfixtureuser"> <a href="#authfixtureuser">AuthFixtureUser</a> </li><li data-api-symbol="authorizationcampaignreport"> <a href="#authorizationcampaignreport">AuthorizationCampaignReport</a> </li><li data-api-symbol="authorizationcampaignspec"> <a href="#authorizationcampaignspec">AuthorizationCampaignSpec</a> </li><li data-api-symbol="campaignexport"> <a href="#campaignexport">CampaignExport</a> </li><li data-api-symbol="capabilityrequirement"> <a href="#capabilityrequirement">CapabilityRequirement</a> </li><li data-api-symbol="createauthorizationcampaignoptions"> <a href="#createauthorizationcampaignoptions">CreateAuthorizationCampaignOptions</a> </li><li data-api-symbol="enginequalification"> <a href="#enginequalification">EngineQualification</a> </li><li data-api-symbol="firestoreoperation"> <a href="#firestoreoperation">FirestoreOperation</a> </li><li data-api-symbol="firestorequeryconstraint"> <a href="#firestorequeryconstraint">FirestoreQueryConstraint</a> </li><li data-api-symbol="generatedassurancecapability"> <a href="#generatedassurancecapability">GeneratedAssuranceCapability</a> </li><li data-api-symbol="localfirebasetarget"> <a href="#localfirebasetarget">LocalFirebaseTarget</a> </li><li data-api-symbol="minimizationresult"> <a href="#minimizationresult">MinimizationResult</a> </li><li data-api-symbol="mutationcandidate"> <a href="#mutationcandidate">MutationCandidate</a> </li><li data-api-symbol="operationevidence"> <a href="#operationevidence">OperationEvidence</a> </li><li data-api-symbol="probemutation"> <a href="#probemutation">ProbeMutation</a> </li><li data-api-symbol="proposalinput"> <a href="#proposalinput">ProposalInput</a> </li><li data-api-symbol="rtdboperation"> <a href="#rtdboperation">RtdbOperation</a> </li><li data-api-symbol="runsecuritycasesinput"> <a href="#runsecuritycasesinput">RunSecurityCasesInput</a> </li><li data-api-symbol="sandboxattachmentprovideroptions"> <a href="#sandboxattachmentprovideroptions">SandboxAttachmentProviderOptions</a> </li><li data-api-symbol="securitycase"> <a href="#securitycase">SecurityCase</a> </li><li data-api-symbol="securityinvariant"> <a href="#securityinvariant">SecurityInvariant</a> </li><li data-api-symbol="statediff"> <a href="#statediff">StateDiff</a> </li><li data-api-symbol="storageobjectfixture"> <a href="#storageobjectfixture">StorageObjectFixture</a> </li><li data-api-symbol="storageoperation"> <a href="#storageoperation">StorageOperation</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#type-aliases"> Type Aliases </a> <ul> <li data-api-symbol="actoracquisition"> <a href="#actoracquisition">ActorAcquisition</a> </li><li data-api-symbol="assuranceattachmentprovider()"> <a href="#assuranceattachmentprovider">AssuranceAttachmentProvider()</a> </li><li data-api-symbol="assurancedecision"> <a href="#assurancedecision">AssuranceDecision</a> </li><li data-api-symbol="assuranceservice"> <a href="#assuranceservice">AssuranceService</a> </li><li data-api-symbol="firebaseoperation"> <a href="#firebaseoperation">FirebaseOperation</a> </li><li data-api-symbol="mutationdimension"> <a href="#mutationdimension">MutationDimension</a> </li><li data-api-symbol="probeclassification"> <a href="#probeclassification">ProbeClassification</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#variables"> Variables </a> <ul> <li data-api-symbol="assurance_broadcast_channel"> <a href="#assurance_broadcast_channel">ASSURANCE_BROADCAST_CHANNEL</a> </li><li data-api-symbol="assurance_browser_event"> <a href="#assurance_browser_event">ASSURANCE_BROWSER_EVENT</a> </li><li data-api-symbol="assurance_campaign_schema"> <a href="#assurance_campaign_schema">ASSURANCE_CAMPAIGN_SCHEMA</a> </li><li data-api-symbol="assurance_engine_capabilities"> <a href="#assurance_engine_capabilities">ASSURANCE_ENGINE_CAPABILITIES</a> </li><li data-api-symbol="assurance_report_schema"> <a href="#assurance_report_schema">ASSURANCE_REPORT_SCHEMA</a> </li><li data-api-symbol="assurance_target_schema"> <a href="#assurance_target_schema">ASSURANCE_TARGET_SCHEMA</a> </li><li data-api-symbol="defaultassurancecampaignstore"> <a href="#defaultassurancecampaignstore">defaultAssuranceCampaignStore</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#functions"> Functions </a> <ul> <li data-api-symbol="capabilityreasons()"> <a href="#capabilityreasons">capabilityReasons()</a> </li><li data-api-symbol="createassurancetools()"> <a href="#createassurancetools">createAssuranceTools()</a> </li><li data-api-symbol="createauthorizationcampaign()"> <a href="#createauthorizationcampaign">createAuthorizationCampaign()</a> </li><li data-api-symbol="createsandboxattachmentprovider()"> <a href="#createsandboxattachmentprovider">createSandboxAttachmentProvider()</a> </li><li data-api-symbol="listassurancecapabilities()"> <a href="#listassurancecapabilities">listAssuranceCapabilities()</a> </li><li data-api-symbol="publishassurancevisualization()"> <a href="#publishassurancevisualization">publishAssuranceVisualization()</a> </li><li data-api-symbol="qualifyprobe()"> <a href="#qualifyprobe">qualifyProbe()</a> </li><li data-api-symbol="runauthorizationcampaign()"> <a href="#runauthorizationcampaign">runAuthorizationCampaign()</a> </li><li data-api-symbol="runsecuritycases()"> <a href="#runsecuritycases">runSecurityCases()</a> </li><li data-api-symbol="subscribeassurancevisualizations()"> <a href="#subscribeassurancevisualizations">subscribeAssuranceVisualizations()</a> </li> </ul> </section><section class="api-symbol-group" data-api-symbol-group> <a class="api-symbol-kind" href="#references"> References </a> <ul> <li data-api-symbol="assuranceenginecapability"> <a href="#assuranceenginecapability">AssuranceEngineCapability</a> </li> </ul> </section> <p class="api-symbol-empty" data-api-symbol-empty hidden>No matching symbols</p> </div> </aside> </div> <script type="module">const a=document.querySelector("[data-api-symbol-filter]"),d=[...document.querySelectorAll("[data-api-symbol-group]")],n=document.querySelector("[data-api-symbol-empty]");a?.addEventListener("input",()=>{const t=a.value.trim().toLowerCase();let o=0;for(const i of d){let e=0;i.querySelectorAll("[data-api-symbol]").forEach(l=>{const r=!t||(l.dataset.apiSymbol??"").includes(t);l.hidden=!r,r&&e++}),i.hidden=e===0,o+=e}n&&(n.hidden=o>0)});</script> <script type="module">const s=new Map;document.querySelectorAll('.doc-toc a[href^="#"]').forEach(t=>s.set(decodeURIComponent(t.hash.slice(1)),t));if(s.size>0){const t=new Set,n=()=>{let o=null;for(const e of s.keys())if(t.has(e)){o=e;break}s.forEach((e,c)=>e.classList.toggle("active",c===o))},r=new IntersectionObserver(o=>{for(const e of o)e.isIntersecting?t.add(e.target.id):t.delete(e.target.id);n()},{rootMargin:"-72px 0px -60% 0px"});s.forEach((o,e)=>{const c=document.getElementById(e);c&&r.observe(c)})}</script> <script type="module">document.querySelector('.studio__nav [aria-current="page"]')?.scrollIntoView({block:"nearest",inline:"center"});</script> </body> </html>