gemi 0.53.0 → 0.54.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 (237) hide show
  1. package/dist/app/index.js +2 -2
  2. package/dist/app/index.js.map +1 -1
  3. package/dist/bin/gemi.js +1456 -5
  4. package/dist/bin/gemi.js.map +9 -5
  5. package/dist/broadcasting/index.js +1 -1
  6. package/dist/bun/plugin.js +2 -2
  7. package/dist/bun/plugin.js.map +1 -1
  8. package/dist/bun/preload.js +2 -2
  9. package/dist/bun/preload.js.map +1 -1
  10. package/dist/{chunk-msz8rngs.js → chunk-004bcmsa.js} +2 -2
  11. package/dist/chunk-004bcmsa.js.map +10 -0
  12. package/dist/chunk-07t0dmdg.js +4 -0
  13. package/dist/{chunk-faa987e4.js.map → chunk-07t0dmdg.js.map} +2 -2
  14. package/dist/{chunk-cg53h5ht.js → chunk-0weeq0ke.js} +2 -2
  15. package/dist/{chunk-cg53h5ht.js.map → chunk-0weeq0ke.js.map} +1 -1
  16. package/dist/chunk-113khwbw.js +5 -0
  17. package/dist/{chunk-2qn472j4.js.map → chunk-113khwbw.js.map} +1 -1
  18. package/dist/{chunk-tmk4zfz9.js → chunk-1sh6kqjn.js} +3 -3
  19. package/dist/{chunk-tmk4zfz9.js.map → chunk-1sh6kqjn.js.map} +1 -1
  20. package/dist/{chunk-2gw6cyyj.js → chunk-1snh7yc4.js} +2 -2
  21. package/dist/{chunk-2gw6cyyj.js.map → chunk-1snh7yc4.js.map} +1 -1
  22. package/dist/chunk-26r8dcxd.js +6 -0
  23. package/dist/{chunk-ffre1z8s.js.map → chunk-26r8dcxd.js.map} +2 -2
  24. package/dist/{chunk-ebcgdv00.js → chunk-2pt6kyn9.js} +3 -3
  25. package/dist/{chunk-ebcgdv00.js.map → chunk-2pt6kyn9.js.map} +1 -1
  26. package/dist/{chunk-1pqfmw5h.js → chunk-2zmz3pjk.js} +3 -3
  27. package/dist/{chunk-1pqfmw5h.js.map → chunk-2zmz3pjk.js.map} +1 -1
  28. package/dist/{chunk-zhsaz9cr.js → chunk-3bw1jk21.js} +1 -1
  29. package/dist/chunk-4qkzdyj7.js +4 -0
  30. package/dist/{chunk-0h3jr9d9.js.map → chunk-4qkzdyj7.js.map} +1 -1
  31. package/dist/{chunk-d1ahbza9.js → chunk-50vm7x98.js} +3 -3
  32. package/dist/{chunk-d1ahbza9.js.map → chunk-50vm7x98.js.map} +1 -1
  33. package/dist/{chunk-qyaqg07q.js → chunk-6j1z2cqt.js} +2 -2
  34. package/dist/{chunk-qyaqg07q.js.map → chunk-6j1z2cqt.js.map} +1 -1
  35. package/dist/chunk-6rhebm18.js +5 -0
  36. package/dist/chunk-6rhebm18.js.map +10 -0
  37. package/dist/{chunk-rq770c71.js → chunk-71m47kad.js} +2 -2
  38. package/dist/{chunk-rq770c71.js.map → chunk-71m47kad.js.map} +1 -1
  39. package/dist/{chunk-0h3jr9d9.js → chunk-7f5ad759.js} +2 -2
  40. package/dist/{chunk-4e61qbp4.js.map → chunk-7f5ad759.js.map} +1 -1
  41. package/dist/chunk-85av4ncy.js +4 -0
  42. package/dist/{chunk-3d3nmr5g.js.map → chunk-85av4ncy.js.map} +2 -2
  43. package/dist/{chunk-23g7qdpg.js → chunk-9taz1h3t.js} +3 -3
  44. package/dist/{chunk-23g7qdpg.js.map → chunk-9taz1h3t.js.map} +1 -1
  45. package/dist/{chunk-ppt296ye.js → chunk-agabw2w1.js} +2 -2
  46. package/dist/{chunk-ppt296ye.js.map → chunk-agabw2w1.js.map} +1 -1
  47. package/dist/{chunk-092pj2j2.js → chunk-bb3zvxsf.js} +3 -3
  48. package/dist/{chunk-092pj2j2.js.map → chunk-bb3zvxsf.js.map} +1 -1
  49. package/dist/{chunk-h7jv3ame.js → chunk-br8ten26.js} +2 -2
  50. package/dist/{chunk-h7jv3ame.js.map → chunk-br8ten26.js.map} +1 -1
  51. package/dist/{chunk-4e61qbp4.js → chunk-bzhtymvv.js} +2 -2
  52. package/dist/{chunk-8p6rqegw.js.map → chunk-bzhtymvv.js.map} +1 -1
  53. package/dist/{chunk-68w225rv.js → chunk-c0wcsmpj.js} +2 -2
  54. package/dist/{chunk-68w225rv.js.map → chunk-c0wcsmpj.js.map} +1 -1
  55. package/dist/{chunk-xsmt86n3.js → chunk-c22vcxty.js} +2 -2
  56. package/dist/{chunk-xsmt86n3.js.map → chunk-c22vcxty.js.map} +1 -1
  57. package/dist/{chunk-07jtzbf0.js → chunk-c2pv3ah8.js} +2 -2
  58. package/dist/{chunk-07jtzbf0.js.map → chunk-c2pv3ah8.js.map} +2 -2
  59. package/dist/{chunk-q09mmr05.js → chunk-cz3szqhq.js} +2 -2
  60. package/dist/{chunk-q09mmr05.js.map → chunk-cz3szqhq.js.map} +1 -1
  61. package/dist/{chunk-69w4egkg.js → chunk-dwx2y7br.js} +4 -4
  62. package/dist/{chunk-69w4egkg.js.map → chunk-dwx2y7br.js.map} +1 -1
  63. package/dist/{chunk-2sfz64xh.js → chunk-dxw8k6f1.js} +2 -2
  64. package/dist/{chunk-2sfz64xh.js.map → chunk-dxw8k6f1.js.map} +1 -1
  65. package/dist/chunk-e3mggavt.js +5 -0
  66. package/dist/chunk-e3mggavt.js.map +11 -0
  67. package/dist/{chunk-j1knf8gv.js → chunk-efsk1wy0.js} +3 -3
  68. package/dist/{chunk-j1knf8gv.js.map → chunk-efsk1wy0.js.map} +1 -1
  69. package/dist/{chunk-t4n25km9.js → chunk-f13f68c0.js} +2 -2
  70. package/dist/{chunk-t4n25km9.js.map → chunk-f13f68c0.js.map} +1 -1
  71. package/dist/{chunk-vv72kw74.js → chunk-f418jh9k.js} +2 -2
  72. package/dist/{chunk-vv72kw74.js.map → chunk-f418jh9k.js.map} +1 -1
  73. package/dist/chunk-f4e7fh95.js +17 -0
  74. package/dist/chunk-f4e7fh95.js.map +14 -0
  75. package/dist/{chunk-ewgv1j8q.js → chunk-fcqc3e3r.js} +2 -2
  76. package/dist/{chunk-ewgv1j8q.js.map → chunk-fcqc3e3r.js.map} +1 -1
  77. package/dist/{chunk-3y9nf09k.js → chunk-g5tj10p8.js} +2 -2
  78. package/dist/{chunk-3y9nf09k.js.map → chunk-g5tj10p8.js.map} +1 -1
  79. package/dist/chunk-gn9zjgep.js +5 -0
  80. package/dist/chunk-gn9zjgep.js.map +10 -0
  81. package/dist/{chunk-5s45prj5.js → chunk-h7mcwfg5.js} +4 -4
  82. package/dist/{chunk-5s45prj5.js.map → chunk-h7mcwfg5.js.map} +1 -1
  83. package/dist/chunk-hk067634.js +4 -0
  84. package/dist/{chunk-vnjvd82s.js.map → chunk-hk067634.js.map} +2 -2
  85. package/dist/{chunk-qx6sahe0.js → chunk-hrrmxreg.js} +2 -2
  86. package/dist/{chunk-qx6sahe0.js.map → chunk-hrrmxreg.js.map} +1 -1
  87. package/dist/{chunk-p22rkf1g.js → chunk-jb022m7n.js} +2 -2
  88. package/dist/{chunk-p22rkf1g.js.map → chunk-jb022m7n.js.map} +1 -1
  89. package/dist/chunk-jb2nst6v.js +4 -0
  90. package/dist/{chunk-6scjrbw7.js.map → chunk-jb2nst6v.js.map} +2 -2
  91. package/dist/{chunk-kxzwem3g.js → chunk-jdgvdddd.js} +2 -2
  92. package/dist/{chunk-kxzwem3g.js.map → chunk-jdgvdddd.js.map} +1 -1
  93. package/dist/{chunk-2yth3kk2.js → chunk-jp4pf3yt.js} +4 -4
  94. package/dist/{chunk-2yth3kk2.js.map → chunk-jp4pf3yt.js.map} +1 -1
  95. package/dist/chunk-k14dmqwh.js +5 -0
  96. package/dist/{chunk-92793zh4.js.map → chunk-k14dmqwh.js.map} +4 -3
  97. package/dist/{chunk-tkv6cw94.js → chunk-k8endm5j.js} +3 -3
  98. package/dist/{chunk-tkv6cw94.js.map → chunk-k8endm5j.js.map} +1 -1
  99. package/dist/chunk-kkkqyvwv.js +81 -0
  100. package/dist/{chunk-ear03axe.js.map → chunk-kkkqyvwv.js.map} +7 -5
  101. package/dist/{chunk-cmq5t8p9.js → chunk-kv2ep453.js} +3 -3
  102. package/dist/{chunk-cmq5t8p9.js.map → chunk-kv2ep453.js.map} +1 -1
  103. package/dist/{chunk-z4q1ty6w.js → chunk-kz39hphm.js} +3 -3
  104. package/dist/{chunk-z4q1ty6w.js.map → chunk-kz39hphm.js.map} +1 -1
  105. package/dist/{chunk-kaxvw75w.js → chunk-ms8qd7da.js} +3 -3
  106. package/dist/{chunk-kaxvw75w.js.map → chunk-ms8qd7da.js.map} +1 -1
  107. package/dist/{chunk-ttzkn1qd.js → chunk-n1tkn8gv.js} +2 -2
  108. package/dist/{chunk-ttzkn1qd.js.map → chunk-n1tkn8gv.js.map} +1 -1
  109. package/dist/chunk-nncwsdzz.js +5 -0
  110. package/dist/chunk-nncwsdzz.js.map +10 -0
  111. package/dist/{chunk-7s1g3v1y.js → chunk-pgjk5ft3.js} +3 -3
  112. package/dist/{chunk-7s1g3v1y.js.map → chunk-pgjk5ft3.js.map} +1 -1
  113. package/dist/{chunk-tztqkat2.js → chunk-r06rxn19.js} +2 -2
  114. package/dist/{chunk-tztqkat2.js.map → chunk-r06rxn19.js.map} +1 -1
  115. package/dist/chunk-r9z5rrk0.js +4 -0
  116. package/dist/{chunk-1ab1ptq5.js.map → chunk-r9z5rrk0.js.map} +2 -2
  117. package/dist/{chunk-h5g05qwb.js → chunk-s6e7cvek.js} +2 -2
  118. package/dist/{chunk-h5g05qwb.js.map → chunk-s6e7cvek.js.map} +1 -1
  119. package/dist/{chunk-qjnv2rkh.js → chunk-sqp7kn7h.js} +3 -3
  120. package/dist/{chunk-qjnv2rkh.js.map → chunk-sqp7kn7h.js.map} +1 -1
  121. package/dist/{chunk-mt2755rs.js → chunk-w6gb9gc5.js} +3 -3
  122. package/dist/{chunk-mt2755rs.js.map → chunk-w6gb9gc5.js.map} +1 -1
  123. package/dist/{chunk-ha7n1c94.js → chunk-xxw0gz4q.js} +2 -2
  124. package/dist/{chunk-ha7n1c94.js.map → chunk-xxw0gz4q.js.map} +1 -1
  125. package/dist/chunk-ywr2vd5r.js +5 -0
  126. package/dist/{chunk-9279y4af.js.map → chunk-ywr2vd5r.js.map} +2 -2
  127. package/dist/{chunk-fbp5vapa.js → chunk-zckj6bs6.js} +3 -3
  128. package/dist/{chunk-fbp5vapa.js.map → chunk-zckj6bs6.js.map} +2 -2
  129. package/dist/chunks/{ThemeProvider-CTX9LOFC.js → ThemeProvider-Bk1eZymb.js} +186 -3
  130. package/dist/chunks/ThemeProvider-Bk1eZymb.js.map +1 -0
  131. package/dist/client/ComponentContext.d.ts.map +1 -1
  132. package/dist/client/DictionarySinkContext.d.ts +10 -0
  133. package/dist/client/DictionarySinkContext.d.ts.map +1 -0
  134. package/dist/client/createRoot.d.ts.map +1 -1
  135. package/dist/client/index.d.ts +2 -0
  136. package/dist/client/index.d.ts.map +1 -1
  137. package/dist/client/index.js +187 -8
  138. package/dist/client/index.js.map +1 -1
  139. package/dist/client/useDictionary.d.ts +34 -0
  140. package/dist/client/useDictionary.d.ts.map +1 -0
  141. package/dist/client/useDictionary.test-d.d.ts +2 -0
  142. package/dist/client/useDictionary.test-d.d.ts.map +1 -0
  143. package/dist/client/useTranslator.d.ts +8 -0
  144. package/dist/client/useTranslator.d.ts.map +1 -1
  145. package/dist/config/index.js +1 -1
  146. package/dist/console/run.js +2 -2
  147. package/dist/console/run.js.map +1 -1
  148. package/dist/container/index.js +2 -2
  149. package/dist/container/index.js.map +1 -1
  150. package/dist/database/index.js +2 -2
  151. package/dist/database/index.js.map +1 -1
  152. package/dist/email/index.js +2 -2
  153. package/dist/email/index.js.map +1 -1
  154. package/dist/facades/Lang.d.ts.map +1 -1
  155. package/dist/facades/index.js +2 -2
  156. package/dist/facades/index.js.map +1 -1
  157. package/dist/foundation/index.js +2 -2
  158. package/dist/foundation/index.js.map +1 -1
  159. package/dist/http/index.js +2 -2
  160. package/dist/http/index.js.map +1 -1
  161. package/dist/i18n/Dictionary.d.ts +7 -0
  162. package/dist/i18n/Dictionary.d.ts.map +1 -1
  163. package/dist/i18n/Translator.d.ts +12 -0
  164. package/dist/i18n/Translator.d.ts.map +1 -1
  165. package/dist/i18n/config.d.ts +6 -0
  166. package/dist/i18n/config.d.ts.map +1 -1
  167. package/dist/i18n/defineDictionary.d.ts +65 -0
  168. package/dist/i18n/defineDictionary.d.ts.map +1 -0
  169. package/dist/i18n/dictionaryRegistry.d.ts +85 -0
  170. package/dist/i18n/dictionaryRegistry.d.ts.map +1 -0
  171. package/dist/i18n/dictionaryRuntime.d.ts +16 -0
  172. package/dist/i18n/dictionaryRuntime.d.ts.map +1 -0
  173. package/dist/i18n/dictionaryRuntime.js +4 -0
  174. package/dist/i18n/dictionaryRuntime.js.map +9 -0
  175. package/dist/i18n/dictionaryShape.d.ts +66 -0
  176. package/dist/i18n/dictionaryShape.d.ts.map +1 -0
  177. package/dist/i18n/dictionarySink.d.ts +31 -0
  178. package/dist/i18n/dictionarySink.d.ts.map +1 -0
  179. package/dist/i18n/index.d.ts +3 -0
  180. package/dist/i18n/index.d.ts.map +1 -1
  181. package/dist/i18n/index.js +2 -2
  182. package/dist/i18n/index.js.map +5 -4
  183. package/dist/i18n/translate.d.ts +21 -0
  184. package/dist/i18n/translate.d.ts.map +1 -0
  185. package/dist/internal/gemiExternals.d.ts +1 -1
  186. package/dist/internal/gemiExternals.d.ts.map +1 -1
  187. package/dist/kernel/index.js +2 -2
  188. package/dist/kernel/index.js.map +2 -2
  189. package/dist/orm/index.js +2 -2
  190. package/dist/orm/index.js.map +2 -2
  191. package/dist/server/index.js +2 -2
  192. package/dist/server/index.js.map +1 -1
  193. package/dist/services/index.js +4 -4
  194. package/dist/services/index.js.map +2 -2
  195. package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
  196. package/dist/services/router/streamQueryInjection.d.ts +9 -1
  197. package/dist/services/router/streamQueryInjection.d.ts.map +1 -1
  198. package/dist/support/index.js +2 -2
  199. package/dist/support/index.js.map +1 -1
  200. package/dist/testing/index.js +1 -1
  201. package/dist/vite/__vite-browser-external-S5EYS4bz.mjs +7 -0
  202. package/dist/vite/api_vite-DSBC5Nzy.mjs +5 -0
  203. package/dist/vite/browser-DFEUWTkA.mjs +6086 -0
  204. package/dist/vite/build-C0lmnz6d.mjs +5326 -0
  205. package/dist/vite/index.mjs +1349 -1
  206. package/dist/vite/lib-TT6NqN6b.mjs +363 -0
  207. package/dist/vite/lib-U4DF62jt.mjs +48846 -0
  208. package/dist/vite/main-Drp2rSLR.mjs +2123 -0
  209. package/dist/vite/node-BgyIm-M7.mjs +17799 -0
  210. package/dist/vite/node-yGkKTK1d.mjs +789 -0
  211. package/dist/vite/postcss-hCXrlC4m.mjs +3515 -0
  212. package/dist/vite/postcss-import-rYEe0OKc.mjs +448 -0
  213. package/dist/vite/prompt--dNycKSZ-BmZ8jzP_.mjs +889 -0
  214. package/dist/vite/rolldown-runtime-B4lejLz5.mjs +37 -0
  215. package/package.json +3 -1
  216. package/dist/chunk-1ab1ptq5.js +0 -4
  217. package/dist/chunk-2qn472j4.js +0 -5
  218. package/dist/chunk-3d3nmr5g.js +0 -4
  219. package/dist/chunk-6scjrbw7.js +0 -4
  220. package/dist/chunk-88pq4gmf.js +0 -5
  221. package/dist/chunk-88pq4gmf.js.map +0 -10
  222. package/dist/chunk-8p6rqegw.js +0 -4
  223. package/dist/chunk-92793zh4.js +0 -5
  224. package/dist/chunk-9279y4af.js +0 -5
  225. package/dist/chunk-bq4w14a6.js +0 -5
  226. package/dist/chunk-bq4w14a6.js.map +0 -10
  227. package/dist/chunk-ear03axe.js +0 -81
  228. package/dist/chunk-faa987e4.js +0 -4
  229. package/dist/chunk-ffre1z8s.js +0 -6
  230. package/dist/chunk-msz8rngs.js.map +0 -10
  231. package/dist/chunk-vnjvd82s.js +0 -4
  232. package/dist/chunk-xw44bwnh.js +0 -5
  233. package/dist/chunk-xw44bwnh.js.map +0 -11
  234. package/dist/chunk-y4djde42.js +0 -5
  235. package/dist/chunk-y4djde42.js.map +0 -11
  236. package/dist/chunks/ThemeProvider-CTX9LOFC.js.map +0 -1
  237. /package/dist/{chunk-zhsaz9cr.js.map → chunk-3bw1jk21.js.map} +0 -0
@@ -0,0 +1,4 @@
1
+ // @bun
2
+ import{T as a,U as b,V as c,W as d,X as e,Y as f,Z as g}from"./chunk-br8ten26.js";import"./chunk-50vm7x98.js";import"./chunk-ms8qd7da.js";import"./chunk-7f5ad759.js";export{g as fromEnv,c as ENV_SESSION,b as ENV_SECRET,a as ENV_KEY,d as ENV_EXPIRATION,e as ENV_CREDENTIAL_SCOPE,f as ENV_ACCOUNT_ID};
3
+
4
+ //# debugId=3D62F613BE1E083964756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "4F300B4AED4246EC64756E2164756E21",
7
+ "debugId": "3D62F613BE1E083964756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -1,11 +1,11 @@
1
1
  // @bun
2
- import{Qe as n}from"./chunk-0h3jr9d9.js";var w=n((p)=>{var r={warningEmitted:!1},a=(e)=>{if(e&&!r.warningEmitted&&parseInt(e.substring(1,e.indexOf(".")))<20)r.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
2
+ import{ef as n}from"./chunk-7f5ad759.js";var w=n((p)=>{var r={warningEmitted:!1},a=(e)=>{if(e&&!r.warningEmitted&&parseInt(e.substring(1,e.indexOf(".")))<20)r.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
3
3
  no longer support Node.js ${e} in January 2026.
4
4
 
5
5
  To continue receiving updates to AWS services, bug fixes, and security
6
6
  updates please upgrade to a supported Node.js LTS version.
7
7
 
8
8
  More information can be found at: https://a.co/c895JFp`)};function o(e,t,s){if(!e.$source)e.$source={};return e.$source[t]=s,e}function u(e,t,s){if(!e.__aws_sdk_context)e.__aws_sdk_context={features:{}};else if(!e.__aws_sdk_context.features)e.__aws_sdk_context.features={};e.__aws_sdk_context.features[t]=s}function i(e,t,s){if(!e.$source)e.$source={};return e.$source[t]=s,e}p.emitWarningIfUnsupportedVersion=a;p.setCredentialFeature=o;p.setFeature=u;p.setTokenFeature=i;p.state=r});
9
- export{w as Aa};
9
+ export{w as Ka};
10
10
 
11
- //# debugId=6146F2032446EC3264756E2164756E21
11
+ //# debugId=94A943C856CDFB9464756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "'use strict';\n\nconst state = {\n warningEmitted: false,\n};\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 20) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${version} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`);\n }\n};\n\nfunction setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n\nfunction setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n\nfunction setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\nexports.setCredentialFeature = setCredentialFeature;\nexports.setFeature = setFeature;\nexports.setTokenFeature = setTokenFeature;\nexports.state = state;\n"
6
6
  ],
7
7
  "mappings": ";uDAEA,IAAM,EAAQ,CACV,eAAgB,EACpB,EACM,EAAkC,CAAC,IAAY,CACjD,GAAI,GAAW,CAAC,EAAM,gBAAkB,SAAS,EAAQ,UAAU,EAAG,EAAQ,QAAQ,GAAG,CAAC,CAAC,EAAI,GAC3F,EAAM,eAAiB,GACvB,QAAQ,YAAY;AAAA,4BACA;AAAA;AAAA;AAAA;AAAA;AAAA,uDAK2B,GAIvD,SAAS,CAAoB,CAAC,EAAa,EAAS,EAAO,CACvD,GAAI,CAAC,EAAY,QACb,EAAY,QAAU,CAAC,EAG3B,OADA,EAAY,QAAQ,GAAW,EACxB,EAGX,SAAS,CAAU,CAAC,EAAS,EAAS,EAAO,CACzC,GAAI,CAAC,EAAQ,kBACT,EAAQ,kBAAoB,CACxB,SAAU,CAAC,CACf,EAEC,QAAI,CAAC,EAAQ,kBAAkB,SAChC,EAAQ,kBAAkB,SAAW,CAAC,EAE1C,EAAQ,kBAAkB,SAAS,GAAW,EAGlD,SAAS,CAAe,CAAC,EAAO,EAAS,EAAO,CAC5C,GAAI,CAAC,EAAM,QACP,EAAM,QAAU,CAAC,EAGrB,OADA,EAAM,QAAQ,GAAW,EAClB,EAGH,kCAAkC,EAClC,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,QAAQ",
8
- "debugId": "6146F2032446EC3264756E2164756E21",
8
+ "debugId": "94A943C856CDFB9464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -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 Ne,C as Oe};
3
+ export{A as bf,C as cf};
4
4
 
5
- //# debugId=D239BBF40551687364756E2164756E21
5
+ //# debugId=4280B29004185FE164756E2164756E21
@@ -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": "D239BBF40551687364756E2164756E21",
8
+ "debugId": "4280B29004185FE164756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,5 @@
1
+ // @bun
2
+ import{n as B,o as C,q as E}from"./chunk-gn9zjgep.js";import{qd as x,sd as z,td as A}from"./chunk-e3mggavt.js";function M(b,f={}){let j=B(b,f.sourceLocale);return G(E(b),j,(q)=>C(b,q,j))}function N(b,f){let j=Object.keys(f);return G(b,j,(q)=>{let v=f[q]??f[j[0]];if(!v)return{};return v().then((k)=>k.default)})}function G(b,f,j){let q={id:b,locales:f,load:j};x(q);let v=()=>x(q);return{id:b,locales:f,load:(k)=>{return v(),z(b,k)},loadForRender:(k)=>{return v(),A(b,k)},get:(k)=>{v();let w=z(b,k);if(w instanceof Promise){w.catch(()=>{});return}return w}}}
3
+ export{M as e,N as f};
4
+
5
+ //# debugId=B3039038794F3BD864756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../i18n/defineDictionary.ts"],
4
+ "sourcesContent": [
5
+ "import {\n dictionaryId,\n dictionaryLocales,\n localeStrings,\n type DictionaryTranslations,\n type LocaleStrings,\n} from \"./dictionaryShape\";\nimport {\n loadDictionary,\n loadDictionaryForRender,\n registerDictionary,\n} from \"./dictionaryRegistry\";\n\ndeclare const brand: unique symbol;\n\nexport interface DictionaryHandle<\n T extends DictionaryTranslations = DictionaryTranslations,\n> {\n readonly id: string;\n /** Locales this dictionary declares, source language first. */\n readonly locales: readonly string[];\n /**\n * Strings for `locale`. Synchronous when they are already in memory —\n * always, for an unbundled dictionary; after a preload or the SSR seed, for a\n * bundled one.\n */\n load(locale: string): LocaleStrings | Promise<LocaleStrings>;\n /**\n * `load`, but never rejecting — safe to hand React's `use()`. A failed locale\n * chunk resolves to no strings so the component degrades to rendering keys\n * instead of unmounting into an error boundary.\n */\n loadForRender(locale: string): LocaleStrings | Promise<LocaleStrings>;\n get(locale: string): LocaleStrings | undefined;\n /** Type-only: carries the literal's shape through to `useDictionary`. */\n readonly [brand]?: T;\n}\n\n/**\n * Declare the strings a component needs, next to the component.\n *\n * ```ts\n * export const homeDict = defineDictionary({\n * title: { \"en-US\": \"Welcome {{name}}\", \"tr-TR\": \"Hoş geldin {{name}}\" },\n * });\n * ```\n *\n * As written this holds every locale. Under gemi's Vite plugin the call is\n * rewritten so each locale becomes its own chunk and a page downloads only the\n * one it renders in — but the plugin is strictly an optimization, and the\n * behaviour is identical without it (in `bun test`, and in server code that\n * does not go through the bundler).\n *\n * The first locale in the literal is the source language: a key missing from\n * another locale falls back to it rather than rendering as its own key.\n */\nexport interface DefineDictionaryOptions {\n /**\n * The locale this dictionary is authored in. Keys missing from another locale\n * fall back to it, and it is what renders when the app has no locale\n * configured.\n *\n * Optional, but worth setting on any dictionary that is not uniformly\n * translated: without it the source language is whichever locale appears\n * first in the literal, so adding a key at the top can re-point every\n * fallback in the dictionary.\n */\n sourceLocale?: string;\n}\n\nexport function defineDictionary<const T extends DictionaryTranslations>(\n translations: T,\n options: DefineDictionaryOptions = {},\n): DictionaryHandle<T> {\n const locales = dictionaryLocales(translations, options.sourceLocale);\n return createHandle(dictionaryId(translations), locales, (locale) =>\n localeStrings(translations, locale, locales),\n );\n}\n\n/**\n * The rewritten form of a `defineDictionary` call — emitted by\n * `packages/gemi/vite/dictionaryPlugin.ts`, never written by hand. `loaders`\n * holds one dynamic import per locale so the bundler emits one chunk per\n * locale and the untaken ones never reach the browser.\n */\nexport function __gemi_dict__<\n const T extends DictionaryTranslations = DictionaryTranslations,\n>(\n id: string,\n loaders: Record<string, () => Promise<{ default: LocaleStrings }>>,\n): DictionaryHandle<T> {\n const locales = Object.keys(loaders);\n return createHandle(id, locales, (locale) => {\n // An unknown locale falls back to the source language, matching what\n // `localeStrings` does per key on the unbundled path.\n const load = loaders[locale] ?? loaders[locales[0]];\n if (!load) {\n return {};\n }\n return load().then((mod) => mod.default);\n });\n}\n\nfunction createHandle<T extends DictionaryTranslations>(\n id: string,\n locales: string[],\n load: (locale: string) => LocaleStrings | Promise<LocaleStrings>,\n): DictionaryHandle<T> {\n const entry = { id, locales, load };\n registerDictionary(entry);\n\n // Re-asserted on every read rather than only at construction. A handle is\n // created once, at module scope, but the registry it delegates to can be\n // emptied under it — a test's `afterEach` reset, an HMR boundary — and the\n // handle would then be permanently orphaned, throwing \"Unknown dictionary\"\n // for a dictionary the caller is holding. `registerDictionary` is a no-op\n // when the id is already there, so this costs one Map lookup.\n const ensure = () => registerDictionary(entry);\n\n return {\n id,\n locales,\n // Routed through the registry rather than calling `load` directly so\n // concurrent readers share one in-flight import and results are cached.\n load: (locale: string) => {\n ensure();\n return loadDictionary(id, locale);\n },\n loadForRender: (locale: string) => {\n ensure();\n return loadDictionaryForRender(id, locale);\n },\n get: (locale: string) => {\n ensure();\n const strings = loadDictionary(id, locale);\n if (strings instanceof Promise) {\n // Nothing downstream awaits this one — `get` is the synchronous peek,\n // and the caller is about to discard it. An unattached rejection (a\n // locale chunk that 404s mid-deploy) would surface as an\n // `unhandledRejection`, which under Node's default handler takes the\n // process down over one missing translation file. The load itself is\n // still cached and still retried through `loadDictionary`.\n strings.catch(() => {});\n return undefined;\n }\n return strings;\n },\n };\n}\n\n"
6
+ ],
7
+ "mappings": ";qHAsEO,GAAS,CAAwD,CACtE,EACA,EAAmC,CAAC,EACf,CACrB,IAAM,EAAU,EAAkB,EAAc,EAAQ,YAAY,EACpE,OAAO,EAAa,EAAa,CAAY,EAAG,EAAS,CAAC,IACxD,EAAc,EAAc,EAAQ,CAAO,CAC7C,EASK,SAAS,CAEf,CACC,EACA,EACqB,CACrB,IAAM,EAAU,OAAO,KAAK,CAAO,EACnC,OAAO,EAAa,EAAI,EAAS,CAAC,IAAW,CAG3C,IAAM,EAAO,EAAQ,IAAW,EAAQ,EAAQ,IAChD,GAAI,CAAC,EACH,MAAO,CAAC,EAEV,OAAO,EAAK,EAAE,KAAK,CAAC,IAAQ,EAAI,OAAO,EACxC,EAGH,SAAS,CAA8C,CACrD,EACA,EACA,EACqB,CACrB,IAAM,EAAQ,CAAE,KAAI,UAAS,MAAK,EAClC,EAAmB,CAAK,EAQxB,IAAM,EAAS,IAAM,EAAmB,CAAK,EAE7C,MAAO,CACL,KACA,UAGA,KAAM,CAAC,IAAmB,CAExB,OADA,EAAO,EACA,EAAe,EAAI,CAAM,GAElC,cAAe,CAAC,IAAmB,CAEjC,OADA,EAAO,EACA,EAAwB,EAAI,CAAM,GAE3C,IAAK,CAAC,IAAmB,CACvB,EAAO,EACP,IAAM,EAAU,EAAe,EAAI,CAAM,EACzC,GAAI,aAAmB,QAAS,CAO9B,EAAQ,MAAM,IAAM,EAAE,EACtB,OAEF,OAAO,EAEX",
8
+ "debugId": "B3039038794F3BD864756E2164756E21",
9
+ "names": []
10
+ }