gemi 0.193.1 → 0.194.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 (206) 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/auth/AuthController.d.ts.map +1 -1
  5. package/dist/auth/AuthServiceProvider.d.ts +4 -1
  6. package/dist/auth/AuthServiceProvider.d.ts.map +1 -1
  7. package/dist/auth/config.d.ts +10 -0
  8. package/dist/auth/config.d.ts.map +1 -1
  9. package/dist/auth/fixedCode.d.ts +16 -0
  10. package/dist/auth/fixedCode.d.ts.map +1 -0
  11. package/dist/auth/isFixedSignInCode.d.ts +21 -0
  12. package/dist/auth/isFixedSignInCode.d.ts.map +1 -0
  13. package/dist/bun/plugin.js +1 -1
  14. package/dist/bun/preload.js +1 -1
  15. package/dist/{chunk-9hmm8acy.js → chunk-03q4j7wa.js} +1 -1
  16. package/dist/{chunk-tvsjq0my.js → chunk-07zfrfbg.js} +2 -2
  17. package/dist/{chunk-tvsjq0my.js.map → chunk-07zfrfbg.js.map} +1 -1
  18. package/dist/{chunk-m37vvh99.js → chunk-08m9egzx.js} +2 -2
  19. package/dist/{chunk-m37vvh99.js.map → chunk-08m9egzx.js.map} +1 -1
  20. package/dist/{chunk-0mb77yd2.js → chunk-0xssrbar.js} +2 -2
  21. package/dist/{chunk-0mb77yd2.js.map → chunk-0xssrbar.js.map} +1 -1
  22. package/dist/{chunk-vr48swd0.js → chunk-1705yamg.js} +2 -2
  23. package/dist/{chunk-vr48swd0.js.map → chunk-1705yamg.js.map} +1 -1
  24. package/dist/{chunk-tngf3h1g.js → chunk-1ghbn9jg.js} +2 -2
  25. package/dist/{chunk-tngf3h1g.js.map → chunk-1ghbn9jg.js.map} +1 -1
  26. package/dist/chunk-1m7kqf2t.js +117 -0
  27. package/dist/{chunk-8zeky0fj.js.map → chunk-1m7kqf2t.js.map} +6 -5
  28. package/dist/{chunk-ejc0mbe3.js → chunk-1x23scpn.js} +2 -2
  29. package/dist/{chunk-ejc0mbe3.js.map → chunk-1x23scpn.js.map} +1 -1
  30. package/dist/{chunk-gsrf5c3c.js → chunk-1yhvqthv.js} +2 -2
  31. package/dist/{chunk-gsrf5c3c.js.map → chunk-1yhvqthv.js.map} +1 -1
  32. package/dist/{chunk-xsx69765.js → chunk-228w21t6.js} +2 -2
  33. package/dist/{chunk-xsx69765.js.map → chunk-228w21t6.js.map} +1 -1
  34. package/dist/{chunk-thq8tc9x.js → chunk-2485bwzs.js} +3 -3
  35. package/dist/{chunk-thq8tc9x.js.map → chunk-2485bwzs.js.map} +1 -1
  36. package/dist/{chunk-7ynahcy6.js → chunk-28fz99pn.js} +2 -2
  37. package/dist/{chunk-7ynahcy6.js.map → chunk-28fz99pn.js.map} +1 -1
  38. package/dist/{chunk-zcrhagx5.js → chunk-28macaes.js} +2 -2
  39. package/dist/{chunk-zcrhagx5.js.map → chunk-28macaes.js.map} +1 -1
  40. package/dist/{chunk-y67rmd3y.js → chunk-2g2fsr71.js} +2 -2
  41. package/dist/{chunk-y67rmd3y.js.map → chunk-2g2fsr71.js.map} +1 -1
  42. package/dist/{chunk-p00rd4ja.js → chunk-2yzv5v3m.js} +2 -2
  43. package/dist/{chunk-p00rd4ja.js.map → chunk-2yzv5v3m.js.map} +1 -1
  44. package/dist/{chunk-t86nc1jd.js → chunk-3fcd8a47.js} +2 -2
  45. package/dist/{chunk-t86nc1jd.js.map → chunk-3fcd8a47.js.map} +1 -1
  46. package/dist/{chunk-24jgzc8y.js → chunk-3svm89z4.js} +2 -2
  47. package/dist/{chunk-24jgzc8y.js.map → chunk-3svm89z4.js.map} +1 -1
  48. package/dist/{chunk-f02anz24.js → chunk-5bfrr8x5.js} +2 -2
  49. package/dist/{chunk-f02anz24.js.map → chunk-5bfrr8x5.js.map} +1 -1
  50. package/dist/{chunk-bd14zwmj.js → chunk-5nkg3rmw.js} +2 -2
  51. package/dist/{chunk-bd14zwmj.js.map → chunk-5nkg3rmw.js.map} +1 -1
  52. package/dist/{chunk-m3180wkp.js → chunk-63dh2zt4.js} +2 -2
  53. package/dist/{chunk-m3180wkp.js.map → chunk-63dh2zt4.js.map} +1 -1
  54. package/dist/{chunk-17mdszc3.js → chunk-6m9qrs6d.js} +2 -2
  55. package/dist/{chunk-17mdszc3.js.map → chunk-6m9qrs6d.js.map} +1 -1
  56. package/dist/{chunk-hwq0kk1d.js → chunk-7t60d5qy.js} +1 -1
  57. package/dist/{chunk-ccx7rt7y.js → chunk-8e17k7ht.js} +2 -2
  58. package/dist/{chunk-ccx7rt7y.js.map → chunk-8e17k7ht.js.map} +1 -1
  59. package/dist/{chunk-z1aeh05w.js → chunk-8fdk8bfd.js} +3 -3
  60. package/dist/{chunk-z1aeh05w.js.map → chunk-8fdk8bfd.js.map} +1 -1
  61. package/dist/{chunk-9m04tdzh.js → chunk-9hjxpdjt.js} +1 -1
  62. package/dist/{chunk-tt5qk0xt.js → chunk-a02bmp0q.js} +2 -2
  63. package/dist/{chunk-tt5qk0xt.js.map → chunk-a02bmp0q.js.map} +1 -1
  64. package/dist/{chunk-fryj3asn.js → chunk-aycfrzh1.js} +2 -2
  65. package/dist/{chunk-fryj3asn.js.map → chunk-aycfrzh1.js.map} +1 -1
  66. package/dist/{chunk-m4r8btey.js → chunk-b6zqjyn1.js} +2 -2
  67. package/dist/{chunk-m4r8btey.js.map → chunk-b6zqjyn1.js.map} +1 -1
  68. package/dist/{chunk-qfb6r3cq.js → chunk-bc7hr358.js} +3 -3
  69. package/dist/{chunk-qfb6r3cq.js.map → chunk-bc7hr358.js.map} +1 -1
  70. package/dist/{chunk-ce73s4kh.js → chunk-beckfwe9.js} +2 -2
  71. package/dist/{chunk-ce73s4kh.js.map → chunk-beckfwe9.js.map} +1 -1
  72. package/dist/chunk-c6khfprk.js +10 -0
  73. package/dist/{chunk-7k43y71n.js.map → chunk-c6khfprk.js.map} +3 -3
  74. package/dist/{chunk-rf9c6e49.js → chunk-dfmxvp8p.js} +2 -2
  75. package/dist/{chunk-rf9c6e49.js.map → chunk-dfmxvp8p.js.map} +1 -1
  76. package/dist/{chunk-z9pq557m.js → chunk-dn20caf2.js} +2 -2
  77. package/dist/{chunk-z9pq557m.js.map → chunk-dn20caf2.js.map} +1 -1
  78. package/dist/{chunk-freerpzc.js → chunk-ejktrxp2.js} +1 -1
  79. package/dist/{chunk-8pfy75y6.js → chunk-ermvtpy9.js} +3 -3
  80. package/dist/{chunk-8pfy75y6.js.map → chunk-ermvtpy9.js.map} +1 -1
  81. package/dist/{chunk-bm7z4vj9.js → chunk-f6css3z6.js} +2 -2
  82. package/dist/{chunk-bm7z4vj9.js.map → chunk-f6css3z6.js.map} +1 -1
  83. package/dist/{chunk-0m1a636t.js → chunk-fhfkcmkc.js} +2 -2
  84. package/dist/{chunk-0m1a636t.js.map → chunk-fhfkcmkc.js.map} +1 -1
  85. package/dist/{chunk-8em2ebj1.js → chunk-ftvc1a0k.js} +2 -2
  86. package/dist/{chunk-8em2ebj1.js.map → chunk-ftvc1a0k.js.map} +1 -1
  87. package/dist/{chunk-5zx4e2wa.js → chunk-g02gqhq0.js} +3 -3
  88. package/dist/{chunk-5zx4e2wa.js.map → chunk-g02gqhq0.js.map} +1 -1
  89. package/dist/{chunk-j34ektzj.js → chunk-g7h28xcr.js} +2 -2
  90. package/dist/{chunk-j34ektzj.js.map → chunk-g7h28xcr.js.map} +1 -1
  91. package/dist/{chunk-xwz5fmwy.js → chunk-geqdq8hp.js} +3 -3
  92. package/dist/{chunk-xwz5fmwy.js.map → chunk-geqdq8hp.js.map} +1 -1
  93. package/dist/{chunk-9dfrsj4m.js → chunk-gmcttf0f.js} +2 -2
  94. package/dist/{chunk-9dfrsj4m.js.map → chunk-gmcttf0f.js.map} +1 -1
  95. package/dist/chunk-gn90agsv.js +5 -0
  96. package/dist/{chunk-waq4kj7n.js.map → chunk-gn90agsv.js.map} +1 -1
  97. package/dist/{chunk-67zz58cw.js → chunk-h9taahxv.js} +2 -2
  98. package/dist/{chunk-67zz58cw.js.map → chunk-h9taahxv.js.map} +1 -1
  99. package/dist/{chunk-wa1xmvgr.js → chunk-hmn6pa78.js} +2 -2
  100. package/dist/{chunk-wa1xmvgr.js.map → chunk-hmn6pa78.js.map} +1 -1
  101. package/dist/{chunk-jbee3n3p.js → chunk-hswnqn33.js} +2 -2
  102. package/dist/{chunk-jbee3n3p.js.map → chunk-hswnqn33.js.map} +1 -1
  103. package/dist/{chunk-6n44t4hn.js → chunk-j49vh5bs.js} +2 -2
  104. package/dist/{chunk-6n44t4hn.js.map → chunk-j49vh5bs.js.map} +1 -1
  105. package/dist/{chunk-fhvyq67n.js → chunk-jq1vwj5g.js} +2 -2
  106. package/dist/{chunk-fhvyq67n.js.map → chunk-jq1vwj5g.js.map} +1 -1
  107. package/dist/{chunk-h688s2ba.js → chunk-m08p5mre.js} +2 -2
  108. package/dist/{chunk-h688s2ba.js.map → chunk-m08p5mre.js.map} +1 -1
  109. package/dist/{chunk-fbxnxze2.js → chunk-m0dfgmbj.js} +1 -1
  110. package/dist/{chunk-6rmz0mkm.js → chunk-mc8fdh65.js} +2 -2
  111. package/dist/{chunk-6rmz0mkm.js.map → chunk-mc8fdh65.js.map} +1 -1
  112. package/dist/{chunk-efgemgbe.js → chunk-mgdrf89p.js} +2 -2
  113. package/dist/{chunk-efgemgbe.js.map → chunk-mgdrf89p.js.map} +1 -1
  114. package/dist/{chunk-7zpjdwfq.js → chunk-n914rs58.js} +3 -3
  115. package/dist/{chunk-7zpjdwfq.js.map → chunk-n914rs58.js.map} +1 -1
  116. package/dist/{chunk-6frbegay.js → chunk-nk7nmtng.js} +2 -2
  117. package/dist/{chunk-6frbegay.js.map → chunk-nk7nmtng.js.map} +1 -1
  118. package/dist/{chunk-c36sbvnz.js → chunk-p2vasd1z.js} +2 -2
  119. package/dist/{chunk-c36sbvnz.js.map → chunk-p2vasd1z.js.map} +1 -1
  120. package/dist/{chunk-6wsmdf51.js → chunk-paawtkza.js} +2 -2
  121. package/dist/{chunk-6wsmdf51.js.map → chunk-paawtkza.js.map} +1 -1
  122. package/dist/{chunk-0p76bhy2.js → chunk-pg5hm00s.js} +2 -2
  123. package/dist/{chunk-0p76bhy2.js.map → chunk-pg5hm00s.js.map} +1 -1
  124. package/dist/{chunk-bhfwp3gz.js → chunk-pmt2jt9b.js} +2 -2
  125. package/dist/{chunk-bhfwp3gz.js.map → chunk-pmt2jt9b.js.map} +1 -1
  126. package/dist/{chunk-etzd00a8.js → chunk-pqr01waj.js} +2 -2
  127. package/dist/{chunk-etzd00a8.js.map → chunk-pqr01waj.js.map} +1 -1
  128. package/dist/{chunk-z8dxdqzm.js → chunk-q1aaqhnw.js} +2 -2
  129. package/dist/{chunk-k1c0xd8r.js.map → chunk-q1aaqhnw.js.map} +1 -1
  130. package/dist/{chunk-mdrsec0r.js → chunk-qg9pyxg7.js} +2 -2
  131. package/dist/{chunk-mdrsec0r.js.map → chunk-qg9pyxg7.js.map} +1 -1
  132. package/dist/{chunk-xzz6ps4z.js → chunk-qjwv9xfq.js} +2 -2
  133. package/dist/{chunk-xzz6ps4z.js.map → chunk-qjwv9xfq.js.map} +1 -1
  134. package/dist/{chunk-d0khszc9.js → chunk-qrn6ch3t.js} +2 -2
  135. package/dist/{chunk-d0khszc9.js.map → chunk-qrn6ch3t.js.map} +1 -1
  136. package/dist/{chunk-67ex6nem.js → chunk-reaty2mv.js} +3 -3
  137. package/dist/{chunk-67ex6nem.js.map → chunk-reaty2mv.js.map} +1 -1
  138. package/dist/{chunk-cx3n8qyr.js → chunk-rp6ss7v3.js} +2 -2
  139. package/dist/{chunk-cx3n8qyr.js.map → chunk-rp6ss7v3.js.map} +1 -1
  140. package/dist/{chunk-199nvtrj.js → chunk-scmjmsps.js} +3 -3
  141. package/dist/{chunk-199nvtrj.js.map → chunk-scmjmsps.js.map} +1 -1
  142. package/dist/{chunk-k8gn0q91.js → chunk-sqqby94y.js} +1 -1
  143. package/dist/{chunk-vese6sny.js → chunk-svtjfmkc.js} +2 -2
  144. package/dist/{chunk-vese6sny.js.map → chunk-svtjfmkc.js.map} +1 -1
  145. package/dist/{chunk-r7vnxqck.js → chunk-tj7z65ba.js} +2 -2
  146. package/dist/{chunk-r7vnxqck.js.map → chunk-tj7z65ba.js.map} +1 -1
  147. package/dist/{chunk-z7mbhc68.js → chunk-trqt1kkd.js} +2 -2
  148. package/dist/{chunk-z7mbhc68.js.map → chunk-trqt1kkd.js.map} +1 -1
  149. package/dist/{chunk-ryfty6mj.js → chunk-v20fe53s.js} +3 -3
  150. package/dist/{chunk-ryfty6mj.js.map → chunk-v20fe53s.js.map} +1 -1
  151. package/dist/{chunk-k1c0xd8r.js → chunk-vgxkt9vd.js} +2 -2
  152. package/dist/{chunk-z8dxdqzm.js.map → chunk-vgxkt9vd.js.map} +1 -1
  153. package/dist/{chunk-1mpwzjxa.js → chunk-wgqppqcn.js} +3 -3
  154. package/dist/{chunk-1mpwzjxa.js.map → chunk-wgqppqcn.js.map} +1 -1
  155. package/dist/{chunk-4s7st9y4.js → chunk-wvq3c25z.js} +3 -3
  156. package/dist/{chunk-4s7st9y4.js.map → chunk-wvq3c25z.js.map} +1 -1
  157. package/dist/{chunk-sqev442x.js → chunk-zzdvdr5a.js} +4 -4
  158. package/dist/{chunk-sqev442x.js.map → chunk-zzdvdr5a.js.map} +1 -1
  159. package/dist/config/index.js +1 -1
  160. package/dist/console/run.js +2 -2
  161. package/dist/console/run.js.map +1 -1
  162. package/dist/container/index.js +2 -2
  163. package/dist/container/index.js.map +1 -1
  164. package/dist/database/index.js +2 -2
  165. package/dist/database/index.js.map +1 -1
  166. package/dist/email/Email.d.ts.map +1 -1
  167. package/dist/email/index.js +3 -3
  168. package/dist/email/index.js.map +3 -3
  169. package/dist/facades/index.js +2 -2
  170. package/dist/facades/index.js.map +1 -1
  171. package/dist/foundation/index.js +2 -2
  172. package/dist/foundation/index.js.map +1 -1
  173. package/dist/http/index.js +2 -2
  174. package/dist/http/index.js.map +1 -1
  175. package/dist/i18n/dictionaryRuntime.js +2 -2
  176. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  177. package/dist/i18n/index.js +2 -2
  178. package/dist/i18n/index.js.map +1 -1
  179. package/dist/kernel/index.js +2 -2
  180. package/dist/kernel/index.js.map +1 -1
  181. package/dist/orm/index.js +2 -2
  182. package/dist/orm/index.js.map +1 -1
  183. package/dist/probe/index.js +2 -2
  184. package/dist/probe/index.js.map +1 -1
  185. package/dist/server/index.js +2 -2
  186. package/dist/server/index.js.map +1 -1
  187. package/dist/services/index.d.ts +1 -0
  188. package/dist/services/index.d.ts.map +1 -1
  189. package/dist/services/index.js +9 -9
  190. package/dist/services/index.js.map +4 -3
  191. package/dist/services/queue/work.js +2 -2
  192. package/dist/services/queue/work.js.map +1 -1
  193. package/dist/stats/route-table.js +1 -1
  194. package/dist/support/index.js +2 -2
  195. package/dist/support/index.js.map +1 -1
  196. package/dist/vitest/index.js +1 -1
  197. package/package.json +1 -1
  198. package/dist/chunk-7k43y71n.js +0 -10
  199. package/dist/chunk-8zeky0fj.js +0 -117
  200. package/dist/chunk-waq4kj7n.js +0 -5
  201. /package/dist/{chunk-9hmm8acy.js.map → chunk-03q4j7wa.js.map} +0 -0
  202. /package/dist/{chunk-hwq0kk1d.js.map → chunk-7t60d5qy.js.map} +0 -0
  203. /package/dist/{chunk-9m04tdzh.js.map → chunk-9hjxpdjt.js.map} +0 -0
  204. /package/dist/{chunk-freerpzc.js.map → chunk-ejktrxp2.js.map} +0 -0
  205. /package/dist/{chunk-fbxnxze2.js.map → chunk-m0dfgmbj.js.map} +0 -0
  206. /package/dist/{chunk-k8gn0q91.js.map → chunk-sqqby94y.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  // @bun
2
2
  class A extends Error{constructor(p,q){super(`Target [${p}] is not bound in the container.`+(q.length>0?` Bound tokens: ${q.join(", ")}.`:" No tokens are bound \u2014 was the application booted?"));this.name="BindingResolutionError"}}class C{bindings=new Map;instances=new Map;bind(p,q){this.bindings.set(p.token,{factory:q,shared:!1}),this.instances.delete(p.token)}singleton(p,q){this.bindings.set(p.token,{factory:q,shared:!0}),this.instances.delete(p.token)}instance(p,q){return this.instances.set(p.token,q),q}bound(p){return this.bindings.has(p.token)||this.instances.has(p.token)}resolved(p){return this.instances.has(p.token)}make(p){let q=p.token;if(this.instances.has(q))return this.instances.get(q);let v=this.bindings.get(q);if(!v)throw new A(q,this.keys());let x=v.factory(this);if(v.shared)this.instances.set(q,x);return x}forget(p){this.instances.delete(p.token)}keys(){return[...new Set([...this.bindings.keys(),...this.instances.keys()])]}flush(){this.bindings.clear(),this.instances.clear()}}
3
- export{A as rl,C as sl};
3
+ export{A as ul,C as vl};
4
4
 
5
- //# debugId=492844B0D2B833F864756E2164756E21
5
+ //# debugId=7159BD06769FBAB164756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "/**\n * Tokens are the service classes themselves, so `make(MailManager)` is typed\n * `MailManager` without a cast. The container keys its bindings off the class's\n * `static token` string rather than the constructor object: the built binary\n * (`dist/bin/gemi.js`) bundles its own copy of gemi while the app resolves\n * `gemi/*` to source, so the same service is two distinct class objects across\n * that boundary. A string survives it. Laravel binds both `'mail'` and\n * `MailManager::class` for the same reason.\n */\nexport type ServiceToken<T> = (abstract new (...args: any[]) => T) & {\n token: string;\n};\n\nexport type Factory<T> = (app: Container) => T;\n\ninterface Binding {\n factory: Factory<any>;\n shared: boolean;\n}\n\nexport class BindingResolutionError extends Error {\n constructor(token: string, known: string[]) {\n super(\n `Target [${token}] is not bound in the container.` +\n (known.length > 0\n ? ` Bound tokens: ${known.join(\", \")}.`\n : \" No tokens are bound — was the application booted?\"),\n );\n this.name = \"BindingResolutionError\";\n }\n}\n\nexport class Container {\n private bindings = new Map<string, Binding>();\n private instances = new Map<string, any>();\n\n bind<T>(token: ServiceToken<T>, factory: Factory<T>) {\n this.bindings.set(token.token, { factory, shared: false });\n this.instances.delete(token.token);\n }\n\n /**\n * Lazy by design — `factory` is not called until the first `make()`.\n */\n singleton<T>(token: ServiceToken<T>, factory: Factory<T>) {\n this.bindings.set(token.token, { factory, shared: true });\n this.instances.delete(token.token);\n }\n\n instance<T>(token: ServiceToken<T>, object: T): T {\n this.instances.set(token.token, object);\n return object;\n }\n\n bound<T>(token: ServiceToken<T>): boolean {\n return (\n this.bindings.has(token.token) || this.instances.has(token.token)\n );\n }\n\n resolved<T>(token: ServiceToken<T>): boolean {\n return this.instances.has(token.token);\n }\n\n make<T>(token: ServiceToken<T>): T {\n const key = token.token;\n\n if (this.instances.has(key)) {\n return this.instances.get(key) as T;\n }\n\n const binding = this.bindings.get(key);\n if (!binding) {\n throw new BindingResolutionError(key, this.keys());\n }\n\n const object = binding.factory(this) as T;\n if (binding.shared) {\n this.instances.set(key, object);\n }\n return object;\n }\n\n forget<T>(token: ServiceToken<T>) {\n this.instances.delete(token.token);\n }\n\n keys(): string[] {\n return [\n ...new Set([...this.bindings.keys(), ...this.instances.keys()]),\n ];\n }\n\n flush() {\n this.bindings.clear();\n this.instances.clear();\n }\n}\n"
6
6
  ],
7
7
  "mappings": ";AAoBO,MAAM,UAA+B,KAAM,CAChD,WAAW,CAAC,EAAe,EAAiB,CAC1C,MACE,WAAW,qCACR,EAAM,OAAS,EACZ,kBAAkB,EAAM,KAAK,IAAI,KACjC,0DACR,EACA,KAAK,KAAO,yBAEhB,CAEO,MAAM,CAAU,CACb,SAAW,IAAI,IACf,UAAY,IAAI,IAExB,IAAO,CAAC,EAAwB,EAAqB,CACnD,KAAK,SAAS,IAAI,EAAM,MAAO,CAAE,UAAS,OAAQ,EAAM,CAAC,EACzD,KAAK,UAAU,OAAO,EAAM,KAAK,EAMnC,SAAY,CAAC,EAAwB,EAAqB,CACxD,KAAK,SAAS,IAAI,EAAM,MAAO,CAAE,UAAS,OAAQ,EAAK,CAAC,EACxD,KAAK,UAAU,OAAO,EAAM,KAAK,EAGnC,QAAW,CAAC,EAAwB,EAAc,CAEhD,OADA,KAAK,UAAU,IAAI,EAAM,MAAO,CAAM,EAC/B,EAGT,KAAQ,CAAC,EAAiC,CACxC,OACE,KAAK,SAAS,IAAI,EAAM,KAAK,GAAK,KAAK,UAAU,IAAI,EAAM,KAAK,EAIpE,QAAW,CAAC,EAAiC,CAC3C,OAAO,KAAK,UAAU,IAAI,EAAM,KAAK,EAGvC,IAAO,CAAC,EAA2B,CACjC,IAAM,EAAM,EAAM,MAElB,GAAI,KAAK,UAAU,IAAI,CAAG,EACxB,OAAO,KAAK,UAAU,IAAI,CAAG,EAG/B,IAAM,EAAU,KAAK,SAAS,IAAI,CAAG,EACrC,GAAI,CAAC,EACH,MAAM,IAAI,EAAuB,EAAK,KAAK,KAAK,CAAC,EAGnD,IAAM,EAAS,EAAQ,QAAQ,IAAI,EACnC,GAAI,EAAQ,OACV,KAAK,UAAU,IAAI,EAAK,CAAM,EAEhC,OAAO,EAGT,MAAS,CAAC,EAAwB,CAChC,KAAK,UAAU,OAAO,EAAM,KAAK,EAGnC,IAAI,EAAa,CACf,MAAO,CACL,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,KAAK,EAAG,GAAG,KAAK,UAAU,KAAK,CAAC,CAAC,CAChE,EAGF,KAAK,EAAG,CACN,KAAK,SAAS,MAAM,EACpB,KAAK,UAAU,MAAM,EAEzB",
8
- "debugId": "492844B0D2B833F864756E2164756E21",
8
+ "debugId": "7159BD06769FBAB164756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{Ca as f}from"./chunk-s0z61m9j.js";import{createElement as v}from"react";function q(i,t){let e=Object.keys(t).sort((s,r)=>r.length-s.length).map((s)=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),p=new RegExp(e.join("|"),"g");return i.replace(p,(s)=>t[s])}async function X(i,t,e=[],p){let s=[...e.map((n)=>`${i}/views/${n}.tsx`),p?`${i}/views/${p}.tsx`:`${i}/views/RootLayout.tsx`],r=new Set;for(let n of s){let u=t.moduleGraph.getModulesByFile(n);if(u)for(let d of u)r.add(d)}let b=[],l=[],g={};for(let n of r)if(n)for(let u of n.importedModules){if(u.file.includes("module.css"))g[u.file]=u.ssrTransformResult.map.sourcesContent.join("");if(u.file.includes(".css"))l.push(u.file)}for(let n of l){let u=await t.transformRequest(n+"?direct"),d=n.includes("module.css"),j="";if(d)j=q(g[n],u.default);b.push({isDev:!0,id:n,content:d?j:u.code})}return b.map((n,u)=>{return v("style",{key:u,type:"text/css","data-vite-dev-id":n.id,dangerouslySetInnerHTML:{__html:n.content}})})}async function Y(i=[]){return i.map((t,e)=>{return v("style",{key:e,id:t?.id,type:"text/css",dangerouslySetInnerHTML:{__html:t.content}})})}import{existsSync as k}from"fs";import{basename as z}from"path";import{networkInterfaces as $}from"os";var a={name:"gemi",version:"0.193.1",private:!1,license:"MIT",author:"Enes Tufekci <enes@gemijs.dev>",repository:{type:"git",url:"git+https://github.com/nstfkc/gemi.git",directory:"packages/gemi"},bin:{gemi:"./dist/bin/gemi.js","gemi-orm-generator":"./dist/bin/orm-generator.js"},files:["dist/**/*","ide/typescript-plugin/package.json","skills/**/*"],module:!0,exports:{"./http":"./http/index.ts","./client":"./client/index.ts","./ai":"./ai/index.ts","./ai/client":"./ai/client/index.ts","./ai/voice":"./ai/voice/index.ts","./testing":"./testing/index.ts","./app":"./app/index.ts","./facades":"./facades/index.ts","./email":"./email/index.ts","./vite":"./dist/vite/index.mjs","./kernel":"./kernel/index.ts","./services":"./services/index.ts","./i18n":"./i18n/index.ts","./dictionary":"./i18n/dictionaryRuntime.ts","./server":"./server/index.ts","./config":"./config/index.ts","./container":"./container/index.ts","./foundation":"./foundation/index.ts","./database":"./database/index.ts","./orm":"./orm/index.ts","./support":"./support/index.ts","./probe":"./probe/index.ts","./console/run":"./console/run.ts","./queue/work":"./services/queue/work.ts","./stats/route-table":"./stats/route-table.ts","./ide/typescript-plugin":"./ide/typescript-plugin/index.ts","./bun/preload":"./bun/preload.ts","./bun/plugin":"./bun/plugin.ts","./vitest":"./vitest/index.ts"},scripts:{lint:"oxlint",typecheck:"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.browser.json && tsc --noEmit -p ide/typescript-plugin/tsconfig.json",build:"NODE_ENV=production bun run build:core && bun run build:bin && bun run build:types && bun run build:client && bun run build:plugin && bun run build:ts-plugin && bun run build:client-types && bun run build:augmentation","build:core":"bun ./scripts/build.ts","build:bin":"bun build --outdir=./dist/bin --target=bun --external=vite --external=react-dom --external=react/jsx-runtime --external=bun --external=sharp --external=@azure/storage-blob --external=typescript --sourcemap ./bin/gemi.ts ./bin/orm-generator.ts && bun ./scripts/prepare-bin.ts","build:client":"rm -rf dist/client dist/testing dist/ai/client dist/ai/voice dist/chunks && vite build -c vite.client.config.mts","build:plugin":"vite build -c vite.plugin.config.mts","build:ts-plugin":"bun ./scripts/build-ts-plugin.ts","build:types":"tsc -p tsconfig.build.json","build:client-types":"tsc -p tsconfig.browser.json",test:"bun --bun x vitest","test:types":"vitest run --typecheck.only","test:live":"bun --bun x vitest run ai/live","test:packaging":"bun --bun x vitest run --config vitest.packaging.config.ts","build:publish":"bun scripts/build-publish.ts",prepublishOnly:"echo 'Do not publish from this directory \u2014 its exports point at TS source. Run: bun run build:publish, then publish from .publish/' && exit 1","build:augmentation":"bun ./scripts/wire-augmentation.ts"},dependencies:{"@aws-sdk/client-s3":"^3.629.0","@aws-sdk/s3-request-presigner":"^3.629.0","ast-types":"^0.14.2",commander:"^12.1.0",history:"^5.3.0","jsx-email":"2.0.0-rc2.1","magic-string":"^0.30.17",open:"^10.1.0","react-error-boundary":"^6.0.0",recast:"^0.23.9",resend:"^6.12.3",satori:"^0.12.2","temporal-polyfill":"^0.2.5","twitter-api-v2":"^1.20.2","urlpattern-polyfill":"^10.0.0",uuid:"^9.0.1"},devDependencies:{"@babel/parser":"^7.25.4","@prisma/generator-helper":"^6.5.0","@repo/typescript-config":"*","@testing-library/react":"^16.3.2","@types/bun":"^1.3.14","@types/eslint":"^8.56.5","@types/node":"^20.11.24","@types/react":"^19.0.2","@types/react-dom":"^19.0.2",eslint:"^8.57.0","happy-dom":"^21.0.4",jsdom:"^30.0.1",oxlint:"^1.39.0",postgres:"^3.4.5",react:"19.2.3","react-dom":"19.2.3",typescript:"^5.7.3",vitest:"^4.0.0"},peerDependencies:{"@azure/storage-blob":"^12.28.0",react:">=19","react-dom":">=19",sharp:"^0.34.2",typescript:">=5",vite:"^8.0.0",postgres:"^3.4.0"},peerDependenciesMeta:{"@azure/storage-blob":{optional:!0},typescript:{optional:!0},postgres:{optional:!0}}};var h=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557\u2588\u2588\u2557","\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551","\u2588\u2588\u2551 \u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551\u2588\u2588\u2551","\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2551","\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551\u2588\u2588\u2551"," \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D"],m=Boolean(process.stdout.isTTY)&&!process.env.NO_COLOR,c=(i,t)=>m?`\x1B[${i}m${t}\x1B[0m`:t,E=(i)=>c("1",i),x=(i)=>c("2",i),o=(i)=>c("36",i),G=(i)=>c("32",i),J=(i)=>c("35",i);function N(){return a.version??"?"}function O(i){for(let t of Object.values($()))for(let e of t??[])if((e.family==="IPv4"||e.family===4)&&!e.internal)return`http://${e.address}:${i}`;return null}function Q(i){return f(i).filter((t)=>k(t)).map((t)=>z(t))}function F(i){let{port:t,rootDir:e}=i,p=`http://localhost:${t}`,s=O(t),r=Q(e),b=(g,n)=>` ${G("\u279C")} ${E(g.padEnd(9))}${n}`,l=["",...h.map((g)=>J(g)),"",` ${x("gemi")} ${o(`v${N()}`)}`,"",b("Local:",o(p)),b("Network:",s?o(s):x("unavailable")),b("Env:",r.length?r.join(", "):x("none")),""];console.log(l.join(`
2
+ import{Ca as f}from"./chunk-s0z61m9j.js";import{createElement as v}from"react";function q(i,t){let e=Object.keys(t).sort((s,r)=>r.length-s.length).map((s)=>s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")),p=new RegExp(e.join("|"),"g");return i.replace(p,(s)=>t[s])}async function X(i,t,e=[],p){let s=[...e.map((n)=>`${i}/views/${n}.tsx`),p?`${i}/views/${p}.tsx`:`${i}/views/RootLayout.tsx`],r=new Set;for(let n of s){let u=t.moduleGraph.getModulesByFile(n);if(u)for(let d of u)r.add(d)}let b=[],l=[],g={};for(let n of r)if(n)for(let u of n.importedModules){if(u.file.includes("module.css"))g[u.file]=u.ssrTransformResult.map.sourcesContent.join("");if(u.file.includes(".css"))l.push(u.file)}for(let n of l){let u=await t.transformRequest(n+"?direct"),d=n.includes("module.css"),j="";if(d)j=q(g[n],u.default);b.push({isDev:!0,id:n,content:d?j:u.code})}return b.map((n,u)=>{return v("style",{key:u,type:"text/css","data-vite-dev-id":n.id,dangerouslySetInnerHTML:{__html:n.content}})})}async function Y(i=[]){return i.map((t,e)=>{return v("style",{key:e,id:t?.id,type:"text/css",dangerouslySetInnerHTML:{__html:t.content}})})}import{existsSync as k}from"fs";import{basename as z}from"path";import{networkInterfaces as $}from"os";var a={name:"gemi",version:"0.194.0",private:!1,license:"MIT",author:"Enes Tufekci <enes@gemijs.dev>",repository:{type:"git",url:"git+https://github.com/nstfkc/gemi.git",directory:"packages/gemi"},bin:{gemi:"./dist/bin/gemi.js","gemi-orm-generator":"./dist/bin/orm-generator.js"},files:["dist/**/*","ide/typescript-plugin/package.json","skills/**/*"],module:!0,exports:{"./http":"./http/index.ts","./client":"./client/index.ts","./ai":"./ai/index.ts","./ai/client":"./ai/client/index.ts","./ai/voice":"./ai/voice/index.ts","./testing":"./testing/index.ts","./app":"./app/index.ts","./facades":"./facades/index.ts","./email":"./email/index.ts","./vite":"./dist/vite/index.mjs","./kernel":"./kernel/index.ts","./services":"./services/index.ts","./i18n":"./i18n/index.ts","./dictionary":"./i18n/dictionaryRuntime.ts","./server":"./server/index.ts","./config":"./config/index.ts","./container":"./container/index.ts","./foundation":"./foundation/index.ts","./database":"./database/index.ts","./orm":"./orm/index.ts","./support":"./support/index.ts","./probe":"./probe/index.ts","./console/run":"./console/run.ts","./queue/work":"./services/queue/work.ts","./stats/route-table":"./stats/route-table.ts","./ide/typescript-plugin":"./ide/typescript-plugin/index.ts","./bun/preload":"./bun/preload.ts","./bun/plugin":"./bun/plugin.ts","./vitest":"./vitest/index.ts"},scripts:{lint:"oxlint",typecheck:"tsc --noEmit -p tsconfig.json && tsc --noEmit -p tsconfig.browser.json && tsc --noEmit -p ide/typescript-plugin/tsconfig.json",build:"NODE_ENV=production bun run build:core && bun run build:bin && bun run build:types && bun run build:client && bun run build:plugin && bun run build:ts-plugin && bun run build:client-types && bun run build:augmentation","build:core":"bun ./scripts/build.ts","build:bin":"bun build --outdir=./dist/bin --target=bun --external=vite --external=react-dom --external=react/jsx-runtime --external=bun --external=sharp --external=@azure/storage-blob --external=typescript --sourcemap ./bin/gemi.ts ./bin/orm-generator.ts && bun ./scripts/prepare-bin.ts","build:client":"rm -rf dist/client dist/testing dist/ai/client dist/ai/voice dist/chunks && vite build -c vite.client.config.mts","build:plugin":"vite build -c vite.plugin.config.mts","build:ts-plugin":"bun ./scripts/build-ts-plugin.ts","build:types":"tsc -p tsconfig.build.json","build:client-types":"tsc -p tsconfig.browser.json",test:"bun --bun x vitest","test:types":"vitest run --typecheck.only","test:live":"bun --bun x vitest run ai/live","test:packaging":"bun --bun x vitest run --config vitest.packaging.config.ts","build:publish":"bun scripts/build-publish.ts",prepublishOnly:"echo 'Do not publish from this directory \u2014 its exports point at TS source. Run: bun run build:publish, then publish from .publish/' && exit 1","build:augmentation":"bun ./scripts/wire-augmentation.ts"},dependencies:{"@aws-sdk/client-s3":"^3.629.0","@aws-sdk/s3-request-presigner":"^3.629.0","ast-types":"^0.14.2",commander:"^12.1.0",history:"^5.3.0","jsx-email":"2.0.0-rc2.1","magic-string":"^0.30.17",open:"^10.1.0","react-error-boundary":"^6.0.0",recast:"^0.23.9",resend:"^6.12.3",satori:"^0.12.2","temporal-polyfill":"^0.2.5","twitter-api-v2":"^1.20.2","urlpattern-polyfill":"^10.0.0",uuid:"^9.0.1"},devDependencies:{"@babel/parser":"^7.25.4","@prisma/generator-helper":"^6.5.0","@repo/typescript-config":"*","@testing-library/react":"^16.3.2","@types/bun":"^1.3.14","@types/eslint":"^8.56.5","@types/node":"^20.11.24","@types/react":"^19.0.2","@types/react-dom":"^19.0.2",eslint:"^8.57.0","happy-dom":"^21.0.4",jsdom:"^30.0.1",oxlint:"^1.39.0",postgres:"^3.4.5",react:"19.2.3","react-dom":"19.2.3",typescript:"^5.7.3",vitest:"^4.0.0"},peerDependencies:{"@azure/storage-blob":"^12.28.0",react:">=19","react-dom":">=19",sharp:"^0.34.2",typescript:">=5",vite:"^8.0.0",postgres:"^3.4.0"},peerDependenciesMeta:{"@azure/storage-blob":{optional:!0},typescript:{optional:!0},postgres:{optional:!0}}};var h=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2557\u2588\u2588\u2557","\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551","\u2588\u2588\u2551 \u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2554\u2588\u2588\u2588\u2588\u2554\u2588\u2588\u2551\u2588\u2588\u2551","\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u255D \u2588\u2588\u2551\u255A\u2588\u2588\u2554\u255D\u2588\u2588\u2551\u2588\u2588\u2551","\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2550\u255D \u2588\u2588\u2551\u2588\u2588\u2551"," \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D \u255A\u2550\u255D\u255A\u2550\u255D"],m=Boolean(process.stdout.isTTY)&&!process.env.NO_COLOR,c=(i,t)=>m?`\x1B[${i}m${t}\x1B[0m`:t,E=(i)=>c("1",i),x=(i)=>c("2",i),o=(i)=>c("36",i),G=(i)=>c("32",i),J=(i)=>c("35",i);function N(){return a.version??"?"}function O(i){for(let t of Object.values($()))for(let e of t??[])if((e.family==="IPv4"||e.family===4)&&!e.internal)return`http://${e.address}:${i}`;return null}function Q(i){return f(i).filter((t)=>k(t)).map((t)=>z(t))}function F(i){let{port:t,rootDir:e}=i,p=`http://localhost:${t}`,s=O(t),r=Q(e),b=(g,n)=>` ${G("\u279C")} ${E(g.padEnd(9))}${n}`,l=["",...h.map((g)=>J(g)),"",` ${x("gemi")} ${o(`v${N()}`)}`,"",b("Local:",o(p)),b("Network:",s?o(s):x("unavailable")),b("Env:",r.length?r.join(", "):x("none")),""];console.log(l.join(`
3
3
  `))}function V(i,t){return Error(`app/views/${i}.tsx is missing. gemi's auth routes render it because ${t} is on. Add the view, or turn that setting off in app/config/auth.ts.`)}function U(i=process.env.SERVER_IDLE_TIMEOUT){if(i===void 0||i.trim()==="")return 10;let t=Number(i.trim());if(!Number.isInteger(t)||t<0||t>255)throw Error(`SERVER_IDLE_TIMEOUT must be a whole number of seconds from 0 to 255 (0 disables the timeout), got ${JSON.stringify(i)}.`);return t}
4
4
  export{X as W,Y as X,F as Y,V as Z,U as _};
5
5
 
6
- //# debugId=3437FD1F423E8B1264756E2164756E21
6
+ //# debugId=7ABA9EFE7BD9137464756E2164756E21
@@ -8,6 +8,6 @@
8
8
  "/**\n * Bun's default, and what both servers use when `SERVER_IDLE_TIMEOUT` is unset.\n */\nexport const DEFAULT_SERVER_IDLE_TIMEOUT = 10;\n\n/**\n * The `idleTimeout` (seconds) both `gemi dev` and `gemi start` pass to\n * `Bun.serve`, from `SERVER_IDLE_TIMEOUT` (#787).\n *\n * One reader for both servers, so a long-poll that works under `gemi start`\n * also works under `gemi dev`. Before this, only `httpProd` read the variable\n * and the dev server always ran at Bun's 10 seconds.\n *\n * It is the time a connection may stay silent, a response that has not started\n * included, before Bun closes it; `0` disables it. It does not apply to an\n * upgraded websocket (the HMR relay included), which has its own\n * `websocket.idleTimeout`.\n *\n * Unset or blank means the default. Anything that is not a whole number from 0\n * to 255 (Bun's own limits) fails the boot with the variable's name, instead\n * of Bun's \"expects idleTimeout to be an integer\", which does not say where the\n * value came from.\n */\nexport function serverIdleTimeout(raw: string | undefined = process.env.SERVER_IDLE_TIMEOUT): number {\n if (raw === undefined || raw.trim() === \"\") return DEFAULT_SERVER_IDLE_TIMEOUT;\n\n const seconds = Number(raw.trim());\n if (!Number.isInteger(seconds) || seconds < 0 || seconds > 255) {\n throw new Error(\n `SERVER_IDLE_TIMEOUT must be a whole number of seconds from 0 to 255 ` +\n `(0 disables the timeout), got ${JSON.stringify(raw)}.`,\n );\n }\n return seconds;\n}\n"
9
9
  ],
10
10
  "mappings": "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",
11
- "debugId": "3437FD1F423E8B1264756E2164756E21",
11
+ "debugId": "7ABA9EFE7BD9137464756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,5 +1,5 @@
1
1
  // @bun
2
2
  function H(z){if(z===401)return"authentication";if(z===403)return"permission";if(z===404)return"not_found";if(z===416)return"range_not_satisfiable";if(z===429)return"rate_limit";if(z>=500)return"server_error";return"form_error"}var N="GEMI_REQUEST_BREAKER_ERROR";class J extends Error{static legacyStringPayload=!1;kind=N;payload;constructor(z,C={}){super(z);let D=C.status??400;this.payload={api:{status:D,data:{error:L(C.kind??H(D),z??"",D)},...C.headers?{headers:C.headers}:{}},view:{status:D}}}}function L(z,C,D){return{kind:z,message:C,status:D}}function X(z,C,D){return J.legacyStringPayload?C:L(z,C,D)}
3
- export{H as $i,N as aj,J as bj,L as cj,X as dj};
3
+ export{H as cj,N as dj,J as ej,L as fj,X as gj};
4
4
 
5
- //# debugId=B71626626E4980DF64756E2164756E21
5
+ //# debugId=ABCFC4E30EA02A5B64756E2164756E21
@@ -6,6 +6,6 @@
6
6
  "import { refusalKindForStatus, type Refusal, type RefusalKind } from \"./refusal\";\n\nexport const GEMI_REQUEST_BREAKER_ERROR = \"GEMI_REQUEST_BREAKER_ERROR\";\n\nexport type RequestBreakerOptions = {\n /** The answer's status. 400 when absent. */\n status?: number;\n /**\n * What the client's guards classify it as. Absent, it follows from\n * `status`: 401 `authentication`, 403 `permission`, 404 `not_found`, 429\n * `rate_limit`, 5xx `server_error`, any other status `form_error`.\n */\n kind?: Exclude<RefusalKind, \"validation_error\">;\n /** Extra headers for the API answer. */\n headers?: Record<string, string>;\n};\n\nexport class RequestBreakerError extends Error {\n /**\n * Answer the refusals that were bare strings before 0.88 — authentication,\n * authorization, permission, CSRF and a 500 — with that string again,\n * instead of `{ kind, message, status }`.\n *\n * For a shipped native client that reads `body.error` as a string and cannot\n * be rolled forward in the same deploy as the server. Set it once at boot,\n * and remove the line when the clients read `body.error.message`:\n *\n * ```ts\n * RequestBreakerError.legacyStringPayload = true;\n * ```\n *\n * gemi's own web client reads either shape. Refusals that were already\n * objects (404, 429, a policy 403) stay objects.\n */\n static legacyStringPayload = false;\n\n public kind = GEMI_REQUEST_BREAKER_ERROR;\n public payload: {\n api: Record<string, any>;\n view: Record<string, any>;\n /**\n * What a `.json` view navigation answers, when that differs from `api`.\n * Absent, it gets `api` — right for most breakers, but not for one that\n * must be a 401 to an API client and a redirect to the client router.\n */\n viewData?: Record<string, any>;\n };\n\n /**\n * A refusal that answers `{ error: { kind, message, status } }` with\n * `status`, so the client's guards classify it without a payload of your\n * own. A subclass that sets `payload` itself replaces this.\n *\n * ```ts\n * throw new RequestBreakerError(\"This slug is taken\", { status: 409 });\n * // → 409 { error: { kind: \"form_error\", message: \"This slug is taken\", status: 409 } }\n * ```\n */\n constructor(message?: string, options: RequestBreakerOptions = {}) {\n super(message);\n const status = options.status ?? 400;\n this.payload = {\n api: {\n status,\n data: {\n error: refusal(options.kind ?? refusalKindForStatus(status), message ?? \"\", status),\n },\n ...(options.headers ? { headers: options.headers } : {}),\n },\n view: { status },\n };\n }\n}\n\n/** A refusal's `error` field. */\nexport function refusal<K extends Exclude<RefusalKind, \"validation_error\">>(\n kind: K,\n message: string,\n status: number,\n): Refusal<K> {\n return { kind, message, status };\n}\n\n/**\n * A refusal that was a bare string before 0.88: the object, or the string\n * under `RequestBreakerError.legacyStringPayload`.\n *\n * @internal\n */\nexport function stringEraRefusal<K extends Exclude<RefusalKind, \"validation_error\">>(\n kind: K,\n message: string,\n status: number,\n): Refusal<K> | string {\n return RequestBreakerError.legacyStringPayload ? message : refusal(kind, message, status);\n}\n"
7
7
  ],
8
8
  "mappings": ";AA0DO,SAAS,CAAoB,CAAC,EAA0D,CAC7F,GAAI,IAAW,IAAK,MAAO,iBAC3B,GAAI,IAAW,IAAK,MAAO,aAC3B,GAAI,IAAW,IAAK,MAAO,YAC3B,GAAI,IAAW,IAAK,MAAO,wBAC3B,GAAI,IAAW,IAAK,MAAO,aAC3B,GAAI,GAAU,IAAK,MAAO,eAC1B,MAAO,aC/DF,IAAM,EAA6B,6BAenC,MAAM,UAA4B,KAAM,OAiBtC,qBAAsB,GAEtB,KAAO,EACP,QAqBP,WAAW,CAAC,EAAkB,EAAiC,CAAC,EAAG,CACjE,MAAM,CAAO,EACb,IAAM,EAAS,EAAQ,QAAU,IACjC,KAAK,QAAU,CACb,IAAK,CACH,SACA,KAAM,CACJ,MAAO,EAAQ,EAAQ,MAAQ,EAAqB,CAAM,EAAG,GAAW,GAAI,CAAM,CACpF,KACI,EAAQ,QAAU,CAAE,QAAS,EAAQ,OAAQ,EAAI,CAAC,CACxD,EACA,KAAM,CAAE,QAAO,CACjB,EAEJ,CAGO,SAAS,CAA2D,CACzE,EACA,EACA,EACY,CACZ,MAAO,CAAE,OAAM,UAAS,QAAO,EAS1B,SAAS,CAAoE,CAClF,EACA,EACA,EACqB,CACrB,OAAO,EAAoB,oBAAsB,EAAU,EAAQ,EAAM,EAAS,CAAM",
9
- "debugId": "B71626626E4980DF64756E2164756E21",
9
+ "debugId": "ABCFC4E30EA02A5B64756E2164756E21",
10
10
  "names": []
11
11
  }