gemi 0.126.0 → 0.128.0

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 (230) hide show
  1. package/dist/ai/index.js +2 -2
  2. package/dist/ai/index.js.map +1 -1
  3. package/dist/app/index.js +1 -1
  4. package/dist/bun/plugin.js +1 -1
  5. package/dist/bun/preload.js +1 -1
  6. package/dist/{chunk-bghxdjqv.js → chunk-03wc6em7.js} +1 -1
  7. package/dist/{chunk-56ryda9y.js → chunk-0m2fyw7g.js} +2 -2
  8. package/dist/{chunk-56ryda9y.js.map → chunk-0m2fyw7g.js.map} +1 -1
  9. package/dist/chunk-0mp9tck6.js +120 -0
  10. package/dist/{chunk-cwpezdpw.js.map → chunk-0mp9tck6.js.map} +9 -4
  11. package/dist/{chunk-ecb8qggy.js → chunk-0vxwrc4t.js} +2 -2
  12. package/dist/{chunk-ecb8qggy.js.map → chunk-0vxwrc4t.js.map} +1 -1
  13. package/dist/{chunk-1v368y9a.js → chunk-1gdzajwb.js} +2 -2
  14. package/dist/{chunk-1v368y9a.js.map → chunk-1gdzajwb.js.map} +1 -1
  15. package/dist/{chunk-h4755p9h.js → chunk-1rq53cb0.js} +2 -2
  16. package/dist/{chunk-h4755p9h.js.map → chunk-1rq53cb0.js.map} +1 -1
  17. package/dist/{chunk-v7nw1g2n.js → chunk-1yttk239.js} +2 -2
  18. package/dist/{chunk-v7nw1g2n.js.map → chunk-1yttk239.js.map} +1 -1
  19. package/dist/{chunk-28bby5pp.js → chunk-1z311hyj.js} +2 -2
  20. package/dist/{chunk-28bby5pp.js.map → chunk-1z311hyj.js.map} +1 -1
  21. package/dist/{chunk-n8mxsfc2.js → chunk-2869cbhd.js} +3 -3
  22. package/dist/{chunk-n8mxsfc2.js.map → chunk-2869cbhd.js.map} +1 -1
  23. package/dist/{chunk-dm7mada7.js → chunk-2bmk0fzm.js} +3 -3
  24. package/dist/{chunk-dm7mada7.js.map → chunk-2bmk0fzm.js.map} +1 -1
  25. package/dist/{chunk-ych1dv5q.js → chunk-2epj17ac.js} +3 -3
  26. package/dist/{chunk-ych1dv5q.js.map → chunk-2epj17ac.js.map} +1 -1
  27. package/dist/{chunk-0arss2xy.js → chunk-2z1gd231.js} +2 -2
  28. package/dist/{chunk-0arss2xy.js.map → chunk-2z1gd231.js.map} +1 -1
  29. package/dist/{chunk-xe2cfmyb.js → chunk-3dyd4z06.js} +2 -2
  30. package/dist/{chunk-xe2cfmyb.js.map → chunk-3dyd4z06.js.map} +1 -1
  31. package/dist/{chunk-p0ccxfkq.js → chunk-43vjbd6n.js} +1 -1
  32. package/dist/{chunk-nv2t87c3.js → chunk-4yp84g2y.js} +2 -2
  33. package/dist/{chunk-nv2t87c3.js.map → chunk-4yp84g2y.js.map} +1 -1
  34. package/dist/{chunk-bhbxhk9e.js → chunk-5bk7767a.js} +2 -2
  35. package/dist/{chunk-bhbxhk9e.js.map → chunk-5bk7767a.js.map} +1 -1
  36. package/dist/{chunk-k6gvbvyw.js → chunk-5nkvpc0a.js} +1 -1
  37. package/dist/{chunk-gxp48t81.js → chunk-5ym464xx.js} +4 -4
  38. package/dist/{chunk-gxp48t81.js.map → chunk-5ym464xx.js.map} +1 -1
  39. package/dist/{chunk-v80890xx.js → chunk-7321qjgb.js} +3 -3
  40. package/dist/{chunk-v80890xx.js.map → chunk-7321qjgb.js.map} +1 -1
  41. package/dist/{chunk-0f0xxqhy.js → chunk-87rtxv9n.js} +3 -3
  42. package/dist/{chunk-0f0xxqhy.js.map → chunk-87rtxv9n.js.map} +1 -1
  43. package/dist/{chunk-avfntxm1.js → chunk-8jqve5dr.js} +2 -2
  44. package/dist/{chunk-avfntxm1.js.map → chunk-8jqve5dr.js.map} +1 -1
  45. package/dist/{chunk-5vvfcdpk.js → chunk-9122838b.js} +2 -2
  46. package/dist/{chunk-5vvfcdpk.js.map → chunk-9122838b.js.map} +1 -1
  47. package/dist/{chunk-jg3kg55f.js → chunk-9701fx4z.js} +2 -2
  48. package/dist/{chunk-jg3kg55f.js.map → chunk-9701fx4z.js.map} +1 -1
  49. package/dist/{chunk-mj7h1dgh.js → chunk-b7wmssj5.js} +2 -2
  50. package/dist/{chunk-mj7h1dgh.js.map → chunk-b7wmssj5.js.map} +1 -1
  51. package/dist/{chunk-etf6h5m1.js → chunk-bg5qb9hm.js} +2 -2
  52. package/dist/{chunk-etf6h5m1.js.map → chunk-bg5qb9hm.js.map} +1 -1
  53. package/dist/{chunk-w4111j5d.js → chunk-bnp6wpzd.js} +2 -2
  54. package/dist/{chunk-w4111j5d.js.map → chunk-bnp6wpzd.js.map} +1 -1
  55. package/dist/{chunk-yg8se4vs.js → chunk-cp84b0ev.js} +3 -3
  56. package/dist/{chunk-yg8se4vs.js.map → chunk-cp84b0ev.js.map} +1 -1
  57. package/dist/{chunk-hye22tpt.js → chunk-dak8txaw.js} +2 -2
  58. package/dist/{chunk-hye22tpt.js.map → chunk-dak8txaw.js.map} +1 -1
  59. package/dist/{chunk-zy5gxk1g.js → chunk-df0mekds.js} +2 -2
  60. package/dist/{chunk-zy5gxk1g.js.map → chunk-df0mekds.js.map} +1 -1
  61. package/dist/{chunk-7x2n788t.js → chunk-er5ed5pg.js} +3 -3
  62. package/dist/{chunk-7x2n788t.js.map → chunk-er5ed5pg.js.map} +1 -1
  63. package/dist/{chunk-s2y2b8tz.js → chunk-f8ce6e9c.js} +2 -2
  64. package/dist/{chunk-s2y2b8tz.js.map → chunk-f8ce6e9c.js.map} +1 -1
  65. package/dist/{chunk-7eerqsg2.js → chunk-fezaxj28.js} +2 -2
  66. package/dist/{chunk-7eerqsg2.js.map → chunk-fezaxj28.js.map} +1 -1
  67. package/dist/{chunk-q9mxjh10.js → chunk-fv53h1q2.js} +2 -2
  68. package/dist/{chunk-q9mxjh10.js.map → chunk-fv53h1q2.js.map} +1 -1
  69. package/dist/{chunk-62zn06wb.js → chunk-gpdsxwkt.js} +2 -2
  70. package/dist/{chunk-62zn06wb.js.map → chunk-gpdsxwkt.js.map} +1 -1
  71. package/dist/{chunk-15bmfr7f.js → chunk-gzaaspe7.js} +2 -2
  72. package/dist/{chunk-15bmfr7f.js.map → chunk-gzaaspe7.js.map} +1 -1
  73. package/dist/{chunk-3fyhd641.js → chunk-h55c9bdf.js} +1 -1
  74. package/dist/{chunk-x5vpjzpp.js → chunk-ja41ts8v.js} +2 -2
  75. package/dist/{chunk-x5vpjzpp.js.map → chunk-ja41ts8v.js.map} +1 -1
  76. package/dist/{chunk-1dzs05dc.js → chunk-jcps2gpp.js} +2 -2
  77. package/dist/{chunk-1dzs05dc.js.map → chunk-jcps2gpp.js.map} +1 -1
  78. package/dist/{chunk-psdyfaf1.js → chunk-jm1f9cas.js} +2 -2
  79. package/dist/{chunk-psdyfaf1.js.map → chunk-jm1f9cas.js.map} +1 -1
  80. package/dist/{chunk-99z9d0sa.js → chunk-k107vw69.js} +2 -2
  81. package/dist/{chunk-99z9d0sa.js.map → chunk-k107vw69.js.map} +1 -1
  82. package/dist/{chunk-7dzprr9b.js → chunk-k10vbrjx.js} +3 -3
  83. package/dist/{chunk-7dzprr9b.js.map → chunk-k10vbrjx.js.map} +1 -1
  84. package/dist/{chunk-c48gag78.js → chunk-kmcnfk2s.js} +1 -1
  85. package/dist/{chunk-yffm8nxa.js → chunk-mc8mxx2a.js} +2 -2
  86. package/dist/{chunk-yffm8nxa.js.map → chunk-mc8mxx2a.js.map} +1 -1
  87. package/dist/{chunk-ewv1m1sv.js → chunk-n1t4ea9g.js} +3 -3
  88. package/dist/{chunk-ewv1m1sv.js.map → chunk-n1t4ea9g.js.map} +1 -1
  89. package/dist/{chunk-9hhxy88x.js → chunk-n4dk0dc9.js} +2 -2
  90. package/dist/{chunk-9hhxy88x.js.map → chunk-n4dk0dc9.js.map} +1 -1
  91. package/dist/{chunk-rvdsaqdv.js → chunk-nh9ewam0.js} +1 -1
  92. package/dist/{chunk-84rbdyhe.js → chunk-njaxnv6c.js} +2 -2
  93. package/dist/{chunk-84rbdyhe.js.map → chunk-njaxnv6c.js.map} +1 -1
  94. package/dist/{chunk-7nfprr9v.js → chunk-np73p641.js} +2 -2
  95. package/dist/{chunk-7nfprr9v.js.map → chunk-np73p641.js.map} +1 -1
  96. package/dist/{chunk-87jj7n9q.js → chunk-nvfhx9d1.js} +2 -2
  97. package/dist/{chunk-87jj7n9q.js.map → chunk-nvfhx9d1.js.map} +1 -1
  98. package/dist/{chunk-qmcjh6de.js → chunk-nwzsgzvy.js} +2 -2
  99. package/dist/{chunk-qmcjh6de.js.map → chunk-nwzsgzvy.js.map} +1 -1
  100. package/dist/{chunk-43faxwf5.js → chunk-p528pvmm.js} +2 -2
  101. package/dist/{chunk-43faxwf5.js.map → chunk-p528pvmm.js.map} +1 -1
  102. package/dist/{chunk-kzk5r6v4.js → chunk-peng31np.js} +3 -3
  103. package/dist/{chunk-kzk5r6v4.js.map → chunk-peng31np.js.map} +1 -1
  104. package/dist/{chunk-mj4n5mar.js → chunk-pgddb43b.js} +2 -2
  105. package/dist/{chunk-mj4n5mar.js.map → chunk-pgddb43b.js.map} +1 -1
  106. package/dist/{chunk-s2krqtwj.js → chunk-pgh7gsag.js} +2 -2
  107. package/dist/{chunk-s2krqtwj.js.map → chunk-pgh7gsag.js.map} +1 -1
  108. package/dist/chunk-pqn9j5s8.js +5 -0
  109. package/dist/{chunk-87bmhng2.js.map → chunk-pqn9j5s8.js.map} +1 -1
  110. package/dist/{chunk-m63v6aze.js → chunk-pxsq9841.js} +2 -2
  111. package/dist/{chunk-m63v6aze.js.map → chunk-pxsq9841.js.map} +1 -1
  112. package/dist/{chunk-1eb4p352.js → chunk-py1twqh8.js} +2 -2
  113. package/dist/{chunk-1eb4p352.js.map → chunk-py1twqh8.js.map} +1 -1
  114. package/dist/{chunk-nrf23yan.js → chunk-qjmcn5m5.js} +2 -2
  115. package/dist/{chunk-nrf23yan.js.map → chunk-qjmcn5m5.js.map} +1 -1
  116. package/dist/{chunk-t8kzaxaa.js → chunk-qpwb3gnh.js} +2 -2
  117. package/dist/{chunk-t8kzaxaa.js.map → chunk-qpwb3gnh.js.map} +1 -1
  118. package/dist/{chunk-c65rh4k8.js → chunk-qv8sj2z3.js} +2 -2
  119. package/dist/{chunk-c65rh4k8.js.map → chunk-qv8sj2z3.js.map} +1 -1
  120. package/dist/{chunk-mpt5jg4e.js → chunk-qz0da20r.js} +2 -2
  121. package/dist/{chunk-mpt5jg4e.js.map → chunk-qz0da20r.js.map} +1 -1
  122. package/dist/{chunk-v1eeh7a7.js → chunk-sh39q44t.js} +3 -3
  123. package/dist/{chunk-v1eeh7a7.js.map → chunk-sh39q44t.js.map} +1 -1
  124. package/dist/{chunk-b2pdqxj3.js → chunk-t7gvgz20.js} +3 -3
  125. package/dist/{chunk-b2pdqxj3.js.map → chunk-t7gvgz20.js.map} +1 -1
  126. package/dist/{chunk-ravssmdy.js → chunk-tchte4dv.js} +2 -2
  127. package/dist/{chunk-ravssmdy.js.map → chunk-tchte4dv.js.map} +1 -1
  128. package/dist/{chunk-gv59djt3.js → chunk-tn3y2qkj.js} +2 -2
  129. package/dist/{chunk-gv59djt3.js.map → chunk-tn3y2qkj.js.map} +1 -1
  130. package/dist/{chunk-9x0pgkns.js → chunk-ty5sp1ym.js} +2 -2
  131. package/dist/{chunk-9x0pgkns.js.map → chunk-ty5sp1ym.js.map} +1 -1
  132. package/dist/{chunk-8df7fn7f.js → chunk-v09w6pr2.js} +3 -3
  133. package/dist/{chunk-8df7fn7f.js.map → chunk-v09w6pr2.js.map} +1 -1
  134. package/dist/{chunk-s0kns9q1.js → chunk-vc5kpxdk.js} +3 -3
  135. package/dist/{chunk-s0kns9q1.js.map → chunk-vc5kpxdk.js.map} +1 -1
  136. package/dist/{chunk-1gd1ykgj.js → chunk-vjpby5sf.js} +3 -3
  137. package/dist/{chunk-1gd1ykgj.js.map → chunk-vjpby5sf.js.map} +1 -1
  138. package/dist/{chunk-p7abyc0b.js → chunk-wf3qe12c.js} +2 -2
  139. package/dist/{chunk-p7abyc0b.js.map → chunk-wf3qe12c.js.map} +1 -1
  140. package/dist/{chunk-094m8mj3.js → chunk-wn437678.js} +2 -2
  141. package/dist/{chunk-094m8mj3.js.map → chunk-wn437678.js.map} +1 -1
  142. package/dist/{chunk-rtb64x14.js → chunk-wv3nnq8c.js} +3 -3
  143. package/dist/{chunk-rtb64x14.js.map → chunk-wv3nnq8c.js.map} +1 -1
  144. package/dist/{chunk-wat33wxh.js → chunk-ww86zqbw.js} +2 -2
  145. package/dist/{chunk-wat33wxh.js.map → chunk-ww86zqbw.js.map} +1 -1
  146. package/dist/chunk-wzfvwvz0.js +10 -0
  147. package/dist/{chunk-zbvdkh6q.js.map → chunk-wzfvwvz0.js.map} +5 -4
  148. package/dist/{chunk-ebdkmzm9.js → chunk-x92g4x4w.js} +2 -2
  149. package/dist/{chunk-ebdkmzm9.js.map → chunk-x92g4x4w.js.map} +1 -1
  150. package/dist/{chunk-qy3s6pwz.js → chunk-xhm5wgfe.js} +2 -2
  151. package/dist/{chunk-qy3s6pwz.js.map → chunk-xhm5wgfe.js.map} +1 -1
  152. package/dist/{chunk-89swy5aq.js → chunk-xtnbcbkf.js} +2 -2
  153. package/dist/{chunk-89swy5aq.js.map → chunk-xtnbcbkf.js.map} +1 -1
  154. package/dist/chunks/{ThemeProvider-CS2a1snV.js → ThemeProvider-BIrCSrFY.js} +2 -2
  155. package/dist/chunks/{ThemeProvider-CS2a1snV.js.map → ThemeProvider-BIrCSrFY.js.map} +1 -1
  156. package/dist/client/fetchFile.d.ts +66 -0
  157. package/dist/client/fetchFile.d.ts.map +1 -0
  158. package/dist/client/index.d.ts +3 -1
  159. package/dist/client/index.d.ts.map +1 -1
  160. package/dist/client/index.js +75 -2
  161. package/dist/client/index.js.map +1 -1
  162. package/dist/client/rpc.d.ts +11 -0
  163. package/dist/client/rpc.d.ts.map +1 -1
  164. package/dist/config/index.js +1 -1
  165. package/dist/console/run.js +2 -2
  166. package/dist/console/run.js.map +1 -1
  167. package/dist/container/index.js +2 -2
  168. package/dist/container/index.js.map +1 -1
  169. package/dist/database/index.js +2 -2
  170. package/dist/database/index.js.map +1 -1
  171. package/dist/email/index.js +2 -2
  172. package/dist/email/index.js.map +1 -1
  173. package/dist/facades/Runs.d.ts +64 -0
  174. package/dist/facades/Runs.d.ts.map +1 -0
  175. package/dist/facades/index.d.ts +1 -0
  176. package/dist/facades/index.d.ts.map +1 -1
  177. package/dist/facades/index.js +2 -2
  178. package/dist/facades/index.js.map +1 -1
  179. package/dist/foundation/index.js +2 -2
  180. package/dist/foundation/index.js.map +1 -1
  181. package/dist/gemi.d.ts +4 -0
  182. package/dist/http/ApiRouter.d.ts +40 -3
  183. package/dist/http/ApiRouter.d.ts.map +1 -1
  184. package/dist/http/index.d.ts +1 -1
  185. package/dist/http/index.d.ts.map +1 -1
  186. package/dist/http/index.js +2 -2
  187. package/dist/http/index.js.map +1 -1
  188. package/dist/i18n/dictionaryRuntime.js +2 -2
  189. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  190. package/dist/i18n/index.js +2 -2
  191. package/dist/i18n/index.js.map +1 -1
  192. package/dist/kernel/index.js +3 -3
  193. package/dist/kernel/index.js.map +3 -3
  194. package/dist/kernel/providers.d.ts.map +1 -1
  195. package/dist/orm/index.js +2 -2
  196. package/dist/orm/index.js.map +1 -1
  197. package/dist/server/index.js +2 -2
  198. package/dist/server/index.js.map +1 -1
  199. package/dist/services/index.d.ts +5 -0
  200. package/dist/services/index.d.ts.map +1 -1
  201. package/dist/services/index.js +3 -3
  202. package/dist/services/index.js.map +2 -2
  203. package/dist/services/queue/work.js +2 -2
  204. package/dist/services/queue/work.js.map +1 -1
  205. package/dist/services/runs/DatabaseRunStore.d.ts +62 -0
  206. package/dist/services/runs/DatabaseRunStore.d.ts.map +1 -0
  207. package/dist/services/runs/RunManager.d.ts +200 -0
  208. package/dist/services/runs/RunManager.d.ts.map +1 -0
  209. package/dist/services/runs/RunStore.d.ts +163 -0
  210. package/dist/services/runs/RunStore.d.ts.map +1 -0
  211. package/dist/services/runs/RunsServiceProvider.d.ts +5 -0
  212. package/dist/services/runs/RunsServiceProvider.d.ts.map +1 -0
  213. package/dist/services/runs/config.d.ts +20 -0
  214. package/dist/services/runs/config.d.ts.map +1 -0
  215. package/dist/stats/route-table.js +1 -1
  216. package/dist/support/index.js +2 -2
  217. package/dist/support/index.js.map +1 -1
  218. package/dist/testing/index.js +1 -1
  219. package/dist/vitest/index.js +1 -1
  220. package/package.json +1 -1
  221. package/skills/gemi-react-best-practices/rules/query-no-hand-rolled-fetch.md +14 -0
  222. package/dist/chunk-87bmhng2.js +0 -5
  223. package/dist/chunk-cwpezdpw.js +0 -57
  224. package/dist/chunk-zbvdkh6q.js +0 -10
  225. /package/dist/{chunk-bghxdjqv.js.map → chunk-03wc6em7.js.map} +0 -0
  226. /package/dist/{chunk-p0ccxfkq.js.map → chunk-43vjbd6n.js.map} +0 -0
  227. /package/dist/{chunk-k6gvbvyw.js.map → chunk-5nkvpc0a.js.map} +0 -0
  228. /package/dist/{chunk-3fyhd641.js.map → chunk-h55c9bdf.js.map} +0 -0
  229. /package/dist/{chunk-c48gag78.js.map → chunk-kmcnfk2s.js.map} +0 -0
  230. /package/dist/{chunk-rvdsaqdv.js.map → chunk-nh9ewam0.js.map} +0 -0
@@ -0,0 +1,66 @@
1
+ import type { FileRPC } from "./rpc";
2
+ import type { UrlParser } from "./types";
3
+ /**
4
+ * The paths `fetchBlob` and `fetchText` take: the app's file routes
5
+ * (`this.stream(...)` and `this.file(...)`), or any path while `FileRPC` is
6
+ * empty — an app without file routes, or a program without the app's types.
7
+ */
8
+ export type FilePath = FilePathOf<FileRPC>;
9
+ /** `FilePath` over a given table, for tests. @internal */
10
+ export type FilePathOf<T> = [keyof T] extends [never] ? string : keyof T & string;
11
+ export type FetchFileOptions<P extends string> = {
12
+ /** The path's `:params`, substituted as `useQuery` does. */
13
+ params?: Partial<UrlParser<P>>;
14
+ /** The query string. `null` and `undefined` values are left out. */
15
+ search?: Record<string, string | number | boolean | null | undefined> | URLSearchParams;
16
+ /** Aborts the request; the returned promise then rejects with an `AbortError`. */
17
+ signal?: AbortSignal;
18
+ /** Anything else `fetch` takes (headers, `cache`, `credentials`). Always a `GET`. */
19
+ init?: Omit<RequestInit, "method" | "body" | "signal">;
20
+ };
21
+ /** @internal */
22
+ export type FetchFileArgs<P extends string> = {} extends UrlParser<P> ? [options?: FetchFileOptions<P>] : [options: FetchFileOptions<P> & {
23
+ params: UrlParser<P>;
24
+ }];
25
+ interface Fetched {
26
+ /**
27
+ * The file name the server gave in `Content-Disposition` (`filename*`
28
+ * first, then `filename`), or `null` when it gave none.
29
+ */
30
+ filename: string | null;
31
+ /** The response, for its headers and status. Its body has been read. */
32
+ response: Response;
33
+ }
34
+ export interface FetchedBlob extends Fetched {
35
+ blob: Blob;
36
+ }
37
+ export interface FetchedText extends Fetched {
38
+ text: string;
39
+ }
40
+ /**
41
+ * Downloads a file route's body as a `Blob`.
42
+ *
43
+ * ```ts
44
+ * const { blob, filename } = await fetchBlob("/pages/:pageId/post/image", {
45
+ * params: { pageId },
46
+ * search: { format: "png" },
47
+ * });
48
+ * ```
49
+ *
50
+ * A non-2xx rejects with a `QueryError` (`status`, the JSON `body` or `null`,
51
+ * `retryAfter`), the error `useQuery` throws, so `mutationErrorList(error)`
52
+ * reads its message. A network failure rejects with the browser's `TypeError`,
53
+ * an abort with its `AbortError`.
54
+ */
55
+ export declare function fetchBlob<P extends FilePath>(path: P, ...args: FetchFileArgs<P>): Promise<FetchedBlob>;
56
+ /** `fetchBlob`, with the body read as text. */
57
+ export declare function fetchText<P extends FilePath>(path: P, ...args: FetchFileArgs<P>): Promise<FetchedText>;
58
+ /**
59
+ * The file name in a `Content-Disposition` header: the RFC 5987
60
+ * `filename*=UTF-8''...` form when present and decodable, else `filename`.
61
+ *
62
+ * @internal Exported for tests.
63
+ */
64
+ export declare function filenameOf(response: Response): string | null;
65
+ export {};
66
+ //# sourceMappingURL=fetchFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchFile.d.ts","sourceRoot":"","sources":["../../client/fetchFile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AAE3C,0DAA0D;AAC1D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAElF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,oEAAoE;IACpE,MAAM,CAAC,EACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,GAC5D,eAAe,CAAC;IACpB,kFAAkF;IAClF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,qFAAqF;IACrF,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;CACxD,CAAC;AAGF,gBAAgB;AAChB,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACxC,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,GACnB,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAC/B,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAEhE,UAAU,OAAO;IACf;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,wEAAwE;IACxE,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAChD,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,WAAW,CAAC,CAGtB;AAED,+CAA+C;AAC/C,wBAAsB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAChD,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,WAAW,CAAC,CAGtB;AAuCD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAe5D"}
@@ -9,6 +9,8 @@ export type { QueryFailure, RetryOption, RetryDelayOption, } from "./retryPolicy
9
9
  export { useMutation, useDelete, usePatch, usePost, usePut, useUpload } from "./useMutation";
10
10
  export type { MutationCallConfig, MutationConcurrency } from "./useMutation";
11
11
  export { useMutate } from "./useMutate";
12
+ export { fetchBlob, fetchText } from "./fetchFile";
13
+ export type { FetchedBlob, FetchedText, FetchFileOptions, FilePath } from "./fetchFile";
12
14
  export { useSetQueryData } from "./useSetQueryData";
13
15
  export type { QueryTarget, QueryUpdate } from "./useSetQueryData";
14
16
  export { useSubscription } from "./useSubscription";
@@ -42,7 +44,7 @@ export type { InitOptions } from "./init";
42
44
  export { isChunkLoadError, recoverFromChunkLoadError, CHUNK_RELOAD_MARKER, } from "./chunkLoadRecovery";
43
45
  export type { ChunkLoadErrorContext, ChunkLoadErrorSource, ChunkLoadRecoveryOptions, ChunkReloadBlock, } from "./chunkLoadRecovery";
44
46
  export { createRoot } from "./createRoot";
45
- export type { RPC, ViewRPC, I18nDictionary, BroadcastRPC, Features, FeatureKey, ClientFeatureKey, } from "./rpc";
47
+ export type { RPC, FileRPC, ViewRPC, I18nDictionary, BroadcastRPC, Features, FeatureKey, ClientFeatureKey, } from "./rpc";
46
48
  export type { ViewProps, LayoutProps, ViewPaths } from "./types";
47
49
  export type { CreateI18nDictionary } from "./I18nContext";
48
50
  export { Image } from "./Image";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { $ as shouldRetryQuery, A as useLocation, B as getRealtimeClient, C as useRoute, D as I18nProvider, E as I18nContext, G as QueryConfigContext, H as SOCKET_ID_HEADER, I as RealtimeContext, J as USER_QUERY_CONFIG_KEYS, K as QueryManagerContext, L as channelKey, M as isAbsoluteUrl, O as ServerDataContext, P as Action, Q as retryDelayFor, R as configureRealtime, S as routeDataUrl, T as useNavigate, U as toVariantKey, V as reconnectRealtime, W as applyParams$1, X as DEFAULT_STALE_TIME, Y as pickDefined, Z as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, et as QueryError, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryManagerProvider, r as m, s as ClientRouterProvider, t as ThemeProvider, tt as Subject, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as currentSocketId } from "../chunks/ThemeProvider-CS2a1snV.js";
1
+ import { $ as retryDelayFor, A as useLocation, B as getRealtimeClient, C as useRoute, D as I18nProvider, E as I18nContext, G as QueryConfigContext, H as SOCKET_ID_HEADER, I as RealtimeContext, J as USER_QUERY_CONFIG_KEYS, K as QueryManagerContext, L as channelKey, M as isAbsoluteUrl, O as ServerDataContext, P as Action, Q as parseRetryAfter, R as configureRealtime, S as routeDataUrl, T as useNavigate, U as toVariantKey, V as reconnectRealtime, W as applyParams$1, X as DEFAULT_STALE_TIME, Y as pickDefined, Z as isRetryableQueryError, _ as loadDictionary, a as useRouteTransition, b as setActiveLocale, c as ComponentsContext, d as loadViewModule, et as shouldRetryQuery, f as subscribeViewModules, g as recoverFromChunkLoadError, h as isChunkLoadError, i as RouteTransitionProvider, j as domainUrl, k as ServerDataProvider, l as ComponentsProvider, m as configureChunkLoadRecovery, n as useTheme, nt as Subject, o as ClientRouterContext, p as CHUNK_RELOAD_MARKER, q as QueryManagerProvider, r as m, s as ClientRouterProvider, t as ThemeProvider, tt as QueryError, u as initialViewModulesReady, v as loadDictionaryForRender, w as useSearchParams, x as readRoutePayload, y as registerDictionary, z as currentSocketId } from "../chunks/ThemeProvider-BIrCSrFY.js";
2
2
  import { n as RouteStateContext, r as RouteStateProvider, t as useParams } from "../chunks/useParams-BN3XXfmG.js";
3
3
  import { Fragment, StrictMode, Suspense, createContext, createElement, isValidElement, lazy, memo, use, useCallback, useContext, useDeferredValue, useEffect, useMemo, useRef, useState, useSyncExternalStore, useTransition } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -1308,6 +1308,79 @@ function useMutate() {
1308
1308
  };
1309
1309
  }
1310
1310
  //#endregion
1311
+ //#region client/fetchFile.ts
1312
+ /**
1313
+ * Downloads a file route's body as a `Blob`.
1314
+ *
1315
+ * ```ts
1316
+ * const { blob, filename } = await fetchBlob("/pages/:pageId/post/image", {
1317
+ * params: { pageId },
1318
+ * search: { format: "png" },
1319
+ * });
1320
+ * ```
1321
+ *
1322
+ * A non-2xx rejects with a `QueryError` (`status`, the JSON `body` or `null`,
1323
+ * `retryAfter`), the error `useQuery` throws, so `mutationErrorList(error)`
1324
+ * reads its message. A network failure rejects with the browser's `TypeError`,
1325
+ * an abort with its `AbortError`.
1326
+ */
1327
+ async function fetchBlob(path, ...args) {
1328
+ const response = await request(path, args[0]);
1329
+ return {
1330
+ blob: await response.blob(),
1331
+ filename: filenameOf(response),
1332
+ response
1333
+ };
1334
+ }
1335
+ /** `fetchBlob`, with the body read as text. */
1336
+ async function fetchText(path, ...args) {
1337
+ const response = await request(path, args[0]);
1338
+ return {
1339
+ text: await response.text(),
1340
+ filename: filenameOf(response),
1341
+ response
1342
+ };
1343
+ }
1344
+ async function request(path, options = {}) {
1345
+ const { params = {}, search, signal, init } = options;
1346
+ const url = applyParams$1(path, params);
1347
+ const query = searchString(search);
1348
+ const response = await fetch(`/api${url}${query ? `?${query}` : ""}`, {
1349
+ ...init,
1350
+ method: "GET",
1351
+ signal
1352
+ });
1353
+ if (!response.ok) {
1354
+ const body = await response.json().catch(() => null);
1355
+ throw new QueryError(url, query, response.status, body, parseRetryAfter(response.headers.get("retry-after")));
1356
+ }
1357
+ return response;
1358
+ }
1359
+ function searchString(search) {
1360
+ if (!search) return "";
1361
+ if (search instanceof URLSearchParams) return search.toString();
1362
+ const params = new URLSearchParams();
1363
+ for (const [key, value] of Object.entries(search)) if (value !== null && value !== void 0) params.append(key, String(value));
1364
+ return params.toString();
1365
+ }
1366
+ /**
1367
+ * The file name in a `Content-Disposition` header: the RFC 5987
1368
+ * `filename*=UTF-8''...` form when present and decodable, else `filename`.
1369
+ *
1370
+ * @internal Exported for tests.
1371
+ */
1372
+ function filenameOf(response) {
1373
+ const header = response.headers.get("content-disposition");
1374
+ if (!header) return null;
1375
+ const extended = /filename\*\s*=\s*([^']*)'[^']*'([^;]+)/i.exec(header);
1376
+ if (extended) try {
1377
+ return decodeURIComponent(extended[2].trim());
1378
+ } catch {}
1379
+ const plain = /filename\s*=\s*(?:"((?:[^"\\]|\\.)*)"|([^;]+))/i.exec(header);
1380
+ if (!plain) return null;
1381
+ return (plain[1] !== void 0 ? plain[1].replace(/\\(.)/g, "$1") : plain[2].trim()) || null;
1382
+ }
1383
+ //#endregion
1311
1384
  //#region client/useSubscription.ts
1312
1385
  var MIN_RETRY_MS = 1e3;
1313
1386
  var MAX_RETRY_MS = 3e4;
@@ -3512,6 +3585,6 @@ function onStaticNavigate(callback) {
3512
3585
  return () => document.removeEventListener("gemi:page-load", listener);
3513
3586
  }
3514
3587
  //#endregion
3515
- export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, configureRealtime, create, createRoot, defineDictionary, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorField, mutationErrorKind, mutationErrorList, onStaticNavigate, recoverFromChunkLoadError, textDirection, useAppIdMissmatch, useBreadcrumbs, useChannel, useChannelInvalidate, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSetQueryData, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
3588
+ export { CHUNK_RELOAD_MARKER, Form, FormError, FormFieldContainer, Head, Image, Link, OpenGraphImage, QueryError, QueryManagerProvider, Redirect, ValidationErrors, configureRealtime, create, createRoot, defineDictionary, fetchBlob, fetchText, init, isAuthenticationError, isChunkLoadError, isCsrfError, isFormError, isHttpError, isNetworkError, isNotFoundError, isPermissionError, isRateLimitError, isRetryableQueryError, isServerError, isValidationError, island, mutationErrorField, mutationErrorKind, mutationErrorList, onStaticNavigate, recoverFromChunkLoadError, textDirection, useAppIdMissmatch, useBreadcrumbs, useChannel, useChannelInvalidate, useDelete, useDictionary, useDomain, useEmailCode, useFeature, useFeatures, useForgotPassword, useFormData, useFormStatus, useFormatter, useInfiniteQuery, useIntendedUrl, useIsNavigationPending, useLocale, useLocation, useMutate, useMutation, useMutationStatus, useNavigate, useNavigationProgress, useParams, usePatch, usePost, usePrefetch, usePut, useQuery, useResetPassword, useRoute, useRouteTransition, useSearchParams, useSetQueryData, useSignIn, useSignOut, useSignUp, useSubscription, useTheme, useTranslator, useUpload, useUser };
3516
3589
 
3517
3590
  //# sourceMappingURL=index.js.map