gemi 0.187.0 → 0.189.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 (215) hide show
  1. package/dist/ai/index.js +23 -23
  2. package/dist/ai/index.js.map +5 -5
  3. package/dist/ai/providers/call.d.ts +9 -0
  4. package/dist/ai/providers/call.d.ts.map +1 -1
  5. package/dist/ai/providers/endpoints.d.ts +32 -2
  6. package/dist/ai/providers/endpoints.d.ts.map +1 -1
  7. package/dist/ai/providers/errors.d.ts +9 -0
  8. package/dist/ai/providers/errors.d.ts.map +1 -1
  9. package/dist/ai/providers/http.d.ts +18 -1
  10. package/dist/ai/providers/http.d.ts.map +1 -1
  11. package/dist/app/index.js +1 -1
  12. package/dist/bun/plugin.js +1 -1
  13. package/dist/bun/preload.js +1 -1
  14. package/dist/{chunk-3cmm9atm.js → chunk-1f9143dv.js} +2 -2
  15. package/dist/{chunk-3cmm9atm.js.map → chunk-1f9143dv.js.map} +1 -1
  16. package/dist/{chunk-b3e27j6t.js → chunk-1q0bqfas.js} +2 -2
  17. package/dist/{chunk-b3e27j6t.js.map → chunk-1q0bqfas.js.map} +1 -1
  18. package/dist/{chunk-jx8n3w5j.js → chunk-1tryvab1.js} +3 -3
  19. package/dist/{chunk-jx8n3w5j.js.map → chunk-1tryvab1.js.map} +1 -1
  20. package/dist/{chunk-bf88yh7q.js → chunk-1v70g3kn.js} +2 -2
  21. package/dist/{chunk-bf88yh7q.js.map → chunk-1v70g3kn.js.map} +1 -1
  22. package/dist/{chunk-3t37a4e5.js → chunk-2ba0v2ar.js} +2 -2
  23. package/dist/{chunk-3t37a4e5.js.map → chunk-2ba0v2ar.js.map} +1 -1
  24. package/dist/{chunk-c3rn99hm.js → chunk-2hd38awk.js} +1 -1
  25. package/dist/{chunk-6m5rt6xg.js → chunk-2s5pm9d9.js} +2 -2
  26. package/dist/{chunk-6m5rt6xg.js.map → chunk-2s5pm9d9.js.map} +1 -1
  27. package/dist/{chunk-d19x7t1z.js → chunk-34mk80mk.js} +2 -2
  28. package/dist/{chunk-d19x7t1z.js.map → chunk-34mk80mk.js.map} +1 -1
  29. package/dist/{chunk-bw2ptzxr.js → chunk-3p724p6c.js} +2 -2
  30. package/dist/{chunk-bw2ptzxr.js.map → chunk-3p724p6c.js.map} +1 -1
  31. package/dist/chunk-3ygtp1xe.js +5 -0
  32. package/dist/{chunk-ghf4kgs6.js.map → chunk-3ygtp1xe.js.map} +1 -1
  33. package/dist/{chunk-y4yv9e31.js → chunk-44hk3x6q.js} +1 -1
  34. package/dist/{chunk-6cq83t7e.js → chunk-45fbwj3s.js} +2 -2
  35. package/dist/{chunk-6cq83t7e.js.map → chunk-45fbwj3s.js.map} +1 -1
  36. package/dist/{chunk-5q2v29ma.js → chunk-4dg5kn53.js} +1 -1
  37. package/dist/{chunk-n2vx8eqm.js → chunk-4j7zwk5c.js} +2 -2
  38. package/dist/{chunk-n2vx8eqm.js.map → chunk-4j7zwk5c.js.map} +1 -1
  39. package/dist/{chunk-nd2vajx0.js → chunk-4x63knz8.js} +2 -2
  40. package/dist/{chunk-nd2vajx0.js.map → chunk-4x63knz8.js.map} +1 -1
  41. package/dist/{chunk-xf515fp7.js → chunk-4y8tc3zn.js} +2 -2
  42. package/dist/{chunk-xf515fp7.js.map → chunk-4y8tc3zn.js.map} +1 -1
  43. package/dist/{chunk-tnqvxzbw.js → chunk-4ze3f6vh.js} +2 -2
  44. package/dist/{chunk-tnqvxzbw.js.map → chunk-4ze3f6vh.js.map} +1 -1
  45. package/dist/{chunk-aezj1erg.js → chunk-5byng5rw.js} +3 -3
  46. package/dist/{chunk-aezj1erg.js.map → chunk-5byng5rw.js.map} +1 -1
  47. package/dist/{chunk-gpsqtjx5.js → chunk-5dwbhjk7.js} +1 -1
  48. package/dist/{chunk-nwafkabk.js → chunk-5sexb7ct.js} +2 -2
  49. package/dist/{chunk-nwafkabk.js.map → chunk-5sexb7ct.js.map} +1 -1
  50. package/dist/{chunk-10sbvn36.js → chunk-5wgnn0hf.js} +2 -2
  51. package/dist/{chunk-10sbvn36.js.map → chunk-5wgnn0hf.js.map} +1 -1
  52. package/dist/{chunk-s5p7pd7v.js → chunk-61ctwj1z.js} +2 -2
  53. package/dist/{chunk-s5p7pd7v.js.map → chunk-61ctwj1z.js.map} +1 -1
  54. package/dist/{chunk-n7nx6hby.js → chunk-6mzw2g0n.js} +4 -4
  55. package/dist/{chunk-n7nx6hby.js.map → chunk-6mzw2g0n.js.map} +1 -1
  56. package/dist/{chunk-2757n2e2.js → chunk-7tjxr4yz.js} +20 -20
  57. package/dist/{chunk-2757n2e2.js.map → chunk-7tjxr4yz.js.map} +3 -3
  58. package/dist/{chunk-q7nz3b4q.js → chunk-7wkwm0tn.js} +2 -2
  59. package/dist/{chunk-q7nz3b4q.js.map → chunk-7wkwm0tn.js.map} +1 -1
  60. package/dist/{chunk-4e99zzkt.js → chunk-97hpxdgf.js} +2 -2
  61. package/dist/{chunk-4e99zzkt.js.map → chunk-97hpxdgf.js.map} +1 -1
  62. package/dist/{chunk-kj6wqkjc.js → chunk-9b5c87xp.js} +4 -4
  63. package/dist/{chunk-kj6wqkjc.js.map → chunk-9b5c87xp.js.map} +1 -1
  64. package/dist/{chunk-3yzmzcxn.js → chunk-9fpecjxg.js} +2 -2
  65. package/dist/{chunk-3yzmzcxn.js.map → chunk-9fpecjxg.js.map} +1 -1
  66. package/dist/{chunk-twn4yxsd.js → chunk-9tce2xpm.js} +2 -2
  67. package/dist/{chunk-twn4yxsd.js.map → chunk-9tce2xpm.js.map} +1 -1
  68. package/dist/{chunk-8nxrgzxp.js → chunk-9x00fgse.js} +3 -3
  69. package/dist/{chunk-8nxrgzxp.js.map → chunk-9x00fgse.js.map} +1 -1
  70. package/dist/{chunk-sg8fcsvn.js → chunk-a1fb8zz6.js} +2 -2
  71. package/dist/{chunk-sg8fcsvn.js.map → chunk-a1fb8zz6.js.map} +1 -1
  72. package/dist/{chunk-wd3eyjbj.js → chunk-a2cswj4a.js} +3 -3
  73. package/dist/{chunk-wd3eyjbj.js.map → chunk-a2cswj4a.js.map} +1 -1
  74. package/dist/chunk-aefze46n.js +15 -0
  75. package/dist/{chunk-9caq1znh.js.map → chunk-aefze46n.js.map} +7 -6
  76. package/dist/{chunk-kgsmh0v0.js → chunk-ashn5jqy.js} +2 -2
  77. package/dist/{chunk-kgsmh0v0.js.map → chunk-ashn5jqy.js.map} +1 -1
  78. package/dist/{chunk-pcc8v9jc.js → chunk-b8qryxkd.js} +2 -2
  79. package/dist/{chunk-pcc8v9jc.js.map → chunk-b8qryxkd.js.map} +1 -1
  80. package/dist/{chunk-zdwgcyjh.js → chunk-bc8npwd8.js} +2 -2
  81. package/dist/{chunk-zdwgcyjh.js.map → chunk-bc8npwd8.js.map} +1 -1
  82. package/dist/{chunk-ttcmvam5.js → chunk-ccxn7kw0.js} +2 -2
  83. package/dist/{chunk-ttcmvam5.js.map → chunk-ccxn7kw0.js.map} +1 -1
  84. package/dist/{chunk-2ys56r3z.js → chunk-cmgrjsa2.js} +2 -2
  85. package/dist/{chunk-2ys56r3z.js.map → chunk-cmgrjsa2.js.map} +1 -1
  86. package/dist/{chunk-ascbx2kb.js → chunk-dg73a6xb.js} +1 -1
  87. package/dist/{chunk-tns989kw.js → chunk-ergrkg2f.js} +2 -2
  88. package/dist/{chunk-tns989kw.js.map → chunk-ergrkg2f.js.map} +1 -1
  89. package/dist/{chunk-2pj5e233.js → chunk-esgq4rbk.js} +3 -3
  90. package/dist/{chunk-2pj5e233.js.map → chunk-esgq4rbk.js.map} +1 -1
  91. package/dist/{chunk-epmtvd6j.js → chunk-ex6hbxw4.js} +2 -2
  92. package/dist/{chunk-epmtvd6j.js.map → chunk-ex6hbxw4.js.map} +1 -1
  93. package/dist/{chunk-znnt70rn.js → chunk-fr6e5g2z.js} +3 -3
  94. package/dist/{chunk-znnt70rn.js.map → chunk-fr6e5g2z.js.map} +1 -1
  95. package/dist/{chunk-1x1je71f.js → chunk-fycnw782.js} +2 -2
  96. package/dist/{chunk-1x1je71f.js.map → chunk-fycnw782.js.map} +1 -1
  97. package/dist/{chunk-rztf3yam.js → chunk-g5yrwqhv.js} +2 -2
  98. package/dist/{chunk-rztf3yam.js.map → chunk-g5yrwqhv.js.map} +1 -1
  99. package/dist/{chunk-v7e5gv6w.js → chunk-h16bfh2v.js} +2 -2
  100. package/dist/{chunk-v7e5gv6w.js.map → chunk-h16bfh2v.js.map} +1 -1
  101. package/dist/{chunk-28xqs354.js → chunk-h5q6w17p.js} +2 -2
  102. package/dist/{chunk-28xqs354.js.map → chunk-h5q6w17p.js.map} +1 -1
  103. package/dist/{chunk-cgxk8pn8.js → chunk-j5txga06.js} +3 -3
  104. package/dist/{chunk-cgxk8pn8.js.map → chunk-j5txga06.js.map} +1 -1
  105. package/dist/{chunk-2a4q9t8c.js → chunk-m252bwtf.js} +2 -2
  106. package/dist/{chunk-2a4q9t8c.js.map → chunk-m252bwtf.js.map} +1 -1
  107. package/dist/{chunk-bm3pyh9m.js → chunk-mndcq5z1.js} +2 -2
  108. package/dist/{chunk-bm3pyh9m.js.map → chunk-mndcq5z1.js.map} +1 -1
  109. package/dist/{chunk-0bzcxgks.js → chunk-nfrgz3gw.js} +3 -3
  110. package/dist/{chunk-0bzcxgks.js.map → chunk-nfrgz3gw.js.map} +1 -1
  111. package/dist/{chunk-kqwenh9b.js → chunk-p23sctqt.js} +2 -2
  112. package/dist/{chunk-kqwenh9b.js.map → chunk-p23sctqt.js.map} +1 -1
  113. package/dist/{chunk-m62jshaz.js → chunk-pebp4an8.js} +3 -3
  114. package/dist/{chunk-m62jshaz.js.map → chunk-pebp4an8.js.map} +1 -1
  115. package/dist/{chunk-5yj3k754.js → chunk-pme2yb8p.js} +3 -3
  116. package/dist/{chunk-5yj3k754.js.map → chunk-pme2yb8p.js.map} +1 -1
  117. package/dist/{chunk-x0983cez.js → chunk-qhz22t3a.js} +2 -2
  118. package/dist/{chunk-x0983cez.js.map → chunk-qhz22t3a.js.map} +1 -1
  119. package/dist/{chunk-x0vrrfp7.js → chunk-qwkgnt4q.js} +3 -3
  120. package/dist/{chunk-x0vrrfp7.js.map → chunk-qwkgnt4q.js.map} +1 -1
  121. package/dist/{chunk-eeqfp05r.js → chunk-r887spwe.js} +2 -2
  122. package/dist/{chunk-eeqfp05r.js.map → chunk-r887spwe.js.map} +1 -1
  123. package/dist/{chunk-dwt3p2aw.js → chunk-rjvpy87k.js} +2 -2
  124. package/dist/{chunk-dwt3p2aw.js.map → chunk-rjvpy87k.js.map} +1 -1
  125. package/dist/{chunk-gap8ta5q.js → chunk-t1abd8jv.js} +3 -3
  126. package/dist/{chunk-gap8ta5q.js.map → chunk-t1abd8jv.js.map} +1 -1
  127. package/dist/{chunk-xa2k8dm0.js → chunk-v176r68j.js} +2 -2
  128. package/dist/{chunk-xa2k8dm0.js.map → chunk-v176r68j.js.map} +1 -1
  129. package/dist/{chunk-q19cs1qf.js → chunk-vqq0z746.js} +2 -2
  130. package/dist/{chunk-q19cs1qf.js.map → chunk-vqq0z746.js.map} +1 -1
  131. package/dist/{chunk-gw9sy16b.js → chunk-vy1334k3.js} +2 -2
  132. package/dist/{chunk-gw9sy16b.js.map → chunk-vy1334k3.js.map} +1 -1
  133. package/dist/{chunk-s52ecbdd.js → chunk-wbrxv9ab.js} +2 -2
  134. package/dist/{chunk-s52ecbdd.js.map → chunk-wbrxv9ab.js.map} +1 -1
  135. package/dist/{chunk-rsnm21vr.js → chunk-wytpqkss.js} +3 -3
  136. package/dist/{chunk-rsnm21vr.js.map → chunk-wytpqkss.js.map} +1 -1
  137. package/dist/{chunk-qj138p8j.js → chunk-wz63qyvt.js} +3 -3
  138. package/dist/{chunk-qj138p8j.js.map → chunk-wz63qyvt.js.map} +1 -1
  139. package/dist/{chunk-jqdqpdss.js → chunk-x1s1r6ch.js} +2 -2
  140. package/dist/{chunk-jqdqpdss.js.map → chunk-x1s1r6ch.js.map} +1 -1
  141. package/dist/{chunk-9by5yphc.js → chunk-x2zqx53x.js} +1 -1
  142. package/dist/{chunk-y8c704wp.js → chunk-x3qtvs3n.js} +2 -2
  143. package/dist/{chunk-y8c704wp.js.map → chunk-x3qtvs3n.js.map} +1 -1
  144. package/dist/{chunk-9sv8skzh.js → chunk-x7pv1jjf.js} +2 -2
  145. package/dist/{chunk-9sv8skzh.js.map → chunk-x7pv1jjf.js.map} +1 -1
  146. package/dist/{chunk-5sc7j1g0.js → chunk-x7yrxhk9.js} +2 -2
  147. package/dist/{chunk-5sc7j1g0.js.map → chunk-x7yrxhk9.js.map} +1 -1
  148. package/dist/{chunk-0jbwxas3.js → chunk-xk32g0n4.js} +2 -2
  149. package/dist/{chunk-0jbwxas3.js.map → chunk-xk32g0n4.js.map} +1 -1
  150. package/dist/{chunk-nchyjgpr.js → chunk-y6q1gv83.js} +2 -2
  151. package/dist/{chunk-nchyjgpr.js.map → chunk-y6q1gv83.js.map} +1 -1
  152. package/dist/{chunk-1ecvjvbg.js → chunk-yp99x86s.js} +2 -2
  153. package/dist/{chunk-1ecvjvbg.js.map → chunk-yp99x86s.js.map} +1 -1
  154. package/dist/{chunk-yn2v5axb.js → chunk-zd2670hx.js} +2 -2
  155. package/dist/{chunk-yn2v5axb.js.map → chunk-zd2670hx.js.map} +1 -1
  156. package/dist/{chunk-7pes8axs.js → chunk-ze3562xh.js} +2 -2
  157. package/dist/{chunk-7pes8axs.js.map → chunk-ze3562xh.js.map} +1 -1
  158. package/dist/{chunk-jg1n0b5e.js → chunk-znyte3fp.js} +2 -2
  159. package/dist/{chunk-jg1n0b5e.js.map → chunk-znyte3fp.js.map} +1 -1
  160. package/dist/{chunk-hc58rnwq.js → chunk-zr1h51pw.js} +2 -2
  161. package/dist/{chunk-hc58rnwq.js.map → chunk-zr1h51pw.js.map} +1 -1
  162. package/dist/config/index.js +1 -1
  163. package/dist/console/run.js +2 -2
  164. package/dist/console/run.js.map +1 -1
  165. package/dist/container/index.js +2 -2
  166. package/dist/container/index.js.map +1 -1
  167. package/dist/database/index.js +2 -2
  168. package/dist/database/index.js.map +1 -1
  169. package/dist/email/index.js +2 -2
  170. package/dist/email/index.js.map +1 -1
  171. package/dist/facades/Storage.d.ts +6 -0
  172. package/dist/facades/Storage.d.ts.map +1 -1
  173. package/dist/facades/index.js +2 -2
  174. package/dist/facades/index.js.map +1 -1
  175. package/dist/foundation/index.js +2 -2
  176. package/dist/foundation/index.js.map +1 -1
  177. package/dist/http/index.js +2 -2
  178. package/dist/http/index.js.map +1 -1
  179. package/dist/i18n/dictionaryRuntime.js +2 -2
  180. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  181. package/dist/i18n/index.js +2 -2
  182. package/dist/i18n/index.js.map +1 -1
  183. package/dist/kernel/index.js +2 -2
  184. package/dist/kernel/index.js.map +1 -1
  185. package/dist/orm/index.js +2 -2
  186. package/dist/orm/index.js.map +1 -1
  187. package/dist/probe/index.js +2 -2
  188. package/dist/probe/index.js.map +1 -1
  189. package/dist/server/index.js +2 -2
  190. package/dist/server/index.js.map +1 -1
  191. package/dist/services/file-storage/FilesystemManager.d.ts +4 -0
  192. package/dist/services/file-storage/FilesystemManager.d.ts.map +1 -1
  193. package/dist/services/file-storage/config.d.ts +16 -0
  194. package/dist/services/file-storage/config.d.ts.map +1 -1
  195. package/dist/services/file-storage/fetchTimeouts.d.ts +41 -0
  196. package/dist/services/file-storage/fetchTimeouts.d.ts.map +1 -0
  197. package/dist/services/index.d.ts +1 -0
  198. package/dist/services/index.d.ts.map +1 -1
  199. package/dist/services/index.js +3 -3
  200. package/dist/services/index.js.map +2 -2
  201. package/dist/services/queue/work.js +2 -2
  202. package/dist/services/queue/work.js.map +1 -1
  203. package/dist/stats/route-table.js +1 -1
  204. package/dist/support/index.js +2 -2
  205. package/dist/support/index.js.map +1 -1
  206. package/dist/vitest/index.js +1 -1
  207. package/package.json +1 -1
  208. package/dist/chunk-9caq1znh.js +0 -15
  209. package/dist/chunk-ghf4kgs6.js +0 -5
  210. /package/dist/{chunk-c3rn99hm.js.map → chunk-2hd38awk.js.map} +0 -0
  211. /package/dist/{chunk-y4yv9e31.js.map → chunk-44hk3x6q.js.map} +0 -0
  212. /package/dist/{chunk-5q2v29ma.js.map → chunk-4dg5kn53.js.map} +0 -0
  213. /package/dist/{chunk-gpsqtjx5.js.map → chunk-5dwbhjk7.js.map} +0 -0
  214. /package/dist/{chunk-ascbx2kb.js.map → chunk-dg73a6xb.js.map} +0 -0
  215. /package/dist/{chunk-9by5yphc.js.map → chunk-x2zqx53x.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  // @bun
2
- import{ke as G}from"./chunk-q19cs1qf.js";import{Ih as F}from"./chunk-aezj1erg.js";import{hk as E}from"./chunk-jqdqpdss.js";import{Ak as B,Nk as x}from"./chunk-3yzmzcxn.js";class J extends G{register(){this.app.singleton(x,()=>{let j=new x(E(B(),this.app.config.get("database",{})));return K(j),j})}async shutdown(){if(!this.app.resolved(x))return;await this.app.make(x).close()}}function K(j){if(Bun.env.NODE_ENV!=="development")return;for(let z of j.connectionNames){let A=j.connection(z);if(F(A.dialect))continue;let H=z===j.name?"DATABASE_URL":`The "${z}" database connection`;console.warn(`[gemi] ${H} points at ${A.dialect}, which the gemi ORM `+"does not implement \u2014 only sqlite and postgres are. The connection "+`works, so raw SQL through DB.query / DB.sql and transactions are fine, but every model operation will raise UnsupportedDialectError.
2
+ import{le as G}from"./chunk-vqq0z746.js";import{Jh as F}from"./chunk-5byng5rw.js";import{jk as E}from"./chunk-x1s1r6ch.js";import{Ck as B,Pk as x}from"./chunk-9fpecjxg.js";class J extends G{register(){this.app.singleton(x,()=>{let j=new x(E(B(),this.app.config.get("database",{})));return K(j),j})}async shutdown(){if(!this.app.resolved(x))return;await this.app.make(x).close()}}function K(j){if(Bun.env.NODE_ENV!=="development")return;for(let z of j.connectionNames){let A=j.connection(z);if(F(A.dialect))continue;let H=z===j.name?"DATABASE_URL":`The "${z}" database connection`;console.warn(`[gemi] ${H} points at ${A.dialect}, which the gemi ORM `+"does not implement \u2014 only sqlite and postgres are. The connection "+`works, so raw SQL through DB.query / DB.sql and transactions are fine, but every model operation will raise UnsupportedDialectError.
3
3
  (development only)`)}}
4
4
  export{J as Fa};
5
5
 
6
- //# debugId=2CD2079EC07FCAFC64756E2164756E21
6
+ //# debugId=88433A8BA46C188364756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import { ormSupports } from \"../orm/dialect\";\nimport { ServiceProvider } from \"../support/ServiceProvider\";\nimport { withDefaults } from \"../support/withDefaults\";\nimport { databaseConfigDefaults, type DatabaseConfig } from \"./config\";\nimport { DatabaseManager } from \"./DatabaseManager\";\n\nexport class DatabaseServiceProvider extends ServiceProvider {\n register() {\n this.app.singleton(\n DatabaseManager,\n () => {\n const database = new DatabaseManager(\n withDefaults(\n databaseConfigDefaults(),\n this.app.config.get<DatabaseConfig>(\"database\", {}),\n ),\n );\n\n warnIfOrmUnavailable(database);\n return database;\n },\n );\n }\n\n /**\n * Closes every connection's pool. Registered early, so it runs late: after\n * the queue and the scheduler have waited for their jobs, which still need\n * it. Bun's `close()` lets a query already sent finish.\n *\n * On the way out of a production server this only tidies up before the\n * exit. Under `gemi dev` it is the whole point: a `bun --hot` reload boots\n * a new application with a new pool, and the replaced one's is closed here\n * rather than left holding its connections for the life of the process\n * (#652).\n */\n async shutdown() {\n // Resolving the manager now would open a pool only to close it.\n if (!this.app.resolved(DatabaseManager)) return;\n await this.app.make(DatabaseManager).close();\n }\n}\n\n/**\n * Say it at boot, not on the first model query.\n *\n * `DatabaseManager` connects to MySQL and MariaDB without complaint — Bun's\n * client speaks them — and the ORM's compiler has no dialect for either. So a\n * deploy pointed at one starts, passes a health check, serves whatever does not\n * touch a model, and raises `UnsupportedDialectError` on the first `findMany`.\n * That is the latest and most expensive moment to learn it.\n *\n * A **warning rather than a throw**, deliberately: raw SQL through `DB.query`\n * and `DB.sql` genuinely works on those dialects, and so do transactions.\n * Refusing to construct the manager would break code that is correct today to\n * pre-empt an error the ORM already raises clearly. The supported set is a\n * property of the query compiler, not of the connection.\n *\n * Development only, for the same reason the slow-transaction warning is: it is\n * a diagnostic aimed at whoever is choosing the database, and it should not\n * add noise to a production log every time the container starts.\n */\nfunction warnIfOrmUnavailable(database: DatabaseManager): void {\n if (process.env.NODE_ENV !== \"development\") return;\n\n // Every connection, not only the default one. A named connection is a whole\n // pool an application will run model queries on — `Model.on(\"analytics\")` —\n // so it can be pointed at MySQL exactly as the default can, and warning about\n // only one of them would make the check pass while the query that raises is\n // on the other.\n for (const name of database.connectionNames) {\n const connection = database.connection(name);\n if (ormSupports(connection.dialect)) continue;\n\n const source =\n name === database.name\n ? \"DATABASE_URL\"\n : `The \"${name}\" database connection`;\n\n console.warn(\n `[gemi] ${source} points at ${connection.dialect}, which the gemi ORM ` +\n `does not implement — only sqlite and postgres are. The connection ` +\n `works, so raw SQL through DB.query / DB.sql and transactions are ` +\n `fine, but every model operation will raise ` +\n `UnsupportedDialectError.\\n(development only)`,\n );\n }\n}\n"
6
6
  ],
7
7
  "mappings": ";8LAMO,AAAM,IAAgC,LAAgB,CAC3D,QAAQ,EAAG,CACT,KAAK,IAAI,UACP,EACA,IAAM,CACJ,IAAM,EAAW,IAAI,EACnB,EACE,EAAuB,EACvB,KAAK,IAAI,OAAO,IAAoB,WAAY,CAAC,CAAC,CACpD,CACF,EAGA,OADA,EAAqB,CAAQ,EACtB,EAEX,OAcI,SAAQ,EAAG,CAEf,GAAI,CAAC,KAAK,IAAI,SAAS,CAAe,EAAG,OACzC,MAAM,KAAK,IAAI,KAAK,CAAe,EAAE,MAAM,EAE/C,CAqBA,SAAS,CAAoB,CAAC,EAAiC,CAC7D,GAAI,mBAAyB,cAAe,OAO5C,QAAW,KAAQ,EAAS,gBAAiB,CAC3C,IAAM,EAAa,EAAS,WAAW,CAAI,EAC3C,GAAI,EAAY,EAAW,OAAO,EAAG,SAErC,IAAM,EACJ,IAAS,EAAS,KACd,eACA,QAAQ,yBAEd,QAAQ,KACN,UAAU,eAAoB,EAAW,+BACvC,0EACA;AAAA,mBAGJ",
8
- "debugId": "2CD2079EC07FCAFC64756E2164756E21",
8
+ "debugId": "88433A8BA46C188364756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{nl as B}from"./chunk-x0983cez.js";function $(z){return z.split(".")}class Y{static token="config";items;constructor(z={}){this.items=z}has(z){let F=this.items;for(let E of $(z)){if(F===null||typeof F!=="object"||!(E in F))return!1;F=F[E]}return!0}get(z,F){let E=this.items;for(let G of $(z)){if(E===null||typeof E!=="object"||!(G in E))return F;E=E[G]}return E===void 0?F:E}getMany(z){let F=Array.isArray(z)?z.map((G)=>[G,void 0]):Object.entries(z),E={};for(let[G,H]of F)E[G]=this.get(G,H);return E}set(z,F){let E=typeof z==="string"?[[z,F]]:Object.entries(z);for(let[G,H]of E){let U=$(G),Z=U.pop(),J=this.items;for(let Q of U){let W=J[Q];if(W===null||typeof W!=="object")J[Q]={};J=J[Q]}J[Z]=H}}prepend(z,F){let E=this.get(z,[]);E.unshift(F),this.set(z,E)}push(z,F){let E=this.get(z,[]);E.push(F),this.set(z,E)}merge(z){for(let[F,E]of Object.entries(z)){let G=this.items[F];if(G!==null&&typeof G==="object"&&!Array.isArray(G)&&E!==null&&typeof E==="object"&&!Array.isArray(E))this.items[F]={...G,...E};else this.items[F]=E}}all(){return this.items}}var j=Symbol.for("gemi.foundation.Application");class X extends B{[j]=!0;static isApplication(z){return typeof z==="object"&&z!==null&&j in z}config;providers=[];booted=!1;constructor(z=new Y){super();this.config=z,this.instance(Y,z)}static currentInstance;static getInstance(){return X.currentInstance}static setInstance(z){return X.currentInstance=z,z}register(z){let F=this.providers.find((G)=>G instanceof z);if(F)return F;let E=new z(this);return E.register(),this.providers.push(E),E}registerMany(z){for(let F of z)this.register(F)}getProviders(){return[...this.providers]}isBooted(){return this.booted}async boot(){if(this.booted)return;for(let z of this.providers)await z.boot();this.booted=!0}shutdown(z={}){return this.shutdownPromise??=this.shutdownProviders(z.timeoutMs??5000),this.shutdownPromise}shutdownPromise;async shutdownProviders(z){let F={failed:[],timedOut:[]};if(z<=0){if(this.providers.length>0)console.log(`[gemi] Skipping ${this.providers.length} provider shutdown hook(s): no time is budgeted for them.`);return F}let E=Date.now()+z;for(let G of[...this.providers].reverse()){let H=G.constructor.name,U=E-Date.now();if(U<=0){console.error(`[gemi] ${H}.shutdown() skipped: the provider shutdown deadline had passed.`),F.timedOut.push(H);continue}let Z,J=await Promise.race([Promise.resolve().then(()=>G.shutdown({timeoutMs:U})).then((Q)=>Q?.abandoned?"abandoned":"done",(Q)=>{return console.error(`[gemi] ${H}.shutdown() failed:`,Q),"failed"}),new Promise((Q)=>{Z=setTimeout(()=>Q("timeout"),U)})]);if(clearTimeout(Z),J==="failed")F.failed.push(H);if(J==="abandoned")F.timedOut.push(H);if(J==="timeout")console.error(`[gemi] ${H}.shutdown() did not finish within the provider shutdown deadline; moving on.`),F.timedOut.push(H)}return F}flush(){super.flush(),this.instance(Y,this.config),this.providers=[],this.booted=!1,this.shutdownPromise=void 0}}import{AsyncLocalStorage as K}from"async_hooks";var D=new K;function I(z){let F=D.getStore(),E=X.isApplication(F)?F:X.getInstance();if(!E)throw Error("No Application instance is available. Boot a Kernel before resolving services.");return z?E.make(z):E}
3
- export{D as il,Y as jl,X as kl,I as ll};
2
+ import{pl as B}from"./chunk-qhz22t3a.js";function $(z){return z.split(".")}class Y{static token="config";items;constructor(z={}){this.items=z}has(z){let F=this.items;for(let E of $(z)){if(F===null||typeof F!=="object"||!(E in F))return!1;F=F[E]}return!0}get(z,F){let E=this.items;for(let G of $(z)){if(E===null||typeof E!=="object"||!(G in E))return F;E=E[G]}return E===void 0?F:E}getMany(z){let F=Array.isArray(z)?z.map((G)=>[G,void 0]):Object.entries(z),E={};for(let[G,H]of F)E[G]=this.get(G,H);return E}set(z,F){let E=typeof z==="string"?[[z,F]]:Object.entries(z);for(let[G,H]of E){let U=$(G),Z=U.pop(),J=this.items;for(let Q of U){let W=J[Q];if(W===null||typeof W!=="object")J[Q]={};J=J[Q]}J[Z]=H}}prepend(z,F){let E=this.get(z,[]);E.unshift(F),this.set(z,E)}push(z,F){let E=this.get(z,[]);E.push(F),this.set(z,E)}merge(z){for(let[F,E]of Object.entries(z)){let G=this.items[F];if(G!==null&&typeof G==="object"&&!Array.isArray(G)&&E!==null&&typeof E==="object"&&!Array.isArray(E))this.items[F]={...G,...E};else this.items[F]=E}}all(){return this.items}}var j=Symbol.for("gemi.foundation.Application");class X extends B{[j]=!0;static isApplication(z){return typeof z==="object"&&z!==null&&j in z}config;providers=[];booted=!1;constructor(z=new Y){super();this.config=z,this.instance(Y,z)}static currentInstance;static getInstance(){return X.currentInstance}static setInstance(z){return X.currentInstance=z,z}register(z){let F=this.providers.find((G)=>G instanceof z);if(F)return F;let E=new z(this);return E.register(),this.providers.push(E),E}registerMany(z){for(let F of z)this.register(F)}getProviders(){return[...this.providers]}isBooted(){return this.booted}async boot(){if(this.booted)return;for(let z of this.providers)await z.boot();this.booted=!0}shutdown(z={}){return this.shutdownPromise??=this.shutdownProviders(z.timeoutMs??5000),this.shutdownPromise}shutdownPromise;async shutdownProviders(z){let F={failed:[],timedOut:[]};if(z<=0){if(this.providers.length>0)console.log(`[gemi] Skipping ${this.providers.length} provider shutdown hook(s): no time is budgeted for them.`);return F}let E=Date.now()+z;for(let G of[...this.providers].reverse()){let H=G.constructor.name,U=E-Date.now();if(U<=0){console.error(`[gemi] ${H}.shutdown() skipped: the provider shutdown deadline had passed.`),F.timedOut.push(H);continue}let Z,J=await Promise.race([Promise.resolve().then(()=>G.shutdown({timeoutMs:U})).then((Q)=>Q?.abandoned?"abandoned":"done",(Q)=>{return console.error(`[gemi] ${H}.shutdown() failed:`,Q),"failed"}),new Promise((Q)=>{Z=setTimeout(()=>Q("timeout"),U)})]);if(clearTimeout(Z),J==="failed")F.failed.push(H);if(J==="abandoned")F.timedOut.push(H);if(J==="timeout")console.error(`[gemi] ${H}.shutdown() did not finish within the provider shutdown deadline; moving on.`),F.timedOut.push(H)}return F}flush(){super.flush(),this.instance(Y,this.config),this.providers=[],this.booted=!1,this.shutdownPromise=void 0}}import{AsyncLocalStorage as K}from"async_hooks";var D=new K;function I(z){let F=D.getStore(),E=X.isApplication(F)?F:X.getInstance();if(!E)throw Error("No Application instance is available. Boot a Kernel before resolving services.");return z?E.make(z):E}
3
+ export{D as kl,Y as ll,X as ml,I as nl};
4
4
 
5
- //# debugId=7B5FBDA326E686EF64756E2164756E21
5
+ //# debugId=6922360A0332C82C64756E2164756E21
@@ -8,6 +8,6 @@
8
8
  "import type { ServiceToken } from \"../container/Container\";\nimport { kernelContext } from \"../kernel/context\";\nimport { Application } from \"./Application\";\n\n/**\n * Resolves the Application for the current async context. Reads the kernel\n * AsyncLocalStorage — there is exactly one ALS in the framework, and\n * `Kernel.run()` stores the Application in it, so this is the primary path for\n * anything running inside a request or a cron tick.\n *\n * The static instance (Laravel's `Container::setInstance`, set by\n * `Kernel.boot()`) is the fallback for code that runs outside any `run()`\n * scope — build-time tooling, module top level, a stray `setTimeout`.\n */\nexport function app(): Application;\nexport function app<T>(token: ServiceToken<T>): T;\nexport function app<T>(token?: ServiceToken<T>): Application | T {\n const store = kernelContext.getStore();\n const instance = Application.isApplication(store)\n ? store\n : Application.getInstance();\n\n if (!instance) {\n throw new Error(\n \"No Application instance is available. Boot a Kernel before resolving services.\",\n );\n }\n\n return token ? instance.make(token) : instance;\n}\n"
9
9
  ],
10
10
  "mappings": "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",
11
- "debugId": "7B5FBDA326E686EF64756E2164756E21",
11
+ "debugId": "6922360A0332C82C64756E2164756E21",
12
12
  "names": []
13
13
  }