gemi 0.176.0 → 0.177.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/AgentController.d.ts +6 -4
  2. package/dist/ai/AgentController.d.ts.map +1 -1
  3. package/dist/ai/client/index.d.ts +3 -2
  4. package/dist/ai/client/index.d.ts.map +1 -1
  5. package/dist/ai/client/index.js +108 -21
  6. package/dist/ai/client/index.js.map +1 -1
  7. package/dist/ai/index.d.ts +2 -1
  8. package/dist/ai/index.d.ts.map +1 -1
  9. package/dist/ai/index.js +3 -3
  10. package/dist/ai/index.js.map +4 -4
  11. package/dist/ai/store/MemoryAgentStore.d.ts.map +1 -1
  12. package/dist/ai/types.d.ts +18 -0
  13. package/dist/ai/types.d.ts.map +1 -1
  14. package/dist/ai/useChat.d.ts +27 -2
  15. package/dist/ai/useChat.d.ts.map +1 -1
  16. package/dist/app/index.js +1 -1
  17. package/dist/bun/plugin.js +1 -1
  18. package/dist/bun/preload.js +1 -1
  19. package/dist/{chunk-xe126csw.js → chunk-0mye000w.js} +2 -2
  20. package/dist/{chunk-dqj22m1r.js.map → chunk-0mye000w.js.map} +1 -1
  21. package/dist/{chunk-q1s9y4ce.js → chunk-10ap3vpj.js} +2 -2
  22. package/dist/{chunk-q1s9y4ce.js.map → chunk-10ap3vpj.js.map} +1 -1
  23. package/dist/{chunk-r22svpab.js → chunk-11aqfdr7.js} +3 -3
  24. package/dist/{chunk-r22svpab.js.map → chunk-11aqfdr7.js.map} +1 -1
  25. package/dist/{chunk-nfj6k1a6.js → chunk-2cw1et3n.js} +2 -2
  26. package/dist/{chunk-nfj6k1a6.js.map → chunk-2cw1et3n.js.map} +1 -1
  27. package/dist/{chunk-rjsd8f8q.js → chunk-344f6c5q.js} +2 -2
  28. package/dist/{chunk-rjsd8f8q.js.map → chunk-344f6c5q.js.map} +1 -1
  29. package/dist/{chunk-cx05t002.js → chunk-3szc00gq.js} +2 -2
  30. package/dist/{chunk-cx05t002.js.map → chunk-3szc00gq.js.map} +1 -1
  31. package/dist/chunk-50hrefzf.js +10 -0
  32. package/dist/{chunk-xnkx1kz8.js.map → chunk-50hrefzf.js.map} +3 -3
  33. package/dist/{chunk-ewf24h4z.js → chunk-574s5sgz.js} +2 -2
  34. package/dist/{chunk-ewf24h4z.js.map → chunk-574s5sgz.js.map} +1 -1
  35. package/dist/{chunk-xtj7cgsx.js → chunk-5yjseh8g.js} +2 -2
  36. package/dist/{chunk-xtj7cgsx.js.map → chunk-5yjseh8g.js.map} +1 -1
  37. package/dist/{chunk-6016sfy5.js → chunk-5zfwvabd.js} +2 -2
  38. package/dist/{chunk-6016sfy5.js.map → chunk-5zfwvabd.js.map} +1 -1
  39. package/dist/{chunk-dqj22m1r.js → chunk-64m4fmf0.js} +2 -2
  40. package/dist/{chunk-xe126csw.js.map → chunk-64m4fmf0.js.map} +1 -1
  41. package/dist/{chunk-k9ndr16q.js → chunk-7e1fgzcv.js} +2 -2
  42. package/dist/{chunk-k9ndr16q.js.map → chunk-7e1fgzcv.js.map} +1 -1
  43. package/dist/{chunk-9r4rvyfr.js → chunk-8bnmvhrv.js} +2 -2
  44. package/dist/{chunk-9r4rvyfr.js.map → chunk-8bnmvhrv.js.map} +1 -1
  45. package/dist/{chunk-f4wkm07x.js → chunk-8tyxtp36.js} +2 -2
  46. package/dist/{chunk-f4wkm07x.js.map → chunk-8tyxtp36.js.map} +1 -1
  47. package/dist/{chunk-0v46hne6.js → chunk-8ym912fj.js} +3 -3
  48. package/dist/{chunk-0v46hne6.js.map → chunk-8ym912fj.js.map} +1 -1
  49. package/dist/{chunk-4dnr1vg7.js → chunk-96gnm8zb.js} +2 -2
  50. package/dist/{chunk-4dnr1vg7.js.map → chunk-96gnm8zb.js.map} +1 -1
  51. package/dist/{chunk-vzz91xsm.js → chunk-9nks1y2h.js} +2 -2
  52. package/dist/{chunk-vzz91xsm.js.map → chunk-9nks1y2h.js.map} +1 -1
  53. package/dist/{chunk-9bcsfce4.js → chunk-a2br22hp.js} +2 -2
  54. package/dist/{chunk-9bcsfce4.js.map → chunk-a2br22hp.js.map} +1 -1
  55. package/dist/{chunk-7gc1jp2z.js → chunk-a2r94jbz.js} +2 -2
  56. package/dist/{chunk-7gc1jp2z.js.map → chunk-a2r94jbz.js.map} +1 -1
  57. package/dist/{chunk-h3jb2g2g.js → chunk-a4s0kf20.js} +2 -2
  58. package/dist/{chunk-h3jb2g2g.js.map → chunk-a4s0kf20.js.map} +1 -1
  59. package/dist/{chunk-tzne38pa.js → chunk-aat9zhrj.js} +3 -3
  60. package/dist/{chunk-tzne38pa.js.map → chunk-aat9zhrj.js.map} +1 -1
  61. package/dist/{chunk-r5wtc9fw.js → chunk-ay60f8dy.js} +1 -1
  62. package/dist/{chunk-df0nx9d6.js → chunk-bcdst4fd.js} +2 -2
  63. package/dist/{chunk-df0nx9d6.js.map → chunk-bcdst4fd.js.map} +1 -1
  64. package/dist/{chunk-6srzhv88.js → chunk-bhaae60h.js} +3 -3
  65. package/dist/{chunk-6srzhv88.js.map → chunk-bhaae60h.js.map} +1 -1
  66. package/dist/{chunk-zdpxwpc3.js → chunk-bmzznzhz.js} +3 -3
  67. package/dist/{chunk-zdpxwpc3.js.map → chunk-bmzznzhz.js.map} +1 -1
  68. package/dist/{chunk-8tzmat5s.js → chunk-brcn3h9b.js} +3 -3
  69. package/dist/{chunk-8tzmat5s.js.map → chunk-brcn3h9b.js.map} +1 -1
  70. package/dist/{chunk-d7a79eqm.js → chunk-c6ms23fk.js} +2 -2
  71. package/dist/{chunk-d7a79eqm.js.map → chunk-c6ms23fk.js.map} +1 -1
  72. package/dist/{chunk-05k9gmr9.js → chunk-cmjmy3gt.js} +1 -1
  73. package/dist/{chunk-ksgeqtcv.js → chunk-cnnmb8p3.js} +2 -2
  74. package/dist/{chunk-ksgeqtcv.js.map → chunk-cnnmb8p3.js.map} +1 -1
  75. package/dist/{chunk-fqw81xgw.js → chunk-eq252sbg.js} +2 -2
  76. package/dist/{chunk-fqw81xgw.js.map → chunk-eq252sbg.js.map} +1 -1
  77. package/dist/{chunk-1hhwqx50.js → chunk-ezrf5vv9.js} +2 -2
  78. package/dist/{chunk-1hhwqx50.js.map → chunk-ezrf5vv9.js.map} +1 -1
  79. package/dist/{chunk-39sawkhs.js → chunk-f76hstxx.js} +2 -2
  80. package/dist/{chunk-39sawkhs.js.map → chunk-f76hstxx.js.map} +1 -1
  81. package/dist/{chunk-kxgxeead.js → chunk-fbbqy4af.js} +2 -2
  82. package/dist/{chunk-kxgxeead.js.map → chunk-fbbqy4af.js.map} +1 -1
  83. package/dist/{chunk-9zcsshgb.js → chunk-gr4vynwd.js} +2 -2
  84. package/dist/{chunk-9zcsshgb.js.map → chunk-gr4vynwd.js.map} +1 -1
  85. package/dist/{chunk-sgarq1q9.js → chunk-gr625kyj.js} +2 -2
  86. package/dist/{chunk-sgarq1q9.js.map → chunk-gr625kyj.js.map} +1 -1
  87. package/dist/{chunk-bsnp7h5w.js → chunk-h2yyyzsv.js} +3 -3
  88. package/dist/{chunk-bsnp7h5w.js.map → chunk-h2yyyzsv.js.map} +1 -1
  89. package/dist/{chunk-tbf76adx.js → chunk-h3xpvksc.js} +2 -2
  90. package/dist/{chunk-tbf76adx.js.map → chunk-h3xpvksc.js.map} +1 -1
  91. package/dist/{chunk-gnnay997.js → chunk-h968axww.js} +2 -2
  92. package/dist/{chunk-gnnay997.js.map → chunk-h968axww.js.map} +1 -1
  93. package/dist/{chunk-w65gftzm.js → chunk-hkjfyhv4.js} +2 -2
  94. package/dist/{chunk-w65gftzm.js.map → chunk-hkjfyhv4.js.map} +1 -1
  95. package/dist/{chunk-pbc3w7mq.js → chunk-hrj2d0w4.js} +2 -2
  96. package/dist/{chunk-pbc3w7mq.js.map → chunk-hrj2d0w4.js.map} +1 -1
  97. package/dist/{chunk-kknybxbv.js → chunk-hthdwnfr.js} +2 -2
  98. package/dist/{chunk-kknybxbv.js.map → chunk-hthdwnfr.js.map} +1 -1
  99. package/dist/{chunk-c9q856yk.js → chunk-j6sbfa2q.js} +2 -2
  100. package/dist/{chunk-c9q856yk.js.map → chunk-j6sbfa2q.js.map} +1 -1
  101. package/dist/{chunk-bs8mrewm.js → chunk-jj4w6ce5.js} +2 -2
  102. package/dist/{chunk-bs8mrewm.js.map → chunk-jj4w6ce5.js.map} +1 -1
  103. package/dist/{chunk-2p7zph5z.js → chunk-kx3etqsr.js} +2 -2
  104. package/dist/{chunk-2p7zph5z.js.map → chunk-kx3etqsr.js.map} +1 -1
  105. package/dist/{chunk-b1grj1t0.js → chunk-mg9m53kk.js} +2 -2
  106. package/dist/{chunk-b1grj1t0.js.map → chunk-mg9m53kk.js.map} +1 -1
  107. package/dist/{chunk-6vmc8eak.js → chunk-mkb9nt5n.js} +2 -2
  108. package/dist/{chunk-6vmc8eak.js.map → chunk-mkb9nt5n.js.map} +1 -1
  109. package/dist/{chunk-w8hre8gz.js → chunk-n8egkp1k.js} +2 -2
  110. package/dist/{chunk-w8hre8gz.js.map → chunk-n8egkp1k.js.map} +1 -1
  111. package/dist/{chunk-erwawm84.js → chunk-nbmzs80j.js} +2 -2
  112. package/dist/{chunk-erwawm84.js.map → chunk-nbmzs80j.js.map} +1 -1
  113. package/dist/{chunk-d084zwp9.js → chunk-nfx1p5z2.js} +3 -3
  114. package/dist/{chunk-d084zwp9.js.map → chunk-nfx1p5z2.js.map} +1 -1
  115. package/dist/{chunk-hr9twa8v.js → chunk-nwdtdq2k.js} +3 -3
  116. package/dist/{chunk-hr9twa8v.js.map → chunk-nwdtdq2k.js.map} +1 -1
  117. package/dist/{chunk-mbshptjq.js → chunk-p779zv1n.js} +2 -2
  118. package/dist/{chunk-mbshptjq.js.map → chunk-p779zv1n.js.map} +1 -1
  119. package/dist/chunk-pb2bap50.js +117 -0
  120. package/dist/{chunk-k036qfj0.js.map → chunk-pb2bap50.js.map} +5 -5
  121. package/dist/{chunk-4hhvaa7a.js → chunk-pha2mqjr.js} +2 -2
  122. package/dist/{chunk-4hhvaa7a.js.map → chunk-pha2mqjr.js.map} +1 -1
  123. package/dist/{chunk-qfqn7rz8.js → chunk-pv3152gj.js} +1 -1
  124. package/dist/{chunk-f1my4jah.js → chunk-q21p7bq9.js} +1 -1
  125. package/dist/{chunk-srvsz7vm.js → chunk-q21wxx5y.js} +1 -1
  126. package/dist/{chunk-g3m7t5zc.js → chunk-q5j1bwny.js} +1 -1
  127. package/dist/{chunk-m250ejpg.js → chunk-r4ewwmcr.js} +2 -2
  128. package/dist/{chunk-m250ejpg.js.map → chunk-r4ewwmcr.js.map} +1 -1
  129. package/dist/{chunk-3esnjxv9.js → chunk-rhqcv3te.js} +2 -2
  130. package/dist/{chunk-3esnjxv9.js.map → chunk-rhqcv3te.js.map} +1 -1
  131. package/dist/{chunk-6rh3brnr.js → chunk-sq2ccgxy.js} +3 -3
  132. package/dist/{chunk-6rh3brnr.js.map → chunk-sq2ccgxy.js.map} +1 -1
  133. package/dist/chunk-sz8w3kwt.js +5 -0
  134. package/dist/{chunk-2mvz2pjr.js.map → chunk-sz8w3kwt.js.map} +1 -1
  135. package/dist/{chunk-7mp369vg.js → chunk-tdbm67bb.js} +2 -2
  136. package/dist/{chunk-7mp369vg.js.map → chunk-tdbm67bb.js.map} +1 -1
  137. package/dist/{chunk-sjg5g92s.js → chunk-tpx30rbj.js} +2 -2
  138. package/dist/{chunk-sjg5g92s.js.map → chunk-tpx30rbj.js.map} +1 -1
  139. package/dist/{chunk-m0nvysa5.js → chunk-v9g2np6k.js} +3 -3
  140. package/dist/{chunk-m0nvysa5.js.map → chunk-v9g2np6k.js.map} +1 -1
  141. package/dist/{chunk-ywcfezjq.js → chunk-w1y6x2rm.js} +2 -2
  142. package/dist/{chunk-ywcfezjq.js.map → chunk-w1y6x2rm.js.map} +1 -1
  143. package/dist/{chunk-vpmbynke.js → chunk-x9h1hchj.js} +2 -2
  144. package/dist/{chunk-vpmbynke.js.map → chunk-x9h1hchj.js.map} +1 -1
  145. package/dist/{chunk-699j2epd.js → chunk-xvaan2fe.js} +4 -4
  146. package/dist/{chunk-699j2epd.js.map → chunk-xvaan2fe.js.map} +1 -1
  147. package/dist/{chunk-97aeny79.js → chunk-y13dsype.js} +3 -3
  148. package/dist/{chunk-97aeny79.js.map → chunk-y13dsype.js.map} +1 -1
  149. package/dist/{chunk-5d653hk1.js → chunk-y5c9xqme.js} +2 -2
  150. package/dist/{chunk-5d653hk1.js.map → chunk-y5c9xqme.js.map} +1 -1
  151. package/dist/{chunk-jhn1h70n.js → chunk-ygdmm1h4.js} +2 -2
  152. package/dist/{chunk-jhn1h70n.js.map → chunk-ygdmm1h4.js.map} +1 -1
  153. package/dist/{chunk-h041bq3j.js → chunk-yhdwr77h.js} +2 -2
  154. package/dist/{chunk-h041bq3j.js.map → chunk-yhdwr77h.js.map} +1 -1
  155. package/dist/{chunk-5yvy70d7.js → chunk-yszn7ses.js} +2 -2
  156. package/dist/{chunk-5yvy70d7.js.map → chunk-yszn7ses.js.map} +1 -1
  157. package/dist/{chunk-r1n2fkfz.js → chunk-z0q126b1.js} +2 -2
  158. package/dist/{chunk-r1n2fkfz.js.map → chunk-z0q126b1.js.map} +1 -1
  159. package/dist/{chunk-ykd2ayw8.js → chunk-zczvbygf.js} +2 -2
  160. package/dist/{chunk-ykd2ayw8.js.map → chunk-zczvbygf.js.map} +1 -1
  161. package/dist/{chunk-jv48eg0a.js → chunk-zn6j65pg.js} +2 -2
  162. package/dist/{chunk-jv48eg0a.js.map → chunk-zn6j65pg.js.map} +1 -1
  163. package/dist/config/index.js +1 -1
  164. package/dist/console/run.js +2 -2
  165. package/dist/console/run.js.map +1 -1
  166. package/dist/container/index.js +2 -2
  167. package/dist/container/index.js.map +1 -1
  168. package/dist/database/index.js +2 -2
  169. package/dist/database/index.js.map +1 -1
  170. package/dist/email/index.js +2 -2
  171. package/dist/email/index.js.map +1 -1
  172. package/dist/facades/index.js +2 -2
  173. package/dist/facades/index.js.map +1 -1
  174. package/dist/foundation/index.js +2 -2
  175. package/dist/foundation/index.js.map +1 -1
  176. package/dist/http/ApiRouter.d.ts +1 -1
  177. package/dist/http/ApiRouter.d.ts.map +1 -1
  178. package/dist/http/index.js +2 -2
  179. package/dist/http/index.js.map +1 -1
  180. package/dist/i18n/dictionaryRuntime.js +2 -2
  181. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  182. package/dist/i18n/index.js +2 -2
  183. package/dist/i18n/index.js.map +1 -1
  184. package/dist/kernel/index.js +2 -2
  185. package/dist/kernel/index.js.map +1 -1
  186. package/dist/orm/index.js +2 -2
  187. package/dist/orm/index.js.map +1 -1
  188. package/dist/probe/index.js +2 -2
  189. package/dist/probe/index.js.map +1 -1
  190. package/dist/server/index.js +2 -2
  191. package/dist/server/index.js.map +1 -1
  192. package/dist/services/index.js +2 -2
  193. package/dist/services/index.js.map +1 -1
  194. package/dist/services/queue/work.js +2 -2
  195. package/dist/services/queue/work.js.map +1 -1
  196. package/dist/services/router/ViewRouteDispatcher.d.ts.map +1 -1
  197. package/dist/services/router/globalMiddleware.d.ts.map +1 -1
  198. package/dist/services/router/staticCache.d.ts +1 -0
  199. package/dist/services/router/staticCache.d.ts.map +1 -1
  200. package/dist/stats/route-table.js +1 -1
  201. package/dist/support/index.js +2 -2
  202. package/dist/support/index.js.map +1 -1
  203. package/dist/utils/jsonify.d.ts +81 -0
  204. package/dist/utils/jsonify.d.ts.map +1 -0
  205. package/dist/vitest/index.js +1 -1
  206. package/package.json +1 -1
  207. package/dist/chunk-2mvz2pjr.js +0 -5
  208. package/dist/chunk-k036qfj0.js +0 -117
  209. package/dist/chunk-xnkx1kz8.js +0 -10
  210. /package/dist/{chunk-r5wtc9fw.js.map → chunk-ay60f8dy.js.map} +0 -0
  211. /package/dist/{chunk-05k9gmr9.js.map → chunk-cmjmy3gt.js.map} +0 -0
  212. /package/dist/{chunk-qfqn7rz8.js.map → chunk-pv3152gj.js.map} +0 -0
  213. /package/dist/{chunk-f1my4jah.js.map → chunk-q21p7bq9.js.map} +0 -0
  214. /package/dist/{chunk-srvsz7vm.js.map → chunk-q21wxx5y.js.map} +0 -0
  215. /package/dist/{chunk-g3m7t5zc.js.map → chunk-q5j1bwny.js.map} +0 -0
@@ -6,6 +6,6 @@
6
6
  "import { readdir } from \"node:fs/promises\";\nimport { join, parse } from \"node:path\";\n\nimport { Repository } from \"./Repository\";\n\nconst CONFIG_EXTENSIONS = [\".ts\", \".tsx\", \".js\", \".mjs\", \".jsx\"];\n\n// Builds a Repository from an already-imported map of config modules. The map\n// key becomes the top-level config key, so `{ mail: mailModule }` is readable\n// as `config.get(\"mail.driver\")`. Each entry may be either the module namespace\n// (its `default` export is unwrapped) or the config object itself.\nexport function createConfigRepository(\n modules: Record<string, any> = {},\n): Repository {\n const items: Record<string, any> = {};\n\n for (const [key, mod] of Object.entries(modules)) {\n items[key] = unwrap(mod);\n }\n\n return new Repository(items);\n}\n\n// Reads every config module in an app's `app/config` directory into a\n// Repository. The file's basename is the top-level key: `app/config/mail.ts`\n// populates `mail.*`. A missing directory yields an empty Repository so apps\n// that declare no config still boot.\nexport async function loadConfigFrom(\n directory: string,\n repository = new Repository(),\n): Promise<Repository> {\n let entries: string[] = [];\n\n try {\n entries = await readdir(directory);\n } catch (err) {\n return repository;\n }\n\n const files = entries\n .filter((entry) => {\n const { ext, name } = parse(entry);\n return CONFIG_EXTENSIONS.includes(ext) && !name.startsWith(\".\");\n })\n .sort();\n\n for (const file of files) {\n const { name } = parse(file);\n const mod = await import(join(directory, file));\n repository.set(name, unwrap(mod));\n }\n\n return repository;\n}\n\nfunction unwrap(mod: any) {\n if (mod && typeof mod === \"object\" && \"default\" in mod) {\n return mod.default;\n }\n return mod;\n}\n"
7
7
  ],
8
8
  "mappings": ";2RAgCO,CAAe,JAAQ,EAOrB,OAMD,AAAI,EAAkB,QAmBrB,OAAS,EAKX,CACH,GAAI,CAAC,KAAK,MACR,MAAU,MACR,YAAY,KAAK,0FACnB,EAGF,GAAI,CACF,OAAO,EAAI,IAAuB,EAClC,MAAO,EAAO,CACd,MAAU,MACR,qBAAqB,KAAK,6DACxB,+FACA,6CAA6C,KAAK,kDAEpD,CAAE,OAAM,CACV,SAoBG,KAAuB,CAAoB,EAA0B,CAC1E,IAAM,EAAW,IAAI,KACrB,QAAY,EAAK,KAAU,OAAO,QAAQ,CAAS,EACjD,GAAI,IAAU,OAAW,EAAS,GAAO,EAE3C,OAAO,EAEX,CChHA,kBAAS,oBACT,eAAS,WAAM,aAIf,IAAM,EAAoB,CAAC,MAAO,OAAQ,MAAO,OAAQ,MAAM,EAMxD,SAAS,CAAsB,CACpC,EAA+B,CAAC,EACpB,CACZ,IAAM,EAA6B,CAAC,EAEpC,QAAY,EAAK,KAAQ,OAAO,QAAQ,CAAO,EAC7C,EAAM,GAAO,EAAO,CAAG,EAGzB,OAAO,IAAI,EAAW,CAAK,EAO7B,eAAsB,CAAc,CAClC,EACA,EAAa,IAAI,EACI,CACrB,IAAI,EAAoB,CAAC,EAEzB,GAAI,CACF,EAAU,MAAM,EAAQ,CAAS,EACjC,MAAO,EAAK,CACZ,OAAO,EAGT,IAAM,EAAQ,EACX,OAAO,CAAC,IAAU,CACjB,IAAQ,MAAK,QAAS,EAAM,CAAK,EACjC,OAAO,EAAkB,SAAS,CAAG,GAAK,CAAC,EAAK,WAAW,GAAG,EAC/D,EACA,KAAK,EAER,QAAW,KAAQ,EAAO,CACxB,IAAQ,QAAS,EAAM,CAAI,EACrB,EAAM,MAAa,SAAK,EAAW,CAAI,GAC7C,EAAW,IAAI,EAAM,EAAO,CAAG,CAAC,EAGlC,OAAO,EAGT,SAAS,CAAM,CAAC,EAAU,CACxB,GAAI,GAAO,OAAO,IAAQ,UAAY,YAAa,EACjD,OAAO,EAAI,QAEb,OAAO",
9
- "debugId": "0CF579DABD53A65F64756E2164756E21",
9
+ "debugId": "02E36CE4F764821A64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -0,0 +1,81 @@
1
+ /**
2
+ * What a value of type `T` is after `JSON.parse(JSON.stringify(value))`: the
3
+ * type the browser holds for something the server sent as JSON (#1107).
4
+ *
5
+ * - `toJSON` is honoured: a `Date` is a `string`, and so is anything whose
6
+ * `toJSON()` returns one. A member whose `toJSON()` may answer `undefined`
7
+ * is optional, and gone when it always does.
8
+ * - Object members that are `undefined`, functions or symbols are dropped; a
9
+ * member that may be `undefined` (or is `void`) is optional. Symbol keys are
10
+ * dropped.
11
+ * - In arrays, those values become `null`, as `JSON.stringify` writes them.
12
+ * - At the top level, `undefined` and `void` stay `undefined`:
13
+ * `JSON.stringify(undefined)` is `undefined`, and a tool output that may be
14
+ * missing is still one that may be missing (`Jsonify<Foo | undefined>` is
15
+ * `Jsonify<Foo> | undefined`).
16
+ * - Getters are kept and class instances are read as their public members.
17
+ * At run time `JSON.stringify` writes only own enumerable properties, so an
18
+ * `Error` arrives as `{}`; give such types a `toJSON` if they cross.
19
+ * - `Map` and `Set` have no own enumerable members and arrive as `{}`.
20
+ * - `bigint` cannot be serialised (`JSON.stringify` throws) and is `never`.
21
+ * - A type that is already JSON (assignable to `JsonValue`) is returned as
22
+ * it is, so its name survives in hovers and in errors.
23
+ *
24
+ * `any` stays `any` and `unknown` stays `unknown`. `NaN` and the infinities
25
+ * become `null` at run time, which no type can see, so `number` stays `number`.
26
+ */
27
+ export type Jsonify<T> = 0 extends 1 & T ? any : unknown extends T ? [
28
+ keyof T
29
+ ] extends [never] ? unknown : JsonifyKnown<T> : JsonifyKnown<T>;
30
+ type JsonifyKnown<T> = [T] extends [JsonSafe] ? T : JsonifyMember<Exclude<T, undefined | void>> | ([Extract<T, undefined | void>] extends [never] ? never : undefined);
31
+ /** What `JSON.stringify` drops from an object and writes as `null` in an array. */
32
+ type JsonDropped = undefined | void | symbol | ((...args: any[]) => unknown);
33
+ /** A member whose every value is dropped, so the key itself is gone. `void`
34
+ * is not here: a `void` member may still hold a value, so it is optional. */
35
+ type JsonGone = undefined | symbol | ((...args: any[]) => unknown);
36
+ type IsAny<T> = 0 extends 1 & T ? true : false;
37
+ /** The same union as `JsonValue` in `ai/Schema.ts`, kept here so `utils` does
38
+ * not import the ai module. */
39
+ type JsonSafe = string | number | boolean | null | JsonSafe[] | {
40
+ [key: string]: JsonSafe;
41
+ };
42
+ type JsonifyMember<T> = T extends string | number | boolean | null ? T : T extends JsonDropped | bigint ? never : T extends {
43
+ toJSON(...args: any[]): infer J;
44
+ } ? Jsonify<J> : T extends readonly unknown[] ? {
45
+ [I in keyof T]: JsonifyElement<T[I]>;
46
+ } : T extends ReadonlyMap<unknown, unknown> | ReadonlySet<unknown> ? Record<string, never> : T extends object ? JsonifyObject<T> : never;
47
+ type JsonifyElement<E> = [Extract<E, JsonDropped>] extends [never] ? Jsonify<E> : Jsonify<Exclude<E, JsonDropped>> | null;
48
+ /** A string or number index signature, which has no optional form. */
49
+ type IsIndexKey<K> = string extends K ? true : number extends K ? true : false;
50
+ /** A member's value in JSON. */
51
+ type MemberJson<T, K extends keyof T> = Jsonify<Exclude<T[K], JsonDropped>>;
52
+ /** What a member's `toJSON()` can answer, `never` without one (distributive,
53
+ * so `Date | Custom` reads `Custom`'s). */
54
+ type ToJsonResult<V> = V extends {
55
+ toJSON(...args: any[]): infer J;
56
+ } ? J : never;
57
+ /** The key is gone: every value is dropped, or its `toJSON()` always answers
58
+ * `undefined`. */
59
+ type IsGone<T, K extends keyof T> = [Exclude<T[K], JsonGone>] extends [never] ? true : IsAny<T[K]> extends true ? false : [Exclude<T[K], JsonDropped>] extends [never] ? false : [
60
+ Exclude<T[K], JsonDropped>
61
+ ] extends [{
62
+ toJSON(...args: any[]): unknown;
63
+ }] ? [ToJsonResult<Exclude<T[K], JsonDropped>>] extends [undefined | void] ? true : false : false;
64
+ /** The key may be missing: declared optional, a value that is dropped, or a
65
+ * `toJSON()` that may answer `undefined`. */
66
+ type MayBeMissing<T, K extends keyof T> = {} extends Pick<T, K> ? true : IsAny<T[K]> extends true ? false : [Extract<T[K], JsonDropped>] extends [never] ? [Extract<ToJsonResult<T[K]>, undefined | void>] extends [never] ? false : true : true;
67
+ /** Kept and required. An `any` member is kept as it is. Index signatures have
68
+ * no optional form, so they are always here. */
69
+ type RequiredKey<T, K extends keyof T> = K extends symbol ? never : IsGone<T, K> extends true ? never : IsIndexKey<K> extends true ? K : MayBeMissing<T, K> extends true ? never : K;
70
+ /** Kept and optional. */
71
+ type OptionalKey<T, K extends keyof T> = K extends symbol ? never : IsGone<T, K> extends true ? never : IsIndexKey<K> extends true ? never : MayBeMissing<T, K> extends true ? K : never;
72
+ type JsonifyObject<T> = Flatten<{
73
+ [K in keyof T as RequiredKey<T, K>]-?: MemberJson<T, K>;
74
+ } & {
75
+ [K in keyof T as OptionalKey<T, K>]?: MemberJson<T, K>;
76
+ }>;
77
+ type Flatten<T> = {
78
+ [K in keyof T]: T[K];
79
+ };
80
+ export {};
81
+ //# sourceMappingURL=jsonify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonify.d.ts","sourceRoot":"","sources":["../../utils/jsonify.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{ga as B,ha as D}from"../chunk-d084zwp9.js";import"../chunk-w65gftzm.js";import"../chunk-jv48eg0a.js";import{Ba as J}from"../chunk-q1s9y4ce.js";import"../chunk-ewf24h4z.js";import"../chunk-xe126csw.js";function N(){return{name:"gemi-custom-request",enforce:"pre",async transform(G,H){let j=H.split("?",1)[0];if(j.includes("/node_modules/")||!B.test(j))return null;return{code:await D(G),map:null}}}}export{N as gemiRequestPlugin,J as gemiIslandPlugin};
2
+ import{ga as B,ha as D}from"../chunk-nfx1p5z2.js";import"../chunk-hkjfyhv4.js";import"../chunk-zn6j65pg.js";import{Ba as J}from"../chunk-10ap3vpj.js";import"../chunk-574s5sgz.js";import"../chunk-0mye000w.js";function N(){return{name:"gemi-custom-request",enforce:"pre",async transform(G,H){let j=H.split("?",1)[0];if(j.includes("/node_modules/")||!B.test(j))return null;return{code:await D(G),map:null}}}}export{N as gemiRequestPlugin,J as gemiIslandPlugin};
3
3
 
4
4
  //# debugId=CE19A4044ADA908764756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gemi",
3
- "version": "0.176.0",
3
+ "version": "0.177.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "Enes Tufekci <enes@gemijs.dev>",
@@ -1,5 +0,0 @@
1
- // @bun
2
- import{ge as o}from"./chunk-w8hre8gz.js";import{he as i}from"./chunk-zqptpk90.js";import{bk as t}from"./chunk-ksgeqtcv.js";import{bl as r}from"./chunk-9zcsshgb.js";class n extends i{register(){this.app.singleton(r,()=>new r(t(o(),this.app.config.get("translation",{}))))}}
3
- export{n as bb};
4
-
5
- //# debugId=F936A82967A872AA64756E2164756E21