@pyric/cli 0.1.0-alpha.15 → 0.1.0-alpha.17

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 (384) hide show
  1. package/README.md +13 -9
  2. package/dist/assurance/.generated/conformance-verdicts.d.ts +80 -72
  3. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -1
  4. package/dist/assurance/.generated/conformance-verdicts.js +80 -72
  5. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -1
  6. package/dist/bridge/client/dispatch.js +1 -1
  7. package/dist/bridge/client/dispatch.js.map +1 -1
  8. package/dist/cli/database-rules.d.ts.map +1 -1
  9. package/dist/cli/database-rules.js +6 -4
  10. package/dist/cli/database-rules.js.map +1 -1
  11. package/dist/cli/dev-runner.d.ts +9 -0
  12. package/dist/cli/dev-runner.d.ts.map +1 -1
  13. package/dist/cli/dev-runner.js +18 -0
  14. package/dist/cli/dev-runner.js.map +1 -1
  15. package/dist/cli/serve.d.ts.map +1 -1
  16. package/dist/cli/serve.js +61 -6
  17. package/dist/cli/serve.js.map +1 -1
  18. package/dist/cli/verify.js +2 -2
  19. package/dist/cli/verify.js.map +1 -1
  20. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -1
  21. package/dist/conformance/.generated/can-i-use-browser.js +1 -1
  22. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -1
  23. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -1
  24. package/dist/conformance/.generated/can-i-use.js +1 -1
  25. package/dist/conformance/.generated/can-i-use.js.map +1 -1
  26. package/dist/conformance/.generated/conformance-docs.d.ts.map +1 -1
  27. package/dist/conformance/.generated/conformance-docs.js +1 -1
  28. package/dist/conformance/.generated/conformance-docs.js.map +1 -1
  29. package/dist/next/client-aliases.d.ts +11 -0
  30. package/dist/next/client-aliases.d.ts.map +1 -0
  31. package/dist/next/client-aliases.js +38 -0
  32. package/dist/next/client-aliases.js.map +1 -0
  33. package/dist/next/dev-rewrites.d.ts +9 -0
  34. package/dist/next/dev-rewrites.d.ts.map +1 -0
  35. package/dist/next/dev-rewrites.js +53 -0
  36. package/dist/next/dev-rewrites.js.map +1 -0
  37. package/dist/next/guard.d.ts +15 -0
  38. package/dist/next/guard.d.ts.map +1 -0
  39. package/dist/next/guard.js +52 -0
  40. package/dist/next/guard.js.map +1 -0
  41. package/dist/next/index.d.ts +12 -0
  42. package/dist/next/index.d.ts.map +1 -0
  43. package/dist/next/index.js +11 -0
  44. package/dist/next/index.js.map +1 -0
  45. package/dist/next/runtime-env.d.ts +7 -0
  46. package/dist/next/runtime-env.d.ts.map +1 -0
  47. package/dist/next/runtime-env.js +13 -0
  48. package/dist/next/runtime-env.js.map +1 -0
  49. package/dist/next/server-external-packages.d.ts +10 -0
  50. package/dist/next/server-external-packages.d.ts.map +1 -0
  51. package/dist/next/server-external-packages.js +34 -0
  52. package/dist/next/server-external-packages.js.map +1 -0
  53. package/dist/next/target-url.d.ts +11 -0
  54. package/dist/next/target-url.d.ts.map +1 -0
  55. package/dist/next/target-url.js +36 -0
  56. package/dist/next/target-url.js.map +1 -0
  57. package/dist/next/turbopack-config.d.ts +9 -0
  58. package/dist/next/turbopack-config.d.ts.map +1 -0
  59. package/dist/next/turbopack-config.js +39 -0
  60. package/dist/next/turbopack-config.js.map +1 -0
  61. package/dist/next/types.d.ts +40 -0
  62. package/dist/next/types.d.ts.map +1 -0
  63. package/dist/next/types.js +5 -0
  64. package/dist/next/types.js.map +1 -0
  65. package/dist/next/webpack-config.d.ts +11 -0
  66. package/dist/next/webpack-config.d.ts.map +1 -0
  67. package/dist/next/webpack-config.js +51 -0
  68. package/dist/next/webpack-config.js.map +1 -0
  69. package/dist/next/with-pyric.d.ts +22 -0
  70. package/dist/next/with-pyric.d.ts.map +1 -0
  71. package/dist/next/with-pyric.js +49 -0
  72. package/dist/next/with-pyric.js.map +1 -0
  73. package/dist/register/app-bridge.d.ts +9 -0
  74. package/dist/register/app-bridge.d.ts.map +1 -0
  75. package/dist/register/app-bridge.js +56 -0
  76. package/dist/register/app-bridge.js.map +1 -0
  77. package/dist/register/hooks.d.ts.map +1 -1
  78. package/dist/register/hooks.js +6 -1
  79. package/dist/register/hooks.js.map +1 -1
  80. package/dist/register/index.js +1 -1
  81. package/dist/register/index.js.map +1 -1
  82. package/dist/register/mapping.d.ts +3 -1
  83. package/dist/register/mapping.d.ts.map +1 -1
  84. package/dist/register/mapping.js +41 -5
  85. package/dist/register/mapping.js.map +1 -1
  86. package/dist/rtdb/rules-json.d.ts +12 -0
  87. package/dist/rtdb/rules-json.d.ts.map +1 -1
  88. package/dist/rtdb/rules-json.js +98 -0
  89. package/dist/rtdb/rules-json.js.map +1 -1
  90. package/dist/serve/bundler.d.ts.map +1 -1
  91. package/dist/serve/bundler.js +2 -0
  92. package/dist/serve/bundler.js.map +1 -1
  93. package/dist/serve/discovery.d.ts +4 -4
  94. package/dist/serve/discovery.d.ts.map +1 -1
  95. package/dist/serve/discovery.js +59 -38
  96. package/dist/serve/discovery.js.map +1 -1
  97. package/dist/serve/entries/app-ai-passthrough.d.ts +8 -0
  98. package/dist/serve/entries/app-ai-passthrough.d.ts.map +1 -0
  99. package/dist/serve/entries/app-ai-passthrough.js +59 -0
  100. package/dist/serve/entries/app-ai-passthrough.js.map +1 -0
  101. package/dist/serve/entries/auth-helper-core.d.ts +9 -0
  102. package/dist/serve/entries/auth-helper-core.d.ts.map +1 -1
  103. package/dist/serve/entries/auth-helper-core.js +37 -8
  104. package/dist/serve/entries/auth-helper-core.js.map +1 -1
  105. package/dist/serve/entries/auth.d.ts +1 -0
  106. package/dist/serve/entries/auth.d.ts.map +1 -1
  107. package/dist/serve/entries/auth.js +7 -4
  108. package/dist/serve/entries/auth.js.map +1 -1
  109. package/dist/serve/entries/bridge-url.d.ts.map +1 -1
  110. package/dist/serve/entries/bridge-url.js +7 -2
  111. package/dist/serve/entries/bridge-url.js.map +1 -1
  112. package/dist/serve/entries/database.d.ts +1 -0
  113. package/dist/serve/entries/database.d.ts.map +1 -1
  114. package/dist/serve/entries/database.js +1 -0
  115. package/dist/serve/entries/database.js.map +1 -1
  116. package/dist/serve/entries/firestore.d.ts +1 -0
  117. package/dist/serve/entries/firestore.d.ts.map +1 -1
  118. package/dist/serve/entries/firestore.js +1 -0
  119. package/dist/serve/entries/firestore.js.map +1 -1
  120. package/dist/serve/entries/init.d.ts.map +1 -1
  121. package/dist/serve/entries/init.js +4 -2
  122. package/dist/serve/entries/init.js.map +1 -1
  123. package/dist/serve/entries/runtime.js +23 -0
  124. package/dist/serve/entries/runtime.js.map +1 -1
  125. package/dist/serve/entries/storage.d.ts +2 -0
  126. package/dist/serve/entries/storage.d.ts.map +1 -1
  127. package/dist/serve/entries/storage.js +9 -2
  128. package/dist/serve/entries/storage.js.map +1 -1
  129. package/dist/serve/html-injection.d.ts +3 -1
  130. package/dist/serve/html-injection.d.ts.map +1 -1
  131. package/dist/serve/html-injection.js +27 -1
  132. package/dist/serve/html-injection.js.map +1 -1
  133. package/dist/serve/rules.js +2 -2
  134. package/dist/serve/rules.js.map +1 -1
  135. package/dist/serve/runtime/chip-config.d.ts +1 -1
  136. package/dist/serve/runtime/chip-config.d.ts.map +1 -1
  137. package/dist/serve/runtime/chip-config.js +16 -8
  138. package/dist/serve/runtime/chip-config.js.map +1 -1
  139. package/dist/serve/sandbox-session.d.ts +1 -0
  140. package/dist/serve/sandbox-session.d.ts.map +1 -1
  141. package/dist/serve/sandbox-session.js +30 -2
  142. package/dist/serve/sandbox-session.js.map +1 -1
  143. package/dist/serve/site-ui/_astro/_studio_.B6b_G1ev.css +1 -0
  144. package/dist/serve/site-ui/_astro/app.bnmVTkIY.js +11 -0
  145. package/dist/serve/site-ui/_astro/app.t6u-adB_.js +1 -0
  146. package/dist/serve/site-ui/_astro/{chess-showcase.DzPO6kz0.js → chess-showcase.kC8dXLKY.js} +1 -1
  147. package/dist/serve/site-ui/_astro/{example-runtime.CM0H02rx.js → example-runtime.D79PnoSk.js} +1 -1
  148. package/dist/serve/site-ui/_astro/index.DzVde04M.js +1 -0
  149. package/dist/serve/site-ui/_astro/reads.BYBRLbsE.js +1 -0
  150. package/dist/serve/site-ui/_astro/sandbox-controls.C9Aaazt8.js +1252 -0
  151. package/dist/serve/site-ui/_astro/{seed.BCn5DhHS.js → seed.DANAIyRw.js} +1 -1
  152. package/dist/serve/site-ui/auth/index.html +2 -2
  153. package/dist/serve/site-ui/docs/_rhythm/index.html +1 -1
  154. package/dist/serve/site-ui/docs/agent/set-up-your-agent/index.html +1 -1
  155. package/dist/serve/site-ui/docs/agent/watch-and-review/index.html +1 -1
  156. package/dist/serve/site-ui/docs/agent/work-with-an-agent/index.html +1 -1
  157. package/dist/serve/site-ui/docs/ai-compat/index.html +85 -85
  158. package/dist/serve/site-ui/docs/ai-compat.md +84 -84
  159. package/dist/serve/site-ui/docs/api-reference/index.html +3 -1
  160. package/dist/serve/site-ui/docs/api-reference.md +2 -0
  161. package/dist/serve/site-ui/docs/app-compat/index.html +28 -28
  162. package/dist/serve/site-ui/docs/app-compat.md +27 -27
  163. package/dist/serve/site-ui/docs/auth-compat/index.html +122 -122
  164. package/dist/serve/site-ui/docs/auth-compat.md +121 -121
  165. package/dist/serve/site-ui/docs/build/ai-logic/index.html +1 -1
  166. package/dist/serve/site-ui/docs/build/authentication/index.html +1 -1
  167. package/dist/serve/site-ui/docs/build/cloud-firestore/index.html +1 -1
  168. package/dist/serve/site-ui/docs/build/cloud-messaging/index.html +1 -1
  169. package/dist/serve/site-ui/docs/build/cloud-storage/index.html +1 -1
  170. package/dist/serve/site-ui/docs/build/realtime-database/index.html +1 -1
  171. package/dist/serve/site-ui/docs/conformance-scores/index.html +4 -4
  172. package/dist/serve/site-ui/docs/conformance-scores.md +3 -3
  173. package/dist/serve/site-ui/docs/create-pyric-reference-api/index.html +6 -6
  174. package/dist/serve/site-ui/docs/create-pyric-reference-api.md +5 -5
  175. package/dist/serve/site-ui/docs/database-compat/index.html +200 -448
  176. package/dist/serve/site-ui/docs/database-compat.md +198 -461
  177. package/dist/serve/site-ui/docs/examples/chess/index.html +2 -2
  178. package/dist/serve/site-ui/docs/examples/index.html +1 -1
  179. package/dist/serve/site-ui/docs/firestore-compat/index.html +186 -195
  180. package/dist/serve/site-ui/docs/firestore-compat.md +184 -195
  181. package/dist/serve/site-ui/docs/functions-rtdb-compat/index.html +15 -15
  182. package/dist/serve/site-ui/docs/functions-rtdb-compat.md +14 -14
  183. package/dist/serve/site-ui/docs/get-started/how-the-swap-works/index.html +1 -1
  184. package/dist/serve/site-ui/docs/get-started/nextjs/index.html +57 -0
  185. package/dist/serve/site-ui/docs/get-started/nextjs.md +86 -0
  186. package/dist/serve/site-ui/docs/get-started/start-building/index.html +25 -8
  187. package/dist/serve/site-ui/docs/get-started/start-building.md +34 -5
  188. package/dist/serve/site-ui/docs/get-started/vite/index.html +26 -0
  189. package/dist/serve/site-ui/docs/get-started/vite.md +45 -0
  190. package/dist/serve/site-ui/docs/index.json +668 -103
  191. package/dist/serve/site-ui/docs/messaging-compat/index.html +56 -56
  192. package/dist/serve/site-ui/docs/messaging-compat.md +55 -55
  193. package/dist/serve/site-ui/docs/observe/resolve-runtime-status/index.html +1 -1
  194. package/dist/serve/site-ui/docs/observe/see-whats-happening/index.html +1 -1
  195. package/dist/serve/site-ui/docs/observe/shape-your-data/index.html +1 -1
  196. package/dist/serve/site-ui/docs/overview/index.html +1 -1
  197. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api/index.html +39 -13
  198. package/dist/serve/site-ui/docs/pyric-admin-app-reference-api.md +28 -2
  199. package/dist/serve/site-ui/docs/pyric-admin-auth-reference-api/index.html +1 -1
  200. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api/index.html +38 -6
  201. package/dist/serve/site-ui/docs/pyric-admin-database-reference-api.md +43 -0
  202. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api/index.html +9 -1
  203. package/dist/serve/site-ui/docs/pyric-admin-firestore-reference-api.md +8 -0
  204. package/dist/serve/site-ui/docs/pyric-admin-messaging-reference-api/index.html +1 -1
  205. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api/index.html +27 -4
  206. package/dist/serve/site-ui/docs/pyric-admin-storage-reference-api.md +23 -0
  207. package/dist/serve/site-ui/docs/pyric-ai-reference-api/index.html +1 -1
  208. package/dist/serve/site-ui/docs/pyric-ai-scripting-reference-api/index.html +1 -1
  209. package/dist/serve/site-ui/docs/pyric-app-reference-api/index.html +1 -1
  210. package/dist/serve/site-ui/docs/pyric-auth-reference-api/index.html +2 -2
  211. package/dist/serve/site-ui/docs/pyric-auth-reference-api.md +1 -1
  212. package/dist/serve/site-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +1 -1
  213. package/dist/serve/site-ui/docs/pyric-cli-assurance-reference-api/index.html +1 -1
  214. package/dist/serve/site-ui/docs/pyric-cli-bridge-client-reference-api/index.html +1 -1
  215. package/dist/serve/site-ui/docs/pyric-cli-bridge-reference-api/index.html +1 -1
  216. package/dist/serve/site-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +1 -1
  217. package/dist/serve/site-ui/docs/pyric-cli-conformance-docs-reference-api/index.html +1 -1
  218. package/dist/serve/site-ui/docs/pyric-cli-conformance-reference-api/index.html +1 -1
  219. package/dist/serve/site-ui/docs/pyric-cli-credentials-node-reference-api/index.html +1 -1
  220. package/dist/serve/site-ui/docs/pyric-cli-discover-reference-api/index.html +1 -1
  221. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api/index.html +123 -0
  222. package/dist/serve/site-ui/docs/pyric-cli-next-reference-api.md +99 -0
  223. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api/index.html +127 -0
  224. package/dist/serve/site-ui/docs/pyric-cli-register-app-bridge-reference-api.md +174 -0
  225. package/dist/serve/site-ui/docs/pyric-cli-register-reference-api/index.html +1 -1
  226. package/dist/serve/site-ui/docs/pyric-cli-remote-reference-api/index.html +1 -1
  227. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api/index.html +570 -326
  228. package/dist/serve/site-ui/docs/pyric-cli-serve-worker-reference-api.md +198 -6
  229. package/dist/serve/site-ui/docs/pyric-cli-verify-reference-api/index.html +1 -1
  230. package/dist/serve/site-ui/docs/pyric-cli-vite-reference-api/index.html +1 -1
  231. package/dist/serve/site-ui/docs/pyric-database-reference-api/index.html +1 -1
  232. package/dist/serve/site-ui/docs/pyric-firestore-reference-api/index.html +2971 -627
  233. package/dist/serve/site-ui/docs/pyric-firestore-reference-api.md +2873 -517
  234. package/dist/serve/site-ui/docs/pyric-messaging-reference-api/index.html +1 -1
  235. package/dist/serve/site-ui/docs/pyric-messaging-sw-reference-api/index.html +1 -1
  236. package/dist/serve/site-ui/docs/pyric-rules-reference-api/index.html +43 -3
  237. package/dist/serve/site-ui/docs/pyric-rules-reference-api.md +8 -0
  238. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api/index.html +26 -2
  239. package/dist/serve/site-ui/docs/pyric-sandbox-database-reference-api.md +24 -0
  240. package/dist/serve/site-ui/docs/pyric-sandbox-firestore-reference-api/index.html +1 -1
  241. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api/index.html +77 -9
  242. package/dist/serve/site-ui/docs/pyric-sandbox-reference-api.md +28 -13
  243. package/dist/serve/site-ui/docs/pyric-storage-reference-api/index.html +240 -63
  244. package/dist/serve/site-ui/docs/pyric-storage-reference-api.md +164 -5
  245. package/dist/serve/site-ui/docs/pyric-ui-agents-reference-api/index.html +1 -1
  246. package/dist/serve/site-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +1 -1
  247. package/dist/serve/site-ui/docs/pyric-ui-auth-reference-api/index.html +1 -1
  248. package/dist/serve/site-ui/docs/pyric-ui-events-hooks-reference-api/index.html +1 -1
  249. package/dist/serve/site-ui/docs/pyric-ui-events-reference-api/index.html +1 -1
  250. package/dist/serve/site-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1 -1
  251. package/dist/serve/site-ui/docs/pyric-ui-firestore-reference-api/index.html +1 -1
  252. package/dist/serve/site-ui/docs/pyric-ui-primitives-reference-api/index.html +1 -1
  253. package/dist/serve/site-ui/docs/pyric-ui-rtdb-reference-api/index.html +1 -1
  254. package/dist/serve/site-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +1 -1
  255. package/dist/serve/site-ui/docs/pyric-ui-rules-reference-api/index.html +1 -1
  256. package/dist/serve/site-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1 -1
  257. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api/index.html +2 -1
  258. package/dist/serve/site-ui/docs/pyric-ui-storage-reference-api.md +1 -0
  259. package/dist/serve/site-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1 -1
  260. package/dist/serve/site-ui/docs/pyric-ui-traffic-reference-api/index.html +1 -1
  261. package/dist/serve/site-ui/docs/rules-compat/index.html +87 -79
  262. package/dist/serve/site-ui/docs/rules-compat.md +86 -78
  263. package/dist/serve/site-ui/docs/secure/audit-your-rules/index.html +1 -1
  264. package/dist/serve/site-ui/docs/secure/firestore-rules-limits/index.html +1 -1
  265. package/dist/serve/site-ui/docs/secure/read-a-denial/index.html +1 -1
  266. package/dist/serve/site-ui/docs/secure/rtdb-rules-in-typescript/index.html +1 -1
  267. package/dist/serve/site-ui/docs/secure/rules-standard-library/index.html +1 -1
  268. package/dist/serve/site-ui/docs/secure/secure-it-with-rules/index.html +1 -1
  269. package/dist/serve/site-ui/docs/secure/simulate-and-lint/index.html +1 -1
  270. package/dist/serve/site-ui/docs/secure/write-a-rules-test-suite/index.html +1 -1
  271. package/dist/serve/site-ui/docs/ship/ship-to-production/index.html +1 -1
  272. package/dist/serve/site-ui/docs/ship/test-in-node/index.html +1 -1
  273. package/dist/serve/site-ui/docs/storage-compat/index.html +119 -125
  274. package/dist/serve/site-ui/docs/storage-compat.md +118 -124
  275. package/dist/serve/site-ui/docs/trust/how-we-know-it-matches-firebase/index.html +1 -1
  276. package/dist/serve/site-ui/docs/trust/rules-standard-library/index.html +1 -1
  277. package/dist/serve/site-ui/docs/trust/storage-rules-stdlib-research/index.html +1 -1
  278. package/dist/serve/site-ui/docs/trust/versioning-and-compatibility/index.html +1 -1
  279. package/dist/serve/site-ui/docs/tutorial/index.html +1 -1
  280. package/dist/serve/site-ui/examples/chess/index.html +1 -1
  281. package/dist/serve/site-ui/examples/firestore-first-write/index.html +1 -1
  282. package/dist/serve/site-ui/firestore/index.html +2 -2
  283. package/dist/serve/site-ui/index.html +2 -2
  284. package/dist/serve/site-ui/llms.txt +6 -2
  285. package/dist/serve/site-ui/rtdb/index.html +2 -2
  286. package/dist/serve/site-ui/settings/index.html +2 -2
  287. package/dist/serve/site-ui/storage/index.html +2 -2
  288. package/dist/serve/site-ui/traffic/index.html +2 -2
  289. package/dist/serve/vite-ai-config.d.ts +4 -1
  290. package/dist/serve/vite-ai-config.d.ts.map +1 -1
  291. package/dist/serve/vite-ai-config.js +83 -19
  292. package/dist/serve/vite-ai-config.js.map +1 -1
  293. package/dist/serve/vite-generation-rules-watch.d.ts.map +1 -1
  294. package/dist/serve/vite-generation-rules-watch.js +61 -14
  295. package/dist/serve/vite-generation-rules-watch.js.map +1 -1
  296. package/dist/serve/vite-module-swap.d.ts +4 -1
  297. package/dist/serve/vite-module-swap.d.ts.map +1 -1
  298. package/dist/serve/vite-module-swap.js +106 -21
  299. package/dist/serve/vite-module-swap.js.map +1 -1
  300. package/dist/serve/vite-plugin.d.ts.map +1 -1
  301. package/dist/serve/vite-plugin.js +45 -5
  302. package/dist/serve/vite-plugin.js.map +1 -1
  303. package/dist/serve/vite-sandbox-generation.js +1 -1
  304. package/dist/serve/vite-sandbox-generation.js.map +1 -1
  305. package/dist/serve/worker/client/resumable.d.ts +30 -0
  306. package/dist/serve/worker/client/resumable.d.ts.map +1 -0
  307. package/dist/serve/worker/client/resumable.js +416 -0
  308. package/dist/serve/worker/client/resumable.js.map +1 -0
  309. package/dist/serve/worker/client/rtdb-references.d.ts.map +1 -1
  310. package/dist/serve/worker/client/rtdb-references.js +4 -1
  311. package/dist/serve/worker/client/rtdb-references.js.map +1 -1
  312. package/dist/serve/worker/client/storage.d.ts +16 -2
  313. package/dist/serve/worker/client/storage.d.ts.map +1 -1
  314. package/dist/serve/worker/client/storage.js +57 -6
  315. package/dist/serve/worker/client/storage.js.map +1 -1
  316. package/dist/serve/worker/host/rules.d.ts.map +1 -1
  317. package/dist/serve/worker/host/rules.js +2 -1
  318. package/dist/serve/worker/host/rules.js.map +1 -1
  319. package/dist/serve/worker/index.d.ts +1 -1
  320. package/dist/serve/worker/index.d.ts.map +1 -1
  321. package/dist/serve/worker/index.js +1 -1
  322. package/dist/serve/worker/index.js.map +1 -1
  323. package/dist/serve/worker/serve-init.d.ts.map +1 -1
  324. package/dist/serve/worker/serve-init.js +31 -0
  325. package/dist/serve/worker/serve-init.js.map +1 -1
  326. package/package.json +15 -4
  327. package/src/assurance/.generated/conformance-verdicts.ts +80 -72
  328. package/src/bridge/client/dispatch.ts +1 -1
  329. package/src/cli/cli.test.ts +14 -0
  330. package/src/cli/database-rules.ts +6 -4
  331. package/src/cli/dev-runner.ts +21 -0
  332. package/src/cli/serve.ts +62 -5
  333. package/src/cli/verify.ts +2 -2
  334. package/src/conformance/.generated/can-i-use-browser.ts +1 -1
  335. package/src/conformance/.generated/can-i-use.ts +1 -1
  336. package/src/conformance/.generated/conformance-docs.ts +1 -1
  337. package/src/next/client-aliases.ts +39 -0
  338. package/src/next/dev-rewrites.ts +77 -0
  339. package/src/next/guard.ts +61 -0
  340. package/src/next/index.ts +16 -0
  341. package/src/next/runtime-env.ts +18 -0
  342. package/src/next/server-external-packages.ts +43 -0
  343. package/src/next/target-url.ts +46 -0
  344. package/src/next/turbopack-config.ts +54 -0
  345. package/src/next/types.ts +47 -0
  346. package/src/next/webpack-config.ts +71 -0
  347. package/src/next/with-pyric.ts +58 -0
  348. package/src/register/app-bridge.ts +79 -0
  349. package/src/register/hooks.ts +6 -1
  350. package/src/register/index.ts +1 -1
  351. package/src/register/mapping.ts +50 -4
  352. package/src/rtdb/rules-json.ts +110 -0
  353. package/src/serve/bundler.ts +2 -0
  354. package/src/serve/discovery.ts +65 -44
  355. package/src/serve/entries/app-ai-passthrough.ts +83 -0
  356. package/src/serve/entries/auth-helper-core.ts +44 -8
  357. package/src/serve/entries/auth.ts +9 -4
  358. package/src/serve/entries/bridge-url.ts +9 -2
  359. package/src/serve/entries/database.ts +1 -0
  360. package/src/serve/entries/firestore.ts +1 -0
  361. package/src/serve/entries/init.ts +5 -2
  362. package/src/serve/entries/runtime.ts +25 -0
  363. package/src/serve/entries/storage.ts +12 -1
  364. package/src/serve/html-injection.ts +26 -1
  365. package/src/serve/rules.ts +2 -2
  366. package/src/serve/runtime/chip-config.ts +19 -6
  367. package/src/serve/sandbox-session.ts +31 -2
  368. package/src/serve/vite-ai-config.ts +86 -19
  369. package/src/serve/vite-generation-rules-watch.ts +67 -15
  370. package/src/serve/vite-module-swap.ts +121 -21
  371. package/src/serve/vite-plugin.ts +44 -6
  372. package/src/serve/vite-sandbox-generation.ts +1 -1
  373. package/src/serve/worker/client/resumable.ts +506 -0
  374. package/src/serve/worker/client/rtdb-references.ts +4 -1
  375. package/src/serve/worker/client/storage.ts +77 -7
  376. package/src/serve/worker/host/rules.ts +2 -1
  377. package/src/serve/worker/index.ts +4 -0
  378. package/src/serve/worker/serve-init.ts +30 -0
  379. package/dist/serve/site-ui/_astro/_studio_.BtYpqe1A.css +0 -1
  380. package/dist/serve/site-ui/_astro/app.BnMC0ywl.js +0 -109
  381. package/dist/serve/site-ui/_astro/app.DVXXR-WI.js +0 -1
  382. package/dist/serve/site-ui/_astro/index.B4Kh80he.js +0 -1
  383. package/dist/serve/site-ui/_astro/reads.D1exkX1-.js +0 -1
  384. package/dist/serve/site-ui/_astro/sandbox-controls.BqMePr5V.js +0 -1153
@@ -2,6 +2,131 @@
2
2
 
3
3
  ## Classes
4
4
 
5
+ <a id="abstractuserdatawriter"></a>
6
+
7
+ ### AbstractUserDataWriter
8
+
9
+ #### Constructors
10
+
11
+ <a id="constructor"></a>
12
+
13
+ ##### Constructor
14
+
15
+ ```ts
16
+ new AbstractUserDataWriter(): AbstractUserDataWriter;
17
+ ```
18
+
19
+ ###### Returns
20
+
21
+ [`AbstractUserDataWriter`](#abstractuserdatawriter)
22
+
23
+ ***
24
+
25
+ <a id="aggregatefield"></a>
26
+
27
+ ### AggregateField
28
+
29
+ #### Constructors
30
+
31
+ <a id="constructor-1"></a>
32
+
33
+ ##### Constructor
34
+
35
+ ```ts
36
+ new AggregateField(): AggregateField;
37
+ ```
38
+
39
+ ###### Returns
40
+
41
+ [`AggregateField`](#aggregatefield)
42
+
43
+ #### Properties
44
+
45
+ | Property | Modifier | Type |
46
+ | :------ | :------ | :------ |
47
+ | <a id="field"></a> `field?` | `readonly` | `string` |
48
+ | <a id="kind"></a> `kind` | `readonly` | [`AggregateFieldType`](#aggregatefieldtype) |
49
+
50
+ #### Methods
51
+
52
+ <a id="hasinstance"></a>
53
+
54
+ ##### \[hasInstance\]()
55
+
56
+ ```ts
57
+ static hasInstance: boolean;
58
+ ```
59
+
60
+ ###### Parameters
61
+
62
+ | Parameter | Type |
63
+ | :------ | :------ |
64
+ | `instance` | `unknown` |
65
+
66
+ ###### Returns
67
+
68
+ `boolean`
69
+
70
+ ***
71
+
72
+ <a id="aggregatequerysnapshot"></a>
73
+
74
+ ### AggregateQuerySnapshot
75
+
76
+ #### Type Parameters
77
+
78
+ | Type Parameter | Default type |
79
+ | :------ | :------ |
80
+ | `T` *extends* `Record`\<`string`, `number` \| `null`\> | `Record`\<`string`, `number` \| `null`\> |
81
+
82
+ #### Constructors
83
+
84
+ <a id="constructor-2"></a>
85
+
86
+ ##### Constructor
87
+
88
+ ```ts
89
+ new AggregateQuerySnapshot<T>(): AggregateQuerySnapshot<T>;
90
+ ```
91
+
92
+ ###### Returns
93
+
94
+ [`AggregateQuerySnapshot`](#aggregatequerysnapshot)\<`T`\>
95
+
96
+ #### Methods
97
+
98
+ <a id="data"></a>
99
+
100
+ ##### data()
101
+
102
+ ```ts
103
+ data(): T;
104
+ ```
105
+
106
+ ###### Returns
107
+
108
+ `T`
109
+
110
+ <a id="hasinstance-2"></a>
111
+
112
+ ##### \[hasInstance\]()
113
+
114
+ ```ts
115
+ static hasInstance: boolean;
116
+ ```
117
+
118
+ ###### Parameters
119
+
120
+ | Parameter | Type |
121
+ | :------ | :------ |
122
+ | `instance` | `unknown` |
123
+
124
+ ###### Returns
125
+
126
+ `boolean`
127
+
128
+ ***
129
+
5
130
  <a id="bytes"></a>
6
131
 
7
132
  ### Bytes
@@ -130,45 +255,52 @@ static fromUint8Array(array: Uint8Array): Bytes;
130
255
 
131
256
  ***
132
257
 
133
- <a id="fieldpath"></a>
258
+ <a id="collectionreference"></a>
134
259
 
135
- ### FieldPath
260
+ ### CollectionReference
261
+
262
+ #### Type Parameters
263
+
264
+ | Type Parameter | Default type |
265
+ | :------ | :------ |
266
+ | `_T` | [`DocumentData`](#documentdata) |
136
267
 
137
268
  #### Constructors
138
269
 
139
- <a id="constructor"></a>
270
+ <a id="constructor-3"></a>
140
271
 
141
272
  ##### Constructor
142
273
 
143
274
  ```ts
144
- new FieldPath(...fieldNames: string[]): FieldPath;
275
+ new CollectionReference<_T>(): CollectionReference<_T>;
145
276
  ```
146
277
 
147
- ###### Parameters
278
+ ###### Returns
148
279
 
149
- | Parameter | Type |
150
- | :------ | :------ |
151
- | ...`fieldNames` | `string`[] |
280
+ [`CollectionReference`](#collectionreference)\<`_T`\>
152
281
 
153
- ###### Returns
282
+ #### Properties
154
283
 
155
- [`FieldPath`](#fieldpath)
284
+ | Property | Modifier | Type |
285
+ | :------ | :------ | :------ |
286
+ | <a id="id"></a> `id` | `readonly` | `string` |
287
+ | <a id="path"></a> `path` | `readonly` | `string` |
156
288
 
157
289
  #### Methods
158
290
 
159
- <a id="isequal-2"></a>
291
+ <a id="hasinstance-4"></a>
160
292
 
161
- ##### isEqual()
293
+ ##### \[hasInstance\]()
162
294
 
163
295
  ```ts
164
- isEqual(other: FieldPath): boolean;
296
+ static hasInstance: boolean;
165
297
  ```
166
298
 
167
299
  ###### Parameters
168
300
 
169
301
  | Parameter | Type |
170
302
  | :------ | :------ |
171
- | `other` | [`FieldPath`](#fieldpath) |
303
+ | `instance` | `unknown` |
172
304
 
173
305
  ###### Returns
174
306
 
@@ -176,306 +308,351 @@ isEqual(other: FieldPath): boolean;
176
308
 
177
309
  ***
178
310
 
179
- <a id="fieldvalue"></a>
311
+ <a id="documentreference"></a>
180
312
 
181
- ### FieldValue
313
+ ### DocumentReference
314
+
315
+ #### Type Parameters
316
+
317
+ | Type Parameter | Default type |
318
+ | :------ | :------ |
319
+ | `_T` | [`DocumentData`](#documentdata) |
182
320
 
183
321
  #### Constructors
184
322
 
185
- <a id="constructor-1"></a>
323
+ <a id="constructor-4"></a>
186
324
 
187
325
  ##### Constructor
188
326
 
189
327
  ```ts
190
- new FieldValue(): FieldValue;
328
+ new DocumentReference<_T>(): DocumentReference<_T>;
191
329
  ```
192
330
 
193
331
  ###### Returns
194
332
 
195
- [`FieldValue`](#fieldvalue)
333
+ [`DocumentReference`](#documentreference)\<`_T`\>
334
+
335
+ #### Properties
336
+
337
+ | Property | Modifier | Type |
338
+ | :------ | :------ | :------ |
339
+ | <a id="id-1"></a> `id` | `readonly` | `string` |
340
+ | <a id="path-1"></a> `path` | `readonly` | `string` |
196
341
 
197
342
  #### Methods
198
343
 
199
- <a id="arrayremove"></a>
344
+ <a id="hasinstance-6"></a>
200
345
 
201
- ##### arrayRemove()
346
+ ##### \[hasInstance\]()
202
347
 
203
348
  ```ts
204
- static arrayRemove(...values: unknown[]): FieldValueSentinel;
349
+ static hasInstance: boolean;
205
350
  ```
206
351
 
207
352
  ###### Parameters
208
353
 
209
354
  | Parameter | Type |
210
355
  | :------ | :------ |
211
- | ...`values` | `unknown`[] |
356
+ | `instance` | `unknown` |
212
357
 
213
358
  ###### Returns
214
359
 
215
- [`FieldValueSentinel`](#fieldvaluesentinel)
360
+ `boolean`
216
361
 
217
- <a id="arrayunion"></a>
362
+ ***
218
363
 
219
- ##### arrayUnion()
364
+ <a id="documentsnapshot"></a>
220
365
 
221
- ```ts
222
- static arrayUnion(...values: unknown[]): FieldValueSentinel;
223
- ```
366
+ ### DocumentSnapshot
224
367
 
225
- ###### Parameters
368
+ #### Extended by
226
369
 
227
- | Parameter | Type |
228
- | :------ | :------ |
229
- | ...`values` | `unknown`[] |
370
+ - [`QueryDocumentSnapshot`](#querydocumentsnapshot)
230
371
 
231
- ###### Returns
372
+ #### Type Parameters
232
373
 
233
- [`FieldValueSentinel`](#fieldvaluesentinel)
374
+ | Type Parameter | Default type |
375
+ | :------ | :------ |
376
+ | `T` | [`DocumentData`](#documentdata) |
234
377
 
235
- <a id="delete"></a>
378
+ #### Constructors
236
379
 
237
- ##### delete()
380
+ <a id="constructor-5"></a>
381
+
382
+ ##### Constructor
238
383
 
239
384
  ```ts
240
- static delete(): FieldValueSentinel;
385
+ new DocumentSnapshot<T>(): DocumentSnapshot<T>;
241
386
  ```
242
387
 
243
388
  ###### Returns
244
389
 
245
- [`FieldValueSentinel`](#fieldvaluesentinel)
390
+ [`DocumentSnapshot`](#documentsnapshot)\<`T`\>
246
391
 
247
- <a id="increment"></a>
392
+ #### Properties
248
393
 
249
- ##### increment()
394
+ | Property | Modifier | Type |
395
+ | :------ | :------ | :------ |
396
+ | <a id="exists"></a> `exists` | `readonly` | `boolean` \| () => `boolean` |
397
+ | <a id="id-2"></a> `id` | `readonly` | `string` |
398
+ | <a id="metadata"></a> `metadata` | `readonly` | [`SnapshotMetadata`](#snapshotmetadata) |
399
+ | <a id="ref"></a> `ref` | `readonly` | [`DocumentReference`](#documentreference)\<`T`\> |
250
400
 
251
- ```ts
252
- static increment(n: number): FieldValueSentinel;
253
- ```
401
+ #### Methods
254
402
 
255
- ###### Parameters
403
+ <a id="data-2"></a>
256
404
 
257
- | Parameter | Type |
258
- | :------ | :------ |
259
- | `n` | `number` |
405
+ ##### data()
406
+
407
+ ```ts
408
+ data(): T;
409
+ ```
260
410
 
261
411
  ###### Returns
262
412
 
263
- [`FieldValueSentinel`](#fieldvaluesentinel)
413
+ `T`
264
414
 
265
- <a id="servertimestamp"></a>
415
+ <a id="hasinstance-8"></a>
266
416
 
267
- ##### serverTimestamp()
417
+ ##### \[hasInstance\]()
268
418
 
269
419
  ```ts
270
- static serverTimestamp(): FieldValueSentinel;
420
+ static hasInstance: boolean;
271
421
  ```
272
422
 
423
+ ###### Parameters
424
+
425
+ | Parameter | Type |
426
+ | :------ | :------ |
427
+ | `instance` | `unknown` |
428
+
273
429
  ###### Returns
274
430
 
275
- [`FieldValueSentinel`](#fieldvaluesentinel)
431
+ `boolean`
276
432
 
277
433
  ***
278
434
 
279
- <a id="geopoint"></a>
435
+ <a id="fieldpath"></a>
280
436
 
281
- ### GeoPoint
437
+ ### FieldPath
282
438
 
283
439
  #### Constructors
284
440
 
285
- <a id="constructor-2"></a>
441
+ <a id="constructor-6"></a>
286
442
 
287
443
  ##### Constructor
288
444
 
289
445
  ```ts
290
- new GeoPoint(lat: number, lng: number): GeoPoint;
446
+ new FieldPath(...fieldNames: string[]): FieldPath;
291
447
  ```
292
448
 
293
449
  ###### Parameters
294
450
 
295
451
  | Parameter | Type |
296
452
  | :------ | :------ |
297
- | `lat` | `number` |
298
- | `lng` | `number` |
453
+ | ...`fieldNames` | `string`[] |
299
454
 
300
455
  ###### Returns
301
456
 
302
- [`GeoPoint`](#geopoint)
303
-
304
- #### Accessors
457
+ [`FieldPath`](#fieldpath)
305
458
 
306
- <a id="latitude"></a>
459
+ #### Methods
307
460
 
308
- ##### latitude
461
+ <a id="isequal-2"></a>
309
462
 
310
- ###### Get Signature
463
+ ##### isEqual()
311
464
 
312
465
  ```ts
313
- get latitude(): number;
466
+ isEqual(other: FieldPath): boolean;
314
467
  ```
315
468
 
316
- ###### Returns
469
+ ###### Parameters
317
470
 
318
- `number`
471
+ | Parameter | Type |
472
+ | :------ | :------ |
473
+ | `other` | [`FieldPath`](#fieldpath) |
319
474
 
320
- <a id="longitude"></a>
475
+ ###### Returns
321
476
 
322
- ##### longitude
477
+ `boolean`
323
478
 
324
- ###### Get Signature
479
+ ***
480
+
481
+ <a id="fieldvalue"></a>
482
+
483
+ ### FieldValue
484
+
485
+ #### Constructors
486
+
487
+ <a id="constructor-7"></a>
488
+
489
+ ##### Constructor
325
490
 
326
491
  ```ts
327
- get longitude(): number;
492
+ new FieldValue(): FieldValue;
328
493
  ```
329
494
 
330
495
  ###### Returns
331
496
 
332
- `number`
497
+ [`FieldValue`](#fieldvalue)
333
498
 
334
499
  #### Methods
335
500
 
336
- <a id="isequal-4"></a>
501
+ <a id="arrayremove"></a>
337
502
 
338
- ##### isEqual()
503
+ ##### arrayRemove()
339
504
 
340
505
  ```ts
341
- isEqual(other: GeoPoint): boolean;
506
+ static arrayRemove(...values: unknown[]): FieldValueSentinel;
342
507
  ```
343
508
 
344
509
  ###### Parameters
345
510
 
346
511
  | Parameter | Type |
347
512
  | :------ | :------ |
348
- | `other` | [`GeoPoint`](#geopoint) |
513
+ | ...`values` | `unknown`[] |
349
514
 
350
515
  ###### Returns
351
516
 
352
- `boolean`
517
+ [`FieldValueSentinel`](#fieldvaluesentinel)
353
518
 
354
- <a id="tojson-2"></a>
519
+ <a id="arrayunion"></a>
355
520
 
356
- ##### toJSON()
521
+ ##### arrayUnion()
357
522
 
358
523
  ```ts
359
- toJSON(): {
360
- latitude: number;
361
- longitude: number;
362
- type: string;
363
- };
524
+ static arrayUnion(...values: unknown[]): FieldValueSentinel;
364
525
  ```
365
526
 
366
- ###### Returns
527
+ ###### Parameters
367
528
 
368
- ```ts
369
- {
370
- latitude: number;
371
- longitude: number;
372
- type: string;
373
- }
374
- ```
529
+ | Parameter | Type |
530
+ | :------ | :------ |
531
+ | ...`values` | `unknown`[] |
375
532
 
376
- ###### latitude
533
+ ###### Returns
377
534
 
378
- ```ts
379
- latitude: number;
380
- ```
535
+ [`FieldValueSentinel`](#fieldvaluesentinel)
381
536
 
382
- ###### longitude
537
+ <a id="delete"></a>
538
+
539
+ ##### delete()
383
540
 
384
541
  ```ts
385
- longitude: number;
542
+ static delete(): FieldValueSentinel;
386
543
  ```
387
544
 
388
- ###### type
545
+ ###### Returns
389
546
 
390
- ```ts
391
- type: string;
392
- ```
547
+ [`FieldValueSentinel`](#fieldvaluesentinel)
393
548
 
394
- <a id="fromjson-2"></a>
549
+ <a id="increment"></a>
395
550
 
396
- ##### fromJSON()
551
+ ##### increment()
397
552
 
398
553
  ```ts
399
- static fromJSON(json: object): GeoPoint;
554
+ static increment(n: number): FieldValueSentinel;
400
555
  ```
401
556
 
402
557
  ###### Parameters
403
558
 
404
559
  | Parameter | Type |
405
560
  | :------ | :------ |
406
- | `json` | `object` |
561
+ | `n` | `number` |
407
562
 
408
563
  ###### Returns
409
564
 
410
- [`GeoPoint`](#geopoint)
565
+ [`FieldValueSentinel`](#fieldvaluesentinel)
411
566
 
412
- ***
567
+ <a id="servertimestamp"></a>
413
568
 
414
- <a id="sandboxerror"></a>
569
+ ##### serverTimestamp()
415
570
 
416
- ### SandboxError
571
+ ```ts
572
+ static serverTimestamp(): FieldValueSentinel;
573
+ ```
417
574
 
418
- Sandbox-layer error. Catch with `instanceof SandboxError` and switch
419
- on `code`. `denialContext` is populated for `permission-denied` only
420
- (and only after Slice 4 wires it through).
575
+ ###### Returns
421
576
 
422
- Two construction forms are supported:
423
- - Positional: `new SandboxError(code, message, denialContext?)` —
424
- the original signature, kept for backward compatibility with
425
- existing internal call sites.
426
- - Options bag: `new SandboxError({ code, message, remediation? })` —
427
- used when attaching remediation guidance.
577
+ [`FieldValueSentinel`](#fieldvaluesentinel)
428
578
 
429
- #### Extends
579
+ ***
430
580
 
431
- - `Error`
581
+ <a id="firestore"></a>
582
+
583
+ ### Firestore
432
584
 
433
585
  #### Constructors
434
586
 
435
- <a id="constructor-3"></a>
587
+ <a id="constructor-8"></a>
436
588
 
437
589
  ##### Constructor
438
590
 
439
591
  ```ts
440
- new SandboxError(
441
- code: SandboxErrorCode,
442
- message: string,
443
- denialContext?: DenialContext): SandboxError;
592
+ new Firestore(): Firestore;
593
+ ```
594
+
595
+ ###### Returns
596
+
597
+ [`Firestore`](#firestore)
598
+
599
+ #### Properties
600
+
601
+ | Property | Modifier | Type |
602
+ | :------ | :------ | :------ |
603
+ | <a id="target_symbol"></a> `[TARGET_SYMBOL]` | `readonly` | `Target` |
604
+ | <a id="app"></a> `app?` | `readonly` | [`FirebaseApp`](pyric-app-reference-api.md#firebaseapp) |
605
+
606
+ #### Methods
607
+
608
+ <a id="hasinstance-10"></a>
609
+
610
+ ##### \[hasInstance\]()
611
+
612
+ ```ts
613
+ static hasInstance: boolean;
444
614
  ```
445
615
 
446
616
  ###### Parameters
447
617
 
448
618
  | Parameter | Type |
449
619
  | :------ | :------ |
450
- | `code` | [`SandboxErrorCode`](pyric-sandbox-reference-api.md#sandboxerrorcode) |
451
- | `message` | `string` |
452
- | `denialContext?` | [`DenialContext`](pyric-sandbox-reference-api.md#denialcontext) |
620
+ | `instance` | `unknown` |
453
621
 
454
622
  ###### Returns
455
623
 
456
- [`SandboxError`](#sandboxerror)
624
+ `boolean`
457
625
 
458
- ###### Overrides
626
+ ***
459
627
 
460
- ```ts
461
- Error.constructor
462
- ```
628
+ <a id="firestoreerror"></a>
629
+
630
+ ### FirestoreError
631
+
632
+ #### Extends
633
+
634
+ - `Error`
635
+
636
+ #### Constructors
637
+
638
+ <a id="constructor-9"></a>
463
639
 
464
640
  ##### Constructor
465
641
 
466
642
  ```ts
467
- new SandboxError(options: SandboxErrorOptions): SandboxError;
643
+ new FirestoreError(code: string, message: string): FirestoreError;
468
644
  ```
469
645
 
470
646
  ###### Parameters
471
647
 
472
648
  | Parameter | Type |
473
649
  | :------ | :------ |
474
- | `options` | `SandboxErrorOptions` |
650
+ | `code` | `string` |
651
+ | `message` | `string` |
475
652
 
476
653
  ###### Returns
477
654
 
478
- [`SandboxError`](#sandboxerror)
655
+ [`FirestoreError`](#firestoreerror)
479
656
 
480
657
  ###### Overrides
481
658
 
@@ -487,112 +664,117 @@ Error.constructor
487
664
 
488
665
  | Property | Modifier | Type |
489
666
  | :------ | :------ | :------ |
490
- | <a id="code"></a> `code` | `readonly` | [`SandboxErrorCode`](pyric-sandbox-reference-api.md#sandboxerrorcode) |
491
- | <a id="denialcontext"></a> `denialContext?` | `readonly` | [`DenialContext`](pyric-sandbox-reference-api.md#denialcontext) |
492
- | <a id="remediation"></a> `remediation?` | `readonly` | `string` |
667
+ | <a id="code"></a> `code` | `readonly` | `string` |
493
668
 
494
669
  ***
495
670
 
496
- <a id="timestamp"></a>
671
+ <a id="geopoint"></a>
497
672
 
498
- ### Timestamp
673
+ ### GeoPoint
499
674
 
500
675
  #### Constructors
501
676
 
502
- <a id="constructor-4"></a>
677
+ <a id="constructor-10"></a>
503
678
 
504
679
  ##### Constructor
505
680
 
506
681
  ```ts
507
- new Timestamp(seconds: number, nanoseconds: number): Timestamp;
682
+ new GeoPoint(lat: number, lng: number): GeoPoint;
508
683
  ```
509
684
 
510
685
  ###### Parameters
511
686
 
512
687
  | Parameter | Type |
513
688
  | :------ | :------ |
514
- | `seconds` | `number` |
515
- | `nanoseconds` | `number` |
689
+ | `lat` | `number` |
690
+ | `lng` | `number` |
516
691
 
517
692
  ###### Returns
518
693
 
519
- [`Timestamp`](#timestamp)
520
-
521
- #### Properties
694
+ [`GeoPoint`](#geopoint)
522
695
 
523
- | Property | Modifier | Type |
524
- | :------ | :------ | :------ |
525
- | <a id="nanoseconds"></a> `nanoseconds` | `readonly` | `number` |
526
- | <a id="seconds"></a> `seconds` | `readonly` | `number` |
696
+ #### Accessors
527
697
 
528
- #### Methods
698
+ <a id="latitude"></a>
529
699
 
530
- <a id="isequal-6"></a>
700
+ ##### latitude
531
701
 
532
- ##### isEqual()
702
+ ###### Get Signature
533
703
 
534
704
  ```ts
535
- isEqual(other: Timestamp): boolean;
705
+ get latitude(): number;
536
706
  ```
537
707
 
538
- FS-B12 — value equality, mirroring `fb.Timestamp.isEqual`.
708
+ ###### Returns
539
709
 
540
- ###### Parameters
710
+ `number`
541
711
 
542
- | Parameter | Type |
543
- | :------ | :------ |
544
- | `other` | [`Timestamp`](#timestamp) |
712
+ <a id="longitude"></a>
713
+
714
+ ##### longitude
715
+
716
+ ###### Get Signature
717
+
718
+ ```ts
719
+ get longitude(): number;
720
+ ```
545
721
 
546
722
  ###### Returns
547
723
 
548
- `boolean`
724
+ `number`
549
725
 
550
- <a id="todate"></a>
726
+ #### Methods
551
727
 
552
- ##### toDate()
728
+ <a id="isequal-4"></a>
729
+
730
+ ##### isEqual()
553
731
 
554
732
  ```ts
555
- toDate(): Date;
733
+ isEqual(other: GeoPoint): boolean;
556
734
  ```
557
735
 
736
+ ###### Parameters
737
+
738
+ | Parameter | Type |
739
+ | :------ | :------ |
740
+ | `other` | [`GeoPoint`](#geopoint) |
741
+
558
742
  ###### Returns
559
743
 
560
- `Date`
744
+ `boolean`
561
745
 
562
- <a id="tojson-4"></a>
746
+ <a id="tojson-2"></a>
563
747
 
564
748
  ##### toJSON()
565
749
 
566
750
  ```ts
567
751
  toJSON(): {
568
- nanoseconds: number;
569
- seconds: number;
752
+ latitude: number;
753
+ longitude: number;
570
754
  type: string;
571
755
  };
572
756
  ```
573
757
 
574
- FS-B12 — JSON form, mirroring `fb.Timestamp.toJSON`.
575
-
576
758
  ###### Returns
577
759
 
578
760
  ```ts
579
761
  {
580
- nanoseconds: number;
581
- seconds: number;
762
+ latitude: number;
763
+ longitude: number;
582
764
  type: string;
583
765
  }
584
766
  ```
585
767
 
586
- ###### nanoseconds
768
+ ###### latitude
587
769
 
588
770
  ```ts
589
- nanoseconds: number;
771
+ latitude: number;
590
772
  ```
591
773
 
592
- ###### seconds
774
+ ###### longitude
593
775
 
594
776
  ```ts
595
- seconds: number;
777
+ longitude: number;
596
778
  ```
597
779
 
598
780
  ###### type
@@ -601,378 +783,1919 @@ seconds: number;
601
783
  type: string;
602
784
  ```
603
785
 
604
- <a id="tomillis"></a>
786
+ <a id="fromjson-2"></a>
605
787
 
606
- ##### toMillis()
788
+ ##### fromJSON()
607
789
 
608
790
  ```ts
609
- toMillis(): number;
791
+ static fromJSON(json: object): GeoPoint;
610
792
  ```
611
793
 
794
+ ###### Parameters
795
+
796
+ | Parameter | Type |
797
+ | :------ | :------ |
798
+ | `json` | `object` |
799
+
612
800
  ###### Returns
613
801
 
614
- `number`
802
+ [`GeoPoint`](#geopoint)
615
803
 
616
- <a id="tostring-2"></a>
804
+ ***
617
805
 
618
- ##### toString()
806
+ <a id="loadbundletask"></a>
619
807
 
620
- ```ts
621
- toString(): string;
622
- ```
808
+ ### LoadBundleTask
623
809
 
624
- FS-B12 — textual form, mirroring `fb.Timestamp.toString`.
810
+ #### Implements
625
811
 
626
- ###### Returns
812
+ - `PromiseLike`\<[`LoadBundleTaskProgress`](#loadbundletaskprogress)\>
627
813
 
628
- `string`
814
+ #### Constructors
629
815
 
630
- <a id="valueof"></a>
816
+ <a id="constructor-11"></a>
631
817
 
632
- ##### valueOf()
818
+ ##### Constructor
633
819
 
634
820
  ```ts
635
- valueOf(): string;
821
+ new LoadBundleTask(promise: Promise<LoadBundleTaskProgress>): LoadBundleTask;
636
822
  ```
637
823
 
638
- FS-B12 — primitive coercion for `<`/`<=`/`>=`/`>` comparisons, mirroring
639
- `fb.Timestamp.valueOf`: a zero-padded `<seconds>.<nanoseconds>` string
640
- (seconds offset by MIN_SECONDS so it stays non-negative and lexically
641
- ordered).
824
+ ###### Parameters
825
+
826
+ | Parameter | Type |
827
+ | :------ | :------ |
828
+ | `promise` | `Promise`\<[`LoadBundleTaskProgress`](#loadbundletaskprogress)\> |
642
829
 
643
830
  ###### Returns
644
831
 
645
- `string`
832
+ [`LoadBundleTask`](#loadbundletask)
646
833
 
647
- <a id="fromdate"></a>
834
+ #### Methods
648
835
 
649
- ##### fromDate()
836
+ <a id="catch"></a>
837
+
838
+ ##### catch()
650
839
 
651
840
  ```ts
652
- static fromDate(d: Date): Timestamp;
841
+ catch<TResult>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<LoadBundleTaskProgress | TResult>;
653
842
  ```
654
843
 
844
+ ###### Type Parameters
845
+
846
+ | Type Parameter | Default type |
847
+ | :------ | :------ |
848
+ | `TResult` | `never` |
849
+
655
850
  ###### Parameters
656
851
 
657
852
  | Parameter | Type |
658
853
  | :------ | :------ |
659
- | `d` | `Date` |
854
+ | `onrejected?` | (`reason`: `any`) => `TResult` \| `PromiseLike`\<`TResult`\> |
660
855
 
661
856
  ###### Returns
662
857
 
663
- [`Timestamp`](#timestamp)
858
+ `Promise`\<[`LoadBundleTaskProgress`](#loadbundletaskprogress) \| `TResult`\>
664
859
 
665
- <a id="frommillis"></a>
860
+ <a id="onprogress"></a>
666
861
 
667
- ##### fromMillis()
862
+ ##### onProgress()
668
863
 
669
864
  ```ts
670
- static fromMillis(ms: number): Timestamp;
865
+ onProgress(
866
+ _next?: (progress: LoadBundleTaskProgress) => void,
867
+ _error?: (err: Error) => void,
868
+ _complete?: () => void): void;
671
869
  ```
672
870
 
673
871
  ###### Parameters
674
872
 
675
873
  | Parameter | Type |
676
874
  | :------ | :------ |
677
- | `ms` | `number` |
875
+ | `_next?` | (`progress`: [`LoadBundleTaskProgress`](#loadbundletaskprogress)) => `void` |
876
+ | `_error?` | (`err`: `Error`) => `void` |
877
+ | `_complete?` | () => `void` |
678
878
 
679
879
  ###### Returns
680
880
 
681
- [`Timestamp`](#timestamp)
881
+ `void`
682
882
 
683
- <a id="now"></a>
883
+ <a id="then"></a>
684
884
 
685
- ##### now()
885
+ ##### then()
686
886
 
687
887
  ```ts
688
- static now(): Timestamp;
888
+ then<TResult1, TResult2>(onfulfilled?: (value: LoadBundleTaskProgress) => TResult1 | PromiseLike<TResult1>, onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>): Promise<TResult1 | TResult2>;
689
889
  ```
690
890
 
891
+ Attaches callbacks for the resolution and/or rejection of the Promise.
892
+
893
+ ###### Type Parameters
894
+
895
+ | Type Parameter | Default type |
896
+ | :------ | :------ |
897
+ | `TResult1` | [`LoadBundleTaskProgress`](#loadbundletaskprogress) |
898
+ | `TResult2` | `never` |
899
+
900
+ ###### Parameters
901
+
902
+ | Parameter | Type | Description |
903
+ | :------ | :------ | :------ |
904
+ | `onfulfilled?` | (`value`: [`LoadBundleTaskProgress`](#loadbundletaskprogress)) => `TResult1` \| `PromiseLike`\<`TResult1`\> | The callback to execute when the Promise is resolved. |
905
+ | `onrejected?` | (`reason`: `any`) => `TResult2` \| `PromiseLike`\<`TResult2`\> | The callback to execute when the Promise is rejected. |
906
+
691
907
  ###### Returns
692
908
 
693
- [`Timestamp`](#timestamp)
909
+ `Promise`\<`TResult1` \| `TResult2`\>
910
+
911
+ A Promise for the completion of which ever callback is executed.
912
+
913
+ ###### Implementation of
914
+
915
+ ```ts
916
+ PromiseLike.then
917
+ ```
694
918
 
695
919
  ***
696
920
 
697
- <a id="vectorvalue"></a>
921
+ <a id="persistentcacheindexmanager"></a>
698
922
 
699
- ### VectorValue
923
+ ### PersistentCacheIndexManager
700
924
 
701
- #### Methods
925
+ #### Constructors
702
926
 
703
- <a id="isequal-8"></a>
927
+ <a id="constructor-12"></a>
704
928
 
705
- ##### isEqual()
929
+ ##### Constructor
706
930
 
707
931
  ```ts
708
- isEqual(other: VectorValue): boolean;
932
+ new PersistentCacheIndexManager(_db: Firestore): PersistentCacheIndexManager;
709
933
  ```
710
934
 
711
935
  ###### Parameters
712
936
 
713
937
  | Parameter | Type |
714
938
  | :------ | :------ |
715
- | `other` | [`VectorValue`](#vectorvalue) |
939
+ | `_db` | [`Firestore`](#firestore) |
716
940
 
717
941
  ###### Returns
718
942
 
719
- `boolean`
943
+ [`PersistentCacheIndexManager`](#persistentcacheindexmanager)
720
944
 
721
- <a id="toarray"></a>
945
+ #### Methods
722
946
 
723
- ##### toArray()
947
+ <a id="deleteallindexes"></a>
948
+
949
+ ##### deleteAllIndexes()
724
950
 
725
951
  ```ts
726
- toArray(): number[];
952
+ deleteAllIndexes(): Promise<void>;
727
953
  ```
728
954
 
729
955
  ###### Returns
730
956
 
731
- `number`[]
957
+ `Promise`\<`void`\>
732
958
 
733
- <a id="tojson-6"></a>
959
+ <a id="disableindexautocreation"></a>
734
960
 
735
- ##### toJSON()
961
+ ##### disableIndexAutoCreation()
736
962
 
737
963
  ```ts
738
- toJSON(): object;
964
+ disableIndexAutoCreation(): Promise<void>;
739
965
  ```
740
966
 
741
967
  ###### Returns
742
968
 
743
- `object`
969
+ `Promise`\<`void`\>
744
970
 
745
- <a id="create"></a>
971
+ <a id="enableindexautocreation"></a>
746
972
 
747
- ##### create()
973
+ ##### enableIndexAutoCreation()
748
974
 
749
975
  ```ts
750
- static create(values: number[]): VectorValue;
976
+ enableIndexAutoCreation(): Promise<void>;
751
977
  ```
752
978
 
753
- ###### Parameters
979
+ ###### Returns
754
980
 
755
- | Parameter | Type |
981
+ `Promise`\<`void`\>
982
+
983
+ ***
984
+
985
+ <a id="query"></a>
986
+
987
+ ### Query
988
+
989
+ #### Type Parameters
990
+
991
+ | Type Parameter | Default type |
756
992
  | :------ | :------ |
757
- | `values` | `number`[] |
993
+ | `_T` | [`DocumentData`](#documentdata) |
994
+
995
+ #### Constructors
996
+
997
+ <a id="constructor-13"></a>
998
+
999
+ ##### Constructor
1000
+
1001
+ ```ts
1002
+ new Query<_T>(): Query<_T>;
1003
+ ```
758
1004
 
759
1005
  ###### Returns
760
1006
 
761
- [`VectorValue`](#vectorvalue)
1007
+ [`Query`](#query)\<`_T`\>
762
1008
 
763
- <a id="fromjson-4"></a>
1009
+ #### Methods
764
1010
 
765
- ##### fromJSON()
1011
+ <a id="hasinstance-12"></a>
1012
+
1013
+ ##### \[hasInstance\]()
766
1014
 
767
1015
  ```ts
768
- static fromJSON(json: object): VectorValue;
1016
+ static hasInstance: boolean;
769
1017
  ```
770
1018
 
771
1019
  ###### Parameters
772
1020
 
773
1021
  | Parameter | Type |
774
1022
  | :------ | :------ |
775
- | `json` | `object` |
1023
+ | `instance` | `unknown` |
776
1024
 
777
1025
  ###### Returns
778
1026
 
779
- [`VectorValue`](#vectorvalue)
780
-
781
- ## Interfaces
1027
+ `boolean`
782
1028
 
783
- <a id="aggregatequerysnapshot"></a>
1029
+ ***
784
1030
 
785
- ### AggregateQuerySnapshot
1031
+ <a id="querycompositefilterconstraint"></a>
786
1032
 
787
- Snapshot returned by `getCountFromServer` /
788
- `getAggregateFromServer`. `.data()` returns the computed numbers
789
- keyed by the spec's aliases (or `{ count: number }` for the
790
- count-only entry point).
1033
+ ### QueryCompositeFilterConstraint
791
1034
 
792
- #### Type Parameters
1035
+ #### Extends
793
1036
 
794
- | Type Parameter | Default type |
795
- | :------ | :------ |
796
- | `T` *extends* `Record`\<`string`, `number` \| `null`\> | `Record`\<`string`, `number` \| `null`\> |
1037
+ - [`QueryConstraint`](#queryconstraint)
797
1038
 
798
- #### Methods
1039
+ #### Constructors
799
1040
 
800
- <a id="data"></a>
1041
+ <a id="constructor-14"></a>
801
1042
 
802
- ##### data()
1043
+ ##### Constructor
803
1044
 
804
1045
  ```ts
805
- data(): T;
1046
+ new QueryCompositeFilterConstraint(): QueryCompositeFilterConstraint;
806
1047
  ```
807
1048
 
808
1049
  ###### Returns
809
1050
 
810
- `T`
811
-
812
- ***
813
-
814
- <a id="collectionreference"></a>
815
-
816
- ### CollectionReference
817
-
818
- A reference to a Firestore collection. Backend-opaque.
1051
+ [`QueryCompositeFilterConstraint`](#querycompositefilterconstraint)
819
1052
 
820
- #### Type Parameters
1053
+ ###### Inherited from
821
1054
 
822
- | Type Parameter | Default type |
823
- | :------ | :------ |
824
- | `_T` | [`DocumentData`](#documentdata) |
1055
+ [`QueryConstraint`](#queryconstraint).[`constructor`](#constructor-15)
825
1056
 
826
1057
  #### Properties
827
1058
 
828
1059
  | Property | Modifier | Type |
829
1060
  | :------ | :------ | :------ |
830
- | <a id="id"></a> `id` | `readonly` | `string` |
831
- | <a id="path"></a> `path` | `readonly` | `string` |
1061
+ | <a id="type"></a> `type?` | `readonly` | `string` |
832
1062
 
833
- ***
1063
+ #### Methods
834
1064
 
835
- <a id="documentreference"></a>
1065
+ <a id="applysandbox"></a>
836
1066
 
837
- ### DocumentReference
1067
+ ##### applySandbox()
838
1068
 
839
- A reference to a Firestore document. Backend-opaque.
1069
+ ```ts
1070
+ applySandbox(q: Query): Query;
1071
+ ```
840
1072
 
841
- #### Type Parameters
1073
+ ###### Parameters
842
1074
 
843
- | Type Parameter | Default type |
1075
+ | Parameter | Type |
844
1076
  | :------ | :------ |
845
- | `_T` | [`DocumentData`](#documentdata) |
846
-
847
- #### Properties
1077
+ | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
848
1078
 
849
- | Property | Modifier | Type |
850
- | :------ | :------ | :------ |
851
- | <a id="id-1"></a> `id` | `readonly` | `string` |
852
- | <a id="path-1"></a> `path` | `readonly` | `string` |
1079
+ ###### Returns
853
1080
 
854
- ***
1081
+ [`Query`](pyric-admin-firestore-reference-api.md#query)
855
1082
 
856
- <a id="documentsnapshot"></a>
1083
+ ###### Inherited from
857
1084
 
858
- ### DocumentSnapshot
1085
+ [`QueryConstraint`](#queryconstraint).[`applySandbox`](#applysandbox-2)
859
1086
 
860
- A point-in-time view of one document.
1087
+ <a id="preparesandbox"></a>
861
1088
 
862
- #### Extended by
1089
+ ##### prepareSandbox()?
863
1090
 
864
- - [`QueryDocumentSnapshot`](#querydocumentsnapshot)
1091
+ ```ts
1092
+ optional prepareSandbox(owner: object): QueryConstraint;
1093
+ ```
865
1094
 
866
- #### Type Parameters
1095
+ ###### Parameters
867
1096
 
868
- | Type Parameter | Default type |
1097
+ | Parameter | Type |
869
1098
  | :------ | :------ |
870
- | `T` | [`DocumentData`](#documentdata) |
1099
+ | `owner` | `object` |
871
1100
 
872
- #### Properties
1101
+ ###### Returns
873
1102
 
874
- | Property | Modifier | Type |
875
- | :------ | :------ | :------ |
876
- | <a id="exists"></a> `exists` | `readonly` | `boolean` \| () => `boolean` |
877
- | <a id="id-2"></a> `id` | `readonly` | `string` |
878
- | <a id="metadata"></a> `metadata` | `readonly` | [`SnapshotMetadata`](#snapshotmetadata) |
879
- | <a id="ref"></a> `ref` | `readonly` | [`DocumentReference`](#documentreference)\<`T`\> |
1103
+ [`QueryConstraint`](#queryconstraint)
880
1104
 
881
- #### Methods
1105
+ ###### Inherited from
882
1106
 
883
- <a id="data-2"></a>
1107
+ [`QueryConstraint`](#queryconstraint).[`prepareSandbox`](#preparesandbox-2)
884
1108
 
885
- ##### data()
1109
+ <a id="hasinstance-14"></a>
1110
+
1111
+ ##### \[hasInstance\]()
886
1112
 
887
1113
  ```ts
888
- data(): T;
1114
+ static hasInstance: boolean;
889
1115
  ```
890
1116
 
1117
+ ###### Parameters
1118
+
1119
+ | Parameter | Type |
1120
+ | :------ | :------ |
1121
+ | `instance` | `unknown` |
1122
+
891
1123
  ###### Returns
892
1124
 
893
- `T`
1125
+ `boolean`
1126
+
1127
+ ###### Overrides
1128
+
1129
+ [`QueryConstraint`](#queryconstraint).[`[hasInstance]`](#hasinstance-16)
894
1130
 
895
1131
  ***
896
1132
 
897
- <a id="firestore"></a>
1133
+ <a id="queryconstraint"></a>
898
1134
 
899
- ### Firestore
1135
+ ### QueryConstraint
900
1136
 
901
- Opaque sandbox handle carrying its owner via [TARGET\_SYMBOL](#target_symbol-1).
1137
+ #### Extended by
902
1138
 
903
- #### Properties
1139
+ - [`QueryFieldFilterConstraint`](#queryfieldfilterconstraint)
1140
+ - [`QueryCompositeFilterConstraint`](#querycompositefilterconstraint)
1141
+ - [`QueryOrderByConstraint`](#queryorderbyconstraint)
1142
+ - [`QueryLimitConstraint`](#querylimitconstraint)
1143
+ - [`QueryStartAtConstraint`](#querystartatconstraint)
1144
+ - [`QueryEndAtConstraint`](#queryendatconstraint)
904
1145
 
905
- | Property | Modifier | Type |
906
- | :------ | :------ | :------ |
907
- | <a id="target_symbol"></a> `[TARGET_SYMBOL]` | `readonly` | `Target` |
908
- | <a id="app"></a> `app?` | `readonly` | [`FirebaseApp`](pyric-app-reference-api.md#firebaseapp) |
1146
+ #### Constructors
909
1147
 
910
- ***
1148
+ <a id="constructor-15"></a>
911
1149
 
912
- <a id="firestoredataconverter"></a>
1150
+ ##### Constructor
913
1151
 
914
- ### FirestoreDataConverter
1152
+ ```ts
1153
+ new QueryConstraint(): QueryConstraint;
1154
+ ```
915
1155
 
916
- Pair of translators between the consumer's app model and the
917
- underlying Firestore representation. Mirrors `firebase/firestore`'s
918
- `FirestoreDataConverter` shape.
1156
+ ###### Returns
919
1157
 
920
- - `toFirestore(model)` runs on every write (`setDoc`, `addDoc`)
921
- through a converted ref. Returns the `DocumentData` to send.
922
- - `fromFirestore(snapshot)` runs on every read (`getDoc`,
923
- `getDocs`, snapshot listener callback) through a converted ref.
924
- Receives the raw snapshot, returns the typed model.
1158
+ [`QueryConstraint`](#queryconstraint)
925
1159
 
926
- #### Type Parameters
1160
+ #### Properties
927
1161
 
928
- | Type Parameter | Default type |
929
- | :------ | :------ |
930
- | `AppModelType` | - |
931
- | `DbModelType` *extends* [`DocumentData`](#documentdata) | [`DocumentData`](#documentdata) |
1162
+ | Property | Modifier | Type |
1163
+ | :------ | :------ | :------ |
1164
+ | <a id="type-1"></a> `type?` | `readonly` | `string` |
932
1165
 
933
1166
  #### Methods
934
1167
 
935
- <a id="fromfirestore"></a>
1168
+ <a id="applysandbox-2"></a>
936
1169
 
937
- ##### fromFirestore()
1170
+ ##### applySandbox()
938
1171
 
939
1172
  ```ts
940
- fromFirestore(snapshot: QueryDocumentSnapshot<DbModelType>): AppModelType;
1173
+ applySandbox(q: Query): Query;
941
1174
  ```
942
1175
 
943
1176
  ###### Parameters
944
1177
 
945
1178
  | Parameter | Type |
946
1179
  | :------ | :------ |
947
- | `snapshot` | [`QueryDocumentSnapshot`](#querydocumentsnapshot)\<`DbModelType`\> |
1180
+ | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
948
1181
 
949
1182
  ###### Returns
950
1183
 
951
- `AppModelType`
1184
+ [`Query`](pyric-admin-firestore-reference-api.md#query)
952
1185
 
953
- <a id="tofirestore"></a>
1186
+ <a id="preparesandbox-2"></a>
954
1187
 
955
- ##### toFirestore()
1188
+ ##### prepareSandbox()?
956
1189
 
957
1190
  ```ts
958
- toFirestore(modelObject: AppModelType): DbModelType;
1191
+ optional prepareSandbox(owner: object): QueryConstraint;
959
1192
  ```
960
1193
 
961
1194
  ###### Parameters
962
1195
 
963
1196
  | Parameter | Type |
964
1197
  | :------ | :------ |
965
- | `modelObject` | `AppModelType` |
1198
+ | `owner` | `object` |
966
1199
 
967
1200
  ###### Returns
968
1201
 
969
- `DbModelType`
1202
+ [`QueryConstraint`](#queryconstraint)
970
1203
 
971
- ***
1204
+ <a id="hasinstance-16"></a>
972
1205
 
973
- <a id="firestoredatatooldeps"></a>
1206
+ ##### \[hasInstance\]()
974
1207
 
975
- ### FirestoreDataToolDeps
1208
+ ```ts
1209
+ static hasInstance: boolean;
1210
+ ```
1211
+
1212
+ ###### Parameters
1213
+
1214
+ | Parameter | Type |
1215
+ | :------ | :------ |
1216
+ | `instance` | `unknown` |
1217
+
1218
+ ###### Returns
1219
+
1220
+ `boolean`
1221
+
1222
+ ***
1223
+
1224
+ <a id="querydocumentsnapshot"></a>
1225
+
1226
+ ### QueryDocumentSnapshot
1227
+
1228
+ #### Extends
1229
+
1230
+ - [`DocumentSnapshot`](#documentsnapshot)\<`T`\>
1231
+
1232
+ #### Type Parameters
1233
+
1234
+ | Type Parameter | Default type |
1235
+ | :------ | :------ |
1236
+ | `T` | [`DocumentData`](#documentdata) |
1237
+
1238
+ #### Constructors
1239
+
1240
+ <a id="constructor-16"></a>
1241
+
1242
+ ##### Constructor
1243
+
1244
+ ```ts
1245
+ new QueryDocumentSnapshot<T>(): QueryDocumentSnapshot<T>;
1246
+ ```
1247
+
1248
+ ###### Returns
1249
+
1250
+ [`QueryDocumentSnapshot`](#querydocumentsnapshot)\<`T`\>
1251
+
1252
+ ###### Inherited from
1253
+
1254
+ [`DocumentSnapshot`](#documentsnapshot).[`constructor`](#constructor-5)
1255
+
1256
+ #### Properties
1257
+
1258
+ | Property | Modifier | Type |
1259
+ | :------ | :------ | :------ |
1260
+ | <a id="exists-1"></a> `exists` | `readonly` | `boolean` \| () => `boolean` |
1261
+ | <a id="id-3"></a> `id` | `readonly` | `string` |
1262
+ | <a id="metadata-1"></a> `metadata` | `readonly` | [`SnapshotMetadata`](#snapshotmetadata) |
1263
+ | <a id="ref-1"></a> `ref` | `readonly` | [`DocumentReference`](#documentreference)\<`T`\> |
1264
+
1265
+ #### Methods
1266
+
1267
+ <a id="data-4"></a>
1268
+
1269
+ ##### data()
1270
+
1271
+ ```ts
1272
+ data(): T;
1273
+ ```
1274
+
1275
+ ###### Returns
1276
+
1277
+ `T`
1278
+
1279
+ ###### Overrides
1280
+
1281
+ [`DocumentSnapshot`](#documentsnapshot).[`data`](#data-2)
1282
+
1283
+ <a id="hasinstance-18"></a>
1284
+
1285
+ ##### \[hasInstance\]()
1286
+
1287
+ ```ts
1288
+ static hasInstance: boolean;
1289
+ ```
1290
+
1291
+ ###### Parameters
1292
+
1293
+ | Parameter | Type |
1294
+ | :------ | :------ |
1295
+ | `instance` | `unknown` |
1296
+
1297
+ ###### Returns
1298
+
1299
+ `boolean`
1300
+
1301
+ ###### Inherited from
1302
+
1303
+ [`DocumentSnapshot`](#documentsnapshot).[`[hasInstance]`](#hasinstance-8)
1304
+
1305
+ ***
1306
+
1307
+ <a id="queryendatconstraint"></a>
1308
+
1309
+ ### QueryEndAtConstraint
1310
+
1311
+ #### Extends
1312
+
1313
+ - [`QueryConstraint`](#queryconstraint)
1314
+
1315
+ #### Constructors
1316
+
1317
+ <a id="constructor-17"></a>
1318
+
1319
+ ##### Constructor
1320
+
1321
+ ```ts
1322
+ new QueryEndAtConstraint(): QueryEndAtConstraint;
1323
+ ```
1324
+
1325
+ ###### Returns
1326
+
1327
+ [`QueryEndAtConstraint`](#queryendatconstraint)
1328
+
1329
+ ###### Inherited from
1330
+
1331
+ [`QueryConstraint`](#queryconstraint).[`constructor`](#constructor-15)
1332
+
1333
+ #### Properties
1334
+
1335
+ | Property | Modifier | Type |
1336
+ | :------ | :------ | :------ |
1337
+ | <a id="type-2"></a> `type?` | `readonly` | `string` |
1338
+
1339
+ #### Methods
1340
+
1341
+ <a id="applysandbox-4"></a>
1342
+
1343
+ ##### applySandbox()
1344
+
1345
+ ```ts
1346
+ applySandbox(q: Query): Query;
1347
+ ```
1348
+
1349
+ ###### Parameters
1350
+
1351
+ | Parameter | Type |
1352
+ | :------ | :------ |
1353
+ | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
1354
+
1355
+ ###### Returns
1356
+
1357
+ [`Query`](pyric-admin-firestore-reference-api.md#query)
1358
+
1359
+ ###### Inherited from
1360
+
1361
+ [`QueryConstraint`](#queryconstraint).[`applySandbox`](#applysandbox-2)
1362
+
1363
+ <a id="preparesandbox-4"></a>
1364
+
1365
+ ##### prepareSandbox()?
1366
+
1367
+ ```ts
1368
+ optional prepareSandbox(owner: object): QueryConstraint;
1369
+ ```
1370
+
1371
+ ###### Parameters
1372
+
1373
+ | Parameter | Type |
1374
+ | :------ | :------ |
1375
+ | `owner` | `object` |
1376
+
1377
+ ###### Returns
1378
+
1379
+ [`QueryConstraint`](#queryconstraint)
1380
+
1381
+ ###### Inherited from
1382
+
1383
+ [`QueryConstraint`](#queryconstraint).[`prepareSandbox`](#preparesandbox-2)
1384
+
1385
+ <a id="hasinstance-20"></a>
1386
+
1387
+ ##### \[hasInstance\]()
1388
+
1389
+ ```ts
1390
+ static hasInstance: boolean;
1391
+ ```
1392
+
1393
+ ###### Parameters
1394
+
1395
+ | Parameter | Type |
1396
+ | :------ | :------ |
1397
+ | `instance` | `unknown` |
1398
+
1399
+ ###### Returns
1400
+
1401
+ `boolean`
1402
+
1403
+ ###### Overrides
1404
+
1405
+ [`QueryConstraint`](#queryconstraint).[`[hasInstance]`](#hasinstance-16)
1406
+
1407
+ ***
1408
+
1409
+ <a id="queryfieldfilterconstraint"></a>
1410
+
1411
+ ### QueryFieldFilterConstraint
1412
+
1413
+ #### Extends
1414
+
1415
+ - [`QueryConstraint`](#queryconstraint)
1416
+
1417
+ #### Constructors
1418
+
1419
+ <a id="constructor-18"></a>
1420
+
1421
+ ##### Constructor
1422
+
1423
+ ```ts
1424
+ new QueryFieldFilterConstraint(): QueryFieldFilterConstraint;
1425
+ ```
1426
+
1427
+ ###### Returns
1428
+
1429
+ [`QueryFieldFilterConstraint`](#queryfieldfilterconstraint)
1430
+
1431
+ ###### Inherited from
1432
+
1433
+ [`QueryConstraint`](#queryconstraint).[`constructor`](#constructor-15)
1434
+
1435
+ #### Properties
1436
+
1437
+ | Property | Modifier | Type |
1438
+ | :------ | :------ | :------ |
1439
+ | <a id="type-3"></a> `type?` | `readonly` | `string` |
1440
+
1441
+ #### Methods
1442
+
1443
+ <a id="applysandbox-6"></a>
1444
+
1445
+ ##### applySandbox()
1446
+
1447
+ ```ts
1448
+ applySandbox(q: Query): Query;
1449
+ ```
1450
+
1451
+ ###### Parameters
1452
+
1453
+ | Parameter | Type |
1454
+ | :------ | :------ |
1455
+ | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
1456
+
1457
+ ###### Returns
1458
+
1459
+ [`Query`](pyric-admin-firestore-reference-api.md#query)
1460
+
1461
+ ###### Inherited from
1462
+
1463
+ [`QueryConstraint`](#queryconstraint).[`applySandbox`](#applysandbox-2)
1464
+
1465
+ <a id="preparesandbox-6"></a>
1466
+
1467
+ ##### prepareSandbox()?
1468
+
1469
+ ```ts
1470
+ optional prepareSandbox(owner: object): QueryConstraint;
1471
+ ```
1472
+
1473
+ ###### Parameters
1474
+
1475
+ | Parameter | Type |
1476
+ | :------ | :------ |
1477
+ | `owner` | `object` |
1478
+
1479
+ ###### Returns
1480
+
1481
+ [`QueryConstraint`](#queryconstraint)
1482
+
1483
+ ###### Inherited from
1484
+
1485
+ [`QueryConstraint`](#queryconstraint).[`prepareSandbox`](#preparesandbox-2)
1486
+
1487
+ <a id="hasinstance-22"></a>
1488
+
1489
+ ##### \[hasInstance\]()
1490
+
1491
+ ```ts
1492
+ static hasInstance: boolean;
1493
+ ```
1494
+
1495
+ ###### Parameters
1496
+
1497
+ | Parameter | Type |
1498
+ | :------ | :------ |
1499
+ | `instance` | `unknown` |
1500
+
1501
+ ###### Returns
1502
+
1503
+ `boolean`
1504
+
1505
+ ###### Overrides
1506
+
1507
+ [`QueryConstraint`](#queryconstraint).[`[hasInstance]`](#hasinstance-16)
1508
+
1509
+ ***
1510
+
1511
+ <a id="querylimitconstraint"></a>
1512
+
1513
+ ### QueryLimitConstraint
1514
+
1515
+ #### Extends
1516
+
1517
+ - [`QueryConstraint`](#queryconstraint)
1518
+
1519
+ #### Constructors
1520
+
1521
+ <a id="constructor-19"></a>
1522
+
1523
+ ##### Constructor
1524
+
1525
+ ```ts
1526
+ new QueryLimitConstraint(): QueryLimitConstraint;
1527
+ ```
1528
+
1529
+ ###### Returns
1530
+
1531
+ [`QueryLimitConstraint`](#querylimitconstraint)
1532
+
1533
+ ###### Inherited from
1534
+
1535
+ [`QueryConstraint`](#queryconstraint).[`constructor`](#constructor-15)
1536
+
1537
+ #### Properties
1538
+
1539
+ | Property | Modifier | Type |
1540
+ | :------ | :------ | :------ |
1541
+ | <a id="type-4"></a> `type?` | `readonly` | `string` |
1542
+
1543
+ #### Methods
1544
+
1545
+ <a id="applysandbox-8"></a>
1546
+
1547
+ ##### applySandbox()
1548
+
1549
+ ```ts
1550
+ applySandbox(q: Query): Query;
1551
+ ```
1552
+
1553
+ ###### Parameters
1554
+
1555
+ | Parameter | Type |
1556
+ | :------ | :------ |
1557
+ | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
1558
+
1559
+ ###### Returns
1560
+
1561
+ [`Query`](pyric-admin-firestore-reference-api.md#query)
1562
+
1563
+ ###### Inherited from
1564
+
1565
+ [`QueryConstraint`](#queryconstraint).[`applySandbox`](#applysandbox-2)
1566
+
1567
+ <a id="preparesandbox-8"></a>
1568
+
1569
+ ##### prepareSandbox()?
1570
+
1571
+ ```ts
1572
+ optional prepareSandbox(owner: object): QueryConstraint;
1573
+ ```
1574
+
1575
+ ###### Parameters
1576
+
1577
+ | Parameter | Type |
1578
+ | :------ | :------ |
1579
+ | `owner` | `object` |
1580
+
1581
+ ###### Returns
1582
+
1583
+ [`QueryConstraint`](#queryconstraint)
1584
+
1585
+ ###### Inherited from
1586
+
1587
+ [`QueryConstraint`](#queryconstraint).[`prepareSandbox`](#preparesandbox-2)
1588
+
1589
+ <a id="hasinstance-24"></a>
1590
+
1591
+ ##### \[hasInstance\]()
1592
+
1593
+ ```ts
1594
+ static hasInstance: boolean;
1595
+ ```
1596
+
1597
+ ###### Parameters
1598
+
1599
+ | Parameter | Type |
1600
+ | :------ | :------ |
1601
+ | `instance` | `unknown` |
1602
+
1603
+ ###### Returns
1604
+
1605
+ `boolean`
1606
+
1607
+ ###### Overrides
1608
+
1609
+ [`QueryConstraint`](#queryconstraint).[`[hasInstance]`](#hasinstance-16)
1610
+
1611
+ ***
1612
+
1613
+ <a id="queryorderbyconstraint"></a>
1614
+
1615
+ ### QueryOrderByConstraint
1616
+
1617
+ #### Extends
1618
+
1619
+ - [`QueryConstraint`](#queryconstraint)
1620
+
1621
+ #### Constructors
1622
+
1623
+ <a id="constructor-20"></a>
1624
+
1625
+ ##### Constructor
1626
+
1627
+ ```ts
1628
+ new QueryOrderByConstraint(): QueryOrderByConstraint;
1629
+ ```
1630
+
1631
+ ###### Returns
1632
+
1633
+ [`QueryOrderByConstraint`](#queryorderbyconstraint)
1634
+
1635
+ ###### Inherited from
1636
+
1637
+ [`QueryConstraint`](#queryconstraint).[`constructor`](#constructor-15)
1638
+
1639
+ #### Properties
1640
+
1641
+ | Property | Modifier | Type |
1642
+ | :------ | :------ | :------ |
1643
+ | <a id="type-5"></a> `type?` | `readonly` | `string` |
1644
+
1645
+ #### Methods
1646
+
1647
+ <a id="applysandbox-10"></a>
1648
+
1649
+ ##### applySandbox()
1650
+
1651
+ ```ts
1652
+ applySandbox(q: Query): Query;
1653
+ ```
1654
+
1655
+ ###### Parameters
1656
+
1657
+ | Parameter | Type |
1658
+ | :------ | :------ |
1659
+ | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
1660
+
1661
+ ###### Returns
1662
+
1663
+ [`Query`](pyric-admin-firestore-reference-api.md#query)
1664
+
1665
+ ###### Inherited from
1666
+
1667
+ [`QueryConstraint`](#queryconstraint).[`applySandbox`](#applysandbox-2)
1668
+
1669
+ <a id="preparesandbox-10"></a>
1670
+
1671
+ ##### prepareSandbox()?
1672
+
1673
+ ```ts
1674
+ optional prepareSandbox(owner: object): QueryConstraint;
1675
+ ```
1676
+
1677
+ ###### Parameters
1678
+
1679
+ | Parameter | Type |
1680
+ | :------ | :------ |
1681
+ | `owner` | `object` |
1682
+
1683
+ ###### Returns
1684
+
1685
+ [`QueryConstraint`](#queryconstraint)
1686
+
1687
+ ###### Inherited from
1688
+
1689
+ [`QueryConstraint`](#queryconstraint).[`prepareSandbox`](#preparesandbox-2)
1690
+
1691
+ <a id="hasinstance-26"></a>
1692
+
1693
+ ##### \[hasInstance\]()
1694
+
1695
+ ```ts
1696
+ static hasInstance: boolean;
1697
+ ```
1698
+
1699
+ ###### Parameters
1700
+
1701
+ | Parameter | Type |
1702
+ | :------ | :------ |
1703
+ | `instance` | `unknown` |
1704
+
1705
+ ###### Returns
1706
+
1707
+ `boolean`
1708
+
1709
+ ###### Overrides
1710
+
1711
+ [`QueryConstraint`](#queryconstraint).[`[hasInstance]`](#hasinstance-16)
1712
+
1713
+ ***
1714
+
1715
+ <a id="querysnapshot"></a>
1716
+
1717
+ ### QuerySnapshot
1718
+
1719
+ #### Type Parameters
1720
+
1721
+ | Type Parameter | Default type |
1722
+ | :------ | :------ |
1723
+ | `T` | [`DocumentData`](#documentdata) |
1724
+
1725
+ #### Constructors
1726
+
1727
+ <a id="constructor-21"></a>
1728
+
1729
+ ##### Constructor
1730
+
1731
+ ```ts
1732
+ new QuerySnapshot<T>(): QuerySnapshot<T>;
1733
+ ```
1734
+
1735
+ ###### Returns
1736
+
1737
+ [`QuerySnapshot`](#querysnapshot)\<`T`\>
1738
+
1739
+ #### Properties
1740
+
1741
+ | Property | Modifier | Type |
1742
+ | :------ | :------ | :------ |
1743
+ | <a id="docs"></a> `docs` | `readonly` | readonly [`QueryDocumentSnapshot`](#querydocumentsnapshot)\<`T`\>[] |
1744
+ | <a id="empty"></a> `empty` | `readonly` | `boolean` |
1745
+ | <a id="metadata-2"></a> `metadata` | `readonly` | [`SnapshotMetadata`](#snapshotmetadata) |
1746
+ | <a id="size"></a> `size` | `readonly` | `number` |
1747
+
1748
+ #### Methods
1749
+
1750
+ <a id="hasinstance-28"></a>
1751
+
1752
+ ##### \[hasInstance\]()
1753
+
1754
+ ```ts
1755
+ static hasInstance: boolean;
1756
+ ```
1757
+
1758
+ ###### Parameters
1759
+
1760
+ | Parameter | Type |
1761
+ | :------ | :------ |
1762
+ | `instance` | `unknown` |
1763
+
1764
+ ###### Returns
1765
+
1766
+ `boolean`
1767
+
1768
+ ***
1769
+
1770
+ <a id="querystartatconstraint"></a>
1771
+
1772
+ ### QueryStartAtConstraint
1773
+
1774
+ #### Extends
1775
+
1776
+ - [`QueryConstraint`](#queryconstraint)
1777
+
1778
+ #### Constructors
1779
+
1780
+ <a id="constructor-22"></a>
1781
+
1782
+ ##### Constructor
1783
+
1784
+ ```ts
1785
+ new QueryStartAtConstraint(): QueryStartAtConstraint;
1786
+ ```
1787
+
1788
+ ###### Returns
1789
+
1790
+ [`QueryStartAtConstraint`](#querystartatconstraint)
1791
+
1792
+ ###### Inherited from
1793
+
1794
+ [`QueryConstraint`](#queryconstraint).[`constructor`](#constructor-15)
1795
+
1796
+ #### Properties
1797
+
1798
+ | Property | Modifier | Type |
1799
+ | :------ | :------ | :------ |
1800
+ | <a id="type-6"></a> `type?` | `readonly` | `string` |
1801
+
1802
+ #### Methods
1803
+
1804
+ <a id="applysandbox-12"></a>
1805
+
1806
+ ##### applySandbox()
1807
+
1808
+ ```ts
1809
+ applySandbox(q: Query): Query;
1810
+ ```
1811
+
1812
+ ###### Parameters
1813
+
1814
+ | Parameter | Type |
1815
+ | :------ | :------ |
1816
+ | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
1817
+
1818
+ ###### Returns
1819
+
1820
+ [`Query`](pyric-admin-firestore-reference-api.md#query)
1821
+
1822
+ ###### Inherited from
1823
+
1824
+ [`QueryConstraint`](#queryconstraint).[`applySandbox`](#applysandbox-2)
1825
+
1826
+ <a id="preparesandbox-12"></a>
1827
+
1828
+ ##### prepareSandbox()?
1829
+
1830
+ ```ts
1831
+ optional prepareSandbox(owner: object): QueryConstraint;
1832
+ ```
1833
+
1834
+ ###### Parameters
1835
+
1836
+ | Parameter | Type |
1837
+ | :------ | :------ |
1838
+ | `owner` | `object` |
1839
+
1840
+ ###### Returns
1841
+
1842
+ [`QueryConstraint`](#queryconstraint)
1843
+
1844
+ ###### Inherited from
1845
+
1846
+ [`QueryConstraint`](#queryconstraint).[`prepareSandbox`](#preparesandbox-2)
1847
+
1848
+ <a id="hasinstance-30"></a>
1849
+
1850
+ ##### \[hasInstance\]()
1851
+
1852
+ ```ts
1853
+ static hasInstance: boolean;
1854
+ ```
1855
+
1856
+ ###### Parameters
1857
+
1858
+ | Parameter | Type |
1859
+ | :------ | :------ |
1860
+ | `instance` | `unknown` |
1861
+
1862
+ ###### Returns
1863
+
1864
+ `boolean`
1865
+
1866
+ ###### Overrides
1867
+
1868
+ [`QueryConstraint`](#queryconstraint).[`[hasInstance]`](#hasinstance-16)
1869
+
1870
+ ***
1871
+
1872
+ <a id="sandboxerror"></a>
1873
+
1874
+ ### SandboxError
1875
+
1876
+ Sandbox-layer error. Catch with `instanceof SandboxError` and switch
1877
+ on `code`. `denialContext` is populated for `permission-denied` only
1878
+ (and only after Slice 4 wires it through).
1879
+
1880
+ Two construction forms are supported:
1881
+ - Positional: `new SandboxError(code, message, denialContext?)` —
1882
+ the original signature, kept for backward compatibility with
1883
+ existing internal call sites.
1884
+ - Options bag: `new SandboxError({ code, message, remediation? })` —
1885
+ used when attaching remediation guidance.
1886
+
1887
+ #### Extends
1888
+
1889
+ - `Error`
1890
+
1891
+ #### Constructors
1892
+
1893
+ <a id="constructor-23"></a>
1894
+
1895
+ ##### Constructor
1896
+
1897
+ ```ts
1898
+ new SandboxError(
1899
+ code: SandboxErrorCode,
1900
+ message: string,
1901
+ denialContext?: DenialContext): SandboxError;
1902
+ ```
1903
+
1904
+ ###### Parameters
1905
+
1906
+ | Parameter | Type |
1907
+ | :------ | :------ |
1908
+ | `code` | [`SandboxErrorCode`](pyric-sandbox-reference-api.md#sandboxerrorcode) |
1909
+ | `message` | `string` |
1910
+ | `denialContext?` | [`DenialContext`](pyric-sandbox-reference-api.md#denialcontext) |
1911
+
1912
+ ###### Returns
1913
+
1914
+ [`SandboxError`](#sandboxerror)
1915
+
1916
+ ###### Overrides
1917
+
1918
+ ```ts
1919
+ Error.constructor
1920
+ ```
1921
+
1922
+ ##### Constructor
1923
+
1924
+ ```ts
1925
+ new SandboxError(options: SandboxErrorOptions): SandboxError;
1926
+ ```
1927
+
1928
+ ###### Parameters
1929
+
1930
+ | Parameter | Type |
1931
+ | :------ | :------ |
1932
+ | `options` | `SandboxErrorOptions` |
1933
+
1934
+ ###### Returns
1935
+
1936
+ [`SandboxError`](#sandboxerror)
1937
+
1938
+ ###### Overrides
1939
+
1940
+ ```ts
1941
+ Error.constructor
1942
+ ```
1943
+
1944
+ #### Properties
1945
+
1946
+ | Property | Modifier | Type |
1947
+ | :------ | :------ | :------ |
1948
+ | <a id="code-1"></a> `code` | `readonly` | [`SandboxErrorCode`](pyric-sandbox-reference-api.md#sandboxerrorcode) |
1949
+ | <a id="denialcontext"></a> `denialContext?` | `readonly` | [`DenialContext`](pyric-sandbox-reference-api.md#denialcontext) |
1950
+ | <a id="remediation"></a> `remediation?` | `readonly` | `string` |
1951
+
1952
+ ***
1953
+
1954
+ <a id="snapshotmetadata"></a>
1955
+
1956
+ ### SnapshotMetadata
1957
+
1958
+ #### Constructors
1959
+
1960
+ <a id="constructor-24"></a>
1961
+
1962
+ ##### Constructor
1963
+
1964
+ ```ts
1965
+ new SnapshotMetadata(): SnapshotMetadata;
1966
+ ```
1967
+
1968
+ ###### Returns
1969
+
1970
+ [`SnapshotMetadata`](#snapshotmetadata)
1971
+
1972
+ #### Properties
1973
+
1974
+ | Property | Modifier | Type |
1975
+ | :------ | :------ | :------ |
1976
+ | <a id="fromcache"></a> `fromCache` | `readonly` | `boolean` |
1977
+ | <a id="haspendingwrites"></a> `hasPendingWrites` | `readonly` | `boolean` |
1978
+
1979
+ #### Methods
1980
+
1981
+ <a id="hasinstance-32"></a>
1982
+
1983
+ ##### \[hasInstance\]()
1984
+
1985
+ ```ts
1986
+ static hasInstance: boolean;
1987
+ ```
1988
+
1989
+ ###### Parameters
1990
+
1991
+ | Parameter | Type |
1992
+ | :------ | :------ |
1993
+ | `instance` | `unknown` |
1994
+
1995
+ ###### Returns
1996
+
1997
+ `boolean`
1998
+
1999
+ ***
2000
+
2001
+ <a id="timestamp"></a>
2002
+
2003
+ ### Timestamp
2004
+
2005
+ #### Constructors
2006
+
2007
+ <a id="constructor-25"></a>
2008
+
2009
+ ##### Constructor
2010
+
2011
+ ```ts
2012
+ new Timestamp(seconds: number, nanoseconds: number): Timestamp;
2013
+ ```
2014
+
2015
+ ###### Parameters
2016
+
2017
+ | Parameter | Type |
2018
+ | :------ | :------ |
2019
+ | `seconds` | `number` |
2020
+ | `nanoseconds` | `number` |
2021
+
2022
+ ###### Returns
2023
+
2024
+ [`Timestamp`](#timestamp)
2025
+
2026
+ #### Properties
2027
+
2028
+ | Property | Modifier | Type |
2029
+ | :------ | :------ | :------ |
2030
+ | <a id="nanoseconds"></a> `nanoseconds` | `readonly` | `number` |
2031
+ | <a id="seconds"></a> `seconds` | `readonly` | `number` |
2032
+
2033
+ #### Methods
2034
+
2035
+ <a id="isequal-6"></a>
2036
+
2037
+ ##### isEqual()
2038
+
2039
+ ```ts
2040
+ isEqual(other: Timestamp): boolean;
2041
+ ```
2042
+
2043
+ FS-B12 — value equality, mirroring `fb.Timestamp.isEqual`.
2044
+
2045
+ ###### Parameters
2046
+
2047
+ | Parameter | Type |
2048
+ | :------ | :------ |
2049
+ | `other` | [`Timestamp`](#timestamp) |
2050
+
2051
+ ###### Returns
2052
+
2053
+ `boolean`
2054
+
2055
+ <a id="todate"></a>
2056
+
2057
+ ##### toDate()
2058
+
2059
+ ```ts
2060
+ toDate(): Date;
2061
+ ```
2062
+
2063
+ ###### Returns
2064
+
2065
+ `Date`
2066
+
2067
+ <a id="tojson-4"></a>
2068
+
2069
+ ##### toJSON()
2070
+
2071
+ ```ts
2072
+ toJSON(): {
2073
+ nanoseconds: number;
2074
+ seconds: number;
2075
+ type: string;
2076
+ };
2077
+ ```
2078
+
2079
+ FS-B12 — JSON form, mirroring `fb.Timestamp.toJSON`.
2080
+
2081
+ ###### Returns
2082
+
2083
+ ```ts
2084
+ {
2085
+ nanoseconds: number;
2086
+ seconds: number;
2087
+ type: string;
2088
+ }
2089
+ ```
2090
+
2091
+ ###### nanoseconds
2092
+
2093
+ ```ts
2094
+ nanoseconds: number;
2095
+ ```
2096
+
2097
+ ###### seconds
2098
+
2099
+ ```ts
2100
+ seconds: number;
2101
+ ```
2102
+
2103
+ ###### type
2104
+
2105
+ ```ts
2106
+ type: string;
2107
+ ```
2108
+
2109
+ <a id="tomillis"></a>
2110
+
2111
+ ##### toMillis()
2112
+
2113
+ ```ts
2114
+ toMillis(): number;
2115
+ ```
2116
+
2117
+ ###### Returns
2118
+
2119
+ `number`
2120
+
2121
+ <a id="tostring-2"></a>
2122
+
2123
+ ##### toString()
2124
+
2125
+ ```ts
2126
+ toString(): string;
2127
+ ```
2128
+
2129
+ FS-B12 — textual form, mirroring `fb.Timestamp.toString`.
2130
+
2131
+ ###### Returns
2132
+
2133
+ `string`
2134
+
2135
+ <a id="valueof"></a>
2136
+
2137
+ ##### valueOf()
2138
+
2139
+ ```ts
2140
+ valueOf(): string;
2141
+ ```
2142
+
2143
+ FS-B12 — primitive coercion for `<`/`<=`/`>=`/`>` comparisons, mirroring
2144
+ `fb.Timestamp.valueOf`: a zero-padded `<seconds>.<nanoseconds>` string
2145
+ (seconds offset by MIN_SECONDS so it stays non-negative and lexically
2146
+ ordered).
2147
+
2148
+ ###### Returns
2149
+
2150
+ `string`
2151
+
2152
+ <a id="fromdate"></a>
2153
+
2154
+ ##### fromDate()
2155
+
2156
+ ```ts
2157
+ static fromDate(d: Date): Timestamp;
2158
+ ```
2159
+
2160
+ ###### Parameters
2161
+
2162
+ | Parameter | Type |
2163
+ | :------ | :------ |
2164
+ | `d` | `Date` |
2165
+
2166
+ ###### Returns
2167
+
2168
+ [`Timestamp`](#timestamp)
2169
+
2170
+ <a id="frommillis"></a>
2171
+
2172
+ ##### fromMillis()
2173
+
2174
+ ```ts
2175
+ static fromMillis(ms: number): Timestamp;
2176
+ ```
2177
+
2178
+ ###### Parameters
2179
+
2180
+ | Parameter | Type |
2181
+ | :------ | :------ |
2182
+ | `ms` | `number` |
2183
+
2184
+ ###### Returns
2185
+
2186
+ [`Timestamp`](#timestamp)
2187
+
2188
+ <a id="now"></a>
2189
+
2190
+ ##### now()
2191
+
2192
+ ```ts
2193
+ static now(): Timestamp;
2194
+ ```
2195
+
2196
+ ###### Returns
2197
+
2198
+ [`Timestamp`](#timestamp)
2199
+
2200
+ ***
2201
+
2202
+ <a id="transaction"></a>
2203
+
2204
+ ### Transaction
2205
+
2206
+ #### Extends
2207
+
2208
+ - [`Transaction`](pyric-admin-firestore-reference-api.md#transaction)
2209
+
2210
+ #### Constructors
2211
+
2212
+ <a id="constructor-26"></a>
2213
+
2214
+ ##### Constructor
2215
+
2216
+ ```ts
2217
+ new Transaction(): Transaction;
2218
+ ```
2219
+
2220
+ ###### Returns
2221
+
2222
+ [`Transaction`](#transaction)
2223
+
2224
+ ###### Inherited from
2225
+
2226
+ ```ts
2227
+ ChainTransaction.constructor
2228
+ ```
2229
+
2230
+ #### Methods
2231
+
2232
+ <a id="delete-2"></a>
2233
+
2234
+ ##### delete()
2235
+
2236
+ ```ts
2237
+ delete(ref: DocumentReference): Transaction;
2238
+ ```
2239
+
2240
+ ###### Parameters
2241
+
2242
+ | Parameter | Type |
2243
+ | :------ | :------ |
2244
+ | `ref` | [`DocumentReference`](pyric-admin-firestore-reference-api.md#documentreference) |
2245
+
2246
+ ###### Returns
2247
+
2248
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction)
2249
+
2250
+ ###### Inherited from
2251
+
2252
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction).[`delete`](pyric-admin-firestore-reference-api.md#delete-2)
2253
+
2254
+ <a id="get"></a>
2255
+
2256
+ ##### get()
2257
+
2258
+ ###### Call Signature
2259
+
2260
+ ```ts
2261
+ get(ref: DocumentReference): Promise<AdminDocumentSnapshot>;
2262
+ ```
2263
+
2264
+ ###### Parameters
2265
+
2266
+ | Parameter | Type |
2267
+ | :------ | :------ |
2268
+ | `ref` | [`DocumentReference`](pyric-admin-firestore-reference-api.md#documentreference) |
2269
+
2270
+ ###### Returns
2271
+
2272
+ `Promise`\<[`AdminDocumentSnapshot`](pyric-admin-firestore-reference-api.md#admindocumentsnapshot)\>
2273
+
2274
+ ###### Inherited from
2275
+
2276
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction).[`get`](pyric-admin-firestore-reference-api.md#get-14)
2277
+
2278
+ ###### Call Signature
2279
+
2280
+ ```ts
2281
+ get(query: Query): Promise<AdminQuerySnapshot>;
2282
+ ```
2283
+
2284
+ ###### Parameters
2285
+
2286
+ | Parameter | Type |
2287
+ | :------ | :------ |
2288
+ | `query` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
2289
+
2290
+ ###### Returns
2291
+
2292
+ `Promise`\<[`AdminQuerySnapshot`](pyric-admin-firestore-reference-api.md#adminquerysnapshot)\>
2293
+
2294
+ ###### Inherited from
2295
+
2296
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction).[`get`](pyric-admin-firestore-reference-api.md#get-14)
2297
+
2298
+ <a id="set"></a>
2299
+
2300
+ ##### set()
2301
+
2302
+ ```ts
2303
+ set(ref: DocumentReference, data: DocumentData): Transaction;
2304
+ ```
2305
+
2306
+ ###### Parameters
2307
+
2308
+ | Parameter | Type |
2309
+ | :------ | :------ |
2310
+ | `ref` | [`DocumentReference`](pyric-admin-firestore-reference-api.md#documentreference) |
2311
+ | `data` | [`DocumentData`](#documentdata) |
2312
+
2313
+ ###### Returns
2314
+
2315
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction)
2316
+
2317
+ ###### Inherited from
2318
+
2319
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction).[`set`](pyric-admin-firestore-reference-api.md#set-2)
2320
+
2321
+ <a id="update"></a>
2322
+
2323
+ ##### update()
2324
+
2325
+ ```ts
2326
+ update(ref: DocumentReference, data: DocumentData): Transaction;
2327
+ ```
2328
+
2329
+ ###### Parameters
2330
+
2331
+ | Parameter | Type |
2332
+ | :------ | :------ |
2333
+ | `ref` | [`DocumentReference`](pyric-admin-firestore-reference-api.md#documentreference) |
2334
+ | `data` | [`DocumentData`](#documentdata) |
2335
+
2336
+ ###### Returns
2337
+
2338
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction)
2339
+
2340
+ ###### Inherited from
2341
+
2342
+ [`Transaction`](pyric-admin-firestore-reference-api.md#transaction).[`update`](pyric-admin-firestore-reference-api.md#update-2)
2343
+
2344
+ <a id="hasinstance-34"></a>
2345
+
2346
+ ##### \[hasInstance\]()
2347
+
2348
+ ```ts
2349
+ static hasInstance: boolean;
2350
+ ```
2351
+
2352
+ ###### Parameters
2353
+
2354
+ | Parameter | Type |
2355
+ | :------ | :------ |
2356
+ | `instance` | `unknown` |
2357
+
2358
+ ###### Returns
2359
+
2360
+ `boolean`
2361
+
2362
+ ***
2363
+
2364
+ <a id="vectorvalue"></a>
2365
+
2366
+ ### VectorValue
2367
+
2368
+ #### Methods
2369
+
2370
+ <a id="isequal-8"></a>
2371
+
2372
+ ##### isEqual()
2373
+
2374
+ ```ts
2375
+ isEqual(other: VectorValue): boolean;
2376
+ ```
2377
+
2378
+ ###### Parameters
2379
+
2380
+ | Parameter | Type |
2381
+ | :------ | :------ |
2382
+ | `other` | [`VectorValue`](#vectorvalue) |
2383
+
2384
+ ###### Returns
2385
+
2386
+ `boolean`
2387
+
2388
+ <a id="toarray"></a>
2389
+
2390
+ ##### toArray()
2391
+
2392
+ ```ts
2393
+ toArray(): number[];
2394
+ ```
2395
+
2396
+ ###### Returns
2397
+
2398
+ `number`[]
2399
+
2400
+ <a id="tojson-6"></a>
2401
+
2402
+ ##### toJSON()
2403
+
2404
+ ```ts
2405
+ toJSON(): object;
2406
+ ```
2407
+
2408
+ ###### Returns
2409
+
2410
+ `object`
2411
+
2412
+ <a id="create"></a>
2413
+
2414
+ ##### create()
2415
+
2416
+ ```ts
2417
+ static create(values: number[]): VectorValue;
2418
+ ```
2419
+
2420
+ ###### Parameters
2421
+
2422
+ | Parameter | Type |
2423
+ | :------ | :------ |
2424
+ | `values` | `number`[] |
2425
+
2426
+ ###### Returns
2427
+
2428
+ [`VectorValue`](#vectorvalue)
2429
+
2430
+ <a id="fromjson-4"></a>
2431
+
2432
+ ##### fromJSON()
2433
+
2434
+ ```ts
2435
+ static fromJSON(json: object): VectorValue;
2436
+ ```
2437
+
2438
+ ###### Parameters
2439
+
2440
+ | Parameter | Type |
2441
+ | :------ | :------ |
2442
+ | `json` | `object` |
2443
+
2444
+ ###### Returns
2445
+
2446
+ [`VectorValue`](#vectorvalue)
2447
+
2448
+ ***
2449
+
2450
+ <a id="writebatch"></a>
2451
+
2452
+ ### WriteBatch
2453
+
2454
+ #### Extends
2455
+
2456
+ - [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch)
2457
+
2458
+ #### Constructors
2459
+
2460
+ <a id="constructor-27"></a>
2461
+
2462
+ ##### Constructor
2463
+
2464
+ ```ts
2465
+ new WriteBatch(): WriteBatch;
2466
+ ```
2467
+
2468
+ ###### Returns
2469
+
2470
+ [`WriteBatch`](#writebatch)
2471
+
2472
+ ###### Inherited from
2473
+
2474
+ ```ts
2475
+ ChainWriteBatch.constructor
2476
+ ```
2477
+
2478
+ #### Methods
2479
+
2480
+ <a id="commit"></a>
2481
+
2482
+ ##### commit()
2483
+
2484
+ ```ts
2485
+ commit(opts?: OperationOptions): Promise<void>;
2486
+ ```
2487
+
2488
+ ###### Parameters
2489
+
2490
+ | Parameter | Type |
2491
+ | :------ | :------ |
2492
+ | `opts?` | `OperationOptions` |
2493
+
2494
+ ###### Returns
2495
+
2496
+ `Promise`\<`void`\>
2497
+
2498
+ ###### Inherited from
2499
+
2500
+ [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch).[`commit`](pyric-admin-firestore-reference-api.md#commit)
2501
+
2502
+ <a id="delete-4"></a>
2503
+
2504
+ ##### delete()
2505
+
2506
+ ```ts
2507
+ delete(ref: DocumentReference): WriteBatch;
2508
+ ```
2509
+
2510
+ ###### Parameters
2511
+
2512
+ | Parameter | Type |
2513
+ | :------ | :------ |
2514
+ | `ref` | [`DocumentReference`](pyric-admin-firestore-reference-api.md#documentreference) |
2515
+
2516
+ ###### Returns
2517
+
2518
+ [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch)
2519
+
2520
+ ###### Inherited from
2521
+
2522
+ [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch).[`delete`](pyric-admin-firestore-reference-api.md#delete-4)
2523
+
2524
+ <a id="set-2"></a>
2525
+
2526
+ ##### set()
2527
+
2528
+ ```ts
2529
+ set(ref: DocumentReference, data: DocumentData): WriteBatch;
2530
+ ```
2531
+
2532
+ ###### Parameters
2533
+
2534
+ | Parameter | Type |
2535
+ | :------ | :------ |
2536
+ | `ref` | [`DocumentReference`](pyric-admin-firestore-reference-api.md#documentreference) |
2537
+ | `data` | [`DocumentData`](#documentdata) |
2538
+
2539
+ ###### Returns
2540
+
2541
+ [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch)
2542
+
2543
+ ###### Inherited from
2544
+
2545
+ [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch).[`set`](pyric-admin-firestore-reference-api.md#set-4)
2546
+
2547
+ <a id="update-2"></a>
2548
+
2549
+ ##### update()
2550
+
2551
+ ```ts
2552
+ update(ref: DocumentReference, data: DocumentData): WriteBatch;
2553
+ ```
2554
+
2555
+ ###### Parameters
2556
+
2557
+ | Parameter | Type |
2558
+ | :------ | :------ |
2559
+ | `ref` | [`DocumentReference`](pyric-admin-firestore-reference-api.md#documentreference) |
2560
+ | `data` | [`DocumentData`](#documentdata) |
2561
+
2562
+ ###### Returns
2563
+
2564
+ [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch)
2565
+
2566
+ ###### Inherited from
2567
+
2568
+ [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch).[`update`](pyric-admin-firestore-reference-api.md#update-4)
2569
+
2570
+ <a id="hasinstance-36"></a>
2571
+
2572
+ ##### \[hasInstance\]()
2573
+
2574
+ ```ts
2575
+ static hasInstance: boolean;
2576
+ ```
2577
+
2578
+ ###### Parameters
2579
+
2580
+ | Parameter | Type |
2581
+ | :------ | :------ |
2582
+ | `instance` | `unknown` |
2583
+
2584
+ ###### Returns
2585
+
2586
+ `boolean`
2587
+
2588
+ ## Interfaces
2589
+
2590
+ <a id="documentchange"></a>
2591
+
2592
+ ### DocumentChange
2593
+
2594
+ #### Type Parameters
2595
+
2596
+ | Type Parameter | Default type |
2597
+ | :------ | :------ |
2598
+ | `T` | [`DocumentData`](#documentdata) |
2599
+
2600
+ #### Properties
2601
+
2602
+ | Property | Modifier | Type |
2603
+ | :------ | :------ | :------ |
2604
+ | <a id="doc"></a> `doc` | `readonly` | [`QueryDocumentSnapshot`](#querydocumentsnapshot)\<`T`\> |
2605
+ | <a id="newindex"></a> `newIndex` | `readonly` | `number` |
2606
+ | <a id="oldindex"></a> `oldIndex` | `readonly` | `number` |
2607
+ | <a id="type-7"></a> `type` | `readonly` | [`DocumentChangeType`](#documentchangetype-1) |
2608
+
2609
+ ***
2610
+
2611
+ <a id="emulatormocktokenoptions"></a>
2612
+
2613
+ ### EmulatorMockTokenOptions
2614
+
2615
+ #### Properties
2616
+
2617
+ | Property | Type |
2618
+ | :------ | :------ |
2619
+ | <a id="mockusertoken"></a> `mockUserToken?` | `string` \| `Record`\<`string`, `unknown`\> |
2620
+
2621
+ ***
2622
+
2623
+ <a id="experimentallongpollingoptions"></a>
2624
+
2625
+ ### ExperimentalLongPollingOptions
2626
+
2627
+ #### Properties
2628
+
2629
+ | Property | Type |
2630
+ | :------ | :------ |
2631
+ | <a id="forcelongpolling"></a> `forceLongPolling?` | `boolean` |
2632
+
2633
+ ***
2634
+
2635
+ <a id="firestoredataconverter"></a>
2636
+
2637
+ ### FirestoreDataConverter
2638
+
2639
+ Pair of translators between the consumer's app model and the
2640
+ underlying Firestore representation. Mirrors `firebase/firestore`'s
2641
+ `FirestoreDataConverter` shape.
2642
+
2643
+ - `toFirestore(model)` runs on every write (`setDoc`, `addDoc`)
2644
+ through a converted ref. Returns the `DocumentData` to send.
2645
+ - `fromFirestore(snapshot)` runs on every read (`getDoc`,
2646
+ `getDocs`, snapshot listener callback) through a converted ref.
2647
+ Receives the raw snapshot, returns the typed model.
2648
+
2649
+ #### Type Parameters
2650
+
2651
+ | Type Parameter | Default type |
2652
+ | :------ | :------ |
2653
+ | `AppModelType` | - |
2654
+ | `DbModelType` *extends* [`DocumentData`](#documentdata) | [`DocumentData`](#documentdata) |
2655
+
2656
+ #### Methods
2657
+
2658
+ <a id="fromfirestore"></a>
2659
+
2660
+ ##### fromFirestore()
2661
+
2662
+ ```ts
2663
+ fromFirestore(snapshot: QueryDocumentSnapshot<DbModelType>): AppModelType;
2664
+ ```
2665
+
2666
+ ###### Parameters
2667
+
2668
+ | Parameter | Type |
2669
+ | :------ | :------ |
2670
+ | `snapshot` | [`QueryDocumentSnapshot`](#querydocumentsnapshot)\<`DbModelType`\> |
2671
+
2672
+ ###### Returns
2673
+
2674
+ `AppModelType`
2675
+
2676
+ <a id="tofirestore"></a>
2677
+
2678
+ ##### toFirestore()
2679
+
2680
+ ```ts
2681
+ toFirestore(modelObject: AppModelType): DbModelType;
2682
+ ```
2683
+
2684
+ ###### Parameters
2685
+
2686
+ | Parameter | Type |
2687
+ | :------ | :------ |
2688
+ | `modelObject` | `AppModelType` |
2689
+
2690
+ ###### Returns
2691
+
2692
+ `DbModelType`
2693
+
2694
+ ***
2695
+
2696
+ <a id="firestoredatatooldeps"></a>
2697
+
2698
+ ### FirestoreDataToolDeps
976
2699
 
977
2700
  #### Methods
978
2701
 
@@ -1051,207 +2774,171 @@ Client-cache/network settings `initializeFirestore` accepts but no-ops
1051
2774
 
1052
2775
  ***
1053
2776
 
1054
- <a id="lintresult"></a>
2777
+ <a id="index"></a>
1055
2778
 
1056
- ### LintResult
2779
+ ### Index
1057
2780
 
1058
2781
  #### Properties
1059
2782
 
1060
- | Property | Type | Description |
1061
- | :------ | :------ | :------ |
1062
- | <a id="metrics"></a> `metrics` | [`RulesMetrics`](pyric-admin-firestore-reference-api.md#rulesmetrics) | - |
1063
- | <a id="parseerror"></a> `parseError?` | `ParseError` | Structured parse failure when the source did not parse. When defined, `metrics` (except `sourceSize`) and `warnings` carry no signal — budget checks were skipped. Callers should branch on `parseError` before interpreting warnings or metrics. Why this isn't a new `severity` value: a parse failure means "this isn't a rule yet" rather than "this rule will fail at runtime", which is a categorically different question from anything `warnings` answers. Adding a new severity would force every consumer to handle a third branch they don't care about; a separate field lets old code keep working and gives new code a clean signal to check. |
1064
- | <a id="warnings"></a> `warnings` | [`LintWarning`](pyric-admin-firestore-reference-api.md#lintwarning)[] | - |
2783
+ | Property | Type |
2784
+ | :------ | :------ |
2785
+ | <a id="collectiongroup"></a> `collectionGroup` | `string` |
2786
+ | <a id="fields"></a> `fields?` | [`IndexField`](#indexfield)[] |
1065
2787
 
1066
2788
  ***
1067
2789
 
1068
- <a id="localcache-1"></a>
1069
-
1070
- ### LocalCache
2790
+ <a id="indexconfiguration"></a>
1071
2791
 
1072
- Opaque local-cache config token accepted by [initializeFirestore](#initializefirestore)'s
1073
- `settings.localCache`. Inert — see the tier-1 section rationale above.
2792
+ ### IndexConfiguration
1074
2793
 
1075
2794
  #### Properties
1076
2795
 
1077
- | Property | Modifier | Type |
1078
- | :------ | :------ | :------ |
1079
- | <a id="local_cache_symbol"></a> `[LOCAL_CACHE_SYMBOL]` | `readonly` | `"persistent"` \| `"memory"` |
1080
- | <a id="garbagecollector"></a> `garbageCollector?` | `readonly` | [`MemoryGarbageCollector`](#memorygarbagecollector) |
1081
- | <a id="tabmanager"></a> `tabManager?` | `readonly` | [`PersistentTabManager`](#persistenttabmanager) |
2796
+ | Property | Type |
2797
+ | :------ | :------ |
2798
+ | <a id="fieldoverrides"></a> `fieldOverrides?` | `unknown`[] |
2799
+ | <a id="indexes"></a> `indexes?` | [`Index`](#index)[] |
1082
2800
 
1083
2801
  ***
1084
2802
 
1085
- <a id="memorygarbagecollector"></a>
1086
-
1087
- ### MemoryGarbageCollector
2803
+ <a id="indexfield"></a>
1088
2804
 
1089
- Opaque garbage-collector config token. Inert for the same reason —
1090
- there is no memory cache tier with GC pressure to tune.
2805
+ ### IndexField
1091
2806
 
1092
2807
  #### Properties
1093
2808
 
1094
- | Property | Modifier | Type |
1095
- | :------ | :------ | :------ |
1096
- | <a id="gc_symbol"></a> `[GC_SYMBOL]` | `readonly` | `"eager"` \| `"lru"` |
2809
+ | Property | Type |
2810
+ | :------ | :------ |
2811
+ | <a id="arrayconfig"></a> `arrayConfig?` | `"contains"` |
2812
+ | <a id="fieldpath-1"></a> `fieldPath` | `string` |
2813
+ | <a id="order"></a> `order?` | `"ascending"` \| `"descending"` |
1097
2814
 
1098
2815
  ***
1099
2816
 
1100
- <a id="persistencesettings"></a>
2817
+ <a id="lintresult"></a>
1101
2818
 
1102
- ### PersistenceSettings
2819
+ ### LintResult
1103
2820
 
1104
2821
  #### Properties
1105
2822
 
1106
- | Property | Type |
1107
- | :------ | :------ |
1108
- | <a id="forceownership"></a> `forceOwnership?` | `boolean` |
2823
+ | Property | Type | Description |
2824
+ | :------ | :------ | :------ |
2825
+ | <a id="metrics"></a> `metrics` | [`RulesMetrics`](pyric-admin-firestore-reference-api.md#rulesmetrics) | - |
2826
+ | <a id="parseerror"></a> `parseError?` | `ParseError` | Structured parse failure when the source did not parse. When defined, `metrics` (except `sourceSize`) and `warnings` carry no signal — budget checks were skipped. Callers should branch on `parseError` before interpreting warnings or metrics. Why this isn't a new `severity` value: a parse failure means "this isn't a rule yet" rather than "this rule will fail at runtime", which is a categorically different question from anything `warnings` answers. Adding a new severity would force every consumer to handle a third branch they don't care about; a separate field lets old code keep working and gives new code a clean signal to check. |
2827
+ | <a id="warnings"></a> `warnings` | [`LintWarning`](pyric-admin-firestore-reference-api.md#lintwarning)[] | - |
1109
2828
 
1110
2829
  ***
1111
2830
 
1112
- <a id="persistenttabmanager"></a>
1113
-
1114
- ### PersistentTabManager
2831
+ <a id="loadbundletaskprogress"></a>
1115
2832
 
1116
- Opaque tab-manager config token. Inert — persistence is always on,
1117
- and the SharedWorker/`pyric dev` path already is the one shared
1118
- store every tab talks to, so there is no separate multi-tab mode
1119
- to opt into. Carries the requested kind only for debugging.
2833
+ ### LoadBundleTaskProgress
1120
2834
 
1121
2835
  #### Properties
1122
2836
 
1123
2837
  | Property | Modifier | Type |
1124
2838
  | :------ | :------ | :------ |
1125
- | <a id="tab_manager_symbol"></a> `[TAB_MANAGER_SYMBOL]` | `readonly` | `"single"` \| `"multiple"` |
2839
+ | <a id="bytesloaded"></a> `bytesLoaded` | `readonly` | `number` |
2840
+ | <a id="documentsloaded"></a> `documentsLoaded` | `readonly` | `number` |
2841
+ | <a id="taskstate"></a> `taskState` | `readonly` | [`TaskState`](#taskstate-1) |
2842
+ | <a id="totalbytes"></a> `totalBytes` | `readonly` | `number` |
2843
+ | <a id="totaldocuments"></a> `totalDocuments` | `readonly` | `number` |
1126
2844
 
1127
2845
  ***
1128
2846
 
1129
- <a id="query"></a>
2847
+ <a id="localcache-1"></a>
1130
2848
 
1131
- ### Query
2849
+ ### LocalCache
1132
2850
 
1133
- A Firestore query (a collection ref or one with where/orderBy/limit applied).
2851
+ Opaque local-cache config token accepted by [initializeFirestore](#initializefirestore)'s
2852
+ `settings.localCache`. Inert — see the tier-1 section rationale above.
1134
2853
 
1135
- #### Type Parameters
2854
+ #### Properties
1136
2855
 
1137
- | Type Parameter | Default type |
1138
- | :------ | :------ |
1139
- | `_T` | [`DocumentData`](#documentdata) |
2856
+ | Property | Modifier | Type |
2857
+ | :------ | :------ | :------ |
2858
+ | <a id="local_cache_symbol"></a> `[LOCAL_CACHE_SYMBOL]` | `readonly` | `"persistent"` \| `"memory"` |
2859
+ | <a id="garbagecollector"></a> `garbageCollector?` | `readonly` | [`MemoryGarbageCollector`](#memorygarbagecollector) |
2860
+ | <a id="tabmanager"></a> `tabManager?` | `readonly` | [`PersistentTabManager`](#persistenttabmanager) |
1140
2861
 
1141
2862
  ***
1142
2863
 
1143
- <a id="queryconstraint"></a>
1144
-
1145
- ### QueryConstraint
1146
-
1147
- #### Methods
1148
-
1149
- <a id="applysandbox"></a>
1150
-
1151
- ##### applySandbox()
2864
+ <a id="memorycachesettings"></a>
1152
2865
 
1153
- ```ts
1154
- applySandbox(q: Query): Query;
1155
- ```
2866
+ ### MemoryCacheSettings
1156
2867
 
1157
- ###### Parameters
2868
+ #### Properties
1158
2869
 
1159
- | Parameter | Type |
2870
+ | Property | Type |
1160
2871
  | :------ | :------ |
1161
- | `q` | [`Query`](pyric-admin-firestore-reference-api.md#query) |
2872
+ | <a id="garbagecollector-1"></a> `garbageCollector?` | [`MemoryGarbageCollector`](#memorygarbagecollector) |
1162
2873
 
1163
- ###### Returns
1164
-
1165
- [`Query`](pyric-admin-firestore-reference-api.md#query)
1166
-
1167
- <a id="preparesandbox"></a>
1168
-
1169
- ##### prepareSandbox()?
2874
+ ***
1170
2875
 
1171
- ```ts
1172
- optional prepareSandbox(owner: object): QueryConstraint;
1173
- ```
2876
+ <a id="memorygarbagecollector"></a>
1174
2877
 
1175
- ###### Parameters
2878
+ ### MemoryGarbageCollector
1176
2879
 
1177
- | Parameter | Type |
1178
- | :------ | :------ |
1179
- | `owner` | `object` |
2880
+ Opaque garbage-collector config token. Inert for the same reason —
2881
+ there is no memory cache tier with GC pressure to tune.
1180
2882
 
1181
- ###### Returns
2883
+ #### Properties
1182
2884
 
1183
- [`QueryConstraint`](#queryconstraint)
2885
+ | Property | Modifier | Type |
2886
+ | :------ | :------ | :------ |
2887
+ | <a id="gc_symbol"></a> `[GC_SYMBOL]` | `readonly` | `"eager"` \| `"lru"` |
1184
2888
 
1185
2889
  ***
1186
2890
 
1187
- <a id="querydocumentsnapshot"></a>
1188
-
1189
- ### QueryDocumentSnapshot
1190
-
1191
- `QueryDocumentSnapshot` is a `DocumentSnapshot` known to exist —
1192
- `.data()` always returns the typed model, never `undefined`. Yielded
1193
- by `QuerySnapshot.docs` and passed to converter `fromFirestore`
1194
- callbacks. Mirrors the JS SDK's narrowing.
1195
-
1196
- #### Extends
2891
+ <a id="persistencesettings"></a>
1197
2892
 
1198
- - [`DocumentSnapshot`](#documentsnapshot)\<`T`\>
2893
+ ### PersistenceSettings
1199
2894
 
1200
- #### Type Parameters
2895
+ #### Properties
1201
2896
 
1202
- | Type Parameter | Default type |
2897
+ | Property | Type |
1203
2898
  | :------ | :------ |
1204
- | `T` | [`DocumentData`](#documentdata) |
2899
+ | <a id="forceownership"></a> `forceOwnership?` | `boolean` |
1205
2900
 
1206
- #### Properties
2901
+ ***
1207
2902
 
1208
- | Property | Modifier | Type |
1209
- | :------ | :------ | :------ |
1210
- | <a id="exists-1"></a> `exists` | `readonly` | `boolean` \| () => `boolean` |
1211
- | <a id="id-3"></a> `id` | `readonly` | `string` |
1212
- | <a id="metadata-1"></a> `metadata` | `readonly` | [`SnapshotMetadata`](#snapshotmetadata) |
1213
- | <a id="ref-1"></a> `ref` | `readonly` | [`DocumentReference`](#documentreference)\<`T`\> |
2903
+ <a id="persistentcachesettings"></a>
1214
2904
 
1215
- #### Methods
2905
+ ### PersistentCacheSettings
1216
2906
 
1217
- <a id="data-4"></a>
2907
+ #### Properties
1218
2908
 
1219
- ##### data()
2909
+ | Property | Type |
2910
+ | :------ | :------ |
2911
+ | <a id="cachesizebytes-1"></a> `cacheSizeBytes?` | `number` |
2912
+ | <a id="tabmanager-1"></a> `tabManager?` | [`PersistentTabManager`](#persistenttabmanager) |
1220
2913
 
1221
- ```ts
1222
- data(): T;
1223
- ```
2914
+ ***
1224
2915
 
1225
- ###### Returns
2916
+ <a id="persistentsingletabmanagersettings"></a>
1226
2917
 
1227
- `T`
2918
+ ### PersistentSingleTabManagerSettings
1228
2919
 
1229
- ###### Overrides
2920
+ #### Properties
1230
2921
 
1231
- [`DocumentSnapshot`](#documentsnapshot).[`data`](#data-2)
2922
+ | Property | Type |
2923
+ | :------ | :------ |
2924
+ | <a id="forceownership-1"></a> `forceOwnership?` | `boolean` |
1232
2925
 
1233
2926
  ***
1234
2927
 
1235
- <a id="querysnapshot"></a>
1236
-
1237
- ### QuerySnapshot
1238
-
1239
- A point-in-time view of a query result.
2928
+ <a id="persistenttabmanager"></a>
1240
2929
 
1241
- #### Type Parameters
2930
+ ### PersistentTabManager
1242
2931
 
1243
- | Type Parameter | Default type |
1244
- | :------ | :------ |
1245
- | `T` | [`DocumentData`](#documentdata) |
2932
+ Opaque tab-manager config token. Inert persistence is always on,
2933
+ and the SharedWorker/`pyric dev` path already is the one shared
2934
+ store every tab talks to, so there is no separate multi-tab mode
2935
+ to opt into. Carries the requested kind only for debugging.
1246
2936
 
1247
2937
  #### Properties
1248
2938
 
1249
2939
  | Property | Modifier | Type |
1250
2940
  | :------ | :------ | :------ |
1251
- | <a id="docs"></a> `docs` | `readonly` | readonly [`QueryDocumentSnapshot`](#querydocumentsnapshot)\<`T`\>[] |
1252
- | <a id="empty"></a> `empty` | `readonly` | `boolean` |
1253
- | <a id="metadata-2"></a> `metadata` | `readonly` | [`SnapshotMetadata`](#snapshotmetadata) |
1254
- | <a id="size"></a> `size` | `readonly` | `number` |
2941
+ | <a id="tab_manager_symbol"></a> `[TAB_MANAGER_SYMBOL]` | `readonly` | `"single"` \| `"multiple"` |
1255
2942
 
1256
2943
  ***
1257
2944
 
@@ -1882,19 +3569,6 @@ matching the JS SDK's effective behavior).
1882
3569
 
1883
3570
  ***
1884
3571
 
1885
- <a id="snapshotmetadata"></a>
1886
-
1887
- ### SnapshotMetadata
1888
-
1889
- #### Properties
1890
-
1891
- | Property | Modifier | Type |
1892
- | :------ | :------ | :------ |
1893
- | <a id="fromcache"></a> `fromCache` | `readonly` | `boolean` |
1894
- | <a id="haspendingwrites"></a> `hasPendingWrites` | `readonly` | `boolean` |
1895
-
1896
- ***
1897
-
1898
3572
  <a id="snapshotobserver"></a>
1899
3573
 
1900
3574
  ### SnapshotObserver
@@ -1915,6 +3589,18 @@ matching the JS SDK's effective behavior).
1915
3589
 
1916
3590
  ***
1917
3591
 
3592
+ <a id="snapshotoptions"></a>
3593
+
3594
+ ### SnapshotOptions
3595
+
3596
+ #### Properties
3597
+
3598
+ | Property | Modifier | Type |
3599
+ | :------ | :------ | :------ |
3600
+ | <a id="servertimestamps"></a> `serverTimestamps?` | `readonly` | `"estimate"` \| `"previous"` \| `"none"` |
3601
+
3602
+ ***
3603
+
1918
3604
  <a id="transactionoptions"></a>
1919
3605
 
1920
3606
  ### TransactionOptions
@@ -1933,32 +3619,38 @@ Options accepted by the modular Web-SDK-shaped `runTransaction`.
1933
3619
 
1934
3620
  ### UserAuth
1935
3621
 
1936
- #### Properties
3622
+ #### Properties
3623
+
3624
+ | Property | Type |
3625
+ | :------ | :------ |
3626
+ | <a id="claims"></a> `claims?` | `Record`\<`string`, `unknown`\> |
3627
+ | <a id="uid"></a> `uid` | `string` |
3628
+
3629
+ ## Type Aliases
3630
+
3631
+ <a id="addprefixtokeys"></a>
3632
+
3633
+ ### AddPrefixToKeys
3634
+
3635
+ ```ts
3636
+ type AddPrefixToKeys<Prefix, T> = { [K in keyof T as `${Prefix}.${string & K}`]: T[K] };
3637
+ ```
3638
+
3639
+ #### Type Parameters
1937
3640
 
1938
- | Property | Type |
1939
- | :------ | :------ |
1940
- | <a id="claims"></a> `claims?` | `Record`\<`string`, `unknown`\> |
1941
- | <a id="uid"></a> `uid` | `string` |
3641
+ | Type Parameter |
3642
+ | :------ |
3643
+ | `Prefix` *extends* `string` |
3644
+ | `T` *extends* `Record`\<`string`, `unknown`\> |
1942
3645
 
1943
- ## Type Aliases
3646
+ ***
1944
3647
 
1945
- <a id="aggregatefield"></a>
3648
+ <a id="aggregatefieldtype"></a>
1946
3649
 
1947
- ### AggregateField
3650
+ ### AggregateFieldType
1948
3651
 
1949
3652
  ```ts
1950
- type AggregateField =
1951
- | {
1952
- kind: "count";
1953
- }
1954
- | {
1955
- field: string;
1956
- kind: "sum";
1957
- }
1958
- | {
1959
- field: string;
1960
- kind: "average";
1961
- };
3653
+ type AggregateFieldType = "count" | "sum" | "average";
1962
3654
  ```
1963
3655
 
1964
3656
  Aggregate-field descriptor returned by `count()` / `sum(field)` /
@@ -1978,6 +3670,32 @@ Spec passed to `getAggregateFromServer(query, spec)`.
1978
3670
 
1979
3671
  ***
1980
3672
 
3673
+ <a id="aggregatespecdata"></a>
3674
+
3675
+ ### AggregateSpecData
3676
+
3677
+ ```ts
3678
+ type AggregateSpecData<T> = Record<string, unknown>;
3679
+ ```
3680
+
3681
+ #### Type Parameters
3682
+
3683
+ | Type Parameter |
3684
+ | :------ |
3685
+ | `T` |
3686
+
3687
+ ***
3688
+
3689
+ <a id="aggregatetype"></a>
3690
+
3691
+ ### AggregateType
3692
+
3693
+ ```ts
3694
+ type AggregateType = "count" | "sum" | "average";
3695
+ ```
3696
+
3697
+ ***
3698
+
1981
3699
  <a id="appfirestore"></a>
1982
3700
 
1983
3701
  ### AppFirestore
@@ -2042,6 +3760,32 @@ names should reflect that.
2042
3760
 
2043
3761
  ***
2044
3762
 
3763
+ <a id="childupdatefields"></a>
3764
+
3765
+ ### ChildUpdateFields
3766
+
3767
+ ```ts
3768
+ type ChildUpdateFields<T> = Record<string, unknown>;
3769
+ ```
3770
+
3771
+ #### Type Parameters
3772
+
3773
+ | Type Parameter |
3774
+ | :------ |
3775
+ | `T` |
3776
+
3777
+ ***
3778
+
3779
+ <a id="documentchangetype-1"></a>
3780
+
3781
+ ### DocumentChangeType
3782
+
3783
+ ```ts
3784
+ type DocumentChangeType = "added" | "removed" | "modified";
3785
+ ```
3786
+
3787
+ ***
3788
+
2045
3789
  <a id="documentdata"></a>
2046
3790
 
2047
3791
  ### DocumentData
@@ -2075,6 +3819,52 @@ type FieldValueSentinel =
2075
3819
 
2076
3820
  ***
2077
3821
 
3822
+ <a id="firestoreerrorcode-1"></a>
3823
+
3824
+ ### FirestoreErrorCode
3825
+
3826
+ ```ts
3827
+ type FirestoreErrorCode =
3828
+ | "cancelled"
3829
+ | "unknown"
3830
+ | "invalid-argument"
3831
+ | "deadline-exceeded"
3832
+ | "not-found"
3833
+ | "already-exists"
3834
+ | "permission-denied"
3835
+ | "resource-exhausted"
3836
+ | "failed-precondition"
3837
+ | "aborted"
3838
+ | "out-of-range"
3839
+ | "unimplemented"
3840
+ | "internal"
3841
+ | "unavailable"
3842
+ | "data-loss"
3843
+ | "unauthenticated";
3844
+ ```
3845
+
3846
+ ***
3847
+
3848
+ <a id="firestorelocalcache"></a>
3849
+
3850
+ ### FirestoreLocalCache
3851
+
3852
+ ```ts
3853
+ type FirestoreLocalCache = LocalCache;
3854
+ ```
3855
+
3856
+ ***
3857
+
3858
+ <a id="listensource"></a>
3859
+
3860
+ ### ListenSource
3861
+
3862
+ ```ts
3863
+ type ListenSource = "default" | "cache";
3864
+ ```
3865
+
3866
+ ***
3867
+
2078
3868
  <a id="loglevel"></a>
2079
3869
 
2080
3870
  ### LogLevel
@@ -2087,6 +3877,92 @@ Mirrors `firebase/firestore`'s `LogLevel` union.
2087
3877
 
2088
3878
  ***
2089
3879
 
3880
+ <a id="memoryeagergarbagecollector"></a>
3881
+
3882
+ ### MemoryEagerGarbageCollector
3883
+
3884
+ ```ts
3885
+ type MemoryEagerGarbageCollector = MemoryGarbageCollector & {
3886
+ [GC_SYMBOL]: "eager";
3887
+ };
3888
+ ```
3889
+
3890
+ #### Type Declaration
3891
+
3892
+ ##### \[GC\_SYMBOL\]
3893
+
3894
+ ```ts
3895
+ readonly [GC_SYMBOL]: "eager";
3896
+ ```
3897
+
3898
+ ***
3899
+
3900
+ <a id="memorylocalcache"></a>
3901
+
3902
+ ### MemoryLocalCache
3903
+
3904
+ ```ts
3905
+ type MemoryLocalCache = LocalCache & {
3906
+ [LOCAL_CACHE_SYMBOL]: "memory";
3907
+ };
3908
+ ```
3909
+
3910
+ #### Type Declaration
3911
+
3912
+ ##### \[LOCAL\_CACHE\_SYMBOL\]
3913
+
3914
+ ```ts
3915
+ readonly [LOCAL_CACHE_SYMBOL]: "memory";
3916
+ ```
3917
+
3918
+ ***
3919
+
3920
+ <a id="memorylrugarbagecollector"></a>
3921
+
3922
+ ### MemoryLruGarbageCollector
3923
+
3924
+ ```ts
3925
+ type MemoryLruGarbageCollector = MemoryGarbageCollector & {
3926
+ [GC_SYMBOL]: "lru";
3927
+ };
3928
+ ```
3929
+
3930
+ #### Type Declaration
3931
+
3932
+ ##### \[GC\_SYMBOL\]
3933
+
3934
+ ```ts
3935
+ readonly [GC_SYMBOL]: "lru";
3936
+ ```
3937
+
3938
+ ***
3939
+
3940
+ <a id="nestedupdatefields"></a>
3941
+
3942
+ ### NestedUpdateFields
3943
+
3944
+ ```ts
3945
+ type NestedUpdateFields<T> = Record<string, unknown>;
3946
+ ```
3947
+
3948
+ #### Type Parameters
3949
+
3950
+ | Type Parameter |
3951
+ | :------ |
3952
+ | `T` |
3953
+
3954
+ ***
3955
+
3956
+ <a id="orderbydirection"></a>
3957
+
3958
+ ### OrderByDirection
3959
+
3960
+ ```ts
3961
+ type OrderByDirection = "asc" | "desc";
3962
+ ```
3963
+
3964
+ ***
3965
+
2090
3966
  <a id="orderdirection"></a>
2091
3967
 
2092
3968
  ### OrderDirection
@@ -2097,16 +3973,158 @@ type OrderDirection = QueryOrderDirection;
2097
3973
 
2098
3974
  ***
2099
3975
 
2100
- <a id="transaction"></a>
3976
+ <a id="partialwithfieldvalue"></a>
2101
3977
 
2102
- ### Transaction
3978
+ ### PartialWithFieldValue
3979
+
3980
+ ```ts
3981
+ type PartialWithFieldValue<T> = Partial<T> | Record<string, unknown>;
3982
+ ```
3983
+
3984
+ #### Type Parameters
3985
+
3986
+ | Type Parameter |
3987
+ | :------ |
3988
+ | `T` |
3989
+
3990
+ ***
3991
+
3992
+ <a id="persistentlocalcache"></a>
3993
+
3994
+ ### PersistentLocalCache
3995
+
3996
+ ```ts
3997
+ type PersistentLocalCache = LocalCache & {
3998
+ [LOCAL_CACHE_SYMBOL]: "persistent";
3999
+ };
4000
+ ```
4001
+
4002
+ #### Type Declaration
4003
+
4004
+ ##### \[LOCAL\_CACHE\_SYMBOL\]
4005
+
4006
+ ```ts
4007
+ readonly [LOCAL_CACHE_SYMBOL]: "persistent";
4008
+ ```
4009
+
4010
+ ***
4011
+
4012
+ <a id="persistentmultipletabmanager"></a>
4013
+
4014
+ ### PersistentMultipleTabManager
4015
+
4016
+ ```ts
4017
+ type PersistentMultipleTabManager = PersistentTabManager & {
4018
+ [TAB_MANAGER_SYMBOL]: "multiple";
4019
+ };
4020
+ ```
4021
+
4022
+ #### Type Declaration
4023
+
4024
+ ##### \[TAB\_MANAGER\_SYMBOL\]
4025
+
4026
+ ```ts
4027
+ readonly [TAB_MANAGER_SYMBOL]: "multiple";
4028
+ ```
4029
+
4030
+ ***
4031
+
4032
+ <a id="persistentsingletabmanager"></a>
4033
+
4034
+ ### PersistentSingleTabManager
4035
+
4036
+ ```ts
4037
+ type PersistentSingleTabManager = PersistentTabManager & {
4038
+ [TAB_MANAGER_SYMBOL]: "single";
4039
+ };
4040
+ ```
4041
+
4042
+ #### Type Declaration
4043
+
4044
+ ##### \[TAB\_MANAGER\_SYMBOL\]
4045
+
4046
+ ```ts
4047
+ readonly [TAB_MANAGER_SYMBOL]: "single";
4048
+ ```
4049
+
4050
+ ***
4051
+
4052
+ <a id="primitive"></a>
4053
+
4054
+ ### Primitive
4055
+
4056
+ ```ts
4057
+ type Primitive = string | number | boolean | bigint | symbol | undefined | null;
4058
+ ```
4059
+
4060
+ ***
4061
+
4062
+ <a id="queryconstrainttype-1"></a>
4063
+
4064
+ ### QueryConstraintType
4065
+
4066
+ ```ts
4067
+ type QueryConstraintType =
4068
+ | "where"
4069
+ | "orderBy"
4070
+ | "limit"
4071
+ | "limitToLast"
4072
+ | "startAt"
4073
+ | "startAfter"
4074
+ | "endAt"
4075
+ | "endBefore"
4076
+ | "or"
4077
+ | "and";
4078
+ ```
4079
+
4080
+ ***
4081
+
4082
+ <a id="queryfilterconstraint"></a>
4083
+
4084
+ ### QueryFilterConstraint
4085
+
4086
+ ```ts
4087
+ type QueryFilterConstraint = any;
4088
+ ```
4089
+
4090
+ ***
4091
+
4092
+ <a id="querynonfilterconstraint"></a>
4093
+
4094
+ ### QueryNonFilterConstraint
4095
+
4096
+ ```ts
4097
+ type QueryNonFilterConstraint = any;
4098
+ ```
4099
+
4100
+ ***
4101
+
4102
+ <a id="taskstate-1"></a>
4103
+
4104
+ ### TaskState
2103
4105
 
2104
4106
  ```ts
2105
- type Transaction = Transaction;
4107
+ type TaskState = "Error" | "Running" | "Success";
2106
4108
  ```
2107
4109
 
2108
4110
  ***
2109
4111
 
4112
+ <a id="uniontointersection"></a>
4113
+
4114
+ ### UnionToIntersection
4115
+
4116
+ ```ts
4117
+ type UnionToIntersection<U> = U extends any ? (k: U) => void : never extends (k: infer I) => void ? I : never;
4118
+ ```
4119
+
4120
+ #### Type Parameters
4121
+
4122
+ | Type Parameter |
4123
+ | :------ |
4124
+ | `U` |
4125
+
4126
+ ***
4127
+
2110
4128
  <a id="unsubscribe"></a>
2111
4129
 
2112
4130
  ### Unsubscribe()
@@ -2121,6 +4139,22 @@ type Unsubscribe = () => void;
2121
4139
 
2122
4140
  ***
2123
4141
 
4142
+ <a id="updatedata"></a>
4143
+
4144
+ ### UpdateData
4145
+
4146
+ ```ts
4147
+ type UpdateData<T> = { [path in string]: unknown };
4148
+ ```
4149
+
4150
+ #### Type Parameters
4151
+
4152
+ | Type Parameter |
4153
+ | :------ |
4154
+ | `T` |
4155
+
4156
+ ***
4157
+
2124
4158
  <a id="wherefilterop"></a>
2125
4159
 
2126
4160
  ### WhereFilterOp
@@ -2131,16 +4165,32 @@ type WhereFilterOp = QueryWhereFilterOp;
2131
4165
 
2132
4166
  ***
2133
4167
 
2134
- <a id="writebatch"></a>
4168
+ <a id="withfieldvalue"></a>
2135
4169
 
2136
- ### WriteBatch
4170
+ ### WithFieldValue
2137
4171
 
2138
4172
  ```ts
2139
- type WriteBatch = WriteBatch;
4173
+ type WithFieldValue<T> = T | Record<string, unknown>;
2140
4174
  ```
2141
4175
 
4176
+ #### Type Parameters
4177
+
4178
+ | Type Parameter |
4179
+ | :------ |
4180
+ | `T` |
4181
+
2142
4182
  ## Variables
2143
4183
 
4184
+ <a id="cache_size_unlimited"></a>
4185
+
4186
+ ### CACHE\_SIZE\_UNLIMITED
4187
+
4188
+ ```ts
4189
+ const CACHE_SIZE_UNLIMITED: -1 = -1;
4190
+ ```
4191
+
4192
+ ***
4193
+
2144
4194
  <a id="target_symbol-1"></a>
2145
4195
 
2146
4196
  ### TARGET\_SYMBOL
@@ -2233,6 +4283,48 @@ function addDoc<T>(coll: CollectionReference<T>, data: T): Promise<DocumentRefer
2233
4283
 
2234
4284
  ***
2235
4285
 
4286
+ <a id="aggregatefieldequal"></a>
4287
+
4288
+ ### aggregateFieldEqual()
4289
+
4290
+ ```ts
4291
+ function aggregateFieldEqual(a: any, b: any): boolean;
4292
+ ```
4293
+
4294
+ #### Parameters
4295
+
4296
+ | Parameter | Type |
4297
+ | :------ | :------ |
4298
+ | `a` | `any` |
4299
+ | `b` | `any` |
4300
+
4301
+ #### Returns
4302
+
4303
+ `boolean`
4304
+
4305
+ ***
4306
+
4307
+ <a id="aggregatequerysnapshotequal"></a>
4308
+
4309
+ ### aggregateQuerySnapshotEqual()
4310
+
4311
+ ```ts
4312
+ function aggregateQuerySnapshotEqual(a: any, b: any): boolean;
4313
+ ```
4314
+
4315
+ #### Parameters
4316
+
4317
+ | Parameter | Type |
4318
+ | :------ | :------ |
4319
+ | `a` | `any` |
4320
+ | `b` | `any` |
4321
+
4322
+ #### Returns
4323
+
4324
+ `boolean`
4325
+
4326
+ ***
4327
+
2236
4328
  <a id="and"></a>
2237
4329
 
2238
4330
  ### and()
@@ -2378,7 +4470,7 @@ function collection(parent:
2378
4470
 
2379
4471
  ***
2380
4472
 
2381
- <a id="collectiongroup"></a>
4473
+ <a id="collectiongroup-1"></a>
2382
4474
 
2383
4475
  ### collectionGroup()
2384
4476
 
@@ -2527,6 +4619,26 @@ Sandbox-only. `resolveSandbox` must return the owning Sandbox.
2527
4619
 
2528
4620
  ***
2529
4621
 
4622
+ <a id="deleteallpersistentcacheindexes"></a>
4623
+
4624
+ ### deleteAllPersistentCacheIndexes()
4625
+
4626
+ ```ts
4627
+ function deleteAllPersistentCacheIndexes(indexManager: PersistentCacheIndexManager): Promise<void>;
4628
+ ```
4629
+
4630
+ #### Parameters
4631
+
4632
+ | Parameter | Type |
4633
+ | :------ | :------ |
4634
+ | `indexManager` | [`PersistentCacheIndexManager`](#persistentcacheindexmanager) |
4635
+
4636
+ #### Returns
4637
+
4638
+ `Promise`\<`void`\>
4639
+
4640
+ ***
4641
+
2530
4642
  <a id="deletedoc"></a>
2531
4643
 
2532
4644
  ### deleteDoc()
@@ -2590,7 +4702,27 @@ crash, but it also will not observe write-queuing behavior.
2590
4702
 
2591
4703
  ***
2592
4704
 
2593
- <a id="doc"></a>
4705
+ <a id="disablepersistentcacheindexautocreation"></a>
4706
+
4707
+ ### disablePersistentCacheIndexAutoCreation()
4708
+
4709
+ ```ts
4710
+ function disablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): Promise<void>;
4711
+ ```
4712
+
4713
+ #### Parameters
4714
+
4715
+ | Parameter | Type |
4716
+ | :------ | :------ |
4717
+ | `indexManager` | [`PersistentCacheIndexManager`](#persistentcacheindexmanager) |
4718
+
4719
+ #### Returns
4720
+
4721
+ `Promise`\<`void`\>
4722
+
4723
+ ***
4724
+
4725
+ <a id="doc-1"></a>
2594
4726
 
2595
4727
  ### doc()
2596
4728
 
@@ -2633,6 +4765,27 @@ function documentId(): FieldPath;
2633
4765
 
2634
4766
  ***
2635
4767
 
4768
+ <a id="documentsnapshotfromjson"></a>
4769
+
4770
+ ### documentSnapshotFromJSON()
4771
+
4772
+ ```ts
4773
+ function documentSnapshotFromJSON(db: Firestore, json: string): DocumentSnapshot;
4774
+ ```
4775
+
4776
+ #### Parameters
4777
+
4778
+ | Parameter | Type |
4779
+ | :------ | :------ |
4780
+ | `db` | [`Firestore`](#firestore) |
4781
+ | `json` | `string` |
4782
+
4783
+ #### Returns
4784
+
4785
+ [`DocumentSnapshot`](#documentsnapshot)
4786
+
4787
+ ***
4788
+
2636
4789
  <a id="enableindexeddbpersistence"></a>
2637
4790
 
2638
4791
  ### enableIndexedDbPersistence()
@@ -2706,6 +4859,26 @@ network was never disabled locally, there is nothing to re-enable.
2706
4859
 
2707
4860
  ***
2708
4861
 
4862
+ <a id="enablepersistentcacheindexautocreation"></a>
4863
+
4864
+ ### enablePersistentCacheIndexAutoCreation()
4865
+
4866
+ ```ts
4867
+ function enablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): Promise<void>;
4868
+ ```
4869
+
4870
+ #### Parameters
4871
+
4872
+ | Parameter | Type |
4873
+ | :------ | :------ |
4874
+ | `indexManager` | [`PersistentCacheIndexManager`](#persistentcacheindexmanager) |
4875
+
4876
+ #### Returns
4877
+
4878
+ `Promise`\<`void`\>
4879
+
4880
+ ***
4881
+
2709
4882
  <a id="endat"></a>
2710
4883
 
2711
4884
  ### endAt()
@@ -2794,6 +4967,53 @@ Same as `endAt`, but EXCLUDES the document at the cursor — the
2794
4967
 
2795
4968
  ***
2796
4969
 
4970
+ <a id="ensurefirestoreconfigured"></a>
4971
+
4972
+ ### ensureFirestoreConfigured()
4973
+
4974
+ ```ts
4975
+ function ensureFirestoreConfigured(db: Firestore): void;
4976
+ ```
4977
+
4978
+ #### Parameters
4979
+
4980
+ | Parameter | Type |
4981
+ | :------ | :------ |
4982
+ | `db` | [`Firestore`](#firestore) |
4983
+
4984
+ #### Returns
4985
+
4986
+ `void`
4987
+
4988
+ ***
4989
+
4990
+ <a id="executewrite"></a>
4991
+
4992
+ ### executeWrite()
4993
+
4994
+ ```ts
4995
+ function executeWrite<T>(db: Firestore, action: (batch: WriteBatch) => Promise<T>): Promise<T>;
4996
+ ```
4997
+
4998
+ #### Type Parameters
4999
+
5000
+ | Type Parameter |
5001
+ | :------ |
5002
+ | `T` |
5003
+
5004
+ #### Parameters
5005
+
5006
+ | Parameter | Type |
5007
+ | :------ | :------ |
5008
+ | `db` | [`Firestore`](#firestore) |
5009
+ | `action` | (`batch`: [`WriteBatch`](#writebatch)) => `Promise`\<`T`\> |
5010
+
5011
+ #### Returns
5012
+
5013
+ `Promise`\<`T`\>
5014
+
5015
+ ***
5016
+
2797
5017
  <a id="getadminfirestore"></a>
2798
5018
 
2799
5019
  ### getAdminFirestore()
@@ -3443,6 +5663,26 @@ const db = getFirestore(app);
3443
5663
 
3444
5664
  ***
3445
5665
 
5666
+ <a id="getpersistentcacheindexmanager"></a>
5667
+
5668
+ ### getPersistentCacheIndexManager()
5669
+
5670
+ ```ts
5671
+ function getPersistentCacheIndexManager(db: Firestore): PersistentCacheIndexManager;
5672
+ ```
5673
+
5674
+ #### Parameters
5675
+
5676
+ | Parameter | Type |
5677
+ | :------ | :------ |
5678
+ | `db` | [`Firestore`](#firestore) |
5679
+
5680
+ #### Returns
5681
+
5682
+ [`PersistentCacheIndexManager`](#persistentcacheindexmanager)
5683
+
5684
+ ***
5685
+
3446
5686
  <a id="increment-2"></a>
3447
5687
 
3448
5688
  ### increment()
@@ -3542,7 +5782,31 @@ the simulator throws at execute time without one).
3542
5782
 
3543
5783
  ***
3544
5784
 
3545
- <a id="memoryeagergarbagecollector"></a>
5785
+ <a id="loadbundle"></a>
5786
+
5787
+ ### loadBundle()
5788
+
5789
+ ```ts
5790
+ function loadBundle(db: Firestore, bundleData:
5791
+ | string
5792
+ | ArrayBuffer
5793
+ | ReadableStream<Uint8Array<ArrayBufferLike>>): LoadBundleTask;
5794
+ ```
5795
+
5796
+ #### Parameters
5797
+
5798
+ | Parameter | Type |
5799
+ | :------ | :------ |
5800
+ | `db` | [`Firestore`](#firestore) |
5801
+ | `bundleData` | \| `string` \| `ArrayBuffer` \| `ReadableStream`\<`Uint8Array`\<`ArrayBufferLike`\>\> |
5802
+
5803
+ #### Returns
5804
+
5805
+ [`LoadBundleTask`](#loadbundletask)
5806
+
5807
+ ***
5808
+
5809
+ <a id="memoryeagergarbagecollector-1"></a>
3546
5810
 
3547
5811
  ### memoryEagerGarbageCollector()
3548
5812
 
@@ -3550,7 +5814,7 @@ the simulator throws at execute time without one).
3550
5814
  function memoryEagerGarbageCollector(): MemoryGarbageCollector;
3551
5815
  ```
3552
5816
 
3553
- Inert config token accepted by [memoryLocalCache](#memorylocalcache)'s `garbageCollector`.
5817
+ Inert config token accepted by [memoryLocalCache](#memorylocalcache-1)'s `garbageCollector`.
3554
5818
 
3555
5819
  #### Returns
3556
5820
 
@@ -3558,7 +5822,7 @@ Inert config token accepted by [memoryLocalCache](#memorylocalcache)'s `garbageC
3558
5822
 
3559
5823
  ***
3560
5824
 
3561
- <a id="memorylocalcache"></a>
5825
+ <a id="memorylocalcache-1"></a>
3562
5826
 
3563
5827
  ### memoryLocalCache()
3564
5828
 
@@ -3568,7 +5832,7 @@ function memoryLocalCache(settings?: {
3568
5832
  }): LocalCache;
3569
5833
  ```
3570
5834
 
3571
- Inert config token — the memory-cache counterpart of [persistentLocalCache](#persistentlocalcache).
5835
+ Inert config token — the memory-cache counterpart of [persistentLocalCache](#persistentlocalcache-1).
3572
5836
 
3573
5837
  #### Parameters
3574
5838
 
@@ -3583,7 +5847,7 @@ Inert config token — the memory-cache counterpart of [persistentLocalCache](#p
3583
5847
 
3584
5848
  ***
3585
5849
 
3586
- <a id="memorylrugarbagecollector"></a>
5850
+ <a id="memorylrugarbagecollector-1"></a>
3587
5851
 
3588
5852
  ### memoryLruGarbageCollector()
3589
5853
 
@@ -3593,7 +5857,7 @@ function memoryLruGarbageCollector(_settings?: {
3593
5857
  }): MemoryGarbageCollector;
3594
5858
  ```
3595
5859
 
3596
- Inert config token accepted by [memoryLocalCache](#memorylocalcache)'s `garbageCollector`.
5860
+ Inert config token accepted by [memoryLocalCache](#memorylocalcache-1)'s `garbageCollector`.
3597
5861
 
3598
5862
  #### Parameters
3599
5863
 
@@ -3608,6 +5872,27 @@ Inert config token accepted by [memoryLocalCache](#memorylocalcache)'s `garbageC
3608
5872
 
3609
5873
  ***
3610
5874
 
5875
+ <a id="namedquery"></a>
5876
+
5877
+ ### namedQuery()
5878
+
5879
+ ```ts
5880
+ function namedQuery(db: Firestore, name: string): Promise<Query<DocumentData>>;
5881
+ ```
5882
+
5883
+ #### Parameters
5884
+
5885
+ | Parameter | Type |
5886
+ | :------ | :------ |
5887
+ | `db` | [`Firestore`](#firestore) |
5888
+ | `name` | `string` |
5889
+
5890
+ #### Returns
5891
+
5892
+ `Promise`\<[`Query`](#query)\<[`DocumentData`](#documentdata)\>\>
5893
+
5894
+ ***
5895
+
3611
5896
  <a id="onsnapshot"></a>
3612
5897
 
3613
5898
  ### onSnapshot()
@@ -3674,6 +5959,35 @@ function onSnapshot<T>(
3674
5959
 
3675
5960
  ***
3676
5961
 
5962
+ <a id="onsnapshotresume"></a>
5963
+
5964
+ ### onSnapshotResume()
5965
+
5966
+ ```ts
5967
+ function onSnapshotResume(
5968
+ query: Query,
5969
+ snapshot: QuerySnapshot,
5970
+ observerOrNext: unknown,
5971
+ error?: unknown,
5972
+ complete?: unknown): Unsubscribe;
5973
+ ```
5974
+
5975
+ #### Parameters
5976
+
5977
+ | Parameter | Type |
5978
+ | :------ | :------ |
5979
+ | `query` | [`Query`](#query) |
5980
+ | `snapshot` | [`QuerySnapshot`](#querysnapshot) |
5981
+ | `observerOrNext` | `unknown` |
5982
+ | `error?` | `unknown` |
5983
+ | `complete?` | `unknown` |
5984
+
5985
+ #### Returns
5986
+
5987
+ [`Unsubscribe`](#unsubscribe)
5988
+
5989
+ ***
5990
+
3677
5991
  <a id="onsnapshotsinsync"></a>
3678
5992
 
3679
5993
  ### onSnapshotsInSync()
@@ -3753,7 +6067,7 @@ function orderBy(field: string | FieldPath, direction?: QueryOrderDirection): Qu
3753
6067
 
3754
6068
  ***
3755
6069
 
3756
- <a id="persistentlocalcache"></a>
6070
+ <a id="persistentlocalcache-1"></a>
3757
6071
 
3758
6072
  ### persistentLocalCache()
3759
6073
 
@@ -3783,7 +6097,7 @@ tagged token `initializeFirestore` can accept without crashing.
3783
6097
 
3784
6098
  ***
3785
6099
 
3786
- <a id="persistentmultipletabmanager"></a>
6100
+ <a id="persistentmultipletabmanager-1"></a>
3787
6101
 
3788
6102
  ### persistentMultipleTabManager()
3789
6103
 
@@ -3791,7 +6105,7 @@ tagged token `initializeFirestore` can accept without crashing.
3791
6105
  function persistentMultipleTabManager(): PersistentTabManager;
3792
6106
  ```
3793
6107
 
3794
- Inert config token accepted by [persistentLocalCache](#persistentlocalcache)'s `tabManager`.
6108
+ Inert config token accepted by [persistentLocalCache](#persistentlocalcache-1)'s `tabManager`.
3795
6109
 
3796
6110
  #### Returns
3797
6111
 
@@ -3799,7 +6113,7 @@ Inert config token accepted by [persistentLocalCache](#persistentlocalcache)'s `
3799
6113
 
3800
6114
  ***
3801
6115
 
3802
- <a id="persistentsingletabmanager"></a>
6116
+ <a id="persistentsingletabmanager-1"></a>
3803
6117
 
3804
6118
  ### persistentSingleTabManager()
3805
6119
 
@@ -3809,7 +6123,7 @@ function persistentSingleTabManager(_settings?: {
3809
6123
  }): PersistentTabManager;
3810
6124
  ```
3811
6125
 
3812
- Inert config token accepted by [persistentLocalCache](#persistentlocalcache)'s `tabManager`.
6126
+ Inert config token accepted by [persistentLocalCache](#persistentlocalcache-1)'s `tabManager`.
3813
6127
 
3814
6128
  #### Parameters
3815
6129
 
@@ -3874,6 +6188,27 @@ function queryEqual(a: Query, b: Query): boolean;
3874
6188
 
3875
6189
  ***
3876
6190
 
6191
+ <a id="querysnapshotfromjson"></a>
6192
+
6193
+ ### querySnapshotFromJSON()
6194
+
6195
+ ```ts
6196
+ function querySnapshotFromJSON(db: Firestore, json: string): QuerySnapshot;
6197
+ ```
6198
+
6199
+ #### Parameters
6200
+
6201
+ | Parameter | Type |
6202
+ | :------ | :------ |
6203
+ | `db` | [`Firestore`](#firestore) |
6204
+ | `json` | `string` |
6205
+
6206
+ #### Returns
6207
+
6208
+ [`QuerySnapshot`](#querysnapshot)
6209
+
6210
+ ***
6211
+
3877
6212
  <a id="refequal"></a>
3878
6213
 
3879
6214
  ### refEqual()
@@ -3917,7 +6252,7 @@ options?: TransactionOptions): Promise<R>;
3917
6252
  | Parameter | Type |
3918
6253
  | :------ | :------ |
3919
6254
  | `db` | [`Firestore`](#firestore) |
3920
- | `fn` | (`tx`: [`Transaction`](pyric-admin-firestore-reference-api.md#transaction)) => `R` \| `Promise`\<`R`\> |
6255
+ | `fn` | (`tx`: [`Transaction`](#transaction)) => `R` \| `Promise`\<`R`\> |
3921
6256
  | `options?` | [`TransactionOptions`](#transactionoptions) |
3922
6257
 
3923
6258
  #### Returns
@@ -3971,6 +6306,27 @@ options?: SetOptions): Promise<void>;
3971
6306
 
3972
6307
  ***
3973
6308
 
6309
+ <a id="setindexconfiguration"></a>
6310
+
6311
+ ### setIndexConfiguration()
6312
+
6313
+ ```ts
6314
+ function setIndexConfiguration(db: Firestore, configuration: string | IndexConfiguration): Promise<void>;
6315
+ ```
6316
+
6317
+ #### Parameters
6318
+
6319
+ | Parameter | Type |
6320
+ | :------ | :------ |
6321
+ | `db` | [`Firestore`](#firestore) |
6322
+ | `configuration` | `string` \| [`IndexConfiguration`](#indexconfiguration) |
6323
+
6324
+ #### Returns
6325
+
6326
+ `Promise`\<`void`\>
6327
+
6328
+ ***
6329
+
3974
6330
  <a id="setloglevel"></a>
3975
6331
 
3976
6332
  ### setLogLevel()
@@ -4409,4 +6765,4 @@ function writeBatch(db: Firestore): WriteBatch;
4409
6765
 
4410
6766
  #### Returns
4411
6767
 
4412
- [`WriteBatch`](pyric-admin-firestore-reference-api.md#writebatch)
6768
+ [`WriteBatch`](#writebatch)