@pyric/cli 0.1.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (903) hide show
  1. package/LICENSE +216 -0
  2. package/README.md +180 -0
  3. package/README.md.orig +141 -0
  4. package/dist/assurance/.generated/conformance-verdicts.d.ts +1071 -0
  5. package/dist/assurance/.generated/conformance-verdicts.d.ts.map +1 -0
  6. package/dist/assurance/.generated/conformance-verdicts.js +1070 -0
  7. package/dist/assurance/.generated/conformance-verdicts.js.map +1 -0
  8. package/dist/assurance/attachment.d.ts +24 -0
  9. package/dist/assurance/attachment.d.ts.map +1 -0
  10. package/dist/assurance/attachment.js +138 -0
  11. package/dist/assurance/attachment.js.map +1 -0
  12. package/dist/assurance/browser.d.ts +7 -0
  13. package/dist/assurance/browser.d.ts.map +1 -0
  14. package/dist/assurance/browser.js +68 -0
  15. package/dist/assurance/browser.js.map +1 -0
  16. package/dist/assurance/campaign.d.ts +41 -0
  17. package/dist/assurance/campaign.d.ts.map +1 -0
  18. package/dist/assurance/campaign.js +364 -0
  19. package/dist/assurance/campaign.js.map +1 -0
  20. package/dist/assurance/capabilities.d.ts +11 -0
  21. package/dist/assurance/capabilities.d.ts.map +1 -0
  22. package/dist/assurance/capabilities.js +282 -0
  23. package/dist/assurance/capabilities.js.map +1 -0
  24. package/dist/assurance/cases.d.ts +14 -0
  25. package/dist/assurance/cases.d.ts.map +1 -0
  26. package/dist/assurance/cases.js +27 -0
  27. package/dist/assurance/cases.js.map +1 -0
  28. package/dist/assurance/index.d.ts +10 -0
  29. package/dist/assurance/index.d.ts.map +1 -0
  30. package/dist/assurance/index.js +9 -0
  31. package/dist/assurance/index.js.map +1 -0
  32. package/dist/assurance/runner.d.ts +3 -0
  33. package/dist/assurance/runner.d.ts.map +1 -0
  34. package/dist/assurance/runner.js +633 -0
  35. package/dist/assurance/runner.js.map +1 -0
  36. package/dist/assurance/tool-names.d.ts +4 -0
  37. package/dist/assurance/tool-names.d.ts.map +1 -0
  38. package/dist/assurance/tool-names.js +14 -0
  39. package/dist/assurance/tool-names.js.map +1 -0
  40. package/dist/assurance/tools.d.ts +19 -0
  41. package/dist/assurance/tools.d.ts.map +1 -0
  42. package/dist/assurance/tools.js +737 -0
  43. package/dist/assurance/tools.js.map +1 -0
  44. package/dist/assurance/types.d.ts +347 -0
  45. package/dist/assurance/types.d.ts.map +1 -0
  46. package/dist/assurance/types.js +7 -0
  47. package/dist/assurance/types.js.map +1 -0
  48. package/dist/assurance/validation.d.ts +8 -0
  49. package/dist/assurance/validation.d.ts.map +1 -0
  50. package/dist/assurance/validation.js +269 -0
  51. package/dist/assurance/validation.js.map +1 -0
  52. package/dist/bridge/client/bridge.d.ts +133 -0
  53. package/dist/bridge/client/bridge.d.ts.map +1 -0
  54. package/dist/bridge/client/bridge.js +429 -0
  55. package/dist/bridge/client/bridge.js.map +1 -0
  56. package/dist/bridge/client/dispatch.d.ts +41 -0
  57. package/dist/bridge/client/dispatch.d.ts.map +1 -0
  58. package/dist/bridge/client/dispatch.js +111 -0
  59. package/dist/bridge/client/dispatch.js.map +1 -0
  60. package/dist/bridge/client.d.ts +24 -0
  61. package/dist/bridge/client.d.ts.map +1 -0
  62. package/dist/bridge/client.js +26 -0
  63. package/dist/bridge/client.js.map +1 -0
  64. package/dist/bridge/protocol.d.ts +227 -0
  65. package/dist/bridge/protocol.d.ts.map +1 -0
  66. package/dist/bridge/protocol.js +131 -0
  67. package/dist/bridge/protocol.js.map +1 -0
  68. package/dist/bridge/server/audit.d.ts +19 -0
  69. package/dist/bridge/server/audit.d.ts.map +1 -0
  70. package/dist/bridge/server/audit.js +46 -0
  71. package/dist/bridge/server/audit.js.map +1 -0
  72. package/dist/bridge/server/bridge.d.ts +126 -0
  73. package/dist/bridge/server/bridge.d.ts.map +1 -0
  74. package/dist/bridge/server/bridge.js +383 -0
  75. package/dist/bridge/server/bridge.js.map +1 -0
  76. package/dist/bridge/server/headless.d.ts +36 -0
  77. package/dist/bridge/server/headless.d.ts.map +1 -0
  78. package/dist/bridge/server/headless.js +142 -0
  79. package/dist/bridge/server/headless.js.map +1 -0
  80. package/dist/bridge/server/json-schema-to-zod.d.ts +37 -0
  81. package/dist/bridge/server/json-schema-to-zod.d.ts.map +1 -0
  82. package/dist/bridge/server/json-schema-to-zod.js +93 -0
  83. package/dist/bridge/server/json-schema-to-zod.js.map +1 -0
  84. package/dist/bridge/server/local-bridge.d.ts +33 -0
  85. package/dist/bridge/server/local-bridge.d.ts.map +1 -0
  86. package/dist/bridge/server/local-bridge.js +41 -0
  87. package/dist/bridge/server/local-bridge.js.map +1 -0
  88. package/dist/bridge/server/logger.d.ts +28 -0
  89. package/dist/bridge/server/logger.d.ts.map +1 -0
  90. package/dist/bridge/server/logger.js +42 -0
  91. package/dist/bridge/server/logger.js.map +1 -0
  92. package/dist/bridge/server/mcp-contract.d.ts +21 -0
  93. package/dist/bridge/server/mcp-contract.d.ts.map +1 -0
  94. package/dist/bridge/server/mcp-contract.js +63 -0
  95. package/dist/bridge/server/mcp-contract.js.map +1 -0
  96. package/dist/bridge/server/mcp.d.ts +26 -0
  97. package/dist/bridge/server/mcp.d.ts.map +1 -0
  98. package/dist/bridge/server/mcp.js +102 -0
  99. package/dist/bridge/server/mcp.js.map +1 -0
  100. package/dist/bridge/server/peer.d.ts +39 -0
  101. package/dist/bridge/server/peer.d.ts.map +1 -0
  102. package/dist/bridge/server/peer.js +189 -0
  103. package/dist/bridge/server/peer.js.map +1 -0
  104. package/dist/bridge/server/standalone.d.ts +49 -0
  105. package/dist/bridge/server/standalone.d.ts.map +1 -0
  106. package/dist/bridge/server/standalone.js +267 -0
  107. package/dist/bridge/server/standalone.js.map +1 -0
  108. package/dist/bridge/server/tool-metadata.d.ts +38 -0
  109. package/dist/bridge/server/tool-metadata.d.ts.map +1 -0
  110. package/dist/bridge/server/tool-metadata.js +84 -0
  111. package/dist/bridge/server/tool-metadata.js.map +1 -0
  112. package/dist/bridge/server.d.ts +21 -0
  113. package/dist/bridge/server.d.ts.map +1 -0
  114. package/dist/bridge/server.js +18 -0
  115. package/dist/bridge/server.js.map +1 -0
  116. package/dist/cli/can-i-use.d.ts +5 -0
  117. package/dist/cli/can-i-use.d.ts.map +1 -0
  118. package/dist/cli/can-i-use.js +49 -0
  119. package/dist/cli/can-i-use.js.map +1 -0
  120. package/dist/cli/database-rules.d.ts +43 -0
  121. package/dist/cli/database-rules.d.ts.map +1 -0
  122. package/dist/cli/database-rules.js +261 -0
  123. package/dist/cli/database-rules.js.map +1 -0
  124. package/dist/cli/dev-runner.d.ts +112 -0
  125. package/dist/cli/dev-runner.d.ts.map +1 -0
  126. package/dist/cli/dev-runner.js +239 -0
  127. package/dist/cli/dev-runner.js.map +1 -0
  128. package/dist/cli/firebase-json.d.ts +66 -0
  129. package/dist/cli/firebase-json.d.ts.map +1 -0
  130. package/dist/cli/firebase-json.js +60 -0
  131. package/dist/cli/firebase-json.js.map +1 -0
  132. package/dist/cli/firestore-indexes.d.ts +21 -0
  133. package/dist/cli/firestore-indexes.d.ts.map +1 -0
  134. package/dist/cli/firestore-indexes.js +39 -0
  135. package/dist/cli/firestore-indexes.js.map +1 -0
  136. package/dist/cli/index.d.ts +56 -0
  137. package/dist/cli/index.d.ts.map +1 -0
  138. package/dist/cli/index.js +387 -0
  139. package/dist/cli/index.js.map +1 -0
  140. package/dist/cli/init.d.ts +50 -0
  141. package/dist/cli/init.d.ts.map +1 -0
  142. package/dist/cli/init.js +182 -0
  143. package/dist/cli/init.js.map +1 -0
  144. package/dist/cli/mcp-proxy.d.ts +10 -0
  145. package/dist/cli/mcp-proxy.d.ts.map +1 -0
  146. package/dist/cli/mcp-proxy.js +129 -0
  147. package/dist/cli/mcp-proxy.js.map +1 -0
  148. package/dist/cli/parse-args.d.ts +20 -0
  149. package/dist/cli/parse-args.d.ts.map +1 -0
  150. package/dist/cli/parse-args.js +74 -0
  151. package/dist/cli/parse-args.js.map +1 -0
  152. package/dist/cli/rules.d.ts +55 -0
  153. package/dist/cli/rules.d.ts.map +1 -0
  154. package/dist/cli/rules.js +199 -0
  155. package/dist/cli/rules.js.map +1 -0
  156. package/dist/cli/scope.d.ts +12 -0
  157. package/dist/cli/scope.d.ts.map +1 -0
  158. package/dist/cli/scope.js +44 -0
  159. package/dist/cli/scope.js.map +1 -0
  160. package/dist/cli/serve.d.ts +122 -0
  161. package/dist/cli/serve.d.ts.map +1 -0
  162. package/dist/cli/serve.js +844 -0
  163. package/dist/cli/serve.js.map +1 -0
  164. package/dist/cli/service-commands.d.ts +8 -0
  165. package/dist/cli/service-commands.d.ts.map +1 -0
  166. package/dist/cli/service-commands.js +58 -0
  167. package/dist/cli/service-commands.js.map +1 -0
  168. package/dist/cli/snapshot.d.ts +22 -0
  169. package/dist/cli/snapshot.d.ts.map +1 -0
  170. package/dist/cli/snapshot.js +139 -0
  171. package/dist/cli/snapshot.js.map +1 -0
  172. package/dist/cli/storage-rules.d.ts +21 -0
  173. package/dist/cli/storage-rules.d.ts.map +1 -0
  174. package/dist/cli/storage-rules.js +121 -0
  175. package/dist/cli/storage-rules.js.map +1 -0
  176. package/dist/cli/verify.d.ts +23 -0
  177. package/dist/cli/verify.d.ts.map +1 -0
  178. package/dist/cli/verify.js +349 -0
  179. package/dist/cli/verify.js.map +1 -0
  180. package/dist/conformance/.generated/can-i-use-browser.d.ts +44 -0
  181. package/dist/conformance/.generated/can-i-use-browser.d.ts.map +1 -0
  182. package/dist/conformance/.generated/can-i-use-browser.js +67 -0
  183. package/dist/conformance/.generated/can-i-use-browser.js.map +1 -0
  184. package/dist/conformance/.generated/can-i-use.d.ts +61 -0
  185. package/dist/conformance/.generated/can-i-use.d.ts.map +1 -0
  186. package/dist/conformance/.generated/can-i-use.js +68 -0
  187. package/dist/conformance/.generated/can-i-use.js.map +1 -0
  188. package/dist/conformance/browser.d.ts +7 -0
  189. package/dist/conformance/browser.d.ts.map +1 -0
  190. package/dist/conformance/browser.js +8 -0
  191. package/dist/conformance/browser.js.map +1 -0
  192. package/dist/conformance/can-i-use-tool.d.ts +21 -0
  193. package/dist/conformance/can-i-use-tool.d.ts.map +1 -0
  194. package/dist/conformance/can-i-use-tool.js +40 -0
  195. package/dist/conformance/can-i-use-tool.js.map +1 -0
  196. package/dist/conformance/can-i-use.d.ts +6 -0
  197. package/dist/conformance/can-i-use.d.ts.map +1 -0
  198. package/dist/conformance/can-i-use.js +10 -0
  199. package/dist/conformance/can-i-use.js.map +1 -0
  200. package/dist/conformance/index.d.ts +8 -0
  201. package/dist/conformance/index.d.ts.map +1 -0
  202. package/dist/conformance/index.js +2 -0
  203. package/dist/conformance/index.js.map +1 -0
  204. package/dist/conformance/tools.d.ts +4 -0
  205. package/dist/conformance/tools.d.ts.map +1 -0
  206. package/dist/conformance/tools.js +14 -0
  207. package/dist/conformance/tools.js.map +1 -0
  208. package/dist/credentials/core/memoize-ttl.d.ts +58 -0
  209. package/dist/credentials/core/memoize-ttl.d.ts.map +1 -0
  210. package/dist/credentials/core/memoize-ttl.js +88 -0
  211. package/dist/credentials/core/memoize-ttl.js.map +1 -0
  212. package/dist/credentials/core/types.d.ts +11 -0
  213. package/dist/credentials/core/types.d.ts.map +1 -0
  214. package/dist/credentials/core/types.js +2 -0
  215. package/dist/credentials/core/types.js.map +1 -0
  216. package/dist/credentials/node/from-adc.d.ts +10 -0
  217. package/dist/credentials/node/from-adc.d.ts.map +1 -0
  218. package/dist/credentials/node/from-adc.js +76 -0
  219. package/dist/credentials/node/from-adc.js.map +1 -0
  220. package/dist/credentials/node/from-service-account.d.ts +24 -0
  221. package/dist/credentials/node/from-service-account.d.ts.map +1 -0
  222. package/dist/credentials/node/from-service-account.js +108 -0
  223. package/dist/credentials/node/from-service-account.js.map +1 -0
  224. package/dist/credentials/node/index.d.ts +7 -0
  225. package/dist/credentials/node/index.d.ts.map +1 -0
  226. package/dist/credentials/node/index.js +7 -0
  227. package/dist/credentials/node/index.js.map +1 -0
  228. package/dist/discover/concurrency.d.ts +42 -0
  229. package/dist/discover/concurrency.d.ts.map +1 -0
  230. package/dist/discover/concurrency.js +113 -0
  231. package/dist/discover/concurrency.js.map +1 -0
  232. package/dist/discover/crawler-adapter.d.ts +48 -0
  233. package/dist/discover/crawler-adapter.d.ts.map +1 -0
  234. package/dist/discover/crawler-adapter.js +92 -0
  235. package/dist/discover/crawler-adapter.js.map +1 -0
  236. package/dist/discover/crawler.d.ts +294 -0
  237. package/dist/discover/crawler.d.ts.map +1 -0
  238. package/dist/discover/crawler.js +764 -0
  239. package/dist/discover/crawler.js.map +1 -0
  240. package/dist/discover/credential-free.d.ts +19 -0
  241. package/dist/discover/credential-free.d.ts.map +1 -0
  242. package/dist/discover/credential-free.js +18 -0
  243. package/dist/discover/credential-free.js.map +1 -0
  244. package/dist/discover/findCollectionGroup.d.ts +44 -0
  245. package/dist/discover/findCollectionGroup.d.ts.map +1 -0
  246. package/dist/discover/findCollectionGroup.js +81 -0
  247. package/dist/discover/findCollectionGroup.js.map +1 -0
  248. package/dist/discover/firestore-source.d.ts +60 -0
  249. package/dist/discover/firestore-source.d.ts.map +1 -0
  250. package/dist/discover/firestore-source.js +11 -0
  251. package/dist/discover/firestore-source.js.map +1 -0
  252. package/dist/discover/index.d.ts +3 -0
  253. package/dist/discover/index.d.ts.map +1 -0
  254. package/dist/discover/index.js +5 -0
  255. package/dist/discover/index.js.map +1 -0
  256. package/dist/discover/merge.d.ts +108 -0
  257. package/dist/discover/merge.d.ts.map +1 -0
  258. package/dist/discover/merge.js +394 -0
  259. package/dist/discover/merge.js.map +1 -0
  260. package/dist/discover/session.d.ts +116 -0
  261. package/dist/discover/session.d.ts.map +1 -0
  262. package/dist/discover/session.js +331 -0
  263. package/dist/discover/session.js.map +1 -0
  264. package/dist/discover/tools.d.ts +58 -0
  265. package/dist/discover/tools.d.ts.map +1 -0
  266. package/dist/discover/tools.js +115 -0
  267. package/dist/discover/tools.js.map +1 -0
  268. package/dist/discover/types.d.ts +190 -0
  269. package/dist/discover/types.d.ts.map +1 -0
  270. package/dist/discover/types.js +12 -0
  271. package/dist/discover/types.js.map +1 -0
  272. package/dist/discover/wire.d.ts +70 -0
  273. package/dist/discover/wire.d.ts.map +1 -0
  274. package/dist/discover/wire.js +309 -0
  275. package/dist/discover/wire.js.map +1 -0
  276. package/dist/functions-rtdb/child.d.ts +52 -0
  277. package/dist/functions-rtdb/child.d.ts.map +1 -0
  278. package/dist/functions-rtdb/child.js +283 -0
  279. package/dist/functions-rtdb/child.js.map +1 -0
  280. package/dist/functions-rtdb/delivery.d.ts +4 -0
  281. package/dist/functions-rtdb/delivery.d.ts.map +1 -0
  282. package/dist/functions-rtdb/delivery.js +2 -0
  283. package/dist/functions-rtdb/delivery.js.map +1 -0
  284. package/dist/functions-rtdb/discovery.d.ts +41 -0
  285. package/dist/functions-rtdb/discovery.d.ts.map +1 -0
  286. package/dist/functions-rtdb/discovery.js +86 -0
  287. package/dist/functions-rtdb/discovery.js.map +1 -0
  288. package/dist/functions-rtdb/event.d.ts +20 -0
  289. package/dist/functions-rtdb/event.d.ts.map +1 -0
  290. package/dist/functions-rtdb/event.js +45 -0
  291. package/dist/functions-rtdb/event.js.map +1 -0
  292. package/dist/functions-rtdb/execution.d.ts +20 -0
  293. package/dist/functions-rtdb/execution.d.ts.map +1 -0
  294. package/dist/functions-rtdb/execution.js +70 -0
  295. package/dist/functions-rtdb/execution.js.map +1 -0
  296. package/dist/functions-rtdb/in-memory-delivery.d.ts +9 -0
  297. package/dist/functions-rtdb/in-memory-delivery.d.ts.map +1 -0
  298. package/dist/functions-rtdb/in-memory-delivery.js +36 -0
  299. package/dist/functions-rtdb/in-memory-delivery.js.map +1 -0
  300. package/dist/functions-rtdb/project.d.ts +7 -0
  301. package/dist/functions-rtdb/project.d.ts.map +1 -0
  302. package/dist/functions-rtdb/project.js +54 -0
  303. package/dist/functions-rtdb/project.js.map +1 -0
  304. package/dist/functions-rtdb/projection.d.ts +14 -0
  305. package/dist/functions-rtdb/projection.d.ts.map +1 -0
  306. package/dist/functions-rtdb/projection.js +65 -0
  307. package/dist/functions-rtdb/projection.js.map +1 -0
  308. package/dist/functions-rtdb/reference-pattern.d.ts +5 -0
  309. package/dist/functions-rtdb/reference-pattern.d.ts.map +1 -0
  310. package/dist/functions-rtdb/reference-pattern.js +14 -0
  311. package/dist/functions-rtdb/reference-pattern.js.map +1 -0
  312. package/dist/functions-rtdb/remote-delivery.d.ts +9 -0
  313. package/dist/functions-rtdb/remote-delivery.d.ts.map +1 -0
  314. package/dist/functions-rtdb/remote-delivery.js +11 -0
  315. package/dist/functions-rtdb/remote-delivery.js.map +1 -0
  316. package/dist/pkg-version.d.ts +2 -0
  317. package/dist/pkg-version.d.ts.map +1 -0
  318. package/dist/pkg-version.js +47 -0
  319. package/dist/pkg-version.js.map +1 -0
  320. package/dist/register/esm-exports.d.ts +26 -0
  321. package/dist/register/esm-exports.d.ts.map +1 -0
  322. package/dist/register/esm-exports.js +61 -0
  323. package/dist/register/esm-exports.js.map +1 -0
  324. package/dist/register/hooks.d.ts +13 -0
  325. package/dist/register/hooks.d.ts.map +1 -0
  326. package/dist/register/hooks.js +15 -0
  327. package/dist/register/hooks.js.map +1 -0
  328. package/dist/register/index.d.ts +5 -0
  329. package/dist/register/index.d.ts.map +1 -0
  330. package/dist/register/index.js +124 -0
  331. package/dist/register/index.js.map +1 -0
  332. package/dist/register/mapping.d.ts +19 -0
  333. package/dist/register/mapping.d.ts.map +1 -0
  334. package/dist/register/mapping.js +35 -0
  335. package/dist/register/mapping.js.map +1 -0
  336. package/dist/remote/index.d.ts +232 -0
  337. package/dist/remote/index.d.ts.map +1 -0
  338. package/dist/remote/index.js +720 -0
  339. package/dist/remote/index.js.map +1 -0
  340. package/dist/rtdb/crawl-snapshot.d.ts +17 -0
  341. package/dist/rtdb/crawl-snapshot.d.ts.map +1 -0
  342. package/dist/rtdb/crawl-snapshot.js +72 -0
  343. package/dist/rtdb/crawl-snapshot.js.map +1 -0
  344. package/dist/rtdb/inspection.d.ts +8 -0
  345. package/dist/rtdb/inspection.d.ts.map +1 -0
  346. package/dist/rtdb/inspection.js +111 -0
  347. package/dist/rtdb/inspection.js.map +1 -0
  348. package/dist/rtdb/load-rules-document.d.ts +25 -0
  349. package/dist/rtdb/load-rules-document.d.ts.map +1 -0
  350. package/dist/rtdb/load-rules-document.js +38 -0
  351. package/dist/rtdb/load-rules-document.js.map +1 -0
  352. package/dist/rtdb/rules-generation-tool.d.ts +4 -0
  353. package/dist/rtdb/rules-generation-tool.d.ts.map +1 -0
  354. package/dist/rtdb/rules-generation-tool.js +35 -0
  355. package/dist/rtdb/rules-generation-tool.js.map +1 -0
  356. package/dist/rtdb/rules-json.d.ts +8 -0
  357. package/dist/rtdb/rules-json.d.ts.map +1 -0
  358. package/dist/rtdb/rules-json.js +17 -0
  359. package/dist/rtdb/rules-json.js.map +1 -0
  360. package/dist/serve/bridge-mount.d.ts +36 -0
  361. package/dist/serve/bridge-mount.d.ts.map +1 -0
  362. package/dist/serve/bridge-mount.js +162 -0
  363. package/dist/serve/bridge-mount.js.map +1 -0
  364. package/dist/serve/bundler.d.ts +110 -0
  365. package/dist/serve/bundler.d.ts.map +1 -0
  366. package/dist/serve/bundler.js +432 -0
  367. package/dist/serve/bundler.js.map +1 -0
  368. package/dist/serve/capture-store.d.ts +27 -0
  369. package/dist/serve/capture-store.d.ts.map +1 -0
  370. package/dist/serve/capture-store.js +47 -0
  371. package/dist/serve/capture-store.js.map +1 -0
  372. package/dist/serve/discovery.d.ts +71 -0
  373. package/dist/serve/discovery.d.ts.map +1 -0
  374. package/dist/serve/discovery.js +158 -0
  375. package/dist/serve/discovery.js.map +1 -0
  376. package/dist/serve/docs-ui/_astro/_slug_.DPUwShm2.css +1 -0
  377. package/dist/serve/docs-ui/docs/_rhythm/index.html +99 -0
  378. package/dist/serve/docs-ui/docs/_rhythm.md +97 -0
  379. package/dist/serve/docs-ui/docs/agent/set-up-your-agent/index.html +42 -0
  380. package/dist/serve/docs-ui/docs/agent/set-up-your-agent.md +72 -0
  381. package/dist/serve/docs-ui/docs/agent/watch-and-review/index.html +25 -0
  382. package/dist/serve/docs-ui/docs/agent/watch-and-review.md +38 -0
  383. package/dist/serve/docs-ui/docs/agent/work-with-an-agent/index.html +69 -0
  384. package/dist/serve/docs-ui/docs/agent/work-with-an-agent.md +74 -0
  385. package/dist/serve/docs-ui/docs/ai-compat/index.html +423 -0
  386. package/dist/serve/docs-ui/docs/ai-compat.md +456 -0
  387. package/dist/serve/docs-ui/docs/api-reference/index.html +66 -0
  388. package/dist/serve/docs-ui/docs/api-reference.md +69 -0
  389. package/dist/serve/docs-ui/docs/app-compat/index.html +159 -0
  390. package/dist/serve/docs-ui/docs/app-compat.md +178 -0
  391. package/dist/serve/docs-ui/docs/auth-compat/index.html +644 -0
  392. package/dist/serve/docs-ui/docs/auth-compat.md +701 -0
  393. package/dist/serve/docs-ui/docs/build/ai-logic/index.html +27 -0
  394. package/dist/serve/docs-ui/docs/build/ai-logic.md +39 -0
  395. package/dist/serve/docs-ui/docs/build/authentication/index.html +65 -0
  396. package/dist/serve/docs-ui/docs/build/authentication.md +95 -0
  397. package/dist/serve/docs-ui/docs/build/cloud-firestore/index.html +69 -0
  398. package/dist/serve/docs-ui/docs/build/cloud-firestore.md +93 -0
  399. package/dist/serve/docs-ui/docs/build/cloud-messaging/index.html +27 -0
  400. package/dist/serve/docs-ui/docs/build/cloud-messaging.md +37 -0
  401. package/dist/serve/docs-ui/docs/build/cloud-storage/index.html +65 -0
  402. package/dist/serve/docs-ui/docs/build/cloud-storage.md +86 -0
  403. package/dist/serve/docs-ui/docs/build/realtime-database/index.html +49 -0
  404. package/dist/serve/docs-ui/docs/build/realtime-database.md +67 -0
  405. package/dist/serve/docs-ui/docs/conformance-scores/index.html +49 -0
  406. package/dist/serve/docs-ui/docs/conformance-scores.md +53 -0
  407. package/dist/serve/docs-ui/docs/create-pyric-reference-api/index.html +498 -0
  408. package/dist/serve/docs-ui/docs/create-pyric-reference-api.md +345 -0
  409. package/dist/serve/docs-ui/docs/database-compat/index.html +1037 -0
  410. package/dist/serve/docs-ui/docs/database-compat.md +1099 -0
  411. package/dist/serve/docs-ui/docs/firestore-compat/index.html +823 -0
  412. package/dist/serve/docs-ui/docs/firestore-compat.md +881 -0
  413. package/dist/serve/docs-ui/docs/functions-rtdb-compat/index.html +72 -0
  414. package/dist/serve/docs-ui/docs/functions-rtdb-compat.md +83 -0
  415. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works/index.html +27 -0
  416. package/dist/serve/docs-ui/docs/get-started/how-the-swap-works.md +50 -0
  417. package/dist/serve/docs-ui/docs/get-started/start-building/index.html +31 -0
  418. package/dist/serve/docs-ui/docs/get-started/start-building.md +53 -0
  419. package/dist/serve/docs-ui/docs/index.html +2 -0
  420. package/dist/serve/docs-ui/docs/index.json +11719 -0
  421. package/dist/serve/docs-ui/docs/messaging-compat/index.html +264 -0
  422. package/dist/serve/docs-ui/docs/messaging-compat.md +285 -0
  423. package/dist/serve/docs-ui/docs/observe/see-whats-happening/index.html +73 -0
  424. package/dist/serve/docs-ui/docs/observe/see-whats-happening.md +69 -0
  425. package/dist/serve/docs-ui/docs/observe/shape-your-data/index.html +44 -0
  426. package/dist/serve/docs-ui/docs/observe/shape-your-data.md +74 -0
  427. package/dist/serve/docs-ui/docs/overview/index.html +16 -0
  428. package/dist/serve/docs-ui/docs/overview.md +31 -0
  429. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api/index.html +185 -0
  430. package/dist/serve/docs-ui/docs/pyric-admin-app-reference-api.md +206 -0
  431. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api/index.html +617 -0
  432. package/dist/serve/docs-ui/docs/pyric-admin-auth-reference-api.md +441 -0
  433. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api/index.html +583 -0
  434. package/dist/serve/docs-ui/docs/pyric-admin-database-reference-api.md +597 -0
  435. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api/index.html +32 -0
  436. package/dist/serve/docs-ui/docs/pyric-admin-firestore-reference-api.md +30 -0
  437. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api/index.html +317 -0
  438. package/dist/serve/docs-ui/docs/pyric-admin-storage-reference-api.md +285 -0
  439. package/dist/serve/docs-ui/docs/pyric-ai-reference-api/index.html +5830 -0
  440. package/dist/serve/docs-ui/docs/pyric-ai-reference-api.md +5439 -0
  441. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api/index.html +159 -0
  442. package/dist/serve/docs-ui/docs/pyric-ai-scripting-reference-api.md +122 -0
  443. package/dist/serve/docs-ui/docs/pyric-app-reference-api/index.html +420 -0
  444. package/dist/serve/docs-ui/docs/pyric-app-reference-api.md +326 -0
  445. package/dist/serve/docs-ui/docs/pyric-auth-reference-api/index.html +5452 -0
  446. package/dist/serve/docs-ui/docs/pyric-auth-reference-api.md +5271 -0
  447. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api/index.html +98 -0
  448. package/dist/serve/docs-ui/docs/pyric-cli-assurance-browser-reference-api.md +88 -0
  449. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api/index.html +2263 -0
  450. package/dist/serve/docs-ui/docs/pyric-cli-assurance-reference-api.md +1477 -0
  451. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api/index.html +546 -0
  452. package/dist/serve/docs-ui/docs/pyric-cli-bridge-client-reference-api.md +485 -0
  453. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api/index.html +506 -0
  454. package/dist/serve/docs-ui/docs/pyric-cli-bridge-reference-api.md +419 -0
  455. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api/index.html +257 -0
  456. package/dist/serve/docs-ui/docs/pyric-cli-conformance-browser-reference-api.md +197 -0
  457. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api/index.html +307 -0
  458. package/dist/serve/docs-ui/docs/pyric-cli-conformance-reference-api.md +254 -0
  459. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api/index.html +67 -0
  460. package/dist/serve/docs-ui/docs/pyric-cli-credentials-node-reference-api.md +59 -0
  461. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api/index.html +2355 -0
  462. package/dist/serve/docs-ui/docs/pyric-cli-discover-reference-api.md +2036 -0
  463. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api/index.html +10 -0
  464. package/dist/serve/docs-ui/docs/pyric-cli-register-reference-api.md +16 -0
  465. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api/index.html +1044 -0
  466. package/dist/serve/docs-ui/docs/pyric-cli-remote-reference-api.md +952 -0
  467. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api/index.html +5041 -0
  468. package/dist/serve/docs-ui/docs/pyric-cli-serve-worker-reference-api.md +4739 -0
  469. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api/index.html +926 -0
  470. package/dist/serve/docs-ui/docs/pyric-cli-verify-reference-api.md +586 -0
  471. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api/index.html +102 -0
  472. package/dist/serve/docs-ui/docs/pyric-cli-vite-reference-api.md +76 -0
  473. package/dist/serve/docs-ui/docs/pyric-database-reference-api/index.html +1851 -0
  474. package/dist/serve/docs-ui/docs/pyric-database-reference-api.md +1842 -0
  475. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api/index.html +3623 -0
  476. package/dist/serve/docs-ui/docs/pyric-firestore-reference-api.md +3399 -0
  477. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api/index.html +30 -0
  478. package/dist/serve/docs-ui/docs/pyric-firestore-values-reference-api.md +30 -0
  479. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api/index.html +508 -0
  480. package/dist/serve/docs-ui/docs/pyric-messaging-reference-api.md +374 -0
  481. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api/index.html +482 -0
  482. package/dist/serve/docs-ui/docs/pyric-messaging-sw-reference-api.md +348 -0
  483. package/dist/serve/docs-ui/docs/pyric-rules-reference-api/index.html +2629 -0
  484. package/dist/serve/docs-ui/docs/pyric-rules-reference-api.md +2213 -0
  485. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api/index.html +120 -0
  486. package/dist/serve/docs-ui/docs/pyric-sandbox-database-reference-api.md +110 -0
  487. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api/index.html +202 -0
  488. package/dist/serve/docs-ui/docs/pyric-sandbox-firestore-reference-api.md +134 -0
  489. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api/index.html +5019 -0
  490. package/dist/serve/docs-ui/docs/pyric-sandbox-reference-api.md +4060 -0
  491. package/dist/serve/docs-ui/docs/pyric-storage-reference-api/index.html +2120 -0
  492. package/dist/serve/docs-ui/docs/pyric-storage-reference-api.md +1687 -0
  493. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api/index.html +638 -0
  494. package/dist/serve/docs-ui/docs/pyric-ui-agents-reference-api.md +430 -0
  495. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api/index.html +813 -0
  496. package/dist/serve/docs-ui/docs/pyric-ui-auth-hooks-reference-api.md +634 -0
  497. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api/index.html +1708 -0
  498. package/dist/serve/docs-ui/docs/pyric-ui-auth-reference-api.md +1300 -0
  499. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api/index.html +177 -0
  500. package/dist/serve/docs-ui/docs/pyric-ui-events-hooks-reference-api.md +111 -0
  501. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api/index.html +1542 -0
  502. package/dist/serve/docs-ui/docs/pyric-ui-events-reference-api.md +903 -0
  503. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api/index.html +1024 -0
  504. package/dist/serve/docs-ui/docs/pyric-ui-firestore-hooks-reference-api.md +640 -0
  505. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api/index.html +2753 -0
  506. package/dist/serve/docs-ui/docs/pyric-ui-firestore-reference-api.md +2171 -0
  507. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api/index.html +1005 -0
  508. package/dist/serve/docs-ui/docs/pyric-ui-primitives-reference-api.md +693 -0
  509. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api/index.html +1388 -0
  510. package/dist/serve/docs-ui/docs/pyric-ui-rtdb-reference-api.md +1340 -0
  511. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api/index.html +131 -0
  512. package/dist/serve/docs-ui/docs/pyric-ui-rules-hooks-reference-api.md +76 -0
  513. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api/index.html +648 -0
  514. package/dist/serve/docs-ui/docs/pyric-ui-rules-reference-api.md +508 -0
  515. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api/index.html +1457 -0
  516. package/dist/serve/docs-ui/docs/pyric-ui-storage-hooks-reference-api.md +1029 -0
  517. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api/index.html +2476 -0
  518. package/dist/serve/docs-ui/docs/pyric-ui-storage-reference-api.md +1919 -0
  519. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api/index.html +1241 -0
  520. package/dist/serve/docs-ui/docs/pyric-ui-traffic-hooks-reference-api.md +817 -0
  521. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api/index.html +2289 -0
  522. package/dist/serve/docs-ui/docs/pyric-ui-traffic-reference-api.md +1489 -0
  523. package/dist/serve/docs-ui/docs/rules-compat/index.html +272 -0
  524. package/dist/serve/docs-ui/docs/rules-compat.md +287 -0
  525. package/dist/serve/docs-ui/docs/secure/audit-your-rules/index.html +34 -0
  526. package/dist/serve/docs-ui/docs/secure/audit-your-rules.md +67 -0
  527. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits/index.html +105 -0
  528. package/dist/serve/docs-ui/docs/secure/firestore-rules-limits.md +152 -0
  529. package/dist/serve/docs-ui/docs/secure/read-a-denial/index.html +40 -0
  530. package/dist/serve/docs-ui/docs/secure/read-a-denial.md +58 -0
  531. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript/index.html +66 -0
  532. package/dist/serve/docs-ui/docs/secure/rtdb-rules-in-typescript.md +89 -0
  533. package/dist/serve/docs-ui/docs/secure/rules-standard-library/index.html +158 -0
  534. package/dist/serve/docs-ui/docs/secure/rules-standard-library.md +116 -0
  535. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules/index.html +46 -0
  536. package/dist/serve/docs-ui/docs/secure/secure-it-with-rules.md +51 -0
  537. package/dist/serve/docs-ui/docs/secure/simulate-and-lint/index.html +94 -0
  538. package/dist/serve/docs-ui/docs/secure/simulate-and-lint.md +86 -0
  539. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite/index.html +81 -0
  540. package/dist/serve/docs-ui/docs/secure/write-a-rules-test-suite.md +105 -0
  541. package/dist/serve/docs-ui/docs/ship/ship-to-production/index.html +36 -0
  542. package/dist/serve/docs-ui/docs/ship/ship-to-production.md +64 -0
  543. package/dist/serve/docs-ui/docs/ship/test-in-node/index.html +74 -0
  544. package/dist/serve/docs-ui/docs/ship/test-in-node.md +94 -0
  545. package/dist/serve/docs-ui/docs/storage-compat/index.html +532 -0
  546. package/dist/serve/docs-ui/docs/storage-compat.md +577 -0
  547. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase/index.html +131 -0
  548. package/dist/serve/docs-ui/docs/trust/how-we-know-it-matches-firebase.md +155 -0
  549. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility/index.html +13 -0
  550. package/dist/serve/docs-ui/docs/trust/versioning-and-compatibility.md +21 -0
  551. package/dist/serve/docs-ui/index.html +1 -0
  552. package/dist/serve/docs-ui/llms.txt +123 -0
  553. package/dist/serve/entries/ai.d.ts +4 -0
  554. package/dist/serve/entries/ai.d.ts.map +1 -0
  555. package/dist/serve/entries/ai.js +184 -0
  556. package/dist/serve/entries/ai.js.map +1 -0
  557. package/dist/serve/entries/app-backend.d.ts +2 -0
  558. package/dist/serve/entries/app-backend.d.ts.map +1 -0
  559. package/dist/serve/entries/app-backend.js +4 -0
  560. package/dist/serve/entries/app-backend.js.map +1 -0
  561. package/dist/serve/entries/app-client.d.ts +5 -0
  562. package/dist/serve/entries/app-client.d.ts.map +1 -0
  563. package/dist/serve/entries/app-client.js +23 -0
  564. package/dist/serve/entries/app-client.js.map +1 -0
  565. package/dist/serve/entries/app-session-store.d.ts +14 -0
  566. package/dist/serve/entries/app-session-store.d.ts.map +1 -0
  567. package/dist/serve/entries/app-session-store.js +37 -0
  568. package/dist/serve/entries/app-session-store.js.map +1 -0
  569. package/dist/serve/entries/app.d.ts +2 -0
  570. package/dist/serve/entries/app.d.ts.map +1 -0
  571. package/dist/serve/entries/app.js +10 -0
  572. package/dist/serve/entries/app.js.map +1 -0
  573. package/dist/serve/entries/auth-helper-core.d.ts +52 -0
  574. package/dist/serve/entries/auth-helper-core.d.ts.map +1 -0
  575. package/dist/serve/entries/auth-helper-core.js +118 -0
  576. package/dist/serve/entries/auth-helper-core.js.map +1 -0
  577. package/dist/serve/entries/auth-helper-dom.d.ts +14 -0
  578. package/dist/serve/entries/auth-helper-dom.d.ts.map +1 -0
  579. package/dist/serve/entries/auth-helper-dom.js +116 -0
  580. package/dist/serve/entries/auth-helper-dom.js.map +1 -0
  581. package/dist/serve/entries/auth-helper-runtime.d.ts +5 -0
  582. package/dist/serve/entries/auth-helper-runtime.d.ts.map +1 -0
  583. package/dist/serve/entries/auth-helper-runtime.js +11 -0
  584. package/dist/serve/entries/auth-helper-runtime.js.map +1 -0
  585. package/dist/serve/entries/auth.d.ts +77 -0
  586. package/dist/serve/entries/auth.d.ts.map +1 -0
  587. package/dist/serve/entries/auth.js +201 -0
  588. package/dist/serve/entries/auth.js.map +1 -0
  589. package/dist/serve/entries/bridge-url.d.ts +25 -0
  590. package/dist/serve/entries/bridge-url.d.ts.map +1 -0
  591. package/dist/serve/entries/bridge-url.js +30 -0
  592. package/dist/serve/entries/bridge-url.js.map +1 -0
  593. package/dist/serve/entries/database.d.ts +46 -0
  594. package/dist/serve/entries/database.d.ts.map +1 -0
  595. package/dist/serve/entries/database.js +80 -0
  596. package/dist/serve/entries/database.js.map +1 -0
  597. package/dist/serve/entries/firestore.d.ts +104 -0
  598. package/dist/serve/entries/firestore.d.ts.map +1 -0
  599. package/dist/serve/entries/firestore.js +202 -0
  600. package/dist/serve/entries/firestore.js.map +1 -0
  601. package/dist/serve/entries/init.d.ts +2 -0
  602. package/dist/serve/entries/init.d.ts.map +1 -0
  603. package/dist/serve/entries/init.js +40 -0
  604. package/dist/serve/entries/init.js.map +1 -0
  605. package/dist/serve/entries/keepalive.d.ts +20 -0
  606. package/dist/serve/entries/keepalive.d.ts.map +1 -0
  607. package/dist/serve/entries/keepalive.js +38 -0
  608. package/dist/serve/entries/keepalive.js.map +1 -0
  609. package/dist/serve/entries/messaging-sw.d.ts +10 -0
  610. package/dist/serve/entries/messaging-sw.d.ts.map +1 -0
  611. package/dist/serve/entries/messaging-sw.js +36 -0
  612. package/dist/serve/entries/messaging-sw.js.map +1 -0
  613. package/dist/serve/entries/messaging.d.ts +11 -0
  614. package/dist/serve/entries/messaging.d.ts.map +1 -0
  615. package/dist/serve/entries/messaging.js +53 -0
  616. package/dist/serve/entries/messaging.js.map +1 -0
  617. package/dist/serve/entries/runtime.d.ts +46 -0
  618. package/dist/serve/entries/runtime.d.ts.map +1 -0
  619. package/dist/serve/entries/runtime.js +435 -0
  620. package/dist/serve/entries/runtime.js.map +1 -0
  621. package/dist/serve/entries/session-store.d.ts +48 -0
  622. package/dist/serve/entries/session-store.d.ts.map +1 -0
  623. package/dist/serve/entries/session-store.js +82 -0
  624. package/dist/serve/entries/session-store.js.map +1 -0
  625. package/dist/serve/entries/storage.d.ts +25 -0
  626. package/dist/serve/entries/storage.d.ts.map +1 -0
  627. package/dist/serve/entries/storage.js +61 -0
  628. package/dist/serve/entries/storage.js.map +1 -0
  629. package/dist/serve/entries/tab-sync-wiring.d.ts +88 -0
  630. package/dist/serve/entries/tab-sync-wiring.d.ts.map +1 -0
  631. package/dist/serve/entries/tab-sync-wiring.js +217 -0
  632. package/dist/serve/entries/tab-sync-wiring.js.map +1 -0
  633. package/dist/serve/entries/worker-runtime.d.ts +10 -0
  634. package/dist/serve/entries/worker-runtime.d.ts.map +1 -0
  635. package/dist/serve/entries/worker-runtime.js +59 -0
  636. package/dist/serve/entries/worker-runtime.js.map +1 -0
  637. package/dist/serve/init-payload.d.ts +21 -0
  638. package/dist/serve/init-payload.d.ts.map +1 -0
  639. package/dist/serve/init-payload.js +2 -0
  640. package/dist/serve/init-payload.js.map +1 -0
  641. package/dist/serve/namespace.d.ts +73 -0
  642. package/dist/serve/namespace.d.ts.map +1 -0
  643. package/dist/serve/namespace.js +470 -0
  644. package/dist/serve/namespace.js.map +1 -0
  645. package/dist/serve/open-browser.d.ts +23 -0
  646. package/dist/serve/open-browser.d.ts.map +1 -0
  647. package/dist/serve/open-browser.js +58 -0
  648. package/dist/serve/open-browser.js.map +1 -0
  649. package/dist/serve/rules.d.ts +77 -0
  650. package/dist/serve/rules.d.ts.map +1 -0
  651. package/dist/serve/rules.js +202 -0
  652. package/dist/serve/rules.js.map +1 -0
  653. package/dist/serve/sandbox-marker.d.ts +9 -0
  654. package/dist/serve/sandbox-marker.d.ts.map +1 -0
  655. package/dist/serve/sandbox-marker.js +31 -0
  656. package/dist/serve/sandbox-marker.js.map +1 -0
  657. package/dist/serve/server.d.ts +135 -0
  658. package/dist/serve/server.d.ts.map +1 -0
  659. package/dist/serve/server.js +328 -0
  660. package/dist/serve/server.js.map +1 -0
  661. package/dist/serve/standalone-assets.d.ts +67 -0
  662. package/dist/serve/standalone-assets.d.ts.map +1 -0
  663. package/dist/serve/standalone-assets.js +134 -0
  664. package/dist/serve/standalone-assets.js.map +1 -0
  665. package/dist/serve/state-store.d.ts +45 -0
  666. package/dist/serve/state-store.d.ts.map +1 -0
  667. package/dist/serve/state-store.js +120 -0
  668. package/dist/serve/state-store.js.map +1 -0
  669. package/dist/serve/studio/disk-project-store.d.ts +9 -0
  670. package/dist/serve/studio/disk-project-store.d.ts.map +1 -0
  671. package/dist/serve/studio/disk-project-store.js +173 -0
  672. package/dist/serve/studio/disk-project-store.js.map +1 -0
  673. package/dist/serve/studio/disk-workspace.d.ts +14 -0
  674. package/dist/serve/studio/disk-workspace.d.ts.map +1 -0
  675. package/dist/serve/studio/disk-workspace.js +152 -0
  676. package/dist/serve/studio/disk-workspace.js.map +1 -0
  677. package/dist/serve/studio/index.d.ts +10 -0
  678. package/dist/serve/studio/index.d.ts.map +1 -0
  679. package/dist/serve/studio/index.js +9 -0
  680. package/dist/serve/studio/index.js.map +1 -0
  681. package/dist/serve/studio/routes.d.ts +40 -0
  682. package/dist/serve/studio/routes.d.ts.map +1 -0
  683. package/dist/serve/studio/routes.js +182 -0
  684. package/dist/serve/studio/routes.js.map +1 -0
  685. package/dist/serve/studio/store-types.d.ts +45 -0
  686. package/dist/serve/studio/store-types.d.ts.map +1 -0
  687. package/dist/serve/studio/store-types.js +11 -0
  688. package/dist/serve/studio/store-types.js.map +1 -0
  689. package/dist/serve/studio-ui/assets/RulesCodeEditor-CXdSLKhO.js +23 -0
  690. package/dist/serve/studio-ui/assets/index-BlSGru_r.css +1 -0
  691. package/dist/serve/studio-ui/assets/index-BvtQIpGn.js +1211 -0
  692. package/dist/serve/studio-ui/assets/seed-3DMedLL3.js +2 -0
  693. package/dist/serve/studio-ui/index.html +32 -0
  694. package/dist/serve/studio-ui/pyric-logo.svg +76 -0
  695. package/dist/serve/vite-plugin.d.ts +57 -0
  696. package/dist/serve/vite-plugin.d.ts.map +1 -0
  697. package/dist/serve/vite-plugin.js +664 -0
  698. package/dist/serve/vite-plugin.js.map +1 -0
  699. package/dist/serve/worker/client/admin-firestore.d.ts +18 -0
  700. package/dist/serve/worker/client/admin-firestore.d.ts.map +1 -0
  701. package/dist/serve/worker/client/admin-firestore.js +26 -0
  702. package/dist/serve/worker/client/admin-firestore.js.map +1 -0
  703. package/dist/serve/worker/client/ai.d.ts +31 -0
  704. package/dist/serve/worker/client/ai.d.ts.map +1 -0
  705. package/dist/serve/worker/client/ai.js +89 -0
  706. package/dist/serve/worker/client/ai.js.map +1 -0
  707. package/dist/serve/worker/client/auth.d.ts +168 -0
  708. package/dist/serve/worker/client/auth.d.ts.map +1 -0
  709. package/dist/serve/worker/client/auth.js +322 -0
  710. package/dist/serve/worker/client/auth.js.map +1 -0
  711. package/dist/serve/worker/client/connection.d.ts +80 -0
  712. package/dist/serve/worker/client/connection.d.ts.map +1 -0
  713. package/dist/serve/worker/client/connection.js +148 -0
  714. package/dist/serve/worker/client/connection.js.map +1 -0
  715. package/dist/serve/worker/client/core.d.ts +109 -0
  716. package/dist/serve/worker/client/core.d.ts.map +1 -0
  717. package/dist/serve/worker/client/core.js +248 -0
  718. package/dist/serve/worker/client/core.js.map +1 -0
  719. package/dist/serve/worker/client/disconnect.d.ts +7 -0
  720. package/dist/serve/worker/client/disconnect.d.ts.map +1 -0
  721. package/dist/serve/worker/client/disconnect.js +26 -0
  722. package/dist/serve/worker/client/disconnect.js.map +1 -0
  723. package/dist/serve/worker/client/firestore-reads.d.ts +49 -0
  724. package/dist/serve/worker/client/firestore-reads.d.ts.map +1 -0
  725. package/dist/serve/worker/client/firestore-reads.js +139 -0
  726. package/dist/serve/worker/client/firestore-reads.js.map +1 -0
  727. package/dist/serve/worker/client/firestore-refs.d.ts +54 -0
  728. package/dist/serve/worker/client/firestore-refs.d.ts.map +1 -0
  729. package/dist/serve/worker/client/firestore-refs.js +167 -0
  730. package/dist/serve/worker/client/firestore-refs.js.map +1 -0
  731. package/dist/serve/worker/client/firestore-writes.d.ts +70 -0
  732. package/dist/serve/worker/client/firestore-writes.d.ts.map +1 -0
  733. package/dist/serve/worker/client/firestore-writes.js +169 -0
  734. package/dist/serve/worker/client/firestore-writes.js.map +1 -0
  735. package/dist/serve/worker/client/handles.d.ts +73 -0
  736. package/dist/serve/worker/client/handles.d.ts.map +1 -0
  737. package/dist/serve/worker/client/handles.js +4 -0
  738. package/dist/serve/worker/client/handles.js.map +1 -0
  739. package/dist/serve/worker/client/messaging.d.ts +16 -0
  740. package/dist/serve/worker/client/messaging.d.ts.map +1 -0
  741. package/dist/serve/worker/client/messaging.js +60 -0
  742. package/dist/serve/worker/client/messaging.js.map +1 -0
  743. package/dist/serve/worker/client/presence.d.ts +43 -0
  744. package/dist/serve/worker/client/presence.d.ts.map +1 -0
  745. package/dist/serve/worker/client/presence.js +132 -0
  746. package/dist/serve/worker/client/presence.js.map +1 -0
  747. package/dist/serve/worker/client/rtdb.d.ts +36 -0
  748. package/dist/serve/worker/client/rtdb.d.ts.map +1 -0
  749. package/dist/serve/worker/client/rtdb.js +241 -0
  750. package/dist/serve/worker/client/rtdb.js.map +1 -0
  751. package/dist/serve/worker/client/rules.d.ts +24 -0
  752. package/dist/serve/worker/client/rules.d.ts.map +1 -0
  753. package/dist/serve/worker/client/rules.js +44 -0
  754. package/dist/serve/worker/client/rules.js.map +1 -0
  755. package/dist/serve/worker/client/service-worker-connection.d.ts +3 -0
  756. package/dist/serve/worker/client/service-worker-connection.d.ts.map +1 -0
  757. package/dist/serve/worker/client/service-worker-connection.js +53 -0
  758. package/dist/serve/worker/client/service-worker-connection.js.map +1 -0
  759. package/dist/serve/worker/client/snapshots.d.ts +32 -0
  760. package/dist/serve/worker/client/snapshots.d.ts.map +1 -0
  761. package/dist/serve/worker/client/snapshots.js +46 -0
  762. package/dist/serve/worker/client/snapshots.js.map +1 -0
  763. package/dist/serve/worker/client/storage.d.ts +64 -0
  764. package/dist/serve/worker/client/storage.d.ts.map +1 -0
  765. package/dist/serve/worker/client/storage.js +125 -0
  766. package/dist/serve/worker/client/storage.js.map +1 -0
  767. package/dist/serve/worker/client/studio.d.ts +32 -0
  768. package/dist/serve/worker/client/studio.d.ts.map +1 -0
  769. package/dist/serve/worker/client/studio.js +61 -0
  770. package/dist/serve/worker/client/studio.js.map +1 -0
  771. package/dist/serve/worker/client.d.ts +43 -0
  772. package/dist/serve/worker/client.d.ts.map +1 -0
  773. package/dist/serve/worker/client.js +44 -0
  774. package/dist/serve/worker/client.js.map +1 -0
  775. package/dist/serve/worker/entry.d.ts +40 -0
  776. package/dist/serve/worker/entry.d.ts.map +1 -0
  777. package/dist/serve/worker/entry.js +144 -0
  778. package/dist/serve/worker/entry.js.map +1 -0
  779. package/dist/serve/worker/host/admin-firestore.d.ts +17 -0
  780. package/dist/serve/worker/host/admin-firestore.d.ts.map +1 -0
  781. package/dist/serve/worker/host/admin-firestore.js +92 -0
  782. package/dist/serve/worker/host/admin-firestore.js.map +1 -0
  783. package/dist/serve/worker/host/connection.d.ts +40 -0
  784. package/dist/serve/worker/host/connection.d.ts.map +1 -0
  785. package/dist/serve/worker/host/connection.js +153 -0
  786. package/dist/serve/worker/host/connection.js.map +1 -0
  787. package/dist/serve/worker/host/core.d.ts +159 -0
  788. package/dist/serve/worker/host/core.d.ts.map +1 -0
  789. package/dist/serve/worker/host/core.js +296 -0
  790. package/dist/serve/worker/host/core.js.map +1 -0
  791. package/dist/serve/worker/host/dispatch.d.ts +34 -0
  792. package/dist/serve/worker/host/dispatch.d.ts.map +1 -0
  793. package/dist/serve/worker/host/dispatch.js +267 -0
  794. package/dist/serve/worker/host/dispatch.js.map +1 -0
  795. package/dist/serve/worker/host/firestore-reads.d.ts +17 -0
  796. package/dist/serve/worker/host/firestore-reads.d.ts.map +1 -0
  797. package/dist/serve/worker/host/firestore-reads.js +108 -0
  798. package/dist/serve/worker/host/firestore-reads.js.map +1 -0
  799. package/dist/serve/worker/host/firestore-writes.d.ts +37 -0
  800. package/dist/serve/worker/host/firestore-writes.d.ts.map +1 -0
  801. package/dist/serve/worker/host/firestore-writes.js +409 -0
  802. package/dist/serve/worker/host/firestore-writes.js.map +1 -0
  803. package/dist/serve/worker/host/presence.d.ts +38 -0
  804. package/dist/serve/worker/host/presence.d.ts.map +1 -0
  805. package/dist/serve/worker/host/presence.js +280 -0
  806. package/dist/serve/worker/host/presence.js.map +1 -0
  807. package/dist/serve/worker/host/rtdb.d.ts +18 -0
  808. package/dist/serve/worker/host/rtdb.d.ts.map +1 -0
  809. package/dist/serve/worker/host/rtdb.js +128 -0
  810. package/dist/serve/worker/host/rtdb.js.map +1 -0
  811. package/dist/serve/worker/host/rules.d.ts +17 -0
  812. package/dist/serve/worker/host/rules.d.ts.map +1 -0
  813. package/dist/serve/worker/host/rules.js +118 -0
  814. package/dist/serve/worker/host/rules.js.map +1 -0
  815. package/dist/serve/worker/host/storage.d.ts +19 -0
  816. package/dist/serve/worker/host/storage.d.ts.map +1 -0
  817. package/dist/serve/worker/host/storage.js +260 -0
  818. package/dist/serve/worker/host/storage.js.map +1 -0
  819. package/dist/serve/worker/host/studio.d.ts +13 -0
  820. package/dist/serve/worker/host/studio.d.ts.map +1 -0
  821. package/dist/serve/worker/host/studio.js +30 -0
  822. package/dist/serve/worker/host/studio.js.map +1 -0
  823. package/dist/serve/worker/host/subscriptions.d.ts +21 -0
  824. package/dist/serve/worker/host/subscriptions.d.ts.map +1 -0
  825. package/dist/serve/worker/host/subscriptions.js +162 -0
  826. package/dist/serve/worker/host/subscriptions.js.map +1 -0
  827. package/dist/serve/worker/host-ai.d.ts +59 -0
  828. package/dist/serve/worker/host-ai.d.ts.map +1 -0
  829. package/dist/serve/worker/host-ai.js +158 -0
  830. package/dist/serve/worker/host-ai.js.map +1 -0
  831. package/dist/serve/worker/host-auth.d.ts +47 -0
  832. package/dist/serve/worker/host-auth.d.ts.map +1 -0
  833. package/dist/serve/worker/host-auth.js +464 -0
  834. package/dist/serve/worker/host-auth.js.map +1 -0
  835. package/dist/serve/worker/host-context.d.ts +220 -0
  836. package/dist/serve/worker/host-context.d.ts.map +1 -0
  837. package/dist/serve/worker/host-context.js +45 -0
  838. package/dist/serve/worker/host-context.js.map +1 -0
  839. package/dist/serve/worker/host-events.d.ts +21 -0
  840. package/dist/serve/worker/host-events.d.ts.map +1 -0
  841. package/dist/serve/worker/host-events.js +87 -0
  842. package/dist/serve/worker/host-events.js.map +1 -0
  843. package/dist/serve/worker/host-messaging.d.ts +60 -0
  844. package/dist/serve/worker/host-messaging.d.ts.map +1 -0
  845. package/dist/serve/worker/host-messaging.js +226 -0
  846. package/dist/serve/worker/host-messaging.js.map +1 -0
  847. package/dist/serve/worker/host.d.ts +36 -0
  848. package/dist/serve/worker/host.d.ts.map +1 -0
  849. package/dist/serve/worker/host.js +39 -0
  850. package/dist/serve/worker/host.js.map +1 -0
  851. package/dist/serve/worker/index.d.ts +22 -0
  852. package/dist/serve/worker/index.d.ts.map +1 -0
  853. package/dist/serve/worker/index.js +61 -0
  854. package/dist/serve/worker/index.js.map +1 -0
  855. package/dist/serve/worker/presence-timing.d.ts +14 -0
  856. package/dist/serve/worker/presence-timing.d.ts.map +1 -0
  857. package/dist/serve/worker/presence-timing.js +14 -0
  858. package/dist/serve/worker/presence-timing.js.map +1 -0
  859. package/dist/serve/worker/protocol.d.ts +1150 -0
  860. package/dist/serve/worker/protocol.d.ts.map +1 -0
  861. package/dist/serve/worker/protocol.js +228 -0
  862. package/dist/serve/worker/protocol.js.map +1 -0
  863. package/dist/serve/worker/serve-init.d.ts +201 -0
  864. package/dist/serve/worker/serve-init.d.ts.map +1 -0
  865. package/dist/serve/worker/serve-init.js +579 -0
  866. package/dist/serve/worker/serve-init.js.map +1 -0
  867. package/dist/serve/worker/service-worker-channel.d.ts +23 -0
  868. package/dist/serve/worker/service-worker-channel.d.ts.map +1 -0
  869. package/dist/serve/worker/service-worker-channel.js +9 -0
  870. package/dist/serve/worker/service-worker-channel.js.map +1 -0
  871. package/dist/serve/worker/service-worker-relay.d.ts +22 -0
  872. package/dist/serve/worker/service-worker-relay.d.ts.map +1 -0
  873. package/dist/serve/worker/service-worker-relay.js +63 -0
  874. package/dist/serve/worker/service-worker-relay.js.map +1 -0
  875. package/dist/serve/writer-lock.d.ts +32 -0
  876. package/dist/serve/writer-lock.d.ts.map +1 -0
  877. package/dist/serve/writer-lock.js +43 -0
  878. package/dist/serve/writer-lock.js.map +1 -0
  879. package/dist/verify/cases.d.ts +37 -0
  880. package/dist/verify/cases.d.ts.map +1 -0
  881. package/dist/verify/cases.js +173 -0
  882. package/dist/verify/cases.js.map +1 -0
  883. package/dist/verify/fixture.d.ts +100 -0
  884. package/dist/verify/fixture.d.ts.map +1 -0
  885. package/dist/verify/fixture.js +156 -0
  886. package/dist/verify/fixture.js.map +1 -0
  887. package/dist/verify/index.d.ts +102 -0
  888. package/dist/verify/index.d.ts.map +1 -0
  889. package/dist/verify/index.js +318 -0
  890. package/dist/verify/index.js.map +1 -0
  891. package/dist/verify/tools.d.ts +7 -0
  892. package/dist/verify/tools.d.ts.map +1 -0
  893. package/dist/verify/tools.js +83 -0
  894. package/dist/verify/tools.js.map +1 -0
  895. package/dist/version/compat-target.d.ts +18 -0
  896. package/dist/version/compat-target.d.ts.map +1 -0
  897. package/dist/version/compat-target.js +18 -0
  898. package/dist/version/compat-target.js.map +1 -0
  899. package/dist/vite.d.ts +12 -0
  900. package/dist/vite.d.ts.map +1 -0
  901. package/dist/vite.js +16 -0
  902. package/dist/vite.js.map +1 -0
  903. package/package.json +144 -0
@@ -0,0 +1,1687 @@
1
+
2
+ <!-- Generated from published package declarations via TypeDoc. Do not edit by hand; run bun run docs:api:generate. -->
3
+
4
+ ## Classes
5
+
6
+ <a id="inspectstoragehandler"></a>
7
+
8
+ ### InspectStorageHandler
9
+
10
+ #### Constructors
11
+
12
+ <a id="constructor"></a>
13
+
14
+ ##### Constructor
15
+
16
+ ```ts
17
+ new InspectStorageHandler(): InspectStorageHandler;
18
+ ```
19
+
20
+ ###### Returns
21
+
22
+ [`InspectStorageHandler`](#inspectstoragehandler)
23
+
24
+ #### Methods
25
+
26
+ <a id="execute"></a>
27
+
28
+ ##### execute()
29
+
30
+ ```ts
31
+ execute(scope: ProjectScope): Promise<InspectStorageResult>;
32
+ ```
33
+
34
+ ###### Parameters
35
+
36
+ | Parameter | Type |
37
+ | :------ | :------ |
38
+ | `scope` | `ProjectScope` |
39
+
40
+ ###### Returns
41
+
42
+ `Promise`\<[`InspectStorageResult`](#inspectstorageresult)\>
43
+
44
+ ***
45
+
46
+ <a id="provisionstoragehandler"></a>
47
+
48
+ ### ProvisionStorageHandler
49
+
50
+ #### Constructors
51
+
52
+ <a id="constructor-1"></a>
53
+
54
+ ##### Constructor
55
+
56
+ ```ts
57
+ new ProvisionStorageHandler(): ProvisionStorageHandler;
58
+ ```
59
+
60
+ ###### Returns
61
+
62
+ [`ProvisionStorageHandler`](#provisionstoragehandler)
63
+
64
+ #### Methods
65
+
66
+ <a id="execute-2"></a>
67
+
68
+ ##### execute()
69
+
70
+ ```ts
71
+ execute(
72
+ scope: ProjectScope,
73
+ input: ProvisionStorageInput,
74
+ onProgress?: ProvisionProgress): Promise<ProvisionStorageOutcome>;
75
+ ```
76
+
77
+ ###### Parameters
78
+
79
+ | Parameter | Type |
80
+ | :------ | :------ |
81
+ | `scope` | `ProjectScope` |
82
+ | `input` | [`ProvisionStorageInput`](#provisionstorageinput) |
83
+ | `onProgress?` | `ProvisionProgress` |
84
+
85
+ ###### Returns
86
+
87
+ `Promise`\<[`ProvisionStorageOutcome`](#provisionstorageoutcome)\>
88
+
89
+ ***
90
+
91
+ <a id="storageerror"></a>
92
+
93
+ ### StorageError
94
+
95
+ Storage error carrying a prefixed `storage/<code>` on `.code`.
96
+ Drop-in for `err.code === 'storage/object-not-found'` branching.
97
+
98
+ #### Extends
99
+
100
+ - `Error`
101
+
102
+ #### Constructors
103
+
104
+ <a id="constructor-2"></a>
105
+
106
+ ##### Constructor
107
+
108
+ ```ts
109
+ new StorageError(code: StorageErrorCode, message: string): StorageError;
110
+ ```
111
+
112
+ ###### Parameters
113
+
114
+ | Parameter | Type |
115
+ | :------ | :------ |
116
+ | `code` | [`StorageErrorCode`](#storageerrorcode-1) |
117
+ | `message` | `string` |
118
+
119
+ ###### Returns
120
+
121
+ [`StorageError`](#storageerror)
122
+
123
+ ###### Overrides
124
+
125
+ ```ts
126
+ Error.constructor
127
+ ```
128
+
129
+ #### Properties
130
+
131
+ | Property | Modifier | Type | Description |
132
+ | :------ | :------ | :------ | :------ |
133
+ | <a id="code"></a> `code` | `readonly` | \| `"storage/unknown"` \| `"storage/object-not-found"` \| `"storage/quota-exceeded"` \| `"storage/unauthenticated"` \| `"storage/unauthorized"` \| `"storage/invalid-root-operation"` \| `"storage/invalid-format"` \| `"storage/invalid-argument"` | Prefixed code, e.g. `storage/object-not-found`. |
134
+
135
+ ***
136
+
137
+ <a id="storageprovisioningerror"></a>
138
+
139
+ ### StorageProvisioningError
140
+
141
+ Pure-fetch client for the Firebase Storage provisioning APIs.
142
+ Takes an OAuth access token directly — works equally from a Node
143
+ agent runtime or a browser. Used by:
144
+
145
+ - `ProvisionStorageHandler` server-side via the agent SDK
146
+ - Consumers like the multi-tenant playground via direct import
147
+
148
+ The caller is responsible for token scope. `firebase` scope is
149
+ enough for the `:addFirebase` + `defaultLocation:finalize` calls,
150
+ but **NOT** for enabling the underlying `firebasestorage.googleapis.com`
151
+ service (which is the first-time gate). Service-enable requires
152
+ `cloud-platform` scope OR a service account with
153
+ `roles/serviceusage.serviceUsageAdmin`. Each function below
154
+ documents which scope it needs.
155
+
156
+ Endpoints under play:
157
+ - serviceusage.googleapis.com/v1/projects/{p}/services/{s}:enable
158
+ - firebase.googleapis.com/v1beta1/projects/{p}/defaultLocation:finalize
159
+ - firebasestorage.googleapis.com/v1beta/projects/{p}/buckets
160
+ - firebasestorage.googleapis.com/v1beta/projects/{p}/buckets/{b}:addFirebase
161
+ - firebaserules.googleapis.com/v1/projects/{p}/releases/firebase.storage
162
+
163
+ #### Extends
164
+
165
+ - `Error`
166
+
167
+ #### Constructors
168
+
169
+ <a id="constructor-3"></a>
170
+
171
+ ##### Constructor
172
+
173
+ ```ts
174
+ new StorageProvisioningError(
175
+ status: number,
176
+ body: string,
177
+ reason: string,
178
+ message: string): StorageProvisioningError;
179
+ ```
180
+
181
+ ###### Parameters
182
+
183
+ | Parameter | Type |
184
+ | :------ | :------ |
185
+ | `status` | `number` |
186
+ | `body` | `string` |
187
+ | `reason` | `string` |
188
+ | `message` | `string` |
189
+
190
+ ###### Returns
191
+
192
+ [`StorageProvisioningError`](#storageprovisioningerror)
193
+
194
+ ###### Overrides
195
+
196
+ ```ts
197
+ Error.constructor
198
+ ```
199
+
200
+ #### Properties
201
+
202
+ | Property | Modifier | Type |
203
+ | :------ | :------ | :------ |
204
+ | <a id="body"></a> `body` | `readonly` | `string` |
205
+ | <a id="reason"></a> `reason` | `readonly` | `string` |
206
+ | <a id="status"></a> `status` | `readonly` | `number` |
207
+
208
+ ## Interfaces
209
+
210
+ <a id="corsrule"></a>
211
+
212
+ ### CorsRule
213
+
214
+ A single CORS rule entry, mirroring the GCS bucket CORS schema.
215
+ See https://cloud.google.com/storage/docs/cross-origin#cors-elements.
216
+
217
+ #### Properties
218
+
219
+ | Property | Type |
220
+ | :------ | :------ |
221
+ | <a id="maxageseconds"></a> `maxAgeSeconds?` | `number` |
222
+ | <a id="method"></a> `method` | `string`[] |
223
+ | <a id="origin"></a> `origin` | `string`[] |
224
+ | <a id="responseheader"></a> `responseHeader?` | `string`[] |
225
+
226
+ ***
227
+
228
+ <a id="evaluationinput"></a>
229
+
230
+ ### EvaluationInput
231
+
232
+ #### Properties
233
+
234
+ | Property | Type |
235
+ | :------ | :------ |
236
+ | <a id="request"></a> `request` | [`StorageRequest`](#storagerequest) |
237
+ | <a id="resource"></a> `resource` | [`StorageResource`](#storageresource) |
238
+
239
+ ***
240
+
241
+ <a id="evaluationresult"></a>
242
+
243
+ ### EvaluationResult
244
+
245
+ #### Properties
246
+
247
+ | Property | Type | Description |
248
+ | :------ | :------ | :------ |
249
+ | <a id="allowed"></a> `allowed` | `boolean` | - |
250
+ | <a id="reasons"></a> `reasons` | `string`[] | Human-readable explanation of why — used by Slice 8's integration to populate `storage/unauthorized` error messages. |
251
+
252
+ ***
253
+
254
+ <a id="firebasestorage"></a>
255
+
256
+ ### FirebaseStorage
257
+
258
+ Public opaque handle. Carries a [Target](#target) via
259
+ [TARGET\_SYMBOL](#target_symbol-1); never inspected by consumer code, which
260
+ interacts with storage only through [ref](#ref-1) and the operation
261
+ free functions.
262
+
263
+ #### Properties
264
+
265
+ | Property | Modifier | Type |
266
+ | :------ | :------ | :------ |
267
+ | <a id="target_symbol"></a> `[TARGET_SYMBOL]` | `readonly` | [`SandboxTarget`](#sandboxtarget) |
268
+ | <a id="app"></a> `app?` | `readonly` | `FirebaseApp` |
269
+
270
+ ***
271
+
272
+ <a id="firebasestoragebucket"></a>
273
+
274
+ ### FirebaseStorageBucket
275
+
276
+ #### Properties
277
+
278
+ | Property | Type |
279
+ | :------ | :------ |
280
+ | <a id="bucketid"></a> `bucketId` | `string` |
281
+ | <a id="name"></a> `name` | `string` |
282
+ | <a id="reconciling"></a> `reconciling?` | `boolean` |
283
+
284
+ ***
285
+
286
+ <a id="firestorelookup"></a>
287
+
288
+ ### FirestoreLookup
289
+
290
+ Injected capability that lets a Storage rule read Firestore documents
291
+ (`firestore.get(path)` / `firestore.exists(path)`), WITHOUT the pure
292
+ evaluator importing the Firestore sandbox. The enforcement layer builds
293
+ one from the sandbox's admin Firestore accessor (a synchronous in-memory
294
+ read) and passes it into [evaluateStorageRules](#evaluatestoragerules); pure/test callers
295
+ that omit it get the deny-with-reason "unsupported" behavior instead.
296
+
297
+ Paths are the document path RELATIVE to the database — the
298
+ `collection/doc` form `sandbox.admin.getDocument` expects — after the
299
+ evaluator has stripped the `/databases/<db>/documents/` prefix from the
300
+ rule's path literal.
301
+
302
+ #### Methods
303
+
304
+ <a id="exists"></a>
305
+
306
+ ##### exists()
307
+
308
+ ```ts
309
+ exists(path: string): boolean;
310
+ ```
311
+
312
+ Whether a document exists at `path`.
313
+
314
+ ###### Parameters
315
+
316
+ | Parameter | Type |
317
+ | :------ | :------ |
318
+ | `path` | `string` |
319
+
320
+ ###### Returns
321
+
322
+ `boolean`
323
+
324
+ <a id="get"></a>
325
+
326
+ ##### get()
327
+
328
+ ```ts
329
+ get(path: string): Record<string, unknown>;
330
+ ```
331
+
332
+ The document's fields, or `null` when the document does not exist.
333
+
334
+ ###### Parameters
335
+
336
+ | Parameter | Type |
337
+ | :------ | :------ |
338
+ | `path` | `string` |
339
+
340
+ ###### Returns
341
+
342
+ `Record`\<`string`, `unknown`\>
343
+
344
+ ***
345
+
346
+ <a id="fullmetadata"></a>
347
+
348
+ ### FullMetadata
349
+
350
+ Server-set + client-settable fields read back from
351
+ `uploadBytes` / `getMetadata` / `updateMetadata`. Server-set
352
+ fields (`bucket`, `fullPath`, `name`, `generation`,
353
+ `metageneration`, `timeCreated`, `updated`, `size`) are populated
354
+ by the upload pipeline; client-settable fields round-trip from
355
+ `SettableMetadata`.
356
+
357
+ #### Extends
358
+
359
+ - [`SettableMetadata`](#settablemetadata)
360
+
361
+ #### Properties
362
+
363
+ | Property | Type |
364
+ | :------ | :------ |
365
+ | <a id="bucket"></a> `bucket` | `string` |
366
+ | <a id="cachecontrol"></a> `cacheControl?` | `string` |
367
+ | <a id="contentdisposition"></a> `contentDisposition?` | `string` |
368
+ | <a id="contentencoding"></a> `contentEncoding?` | `string` |
369
+ | <a id="contentlanguage"></a> `contentLanguage?` | `string` |
370
+ | <a id="contenttype"></a> `contentType?` | `string` |
371
+ | <a id="custommetadata"></a> `customMetadata?` | \{ \[`key`: `string`\]: `string`; \} |
372
+ | <a id="fullpath"></a> `fullPath` | `string` |
373
+ | <a id="generation"></a> `generation` | `string` |
374
+ | <a id="md5hash"></a> `md5Hash?` | `string` |
375
+ | <a id="metageneration"></a> `metageneration` | `string` |
376
+ | <a id="name-1"></a> `name` | `string` |
377
+ | <a id="size"></a> `size` | `number` |
378
+ | <a id="timecreated"></a> `timeCreated` | `string` |
379
+ | <a id="updated"></a> `updated` | `string` |
380
+
381
+ ***
382
+
383
+ <a id="inspectstorageresult"></a>
384
+
385
+ ### InspectStorageResult
386
+
387
+ #### Properties
388
+
389
+ | Property | Type |
390
+ | :------ | :------ |
391
+ | <a id="buckets"></a> `buckets` | \{ `bucketId`: `string`; `name`: `string`; \}[] |
392
+ | <a id="defaultlocation"></a> `defaultLocation` | `string` |
393
+ | <a id="servicestate"></a> `serviceState` | `"unknown"` \| `"enabled"` \| `"disabled"` |
394
+
395
+ ***
396
+
397
+ <a id="listresult"></a>
398
+
399
+ ### ListResult
400
+
401
+ Mirrors `firebase/storage`'s `ListResult`. `nextPageToken` is
402
+ `undefined` for `listAll`; query `pyric can-i-use storage/list` for the
403
+ current availability of the separate paginated operation.
404
+
405
+ #### Properties
406
+
407
+ | Property | Type |
408
+ | :------ | :------ |
409
+ | <a id="items"></a> `items` | [`StorageReference`](#storagereference)[] |
410
+ | <a id="nextpagetoken"></a> `nextPageToken?` | `string` |
411
+ | <a id="prefixes"></a> `prefixes` | [`StorageReference`](#storagereference)[] |
412
+
413
+ ***
414
+
415
+ <a id="provisionstorageinput"></a>
416
+
417
+ ### ProvisionStorageInput
418
+
419
+ Shapes for the Storage provisioning + status tools.
420
+
421
+ Types only — the agent-tool parameter schemas live inline in
422
+ `tools.ts` as JSON Schema (the `ToolHandler` contract).
423
+
424
+ #### Properties
425
+
426
+ | Property | Type | Description |
427
+ | :------ | :------ | :------ |
428
+ | <a id="bucketid-1"></a> `bucketId?` | `string` | Override the default Firebase Storage bucket ID. Defaults to `{projectId}.firebasestorage.app`. |
429
+ | <a id="cors"></a> `cors?` | \{ `maxAgeSeconds?`: `number`; `method`: `string`[]; `origin`: `string`[]; `responseHeader?`: `string`[]; \}[] | CORS rules to apply to the bucket. Required for browser-side reads/writes from a non-Firebase origin. Omit to leave existing CORS untouched. |
430
+ | <a id="locationid"></a> `locationId?` | `string` | Default GCP resources location to use when the project has not been finalized yet. IRREVERSIBLE once set. Common values: `us-central`, `nam5`, `eur3`. Default: `us-central`. |
431
+ | <a id="rules"></a> `rules?` | `string` | Storage rules source to deploy after the bucket is linked. Optional; when omitted, whatever rules are currently released (possibly the deny-all default) stay in place. |
432
+
433
+ ***
434
+
435
+ <a id="provisionstorageoptions"></a>
436
+
437
+ ### ProvisionStorageOptions
438
+
439
+ #### Properties
440
+
441
+ | Property | Type | Description |
442
+ | :------ | :------ | :------ |
443
+ | <a id="bucketid-2"></a> `bucketId?` | `string` | Override the default Firebase Storage bucket ID. Defaults to `{projectId}.firebasestorage.app` — the bucket Firebase Console creates automatically. |
444
+ | <a id="cors-1"></a> `cors?` | [`CorsRule`](#corsrule)[] | CORS rules to apply to the bucket after it's linked. Required for browser-side reads/writes from a non-Firebase origin — buckets created via the Cloud Console (vs Firebase Console) often ship with no CORS configuration, which manifests as `No 'Access-Control-Allow-Origin' header` on the first `XMLHttpRequest` from a hosted page. Pass `defaultPlaygroundCors(origin)` for a sensible starter config, or a custom array. Omit to leave the bucket's CORS alone. |
445
+ | <a id="locationid-1"></a> `locationId?` | `string` | Default GCP resources location to use if the project hasn't been finalized yet. Ignored when the location is already set. Default: `'us-central'`. |
446
+ | <a id="onprogress"></a> `onProgress?` | `ProvisionProgress` | Optional progress callback, invoked at each provisioning step boundary. |
447
+ | <a id="rules-1"></a> `rules?` | `string` | Storage rules source to deploy after the bucket is linked. When omitted, no rules are deployed (the project keeps whatever rules were last released — possibly the default deny-all). |
448
+
449
+ ***
450
+
451
+ <a id="provisionstorageresult"></a>
452
+
453
+ ### ProvisionStorageResult
454
+
455
+ #### Properties
456
+
457
+ | Property | Type |
458
+ | :------ | :------ |
459
+ | <a id="bucketcreated"></a> `bucketCreated` | `boolean` |
460
+ | <a id="bucketid-3"></a> `bucketId` | `string` |
461
+ | <a id="corsapplied"></a> `corsApplied` | `boolean` |
462
+ | <a id="locationfinalized"></a> `locationFinalized` | `boolean` |
463
+ | <a id="locationid-2"></a> `locationId` | `string` |
464
+ | <a id="ok"></a> `ok` | `true` |
465
+ | <a id="rulesdeployed"></a> `rulesDeployed` | `boolean` |
466
+ | <a id="rulesetname"></a> `rulesetName?` | `string` |
467
+ | <a id="serviceenabled"></a> `serviceEnabled` | `boolean` |
468
+
469
+ ***
470
+
471
+ <a id="sandboxtarget"></a>
472
+
473
+ ### SandboxTarget
474
+
475
+ Sandbox target — IDB-backed, identity from `SandboxContext`, rules
476
+ enforced in-process via `enforce.ts`.
477
+
478
+ #### Properties
479
+
480
+ | Property | Modifier | Type | Description |
481
+ | :------ | :------ | :------ | :------ |
482
+ | <a id="admin"></a> `admin?` | `readonly` | `boolean` | Rules-bypass admin plane. `true` only on handles minted by the INTERNAL getAdminStorageSandbox factory (exported via `pyric/storage/internal`, never the public surface): operations on an admin handle skip rule evaluation entirely — the storage mirror of `getAdminFirestore` / `getAdminDatabase`. The public modular surface stays rules-honest; this exists so hosts (the SharedWorker's `actAs: { mode: 'admin' }` lens) can serve firebase-admin semantics against the same shared store. |
483
+ | <a id="bucket-1"></a> `bucket` | `readonly` | `string` | - |
484
+ | <a id="context"></a> `context` | `readonly` | `SandboxContext` | - |
485
+ | <a id="currentauth"></a> `currentAuth?` | `readonly` | () => `AuthState` | App handles resolve auth at operation time; explicit contexts stay frozen. |
486
+ | <a id="kind"></a> `kind` | `readonly` | `"sandbox"` | - |
487
+ | <a id="sandbox"></a> `sandbox` | `readonly` | `Sandbox` | - |
488
+ | <a id="servicepromise"></a> `servicePromise` | `readonly` | `Promise`\<`StorageService`\> | - |
489
+
490
+ ***
491
+
492
+ <a id="settablemetadata"></a>
493
+
494
+ ### SettableMetadata
495
+
496
+ Client-settable fields. Passed to `uploadBytes` /
497
+ `uploadString` / `updateMetadata`. Every field is optional — the
498
+ upload pipeline fills any unsupplied client fields with sane
499
+ defaults (e.g. `contentType` falls back to `application/octet-stream`).
500
+
501
+ #### Extended by
502
+
503
+ - [`FullMetadata`](#fullmetadata)
504
+
505
+ #### Properties
506
+
507
+ | Property | Type |
508
+ | :------ | :------ |
509
+ | <a id="cachecontrol-1"></a> `cacheControl?` | `string` |
510
+ | <a id="contentdisposition-1"></a> `contentDisposition?` | `string` |
511
+ | <a id="contentencoding-1"></a> `contentEncoding?` | `string` |
512
+ | <a id="contentlanguage-1"></a> `contentLanguage?` | `string` |
513
+ | <a id="contenttype-1"></a> `contentType?` | `string` |
514
+ | <a id="custommetadata-1"></a> `customMetadata?` | \{ \[`key`: `string`\]: `string`; \} |
515
+
516
+ ***
517
+
518
+ <a id="storageadmintooldeps"></a>
519
+
520
+ ### StorageAdminToolDeps
521
+
522
+ #### Properties
523
+
524
+ | Property | Type | Description |
525
+ | :------ | :------ | :------ |
526
+ | <a id="scope"></a> `scope` | `ProjectScope` | Project identity + token resolver. |
527
+
528
+ ***
529
+
530
+ <a id="storageauth"></a>
531
+
532
+ ### StorageAuth
533
+
534
+ Identity passed in with the request. `null` is anonymous.
535
+
536
+ #### Properties
537
+
538
+ | Property | Type |
539
+ | :------ | :------ |
540
+ | <a id="token"></a> `token?` | `Record`\<`string`, `unknown`\> |
541
+ | <a id="uid"></a> `uid` | `string` |
542
+
543
+ ***
544
+
545
+ <a id="storageoptions"></a>
546
+
547
+ ### StorageOptions
548
+
549
+ Options for [getStorageSandbox](#getstoragesandbox).
550
+
551
+ #### Properties
552
+
553
+ | Property | Type | Description |
554
+ | :------ | :------ | :------ |
555
+ | <a id="bucket-2"></a> `bucket?` | `string` | Bucket identifier recorded on uploaded metadata. v1 has a single implicit bucket and does not enforce cross-bucket isolation — passing different values per call is accepted and round-trips in metadata, but the data store is shared. |
556
+ | <a id="dbname"></a> `dbName?` | `string` | Override the IndexedDB database name. Tests pass per-case unique names so state doesn't leak between runs. Only takes effect on the FIRST call per `Sandbox`. |
557
+ | <a id="rules-2"></a> `rules?` | `string` | Storage rules source. Parsed eagerly so a malformed string throws at config time. Only honored on the FIRST call per `Sandbox`. |
558
+
559
+ ***
560
+
561
+ <a id="storagereference"></a>
562
+
563
+ ### StorageReference
564
+
565
+ Public reference shape. Methods are inherited from the impl
566
+ classes below; the interface is exported so consumer code can
567
+ name the type without depending on the impls.
568
+
569
+ #### Properties
570
+
571
+ | Property | Modifier | Type |
572
+ | :------ | :------ | :------ |
573
+ | <a id="bucket-3"></a> `bucket` | `readonly` | `string` |
574
+ | <a id="fullpath-1"></a> `fullPath` | `readonly` | `string` |
575
+ | <a id="name-2"></a> `name` | `readonly` | `string` |
576
+ | <a id="parent"></a> `parent` | `readonly` | [`StorageReference`](#storagereference) |
577
+ | <a id="root"></a> `root` | `readonly` | [`StorageReference`](#storagereference) |
578
+ | <a id="storage"></a> `storage` | `readonly` | [`FirebaseStorage`](#firebasestorage) |
579
+
580
+ #### Methods
581
+
582
+ <a id="tostring"></a>
583
+
584
+ ##### toString()
585
+
586
+ ```ts
587
+ toString(): string;
588
+ ```
589
+
590
+ ###### Returns
591
+
592
+ `string`
593
+
594
+ ***
595
+
596
+ <a id="storagerequest"></a>
597
+
598
+ ### StorageRequest
599
+
600
+ Inbound request bindings the rules see.
601
+
602
+ #### Properties
603
+
604
+ | Property | Type | Description |
605
+ | :------ | :------ | :------ |
606
+ | <a id="auth"></a> `auth` | [`StorageAuth`](#storageauth) | - |
607
+ | <a id="method-1"></a> `method` | [`StorageRequestMethod`](#storagerequestmethod-1) | - |
608
+ | <a id="path"></a> `path` | `string` | Path of the object the request targets. |
609
+ | <a id="resource-1"></a> `resource?` | \{ `contentType?`: `string`; `metadata?`: `Record`\<`string`, `string`\>; `size`: `number`; \} | Per-Firebase: on writes, `request.resource` describes the about-to-write object. Omit for reads (the rules language treats `request.resource` as unset there). |
610
+ | `resource.contentType?` | `string` | - |
611
+ | `resource.metadata?` | `Record`\<`string`, `string`\> | - |
612
+ | `resource.size` | `number` | - |
613
+
614
+ ***
615
+
616
+ <a id="storageresource"></a>
617
+
618
+ ### StorageResource
619
+
620
+ Existing-object bindings (for `resource.*`). `null` when no object exists
621
+ yet (creates).
622
+
623
+ The object-identity/time fields carry GOOGLE CLOUD STORAGE semantics, not
624
+ the client SDK's `FullMetadata` semantics — the two disagree on `name`:
625
+
626
+ - rules `resource.name` is the object's FULL path within the bucket
627
+ (`uploads/pic.png`), the GCS object-name convention. The client SDK's
628
+ `FullMetadata.name` is the LAST path segment (`pic.png`). The adapter
629
+ (`resourceFromStored`) therefore sources `name` from the persisted
630
+ record's `fullPath`, NOT its `name`.
631
+ - `timeCreated` / `updated` are ISO-8601 strings here (the persisted
632
+ shape); the evaluator converts them to epoch millis when it builds the
633
+ binding, so they compare numerically against `request.time` and against
634
+ each other. Production types them as `timestamp` and rejects an int in
635
+ their place ("Received: int < timestamp").
636
+ - The update-time field is `updated`. There is NO `resource.timeUpdated`
637
+ in the Storage rules language.
638
+
639
+ A field left `undefined` reads as ABSENT, which production treats as an
640
+ evaluation error that denies (see RuleError).
641
+
642
+ #### Properties
643
+
644
+ | Property | Type | Description |
645
+ | :------ | :------ | :------ |
646
+ | <a id="bucket-4"></a> `bucket?` | `string` | Bucket the object lives in. |
647
+ | <a id="contenttype-2"></a> `contentType?` | `string` | - |
648
+ | <a id="generation-1"></a> `generation?` | `number` | Content generation (production types it `int`). |
649
+ | <a id="metadata"></a> `metadata?` | `Record`\<`string`, `string`\> | - |
650
+ | <a id="metageneration-1"></a> `metageneration?` | `number` | Metadata generation (production types it `int`). |
651
+ | <a id="name-3"></a> `name?` | `string` | Full object path within the bucket, e.g. `uploads/pic.png`. |
652
+ | <a id="size-1"></a> `size` | `number` | - |
653
+ | <a id="timecreated-1"></a> `timeCreated?` | `string` | ISO-8601 creation time. |
654
+ | <a id="updated-1"></a> `updated?` | `string` | ISO-8601 time of the most recent content/metadata update. |
655
+
656
+ ***
657
+
658
+ <a id="storagerules"></a>
659
+
660
+ ### StorageRules
661
+
662
+ Opaque parsed-rules handle returned by `parseStorageRules`.
663
+
664
+ ***
665
+
666
+ <a id="uploadresult"></a>
667
+
668
+ ### UploadResult
669
+
670
+ Return shape of `uploadBytes` / `uploadString`.
671
+
672
+ #### Properties
673
+
674
+ | Property | Type |
675
+ | :------ | :------ |
676
+ | <a id="metadata-1"></a> `metadata` | [`FullMetadata`](#fullmetadata) |
677
+ | <a id="ref"></a> `ref` | [`StorageReference`](#storagereference) |
678
+
679
+ ## Type Aliases
680
+
681
+ <a id="provisionstorageerrorcode"></a>
682
+
683
+ ### ProvisionStorageErrorCode
684
+
685
+ ```ts
686
+ type ProvisionStorageErrorCode =
687
+ | "PERMISSION_DENIED"
688
+ | "SERVICE_DISABLED"
689
+ | "LOCATION_FINALIZE_FAILED"
690
+ | "BUCKET_CREATE_FAILED"
691
+ | "RULES_DEPLOY_FAILED"
692
+ | "CORS_UPDATE_FAILED"
693
+ | "UNKNOWN";
694
+ ```
695
+
696
+ ***
697
+
698
+ <a id="provisionstorageoutcome"></a>
699
+
700
+ ### ProvisionStorageOutcome
701
+
702
+ ```ts
703
+ type ProvisionStorageOutcome =
704
+ | {
705
+ bucketCreated: boolean;
706
+ bucketId: string;
707
+ corsApplied: boolean;
708
+ locationFinalized: boolean;
709
+ locationId: string | null;
710
+ rulesDeployed: boolean;
711
+ rulesetName?: string;
712
+ serviceEnabled: boolean;
713
+ success: true;
714
+ }
715
+ | {
716
+ error: {
717
+ code: ProvisionStorageErrorCode;
718
+ message: string;
719
+ recoverable: boolean;
720
+ };
721
+ success: false;
722
+ };
723
+ ```
724
+
725
+ ***
726
+
727
+ <a id="serviceenablestate"></a>
728
+
729
+ ### ServiceEnableState
730
+
731
+ ```ts
732
+ type ServiceEnableState = "enabled" | "disabled" | "unknown";
733
+ ```
734
+
735
+ ***
736
+
737
+ <a id="storageerrorcode-1"></a>
738
+
739
+ ### StorageErrorCode
740
+
741
+ ```ts
742
+ type StorageErrorCode =
743
+ | "unknown"
744
+ | "object-not-found"
745
+ | "quota-exceeded"
746
+ | "unauthenticated"
747
+ | "unauthorized"
748
+ | "invalid-root-operation"
749
+ | "invalid-format"
750
+ | "invalid-argument";
751
+ ```
752
+
753
+ The unprefixed storage error codes the sandbox can raise. Mirrors
754
+ the subset of `StorageErrorCode` used by currently implemented operations.
755
+
756
+ ***
757
+
758
+ <a id="storagegrantverb"></a>
759
+
760
+ ### StorageGrantVerb
761
+
762
+ ```ts
763
+ type StorageGrantVerb = StorageMethod | StorageVerb;
764
+ ```
765
+
766
+ A verb token that may appear in an `allow` clause.
767
+
768
+ ***
769
+
770
+ <a id="storagemethod"></a>
771
+
772
+ ### StorageMethod
773
+
774
+ ```ts
775
+ type StorageMethod = "read" | "write";
776
+ ```
777
+
778
+ Coarse permission umbrellas. `read` covers get + list; `write`
779
+ covers create + update + delete.
780
+
781
+ ***
782
+
783
+ <a id="storagerequestmethod-1"></a>
784
+
785
+ ### StorageRequestMethod
786
+
787
+ ```ts
788
+ type StorageRequestMethod = StorageMethod | StorageVerb;
789
+ ```
790
+
791
+ What a caller records as the request's operation. Callers pass the
792
+ precise granular verb; the coarse forms remain accepted so the
793
+ umbrella semantics are symmetric.
794
+
795
+ ***
796
+
797
+ <a id="storageverb"></a>
798
+
799
+ ### StorageVerb
800
+
801
+ ```ts
802
+ type StorageVerb = "get" | "list" | "create" | "update" | "delete";
803
+ ```
804
+
805
+ Granular operation verbs. Production Storage maps each operation to
806
+ exactly one of these:
807
+ download / getMetadata → get
808
+ list → list
809
+ upload to NONEXISTENT path → create
810
+ upload / updateMetadata over
811
+ an EXISTING object → update
812
+ delete → delete
813
+
814
+ ***
815
+
816
+ <a id="stringformat"></a>
817
+
818
+ ### StringFormat
819
+
820
+ ```ts
821
+ type StringFormat = "raw" | "base64" | "data_url";
822
+ ```
823
+
824
+ `uploadString` format selector.
825
+
826
+ ***
827
+
828
+ <a id="target"></a>
829
+
830
+ ### Target
831
+
832
+ ```ts
833
+ type Target = SandboxTarget;
834
+ ```
835
+
836
+ ## Variables
837
+
838
+ <a id="target_symbol-1"></a>
839
+
840
+ ### TARGET\_SYMBOL
841
+
842
+ ```ts
843
+ const TARGET_SYMBOL: unique symbol;
844
+ ```
845
+
846
+ Hidden property on every [FirebaseStorage](#firebasestorage) handle. Carries
847
+ the sandbox state free functions share without exposing it publicly.
848
+
849
+ ## Functions
850
+
851
+ <a id="addfirebasetobucket"></a>
852
+
853
+ ### addFirebaseToBucket()
854
+
855
+ ```ts
856
+ function addFirebaseToBucket(
857
+ accessToken: string,
858
+ projectId: string,
859
+ bucketId: string): Promise<FirebaseStorageBucket>;
860
+ ```
861
+
862
+ Link a Cloud Storage bucket to Firebase Storage. Idempotent — if
863
+ the bucket is already Firebase-linked, the API returns 200 with
864
+ the existing record. The bucket must already exist as a GCS
865
+ resource; for the default Firebase bucket name
866
+ (`{projectId}.firebasestorage.app`), Firebase auto-creates it on
867
+ first `:addFirebase` call.
868
+
869
+ #### Parameters
870
+
871
+ | Parameter | Type |
872
+ | :------ | :------ |
873
+ | `accessToken` | `string` |
874
+ | `projectId` | `string` |
875
+ | `bucketId` | `string` |
876
+
877
+ #### Returns
878
+
879
+ `Promise`\<[`FirebaseStorageBucket`](#firebasestoragebucket)\>
880
+
881
+ ***
882
+
883
+ <a id="connectstorageemulator"></a>
884
+
885
+ ### connectStorageEmulator()
886
+
887
+ ```ts
888
+ function connectStorageEmulator(
889
+ _storage: FirebaseStorage,
890
+ _host: string,
891
+ _port: number,
892
+ _options?: {
893
+ mockUserToken?: string | Record<string, unknown>;
894
+ }): void;
895
+ ```
896
+
897
+ Accepted no-op because the selected Storage backend already is local.
898
+
899
+ #### Parameters
900
+
901
+ | Parameter | Type |
902
+ | :------ | :------ |
903
+ | `_storage` | [`FirebaseStorage`](#firebasestorage) |
904
+ | `_host` | `string` |
905
+ | `_port` | `number` |
906
+ | `_options?` | \{ `mockUserToken?`: `string` \| `Record`\<`string`, `unknown`\>; \} |
907
+ | `_options.mockUserToken?` | `string` \| `Record`\<`string`, `unknown`\> |
908
+
909
+ #### Returns
910
+
911
+ `void`
912
+
913
+ ***
914
+
915
+ <a id="createstorageadmintools"></a>
916
+
917
+ ### createStorageAdminTools()
918
+
919
+ ```ts
920
+ function createStorageAdminTools(deps: StorageAdminToolDeps): ToolHandler<unknown, unknown>[];
921
+ ```
922
+
923
+ Bundles:
924
+ - `storage_get_status`
925
+ - `storage_provision`
926
+
927
+ #### Parameters
928
+
929
+ | Parameter | Type |
930
+ | :------ | :------ |
931
+ | `deps` | [`StorageAdminToolDeps`](#storageadmintooldeps) |
932
+
933
+ #### Returns
934
+
935
+ `ToolHandler`\<`unknown`, `unknown`\>[]
936
+
937
+ ***
938
+
939
+ <a id="defaultplaygroundcors"></a>
940
+
941
+ ### defaultPlaygroundCors()
942
+
943
+ ```ts
944
+ function defaultPlaygroundCors(hostingOrigin: string): CorsRule[];
945
+ ```
946
+
947
+ Default rule for a browser playground hosted on Firebase Hosting.
948
+ Allows GET/POST/PUT/DELETE/HEAD/OPTIONS from the Hosting origin
949
+ + common localhost dev ports, with response headers needed by the
950
+ Firebase Storage Web SDK.
951
+
952
+ #### Parameters
953
+
954
+ | Parameter | Type |
955
+ | :------ | :------ |
956
+ | `hostingOrigin` | `string` |
957
+
958
+ #### Returns
959
+
960
+ [`CorsRule`](#corsrule)[]
961
+
962
+ ***
963
+
964
+ <a id="deleteobject"></a>
965
+
966
+ ### deleteObject()
967
+
968
+ ```ts
969
+ function deleteObject(ref: StorageReference, provenance?: EventProvenance): Promise<void>;
970
+ ```
971
+
972
+ Delete the object at `ref` — removes both the blob and the
973
+ metadata atomically. No-op when the path doesn't exist (the
974
+ persistence layer's `delete` is no-op on missing keys).
975
+
976
+ NOTE: the JS SDK's `deleteObject` throws
977
+ `storage/object-not-found` when the path is missing. The v1 scope
978
+ keeps the persistence-layer no-op behavior for now; Slice 8 will
979
+ reconsider whether to mirror the strict throw.
980
+
981
+ `provenance` (host-only): op EventProvenance bound at ISSUE time,
982
+ threaded EXPLICITLY onto the emitted `object_delete` event. The delete
983
+ awaits the backend before emitting, so it escapes the sandbox's
984
+ synchronous ambient-provenance window — see the note on `uploadBytes`.
985
+
986
+ #### Parameters
987
+
988
+ | Parameter | Type |
989
+ | :------ | :------ |
990
+ | `ref` | [`StorageReference`](#storagereference) |
991
+ | `provenance?` | `EventProvenance` |
992
+
993
+ #### Returns
994
+
995
+ `Promise`\<`void`\>
996
+
997
+ ***
998
+
999
+ <a id="deploystoragerules"></a>
1000
+
1001
+ ### deployStorageRules()
1002
+
1003
+ ```ts
1004
+ function deployStorageRules(
1005
+ accessToken: string,
1006
+ projectId: string,
1007
+ source: string,
1008
+ bucketId?: string): Promise<{
1009
+ rulesetName: string;
1010
+ }>;
1011
+ ```
1012
+
1013
+ Deploy a Storage rules source for a specific bucket. Firebase
1014
+ Storage uses **per-bucket** release names —
1015
+ `projects/{p}/releases/firebase.storage/{bucketId}` — for actual
1016
+ rule application. The project-wide `firebase.storage` release
1017
+ exists as a legacy alias but isn't bound to any bucket in modern
1018
+ projects; deploying to it leaves the bucket's deny-all rule
1019
+ unchanged.
1020
+
1021
+ Defaults `bucketId` to `{projectId}.firebasestorage.app` (the
1022
+ Firebase default bucket name). Pass an override when targeting a
1023
+ non-default bucket.
1024
+
1025
+ #### Parameters
1026
+
1027
+ | Parameter | Type |
1028
+ | :------ | :------ |
1029
+ | `accessToken` | `string` |
1030
+ | `projectId` | `string` |
1031
+ | `source` | `string` |
1032
+ | `bucketId?` | `string` |
1033
+
1034
+ #### Returns
1035
+
1036
+ `Promise`\<\{
1037
+ `rulesetName`: `string`;
1038
+ \}\>
1039
+
1040
+ ***
1041
+
1042
+ <a id="enablestorageservice"></a>
1043
+
1044
+ ### enableStorageService()
1045
+
1046
+ ```ts
1047
+ function enableStorageService(accessToken: string, projectId: string): Promise<void>;
1048
+ ```
1049
+
1050
+ Enable `firebasestorage.googleapis.com` on the project. Requires
1051
+ `serviceusage.services.enable` IAM permission — included in
1052
+ `roles/owner`, `roles/editor` (deprecated), or
1053
+ `roles/serviceusage.serviceUsageAdmin`. The default Firebase Admin
1054
+ SDK service account does NOT have this; the caller's token must
1055
+ either be a user-OAuth with `cloud-platform` scope or a SA with
1056
+ the elevated role.
1057
+
1058
+ Long-running operation under the hood; the response carries an
1059
+ operation name. We don't poll — the response 200 is enough signal
1060
+ for our purposes, and a brief settle delay handles propagation.
1061
+
1062
+ #### Parameters
1063
+
1064
+ | Parameter | Type |
1065
+ | :------ | :------ |
1066
+ | `accessToken` | `string` |
1067
+ | `projectId` | `string` |
1068
+
1069
+ #### Returns
1070
+
1071
+ `Promise`\<`void`\>
1072
+
1073
+ ***
1074
+
1075
+ <a id="evaluatestoragerules"></a>
1076
+
1077
+ ### evaluateStorageRules()
1078
+
1079
+ ```ts
1080
+ function evaluateStorageRules(
1081
+ rules: StorageRules,
1082
+ input: EvaluationInput,
1083
+ now?: Date,
1084
+ firestoreLookup?: FirestoreLookup): EvaluationResult;
1085
+ ```
1086
+
1087
+ Evaluate the rules against a request + resource binding. Returns
1088
+ `{ allowed, reasons }`. `allowed` is true iff any `allow` clause
1089
+ at any matching match block evaluates to a truthy condition.
1090
+
1091
+ Path-matching strategy: the request's path is segmented and
1092
+ walked against the AST's match tree. Wildcards (`{p=**}`) match
1093
+ zero or more remaining segments; named params bind one segment.
1094
+
1095
+ Multi-clause failure mode: when no clause matches, `reasons`
1096
+ contains a short trace ("no match found for path X" or "rule at
1097
+ match /sessions/{id} denied: condition false"). Helpful for the
1098
+ playground's error surface.
1099
+
1100
+ #### Parameters
1101
+
1102
+ | Parameter | Type |
1103
+ | :------ | :------ |
1104
+ | `rules` | [`StorageRules`](#storagerules) |
1105
+ | `input` | [`EvaluationInput`](#evaluationinput) |
1106
+ | `now?` | `Date` |
1107
+ | `firestoreLookup?` | [`FirestoreLookup`](#firestorelookup) |
1108
+
1109
+ #### Returns
1110
+
1111
+ [`EvaluationResult`](#evaluationresult)
1112
+
1113
+ ***
1114
+
1115
+ <a id="finalizedefaultlocation"></a>
1116
+
1117
+ ### finalizeDefaultLocation()
1118
+
1119
+ ```ts
1120
+ function finalizeDefaultLocation(
1121
+ accessToken: string,
1122
+ projectId: string,
1123
+ locationId: string): Promise<void>;
1124
+ ```
1125
+
1126
+ Set the project's default GCP resources location. IRREVERSIBLE —
1127
+ once set, the location cannot be changed. Skip-if-set is the
1128
+ caller's job; this function unconditionally calls `:finalize`.
1129
+
1130
+ Per observed behavior, `:finalize` 404s on projects that already
1131
+ have resources provisioned (RTDB, Hosting) without a default
1132
+ location. The error path surfaces that to the caller.
1133
+
1134
+ #### Parameters
1135
+
1136
+ | Parameter | Type |
1137
+ | :------ | :------ |
1138
+ | `accessToken` | `string` |
1139
+ | `projectId` | `string` |
1140
+ | `locationId` | `string` |
1141
+
1142
+ #### Returns
1143
+
1144
+ `Promise`\<`void`\>
1145
+
1146
+ ***
1147
+
1148
+ <a id="getblob"></a>
1149
+
1150
+ ### getBlob()
1151
+
1152
+ ```ts
1153
+ function getBlob(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<Blob>;
1154
+ ```
1155
+
1156
+ Read the blob at `ref` and return it as a `Blob`. Same semantics
1157
+ as `getBytes` but skips the `arrayBuffer()` conversion when the
1158
+ caller wants a `Blob` directly (e.g. for streaming or
1159
+ `URL.createObjectURL`). Note: this is the browser-side
1160
+ counterpart of the JS SDK's `getBlob` — the v1 scope doesn't ship
1161
+ a Node-stream variant.
1162
+
1163
+ #### Parameters
1164
+
1165
+ | Parameter | Type |
1166
+ | :------ | :------ |
1167
+ | `ref` | [`StorageReference`](#storagereference) |
1168
+ | `maxDownloadSizeBytes?` | `number` |
1169
+
1170
+ #### Returns
1171
+
1172
+ `Promise`\<`Blob`\>
1173
+
1174
+ ***
1175
+
1176
+ <a id="getbucketcors"></a>
1177
+
1178
+ ### getBucketCors()
1179
+
1180
+ ```ts
1181
+ function getBucketCors(accessToken: string, bucketId: string): Promise<CorsRule[]>;
1182
+ ```
1183
+
1184
+ Read the current CORS configuration for a bucket.
1185
+
1186
+ #### Parameters
1187
+
1188
+ | Parameter | Type |
1189
+ | :------ | :------ |
1190
+ | `accessToken` | `string` |
1191
+ | `bucketId` | `string` |
1192
+
1193
+ #### Returns
1194
+
1195
+ `Promise`\<[`CorsRule`](#corsrule)[]\>
1196
+
1197
+ ***
1198
+
1199
+ <a id="getbytes"></a>
1200
+
1201
+ ### getBytes()
1202
+
1203
+ ```ts
1204
+ function getBytes(ref: StorageReference, maxDownloadSizeBytes?: number): Promise<ArrayBuffer>;
1205
+ ```
1206
+
1207
+ Read the blob at `ref` and return its contents as an
1208
+ `ArrayBuffer`. Honors the optional `maxDownloadSizeBytes` cap by
1209
+ truncating to that length.
1210
+
1211
+ #### Parameters
1212
+
1213
+ | Parameter | Type |
1214
+ | :------ | :------ |
1215
+ | `ref` | [`StorageReference`](#storagereference) |
1216
+ | `maxDownloadSizeBytes?` | `number` |
1217
+
1218
+ #### Returns
1219
+
1220
+ `Promise`\<`ArrayBuffer`\>
1221
+
1222
+ ***
1223
+
1224
+ <a id="getdefaultlocation"></a>
1225
+
1226
+ ### getDefaultLocation()
1227
+
1228
+ ```ts
1229
+ function getDefaultLocation(accessToken: string, projectId: string): Promise<string>;
1230
+ ```
1231
+
1232
+ Read the project's current default GCP resources location. Returns
1233
+ null when the project hasn't been finalized yet — e.g. brand-new
1234
+ Firebase projects with no resources. `firebase` scope is sufficient.
1235
+
1236
+ #### Parameters
1237
+
1238
+ | Parameter | Type |
1239
+ | :------ | :------ |
1240
+ | `accessToken` | `string` |
1241
+ | `projectId` | `string` |
1242
+
1243
+ #### Returns
1244
+
1245
+ `Promise`\<`string`\>
1246
+
1247
+ ***
1248
+
1249
+ <a id="getdownloadurl"></a>
1250
+
1251
+ ### getDownloadURL()
1252
+
1253
+ ```ts
1254
+ function getDownloadURL(ref: StorageReference): Promise<string>;
1255
+ ```
1256
+
1257
+ Return a URL the current page can use to read the sandbox object. The URL is
1258
+ created from the same rules-checked blob as [getBlob](#getblob). It is a
1259
+ snapshot, cannot be shared outside the page, and stays
1260
+ alive until the caller revokes it or the page unloads.
1261
+
1262
+ #### Parameters
1263
+
1264
+ | Parameter | Type |
1265
+ | :------ | :------ |
1266
+ | `ref` | [`StorageReference`](#storagereference) |
1267
+
1268
+ #### Returns
1269
+
1270
+ `Promise`\<`string`\>
1271
+
1272
+ ***
1273
+
1274
+ <a id="getmetadata"></a>
1275
+
1276
+ ### getMetadata()
1277
+
1278
+ ```ts
1279
+ function getMetadata(ref: StorageReference): Promise<FullMetadata>;
1280
+ ```
1281
+
1282
+ Read the full metadata record at `ref`. Throws when no object
1283
+ exists at the path (`storage/object-not-found`).
1284
+
1285
+ Mirrors `firebase/storage`'s `getMetadata`. Returns the same
1286
+ `FullMetadata` shape `uploadBytes` produced — server-set fields
1287
+ pinned at upload time, client-settable fields whatever the latest
1288
+ write left them as.
1289
+
1290
+ #### Parameters
1291
+
1292
+ | Parameter | Type |
1293
+ | :------ | :------ |
1294
+ | `ref` | [`StorageReference`](#storagereference) |
1295
+
1296
+ #### Returns
1297
+
1298
+ `Promise`\<[`FullMetadata`](#fullmetadata)\>
1299
+
1300
+ ***
1301
+
1302
+ <a id="getstorage"></a>
1303
+
1304
+ ### getStorage()
1305
+
1306
+ ```ts
1307
+ function getStorage(app?: FirebaseApp, bucketUrl?: string): AppFirebaseStorage;
1308
+ ```
1309
+
1310
+ Resolve the Firebase-shaped Storage service associated with an app.
1311
+
1312
+ #### Parameters
1313
+
1314
+ | Parameter | Type |
1315
+ | :------ | :------ |
1316
+ | `app?` | `FirebaseApp` |
1317
+ | `bucketUrl?` | `string` |
1318
+
1319
+ #### Returns
1320
+
1321
+ `AppFirebaseStorage`
1322
+
1323
+ ***
1324
+
1325
+ <a id="getstoragesandbox"></a>
1326
+
1327
+ ### getStorageSandbox()
1328
+
1329
+ ```ts
1330
+ function getStorageSandbox(target: any, options?: StorageOptions): FirebaseStorage;
1331
+ ```
1332
+
1333
+ Construct (or return cached) a sandbox-backed `FirebaseStorage`
1334
+ handle. Accepts either a bare `Sandbox` (anonymous identity wired
1335
+ up via `sandbox.withAuth(null)`) or an explicit `SandboxContext`.
1336
+ Idempotent on `SandboxContext` identity.
1337
+
1338
+ #### Parameters
1339
+
1340
+ | Parameter | Type |
1341
+ | :------ | :------ |
1342
+ | `target` | `any` |
1343
+ | `options?` | [`StorageOptions`](#storageoptions) |
1344
+
1345
+ #### Returns
1346
+
1347
+ [`FirebaseStorage`](#firebasestorage)
1348
+
1349
+ ***
1350
+
1351
+ <a id="getstorageservicestate"></a>
1352
+
1353
+ ### getStorageServiceState()
1354
+
1355
+ ```ts
1356
+ function getStorageServiceState(accessToken: string, projectId: string): Promise<ServiceEnableState>;
1357
+ ```
1358
+
1359
+ Probe whether the `firebasestorage.googleapis.com` service is
1360
+ enabled on the project. Cheap, uses Service Usage `GET`. Requires
1361
+ `serviceusage.services.get` permission (the default Firebase Admin
1362
+ SDK SA has this; user OAuth tokens with `firebase` scope do not).
1363
+
1364
+ Returns `'unknown'` on permission failures so callers can downgrade
1365
+ to "try the operation; observe SERVICE_DISABLED" rather than block.
1366
+
1367
+ #### Parameters
1368
+
1369
+ | Parameter | Type |
1370
+ | :------ | :------ |
1371
+ | `accessToken` | `string` |
1372
+ | `projectId` | `string` |
1373
+
1374
+ #### Returns
1375
+
1376
+ `Promise`\<[`ServiceEnableState`](#serviceenablestate)\>
1377
+
1378
+ ***
1379
+
1380
+ <a id="listall"></a>
1381
+
1382
+ ### listAll()
1383
+
1384
+ ```ts
1385
+ function listAll(refIn: StorageReference): Promise<ListResult>;
1386
+ ```
1387
+
1388
+ Enumerate every immediate child item + sub-prefix under `refIn`.
1389
+ Works on the root reference too — pass `ref(storage)` to scan the
1390
+ whole bucket.
1391
+
1392
+ #### Parameters
1393
+
1394
+ | Parameter | Type |
1395
+ | :------ | :------ |
1396
+ | `refIn` | [`StorageReference`](#storagereference) |
1397
+
1398
+ #### Returns
1399
+
1400
+ `Promise`\<[`ListResult`](#listresult)\>
1401
+
1402
+ ***
1403
+
1404
+ <a id="listfirebasebuckets"></a>
1405
+
1406
+ ### listFirebaseBuckets()
1407
+
1408
+ ```ts
1409
+ function listFirebaseBuckets(accessToken: string, projectId: string): Promise<FirebaseStorageBucket[]>;
1410
+ ```
1411
+
1412
+ List Firebase-linked Storage buckets on the project. Returns an
1413
+ empty list when none exist yet. Throws when the underlying service
1414
+ is disabled — callers should check `getStorageServiceState` first
1415
+ if they want to distinguish.
1416
+
1417
+ #### Parameters
1418
+
1419
+ | Parameter | Type |
1420
+ | :------ | :------ |
1421
+ | `accessToken` | `string` |
1422
+ | `projectId` | `string` |
1423
+
1424
+ #### Returns
1425
+
1426
+ `Promise`\<[`FirebaseStorageBucket`](#firebasestoragebucket)[]\>
1427
+
1428
+ ***
1429
+
1430
+ <a id="parsestoragerules"></a>
1431
+
1432
+ ### parseStorageRules()
1433
+
1434
+ ```ts
1435
+ function parseStorageRules(source: string): StorageRules;
1436
+ ```
1437
+
1438
+ Parse a Storage rules source into an opaque handle. Throws
1439
+ `SyntaxError` on malformed input. Used by Slice 8's
1440
+ `getStorage(ctx, { rules })` to validate upfront.
1441
+
1442
+ #### Parameters
1443
+
1444
+ | Parameter | Type |
1445
+ | :------ | :------ |
1446
+ | `source` | `string` |
1447
+
1448
+ #### Returns
1449
+
1450
+ [`StorageRules`](#storagerules)
1451
+
1452
+ ***
1453
+
1454
+ <a id="provisionstorage"></a>
1455
+
1456
+ ### provisionStorage()
1457
+
1458
+ ```ts
1459
+ function provisionStorage(
1460
+ accessToken: string,
1461
+ projectId: string,
1462
+ options?: ProvisionStorageOptions): Promise<ProvisionStorageResult>;
1463
+ ```
1464
+
1465
+ End-to-end Storage enablement + provisioning. Each step is
1466
+ idempotent (probe before mutating); the result reports what was
1467
+ actually done.
1468
+
1469
+ Permission requirements (caller's token):
1470
+ - `roles/serviceusage.serviceUsageAdmin` (or Owner) — to enable
1471
+ the service when it's disabled
1472
+ - `cloud-platform` OAuth scope (or `firebase` if service already
1473
+ enabled)
1474
+
1475
+ The handler throws `StorageProvisioningError` with the
1476
+ underlying `reason` (e.g. `AUTH_PERMISSION_DENIED`,
1477
+ `SERVICE_DISABLED`) so the caller can route to actionable UX.
1478
+
1479
+ #### Parameters
1480
+
1481
+ | Parameter | Type |
1482
+ | :------ | :------ |
1483
+ | `accessToken` | `string` |
1484
+ | `projectId` | `string` |
1485
+ | `options?` | [`ProvisionStorageOptions`](#provisionstorageoptions) |
1486
+
1487
+ #### Returns
1488
+
1489
+ `Promise`\<[`ProvisionStorageResult`](#provisionstorageresult)\>
1490
+
1491
+ ***
1492
+
1493
+ <a id="ref-1"></a>
1494
+
1495
+ ### ref()
1496
+
1497
+ #### Call Signature
1498
+
1499
+ ```ts
1500
+ function ref(storage: FirebaseStorage, path?: string): StorageReference;
1501
+ ```
1502
+
1503
+ Construct a reference. Two overloads matching Firebase:
1504
+
1505
+ `ref(storage, path?)` — `path` is bucket-rooted. Omit for root.
1506
+ `ref(parent, path)` — `path` is relative to `parent.fullPath`.
1507
+
1508
+ ##### Parameters
1509
+
1510
+ | Parameter | Type |
1511
+ | :------ | :------ |
1512
+ | `storage` | [`FirebaseStorage`](#firebasestorage) |
1513
+ | `path?` | `string` |
1514
+
1515
+ ##### Returns
1516
+
1517
+ [`StorageReference`](#storagereference)
1518
+
1519
+ #### Call Signature
1520
+
1521
+ ```ts
1522
+ function ref(parent: StorageReference, path: string): StorageReference;
1523
+ ```
1524
+
1525
+ Construct a reference. Two overloads matching Firebase:
1526
+
1527
+ `ref(storage, path?)` — `path` is bucket-rooted. Omit for root.
1528
+ `ref(parent, path)` — `path` is relative to `parent.fullPath`.
1529
+
1530
+ ##### Parameters
1531
+
1532
+ | Parameter | Type |
1533
+ | :------ | :------ |
1534
+ | `parent` | [`StorageReference`](#storagereference) |
1535
+ | `path` | `string` |
1536
+
1537
+ ##### Returns
1538
+
1539
+ [`StorageReference`](#storagereference)
1540
+
1541
+ ***
1542
+
1543
+ <a id="setbucketcors"></a>
1544
+
1545
+ ### setBucketCors()
1546
+
1547
+ ```ts
1548
+ function setBucketCors(
1549
+ accessToken: string,
1550
+ bucketId: string,
1551
+ cors: CorsRule[]): Promise<void>;
1552
+ ```
1553
+
1554
+ Replace the bucket's CORS configuration. Pass an empty array to
1555
+ clear all rules. The GCS API replaces (not merges) the cors field
1556
+ on PATCH.
1557
+
1558
+ #### Parameters
1559
+
1560
+ | Parameter | Type |
1561
+ | :------ | :------ |
1562
+ | `accessToken` | `string` |
1563
+ | `bucketId` | `string` |
1564
+ | `cors` | [`CorsRule`](#corsrule)[] |
1565
+
1566
+ #### Returns
1567
+
1568
+ `Promise`\<`void`\>
1569
+
1570
+ ***
1571
+
1572
+ <a id="updatemetadata"></a>
1573
+
1574
+ ### updateMetadata()
1575
+
1576
+ ```ts
1577
+ function updateMetadata(
1578
+ ref: StorageReference,
1579
+ patch: SettableMetadata,
1580
+ provenance?: EventProvenance): Promise<FullMetadata>;
1581
+ ```
1582
+
1583
+ Update the client-settable metadata at `ref`. Server-set fields
1584
+ (`bucket`, `fullPath`, `name`, `generation`, `timeCreated`,
1585
+ `size`, `md5Hash`) are preserved; `metageneration` bumps and
1586
+ `updated` refreshes. The blob is untouched.
1587
+
1588
+ Pass `undefined` for a field to leave the previous value in
1589
+ place. To explicitly clear a field, the JS SDK accepts `null` —
1590
+ we don't model that in the v1 scope to keep the patch logic simple.
1591
+ Documented for Slice 9's deferred-features section.
1592
+
1593
+ `provenance` (host-only): op EventProvenance bound at ISSUE time,
1594
+ threaded EXPLICITLY onto the emitted `metadata_update` event. Emit runs
1595
+ after the backend awaits, escaping the sandbox's synchronous
1596
+ ambient-provenance window — see the note on `uploadBytes`.
1597
+
1598
+ #### Parameters
1599
+
1600
+ | Parameter | Type |
1601
+ | :------ | :------ |
1602
+ | `ref` | [`StorageReference`](#storagereference) |
1603
+ | `patch` | [`SettableMetadata`](#settablemetadata) |
1604
+ | `provenance?` | `EventProvenance` |
1605
+
1606
+ #### Returns
1607
+
1608
+ `Promise`\<[`FullMetadata`](#fullmetadata)\>
1609
+
1610
+ ***
1611
+
1612
+ <a id="uploadbytes"></a>
1613
+
1614
+ ### uploadBytes()
1615
+
1616
+ ```ts
1617
+ function uploadBytes(
1618
+ ref: StorageReference,
1619
+ data: Blob | ArrayBuffer | Uint8Array<ArrayBufferLike>,
1620
+ metadata?: SettableMetadata,
1621
+ provenance?: EventProvenance): Promise<UploadResult>;
1622
+ ```
1623
+
1624
+ Upload bytes to the reference's `fullPath`. Replaces any existing
1625
+ object at the path. Returns the populated `FullMetadata` and the
1626
+ same `ref` for chaining.
1627
+
1628
+ Throws when the reference targets the root (`fullPath === ''`) —
1629
+ uploads need a non-empty path, matching Firebase's
1630
+ `invalid-root-operation` precondition.
1631
+
1632
+ Provenance is captured from the reference's operation-scoped Storage
1633
+ handle before the first await. The optional `provenance` argument remains
1634
+ as a compatibility override for internal callers. Either way, concurrent
1635
+ uploads cannot exchange source or auth-lens identity, and
1636
+ `service: 'storage'` always wins.
1637
+
1638
+ #### Parameters
1639
+
1640
+ | Parameter | Type |
1641
+ | :------ | :------ |
1642
+ | `ref` | [`StorageReference`](#storagereference) |
1643
+ | `data` | `Blob` \| `ArrayBuffer` \| `Uint8Array`\<`ArrayBufferLike`\> |
1644
+ | `metadata?` | [`SettableMetadata`](#settablemetadata) |
1645
+ | `provenance?` | `EventProvenance` |
1646
+
1647
+ #### Returns
1648
+
1649
+ `Promise`\<[`UploadResult`](#uploadresult)\>
1650
+
1651
+ ***
1652
+
1653
+ <a id="uploadstring"></a>
1654
+
1655
+ ### uploadString()
1656
+
1657
+ ```ts
1658
+ function uploadString(
1659
+ ref: StorageReference,
1660
+ value: string,
1661
+ format?: StringFormat,
1662
+ metadata?: SettableMetadata,
1663
+ provenance?: EventProvenance): Promise<UploadResult>;
1664
+ ```
1665
+
1666
+ Upload a string in one of three formats:
1667
+
1668
+ - `raw` (default): UTF-8 text. Defaults `contentType` to
1669
+ `text/plain;charset=utf-8` if neither metadata nor the data
1670
+ specify one.
1671
+ - `base64`: standard base64-encoded bytes.
1672
+ - `data_url`: a `data:` URL — the MIME prefix is honored as
1673
+ `contentType` unless the caller overrides it explicitly.
1674
+
1675
+ #### Parameters
1676
+
1677
+ | Parameter | Type |
1678
+ | :------ | :------ |
1679
+ | `ref` | [`StorageReference`](#storagereference) |
1680
+ | `value` | `string` |
1681
+ | `format?` | [`StringFormat`](#stringformat) |
1682
+ | `metadata?` | [`SettableMetadata`](#settablemetadata) |
1683
+ | `provenance?` | `EventProvenance` |
1684
+
1685
+ #### Returns
1686
+
1687
+ `Promise`\<[`UploadResult`](#uploadresult)\>