@pyric/cli 0.1.0-alpha.14 → 0.1.0-alpha.16

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 (606) hide show
  1. package/dist/assurance/.generated/conformance-verdicts.d.ts +120 -75
  2. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
  3. package/dist/assurance/.generated/conformance-verdicts.js +120 -75
  4. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
  5. package/dist/bridge/client/dispatch.js +1 -1
  6. package/dist/bridge/client/dispatch.js.map +1 -1
  7. package/dist/cli/serve.d.ts +1 -1
  8. package/dist/cli/serve.d.ts.map +1 -1
  9. package/dist/cli/serve.js +207 -284
  10. package/dist/cli/serve.js.map +1 -1
  11. package/dist/cli/service-command-records/database-rules-generate.d.ts +4 -0
  12. package/dist/cli/service-command-records/database-rules-generate.d.ts.map +1 -0
  13. package/dist/cli/service-command-records/database-rules-generate.js +3 -0
  14. package/dist/cli/service-command-records/database-rules-generate.js.map +1 -0
  15. package/dist/cli/service-command-records/database-rules-lint.d.ts +4 -0
  16. package/dist/cli/service-command-records/database-rules-lint.d.ts.map +1 -0
  17. package/dist/cli/service-command-records/database-rules-lint.js +3 -0
  18. package/dist/cli/service-command-records/database-rules-lint.js.map +1 -0
  19. package/dist/cli/service-command-records/database-rules-simulate.d.ts +4 -0
  20. package/dist/cli/service-command-records/database-rules-simulate.d.ts.map +1 -0
  21. package/dist/cli/service-command-records/database-rules-simulate.js +3 -0
  22. package/dist/cli/service-command-records/database-rules-simulate.js.map +1 -0
  23. package/dist/cli/service-command-records/database-rules-validate.d.ts +4 -0
  24. package/dist/cli/service-command-records/database-rules-validate.d.ts.map +1 -0
  25. package/dist/cli/service-command-records/database-rules-validate.js +3 -0
  26. package/dist/cli/service-command-records/database-rules-validate.js.map +1 -0
  27. package/dist/cli/service-command-records/firestore-indexes-generate.d.ts +4 -0
  28. package/dist/cli/service-command-records/firestore-indexes-generate.d.ts.map +1 -0
  29. package/dist/cli/service-command-records/firestore-indexes-generate.js +3 -0
  30. package/dist/cli/service-command-records/firestore-indexes-generate.js.map +1 -0
  31. package/dist/cli/service-command-records/firestore-rules-lint.d.ts +4 -0
  32. package/dist/cli/service-command-records/firestore-rules-lint.d.ts.map +1 -0
  33. package/dist/cli/service-command-records/firestore-rules-lint.js +3 -0
  34. package/dist/cli/service-command-records/firestore-rules-lint.js.map +1 -0
  35. package/dist/cli/service-command-records/firestore-rules-resolve.d.ts +4 -0
  36. package/dist/cli/service-command-records/firestore-rules-resolve.d.ts.map +1 -0
  37. package/dist/cli/service-command-records/firestore-rules-resolve.js +3 -0
  38. package/dist/cli/service-command-records/firestore-rules-resolve.js.map +1 -0
  39. package/dist/cli/service-command-records/firestore-rules-simulate.d.ts +4 -0
  40. package/dist/cli/service-command-records/firestore-rules-simulate.d.ts.map +1 -0
  41. package/dist/cli/service-command-records/firestore-rules-simulate.js +3 -0
  42. package/dist/cli/service-command-records/firestore-rules-simulate.js.map +1 -0
  43. package/dist/cli/service-command-records/firestore-rules-validate.d.ts +4 -0
  44. package/dist/cli/service-command-records/firestore-rules-validate.d.ts.map +1 -0
  45. package/dist/cli/service-command-records/firestore-rules-validate.js +3 -0
  46. package/dist/cli/service-command-records/firestore-rules-validate.js.map +1 -0
  47. package/dist/cli/service-command-records/storage-rules-lint.d.ts +4 -0
  48. package/dist/cli/service-command-records/storage-rules-lint.d.ts.map +1 -0
  49. package/dist/cli/service-command-records/storage-rules-lint.js +3 -0
  50. package/dist/cli/service-command-records/storage-rules-lint.js.map +1 -0
  51. package/dist/cli/service-command-records/storage-rules-simulate.d.ts +4 -0
  52. package/dist/cli/service-command-records/storage-rules-simulate.d.ts.map +1 -0
  53. package/dist/cli/service-command-records/storage-rules-simulate.js +3 -0
  54. package/dist/cli/service-command-records/storage-rules-simulate.js.map +1 -0
  55. package/dist/cli/service-commands.d.ts +7 -0
  56. package/dist/cli/service-commands.d.ts.map +1 -1
  57. package/dist/cli/service-commands.generated.d.ts +35 -0
  58. package/dist/cli/service-commands.generated.d.ts.map +1 -0
  59. package/dist/cli/service-commands.generated.js +25 -0
  60. package/dist/cli/service-commands.generated.js.map +1 -0
  61. package/dist/cli/service-commands.js +23 -40
  62. package/dist/cli/service-commands.js.map +1 -1
  63. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
  64. package/dist/conformance/.generated/can-i-use-browser.js +1 -1
  65. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
  66. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  67. package/dist/conformance/.generated/can-i-use.js +1 -1
  68. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  69. package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
  70. package/dist/conformance/.generated/conformance-docs.js +1 -1
  71. package/dist/conformance/.generated/conformance-docs.js.map +1 -1
  72. package/dist/functions-rtdb/development-runtime.d.ts +63 -0
  73. package/dist/functions-rtdb/development-runtime.d.ts.map +1 -0
  74. package/dist/functions-rtdb/development-runtime.js +244 -0
  75. package/dist/functions-rtdb/development-runtime.js.map +1 -0
  76. package/dist/serve/bridge-mount.d.ts +32 -2
  77. package/dist/serve/bridge-mount.d.ts.map +1 -1
  78. package/dist/serve/bridge-mount.js +232 -18
  79. package/dist/serve/bridge-mount.js.map +1 -1
  80. package/dist/serve/bundler.d.ts +2 -18
  81. package/dist/serve/bundler.d.ts.map +1 -1
  82. package/dist/serve/bundler.js +7 -35
  83. package/dist/serve/bundler.js.map +1 -1
  84. package/dist/serve/entries/app-client.d.ts.map +1 -1
  85. package/dist/serve/entries/app-client.js +5 -5
  86. package/dist/serve/entries/app-client.js.map +1 -1
  87. package/dist/serve/entries/auth-helper-core.d.ts +32 -6
  88. package/dist/serve/entries/auth-helper-core.d.ts.map +1 -1
  89. package/dist/serve/entries/auth-helper-core.js +82 -24
  90. package/dist/serve/entries/auth-helper-core.js.map +1 -1
  91. package/dist/serve/entries/auth.d.ts.map +1 -1
  92. package/dist/serve/entries/auth.js +6 -4
  93. package/dist/serve/entries/auth.js.map +1 -1
  94. package/dist/serve/entries/database.d.ts +28 -0
  95. package/dist/serve/entries/database.d.ts.map +1 -1
  96. package/dist/serve/entries/database.js +95 -26
  97. package/dist/serve/entries/database.js.map +1 -1
  98. package/dist/serve/entries/init.d.ts.map +1 -1
  99. package/dist/serve/entries/init.js +21 -12
  100. package/dist/serve/entries/init.js.map +1 -1
  101. package/dist/serve/html-injection.d.ts +5 -0
  102. package/dist/serve/html-injection.d.ts.map +1 -0
  103. package/dist/serve/html-injection.js +59 -0
  104. package/dist/serve/html-injection.js.map +1 -0
  105. package/dist/serve/namespace.d.ts +6 -22
  106. package/dist/serve/namespace.d.ts.map +1 -1
  107. package/dist/serve/namespace.js +23 -145
  108. package/dist/serve/namespace.js.map +1 -1
  109. package/dist/serve/runtime/worker-replacement.d.ts +1 -2
  110. package/dist/serve/runtime/worker-replacement.d.ts.map +1 -1
  111. package/dist/serve/sandbox-session.d.ts +78 -0
  112. package/dist/serve/sandbox-session.d.ts.map +1 -0
  113. package/dist/serve/sandbox-session.js +171 -0
  114. package/dist/serve/sandbox-session.js.map +1 -0
  115. package/dist/serve/server.d.ts +5 -2
  116. package/dist/serve/server.d.ts.map +1 -1
  117. package/dist/serve/server.js +21 -5
  118. package/dist/serve/server.js.map +1 -1
  119. package/dist/serve/site-tree.d.ts +8 -0
  120. package/dist/serve/site-tree.d.ts.map +1 -0
  121. package/dist/serve/site-tree.js +113 -0
  122. package/dist/serve/site-tree.js.map +1 -0
  123. package/dist/serve/site-ui/_astro/RulesCodeEditor.CzwHdCi9.js +23 -0
  124. package/dist/serve/site-ui/_astro/_example_.jevZ7OdV.css +1 -0
  125. package/dist/serve/site-ui/_astro/_slug_.BoKXYrnu.css +1 -0
  126. package/dist/serve/site-ui/_astro/_studio_.BtYpqe1A.css +1 -0
  127. package/dist/serve/site-ui/_astro/app.4HeLP_FA.js +109 -0
  128. package/dist/serve/site-ui/_astro/app.BgSnCR5G.js +1 -0
  129. package/dist/serve/site-ui/_astro/app.BsFsMjn0.css +1 -0
  130. package/dist/serve/site-ui/_astro/chess-showcase.CnoxIle5.js +1 -0
  131. package/dist/serve/site-ui/_astro/chess-source-explorer.C5k9c5yK.js +1 -0
  132. package/dist/serve/site-ui/_astro/chess-v2.CFHmd3UL.js +354 -0
  133. package/dist/serve/site-ui/_astro/client.D2ORs4B-.js +25 -0
  134. package/dist/serve/site-ui/_astro/example-runtime.R1d96L6-.js +291 -0
  135. package/dist/serve/site-ui/_astro/index.BJiOemMX.js +1 -0
  136. package/dist/serve/site-ui/_astro/index.DBy5LfQW.js +9 -0
  137. package/dist/serve/site-ui/_astro/index.DNyk7q8W.js +9 -0
  138. package/dist/serve/site-ui/_astro/jsx-runtime.D_zvdyIk.js +9 -0
  139. package/dist/serve/site-ui/_astro/reads.BrKNdKAa.js +1 -0
  140. package/dist/serve/site-ui/_astro/sandbox-controls.BTb3EbQp.js +1153 -0
  141. package/dist/serve/site-ui/_astro/seed.EyI3VYEu.js +20 -0
  142. package/dist/serve/site-ui/auth/index.html +11 -0
  143. package/dist/serve/site-ui/docs/_rhythm/index.html +100 -0
  144. package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +43 -0
  145. package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +26 -0
  146. package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +70 -0
  147. package/dist/serve/{docs-ui → site-ui}/docs/ai-compat/index.html +3 -3
  148. package/dist/serve/site-ui/docs/api-reference/index.html +68 -0
  149. package/dist/serve/{docs-ui → site-ui}/docs/app-compat/index.html +3 -3
  150. package/dist/serve/{docs-ui → site-ui}/docs/auth-compat/index.html +3 -3
  151. package/dist/serve/site-ui/docs/build/ai-logic/index.html +64 -0
  152. package/dist/serve/site-ui/docs/build/authentication/index.html +66 -0
  153. package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +84 -0
  154. package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +71 -0
  155. package/dist/serve/site-ui/docs/build/cloud-storage/index.html +66 -0
  156. package/dist/serve/{docs-ui → site-ui}/docs/build/cloud-storage.md +2 -2
  157. package/dist/serve/site-ui/docs/build/realtime-database/index.html +67 -0
  158. package/dist/serve/site-ui/docs/conformance-scores/index.html +50 -0
  159. package/dist/serve/{docs-ui → site-ui}/docs/conformance-scores.md +3 -3
  160. package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +531 -0
  161. package/dist/serve/{docs-ui → site-ui}/docs/database-compat/index.html +211 -168
  162. package/dist/serve/{docs-ui → site-ui}/docs/database-compat.md +208 -170
  163. package/dist/serve/site-ui/docs/examples/chess/index.html +384 -0
  164. package/dist/serve/site-ui/docs/examples/chess.md +57 -0
  165. package/dist/serve/site-ui/docs/examples/index.html +3 -0
  166. package/dist/serve/site-ui/docs/examples.md +4 -0
  167. package/dist/serve/{docs-ui → site-ui}/docs/firestore-compat/index.html +55 -91
  168. package/dist/serve/{docs-ui → site-ui}/docs/firestore-compat.md +52 -88
  169. package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +73 -0
  170. package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +29 -0
  171. package/dist/serve/site-ui/docs/get-started/start-building/index.html +33 -0
  172. package/dist/serve/{docs-ui → site-ui}/docs/index.json +595 -26
  173. package/dist/serve/site-ui/docs/messaging-compat/index.html +324 -0
  174. package/dist/serve/{docs-ui → site-ui}/docs/messaging-compat.md +71 -1
  175. package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +28 -0
  176. package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +74 -0
  177. package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +45 -0
  178. package/dist/serve/site-ui/docs/overview/index.html +17 -0
  179. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +186 -0
  180. package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-auth-reference-api/index.html +4 -4
  181. package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-database-reference-api/index.html +4 -4
  182. package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-firestore-reference-api/index.html +318 -202
  183. package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-firestore-reference-api.md +154 -27
  184. package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-messaging-reference-api/index.html +5 -5
  185. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +318 -0
  186. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ai-reference-api/index.html +5 -5
  187. package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +160 -0
  188. package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +425 -0
  189. package/dist/serve/{docs-ui → site-ui}/docs/pyric-auth-reference-api/index.html +6 -6
  190. package/dist/serve/{docs-ui → site-ui}/docs/pyric-auth-reference-api.md +1 -1
  191. package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +60 -0
  192. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-assurance-reference-api/index.html +4 -4
  193. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-bridge-client-reference-api/index.html +4 -4
  194. package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +507 -0
  195. package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +258 -0
  196. package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +51 -0
  197. package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +308 -0
  198. package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +68 -0
  199. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-discover-reference-api/index.html +4 -4
  200. package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +11 -0
  201. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-remote-reference-api/index.html +4 -4
  202. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-serve-worker-reference-api/index.html +1186 -1384
  203. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-serve-worker-reference-api.md +817 -1291
  204. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-verify-reference-api/index.html +4 -4
  205. package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +126 -0
  206. package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-vite-reference-api.md +1 -1
  207. package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +2641 -0
  208. package/dist/serve/{docs-ui → site-ui}/docs/pyric-database-reference-api.md +1055 -158
  209. package/dist/serve/{docs-ui → site-ui}/docs/pyric-firestore-reference-api/index.html +311 -249
  210. package/dist/serve/{docs-ui → site-ui}/docs/pyric-firestore-reference-api.md +72 -54
  211. package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +509 -0
  212. package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +182 -0
  213. package/dist/serve/{docs-ui → site-ui}/docs/pyric-rules-reference-api/index.html +7 -26
  214. package/dist/serve/{docs-ui → site-ui}/docs/pyric-rules-reference-api.md +13 -23
  215. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +121 -0
  216. package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +203 -0
  217. package/dist/serve/{docs-ui → site-ui}/docs/pyric-sandbox-reference-api/index.html +26 -5
  218. package/dist/serve/{docs-ui → site-ui}/docs/pyric-sandbox-reference-api.md +22 -22
  219. package/dist/serve/{docs-ui → site-ui}/docs/pyric-storage-reference-api/index.html +5 -15
  220. package/dist/serve/{docs-ui → site-ui}/docs/pyric-storage-reference-api.md +0 -13
  221. package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +639 -0
  222. package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +100 -0
  223. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-auth-reference-api/index.html +4 -4
  224. package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +24 -0
  225. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-events-reference-api/index.html +4 -4
  226. package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +136 -0
  227. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-firestore-reference-api/index.html +7 -7
  228. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-firestore-reference-api.md +4 -4
  229. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-primitives-reference-api/index.html +4 -4
  230. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-rtdb-reference-api/index.html +4 -4
  231. package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +16 -0
  232. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-rules-reference-api/index.html +4 -4
  233. package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +176 -0
  234. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-storage-reference-api/index.html +10 -11
  235. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-storage-reference-api.md +7 -8
  236. package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +188 -0
  237. package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-traffic-reference-api/index.html +4 -4
  238. package/dist/serve/{docs-ui → site-ui}/docs/rules-compat/index.html +87 -57
  239. package/dist/serve/{docs-ui → site-ui}/docs/rules-compat.md +84 -54
  240. package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +51 -0
  241. package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +106 -0
  242. package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +41 -0
  243. package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +67 -0
  244. package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +159 -0
  245. package/dist/serve/{docs-ui → site-ui}/docs/secure/rules-standard-library.md +2 -2
  246. package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +47 -0
  247. package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +95 -0
  248. package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +82 -0
  249. package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +37 -0
  250. package/dist/serve/site-ui/docs/ship/test-in-node/index.html +75 -0
  251. package/dist/serve/{docs-ui → site-ui}/docs/storage-compat/index.html +8 -8
  252. package/dist/serve/{docs-ui → site-ui}/docs/storage-compat.md +5 -5
  253. package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +132 -0
  254. package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +861 -0
  255. package/dist/serve/site-ui/docs/trust/rules-standard-library.md +344 -0
  256. package/dist/serve/site-ui/docs/trust/storage-rules-stdlib-research/index.html +582 -0
  257. package/dist/serve/site-ui/docs/trust/storage-rules-stdlib-research.md +448 -0
  258. package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +14 -0
  259. package/dist/serve/{docs-ui → site-ui}/docs/tutorial/index.html +4 -4
  260. package/dist/serve/{docs-ui → site-ui}/docs/tutorial.md +1 -1
  261. package/dist/serve/site-ui/examples/chess/index.html +2 -0
  262. package/dist/serve/site-ui/examples/firestore-first-write/index.html +2 -0
  263. package/dist/serve/site-ui/firestore/index.html +11 -0
  264. package/dist/serve/site-ui/index.html +11 -0
  265. package/dist/serve/{docs-ui → site-ui}/llms.txt +6 -2
  266. package/dist/serve/site-ui/rtdb/index.html +11 -0
  267. package/dist/serve/site-ui/settings/index.html +11 -0
  268. package/dist/serve/site-ui/storage/index.html +11 -0
  269. package/dist/serve/site-ui/studio-routes.json +1 -0
  270. package/dist/serve/site-ui/traffic/index.html +11 -0
  271. package/dist/serve/standalone-assets.d.ts +4 -10
  272. package/dist/serve/standalone-assets.d.ts.map +1 -1
  273. package/dist/serve/standalone-assets.js +8 -21
  274. package/dist/serve/standalone-assets.js.map +1 -1
  275. package/dist/serve/vite-functions-development.d.ts +29 -0
  276. package/dist/serve/vite-functions-development.d.ts.map +1 -0
  277. package/dist/serve/vite-functions-development.js +150 -0
  278. package/dist/serve/vite-functions-development.js.map +1 -0
  279. package/dist/serve/vite-generation-bridge.d.ts +17 -0
  280. package/dist/serve/vite-generation-bridge.d.ts.map +1 -0
  281. package/dist/serve/vite-generation-bridge.js +47 -0
  282. package/dist/serve/vite-generation-bridge.js.map +1 -0
  283. package/dist/serve/vite-generation-functions.d.ts +35 -0
  284. package/dist/serve/vite-generation-functions.d.ts.map +1 -0
  285. package/dist/serve/vite-generation-functions.js +46 -0
  286. package/dist/serve/vite-generation-functions.js.map +1 -0
  287. package/dist/serve/vite-generation-middleware.d.ts +10 -0
  288. package/dist/serve/vite-generation-middleware.d.ts.map +1 -0
  289. package/dist/serve/vite-generation-middleware.js +40 -0
  290. package/dist/serve/vite-generation-middleware.js.map +1 -0
  291. package/dist/serve/vite-generation-rules-watch.d.ts +8 -0
  292. package/dist/serve/vite-generation-rules-watch.d.ts.map +1 -0
  293. package/dist/serve/vite-generation-rules-watch.js +33 -0
  294. package/dist/serve/vite-generation-rules-watch.js.map +1 -0
  295. package/dist/serve/vite-module-swap.d.ts +16 -0
  296. package/dist/serve/vite-module-swap.d.ts.map +1 -0
  297. package/dist/serve/vite-module-swap.js +96 -0
  298. package/dist/serve/vite-module-swap.js.map +1 -0
  299. package/dist/serve/vite-page-runtime.d.ts +29 -0
  300. package/dist/serve/vite-page-runtime.d.ts.map +1 -0
  301. package/dist/serve/vite-page-runtime.js +71 -0
  302. package/dist/serve/vite-page-runtime.js.map +1 -0
  303. package/dist/serve/vite-plugin.d.ts +44 -4
  304. package/dist/serve/vite-plugin.d.ts.map +1 -1
  305. package/dist/serve/vite-plugin.js +62 -864
  306. package/dist/serve/vite-plugin.js.map +1 -1
  307. package/dist/serve/vite-sandbox-generation.d.ts +57 -0
  308. package/dist/serve/vite-sandbox-generation.d.ts.map +1 -0
  309. package/dist/serve/vite-sandbox-generation.js +178 -0
  310. package/dist/serve/vite-sandbox-generation.js.map +1 -0
  311. package/dist/serve/worker/client/disconnect.d.ts.map +1 -1
  312. package/dist/serve/worker/client/disconnect.js +2 -0
  313. package/dist/serve/worker/client/disconnect.js.map +1 -1
  314. package/dist/serve/worker/client/handles.d.ts +5 -0
  315. package/dist/serve/worker/client/handles.d.ts.map +1 -1
  316. package/dist/serve/worker/client/handles.js.map +1 -1
  317. package/dist/serve/worker/client/pagehide.d.ts +13 -0
  318. package/dist/serve/worker/client/pagehide.d.ts.map +1 -0
  319. package/dist/serve/worker/client/pagehide.js +19 -0
  320. package/dist/serve/worker/client/pagehide.js.map +1 -0
  321. package/dist/serve/worker/client/rtdb-admin.d.ts +8 -0
  322. package/dist/serve/worker/client/rtdb-admin.d.ts.map +1 -0
  323. package/dist/serve/worker/client/rtdb-admin.js +39 -0
  324. package/dist/serve/worker/client/rtdb-admin.js.map +1 -0
  325. package/dist/serve/worker/client/rtdb-connection-lifecycle.d.ts +15 -0
  326. package/dist/serve/worker/client/rtdb-connection-lifecycle.d.ts.map +1 -0
  327. package/dist/serve/worker/client/rtdb-connection-lifecycle.js +45 -0
  328. package/dist/serve/worker/client/rtdb-connection-lifecycle.js.map +1 -0
  329. package/dist/serve/worker/client/rtdb-controls.d.ts +6 -0
  330. package/dist/serve/worker/client/rtdb-controls.d.ts.map +1 -0
  331. package/dist/serve/worker/client/rtdb-controls.js +8 -0
  332. package/dist/serve/worker/client/rtdb-controls.js.map +1 -0
  333. package/dist/serve/worker/client/rtdb-listeners.d.ts +24 -0
  334. package/dist/serve/worker/client/rtdb-listeners.d.ts.map +1 -0
  335. package/dist/serve/worker/client/rtdb-listeners.js +262 -0
  336. package/dist/serve/worker/client/rtdb-listeners.js.map +1 -0
  337. package/dist/serve/worker/client/rtdb-reads.d.ts +4 -0
  338. package/dist/serve/worker/client/rtdb-reads.d.ts.map +1 -0
  339. package/dist/serve/worker/client/rtdb-reads.js +11 -0
  340. package/dist/serve/worker/client/rtdb-reads.js.map +1 -0
  341. package/dist/serve/worker/client/rtdb-references.d.ts +19 -0
  342. package/dist/serve/worker/client/rtdb-references.d.ts.map +1 -0
  343. package/dist/serve/worker/client/rtdb-references.js +63 -0
  344. package/dist/serve/worker/client/rtdb-references.js.map +1 -0
  345. package/dist/serve/worker/client/rtdb-snapshots.d.ts +20 -0
  346. package/dist/serve/worker/client/rtdb-snapshots.d.ts.map +1 -0
  347. package/dist/serve/worker/client/rtdb-snapshots.js +64 -0
  348. package/dist/serve/worker/client/rtdb-snapshots.js.map +1 -0
  349. package/dist/serve/worker/client/rtdb-transactions.d.ts +14 -0
  350. package/dist/serve/worker/client/rtdb-transactions.d.ts.map +1 -0
  351. package/dist/serve/worker/client/rtdb-transactions.js +34 -0
  352. package/dist/serve/worker/client/rtdb-transactions.js.map +1 -0
  353. package/dist/serve/worker/client/rtdb-writes.d.ts +8 -0
  354. package/dist/serve/worker/client/rtdb-writes.d.ts.map +1 -0
  355. package/dist/serve/worker/client/rtdb-writes.js +65 -0
  356. package/dist/serve/worker/client/rtdb-writes.js.map +1 -0
  357. package/dist/serve/worker/client.d.ts +0 -2
  358. package/dist/serve/worker/client.d.ts.map +1 -1
  359. package/dist/serve/worker/client.js +0 -2
  360. package/dist/serve/worker/client.js.map +1 -1
  361. package/dist/serve/worker/entry.js +2 -2
  362. package/dist/serve/worker/entry.js.map +1 -1
  363. package/dist/serve/worker/host/dispatch.d.ts +2 -0
  364. package/dist/serve/worker/host/dispatch.d.ts.map +1 -1
  365. package/dist/serve/worker/host/dispatch.js +24 -2
  366. package/dist/serve/worker/host/dispatch.js.map +1 -1
  367. package/dist/serve/worker/host/rtdb.d.ts +6 -2
  368. package/dist/serve/worker/host/rtdb.d.ts.map +1 -1
  369. package/dist/serve/worker/host/rtdb.js +224 -2
  370. package/dist/serve/worker/host/rtdb.js.map +1 -1
  371. package/dist/serve/worker/host/studio.d.ts.map +1 -1
  372. package/dist/serve/worker/host/studio.js +2 -0
  373. package/dist/serve/worker/host/studio.js.map +1 -1
  374. package/dist/serve/worker/host/subscriptions.d.ts.map +1 -1
  375. package/dist/serve/worker/host/subscriptions.js +3 -3
  376. package/dist/serve/worker/host/subscriptions.js.map +1 -1
  377. package/dist/serve/worker/host.d.ts +1 -1
  378. package/dist/serve/worker/host.d.ts.map +1 -1
  379. package/dist/serve/worker/host.js +1 -1
  380. package/dist/serve/worker/host.js.map +1 -1
  381. package/dist/serve/worker/index.d.ts +16 -1
  382. package/dist/serve/worker/index.d.ts.map +1 -1
  383. package/dist/serve/worker/index.js +17 -4
  384. package/dist/serve/worker/index.js.map +1 -1
  385. package/dist/serve/worker/protocol.d.ts +57 -0
  386. package/dist/serve/worker/protocol.d.ts.map +1 -1
  387. package/dist/serve/worker/protocol.js.map +1 -1
  388. package/dist/serve/worker/rtdb-value-equality.d.ts +3 -0
  389. package/dist/serve/worker/rtdb-value-equality.d.ts.map +1 -0
  390. package/dist/serve/worker/rtdb-value-equality.js +18 -0
  391. package/dist/serve/worker/rtdb-value-equality.js.map +1 -0
  392. package/dist/serve/worker/serve-init.js +2 -2
  393. package/dist/serve/worker/serve-init.js.map +1 -1
  394. package/dist/serve/worker/service-worker-relay.js +2 -2
  395. package/dist/serve/worker/service-worker-relay.js.map +1 -1
  396. package/package.json +7 -5
  397. package/src/assurance/.generated/conformance-verdicts.ts +120 -75
  398. package/src/bridge/client/dispatch.ts +1 -1
  399. package/src/cli/serve.ts +215 -307
  400. package/src/cli/service-command-records/database-rules-generate.ts +3 -0
  401. package/src/cli/service-command-records/database-rules-lint.ts +3 -0
  402. package/src/cli/service-command-records/database-rules-simulate.ts +3 -0
  403. package/src/cli/service-command-records/database-rules-validate.ts +3 -0
  404. package/src/cli/service-command-records/firestore-indexes-generate.ts +3 -0
  405. package/src/cli/service-command-records/firestore-rules-lint.ts +3 -0
  406. package/src/cli/service-command-records/firestore-rules-resolve.ts +3 -0
  407. package/src/cli/service-command-records/firestore-rules-simulate.ts +3 -0
  408. package/src/cli/service-command-records/firestore-rules-validate.ts +3 -0
  409. package/src/cli/service-command-records/storage-rules-lint.ts +3 -0
  410. package/src/cli/service-command-records/storage-rules-simulate.ts +3 -0
  411. package/src/cli/service-commands.generated.ts +27 -0
  412. package/src/cli/service-commands.test.ts +43 -0
  413. package/src/cli/service-commands.ts +36 -51
  414. package/src/conformance/.generated/can-i-use-browser.ts +1 -1
  415. package/src/conformance/.generated/can-i-use.ts +1 -1
  416. package/src/conformance/.generated/conformance-docs.ts +1 -1
  417. package/src/functions-rtdb/development-runtime.ts +299 -0
  418. package/src/serve/bridge-mount.ts +253 -19
  419. package/src/serve/bundler.ts +8 -34
  420. package/src/serve/entries/app-client.ts +5 -4
  421. package/src/serve/entries/auth-helper-core.ts +117 -30
  422. package/src/serve/entries/auth.ts +8 -4
  423. package/src/serve/entries/database.ts +180 -57
  424. package/src/serve/entries/init.ts +30 -20
  425. package/src/serve/html-injection.ts +65 -0
  426. package/src/serve/namespace.ts +26 -169
  427. package/src/serve/runtime/worker-replacement.ts +1 -1
  428. package/src/serve/sandbox-session.ts +233 -0
  429. package/src/serve/server.ts +20 -5
  430. package/src/serve/site-tree.ts +146 -0
  431. package/src/serve/standalone-assets.ts +9 -26
  432. package/src/serve/vite-functions-development.ts +201 -0
  433. package/src/serve/vite-generation-bridge.ts +66 -0
  434. package/src/serve/vite-generation-functions.ts +78 -0
  435. package/src/serve/vite-generation-middleware.ts +56 -0
  436. package/src/serve/vite-generation-rules-watch.ts +37 -0
  437. package/src/serve/vite-module-swap.ts +119 -0
  438. package/src/serve/vite-page-runtime.ts +100 -0
  439. package/src/serve/vite-plugin.ts +78 -883
  440. package/src/serve/vite-sandbox-generation.ts +255 -0
  441. package/src/serve/worker/client/disconnect.ts +3 -1
  442. package/src/serve/worker/client/handles.ts +5 -0
  443. package/src/serve/worker/client/pagehide.ts +31 -0
  444. package/src/serve/worker/client/rtdb-admin.ts +74 -0
  445. package/src/serve/worker/client/rtdb-connection-lifecycle.ts +52 -0
  446. package/src/serve/worker/client/rtdb-controls.ts +8 -0
  447. package/src/serve/worker/client/rtdb-listeners.ts +337 -0
  448. package/src/serve/worker/client/rtdb-reads.ts +12 -0
  449. package/src/serve/worker/client/rtdb-references.ts +85 -0
  450. package/src/serve/worker/client/rtdb-snapshots.ts +118 -0
  451. package/src/serve/worker/client/rtdb-transactions.ts +51 -0
  452. package/src/serve/worker/client/rtdb-writes.ts +74 -0
  453. package/src/serve/worker/client.ts +0 -2
  454. package/src/serve/worker/entry.ts +2 -2
  455. package/src/serve/worker/host/dispatch.ts +22 -2
  456. package/src/serve/worker/host/rtdb.ts +243 -2
  457. package/src/serve/worker/host/studio.ts +2 -0
  458. package/src/serve/worker/host/subscriptions.ts +8 -4
  459. package/src/serve/worker/host.ts +1 -1
  460. package/src/serve/worker/index.ts +58 -10
  461. package/src/serve/worker/protocol.ts +23 -2
  462. package/src/serve/worker/rtdb-value-equality.ts +17 -0
  463. package/src/serve/worker/serve-init.ts +2 -2
  464. package/src/serve/worker/service-worker-relay.ts +2 -2
  465. package/dist/serve/docs-ui/_astro/_slug_.DUci-duz.css +0 -1
  466. package/dist/serve/docs-ui/docs/_rhythm/index.html +0 -100
  467. package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +0 -43
  468. package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +0 -26
  469. package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +0 -70
  470. package/dist/serve/docs-ui/docs/api-reference/index.html +0 -68
  471. package/dist/serve/docs-ui/docs/build/ai-logic/index.html +0 -64
  472. package/dist/serve/docs-ui/docs/build/authentication/index.html +0 -66
  473. package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +0 -70
  474. package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +0 -71
  475. package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +0 -66
  476. package/dist/serve/docs-ui/docs/build/realtime-database/index.html +0 -67
  477. package/dist/serve/docs-ui/docs/conformance-scores/index.html +0 -50
  478. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +0 -531
  479. package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +0 -73
  480. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +0 -29
  481. package/dist/serve/docs-ui/docs/get-started/start-building/index.html +0 -33
  482. package/dist/serve/docs-ui/docs/messaging-compat/index.html +0 -265
  483. package/dist/serve/docs-ui/docs/observe/resolve-runtime-status/index.html +0 -28
  484. package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +0 -74
  485. package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +0 -45
  486. package/dist/serve/docs-ui/docs/overview/index.html +0 -17
  487. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +0 -186
  488. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +0 -318
  489. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +0 -160
  490. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +0 -425
  491. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +0 -60
  492. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +0 -507
  493. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +0 -258
  494. package/dist/serve/docs-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +0 -51
  495. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +0 -308
  496. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +0 -68
  497. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +0 -11
  498. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +0 -126
  499. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +0 -1852
  500. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +0 -509
  501. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +0 -182
  502. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +0 -121
  503. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +0 -203
  504. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +0 -639
  505. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +0 -100
  506. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +0 -24
  507. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +0 -136
  508. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +0 -16
  509. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +0 -176
  510. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +0 -188
  511. package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +0 -51
  512. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +0 -106
  513. package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +0 -41
  514. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +0 -67
  515. package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +0 -159
  516. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +0 -47
  517. package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +0 -95
  518. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +0 -82
  519. package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +0 -37
  520. package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +0 -75
  521. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +0 -132
  522. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +0 -14
  523. package/dist/serve/docs-ui/index.html +0 -1
  524. package/dist/serve/studio-ui/assets/RulesCodeEditor-BDlH-5lp.js +0 -23
  525. package/dist/serve/studio-ui/assets/index-Bf9SSE8L.js +0 -1218
  526. package/dist/serve/studio-ui/assets/index-BlSGru_r.css +0 -1
  527. package/dist/serve/studio-ui/assets/seed-D_UjxfOU.js +0 -20
  528. package/dist/serve/studio-ui/index.html +0 -32
  529. package/dist/serve/worker/client/rtdb.d.ts +0 -36
  530. package/dist/serve/worker/client/rtdb.d.ts.map +0 -1
  531. package/dist/serve/worker/client/rtdb.js +0 -241
  532. package/dist/serve/worker/client/rtdb.js.map +0 -1
  533. package/src/serve/worker/client/rtdb.ts +0 -311
  534. /package/dist/serve/{docs-ui → site-ui}/404.html +0 -0
  535. /package/dist/serve/{docs-ui → site-ui}/_astro/_slug_.CXh9yTP1.css +0 -0
  536. /package/dist/serve/{docs-ui → site-ui}/docs/_rhythm.md +0 -0
  537. /package/dist/serve/{docs-ui → site-ui}/docs/agent/set-up-your-agent.md +0 -0
  538. /package/dist/serve/{docs-ui → site-ui}/docs/agent/watch-and-review.md +0 -0
  539. /package/dist/serve/{docs-ui → site-ui}/docs/agent/work-with-an-agent.md +0 -0
  540. /package/dist/serve/{docs-ui → site-ui}/docs/ai-compat.md +0 -0
  541. /package/dist/serve/{docs-ui → site-ui}/docs/api-reference.md +0 -0
  542. /package/dist/serve/{docs-ui → site-ui}/docs/app-compat.md +0 -0
  543. /package/dist/serve/{docs-ui → site-ui}/docs/auth-compat.md +0 -0
  544. /package/dist/serve/{docs-ui → site-ui}/docs/build/ai-logic.md +0 -0
  545. /package/dist/serve/{docs-ui → site-ui}/docs/build/authentication.md +0 -0
  546. /package/dist/serve/{docs-ui → site-ui}/docs/build/cloud-firestore.md +0 -0
  547. /package/dist/serve/{docs-ui → site-ui}/docs/build/cloud-messaging.md +0 -0
  548. /package/dist/serve/{docs-ui → site-ui}/docs/build/realtime-database.md +0 -0
  549. /package/dist/serve/{docs-ui → site-ui}/docs/create-pyric-reference-api.md +0 -0
  550. /package/dist/serve/{docs-ui → site-ui}/docs/functions-rtdb-compat.md +0 -0
  551. /package/dist/serve/{docs-ui → site-ui}/docs/get-started/how-the-swap-works.md +0 -0
  552. /package/dist/serve/{docs-ui → site-ui}/docs/get-started/start-building.md +0 -0
  553. /package/dist/serve/{docs-ui → site-ui}/docs/index.html +0 -0
  554. /package/dist/serve/{docs-ui → site-ui}/docs/observe/resolve-runtime-status.md +0 -0
  555. /package/dist/serve/{docs-ui → site-ui}/docs/observe/see-whats-happening.md +0 -0
  556. /package/dist/serve/{docs-ui → site-ui}/docs/observe/shape-your-data.md +0 -0
  557. /package/dist/serve/{docs-ui → site-ui}/docs/overview.md +0 -0
  558. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-app-reference-api.md +0 -0
  559. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-auth-reference-api.md +0 -0
  560. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-database-reference-api.md +0 -0
  561. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-messaging-reference-api.md +0 -0
  562. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-admin-storage-reference-api.md +0 -0
  563. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ai-reference-api.md +0 -0
  564. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ai-scripting-reference-api.md +0 -0
  565. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-app-reference-api.md +0 -0
  566. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-assurance-browser-reference-api.md +0 -0
  567. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-assurance-reference-api.md +0 -0
  568. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-bridge-client-reference-api.md +0 -0
  569. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-bridge-reference-api.md +0 -0
  570. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-conformance-browser-reference-api.md +0 -0
  571. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-conformance-docs-reference-api.md +0 -0
  572. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-conformance-reference-api.md +0 -0
  573. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-credentials-node-reference-api.md +0 -0
  574. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-discover-reference-api.md +0 -0
  575. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-register-reference-api.md +0 -0
  576. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-remote-reference-api.md +0 -0
  577. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-cli-verify-reference-api.md +0 -0
  578. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-messaging-reference-api.md +0 -0
  579. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-messaging-sw-reference-api.md +0 -0
  580. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-sandbox-database-reference-api.md +0 -0
  581. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-sandbox-firestore-reference-api.md +0 -0
  582. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-agents-reference-api.md +0 -0
  583. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-auth-hooks-reference-api.md +0 -0
  584. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-auth-reference-api.md +0 -0
  585. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-events-hooks-reference-api.md +0 -0
  586. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-events-reference-api.md +0 -0
  587. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-firestore-hooks-reference-api.md +0 -0
  588. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-primitives-reference-api.md +0 -0
  589. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-rtdb-reference-api.md +0 -0
  590. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-rules-hooks-reference-api.md +0 -0
  591. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-rules-reference-api.md +0 -0
  592. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-storage-hooks-reference-api.md +0 -0
  593. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-traffic-hooks-reference-api.md +0 -0
  594. /package/dist/serve/{docs-ui → site-ui}/docs/pyric-ui-traffic-reference-api.md +0 -0
  595. /package/dist/serve/{docs-ui → site-ui}/docs/secure/audit-your-rules.md +0 -0
  596. /package/dist/serve/{docs-ui → site-ui}/docs/secure/firestore-rules-limits.md +0 -0
  597. /package/dist/serve/{docs-ui → site-ui}/docs/secure/read-a-denial.md +0 -0
  598. /package/dist/serve/{docs-ui → site-ui}/docs/secure/rtdb-rules-in-typescript.md +0 -0
  599. /package/dist/serve/{docs-ui → site-ui}/docs/secure/secure-it-with-rules.md +0 -0
  600. /package/dist/serve/{docs-ui → site-ui}/docs/secure/simulate-and-lint.md +0 -0
  601. /package/dist/serve/{docs-ui → site-ui}/docs/secure/write-a-rules-test-suite.md +0 -0
  602. /package/dist/serve/{docs-ui → site-ui}/docs/ship/ship-to-production.md +0 -0
  603. /package/dist/serve/{docs-ui → site-ui}/docs/ship/test-in-node.md +0 -0
  604. /package/dist/serve/{docs-ui → site-ui}/docs/trust/how-we-know-it-matches-firebase.md +0 -0
  605. /package/dist/serve/{docs-ui → site-ui}/docs/trust/versioning-and-compatibility.md +0 -0
  606. /package/dist/serve/{studio-ui → site-ui}/pyric-logo.svg +0 -0
@@ -1,21 +1,446 @@
1
1
  <!-- Generated from published package declarations via TypeDoc. Rendered by the api-reference content loader. -->
2
2
 
3
- ## Interfaces
3
+ ## Classes
4
+
5
+ <a id="database"></a>
6
+
7
+ ### Database
8
+
9
+ Opaque RTDB handle. Routes via [TARGET\_SYMBOL](#target_symbol-1).
10
+
11
+ #### Constructors
12
+
13
+ <a id="constructor"></a>
14
+
15
+ ##### Constructor
16
+
17
+ ```ts
18
+ new Database(target?: Target, app?: FirebaseApp): Database;
19
+ ```
20
+
21
+ ###### Parameters
22
+
23
+ | Parameter | Type |
24
+ | :------ | :------ |
25
+ | `target?` | `Target` |
26
+ | `app?` | [`FirebaseApp`](pyric-app-reference-api.md#firebaseapp) |
27
+
28
+ ###### Returns
29
+
30
+ [`Database`](#database)
31
+
32
+ #### Properties
33
+
34
+ | Property | Modifier | Type | Default value |
35
+ | :------ | :------ | :------ | :------ |
36
+ | <a id="target_symbol"></a> `[TARGET_SYMBOL]` | `readonly` | `Target` | `undefined` |
37
+ | <a id="app"></a> `app` | `readonly` | [`FirebaseApp`](pyric-app-reference-api.md#firebaseapp) | `undefined` |
38
+ | <a id="type"></a> `type` | `readonly` | `"database"` | `"database"` |
39
+
40
+ ***
41
+
42
+ <a id="datasnapshot"></a>
43
+
44
+ ### DataSnapshot
45
+
46
+ Firebase-shaped RTDB snapshot runtime value.
47
+
48
+ #### Extended by
49
+
50
+ - [`IteratedDataSnapshot`](#iterateddatasnapshot)
51
+
52
+ #### Constructors
53
+
54
+ <a id="constructor-1"></a>
55
+
56
+ ##### Constructor
57
+
58
+ ```ts
59
+ new DataSnapshot(implementation?: DataSnapshotImplementation): DataSnapshot;
60
+ ```
61
+
62
+ ###### Parameters
63
+
64
+ | Parameter | Type |
65
+ | :------ | :------ |
66
+ | `implementation?` | [`DataSnapshotImplementation`](#datasnapshotimplementation) |
67
+
68
+ ###### Returns
69
+
70
+ [`DataSnapshot`](#datasnapshot)
71
+
72
+ #### Properties
73
+
74
+ | Property | Modifier | Type |
75
+ | :------ | :------ | :------ |
76
+ | <a id="ref"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) |
77
+
78
+ #### Accessors
79
+
80
+ <a id="key"></a>
81
+
82
+ ##### key
83
+
84
+ ###### Get Signature
85
+
86
+ ```ts
87
+ get key(): string;
88
+ ```
89
+
90
+ ###### Returns
91
+
92
+ `string`
93
+
94
+ <a id="priority"></a>
95
+
96
+ ##### priority
97
+
98
+ ###### Get Signature
99
+
100
+ ```ts
101
+ get priority(): string | number;
102
+ ```
103
+
104
+ ###### Returns
105
+
106
+ `string` \| `number`
107
+
108
+ <a id="size"></a>
109
+
110
+ ##### size
111
+
112
+ ###### Get Signature
113
+
114
+ ```ts
115
+ get size(): number;
116
+ ```
117
+
118
+ ###### Returns
119
+
120
+ `number`
121
+
122
+ #### Methods
123
+
124
+ <a id="child"></a>
125
+
126
+ ##### child()
127
+
128
+ ```ts
129
+ child(path: string): DataSnapshot;
130
+ ```
131
+
132
+ ###### Parameters
133
+
134
+ | Parameter | Type |
135
+ | :------ | :------ |
136
+ | `path` | `string` |
137
+
138
+ ###### Returns
139
+
140
+ [`DataSnapshot`](#datasnapshot)
141
+
142
+ <a id="exists"></a>
143
+
144
+ ##### exists()
145
+
146
+ ```ts
147
+ exists(): boolean;
148
+ ```
149
+
150
+ ###### Returns
151
+
152
+ `boolean`
153
+
154
+ <a id="exportval"></a>
155
+
156
+ ##### exportVal()
157
+
158
+ ```ts
159
+ exportVal(): JsonValue;
160
+ ```
161
+
162
+ ###### Returns
163
+
164
+ [`JsonValue`](#jsonvalue)
165
+
166
+ <a id="foreach"></a>
167
+
168
+ ##### forEach()
169
+
170
+ ```ts
171
+ forEach(cb: (child: DataSnapshot) => boolean | void): boolean;
172
+ ```
173
+
174
+ ###### Parameters
175
+
176
+ | Parameter | Type |
177
+ | :------ | :------ |
178
+ | `cb` | (`child`: [`DataSnapshot`](#datasnapshot)) => `boolean` \| `void` |
179
+
180
+ ###### Returns
181
+
182
+ `boolean`
183
+
184
+ <a id="haschild"></a>
185
+
186
+ ##### hasChild()
187
+
188
+ ```ts
189
+ hasChild(path: string): boolean;
190
+ ```
191
+
192
+ ###### Parameters
193
+
194
+ | Parameter | Type |
195
+ | :------ | :------ |
196
+ | `path` | `string` |
197
+
198
+ ###### Returns
199
+
200
+ `boolean`
201
+
202
+ <a id="haschildren"></a>
203
+
204
+ ##### hasChildren()
205
+
206
+ ```ts
207
+ hasChildren(): boolean;
208
+ ```
209
+
210
+ ###### Returns
211
+
212
+ `boolean`
213
+
214
+ <a id="tojson"></a>
215
+
216
+ ##### toJSON()
217
+
218
+ ```ts
219
+ toJSON(): JsonValue;
220
+ ```
221
+
222
+ ###### Returns
223
+
224
+ [`JsonValue`](#jsonvalue)
225
+
226
+ <a id="val"></a>
227
+
228
+ ##### val()
229
+
230
+ ```ts
231
+ val(): JsonValue;
232
+ ```
233
+
234
+ ###### Returns
235
+
236
+ [`JsonValue`](#jsonvalue)
237
+
238
+ ***
239
+
240
+ <a id="ondisconnect"></a>
241
+
242
+ ### OnDisconnect
243
+
244
+ #### Methods
245
+
246
+ <a id="cancel"></a>
247
+
248
+ ##### cancel()
249
+
250
+ ```ts
251
+ cancel(): Promise<void>;
252
+ ```
253
+
254
+ ###### Returns
255
+
256
+ `Promise`\<`void`\>
257
+
258
+ <a id="remove"></a>
259
+
260
+ ##### remove()
261
+
262
+ ```ts
263
+ remove(): Promise<void>;
264
+ ```
265
+
266
+ ###### Returns
267
+
268
+ `Promise`\<`void`\>
269
+
270
+ <a id="set"></a>
271
+
272
+ ##### set()
273
+
274
+ ```ts
275
+ set(value: unknown): Promise<void>;
276
+ ```
277
+
278
+ ###### Parameters
279
+
280
+ | Parameter | Type |
281
+ | :------ | :------ |
282
+ | `value` | `unknown` |
283
+
284
+ ###### Returns
285
+
286
+ `Promise`\<`void`\>
287
+
288
+ <a id="setwithpriority"></a>
289
+
290
+ ##### setWithPriority()
291
+
292
+ ```ts
293
+ setWithPriority(value: unknown, priority: string | number): Promise<void>;
294
+ ```
295
+
296
+ ###### Parameters
297
+
298
+ | Parameter | Type |
299
+ | :------ | :------ |
300
+ | `value` | `unknown` |
301
+ | `priority` | `string` \| `number` |
302
+
303
+ ###### Returns
304
+
305
+ `Promise`\<`void`\>
306
+
307
+ <a id="update"></a>
308
+
309
+ ##### update()
310
+
311
+ ```ts
312
+ update(values: Record<string, unknown>): Promise<void>;
313
+ ```
314
+
315
+ ###### Parameters
316
+
317
+ | Parameter | Type |
318
+ | :------ | :------ |
319
+ | `values` | `Record`\<`string`, `unknown`\> |
320
+
321
+ ###### Returns
322
+
323
+ `Promise`\<`void`\>
324
+
325
+ ***
326
+
327
+ <a id="queryconstraint"></a>
328
+
329
+ ### QueryConstraint
330
+
331
+ Opaque constraint produced by the order/filter/limit query functions.
332
+
333
+ #### Constructors
334
+
335
+ <a id="constructor-2"></a>
336
+
337
+ ##### Constructor
338
+
339
+ ```ts
340
+ new QueryConstraint(type?: QueryConstraintType, internal?: Constraint): QueryConstraint;
341
+ ```
342
+
343
+ ###### Parameters
344
+
345
+ | Parameter | Type |
346
+ | :------ | :------ |
347
+ | `type?` | [`QueryConstraintType`](#queryconstrainttype-1) |
348
+ | `internal?` | `Constraint` |
349
+
350
+ ###### Returns
351
+
352
+ [`QueryConstraint`](#queryconstraint)
353
+
354
+ #### Properties
355
+
356
+ | Property | Modifier | Type |
357
+ | :------ | :------ | :------ |
358
+ | <a id="constraint_symbol"></a> `[CONSTRAINT_SYMBOL]` | `readonly` | `Constraint` |
359
+ | <a id="type-1"></a> `type` | `readonly` | [`QueryConstraintType`](#queryconstrainttype-1) |
4
360
 
5
- <a id="database"></a>
361
+ ***
6
362
 
7
- ### Database
363
+ <a id="transactionresult"></a>
8
364
 
9
- Opaque RTDB handle. Routes via [TARGET\_SYMBOL](#target_symbol-1).
365
+ ### TransactionResult
366
+
367
+ Result of [runTransaction](#runtransaction). Matches `firebase/database`'s
368
+ `TransactionResult` for the fields agent / playground code reads
369
+ idiomatically.
370
+
371
+ `committed === false` when the update fn aborted by returning
372
+ `undefined`. The snapshot still resolves — it reflects the **pre-
373
+ transaction** value (oracle:
374
+ `rtdb-modular-runtransaction-abort-undefined.json` →
375
+ `afterValOnServer: 100` preserved).
376
+
377
+ On rule denial the promise rejects with a plain `Error` whose
378
+ `message === 'permission_denied'` (lowercase, no `.code`); see
379
+ `rtdb-modular-runtransaction-on-rules-denied-path.json`.
380
+
381
+ #### Constructors
382
+
383
+ <a id="constructor-3"></a>
384
+
385
+ ##### Constructor
386
+
387
+ ```ts
388
+ new TransactionResult(committed?: boolean, snapshot?: DataSnapshot): TransactionResult;
389
+ ```
390
+
391
+ ###### Parameters
392
+
393
+ | Parameter | Type |
394
+ | :------ | :------ |
395
+ | `committed?` | `boolean` |
396
+ | `snapshot?` | [`DataSnapshot`](#datasnapshot) |
397
+
398
+ ###### Returns
399
+
400
+ [`TransactionResult`](#transactionresult)
10
401
 
11
402
  #### Properties
12
403
 
13
404
  | Property | Modifier | Type |
14
405
  | :------ | :------ | :------ |
15
- | <a id="target_symbol"></a> `[TARGET_SYMBOL]` | `readonly` | `Target` |
16
- | <a id="app"></a> `app?` | `readonly` | [`FirebaseApp`](pyric-app-reference-api.md#firebaseapp) |
406
+ | <a id="committed"></a> `committed` | `readonly` | `boolean` |
407
+ | <a id="snapshot"></a> `snapshot` | `readonly` | [`DataSnapshot`](#datasnapshot) |
17
408
 
18
- ***
409
+ #### Methods
410
+
411
+ <a id="tojson-2"></a>
412
+
413
+ ##### toJSON()
414
+
415
+ ```ts
416
+ toJSON(): {
417
+ committed: boolean;
418
+ snapshot: JsonValue;
419
+ };
420
+ ```
421
+
422
+ ###### Returns
423
+
424
+ ```ts
425
+ {
426
+ committed: boolean;
427
+ snapshot: JsonValue;
428
+ }
429
+ ```
430
+
431
+ ###### committed
432
+
433
+ ```ts
434
+ committed: boolean;
435
+ ```
436
+
437
+ ###### snapshot
438
+
439
+ ```ts
440
+ snapshot: JsonValue;
441
+ ```
442
+
443
+ ## Interfaces
19
444
 
20
445
  <a id="databasereference"></a>
21
446
 
@@ -31,6 +456,10 @@ the modular SDK uses idiomatically as plain free-function args.
31
456
 
32
457
  `toString()` returns a stable `sandbox://` URL.
33
458
 
459
+ #### Extends
460
+
461
+ - [`Query`](#query)
462
+
34
463
  #### Extended by
35
464
 
36
465
  - [`ThenableReference`](#thenablereference)
@@ -39,12 +468,52 @@ the modular SDK uses idiomatically as plain free-function args.
39
468
 
40
469
  | Property | Modifier | Type |
41
470
  | :------ | :------ | :------ |
42
- | <a id="key"></a> `key` | `readonly` | `string` |
471
+ | <a id="query_symbol"></a> `[QUERY_SYMBOL]` | `readonly` | `true` |
472
+ | <a id="key-1"></a> `key` | `readonly` | `string` |
43
473
  | <a id="parent"></a> `parent` | `readonly` | [`DatabaseReference`](#databasereference) |
474
+ | <a id="ref-1"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) |
44
475
  | <a id="root"></a> `root` | `readonly` | [`DatabaseReference`](#databasereference) |
45
476
 
46
477
  #### Methods
47
478
 
479
+ <a id="isequal"></a>
480
+
481
+ ##### isEqual()
482
+
483
+ ```ts
484
+ isEqual(other: Query): boolean;
485
+ ```
486
+
487
+ ###### Parameters
488
+
489
+ | Parameter | Type |
490
+ | :------ | :------ |
491
+ | `other` | [`Query`](#query) |
492
+
493
+ ###### Returns
494
+
495
+ `boolean`
496
+
497
+ ###### Inherited from
498
+
499
+ [`Query`](#query).[`isEqual`](#isequal-2)
500
+
501
+ <a id="tojson-4"></a>
502
+
503
+ ##### toJSON()
504
+
505
+ ```ts
506
+ toJSON(): string;
507
+ ```
508
+
509
+ ###### Returns
510
+
511
+ `string`
512
+
513
+ ###### Inherited from
514
+
515
+ [`Query`](#query).[`toJSON`](#tojson-10)
516
+
48
517
  <a id="tostring"></a>
49
518
 
50
519
  ##### toString()
@@ -57,29 +526,201 @@ toString(): string;
57
526
 
58
527
  `string`
59
528
 
529
+ ###### Inherited from
530
+
531
+ [`Query`](#query).[`toString`](#tostring-2)
532
+
60
533
  ***
61
534
 
62
- <a id="datasnapshot"></a>
535
+ <a id="datasnapshotimplementation"></a>
63
536
 
64
- ### DataSnapshot
537
+ ### DataSnapshotImplementation
538
+
539
+ #### Properties
540
+
541
+ | Property | Modifier | Type |
542
+ | :------ | :------ | :------ |
543
+ | <a id="key-2"></a> `key` | `readonly` | `string` |
544
+ | <a id="priority-1"></a> `priority` | `readonly` | `string` \| `number` |
545
+ | <a id="ref-2"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) |
546
+ | <a id="size-1"></a> `size` | `readonly` | `number` |
547
+
548
+ #### Methods
549
+
550
+ <a id="child-2"></a>
551
+
552
+ ##### child()
553
+
554
+ ```ts
555
+ child(path: string): DataSnapshot;
556
+ ```
557
+
558
+ ###### Parameters
559
+
560
+ | Parameter | Type |
561
+ | :------ | :------ |
562
+ | `path` | `string` |
563
+
564
+ ###### Returns
565
+
566
+ [`DataSnapshot`](#datasnapshot)
567
+
568
+ <a id="exists-2"></a>
569
+
570
+ ##### exists()
65
571
 
66
- Lightweight `DataSnapshot` — matches the subset of
67
- `firebase/database`'s `DataSnapshot` we surface synchronously on a
68
- `get()`. Methods are the load-bearing ones (`val`, `exists`, `key`,
69
- `child`) plus a few utilities consumer code routinely reads.
572
+ ```ts
573
+ exists(): boolean;
574
+ ```
575
+
576
+ ###### Returns
577
+
578
+ `boolean`
579
+
580
+ <a id="exportval-2"></a>
581
+
582
+ ##### exportVal()
583
+
584
+ ```ts
585
+ exportVal(): JsonValue;
586
+ ```
587
+
588
+ ###### Returns
589
+
590
+ [`JsonValue`](#jsonvalue)
591
+
592
+ <a id="foreach-2"></a>
593
+
594
+ ##### forEach()
595
+
596
+ ```ts
597
+ forEach(cb: (child: DataSnapshot) => boolean | void): boolean;
598
+ ```
599
+
600
+ ###### Parameters
601
+
602
+ | Parameter | Type |
603
+ | :------ | :------ |
604
+ | `cb` | (`child`: [`DataSnapshot`](#datasnapshot)) => `boolean` \| `void` |
605
+
606
+ ###### Returns
607
+
608
+ `boolean`
609
+
610
+ <a id="haschild-2"></a>
611
+
612
+ ##### hasChild()
613
+
614
+ ```ts
615
+ hasChild(path: string): boolean;
616
+ ```
617
+
618
+ ###### Parameters
619
+
620
+ | Parameter | Type |
621
+ | :------ | :------ |
622
+ | `path` | `string` |
623
+
624
+ ###### Returns
625
+
626
+ `boolean`
627
+
628
+ <a id="haschildren-2"></a>
629
+
630
+ ##### hasChildren()
631
+
632
+ ```ts
633
+ hasChildren(): boolean;
634
+ ```
635
+
636
+ ###### Returns
637
+
638
+ `boolean`
639
+
640
+ <a id="tojson-6"></a>
641
+
642
+ ##### toJSON()
643
+
644
+ ```ts
645
+ toJSON(): JsonValue;
646
+ ```
647
+
648
+ ###### Returns
649
+
650
+ [`JsonValue`](#jsonvalue)
651
+
652
+ <a id="val-2"></a>
653
+
654
+ ##### val()
655
+
656
+ ```ts
657
+ val(): JsonValue;
658
+ ```
659
+
660
+ ###### Returns
661
+
662
+ [`JsonValue`](#jsonvalue)
663
+
664
+ ***
665
+
666
+ <a id="iterateddatasnapshot"></a>
667
+
668
+ ### IteratedDataSnapshot
669
+
670
+ Child snapshot supplied during ordered iteration; its key is never null.
671
+
672
+ #### Extends
673
+
674
+ - [`DataSnapshot`](#datasnapshot)
70
675
 
71
676
  #### Properties
72
677
 
73
- | Property | Modifier | Type | Description |
678
+ | Property | Modifier | Type | Overrides |
74
679
  | :------ | :------ | :------ | :------ |
75
- | <a id="key-1"></a> `key` | `readonly` | `string` | - |
76
- | <a id="priority"></a> `priority` | `readonly` | `string` \| `number` | The node's priority, or `null`. The sandbox does not model RTDB's priority values, so this is always `null`, matching the common case (no `.priority` set). Mirrors `api/Reference_impl.ts:312`. |
77
- | <a id="ref"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) | The ref the snap was taken from. |
78
- | <a id="size"></a> `size` | `readonly` | `number` | Number of child properties of this snapshot. A getter (NOT a `numChildren()` method — that was the legacy namespaced API). Locked by oracle `rtdb-modular-get-snapshot-shape.json` (`hasSize: true, hasNumChildren: false`) + upstream `api/Reference_impl.ts:331-333`. |
680
+ | <a id="key-3"></a> `key` | `readonly` | `string` | [`DataSnapshot`](#datasnapshot).[`key`](#key) |
681
+ | <a id="ref-3"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) | - |
682
+
683
+ #### Accessors
684
+
685
+ <a id="priority-2"></a>
686
+
687
+ ##### priority
688
+
689
+ ###### Get Signature
690
+
691
+ ```ts
692
+ get priority(): string | number;
693
+ ```
694
+
695
+ ###### Returns
696
+
697
+ `string` \| `number`
698
+
699
+ ###### Inherited from
700
+
701
+ [`DataSnapshot`](#datasnapshot).[`priority`](#priority)
702
+
703
+ <a id="size-2"></a>
704
+
705
+ ##### size
706
+
707
+ ###### Get Signature
708
+
709
+ ```ts
710
+ get size(): number;
711
+ ```
712
+
713
+ ###### Returns
714
+
715
+ `number`
716
+
717
+ ###### Inherited from
718
+
719
+ [`DataSnapshot`](#datasnapshot).[`size`](#size)
79
720
 
80
721
  #### Methods
81
722
 
82
- <a id="child"></a>
723
+ <a id="child-4"></a>
83
724
 
84
725
  ##### child()
85
726
 
@@ -97,7 +738,11 @@ child(path: string): DataSnapshot;
97
738
 
98
739
  [`DataSnapshot`](#datasnapshot)
99
740
 
100
- <a id="exists"></a>
741
+ ###### Inherited from
742
+
743
+ [`DataSnapshot`](#datasnapshot).[`child`](#child)
744
+
745
+ <a id="exists-4"></a>
101
746
 
102
747
  ##### exists()
103
748
 
@@ -109,7 +754,11 @@ exists(): boolean;
109
754
 
110
755
  `boolean`
111
756
 
112
- <a id="exportval"></a>
757
+ ###### Inherited from
758
+
759
+ [`DataSnapshot`](#datasnapshot).[`exists`](#exists)
760
+
761
+ <a id="exportval-4"></a>
113
762
 
114
763
  ##### exportVal()
115
764
 
@@ -117,15 +766,15 @@ exists(): boolean;
117
766
  exportVal(): JsonValue;
118
767
  ```
119
768
 
120
- Like `val()` but includes priority info (for backups). With no
121
- priority modeled, this equals `val()`. Mirrors
122
- `api/Reference_impl.ts:374-376`.
123
-
124
769
  ###### Returns
125
770
 
126
771
  [`JsonValue`](#jsonvalue)
127
772
 
128
- <a id="foreach"></a>
773
+ ###### Inherited from
774
+
775
+ [`DataSnapshot`](#datasnapshot).[`exportVal`](#exportval)
776
+
777
+ <a id="foreach-4"></a>
129
778
 
130
779
  ##### forEach()
131
780
 
@@ -133,16 +782,6 @@ priority modeled, this equals `val()`. Mirrors
133
782
  forEach(cb: (child: DataSnapshot) => boolean | void): boolean;
134
783
  ```
135
784
 
136
- Iterate the snapshot's immediate children. The callback is invoked
137
- with a child `DataSnapshot` for each child; return `true` to stop
138
- iteration early (matches the `firebase/database` contract).
139
-
140
- For a snapshot built from a [Query](#query), children are visited in
141
- the order the query's `orderBy*` constraint computed — the windowed
142
- + filtered + limited sequence. For a plain ref snapshot, children
143
- are visited in key-insertion order (V8 object iteration order; the
144
- RTDB SDK does NOT guarantee an order on plain refs either).
145
-
146
785
  ###### Parameters
147
786
 
148
787
  | Parameter | Type |
@@ -153,7 +792,11 @@ RTDB SDK does NOT guarantee an order on plain refs either).
153
792
 
154
793
  `boolean`
155
794
 
156
- <a id="haschild"></a>
795
+ ###### Inherited from
796
+
797
+ [`DataSnapshot`](#datasnapshot).[`forEach`](#foreach)
798
+
799
+ <a id="haschild-4"></a>
157
800
 
158
801
  ##### hasChild()
159
802
 
@@ -171,7 +814,11 @@ hasChild(path: string): boolean;
171
814
 
172
815
  `boolean`
173
816
 
174
- <a id="haschildren"></a>
817
+ ###### Inherited from
818
+
819
+ [`DataSnapshot`](#datasnapshot).[`hasChild`](#haschild)
820
+
821
+ <a id="haschildren-4"></a>
175
822
 
176
823
  ##### hasChildren()
177
824
 
@@ -183,7 +830,11 @@ hasChildren(): boolean;
183
830
 
184
831
  `boolean`
185
832
 
186
- <a id="tojson"></a>
833
+ ###### Inherited from
834
+
835
+ [`DataSnapshot`](#datasnapshot).[`hasChildren`](#haschildren)
836
+
837
+ <a id="tojson-8"></a>
187
838
 
188
839
  ##### toJSON()
189
840
 
@@ -195,7 +846,11 @@ toJSON(): JsonValue;
195
846
 
196
847
  [`JsonValue`](#jsonvalue)
197
848
 
198
- <a id="val"></a>
849
+ ###### Inherited from
850
+
851
+ [`DataSnapshot`](#datasnapshot).[`toJSON`](#tojson)
852
+
853
+ <a id="val-4"></a>
199
854
 
200
855
  ##### val()
201
856
 
@@ -207,56 +862,92 @@ val(): JsonValue;
207
862
 
208
863
  [`JsonValue`](#jsonvalue)
209
864
 
865
+ ###### Inherited from
866
+
867
+ [`DataSnapshot`](#datasnapshot).[`val`](#val)
868
+
869
+ ***
870
+
871
+ <a id="listenoptions"></a>
872
+
873
+ ### ListenOptions
874
+
875
+ #### Properties
876
+
877
+ | Property | Modifier | Type |
878
+ | :------ | :------ | :------ |
879
+ | <a id="onlyonce"></a> `onlyOnce?` | `readonly` | `boolean` |
880
+
210
881
  ***
211
882
 
212
883
  <a id="query"></a>
213
884
 
214
885
  ### Query
215
886
 
216
- RTDB-shaped Query a ref + an immutable constraint chain. Mirrors
217
- `firebase/database`'s `Query` for the subset of methods the modular
218
- SDK uses idiomatically.
887
+ RTDB-shaped reference. Backend-opaque to consumers; mirrors
888
+ `firebase/database`'s `DatabaseReference` for the subset of methods
889
+ the modular SDK uses idiomatically as plain free-function args.
890
+
891
+ `key` is the last path segment (matches `DatabaseReference.key`).
892
+ `null` for the root ref. `parent` is the ref one segment up
893
+ (`null` at root). `root` is always the root ref.
894
+
895
+ `toString()` returns a stable `sandbox://` URL.
896
+
897
+ #### Extended by
219
898
 
220
- Construct with [query](#query-1); pass to [get](#get) or [onValue](#onvalue).
899
+ - [`DatabaseReference`](#databasereference)
221
900
 
222
901
  #### Properties
223
902
 
224
- | Property | Modifier | Type | Description |
225
- | :------ | :------ | :------ | :------ |
226
- | <a id="query_symbol"></a> `[QUERY_SYMBOL]` | `readonly` | `true` | - |
227
- | <a id="ref-1"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) | The Query's location. Used by `query()` chaining + listener fan-out. |
903
+ | Property | Modifier | Type |
904
+ | :------ | :------ | :------ |
905
+ | <a id="query_symbol-1"></a> `[QUERY_SYMBOL]` | `readonly` | `true` |
906
+ | <a id="ref-4"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) |
228
907
 
229
908
  #### Methods
230
909
 
231
- <a id="tostring-2"></a>
910
+ <a id="isequal-2"></a>
232
911
 
233
- ##### toString()
912
+ ##### isEqual()
234
913
 
235
914
  ```ts
236
- toString(): string;
915
+ isEqual(other: Query): boolean;
237
916
  ```
238
917
 
239
- Resolves to the same URL the ref would.
918
+ ###### Parameters
919
+
920
+ | Parameter | Type |
921
+ | :------ | :------ |
922
+ | `other` | [`Query`](#query) |
240
923
 
241
924
  ###### Returns
242
925
 
243
- `string`
926
+ `boolean`
244
927
 
245
- ***
928
+ <a id="tojson-10"></a>
246
929
 
247
- <a id="queryconstraint"></a>
930
+ ##### toJSON()
248
931
 
249
- ### QueryConstraint
932
+ ```ts
933
+ toJSON(): string;
934
+ ```
250
935
 
251
- Opaque constraint produced by `orderByChild` / `equalTo` / `limitToFirst`
252
- etc. Pass to [query](#query-1).
936
+ ###### Returns
253
937
 
254
- #### Properties
938
+ `string`
255
939
 
256
- | Property | Modifier | Type | Description |
257
- | :------ | :------ | :------ | :------ |
258
- | <a id="constraint_symbol"></a> `[CONSTRAINT_SYMBOL]` | `readonly` | `Constraint` | - |
259
- | <a id="type"></a> `type` | `readonly` | \| `"orderByChild"` \| `"orderByKey"` \| `"orderByValue"` \| `"startAt"` \| `"startAfter"` \| `"endAt"` \| `"endBefore"` \| `"equalTo"` \| `"limitToFirst"` \| `"limitToLast"` | The constraint's variant — surfaces as the SDK's `QueryConstraintType` strings. |
940
+ <a id="tostring-2"></a>
941
+
942
+ ##### toString()
943
+
944
+ ```ts
945
+ toString(): string;
946
+ ```
947
+
948
+ ###### Returns
949
+
950
+ `string`
260
951
 
261
952
  ***
262
953
 
@@ -282,8 +973,10 @@ throw synchronously and lose the key). Oracle:
282
973
 
283
974
  | Property | Modifier | Type |
284
975
  | :------ | :------ | :------ |
285
- | <a id="key-2"></a> `key` | `readonly` | `string` |
976
+ | <a id="query_symbol-2"></a> `[QUERY_SYMBOL]` | `readonly` | `true` |
977
+ | <a id="key-4"></a> `key` | `readonly` | `string` |
286
978
  | <a id="parent-1"></a> `parent` | `readonly` | [`DatabaseReference`](#databasereference) |
979
+ | <a id="ref-5"></a> `ref` | `readonly` | [`DatabaseReference`](#databasereference) |
287
980
  | <a id="root-1"></a> `root` | `readonly` | [`DatabaseReference`](#databasereference) |
288
981
 
289
982
  #### Methods
@@ -312,6 +1005,28 @@ catch<TResult>(onrejected?: (reason: unknown) => TResult | PromiseLike<TResult>)
312
1005
 
313
1006
  `Promise`\<[`DatabaseReference`](#databasereference) \| `TResult`\>
314
1007
 
1008
+ <a id="isequal-4"></a>
1009
+
1010
+ ##### isEqual()
1011
+
1012
+ ```ts
1013
+ isEqual(other: Query): boolean;
1014
+ ```
1015
+
1016
+ ###### Parameters
1017
+
1018
+ | Parameter | Type |
1019
+ | :------ | :------ |
1020
+ | `other` | [`Query`](#query) |
1021
+
1022
+ ###### Returns
1023
+
1024
+ `boolean`
1025
+
1026
+ ###### Inherited from
1027
+
1028
+ [`DatabaseReference`](#databasereference).[`isEqual`](#isequal)
1029
+
315
1030
  <a id="then"></a>
316
1031
 
317
1032
  ##### then()
@@ -338,6 +1053,22 @@ then<TResult1, TResult2>(onfulfilled?: (value: DatabaseReference) => TResult1 |
338
1053
 
339
1054
  `Promise`\<`TResult1` \| `TResult2`\>
340
1055
 
1056
+ <a id="tojson-12"></a>
1057
+
1058
+ ##### toJSON()
1059
+
1060
+ ```ts
1061
+ toJSON(): string;
1062
+ ```
1063
+
1064
+ ###### Returns
1065
+
1066
+ `string`
1067
+
1068
+ ###### Inherited from
1069
+
1070
+ [`DatabaseReference`](#databasereference).[`toJSON`](#tojson-4)
1071
+
341
1072
  <a id="tostring-4"></a>
342
1073
 
343
1074
  ##### toString()
@@ -356,30 +1087,15 @@ toString(): string;
356
1087
 
357
1088
  ***
358
1089
 
359
- <a id="transactionresult"></a>
360
-
361
- ### TransactionResult
362
-
363
- Result of [runTransaction](#runtransaction). Matches `firebase/database`'s
364
- `TransactionResult` for the fields agent / playground code reads
365
- idiomatically.
366
-
367
- `committed === false` when the update fn aborted by returning
368
- `undefined`. The snapshot still resolves — it reflects the **pre-
369
- transaction** value (oracle:
370
- `rtdb-modular-runtransaction-abort-undefined.json` →
371
- `afterValOnServer: 100` preserved).
1090
+ <a id="transactionoptions"></a>
372
1091
 
373
- On rule denial the promise rejects with a plain `Error` whose
374
- `message === 'permission_denied'` (lowercase, no `.code`); see
375
- `rtdb-modular-runtransaction-on-rules-denied-path.json`.
1092
+ ### TransactionOptions
376
1093
 
377
1094
  #### Properties
378
1095
 
379
1096
  | Property | Modifier | Type |
380
1097
  | :------ | :------ | :------ |
381
- | <a id="committed"></a> `committed` | `readonly` | `boolean` |
382
- | <a id="snapshot"></a> `snapshot` | `readonly` | [`DataSnapshot`](#datasnapshot) |
1098
+ | <a id="applylocally"></a> `applyLocally?` | `readonly` | `boolean` |
383
1099
 
384
1100
  ## Type Aliases
385
1101
 
@@ -405,6 +1121,37 @@ readonly app: FirebaseApp;
405
1121
 
406
1122
  ***
407
1123
 
1124
+ <a id="emulatormocktokenoptions"></a>
1125
+
1126
+ ### EmulatorMockTokenOptions
1127
+
1128
+ ```ts
1129
+ type EmulatorMockTokenOptions =
1130
+ | {
1131
+ user_id: string;
1132
+ }
1133
+ | {
1134
+ sub: string;
1135
+ } & Partial<FirebaseIdTokenShape>;
1136
+ ```
1137
+
1138
+ ***
1139
+
1140
+ <a id="eventtype"></a>
1141
+
1142
+ ### EventType
1143
+
1144
+ ```ts
1145
+ type EventType =
1146
+ | "value"
1147
+ | "child_added"
1148
+ | "child_changed"
1149
+ | "child_moved"
1150
+ | "child_removed";
1151
+ ```
1152
+
1153
+ ***
1154
+
408
1155
  <a id="jsonvalue"></a>
409
1156
 
410
1157
  ### JsonValue
@@ -449,6 +1196,27 @@ This module is identity-agnostic — rules evaluation happens in
449
1196
 
450
1197
  ***
451
1198
 
1199
+ <a id="queryconstrainttype-1"></a>
1200
+
1201
+ ### QueryConstraintType
1202
+
1203
+ ```ts
1204
+ type QueryConstraintType =
1205
+ | "orderByChild"
1206
+ | "orderByKey"
1207
+ | "orderByPriority"
1208
+ | "orderByValue"
1209
+ | "startAt"
1210
+ | "startAfter"
1211
+ | "endAt"
1212
+ | "endBefore"
1213
+ | "equalTo"
1214
+ | "limitToFirst"
1215
+ | "limitToLast";
1216
+ ```
1217
+
1218
+ ***
1219
+
452
1220
  <a id="unsubscribe"></a>
453
1221
 
454
1222
  ### Unsubscribe()
@@ -463,7 +1231,19 @@ type Unsubscribe = () => void;
463
1231
 
464
1232
  ## Variables
465
1233
 
466
- <a id="query_symbol-1"></a>
1234
+ <a id="constraint_symbol-1"></a>
1235
+
1236
+ ### CONSTRAINT\_SYMBOL
1237
+
1238
+ ```ts
1239
+ const CONSTRAINT_SYMBOL: unique symbol;
1240
+ ```
1241
+
1242
+ Hidden brand on every QueryConstraint.
1243
+
1244
+ ***
1245
+
1246
+ <a id="query_symbol-3"></a>
467
1247
 
468
1248
  ### QUERY\_SYMBOL
469
1249
 
@@ -471,9 +1251,7 @@ type Unsubscribe = () => void;
471
1251
  const QUERY_SYMBOL: unique symbol;
472
1252
  ```
473
1253
 
474
- Hidden brand on every [Query](#query) (and on every QueryConstraint).
475
- Distinct from `TARGET_SYMBOL`; this brand is only used to dispatch
476
- `get` / `onValue` between plain refs and query-wrapped refs.
1254
+ Hidden brand on every Query.
477
1255
 
478
1256
  ***
479
1257
 
@@ -586,7 +1364,32 @@ Hidden brand on every [Database](#database) handle.
586
1364
 
587
1365
  ## Functions
588
1366
 
589
- <a id="child-2"></a>
1367
+ <a id="buildsandboxref"></a>
1368
+
1369
+ ### buildSandboxRef()
1370
+
1371
+ ```ts
1372
+ function buildSandboxRef(target: SandboxTarget | SandboxLiveTarget, path: string): DatabaseReference;
1373
+ ```
1374
+
1375
+ Build a sandbox-backed `DatabaseReference`. Cached parent / root
1376
+ pointers are computed lazily so a long chain doesn't materialise
1377
+ every intermediate ref upfront.
1378
+
1379
+ #### Parameters
1380
+
1381
+ | Parameter | Type |
1382
+ | :------ | :------ |
1383
+ | `target` | `SandboxTarget` \| `SandboxLiveTarget` |
1384
+ | `path` | `string` |
1385
+
1386
+ #### Returns
1387
+
1388
+ [`DatabaseReference`](#databasereference)
1389
+
1390
+ ***
1391
+
1392
+ <a id="child-6"></a>
590
1393
 
591
1394
  ### child()
592
1395
 
@@ -623,7 +1426,7 @@ function connectDatabaseEmulator(
623
1426
  _host: string,
624
1427
  _port: number,
625
1428
  _options?: {
626
- mockUserToken?: string | Record<string, unknown>;
1429
+ mockUserToken?: string | EmulatorMockTokenOptions;
627
1430
  }): void;
628
1431
  ```
629
1432
 
@@ -637,8 +1440,8 @@ selected backend already is the local sandbox.
637
1440
  | `_db` | [`Database`](#database) |
638
1441
  | `_host` | `string` |
639
1442
  | `_port` | `number` |
640
- | `_options?` | \{ `mockUserToken?`: `string` \| `Record`\<`string`, `unknown`\>; \} |
641
- | `_options.mockUserToken?` | `string` \| `Record`\<`string`, `unknown`\> |
1443
+ | `_options?` | \{ `mockUserToken?`: `string` \| [`EmulatorMockTokenOptions`](#emulatormocktokenoptions); \} |
1444
+ | `_options.mockUserToken?` | `string` \| [`EmulatorMockTokenOptions`](#emulatormocktokenoptions) |
642
1445
 
643
1446
  #### Returns
644
1447
 
@@ -793,7 +1596,7 @@ sandbox (see [forceLongPolling](#forcelongpolling)).
793
1596
  ### get()
794
1597
 
795
1598
  ```ts
796
- function get(r: DatabaseReference | Query): Promise<DataSnapshot>;
1599
+ function get(r: Query | DatabaseReference): Promise<DataSnapshot>;
797
1600
  ```
798
1601
 
799
1602
  `get(ref)` — one-shot read at the ref's path. Resolves to a
@@ -809,7 +1612,7 @@ Matches the SDK's `DataSnapshot.val()` contract.
809
1612
 
810
1613
  | Parameter | Type |
811
1614
  | :------ | :------ |
812
- | `r` | [`DatabaseReference`](#databasereference) \| [`Query`](#query) |
1615
+ | `r` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
813
1616
 
814
1617
  #### Returns
815
1618
 
@@ -1024,21 +1827,19 @@ console.log(snap.val()); // { text: 'hi' }
1024
1827
  ### goOffline()
1025
1828
 
1026
1829
  ```ts
1027
- function goOffline(_db: Database): void;
1830
+ function goOffline(db: Database): void;
1028
1831
  ```
1029
1832
 
1030
1833
  `goOffline(db)` — disconnect the client from the RTDB backend.
1031
1834
 
1032
- No-op on sandbox handles: there is NO network connection in the local
1033
- sandbox to toggle, so honest behavior is to accept the call and do
1034
- nothing (we deliberately do NOT simulate a disconnect — pending
1035
- writes, listeners, and `get()` all keep working exactly as before).
1835
+ Drains this client's one-shot onDisconnect queue. The shared data backend
1836
+ remains available to other Database clients and listeners.
1036
1837
 
1037
1838
  #### Parameters
1038
1839
 
1039
1840
  | Parameter | Type |
1040
1841
  | :------ | :------ |
1041
- | `_db` | [`Database`](#database) |
1842
+ | `db` | [`Database`](#database) |
1042
1843
 
1043
1844
  #### Returns
1044
1845
 
@@ -1051,19 +1852,19 @@ writes, listeners, and `get()` all keep working exactly as before).
1051
1852
  ### goOnline()
1052
1853
 
1053
1854
  ```ts
1054
- function goOnline(_db: Database): void;
1855
+ function goOnline(db: Database): void;
1055
1856
  ```
1056
1857
 
1057
1858
  `goOnline(db)` — reconnect the client to the RTDB backend.
1058
1859
 
1059
- No-op on sandbox handles (there is no connection to reopen — see
1060
- [goOffline](#gooffline)).
1860
+ Reconnects the logical client. Executed disconnect operations are not
1861
+ resurrected; reads and writes remain synchronous in the local sandbox.
1061
1862
 
1062
1863
  #### Parameters
1063
1864
 
1064
1865
  | Parameter | Type |
1065
1866
  | :------ | :------ |
1066
- | `_db` | [`Database`](#database) |
1867
+ | `db` | [`Database`](#database) |
1067
1868
 
1068
1869
  #### Returns
1069
1870
 
@@ -1151,7 +1952,7 @@ function limitToLast(n: number): QueryConstraint;
1151
1952
 
1152
1953
  ```ts
1153
1954
  function off(
1154
- r: DatabaseReference,
1955
+ r: Query | DatabaseReference,
1155
1956
  eventType?: "value" | ChildEvent,
1156
1957
  callback?: (snap: DataSnapshot) => void): void;
1157
1958
  ```
@@ -1176,7 +1977,7 @@ registration — both are supported.
1176
1977
 
1177
1978
  | Parameter | Type |
1178
1979
  | :------ | :------ |
1179
- | `r` | [`DatabaseReference`](#databasereference) |
1980
+ | `r` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
1180
1981
  | `eventType?` | `"value"` \| `ChildEvent` |
1181
1982
  | `callback?` | (`snap`: [`DataSnapshot`](#datasnapshot)) => `void` |
1182
1983
 
@@ -1191,7 +1992,11 @@ registration — both are supported.
1191
1992
  ### onChildAdded()
1192
1993
 
1193
1994
  ```ts
1194
- function onChildAdded(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
1995
+ function onChildAdded(
1996
+ r: Query | DatabaseReference,
1997
+ cb: (snap: DataSnapshot, previousChildName: string) => void,
1998
+ cancelCallbackOrOptions?: ListenOptions | (error: Error) => void,
1999
+ options?: ListenOptions): Unsubscribe;
1195
2000
  ```
1196
2001
 
1197
2002
  `onChildAdded(ref, cb)` — subscribe to child-added events at the
@@ -1201,7 +2006,7 @@ Semantics (locked by oracle observations under
1201
2006
  `packages/conformance/observations/rtdb-modular/rtdb-modular-onchildadded-*.json`):
1202
2007
 
1203
2008
  - On subscribe, replays every existing direct child of `ref`'s path
1204
- (one fire per existing key, in `orderByKey`-default order).
2009
+ (one fire per existing key, in default priority/key order).
1205
2010
  - After subscribe, fires exactly once per new direct child write.
1206
2011
 
1207
2012
  Also accepts a [Query](#query) (a `query(ref, ...)` with `orderBy*` /
@@ -1216,8 +2021,10 @@ Returns an unsubscribe; calling it twice is a no-op.
1216
2021
 
1217
2022
  | Parameter | Type |
1218
2023
  | :------ | :------ |
1219
- | `r` | [`DatabaseReference`](#databasereference) \| [`Query`](#query) |
1220
- | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot)) => `void` |
2024
+ | `r` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
2025
+ | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot), `previousChildName`: `string`) => `void` |
2026
+ | `cancelCallbackOrOptions?` | [`ListenOptions`](#listenoptions) \| (`error`: `Error`) => `void` |
2027
+ | `options?` | [`ListenOptions`](#listenoptions) |
1221
2028
 
1222
2029
  #### Returns
1223
2030
 
@@ -1230,7 +2037,11 @@ Returns an unsubscribe; calling it twice is a no-op.
1230
2037
  ### onChildChanged()
1231
2038
 
1232
2039
  ```ts
1233
- function onChildChanged(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
2040
+ function onChildChanged(
2041
+ r: Query | DatabaseReference,
2042
+ cb: (snap: DataSnapshot, previousChildName: string) => void,
2043
+ cancelCallbackOrOptions?: ListenOptions | (error: Error) => void,
2044
+ options?: ListenOptions): Unsubscribe;
1234
2045
  ```
1235
2046
 
1236
2047
  `onChildChanged(ref, cb)` — subscribe to child-changed events.
@@ -1249,8 +2060,10 @@ window changes value (an in-window update).
1249
2060
 
1250
2061
  | Parameter | Type |
1251
2062
  | :------ | :------ |
1252
- | `r` | [`DatabaseReference`](#databasereference) \| [`Query`](#query) |
1253
- | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot)) => `void` |
2063
+ | `r` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
2064
+ | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot), `previousChildName`: `string`) => `void` |
2065
+ | `cancelCallbackOrOptions?` | [`ListenOptions`](#listenoptions) \| (`error`: `Error`) => `void` |
2066
+ | `options?` | [`ListenOptions`](#listenoptions) |
1254
2067
 
1255
2068
  #### Returns
1256
2069
 
@@ -1263,31 +2076,32 @@ window changes value (an in-window update).
1263
2076
  ### onChildMoved()
1264
2077
 
1265
2078
  ```ts
1266
- function onChildMoved(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
2079
+ function onChildMoved(
2080
+ r: Query | DatabaseReference,
2081
+ cb: (snap: DataSnapshot, previousChildName: string) => void,
2082
+ cancelCallbackOrOptions?: ListenOptions | (error: Error) => void,
2083
+ options?: ListenOptions): Unsubscribe;
1267
2084
  ```
1268
2085
 
1269
2086
  `onChildMoved(ref, cb)` — subscribe to child-moved events.
1270
2087
 
1271
2088
  Semantics (oracle: `rtdb-modular-onchildmoved-with-orderby`):
1272
2089
 
1273
- - Only fires under an ordered query (`query(ref, orderByChild(...))`).
1274
- - Under a plain ref, this listener is effectively a no-op — the
1275
- upstream SDK accepts the subscription but never fires it
1276
- (matches RTDB docs).
2090
+ - Explicit queries use their active `orderBy*` index.
2091
+ - Plain refs use Firebase's default priority index, so changing a
2092
+ child's priority can move it while an ordinary value-only write does not.
1277
2093
 
1278
- Accepts a [Query](#query) WITHOUT throwing, but the sandbox deliberately
1279
- does NOT fire `child_moved` on reorder yet: prod fires here (matrix row
1280
- `rtdb-modular#137`) while the sandbox holds — the reorder /
1281
- `previousChildName` ordering semantics are pending two new oracle
1282
- captures. This is a documented, pinned divergence (both sides asserted
1283
- in `test/database/modular/sandbox-child-events.test.ts`).
2094
+ Accepts a [Query](#query) and fires when the active ordered value changes,
2095
+ including the Firebase `previousChildName` second callback argument.
1284
2096
 
1285
2097
  #### Parameters
1286
2098
 
1287
2099
  | Parameter | Type |
1288
2100
  | :------ | :------ |
1289
- | `r` | [`DatabaseReference`](#databasereference) \| [`Query`](#query) |
1290
- | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot)) => `void` |
2101
+ | `r` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
2102
+ | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot), `previousChildName`: `string`) => `void` |
2103
+ | `cancelCallbackOrOptions?` | [`ListenOptions`](#listenoptions) \| (`error`: `Error`) => `void` |
2104
+ | `options?` | [`ListenOptions`](#listenoptions) |
1291
2105
 
1292
2106
  #### Returns
1293
2107
 
@@ -1300,7 +2114,11 @@ in `test/database/modular/sandbox-child-events.test.ts`).
1300
2114
  ### onChildRemoved()
1301
2115
 
1302
2116
  ```ts
1303
- function onChildRemoved(r: DatabaseReference | Query, cb: (snap: DataSnapshot) => void): Unsubscribe;
2117
+ function onChildRemoved(
2118
+ r: Query | DatabaseReference,
2119
+ cb: (snap: DataSnapshot, previousChildName: string) => void,
2120
+ cancelCallbackOrOptions?: ListenOptions | (error: Error) => void,
2121
+ options?: ListenOptions): Unsubscribe;
1304
2122
  ```
1305
2123
 
1306
2124
  `onChildRemoved(ref, cb)` — subscribe to child-removed events.
@@ -1321,8 +2139,10 @@ displaced past a `limitTo*` boundary or filtered out) fires
1321
2139
 
1322
2140
  | Parameter | Type |
1323
2141
  | :------ | :------ |
1324
- | `r` | [`DatabaseReference`](#databasereference) \| [`Query`](#query) |
1325
- | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot)) => `void` |
2142
+ | `r` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
2143
+ | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot), `previousChildName`: `string`) => `void` |
2144
+ | `cancelCallbackOrOptions?` | [`ListenOptions`](#listenoptions) \| (`error`: `Error`) => `void` |
2145
+ | `options?` | [`ListenOptions`](#listenoptions) |
1326
2146
 
1327
2147
  #### Returns
1328
2148
 
@@ -1330,17 +2150,39 @@ displaced past a `limitTo*` boundary or filtered out) fires
1330
2150
 
1331
2151
  ***
1332
2152
 
2153
+ <a id="ondisconnect-1"></a>
2154
+
2155
+ ### onDisconnect()
2156
+
2157
+ ```ts
2158
+ function onDisconnect(r: DatabaseReference): OnDisconnect;
2159
+ ```
2160
+
2161
+ Register a one-shot write for this Database client's next disconnect.
2162
+ Registration checks rules immediately; execution checks them again.
2163
+
2164
+ #### Parameters
2165
+
2166
+ | Parameter | Type |
2167
+ | :------ | :------ |
2168
+ | `r` | [`DatabaseReference`](#databasereference) |
2169
+
2170
+ #### Returns
2171
+
2172
+ [`OnDisconnect`](#ondisconnect)
2173
+
2174
+ ***
2175
+
1333
2176
  <a id="onvalue"></a>
1334
2177
 
1335
2178
  ### onValue()
1336
2179
 
1337
2180
  ```ts
1338
2181
  function onValue(
1339
- r: DatabaseReference | Query,
2182
+ r: Query | DatabaseReference,
1340
2183
  cb: (snap: DataSnapshot) => void,
1341
- options?: {
1342
- onlyOnce?: boolean;
1343
- }): Unsubscribe;
2184
+ cancelCallbackOrOptions?: ListenOptions | (error: Error) => void,
2185
+ options?: ListenOptions): Unsubscribe;
1344
2186
  ```
1345
2187
 
1346
2188
  `onValue(ref, cb)` — subscribe to value changes at the ref's path.
@@ -1355,18 +2197,18 @@ calling it twice is a no-op.
1355
2197
  `options.onlyOnce` (DB-B12): when `true`, the listener auto-unsubscribes
1356
2198
  after its first fire (mirrors `api/Reference_impl.ts:975-980`).
1357
2199
 
1358
- Errors path: subscribing under rules that deny the read throws the
1359
- plain-`Error` `PERMISSION_DENIED` shape synchronously (matching the
1360
- production behavior where the subscribe path immediately errors).
2200
+ With a cancellation callback, an initially denied listen returns normally
2201
+ and reports the Firebase `PERMISSION_DENIED` error asynchronously. Without
2202
+ one, the sandbox preserves its legacy synchronous throw.
1361
2203
 
1362
2204
  #### Parameters
1363
2205
 
1364
2206
  | Parameter | Type |
1365
2207
  | :------ | :------ |
1366
- | `r` | [`DatabaseReference`](#databasereference) \| [`Query`](#query) |
2208
+ | `r` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
1367
2209
  | `cb` | (`snap`: [`DataSnapshot`](#datasnapshot)) => `void` |
1368
- | `options?` | \{ `onlyOnce?`: `boolean`; \} |
1369
- | `options.onlyOnce?` | `boolean` |
2210
+ | `cancelCallbackOrOptions?` | [`ListenOptions`](#listenoptions) \| (`error`: `Error`) => `void` |
2211
+ | `options?` | [`ListenOptions`](#listenoptions) |
1370
2212
 
1371
2213
  #### Returns
1372
2214
 
@@ -1415,6 +2257,23 @@ function orderByKey(): QueryConstraint;
1415
2257
 
1416
2258
  ***
1417
2259
 
2260
+ <a id="orderbypriority"></a>
2261
+
2262
+ ### orderByPriority()
2263
+
2264
+ ```ts
2265
+ function orderByPriority(): QueryConstraint;
2266
+ ```
2267
+
2268
+ `orderByPriority()` — order children by their RTDB priority metadata,
2269
+ with Firebase's key ordering as the tie-breaker.
2270
+
2271
+ #### Returns
2272
+
2273
+ [`QueryConstraint`](#queryconstraint)
2274
+
2275
+ ***
2276
+
1418
2277
  <a id="orderbyvalue"></a>
1419
2278
 
1420
2279
  ### orderByValue()
@@ -1491,7 +2350,7 @@ Returns a freshly-minted key.
1491
2350
  ### query()
1492
2351
 
1493
2352
  ```ts
1494
- function query(refOrQuery: DatabaseReference | Query, ...constraints: QueryConstraint[]): Query;
2353
+ function query(refOrQuery: Query | DatabaseReference, ...constraints: QueryConstraint[]): Query;
1495
2354
  ```
1496
2355
 
1497
2356
  `query(ref, ...constraints)` — wrap a ref in an immutable
@@ -1521,7 +2380,7 @@ Locked semantics (oracle):
1521
2380
 
1522
2381
  | Parameter | Type |
1523
2382
  | :------ | :------ |
1524
- | `refOrQuery` | [`DatabaseReference`](#databasereference) \| [`Query`](#query) |
2383
+ | `refOrQuery` | [`Query`](#query) \| [`DatabaseReference`](#databasereference) |
1525
2384
  | ...`constraints` | [`QueryConstraint`](#queryconstraint)[] |
1526
2385
 
1527
2386
  #### Returns
@@ -1530,7 +2389,7 @@ Locked semantics (oracle):
1530
2389
 
1531
2390
  ***
1532
2391
 
1533
- <a id="ref-2"></a>
2392
+ <a id="ref-6"></a>
1534
2393
 
1535
2394
  ### ref()
1536
2395
 
@@ -1567,12 +2426,8 @@ function refFromURL(db: Database, url: string): DatabaseReference;
1567
2426
  `refFromURL(db, url)` — build a [DatabaseReference](#databasereference) from an
1568
2427
  absolute database URL (`https://<namespace>.firebaseio.com/path`).
1569
2428
 
1570
- Real alias with real behavior: parses the path out of the URL and
1571
- delegates to [ref](#ref-2), so the returned ref resolves + reads exactly
1572
- like `ref(db, path)`. The sandbox is single-database and has no host /
1573
- namespace, so the URL's HOST is not validated against the handle (the
1574
- real SDK throws if the host doesn't match the db's namespace); only
1575
- the path component is honored.
2429
+ The sandbox is single-database, so only the URL path is honored; unlike the
2430
+ production SDK, the host is not checked against the database namespace.
1576
2431
 
1577
2432
  #### Parameters
1578
2433
 
@@ -1587,7 +2442,7 @@ the path component is honored.
1587
2442
 
1588
2443
  ***
1589
2444
 
1590
- <a id="remove"></a>
2445
+ <a id="remove-2"></a>
1591
2446
 
1592
2447
  ### remove()
1593
2448
 
@@ -1621,9 +2476,7 @@ the same code path as `set(_, null)`.
1621
2476
  function runTransaction<T>(
1622
2477
  r: DatabaseReference,
1623
2478
  transactionUpdate: (current: T) => T,
1624
- options?: {
1625
- applyLocally?: boolean;
1626
- }): Promise<TransactionResult>;
2479
+ options?: TransactionOptions): Promise<TransactionResult>;
1627
2480
  ```
1628
2481
 
1629
2482
  `runTransaction(ref, transactionUpdate, options?)` — atomic
@@ -1661,9 +2514,8 @@ observation `rtdb-modular-runtransaction-options-applylocally.json`
1661
2514
  confirms both branches commit and end at the same value; the
1662
2515
  intermediate-fire difference isn't observable from a single client.
1663
2516
 
1664
- Single-client sandbox doesn't model concurrency conflicts; the
1665
- documented "retry on conflict" path is degenerate (no other writer
1666
- exists to conflict with). The fn is invoked once.
2517
+ A synchronous overlapping write during the update callback invalidates the
2518
+ read and retries the callback. Writes to unrelated paths do not conflict.
1667
2519
 
1668
2520
  #### Type Parameters
1669
2521
 
@@ -1677,8 +2529,7 @@ exists to conflict with). The fn is invoked once.
1677
2529
  | :------ | :------ |
1678
2530
  | `r` | [`DatabaseReference`](#databasereference) |
1679
2531
  | `transactionUpdate` | (`current`: `T`) => `T` |
1680
- | `options?` | \{ `applyLocally?`: `boolean`; \} |
1681
- | `options.applyLocally?` | `boolean` |
2532
+ | `options?` | [`TransactionOptions`](#transactionoptions) |
1682
2533
 
1683
2534
  #### Returns
1684
2535
 
@@ -1707,7 +2558,7 @@ The sandbox backend recognises the marker.
1707
2558
 
1708
2559
  ***
1709
2560
 
1710
- <a id="set"></a>
2561
+ <a id="set-2"></a>
1711
2562
 
1712
2563
  ### set()
1713
2564
 
@@ -1734,6 +2585,52 @@ deletes (matches the RTDB invariant — locked by oracle observation
1734
2585
 
1735
2586
  ***
1736
2587
 
2588
+ <a id="setpriority"></a>
2589
+
2590
+ ### setPriority()
2591
+
2592
+ ```ts
2593
+ function setPriority(r: DatabaseReference, priority: string | number): Promise<void>;
2594
+ ```
2595
+
2596
+ #### Parameters
2597
+
2598
+ | Parameter | Type |
2599
+ | :------ | :------ |
2600
+ | `r` | [`DatabaseReference`](#databasereference) |
2601
+ | `priority` | `string` \| `number` |
2602
+
2603
+ #### Returns
2604
+
2605
+ `Promise`\<`void`\>
2606
+
2607
+ ***
2608
+
2609
+ <a id="setwithpriority-2"></a>
2610
+
2611
+ ### setWithPriority()
2612
+
2613
+ ```ts
2614
+ function setWithPriority(
2615
+ r: DatabaseReference,
2616
+ value: unknown,
2617
+ priority: string | number): Promise<void>;
2618
+ ```
2619
+
2620
+ #### Parameters
2621
+
2622
+ | Parameter | Type |
2623
+ | :------ | :------ |
2624
+ | `r` | [`DatabaseReference`](#databasereference) |
2625
+ | `value` | `unknown` |
2626
+ | `priority` | `string` \| `number` |
2627
+
2628
+ #### Returns
2629
+
2630
+ `Promise`\<`void`\>
2631
+
2632
+ ***
2633
+
1737
2634
  <a id="startafter"></a>
1738
2635
 
1739
2636
  ### startAfter()
@@ -1783,7 +2680,7 @@ function startAt(value: JsonValue, key?: string): QueryConstraint;
1783
2680
 
1784
2681
  ***
1785
2682
 
1786
- <a id="update"></a>
2683
+ <a id="update-2"></a>
1787
2684
 
1788
2685
  ### update()
1789
2686