gemi 0.63.0 → 0.65.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 (248) hide show
  1. package/dist/ai/Agent.d.ts +73 -0
  2. package/dist/ai/Agent.d.ts.map +1 -1
  3. package/dist/ai/AgentController.d.ts +75 -6
  4. package/dist/ai/AgentController.d.ts.map +1 -1
  5. package/dist/ai/AgentProvider.d.ts +5 -1
  6. package/dist/ai/AgentProvider.d.ts.map +1 -1
  7. package/dist/ai/Schema.d.ts +62 -0
  8. package/dist/ai/Schema.d.ts.map +1 -1
  9. package/dist/ai/client/index.js +10 -4
  10. package/dist/ai/client/index.js.map +1 -1
  11. package/dist/ai/client/reducer.d.ts.map +1 -1
  12. package/dist/ai/index.d.ts +2 -1
  13. package/dist/ai/index.d.ts.map +1 -1
  14. package/dist/ai/index.js +12 -12
  15. package/dist/ai/index.js.map +6 -6
  16. package/dist/ai/live/harness.d.ts +5 -3
  17. package/dist/ai/live/harness.d.ts.map +1 -1
  18. package/dist/ai/types.d.ts +29 -1
  19. package/dist/ai/types.d.ts.map +1 -1
  20. package/dist/ai/useChat.d.ts +60 -4
  21. package/dist/ai/useChat.d.ts.map +1 -1
  22. package/dist/app/index.js +1 -1
  23. package/dist/auth/AuthController.d.ts.map +1 -1
  24. package/dist/auth/AuthManager.d.ts +38 -4
  25. package/dist/auth/AuthManager.d.ts.map +1 -1
  26. package/dist/auth/UserProvider.d.ts.map +1 -1
  27. package/dist/auth/config.d.ts.map +1 -1
  28. package/dist/auth/sessionToken.d.ts +38 -0
  29. package/dist/auth/sessionToken.d.ts.map +1 -0
  30. package/dist/auth/types.d.ts +1 -1
  31. package/dist/auth/types.d.ts.map +1 -1
  32. package/dist/bin/gemi.js +9 -1
  33. package/dist/bin/gemi.js.map +3 -3
  34. package/dist/broadcasting/index.js +1 -1
  35. package/dist/bun/plugin.js +1 -1
  36. package/dist/bun/preload.js +1 -1
  37. package/dist/{chunk-jv9k1qfr.js → chunk-2bb3rdqq.js} +3 -3
  38. package/dist/{chunk-jv9k1qfr.js.map → chunk-2bb3rdqq.js.map} +1 -1
  39. package/dist/{chunk-e785380d.js → chunk-2dvjj3ad.js} +2 -2
  40. package/dist/{chunk-e785380d.js.map → chunk-2dvjj3ad.js.map} +1 -1
  41. package/dist/{chunk-rj3fnc4h.js → chunk-2ghpxrw1.js} +1 -1
  42. package/dist/{chunk-dqbm9vd0.js → chunk-3mp9p38x.js} +2 -2
  43. package/dist/{chunk-dqbm9vd0.js.map → chunk-3mp9p38x.js.map} +1 -1
  44. package/dist/{chunk-cdpeh7tt.js → chunk-3pwn2r6s.js} +2 -2
  45. package/dist/{chunk-cdpeh7tt.js.map → chunk-3pwn2r6s.js.map} +1 -1
  46. package/dist/{chunk-7qfzrkab.js → chunk-45g3hd0e.js} +2 -2
  47. package/dist/{chunk-7qfzrkab.js.map → chunk-45g3hd0e.js.map} +1 -1
  48. package/dist/{chunk-wqmzad46.js → chunk-5g1j29p2.js} +2 -2
  49. package/dist/{chunk-wqmzad46.js.map → chunk-5g1j29p2.js.map} +1 -1
  50. package/dist/{chunk-bxtx4y4w.js → chunk-5pm9zvtp.js} +2 -2
  51. package/dist/{chunk-bxtx4y4w.js.map → chunk-5pm9zvtp.js.map} +1 -1
  52. package/dist/{chunk-pbx9p6g0.js → chunk-6waph5k8.js} +1 -1
  53. package/dist/{chunk-nnc40mf3.js → chunk-70y8wajy.js} +2 -2
  54. package/dist/{chunk-nnc40mf3.js.map → chunk-70y8wajy.js.map} +1 -1
  55. package/dist/{chunk-71yhw8aw.js → chunk-731etrh2.js} +2 -2
  56. package/dist/{chunk-71yhw8aw.js.map → chunk-731etrh2.js.map} +1 -1
  57. package/dist/{chunk-1s1cd1e8.js → chunk-7438nrkm.js} +3 -3
  58. package/dist/{chunk-1s1cd1e8.js.map → chunk-7438nrkm.js.map} +1 -1
  59. package/dist/{chunk-ssg20z9s.js → chunk-7wgk7q33.js} +3 -3
  60. package/dist/{chunk-ssg20z9s.js.map → chunk-7wgk7q33.js.map} +1 -1
  61. package/dist/chunk-7xc64j6p.js +5 -0
  62. package/dist/chunk-7xc64j6p.js.map +14 -0
  63. package/dist/{chunk-jmse5hec.js → chunk-7zg1mt1g.js} +2 -2
  64. package/dist/{chunk-jmse5hec.js.map → chunk-7zg1mt1g.js.map} +1 -1
  65. package/dist/{chunk-0qchadp1.js → chunk-87c0cy5v.js} +2 -2
  66. package/dist/{chunk-0qchadp1.js.map → chunk-87c0cy5v.js.map} +1 -1
  67. package/dist/{chunk-773qa4av.js → chunk-8bjxk57p.js} +2 -2
  68. package/dist/{chunk-773qa4av.js.map → chunk-8bjxk57p.js.map} +1 -1
  69. package/dist/{chunk-81yzec62.js → chunk-8jpvj3cj.js} +2 -2
  70. package/dist/{chunk-81yzec62.js.map → chunk-8jpvj3cj.js.map} +1 -1
  71. package/dist/{chunk-9e5c5e15.js → chunk-9ch1q7nd.js} +2 -2
  72. package/dist/{chunk-9e5c5e15.js.map → chunk-9ch1q7nd.js.map} +1 -1
  73. package/dist/{chunk-9e5v1t73.js → chunk-9x5eefh0.js} +2 -2
  74. package/dist/{chunk-9e5v1t73.js.map → chunk-9x5eefh0.js.map} +1 -1
  75. package/dist/{chunk-62xjrz5e.js → chunk-9zmcz7yq.js} +2 -2
  76. package/dist/{chunk-62xjrz5e.js.map → chunk-9zmcz7yq.js.map} +1 -1
  77. package/dist/{chunk-0amv13g6.js → chunk-a85fn4zf.js} +3 -3
  78. package/dist/{chunk-0amv13g6.js.map → chunk-a85fn4zf.js.map} +1 -1
  79. package/dist/chunk-adj6dnvj.js +5 -0
  80. package/dist/{chunk-dq2hgzje.js.map → chunk-adj6dnvj.js.map} +1 -1
  81. package/dist/{chunk-exwbtfe9.js → chunk-aq09ta7k.js} +2 -2
  82. package/dist/{chunk-exwbtfe9.js.map → chunk-aq09ta7k.js.map} +1 -1
  83. package/dist/{chunk-43xw9n4f.js → chunk-dmr7yzyr.js} +2 -2
  84. package/dist/{chunk-43xw9n4f.js.map → chunk-dmr7yzyr.js.map} +1 -1
  85. package/dist/{chunk-q4wdg0y3.js → chunk-e0v4byjp.js} +2 -2
  86. package/dist/{chunk-ptjexzn1.js.map → chunk-e0v4byjp.js.map} +1 -1
  87. package/dist/{chunk-8wpccvbt.js → chunk-e1fkxt82.js} +2 -2
  88. package/dist/{chunk-8wpccvbt.js.map → chunk-e1fkxt82.js.map} +1 -1
  89. package/dist/{chunk-xadk41cs.js → chunk-ex9ns7pf.js} +4 -4
  90. package/dist/{chunk-xadk41cs.js.map → chunk-ex9ns7pf.js.map} +1 -1
  91. package/dist/{chunk-95d8jj11.js → chunk-fd7wfcft.js} +2 -2
  92. package/dist/{chunk-95d8jj11.js.map → chunk-fd7wfcft.js.map} +1 -1
  93. package/dist/{chunk-maxd55a0.js → chunk-fk127cwf.js} +2 -2
  94. package/dist/{chunk-maxd55a0.js.map → chunk-fk127cwf.js.map} +2 -2
  95. package/dist/{chunk-kx7vgcjp.js → chunk-fmcq21hg.js} +3 -3
  96. package/dist/{chunk-kx7vgcjp.js.map → chunk-fmcq21hg.js.map} +1 -1
  97. package/dist/{chunk-k1wkvrj0.js → chunk-ftaxfq7p.js} +3 -3
  98. package/dist/{chunk-k1wkvrj0.js.map → chunk-ftaxfq7p.js.map} +1 -1
  99. package/dist/{chunk-zdj2wmbj.js → chunk-fxkh2rfd.js} +2 -2
  100. package/dist/{chunk-zdj2wmbj.js.map → chunk-fxkh2rfd.js.map} +1 -1
  101. package/dist/{chunk-9k5daets.js → chunk-g2ywq30n.js} +2 -2
  102. package/dist/{chunk-9k5daets.js.map → chunk-g2ywq30n.js.map} +1 -1
  103. package/dist/chunk-hq496pa4.js +5 -0
  104. package/dist/chunk-hq496pa4.js.map +10 -0
  105. package/dist/{chunk-4sv5zpb4.js → chunk-hrtkjv41.js} +2 -2
  106. package/dist/{chunk-4sv5zpb4.js.map → chunk-hrtkjv41.js.map} +1 -1
  107. package/dist/{chunk-tq92xqkk.js → chunk-j3b3qerv.js} +2 -2
  108. package/dist/{chunk-tq92xqkk.js.map → chunk-j3b3qerv.js.map} +1 -1
  109. package/dist/{chunk-dhe1hsyz.js → chunk-jkjt3e06.js} +2 -2
  110. package/dist/{chunk-dhe1hsyz.js.map → chunk-jkjt3e06.js.map} +1 -1
  111. package/dist/{chunk-5wzyx4ts.js → chunk-ks94h71z.js} +2 -2
  112. package/dist/{chunk-5wzyx4ts.js.map → chunk-ks94h71z.js.map} +1 -1
  113. package/dist/{chunk-rhr8qavq.js → chunk-m44ar4he.js} +2 -2
  114. package/dist/{chunk-rhr8qavq.js.map → chunk-m44ar4he.js.map} +1 -1
  115. package/dist/{chunk-0081bz9c.js → chunk-nxg51m0q.js} +2 -2
  116. package/dist/{chunk-0081bz9c.js.map → chunk-nxg51m0q.js.map} +1 -1
  117. package/dist/{chunk-qrfp7pg2.js → chunk-nxh5a3eb.js} +3 -3
  118. package/dist/{chunk-qrfp7pg2.js.map → chunk-nxh5a3eb.js.map} +1 -1
  119. package/dist/{chunk-qcbtr7hm.js → chunk-p0m3qgs5.js} +2 -2
  120. package/dist/{chunk-qcbtr7hm.js.map → chunk-p0m3qgs5.js.map} +1 -1
  121. package/dist/{chunk-jk8mn861.js → chunk-p5m0da00.js} +2 -2
  122. package/dist/{chunk-jk8mn861.js.map → chunk-p5m0da00.js.map} +1 -1
  123. package/dist/{chunk-fv223805.js → chunk-pb0m0ryf.js} +3 -3
  124. package/dist/{chunk-fv223805.js.map → chunk-pb0m0ryf.js.map} +1 -1
  125. package/dist/{chunk-7hbhbht2.js → chunk-pcxxnnad.js} +3 -3
  126. package/dist/{chunk-7hbhbht2.js.map → chunk-pcxxnnad.js.map} +1 -1
  127. package/dist/{chunk-2d92pev2.js → chunk-pxc51549.js} +2 -2
  128. package/dist/{chunk-2d92pev2.js.map → chunk-pxc51549.js.map} +1 -1
  129. package/dist/{chunk-454c7vn3.js → chunk-q1nq7n6y.js} +2 -2
  130. package/dist/{chunk-454c7vn3.js.map → chunk-q1nq7n6y.js.map} +1 -1
  131. package/dist/{chunk-48qybp63.js → chunk-qqchc40s.js} +2 -2
  132. package/dist/{chunk-48qybp63.js.map → chunk-qqchc40s.js.map} +1 -1
  133. package/dist/{chunk-feyr4851.js → chunk-r069158p.js} +2 -2
  134. package/dist/{chunk-feyr4851.js.map → chunk-r069158p.js.map} +1 -1
  135. package/dist/{chunk-ptjexzn1.js → chunk-r6v21jn6.js} +2 -2
  136. package/dist/{chunk-q4wdg0y3.js.map → chunk-r6v21jn6.js.map} +1 -1
  137. package/dist/{chunk-6j129573.js → chunk-r77f1482.js} +2 -2
  138. package/dist/{chunk-6j129573.js.map → chunk-r77f1482.js.map} +1 -1
  139. package/dist/{chunk-jmbdr550.js → chunk-rnjbja88.js} +2 -2
  140. package/dist/{chunk-jmbdr550.js.map → chunk-rnjbja88.js.map} +1 -1
  141. package/dist/{chunk-q8msf1gf.js → chunk-rq2k9frr.js} +2 -2
  142. package/dist/{chunk-q8msf1gf.js.map → chunk-rq2k9frr.js.map} +1 -1
  143. package/dist/chunk-se5ekvgb.js +19 -0
  144. package/dist/{chunk-anfs5mwm.js.map → chunk-se5ekvgb.js.map} +12 -11
  145. package/dist/{chunk-v6v03hy7.js → chunk-sqc6fkqt.js} +2 -2
  146. package/dist/{chunk-v6v03hy7.js.map → chunk-sqc6fkqt.js.map} +1 -1
  147. package/dist/{chunk-78cvy4je.js → chunk-tn71d46d.js} +2 -2
  148. package/dist/{chunk-78cvy4je.js.map → chunk-tn71d46d.js.map} +1 -1
  149. package/dist/{chunk-hkhxkeeb.js → chunk-v6q4990x.js} +3 -3
  150. package/dist/{chunk-hkhxkeeb.js.map → chunk-v6q4990x.js.map} +1 -1
  151. package/dist/{chunk-e41vdprh.js → chunk-w34j3cd3.js} +3 -3
  152. package/dist/{chunk-e41vdprh.js.map → chunk-w34j3cd3.js.map} +1 -1
  153. package/dist/{chunk-35fbxgjh.js → chunk-wzqxtrpt.js} +2 -2
  154. package/dist/{chunk-35fbxgjh.js.map → chunk-wzqxtrpt.js.map} +1 -1
  155. package/dist/{chunk-39p7ge47.js → chunk-x917yccy.js} +2 -2
  156. package/dist/{chunk-39p7ge47.js.map → chunk-x917yccy.js.map} +1 -1
  157. package/dist/{chunk-z2fnf49p.js → chunk-xzexftx1.js} +1 -1
  158. package/dist/{chunk-dfv5eqma.js → chunk-z4k18gnp.js} +2 -2
  159. package/dist/{chunk-dfv5eqma.js.map → chunk-z4k18gnp.js.map} +1 -1
  160. package/dist/{chunk-b6948dnh.js → chunk-z6gzasra.js} +2 -2
  161. package/dist/{chunk-b6948dnh.js.map → chunk-z6gzasra.js.map} +1 -1
  162. package/dist/{chunk-p57x55qd.js → chunk-zqpskwk9.js} +2 -2
  163. package/dist/{chunk-p57x55qd.js.map → chunk-zqpskwk9.js.map} +1 -1
  164. package/dist/chunks/ThemeProvider-Bz-y1g2i.js.map +1 -1
  165. package/dist/client/ClientRouter.d.ts.map +1 -1
  166. package/dist/client/Link.d.ts +3 -2
  167. package/dist/client/Link.d.ts.map +1 -1
  168. package/dist/client/Redirect.d.ts +3 -3
  169. package/dist/client/Redirect.d.ts.map +1 -1
  170. package/dist/client/index.d.ts +2 -2
  171. package/dist/client/index.d.ts.map +1 -1
  172. package/dist/client/index.js +5 -7
  173. package/dist/client/index.js.map +1 -1
  174. package/dist/client/types.d.ts +72 -2
  175. package/dist/client/types.d.ts.map +1 -1
  176. package/dist/client/useNavigate.d.ts +29 -6
  177. package/dist/client/useNavigate.d.ts.map +1 -1
  178. package/dist/client/usePrefetch.d.ts +13 -3
  179. package/dist/client/usePrefetch.d.ts.map +1 -1
  180. package/dist/config/index.js +1 -1
  181. package/dist/console/run.js +2 -2
  182. package/dist/console/run.js.map +1 -1
  183. package/dist/container/index.js +2 -2
  184. package/dist/container/index.js.map +1 -1
  185. package/dist/database/Connection.d.ts.map +1 -1
  186. package/dist/database/index.d.ts +1 -0
  187. package/dist/database/index.d.ts.map +1 -1
  188. package/dist/database/index.js +2 -2
  189. package/dist/database/index.js.map +1 -1
  190. package/dist/database/sqlitePath.d.ts +46 -0
  191. package/dist/database/sqlitePath.d.ts.map +1 -0
  192. package/dist/email/index.js +2 -2
  193. package/dist/email/index.js.map +1 -1
  194. package/dist/facades/Auth.d.ts.map +1 -1
  195. package/dist/facades/index.js +2 -2
  196. package/dist/facades/index.js.map +1 -1
  197. package/dist/foundation/index.js +2 -2
  198. package/dist/foundation/index.js.map +1 -1
  199. package/dist/http/ApiRouter.d.ts +1 -1
  200. package/dist/http/ApiRouter.d.ts.map +1 -1
  201. package/dist/http/index.js +2 -2
  202. package/dist/http/index.js.map +1 -1
  203. package/dist/i18n/dictionaryRuntime.js +2 -2
  204. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  205. package/dist/i18n/index.js +2 -2
  206. package/dist/i18n/index.js.map +1 -1
  207. package/dist/kernel/index.js +2 -2
  208. package/dist/kernel/index.js.map +1 -1
  209. package/dist/orm/index.js +2 -2
  210. package/dist/orm/index.js.map +1 -1
  211. package/dist/server/index.js +2 -2
  212. package/dist/server/index.js.map +1 -1
  213. package/dist/services/index.js +2 -2
  214. package/dist/services/index.js.map +1 -1
  215. package/dist/services/queue/work.js +2 -2
  216. package/dist/services/queue/work.js.map +1 -1
  217. package/dist/support/index.js +2 -2
  218. package/dist/support/index.js.map +1 -1
  219. package/package.json +1 -1
  220. package/dist/ai/Agent.test-d.d.ts +0 -2
  221. package/dist/ai/Agent.test-d.d.ts.map +0 -1
  222. package/dist/ai/Schema.test-d.d.ts +0 -2
  223. package/dist/ai/Schema.test-d.d.ts.map +0 -1
  224. package/dist/ai/client/reducer.test-d.d.ts +0 -2
  225. package/dist/ai/client/reducer.test-d.d.ts.map +0 -1
  226. package/dist/ai/example.d.ts +0 -129
  227. package/dist/ai/example.d.ts.map +0 -1
  228. package/dist/chunk-4728yrmt.js +0 -5
  229. package/dist/chunk-4728yrmt.js.map +0 -10
  230. package/dist/chunk-anfs5mwm.js +0 -19
  231. package/dist/chunk-dq2hgzje.js +0 -5
  232. package/dist/chunk-f9ccncar.js +0 -5
  233. package/dist/chunk-f9ccncar.js.map +0 -13
  234. package/dist/client/useDictionary.test-d.d.ts +0 -2
  235. package/dist/client/useDictionary.test-d.d.ts.map +0 -1
  236. package/dist/console/builder.test-d.d.ts +0 -2
  237. package/dist/console/builder.test-d.d.ts.map +0 -1
  238. package/dist/http/ApiRouter.test-d.d.ts +0 -2
  239. package/dist/http/ApiRouter.test-d.d.ts.map +0 -1
  240. package/dist/http/McpRouter.test-d.d.ts +0 -2
  241. package/dist/http/McpRouter.test-d.d.ts.map +0 -1
  242. package/dist/services/events/FakeEventManager.test-d.d.ts +0 -2
  243. package/dist/services/events/FakeEventManager.test-d.d.ts.map +0 -1
  244. package/dist/services/events/Listener.test-d.d.ts +0 -2
  245. package/dist/services/events/Listener.test-d.d.ts.map +0 -1
  246. /package/dist/{chunk-rj3fnc4h.js.map → chunk-2ghpxrw1.js.map} +0 -0
  247. /package/dist/{chunk-pbx9p6g0.js.map → chunk-6waph5k8.js.map} +0 -0
  248. /package/dist/{chunk-z2fnf49p.js.map → chunk-xzexftx1.js.map} +0 -0
@@ -41,9 +41,11 @@ export declare const azureConfigured: boolean;
41
41
  * run and a re-run one produce the same messages. The only difference is
42
42
  * whether a request was made, so the test counts requests.
43
43
  *
44
- * `maxOutputTokens` is a cap `Agent` has no way to set: `AgentStreamParams`
45
- * carries no token budget, deliberately, and `ProviderStreamParams` does. So
46
- * the cap goes on the seam between them. Without it a reasoning model asked a
44
+ * `maxOutputTokens` is the harness's own cap, and it WINS over the agent's.
45
+ * `AgentStreamParams` carries one since the option was exposed to apps, and
46
+ * `stream` below spreads `params` before it rather than merging — so a live test
47
+ * cannot raise the ceiling past what the suite is willing to pay for, however
48
+ * its agent was built. That is the point of putting it on the seam. Without it a reasoning model asked a
47
49
  * puzzle can spend thousands of tokens deciding how to say "nine".
48
50
  */
49
51
  export declare class RecordingProvider implements AgentProvider {
@@ -1 +1 @@
1
- {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../ai/live/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAyC,CAAC;AACjE,eAAO,MAAM,qBAAqB,QAC8C,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,yFAItB,CAAC;AAEX,eAAO,MAAM,gBAAgB,SAAsC,CAAC;AACpE,eAAO,MAAM,eAAe,SAEoC,CAAC;AAEjE;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IAWnD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAXlC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACrD,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAM;IAC/C;;yEAEqE;IACrE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAM;gBAGnB,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,MAAM;IAM1C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,KAAK;IAkBd,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc;IAYpD,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAInC,cAAc,CAAC,KAAK,EAAE,OAAO;CAG9B;AAMD,MAAM,MAAM,UAAU,GAAG;IACvB,+EAA+E;IAC/E,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,iBAAiB,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,UAAU,EAW/B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,CAAC,OAAO,CAAC,YACC,CAAC;AAI1D,eAAO,MAAM,MAAM,GAAI,SAAS,YAAY,GAAG,SAAS,KAAG,MAI9C,CAAC;AAEd,eAAO,MAAM,OAAO,GAAI,UAAU,YAAY,EAAE,EAAE,MAAM,MAAM,KAAG,GAAG,EAC0B,CAAC;AAE/F,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,CAA4B,CAAC;AAEpE,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GAAI,UAAU,YAAY,EAAE,WAAoC,CAAC;AAE5F;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,WACG,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE;IAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;CAAE;;;;EAU5F;AAED;8EAC8E;AAC9E,eAAO,MAAM,GAAG,EAAS,GAAG,CAAC"}
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../ai/live/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAyC,CAAC;AACjE,eAAO,MAAM,qBAAqB,QAC8C,CAAC;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,yFAItB,CAAC;AAEX,eAAO,MAAM,gBAAgB,SAAsC,CAAC;AACpE,eAAO,MAAM,eAAe,SAEoC,CAAC;AAEjE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IAWnD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAXlC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACrD,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAM;IAC/C;;yEAEqE;IACrE,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,CAAM;gBAGnB,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,MAAM;IAM1C,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,KAAK;IAkBd,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc;IAYpD,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAInC,cAAc,CAAC,KAAK,EAAE,OAAO;CAG9B;AAMD,MAAM,MAAM,UAAU,GAAG;IACvB,+EAA+E;IAC/E,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,iBAAiB,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,UAAU,EAW/B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,UAAU,CAAC,OAAO,CAAC,YACC,CAAC;AAI1D,eAAO,MAAM,MAAM,GAAI,SAAS,YAAY,GAAG,SAAS,KAAG,MAI9C,CAAC;AAEd,eAAO,MAAM,OAAO,GAAI,UAAU,YAAY,EAAE,EAAE,MAAM,MAAM,KAAG,GAAG,EAC0B,CAAC;AAE/F,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,CAA4B,CAAC;AAEpE,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GAAI,UAAU,YAAY,EAAE,WAAoC,CAAC;AAE5F;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,WACG,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE;IAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;CAAE;;;;EAU5F;AAED;8EAC8E;AAC9E,eAAO,MAAM,GAAG,EAAS,GAAG,CAAC"}
@@ -259,6 +259,21 @@ export type AgentMessage<T extends ToolShapes = ToolShapes, O = unknown> = {
259
259
  * it simply stopped talking.
260
260
  */
261
261
  finishReason?: FinishReason;
262
+ /**
263
+ * The model ran out of output budget on this message: the provider stopped it
264
+ * at `length`, whether that was the cap the app set or the model's own.
265
+ *
266
+ * Set for any agent, not only one with an `output` schema — an agent that just
267
+ * writes text is cut short the same way, and this is the flag to render "the
268
+ * answer was cut short" from either way. For an agent that *does* declare an
269
+ * `output` schema it also means there is no `output` part and never will be.
270
+ *
271
+ * Kept on the message rather than only used to drop the part, because dropping
272
+ * it alone left a UI unable to tell "cut off" from "no structured answer here" —
273
+ * and `finishReason` cannot say it: a step that hits the ceiling while also
274
+ * calling a tool closes its message `awaiting-input` or `max-steps`.
275
+ */
276
+ outputTruncated?: true;
262
277
  usage?: Usage;
263
278
  };
264
279
  /**
@@ -497,10 +512,23 @@ export type AgentStreamEvent<T extends ToolShapes = ToolShapes, O = unknown> = {
497
512
  type: "awaiting-input";
498
513
  runId: string;
499
514
  pending: PendingToolCall<T>[];
500
- } | {
515
+ }
516
+ /**
517
+ * `outputTruncated` says the model ran out of output budget on this message —
518
+ * the provider stopped it at `length` — whatever the message's finish reason
519
+ * turned out to be, and whether or not the agent declares an `output` schema.
520
+ *
521
+ * It needs its own field because `finishReason` cannot carry it: a step that
522
+ * hits the ceiling *and* calls a tool ends the message `awaiting-input` or
523
+ * `max-steps`, and both of those are load-bearing for the UI. The client uses
524
+ * this to drop the partial `output` part rather than complete it — the server
525
+ * withholds its own for the same reason, and the two must not disagree.
526
+ */
527
+ | {
501
528
  type: "message-end";
502
529
  messageId: string;
503
530
  finishReason: FinishReason;
531
+ outputTruncated?: true;
504
532
  } | {
505
533
  type: "usage";
506
534
  usage: Usage;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ai/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../ai/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { RPC } from "../client/rpc";
2
- import type { AgentError, AgentMessage, ClientTurn, PendingToolCall, ToolShapes } from "./types";
2
+ import type { AgentError, AgentMessage, ClientTurn, PendingToolCall, ToolResultPart, ToolShapes } from "./types";
3
3
  /**
4
4
  * The agent routes, picked out of the same `RPC` interface `useQuery` and
5
5
  * `useMutation` read. An agent is not a second kind of thing to register — it is
@@ -17,6 +17,18 @@ type ToolsOf<P extends keyof AgentRoutes> = AgentRoutes[P] extends {
17
17
  type OutputOf<P extends keyof AgentRoutes> = AgentRoutes[P] extends {
18
18
  output: infer O;
19
19
  } ? O : unknown;
20
+ /**
21
+ * The extra body fields the route's controller declared, or an open record for
22
+ * one that declared none.
23
+ *
24
+ * The fallback is not just for an undeclared body: it also covers a route
25
+ * whose `RPC` entry predates this field, which is every entry in an app that
26
+ * has not regenerated its types yet. Falling back to the old signature there
27
+ * is the difference between an upgrade that compiles and one that does not.
28
+ */
29
+ type BodyOf<P extends keyof AgentRoutes> = AgentRoutes[P] extends {
30
+ body: infer B;
31
+ } ? B : Record<string, unknown>;
20
32
  /**
21
33
  * What the UI is waiting on.
22
34
  *
@@ -65,11 +77,55 @@ export interface UseChatParams<P extends keyof AgentRoutes> {
65
77
  * `runId` of its own. Defaults to true.
66
78
  */
67
79
  attach?: boolean;
68
- /** Merged into the request body, for anything the agent's controller reads
69
- * off the request that is not a message. */
70
- body?: Record<string, unknown>;
80
+ /**
81
+ * Merged into the request body, and read back on the server in
82
+ * `instructions(req, { body })` and on every tool's `ctx.body`.
83
+ *
84
+ * Typed by the controller: a controller written as `AgentController<typeof
85
+ * agent, { pageId: string }>` has this checked against that shape, and one
86
+ * that declares no body leaves it the open record it has always been. It
87
+ * stays optional either way — a required field of a declared body is enforced
88
+ * when `body` is given, not by forcing every caller to pass one.
89
+ *
90
+ * The four names the turn envelope owns — `turn`, `clientRunId`, `threadId`,
91
+ * `messages` — are written after this, so naming one here has no effect: the
92
+ * framework's value replaces yours. Two of them are not even ignored on
93
+ * arrival: exactly one of `threadId` and `messages` is written as `undefined`
94
+ * on any given turn — `threadId` on a turn with no thread yet, `messages` once
95
+ * there is one — and `JSON.stringify` drops the key, so a value you put there
96
+ * never reaches the server at all. Pick another name for anything it must see.
97
+ *
98
+ * The envelope has to win rather than be tidied up afterwards, because
99
+ * `threadId` and `turn` are read off the top level before the app's fields are
100
+ * separated out.
101
+ */
102
+ body?: BodyOf<P>;
71
103
  headers?: Record<string, string>;
72
104
  onFinish?: (message: AgentMessage<ToolsOf<P>, OutputOf<P>>) => void;
105
+ /**
106
+ * Fires once for each of the agent's tool results, as it arrives.
107
+ *
108
+ * For acting on a result without waiting for the turn to finish: a tool that
109
+ * has changed something server-side is worth refetching for immediately, and
110
+ * `onFinish` does not come until the agent has written its closing message.
111
+ * A turn that edits three things fires this three times.
112
+ *
113
+ * `part` is the discriminated union of the agent's tools, so `part.name ===
114
+ * "editComponent"` narrows `part.output` — and `part.status` has to be checked
115
+ * before reading it, since a result can be an error or a refusal.
116
+ *
117
+ * ONLY FOR RESULTS THAT ARE NEW HERE. A reattach, a retrying proxy, or a run
118
+ * replayed from the top onto a restored transcript all redeliver results this
119
+ * client already has, and an app that writes to a database in here must not
120
+ * do it twice. Keyed on `toolCallId`, which is the id the transcript upserts
121
+ * on, so nothing has to be deduped by the app.
122
+ *
123
+ * A SUB-AGENT'S TOOLS DO NOT FIRE IT. Their results arrive as nested frames
124
+ * inside the parent tool call that started them, and belong to that call
125
+ * rather than to this conversation. What fires here is what this agent
126
+ * called.
127
+ */
128
+ onToolResult?: (part: ToolResultPart<ToolsOf<P>>) => void;
73
129
  onError?: (error: AgentError) => void;
74
130
  onAwaitingInput?: (pending: PendingToolCall<ToolsOf<P>>[]) => void;
75
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../ai/useChat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../ai/useChat.tsx"],"names":[],"mappings":"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"}
package/dist/app/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{xa as a}from"../chunk-35fbxgjh.js";import"../chunk-9e5c5e15.js";import"../chunk-ptjexzn1.js";export{a as App};
2
+ import{xa as a}from"../chunk-wzqxtrpt.js";import"../chunk-9ch1q7nd.js";import"../chunk-r6v21jn6.js";export{a as App};
3
3
 
4
4
  //# debugId=1DF7F2A4406AF3BE64756E2164756E21
@@ -1 +1 @@
1
- {"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../auth/AuthController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,SAAS,CAAC;AAOhD,cAAM,aAAc,SAAQ,WAAW,CACrC;IACE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;;;;;MASJ;CACH;AAED,cAAM,qBAAsB,SAAQ,WAAW,CAC7C;IACE,KAAK,EAAE,MAAM,CAAC;CACf,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;MAKJ;CACH;AAED,cAAM,oBAAqB,SAAQ,WAAW,CAC5C;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;MAKJ;CACH;AAED,qBAAa,cAAe,SAAQ,UAAU;IACtC,EAAE;IAUF,WAAW,CAAC,GAAG;eAA4B,MAAM;6BAAK;;;IAmBtD,mBAAmB,CAAC,GAAG,4DAAoB;;;;;;;IAyC3C,eAAe,CACnB,GAAG;eAA4B,MAAM;aAAO,MAAM;6BAAK;IAqCnD,aAAa,CAAC,GAAG;eAA4B,MAAM;aAAO,MAAM;6BAAK;;;IAoCrE,QAAQ,CAAC,GAAG,gBAAsB;;;;;;;;;;IAiDlC,MAAM,CAAC,GAAG,gBAAsB;;;;;;;;;;IAiDhC,MAAM;IA6FN,OAAO,CAAC,GAAG,4DAAoB;IA8B/B,cAAc,CAAC,GAAG,wBAA8B;IA6BhD,aAAa,CAAC,GAAG,uBAA6B;IAsD9C,cAAc,CAClB,GAAG;qBAAkC,MAAM;qBAAe,MAAM;6BAAK;IA+BjE,aAAa,CAAC,GAAG,4DAAoB;;;IA+BrC,aAAa,CAAC,GAAG,4DAAoB;;;;;;;IA6H3C;;;;;OAKG;cACa,gBAAgB,CAAC,IAAI,EAAE;QACrC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;IAwFzD,oBAAoB,CAAC,GAAG;eAA4B,MAAM;6BAAK;;;CAetE"}
1
+ {"version":3,"file":"AuthController.d.ts","sourceRoot":"","sources":["../../auth/AuthController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,SAAS,CAAC;AAOhD,cAAM,aAAc,SAAQ,WAAW,CACrC;IACE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;;;;;MASJ;CACH;AAED,cAAM,qBAAsB,SAAQ,WAAW,CAC7C;IACE,KAAK,EAAE,MAAM,CAAC;CACf,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;MAKJ;CACH;AAED,cAAM,oBAAqB,SAAQ,WAAW,CAC5C;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,EACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACvB;IACC,MAAM;;;;;MAKJ;CACH;AAED,qBAAa,cAAe,SAAQ,UAAU;IACtC,EAAE;IAUF,WAAW,CAAC,GAAG;eAA4B,MAAM;6BAAK;;;IAmBtD,mBAAmB,CAAC,GAAG,4DAAoB;;;;;;;IAyC3C,eAAe,CACnB,GAAG;eAA4B,MAAM;aAAO,MAAM;6BAAK;IAqCnD,aAAa,CAAC,GAAG;eAA4B,MAAM;aAAO,MAAM;6BAAK;;;IAoCrE,QAAQ,CAAC,GAAG,gBAAsB;;;;;;;;;;IAiDlC,MAAM,CAAC,GAAG,gBAAsB;;;;;;;;;;IAiDhC,MAAM;IA6FN,OAAO,CAAC,GAAG,4DAAoB;IAsD/B,cAAc,CAAC,GAAG,wBAA8B;IA6BhD,aAAa,CAAC,GAAG,uBAA6B;IAsD9C,cAAc,CAClB,GAAG;qBAAkC,MAAM;qBAAe,MAAM;6BAAK;IA+BjE,aAAa,CAAC,GAAG,4DAAoB;;;IA+BrC,aAAa,CAAC,GAAG,4DAAoB;;;;;;;IA6H3C;;;;;OAKG;cACa,gBAAgB,CAAC,IAAI,EAAE;QACrC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,GAAG,IAAI,CAAC;IAwFzD,oBAAoB,CAAC,GAAG;eAA4B,MAAM;6BAAK;;;CAetE"}
@@ -1,4 +1,5 @@
1
1
  import { HttpRequest } from "../http";
2
+ import type { SessionWithUser } from "./types";
2
3
  import { type AuthConfig } from "./config";
3
4
  import { UserProvider } from "./UserProvider";
4
5
  import type { CreateCookieOptions } from "../http/requestContext";
@@ -41,21 +42,54 @@ export declare class AuthManager {
41
42
  private publicOrigin;
42
43
  /** `config.cookieDomain` when `req`'s host falls under it, else nothing. */
43
44
  cookieDomain(req: HttpRequest<any, any>): string | undefined;
44
- getSession(token: string, userAgent: string): Promise<import("./types").SessionWithUser>;
45
+ /**
46
+ * The session `token` names, or null when there is none or it has run out.
47
+ *
48
+ * **Expiry is enforced here.** `expiresAt` is the idle timeout and
49
+ * `absoluteExpiresAt` the hard cap; either one past is no session, and the
50
+ * row is deleted. Both used to exist only as the cookie's `Expires`, which a
51
+ * client sending the `access_token` header never honoured, so its token was
52
+ * good for as long as the row existed.
53
+ *
54
+ * **The idle timeout slides.** A session used after half of its window has
55
+ * gone is pushed to `now + sessionExpiresInHours`, never past
56
+ * `absoluteExpiresAt`, and the cookie is written again when this request is
57
+ * the one that carried the token. Without that, enforcing `expiresAt` would
58
+ * sign every user out `sessionExpiresInHours` after they signed in, however
59
+ * active they were.
60
+ *
61
+ * **A token from before minted tokens is no session.** It was computable
62
+ * (see `sessionToken.ts`), so it is refused before the lookup; its row is
63
+ * left for the operator to delete. Its user signs in again.
64
+ */
65
+ getSession(token: string, userAgent: string): Promise<SessionWithUser>;
66
+ /** The current request, when `token` arrived as its `access_token` cookie. */
67
+ private requestCarryingCookie;
68
+ private slideSession;
69
+ private freshLifetime;
45
70
  generateMagicLink(email: string): Promise<void>;
46
71
  upsertSession(params: {
47
72
  email: string;
48
73
  userAgent: string;
49
74
  }): Promise<void>;
50
- authenticate(email: string): Promise<import("./types").SessionWithUser>;
75
+ authenticate(email: string): Promise<SessionWithUser>;
51
76
  createOrUpdateSessionV2(user: {
52
77
  email: string;
53
78
  id?: number;
54
- }): Promise<import("./types").SessionWithUser>;
79
+ }): Promise<SessionWithUser>;
80
+ /**
81
+ * A new session for `user`, on every sign-in.
82
+ *
83
+ * The name is historical: this used to derive the token from the email and
84
+ * the User-Agent and, finding a row under it, extend that row — without
85
+ * checking whose it was, so a user who took over a freed email address was
86
+ * handed its previous owner's session. Every sign-in now mints its own token
87
+ * and its own row, bound to the id of the user who just authenticated.
88
+ */
55
89
  createOrUpdateSession(user: {
56
90
  email: string;
57
91
  id?: number;
58
- }): Promise<import("./types").SessionWithUser>;
92
+ }): Promise<SessionWithUser>;
59
93
  createMagicLinkToken(email: string): Promise<{
60
94
  user: import("./types").User;
61
95
  email: string;
@@ -1 +1 @@
1
- {"version":3,"file":"AuthManager.d.ts","sourceRoot":"","sources":["../../auth/AuthManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAIlE,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,SAAU;IAEtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IAExC;;;;;;;;;;;;;;OAcG;gBAED,MAAM,GAAE,UAAe,EACvB,QAAQ,GAAE,YAAiC;IAM7C;;;OAGG;IACH,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,+EAA+E;IAC/E,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;IAcxF;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAKpB,4EAA4E;IAC5E,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS;IAgBtD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAa3C,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAE/B,aAAa,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAI1D,YAAY,CAAC,KAAK,EAAE,MAAM;IA0B1B,uBAAuB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE;IAa5D,qBAAqB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE;IA0D1D,oBAAoB,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;CA4BzC"}
1
+ {"version":3,"file":"AuthManager.d.ts","sourceRoot":"","sources":["../../auth/AuthManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAkBlE,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,SAAU;IAEtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IAExC;;;;;;;;;;;;;;OAcG;gBAED,MAAM,GAAE,UAAe,EACvB,QAAQ,GAAE,YAAiC;IAM7C;;;OAGG;IACH,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,+EAA+E;IAC/E,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,mBAAmB;IAcxF;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAKpB,4EAA4E;IAC5E,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS;IAgB5D;;;;;;;;;;;;;;;;;;;OAmBG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IA4BjD,8EAA8E;IAC9E,OAAO,CAAC,qBAAqB;YAKf,YAAY;IAyB1B,OAAO,CAAC,aAAa;IASf,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAE/B,aAAa,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAI1D,YAAY,CAAC,KAAK,EAAE,MAAM;IA0B1B,uBAAuB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE;IAalE;;;;;;;;OAQG;IACG,qBAAqB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE;IAqB1D,oBAAoB,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;CA4BzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../auth/UserProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserProvider.d.ts","sourceRoot":"","sources":["../../auth/UserProvider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../auth/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../auth/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Session tokens: minting them, and telling them from the computable ones they
3
+ * replaced.
4
+ *
5
+ * ## The old token was computable
6
+ *
7
+ * It was `sha256(email + User-Agent)`: no secret and no randomness, so anyone
8
+ * who knew a user's email and could guess their client could compute a token
9
+ * that `findSession` would accept. It was also the same on every sign-in from
10
+ * that client, so a leaked one survived signing in again, and it went to
11
+ * whoever held the email next — a user who took over a freed address was
12
+ * handed the previous owner's session.
13
+ *
14
+ * ## The new one
15
+ *
16
+ * `v2.` + HMAC-SHA256(secret, `userId:nonce`), with a fresh 16-byte nonce per
17
+ * sign-in. The nonce is what makes it unguessable and different every time;
18
+ * the secret means that even the inputs don't let anyone recompute it. The
19
+ * token is not verified against the secret on the way in — it is looked up —
20
+ * so rotating `SECRET` changes new tokens and signs nobody out.
21
+ *
22
+ * The prefix is the whole test, and it is all a prefix: `isSessionToken` reads
23
+ * nothing else, so anything not starting with `v2.` is refused — an old token,
24
+ * which was bare hex, and any other string alike. `AuthManager.getSession`
25
+ * refuses it without looking it up, so the rows still holding old tokens grant
26
+ * nothing whether or not they have been deleted.
27
+ */
28
+ export declare const SESSION_TOKEN_PREFIX = "v2.";
29
+ export declare function isSessionToken(token: string): boolean;
30
+ /**
31
+ * The app's `SECRET`, the key CSRF and agent approvals are signed with too.
32
+ *
33
+ * Throws rather than falling back to anything: a token minted with a default
34
+ * secret is one every other gemi app could mint too.
35
+ */
36
+ export declare function sessionTokenSecret(): string;
37
+ export declare function mintSessionToken(userId: number): string;
38
+ //# sourceMappingURL=sessionToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionToken.d.ts","sourceRoot":"","sources":["../../auth/sessionToken.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAE1C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAQ3C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIvD"}
@@ -95,7 +95,7 @@ export interface CreateSessionArgs {
95
95
  token: string;
96
96
  userId: number;
97
97
  location?: string;
98
- userAgent: string;
98
+ userAgent: string | null;
99
99
  expiresAt: Date;
100
100
  absoluteExpiresAt: Date;
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../auth/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../auth/types.ts"],"names":[],"mappings":"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"}
package/dist/bin/gemi.js CHANGED
@@ -36070,6 +36070,12 @@ function specifier(from, to) {
36070
36070
  const relative3 = path7.relative(path7.dirname(from), to).split(path7.sep).join("/").replace(/(\.d)?\.(ts|tsx|mts|cts)$/, "");
36071
36071
  return relative3.startsWith(".") ? relative3 : `./${relative3}`;
36072
36072
  }
36073
+ function isFrameworkJsonValue(type) {
36074
+ const alias = type.aliasSymbol;
36075
+ if (alias?.name !== "JsonValue")
36076
+ return false;
36077
+ return (alias.declarations ?? []).some((declaration) => /\/gemi\/ai\/Schema\.(d\.)?ts$/.test(declaration.getSourceFile().fileName));
36078
+ }
36073
36079
 
36074
36080
  class TypeMapper {
36075
36081
  ts;
@@ -36115,6 +36121,8 @@ class TypeMapper {
36115
36121
  }
36116
36122
  union(type, name, where) {
36117
36123
  const { ts } = this;
36124
+ if (isFrameworkJsonValue(type))
36125
+ return { kind: "json" };
36118
36126
  let nullable = false;
36119
36127
  const members = type.types.filter((member) => {
36120
36128
  if (member.flags & ts.TypeFlags.Null)
@@ -41379,5 +41387,5 @@ program.command("app:route-manifest").action(async () => {
41379
41387
  });
41380
41388
  program.parse();
41381
41389
 
41382
- //# debugId=D1C85BAB744CF2D264756E2164756E21
41390
+ //# debugId=F098F65875C0057F64756E2164756E21
41383
41391
  //# sourceMappingURL=gemi.js.map